@camstack/addon-agent-ui 1.2.346 → 1.2.347
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/.bundle-modules.json +1 -0
- package/dist/addon.js +1 -1
- package/dist/assets/{MotionZonesSettings-V2I-xPYl.js → MotionZonesSettings-B7-Fixls.js} +1 -1
- package/dist/assets/{PrivacyMaskSettings-Q-Pg2KX6.js → PrivacyMaskSettings-DQjOSShv.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-Ddxgkp6j.js → SceneMonitorEditor-CpiLKbGe.js} +1 -1
- package/dist/assets/{index-CchAIDDF.js → index-D2TZmpoQ.js} +3 -3
- package/dist/index.html +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MotionZonesSettings-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MotionZonesSettings-B7-Fixls.js","assets/scheduler-0XZJE03d.js","assets/MaskShapeCanvas-BTvl6Rin.js","assets/PrivacyMaskSettings-DQjOSShv.js","assets/SceneMonitorEditor-CpiLKbGe.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{a as e,i as t,l as n,o as r,r as i,s as a,t as o}from"./scheduler-0XZJE03d.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var s=n(r()),c=function(e){return e.SystemBoot=`system.boot`,e.SystemAddonsReady=`system.addons-ready`,e.SystemRestarting=`system.restarting`,e.SystemRestartCompleted=`system.restart-completed`,e.SystemTlsCertChanged=`system.tls-cert-changed`,e.UpdateAvailable=`update.available`,e.SystemReadyState=`system.ready-state`,e.AddonStarted=`addon.started`,e.AddonStopped=`addon.stopped`,e.AddonRestarted=`addon.restarted`,e.AddonUpdated=`addon.updated`,e.AddonInstalled=`addon.installed`,e.AddonUninstalled=`addon.uninstalled`,e.AddonCrashed=`addon.crashed`,e.AddonRunnerFailed=`addon.runner-failed`,e.AddonRunnerRefused=`addon.runner-refused`,e.ProcessStateChanged=`process.state-changed`,e.SystemRunnerCheck=`system.runner-check`,e.AlertEpisode=`alert.episode`,e.AddonError=`addon.error`,e.AddonPageReady=`addon.page-ready`,e.AddonWidgetReady=`addon.widget-ready`,e.AddonLoadFailed=`addon.load-failed`,e.KeychainChanged=`keychain.changed`,e.AddonLoadRecovered=`addon.load-recovered`,e.AddonUnsupportedVersion=`addon.unsupported-version`,e.AddonUnsupportedResolved=`addon.unsupported-resolved`,e.AddonRetryScheduled=`addon.retry-scheduled`,e.SystemLivenessFailed=`system.liveness-failed`,e.SystemLivenessRecovered=`system.liveness-recovered`,e.AddonRetryAttempting=`addon.retry-attempting`,e.DeviceRegistered=`device.registered`,e.DeviceUnregistered=`device.unregistered`,e.DeviceEnabled=`device.enabled`,e.DeviceDisabled=`device.disabled`,e.DeviceSettingsUpdated=`device.settings-updated`,e.DeviceBindingsChanged=`device.bindings-changed`,e.DeviceMetaChanged=`device.meta-changed`,e.DeviceSourceInfoChanged=`device.source-info-changed`,e.DeviceStreamsRegistered=`device.streams-registered`,e.DeviceProvisioned=`device.provisioned`,e.DeviceReady=`device.ready`,e.IntegrationEnabled=`integration.enabled`,e.IntegrationDisabled=`integration.disabled`,e.IntegrationDeleted=`integration.deleted`,e.BrokerStatusChanged=`broker.status-changed`,e.BrokerMessage=`broker.message`,e.ProviderStarted=`provider.started`,e.ProviderStopped=`provider.stopped`,e.ProcessCrashed=`process.crashed`,e.ProcessRestartScheduled=`process.restart_scheduled`,e.ProcessRestarted=`process.restarted`,e.StorageLocationsChanged=`storage.locations-changed`,e.RecordingStarted=`recording.started`,e.RecordingStopped=`recording.stopped`,e.RecordingError=`recording.error`,e.RecordingHealthDegraded=`recording.health.degraded`,e.RecordingHealthStalled=`recording.health.stalled`,e.RecordingHealthOk=`recording.health.ok`,e.RecordingStorageCritical=`recording.storage.critical`,e.StorageLocationLow=`storage.location.low`,e.StorageLocationCritical=`storage.location.critical`,e.StorageLocationOk=`storage.location.ok`,e.RecordingSegmentWritten=`recording.segment.written`,e.RecordingPolicyFallback=`recording.policy.fallback`,e.RecordingRetentionCompleted=`recording.retention.completed`,e.RecordingExportProgress=`recording.export.progress`,e.RecordingExportCompleted=`recording.export.completed`,e.RecordingExportFailed=`recording.export.failed`,e.DetectionEvent=`detection.event`,e.SessionTrackNew=`session.track.new`,e.SessionTrackExpired=`session.track.expired`,e.BenchmarkProgress=`benchmark.progress`,e.PlatformProbePhase=`platform-probe.phase`,e.PipelineProgress=`pipeline.progress`,e.PipelineTrace=`pipeline.trace`,e.PipelineInferenceResult=`pipeline.inference-result`,e.PipelineCameraAssigned=`pipeline.camera-assigned`,e.PipelineCameraUnassigned=`pipeline.camera-unassigned`,e.PipelineNodeInferenceUnavailable=`pipeline.node-inference-unavailable`,e.PipelineDetectionBlind=`pipeline.detection-blind`,e.PipelineMotionNoisy=`pipeline.motion-noisy`,e.PipelineMotionCalm=`pipeline.motion-calm`,e.PipelinePackageLlmSilent=`pipeline.package-llm-silent`,e.PipelinePackageLlmAnswered=`pipeline.package-llm-answered`,e.PipelineCameraUpdated=`pipeline.camera-updated`,e.PipelineIngestOwnerChanged=`pipeline.ingest-owner-changed`,e.PipelineRunnerLoadSnapshot=`pipeline.runner-load-snapshot`,e.PipelineCameraMetricsSnapshot=`pipeline.camera-metrics-snapshot`,e.StreamBrokerMetricsSnapshot=`stream-broker.metrics-snapshot`,e.StreamBrokerOnCamStreamDemand=`stream-broker.onCamStreamDemand`,e.StreamBrokerOnCamStreamIdle=`stream-broker.onCamStreamIdle`,e.StreamBrokerOnRequestStreamSourceRefresh=`stream-broker.onRequestStreamSourceRefresh`,e.StreamParamsChanged=`stream-params.changed`,e.DeviceStateChanged=`device.state-changed`,e.DeviceNativeShadowChanged=`device.native-shadow-changed`,e.ZoneAnalyticsOccupancyChanged=`zone-analytics.occupancy-changed`,e.BatteryOnStatusChanged=`battery.onStatusChanged`,e.NetworkLinkOnStatusChanged=`network-link.onStatusChanged`,e.BatteryOnWakeStarted=`battery.onWakeStarted`,e.DoorbellOnPressed=`doorbell.onPressed`,e.RunningStarted=`running.started`,e.RunningFinished=`running.finished`,e.DeviceRunOpened=`device-run.opened`,e.DeviceRunClosed=`device-run.closed`,e.EventEmitted=`event-emitter.event`,e.PipelineEngineMetricsSnapshot=`pipeline.engine-metrics-snapshot`,e.PipelineEngineProvisioning=`pipeline.engine-provisioning`,e.ClusterTopologySnapshot=`cluster.topology-snapshot`,e.MetricsNodeResourcesSnapshot=`metrics.node-resources-snapshot`,e.MetricsNodeProcessesSnapshot=`metrics.node-processes-snapshot`,e.CapabilityBindingChanged=`capability.binding-changed`,e.ModelDownloadProgress=`model.download.progress`,e.AgentRegistered=`agent.registered`,e.AgentUnregistered=`agent.unregistered`,e.AgentOnline=`agent.online`,e.AgentOffline=`agent.offline`,e.WorkerOnline=`worker.online`,e.WorkerOffline=`worker.offline`,e.AgentTaskDispatched=`agent.task.dispatched`,e.AgentTaskAssigned=`agent.task.assigned`,e.AgentTrpcConnected=`agent.trpc.connected`,e.AgentWsConnected=`agent.ws.connected`,e.AgentWsDisconnected=`agent.ws.disconnected`,e.AgentBackupActivated=`agent.backup.activated`,e.OrchestrationSettingsUpdated=`orchestration.settings-updated`,e.MotionAnalysis=`detection.motion-analysis`,e.MotionZonesRaw=`detection.motion-zones-raw`,e.MotionOnMotionChanged=`motion.on-motion-changed`,e.DetectionResult=`detection.result`,e.DetectionRaw=`detection.raw`,e.DetectionCameraNative=`detection.camera-native`,e.PipelineAudioInferenceResult=`pipeline.audio-inference-result`,e.DetectionPhaseTransition=`detection.phase-transition`,e.ProviderMotion=`provider.motion`,e.ProviderDetection=`provider.detection`,e.EnrichmentEmbeddingStored=`enrichment.embedding.stored`,e.EnrichmentSceneStateChanged=`enrichment.scene.state-changed`,e.EnrichmentActivitySummary=`enrichment.activity.summary`,e.PipelineAnalyticsTrackLifecycle=`pipeline-analytics.track-lifecycle`,e.PipelineAnalyticsTrackStarted=`pipeline-analytics.track-started`,e.PipelineAnalyticsTrackEnded=`pipeline-analytics.track-ended`,e.PipelineAnalyticsDetectionEvent=`pipeline-analytics.detection-event`,e.PipelineAnalyticsFrameTracked=`pipeline-analytics.frame-tracked`,e.PipelineAnalyticsStationaryChanged=`pipeline-analytics.stationary-changed`,e.PipelineAnalyticsPackageDelivered=`pipeline-analytics.package-delivered`,e.PipelineAnalyticsPackagePickedUp=`pipeline-analytics.package-picked-up`,e.PipelineAnalyticsFaceGalleryChanged=`pipeline-analytics.face-gallery-changed`,e.PipelineAnalyticsPlateGalleryChanged=`pipeline-analytics.plate-gallery-changed`,e.CameraStreamsProfileSlotsChanged=`camera-streams.onProfileSlotsChanged`,e.StreamOnline=`stream.online`,e.StreamOffline=`stream.offline`,e.NetworkTunnelStarted=`network.tunnel.started`,e.NetworkTunnelStopped=`network.tunnel.stopped`,e.LocalNetworkChanged=`network.local.changed`,e.MeshNetworkChanged=`network.mesh.changed`,e.BackupCompleted=`backup.completed`,e.BackupRunCompleted=`backup.run-completed`,e.BackupRestored=`backup.restored`,e.NotificationDispatched=`notification.dispatched`,e.NotificationFailed=`notification.failed`,e.NotificationRuleBroken=`notification.rule-broken`,e.NotificationRuleRepaired=`notification.rule-repaired`,e.MigrationFailed=`migration.failed`,e.MigrationApplied=`migration.applied`,e.DeviceUpdated=`device.updated`,e.DeviceOnline=`device.online`,e.DeviceOffline=`device.offline`,e.DeviceAwake=`device.awake`,e.DeviceSleeping=`device.sleeping`,e.RetentionCleanup=`retention.cleanup`,e.AddonsBulkUpdateProgress=`addons.bulk-update-progress`,e.AddonsJobProgress=`addons.job-progress`,e.AddonsJobLog=`addons.job-log`,e.AccessoriesChildVisibilityChanged=`accessories.onChildVisibilityChanged`,e.AccessoriesChanged=`accessories.onAccessoriesChanged`,e.ActionsRunChanged=`actions.onRunChanged`,e.ModelConvertProgress=`model-convert.progress`,e}({}),l=new Set([`device.native-shadow-changed`]);function u(e){return l.has(e)}function d(){let e=Object.values(c).filter(e=>typeof e==`string`);return[...new Set(e)].filter(e=>!u(e)).toSorted()}var f=function(e){return e.Camera=`camera`,e.Hub=`hub`,e.Light=`light`,e.Siren=`siren`,e.Switch=`switch`,e.Sensor=`sensor`,e.Thermostat=`thermostat`,e.Climate=`climate`,e.Button=`button`,e.EventEmitter=`event-emitter`,e.Update=`update`,e.Generic=`generic`,e.Notifier=`notifier`,e.Script=`script`,e.Automation=`automation`,e.Lock=`lock`,e.Cover=`cover`,e.Valve=`valve`,e.Humidifier=`humidifier`,e.WaterHeater=`water-heater`,e.Fan=`fan`,e.MediaPlayer=`media-player`,e.AlarmPanel=`alarm-panel`,e.Control=`control`,e.Presence=`presence`,e.Weather=`weather`,e.Vacuum=`vacuum`,e.LawnMower=`lawn-mower`,e.Container=`container`,e.Image=`image`,e.PetFeeder=`pet-feeder`,e.PetFountain=`pet-fountain`,e.Dishwasher=`dishwasher`,e.Washer=`washer`,e.Heater=`heater`,e.Dryer=`dryer`,e.Gateway=`gateway`,e}({}),p=function(e){return e.BatteryOperated=`battery-operated`,e.Rebootable=`rebootable`,e.Resyncable=`resyncable`,e.NativeSnapshot=`native-snapshot`,e.DoorbellButton=`doorbell-button`,e.TwoWayAudio=`two-way-audio`,e.PanTiltZoom=`pan-tilt-zoom`,e.PtzAutotrack=`ptz-autotrack`,e.MotionTrigger=`motion-trigger`,e.TimedRun=`timed-run`,e.LightColorRgb=`light-color-rgb`,e.LightColorHsv=`light-color-hsv`,e.LightColorMired=`light-color-mired`,e.ClimateDualSetpoint=`climate-dual-setpoint`,e.ClimateHumidity=`climate-humidity`,e.ClimateFanMode=`climate-fan-mode`,e.ClimatePreset=`climate-preset`,e.ClimateSwingVertical=`climate-swing-vertical`,e.ClimateSwingHorizontal=`climate-swing-horizontal`,e.CoverPositionable=`cover-positionable`,e.CoverTilt=`cover-tilt`,e.CoverStoppable=`cover-stoppable`,e.ValvePositionable=`valve-positionable`,e.FanSpeed=`fan-speed`,e.FanPreset=`fan-preset`,e.FanDirection=`fan-direction`,e.FanOscillating=`fan-oscillating`,e.LockPinRequired=`lock-pin-required`,e.LockOpen=`lock-open`,e.MediaPlayerSeek=`media-player-seek`,e.MediaPlayerVolume=`media-player-volume`,e.MediaPlayerMute=`media-player-mute`,e.MediaPlayerShuffle=`media-player-shuffle`,e.MediaPlayerRepeat=`media-player-repeat`,e.MediaPlayerSelectSource=`media-player-select-source`,e.MediaPlayerPlayMedia=`media-player-play-media`,e.MediaPlayerNext=`media-player-next`,e.MediaPlayerPrevious=`media-player-previous`,e.MediaPlayerStop=`media-player-stop`,e.MediaPlayerVolumeStep=`media-player-volume-step`,e.MediaPlayerChannelStep=`media-player-channel-step`,e.MediaPlayerPower=`media-player-power`,e.AlarmPinRequired=`alarm-pin-required`,e.PresenceGps=`presence-gps`,e.NotifierImage=`notifier-image`,e.NotifierPriority=`notifier-priority`,e.NotifierData=`notifier-data`,e.NotifierActions=`notifier-actions`,e.NotifierRecipients=`notifier-recipients`,e.ScriptVariables=`script-variables`,e.AutomationSkipCondition=`automation-skip-condition`,e.VacuumHasMap=`vacuum-has-map`,e.VacuumHasAi=`vacuum-has-ai`,e.MowerHasMap=`mower-has-map`,e.MowerHasTargetedMowing=`mower-has-targeted-mowing`,e}({}),m=function(e){return e.Siren=`siren`,e.Floodlight=`floodlight`,e.Spotlight=`spotlight`,e.PirSensor=`pir-sensor`,e.Chime=`chime`,e.Autotrack=`autotrack`,e.Nightvision=`nightvision`,e.PrivacyMask=`privacy-mask`,e.Doorbell=`doorbell`,e.CoverBlind=`cover-blind`,e.CoverShutter=`cover-shutter`,e.CoverAwning=`cover-awning`,e.CoverCurtain=`cover-curtain`,e.CoverGarage=`cover-garage`,e.CoverGate=`cover-gate`,e.CoverDoor=`cover-door`,e.CoverWindow=`cover-window`,e.BinaryHelper=`binary-helper`,e.Outlet=`outlet`,e.MotionSensor=`motion-sensor`,e.ContactSensor=`contact-sensor`,e.LeakSensor=`leak-sensor`,e.SmokeSensor=`smoke-sensor`,e.COSensor=`co-sensor`,e.GasSensor=`gas-sensor`,e.TamperSensor=`tamper-sensor`,e.VibrationSensor=`vibration-sensor`,e.ConnectivitySensor=`connectivity-sensor`,e.SoundSensor=`sound-sensor`,e.BinarySensor=`binary-sensor`,e.TemperatureSensor=`temperature-sensor`,e.HumiditySensor=`humidity-sensor`,e.AmbientLightSensor=`ambient-light-sensor`,e.PressureSensor=`pressure-sensor`,e.WindSensor=`wind-sensor`,e.RainSensor=`rain-sensor`,e.UvSensor=`uv-sensor`,e.SolarRadiationSensor=`solar-radiation-sensor`,e.SoilMoistureSensor=`soil-moisture-sensor`,e.PowerSensor=`power-sensor`,e.EnergySensor=`energy-sensor`,e.VoltageSensor=`voltage-sensor`,e.CurrentSensor=`current-sensor`,e.AirQualitySensor=`air-quality-sensor`,e.BatterySensor=`battery-sensor`,e.NumericSensor=`numeric-sensor`,e.EnumSensor=`enum-sensor`,e.DateTimeSensor=`datetime-sensor`,e.GenericSensor=`generic-sensor`,e.NumericControl=`numeric-control`,e.SelectControl=`select-control`,e.TextControl=`text-control`,e.DateTimeControl=`datetime-control`,e.MobilePushNotifier=`mobile-push-notifier`,e.MessagingNotifier=`messaging-notifier`,e.EmailNotifier=`email-notifier`,e.GenericNotifier=`generic-notifier`,e.IrTransmitter=`ir-transmitter`,e}({}),h;function g(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var _=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},v=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(h=globalThis).__zod_globalConfig??(h.__zod_globalConfig={});var y=globalThis.__zod_globalConfig;function b(e){return e&&Object.assign(y,e),y}function x(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function S(e,t){return typeof t==`bigint`?t.toString():t}function ee(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error(`cached value already set`)}}}function C(e){return e==null}function te(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function ne(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}var re=Symbol(`evaluating`);function w(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==re)return r===void 0&&(r=re,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function ie(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function ae(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function oe(e){return JSON.stringify(e)}function se(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var ce=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function le(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var T=ee(()=>{if(y.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function E(e){if(le(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(le(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function ue(e){return E(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var de=new Set([`string`,`number`,`symbol`]);function fe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function pe(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function D(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function me(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var he={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function ge(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return pe(e,ae(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return ie(this,`shape`,e),e},checks:[]}))}function _e(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return pe(e,ae(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return ie(this,`shape`,r),r},checks:[]}))}function ve(e,t){if(!E(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return pe(e,ae(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return ie(this,`shape`,n),n}}))}function ye(e,t){if(!E(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return pe(e,ae(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return ie(this,`shape`,n),n}}))}function be(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return pe(e,ae(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return ie(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function xe(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return pe(t,ae(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return ie(this,`shape`,i),i},checks:[]}))}function Se(e,t,n){return pe(t,ae(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return ie(this,`shape`,i),i}}))}function Ce(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function we(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Te(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Ee(e){return typeof e==`string`?e:e?.message}function De(e,t,n){let r=e.message?e.message:Ee(e.inst?._zod.def?.error?.(e))??Ee(t?.error?.(e))??Ee(n.customError?.(e))??Ee(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function Oe(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function ke(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var Ae=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,S,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},je=g(`$ZodError`,Ae),Me=g(`$ZodError`,Ae,{Parent:Error});function Ne(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Pe(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i];i===e.length-1?(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(a))):r[n]=r[n]||{_errors:[]},r=r[n],i++}}}};return r(e),n}var Fe=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new _;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>De(e,a,b())));throw ce(t,i?.callee),t}return o.value},Ie=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>De(e,a,b())));throw ce(t,i?.callee),t}return o.value},Le=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new _;return a.issues.length?{success:!1,error:new(e??je)(a.issues.map(e=>De(e,i,b())))}:{success:!0,data:a.value}},Re=Le(Me),ze=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>De(e,i,b())))}:{success:!0,data:a.value}},Be=ze(Me),Ve=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Fe(e)(t,n,i)},He=e=>(t,n,r)=>Fe(e)(t,n,r),Ue=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Ie(e)(t,n,i)},We=e=>async(t,n,r)=>Ie(e)(t,n,r),Ge=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Le(e)(t,n,i)},Ke=e=>(t,n,r)=>Le(e)(t,n,r),qe=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ze(e)(t,n,i)},Je=e=>async(t,n,r)=>ze(e)(t,n,r),Ye=/^[cC][0-9a-z]{6,}$/,Xe=/^[0-9a-z]+$/,Ze=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Qe=/^[0-9a-vA-V]{20}$/,$e=/^[A-Za-z0-9]{27}$/,et=/^[a-zA-Z0-9_-]{21}$/,tt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,nt=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,rt=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,it=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,at=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function ot(){return new RegExp(at,`u`)}var st=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ct=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,lt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,ut=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,dt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ft=/^[A-Za-z0-9_-]*$/,pt=/^https?$/,mt=/^\+[1-9]\d{6,14}$/,ht=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,gt=RegExp(`^${ht}$`);function _t(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function vt(e){return RegExp(`^${_t(e)}$`)}function yt(e){let t=_t({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${ht}T(?:${r})$`)}var bt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},xt=/^-?\d+$/,St=/^-?\d+(?:\.\d+)?$/,Ct=/^(?:true|false)$/i,wt=/^null$/i,Tt=/^[^A-Z]*$/,Et=/^[^a-z]*$/,Dt=g(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ot={number:`number`,bigint:`bigint`,object:`date`},kt=g(`$ZodCheckLessThan`,(e,t)=>{Dt.init(e,t);let n=Ot[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),At=g(`$ZodCheckGreaterThan`,(e,t)=>{Dt.init(e,t);let n=Ot[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),jt=g(`$ZodCheckMultipleOf`,(e,t)=>{Dt.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):ne(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Mt=g(`$ZodCheckNumberFormat`,(e,t)=>{Dt.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=he[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=xt)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Nt=g(`$ZodCheckMaxLength`,(e,t)=>{var n;Dt.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!C(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=Oe(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Pt=g(`$ZodCheckMinLength`,(e,t)=>{var n;Dt.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!C(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=Oe(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ft=g(`$ZodCheckLengthEquals`,(e,t)=>{var n;Dt.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!C(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=Oe(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),It=g(`$ZodCheckStringFormat`,(e,t)=>{var n,r;Dt.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Lt=g(`$ZodCheckRegex`,(e,t)=>{It.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Rt=g(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Tt,It.init(e,t)}),zt=g(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Et,It.init(e,t)}),Bt=g(`$ZodCheckIncludes`,(e,t)=>{Dt.init(e,t);let n=fe(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Vt=g(`$ZodCheckStartsWith`,(e,t)=>{Dt.init(e,t);let n=RegExp(`^${fe(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Ht=g(`$ZodCheckEndsWith`,(e,t)=>{Dt.init(e,t);let n=RegExp(`.*${fe(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Ut=g(`$ZodCheckOverwrite`,(e,t)=>{Dt.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Wt=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
3
3
|
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
|
|
4
4
|
`))}},Gt={major:4,minor:4,patch:3},Kt=g(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Gt;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=Ce(e),i;for(let a of t){if(a._zod.def.when){if(we(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new _;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Ce(e,t))});else{if(e.issues.length===t)continue;r||=Ce(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Ce(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new _;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new _;return o.then(e=>t(e,r,a))}return t(o,r,a)}}w(e,`~standard`,()=>({validate:t=>{try{let n=Re(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return Be(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),qt=g(`$ZodString`,(e,t)=>{Kt.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??bt(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),Jt=g(`$ZodStringFormat`,(e,t)=>{It.init(e,t),qt.init(e,t)}),Yt=g(`$ZodGUID`,(e,t)=>{t.pattern??=nt,Jt.init(e,t)}),Xt=g(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=rt(e)}else t.pattern??=rt();Jt.init(e,t)}),Zt=g(`$ZodEmail`,(e,t)=>{t.pattern??=it,Jt.init(e,t)}),Qt=g(`$ZodURL`,(e,t)=>{Jt.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===pt.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),$t=g(`$ZodEmoji`,(e,t)=>{t.pattern??=ot(),Jt.init(e,t)}),en=g(`$ZodNanoID`,(e,t)=>{t.pattern??=et,Jt.init(e,t)}),tn=g(`$ZodCUID`,(e,t)=>{t.pattern??=Ye,Jt.init(e,t)}),nn=g(`$ZodCUID2`,(e,t)=>{t.pattern??=Xe,Jt.init(e,t)}),rn=g(`$ZodULID`,(e,t)=>{t.pattern??=Ze,Jt.init(e,t)}),an=g(`$ZodXID`,(e,t)=>{t.pattern??=Qe,Jt.init(e,t)}),on=g(`$ZodKSUID`,(e,t)=>{t.pattern??=$e,Jt.init(e,t)}),sn=g(`$ZodISODateTime`,(e,t)=>{t.pattern??=yt(t),Jt.init(e,t)}),cn=g(`$ZodISODate`,(e,t)=>{t.pattern??=gt,Jt.init(e,t)}),ln=g(`$ZodISOTime`,(e,t)=>{t.pattern??=vt(t),Jt.init(e,t)}),un=g(`$ZodISODuration`,(e,t)=>{t.pattern??=tt,Jt.init(e,t)}),dn=g(`$ZodIPv4`,(e,t)=>{t.pattern??=st,Jt.init(e,t),e._zod.bag.format=`ipv4`}),fn=g(`$ZodIPv6`,(e,t)=>{t.pattern??=ct,Jt.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),pn=g(`$ZodCIDRv4`,(e,t)=>{t.pattern??=lt,Jt.init(e,t)}),mn=g(`$ZodCIDRv6`,(e,t)=>{t.pattern??=ut,Jt.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function hn(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var gn=g(`$ZodBase64`,(e,t)=>{t.pattern??=dt,Jt.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{hn(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function _n(e){if(!ft.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return hn(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var vn=g(`$ZodBase64URL`,(e,t)=>{t.pattern??=ft,Jt.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{_n(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),yn=g(`$ZodE164`,(e,t)=>{t.pattern??=mt,Jt.init(e,t)});function bn(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var xn=g(`$ZodJWT`,(e,t)=>{Jt.init(e,t),e._zod.check=n=>{bn(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Sn=g(`$ZodNumber`,(e,t)=>{Kt.init(e,t),e._zod.pattern=e._zod.bag.pattern??St,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Cn=g(`$ZodNumberFormat`,(e,t)=>{Mt.init(e,t),Sn.init(e,t)}),wn=g(`$ZodBoolean`,(e,t)=>{Kt.init(e,t),e._zod.pattern=Ct,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Tn=g(`$ZodNull`,(e,t)=>{Kt.init(e,t),e._zod.pattern=wt,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),En=g(`$ZodAny`,(e,t)=>{Kt.init(e,t),e._zod.parse=e=>e}),Dn=g(`$ZodUnknown`,(e,t)=>{Kt.init(e,t),e._zod.parse=e=>e}),On=g(`$ZodNever`,(e,t)=>{Kt.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)}),kn=g(`$ZodVoid`,(e,t)=>{Kt.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`void`,code:`invalid_type`,input:r,inst:e}),t}}),An=g(`$ZodDate`,(e,t)=>{Kt.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch{}let i=n.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||n.issues.push({expected:`date`,code:`invalid_type`,input:i,...a?{received:`Invalid Date`}:{},inst:e}),n}});function jn(e,t,n){e.issues.length&&t.issues.push(...Te(n,e.issues)),t.value[n]=e.value}var Mn=g(`$ZodArray`,(e,t)=>{Kt.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>jn(t,n,e))):jn(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function Nn(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...Te(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function Pn(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=me(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Fn(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Nn(e,n,i,t,u,d))):Nn(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var In=g(`$ZodObject`,(e,t)=>{if(Kt.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=ee(()=>Pn(t));w(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=le,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>Nn(n,t,e,s,r,i))):Nn(a,t,e,s,r,i)}return i?Fn(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Ln=g(`$ZodObjectJIT`,(e,t)=>{In.init(e,t);let n=e._zod.parse,r=ee(()=>Pn(t)),i=e=>{let t=new Wt([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=oe(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=oe(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
|
|
@@ -76,7 +76,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
76
76
|
Error generating stack: `+e.message+`
|
|
77
77
|
`+e.stack}}var Ae=Object.prototype.hasOwnProperty,je=t.unstable_scheduleCallback,Me=t.unstable_cancelCallback,Ne=t.unstable_shouldYield,Pe=t.unstable_requestPaint,Fe=t.unstable_now,Ie=t.unstable_getCurrentPriorityLevel,Le=t.unstable_ImmediatePriority,Re=t.unstable_UserBlockingPriority,ze=t.unstable_NormalPriority,Be=t.unstable_LowPriority,Ve=t.unstable_IdlePriority,He=t.log,Ue=t.unstable_setDisableYieldValue,We=null,Ge=null;function Ke(e){if(typeof He==`function`&&Ue(e),Ge&&typeof Ge.setStrictMode==`function`)try{Ge.setStrictMode(We,e)}catch{}}var qe=Math.clz32?Math.clz32:Xe,Je=Math.log,Ye=Math.LN2;function Xe(e){return e>>>=0,e===0?32:31-(Je(e)/Ye|0)|0}var Ze=256,Qe=262144,$e=4194304;function et(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function tt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=et(n))):i=et(o):i=et(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=et(n))):i=et(o)):i=et(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function nt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function rt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function it(){var e=$e;return $e<<=1,!($e&62914560)&&($e=4194304),e}function at(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ot(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function st(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-qe(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&ct(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function ct(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-qe(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function lt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-qe(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function ut(e,t){var n=t&-t;return n=n&42?1:dt(n),(n&(e.suspendedLanes|t))===0?n:0}function dt(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function ft(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function pt(){var e=E.p;return e===0?(e=window.event,e===void 0?32:Sp(e.type)):e}function mt(e,t){var n=E.p;try{return E.p=e,t()}finally{E.p=n}}var ht=Math.random().toString(36).slice(2),gt=`__reactFiber$`+ht,_t=`__reactProps$`+ht,vt=`__reactContainer$`+ht,yt=`__reactEvents$`+ht,bt=`__reactListeners$`+ht,xt=`__reactHandles$`+ht,St=`__reactResources$`+ht,Ct=`__reactMarker$`+ht;function wt(e){delete e[gt],delete e[_t],delete e[yt],delete e[bt],delete e[xt]}function Tt(e){var t=e[gt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[vt]||n[gt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=yf(e);e!==null;){if(n=e[gt])return n;e=yf(e)}return t}e=n,n=e.parentNode}return null}function Et(e){if(e=e[gt]||e[vt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Dt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(a(33))}function Ot(e){var t=e[St];return t||=e[St]={hoistableStyles:new Map,hoistableScripts:new Map},t}function kt(e){e[Ct]=!0}var At=new Set,jt={};function Mt(e,t){Nt(e,t),Nt(e+`Capture`,t)}function Nt(e,t){for(jt[e]=t,e=0;e<t.length;e++)At.add(t[e])}var Pt=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),Ft={},It={};function Lt(e){return Ae.call(It,e)?!0:Ae.call(Ft,e)?!1:Pt.test(e)?It[e]=!0:(Ft[e]=!0,!1)}function Rt(e,t,n){if(Lt(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function zt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Bt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Vt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Ht(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Ut(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Wt(e){if(!e._valueTracker){var t=Ht(e)?`checked`:`value`;e._valueTracker=Ut(e,t,``+e[t])}}function Gt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Ht(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Kt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var qt=/[\n"\\]/g;function Jt(e){return e.replace(qt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Yt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Vt(t)):e.value!==``+Vt(t)&&(e.value=``+Vt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Zt(e,o,Vt(n)):Zt(e,o,Vt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Vt(s):e.removeAttribute(`name`)}function Xt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Wt(e);return}n=n==null?``:``+Vt(n),t=t==null?n:``+Vt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Wt(e)}function Zt(e,t,n){t===`number`&&Kt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Qt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Vt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function $t(e,t,n){if(t!=null&&(t=``+Vt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Vt(n)}function en(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(a(92));if(le(r)){if(1<r.length)throw Error(a(93));r=r[0]}n=r}n??=``,t=n}n=Vt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Wt(e)}function tn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var nn=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function rn(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||nn.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function an(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(a(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var i in t)r=t[i],t.hasOwnProperty(i)&&n[i]!==r&&rn(e,i,r)}else for(var o in t)t.hasOwnProperty(o)&&rn(e,o,t[o])}function on(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var sn=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),cn=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function ln(e){return cn.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function un(){}var dn=null;function fn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var pn=null,mn=null;function hn(e){var t=Et(e);if(t&&(e=t.stateNode)){var n=e[_t]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Yt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Jt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[_t]||null;if(!i)throw Error(a(90));Yt(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Gt(r)}break a;case`textarea`:$t(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Qt(e,!!n.multiple,t,!1)}}}var gn=!1;function _n(e,t,n){if(gn)return e(t,n);gn=!0;try{return e(t)}finally{if(gn=!1,(pn!==null||mn!==null)&&(Tu(),pn&&(t=pn,e=mn,mn=pn=null,hn(t),e)))for(t=0;t<e.length;t++)hn(e[t])}}function vn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[_t]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(a(231,t,typeof n));return n}var yn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),bn=!1;if(yn)try{var xn={};Object.defineProperty(xn,"passive",{get:function(){bn=!0}}),window.addEventListener(`test`,xn,xn),window.removeEventListener(`test`,xn,xn)}catch{bn=!1}var Sn=null,Cn=null,wn=null;function Tn(){if(wn)return wn;var e,t=Cn,n=t.length,r,i=`value`in Sn?Sn.value:Sn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return wn=i.slice(e,1<r?1-r:void 0)}function En(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Dn(){return!0}function On(){return!1}function kn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Dn:On,this.isPropagationStopped=On,this}return m(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Dn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Dn)},persist:function(){},isPersistent:Dn}),t}var An={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},jn=kn(An),Mn=m({},An,{view:0,detail:0}),Nn=kn(Mn),Pn,Fn,In,Ln=m({},Mn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Jn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==In&&(In&&e.type===`mousemove`?(Pn=e.screenX-In.screenX,Fn=e.screenY-In.screenY):Fn=Pn=0,In=e),Pn)},movementY:function(e){return`movementY`in e?e.movementY:Fn}}),Rn=kn(Ln),zn=kn(m({},Ln,{dataTransfer:0})),Bn=kn(m({},Mn,{relatedTarget:0})),Vn=kn(m({},An,{animationName:0,elapsedTime:0,pseudoElement:0})),Hn=kn(m({},An,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Un=kn(m({},An,{data:0})),Wn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Gn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Kn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function qn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Kn[e])?!!t[e]:!1}function Jn(){return qn}var Yn=kn(m({},Mn,{key:function(e){if(e.key){var t=Wn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=En(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Gn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Jn,charCode:function(e){return e.type===`keypress`?En(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?En(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Xn=kn(m({},Ln,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Zn=kn(m({},Mn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Jn})),Qn=kn(m({},An,{propertyName:0,elapsedTime:0,pseudoElement:0})),$n=kn(m({},Ln,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),er=kn(m({},An,{newState:0,oldState:0})),tr=[9,13,27,32],nr=yn&&`CompositionEvent`in window,rr=null;yn&&`documentMode`in document&&(rr=document.documentMode);var ir=yn&&`TextEvent`in window&&!rr,ar=yn&&(!nr||rr&&8<rr&&11>=rr),or=` `,sr=!1;function cr(e,t){switch(e){case`keyup`:return tr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function lr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var ur=!1;function dr(e,t){switch(e){case`compositionend`:return lr(t);case`keypress`:return t.which===32?(sr=!0,or):null;case`textInput`:return e=t.data,e===or&&sr?null:e;default:return null}}function fr(e,t){if(ur)return e===`compositionend`||!nr&&cr(e,t)?(e=Tn(),wn=Cn=Sn=null,ur=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return ar&&t.locale!==`ko`?null:t.data;default:return null}}var pr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function mr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!pr[e.type]:t===`textarea`}function hr(e,t,n,r){pn?mn?mn.push(r):mn=[r]:pn=r,t=Nd(t,`onChange`),0<t.length&&(n=new jn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var gr=null,_r=null;function vr(e){Td(e,0)}function yr(e){if(Gt(Dt(e)))return e}function br(e,t){if(e===`change`)return t}var xr=!1;if(yn){var Sr;if(yn){var Cr=`oninput`in document;if(!Cr){var wr=document.createElement(`div`);wr.setAttribute(`oninput`,`return;`),Cr=typeof wr.oninput==`function`}Sr=Cr}else Sr=!1;xr=Sr&&(!document.documentMode||9<document.documentMode)}function Tr(){gr&&(gr.detachEvent(`onpropertychange`,Er),_r=gr=null)}function Er(e){if(e.propertyName===`value`&&yr(_r)){var t=[];hr(t,_r,e,fn(e)),_n(vr,t)}}function Dr(e,t,n){e===`focusin`?(Tr(),gr=t,_r=n,gr.attachEvent(`onpropertychange`,Er)):e===`focusout`&&Tr()}function Or(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return yr(_r)}function kr(e,t){if(e===`click`)return yr(t)}function Ar(e,t){if(e===`input`||e===`change`)return yr(t)}function jr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Mr=typeof Object.is==`function`?Object.is:jr;function Nr(e,t){if(Mr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Ae.call(t,i)||!Mr(e[i],t[i]))return!1}return!0}function Pr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Fr(e,t){var n=Pr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Pr(n)}}function Ir(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ir(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Lr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Kt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Kt(e.document)}return t}function Rr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var zr=yn&&`documentMode`in document&&11>=document.documentMode,Br=null,Vr=null,Hr=null,Ur=!1;function Wr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ur||Br==null||Br!==Kt(r)||(r=Br,`selectionStart`in r&&Rr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Hr&&Nr(Hr,r)||(Hr=r,r=Nd(Vr,`onSelect`),0<r.length&&(t=new jn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Br)))}function Gr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Kr={animationend:Gr(`Animation`,`AnimationEnd`),animationiteration:Gr(`Animation`,`AnimationIteration`),animationstart:Gr(`Animation`,`AnimationStart`),transitionrun:Gr(`Transition`,`TransitionRun`),transitionstart:Gr(`Transition`,`TransitionStart`),transitioncancel:Gr(`Transition`,`TransitionCancel`),transitionend:Gr(`Transition`,`TransitionEnd`)},qr={},Jr={};yn&&(Jr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Kr.animationend.animation,delete Kr.animationiteration.animation,delete Kr.animationstart.animation),`TransitionEvent`in window||delete Kr.transitionend.transition);function Yr(e){if(qr[e])return qr[e];if(!Kr[e])return e;var t=Kr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Jr)return qr[e]=t[n];return e}var Xr=Yr(`animationend`),Zr=Yr(`animationiteration`),Qr=Yr(`animationstart`),$r=Yr(`transitionrun`),ei=Yr(`transitionstart`),ti=Yr(`transitioncancel`),ni=Yr(`transitionend`),ri=new Map,ii=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);ii.push(`scrollEnd`);function ai(e,t){ri.set(e,t),Mt(t,[e])}var oi=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},si=[],ci=0,li=0;function ui(){for(var e=ci,t=li=ci=0;t<e;){var n=si[t];si[t++]=null;var r=si[t];si[t++]=null;var i=si[t];si[t++]=null;var a=si[t];if(si[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&mi(n,i,a)}}function di(e,t,n,r){si[ci++]=e,si[ci++]=t,si[ci++]=n,si[ci++]=r,li|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function fi(e,t,n,r){return di(e,t,n,r),hi(e)}function pi(e,t){return di(e,null,null,t),hi(e)}function mi(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-qe(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function hi(e){if(50<gu)throw gu=0,_u=null,Error(a(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var gi={};function _i(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function vi(e,t,n,r){return new _i(e,t,n,r)}function yi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function bi(e,t){var n=e.alternate;return n===null?(n=vi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function xi(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Si(e,t,n,r,i,o){var s=0;if(r=e,typeof e==`function`)yi(e)&&(s=1);else if(typeof e==`string`)s=Zf(e,n,he.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case w:return e=vi(31,n,t,i),e.elementType=w,e.lanes=o,e;case v:return Ci(n.children,i,o,t);case y:s=8,i|=24;break;case b:return e=vi(12,n,t,i|2),e.elementType=b,e.lanes=o,e;case C:return e=vi(13,n,t,i),e.elementType=C,e.lanes=o,e;case te:return e=vi(19,n,t,i),e.elementType=te,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case S:s=10;break a;case x:s=9;break a;case ee:s=11;break a;case ne:s=14;break a;case re:s=16,r=null;break a}s=29,n=Error(a(130,e===null?`null`:typeof e,``)),r=null}return t=vi(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Ci(e,t,n,r){return e=vi(7,e,r,t),e.lanes=n,e}function wi(e,t,n){return e=vi(6,e,null,t),e.lanes=n,e}function Ti(e){var t=vi(18,null,null,0);return t.stateNode=e,t}function Ei(e,t,n){return t=vi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Di=new WeakMap;function Oi(e,t){if(typeof e==`object`&&e){var n=Di.get(e);return n===void 0?(t={value:e,source:t,stack:ke(t)},Di.set(e,t),t):n}return{value:e,source:t,stack:ke(t)}}var ki=[],Ai=0,ji=null,Mi=0,Ni=[],Pi=0,Fi=null,Ii=1,Li=``;function Ri(e,t){ki[Ai++]=Mi,ki[Ai++]=ji,ji=e,Mi=t}function zi(e,t,n){Ni[Pi++]=Ii,Ni[Pi++]=Li,Ni[Pi++]=Fi,Fi=e;var r=Ii;e=Li;var i=32-qe(r)-1;r&=~(1<<i),n+=1;var a=32-qe(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Ii=1<<32-qe(t)+i|n<<i|r,Li=a+e}else Ii=1<<a|n<<i|r,Li=e}function Bi(e){e.return!==null&&(Ri(e,1),zi(e,1,0))}function Vi(e){for(;e===ji;)ji=ki[--Ai],ki[Ai]=null,Mi=ki[--Ai],ki[Ai]=null;for(;e===Fi;)Fi=Ni[--Pi],Ni[Pi]=null,Li=Ni[--Pi],Ni[Pi]=null,Ii=Ni[--Pi],Ni[Pi]=null}function Hi(e,t){Ni[Pi++]=Ii,Ni[Pi++]=Li,Ni[Pi++]=Fi,Ii=t.id,Li=t.overflow,Fi=e}var Ui=null,Wi=null,Gi=!1,Ki=null,qi=!1,Ji=Error(a(519));function Yi(e){throw ta(Oi(Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Ji}function Xi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[gt]=e,t[_t]=r,n){case`dialog`:Ed(`cancel`,t),Ed(`close`,t);break;case`iframe`:case`object`:case`embed`:Ed(`load`,t);break;case`video`:case`audio`:for(n=0;n<Cd.length;n++)Ed(Cd[n],t);break;case`source`:Ed(`error`,t);break;case`img`:case`image`:case`link`:Ed(`error`,t),Ed(`load`,t);break;case`details`:Ed(`toggle`,t);break;case`input`:Ed(`invalid`,t),Xt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Ed(`invalid`,t);break;case`textarea`:Ed(`invalid`,t),en(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||zd(t.textContent,n)?(r.popover!=null&&(Ed(`beforetoggle`,t),Ed(`toggle`,t)),r.onScroll!=null&&Ed(`scroll`,t),r.onScrollEnd!=null&&Ed(`scrollend`,t),r.onClick!=null&&(t.onclick=un),t=!0):t=!1,t||Yi(e,!0)}function Zi(e){for(Ui=e.return;Ui;)switch(Ui.tag){case 5:case 31:case 13:qi=!1;return;case 27:case 3:qi=!0;return;default:Ui=Ui.return}}function Qi(e){if(e!==Ui)return!1;if(!Gi)return Zi(e),Gi=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||Zd(e.type,e.memoizedProps)),n=!n),n&&Wi&&Yi(e),Zi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Wi=vf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Wi=vf(e)}else t===27?(t=Wi,of(e.type)?(e=_f,_f=null,Wi=e):Wi=t):Wi=Ui?gf(e.stateNode.nextSibling):null;return!0}function $i(){Wi=Ui=null,Gi=!1}function ea(){var e=Ki;return e!==null&&(nu===null?nu=e:nu.push.apply(nu,e),Ki=null),e}function ta(e){Ki===null?Ki=[e]:Ki.push(e)}var na=pe(null),ra=null,ia=null;function aa(e,t,n){me(na,t._currentValue),t._currentValue=n}function oa(e){e._currentValue=na.current,D(na)}function sa(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function ca(e,t,n,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var o=i.dependencies;if(o!==null){var s=i.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=i;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),sa(o.return,n,e),r||(s=null);break a}o=c.next}}else if(i.tag===18){if(s=i.return,s===null)throw Error(a(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),sa(s,n,e),s=null}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===e){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}}function la(e,t,n,r){e=null;for(var i=t,o=!1;i!==null;){if(!o){if(i.flags&524288)o=!0;else if(i.flags&262144)break}if(i.tag===10){var s=i.alternate;if(s===null)throw Error(a(387));if(s=s.memoizedProps,s!==null){var c=i.type;Mr(i.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(i===ve.current){if(s=i.alternate,s===null)throw Error(a(387));s.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e===null?e=[op]:e.push(op))}i=i.return}e!==null&&ca(t,e,n,r),t.flags|=262144}function ua(e){for(e=e.firstContext;e!==null;){if(!Mr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function da(e){ra=e,ia=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function fa(e){return ma(ra,e)}function pa(e,t){return ra===null&&da(e),ma(e,t)}function ma(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},ia===null){if(e===null)throw Error(a(308));ia=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ia=ia.next=t;return n}var ha=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ga=t.unstable_scheduleCallback,_a=t.unstable_NormalPriority,va={$$typeof:S,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ya(){return{controller:new ha,data:new Map,refCount:0}}function ba(e){e.refCount--,e.refCount===0&&ga(_a,function(){e.controller.abort()})}var xa=null,Sa=0,Ca=0,wa=null;function Ta(e,t){if(xa===null){var n=xa=[];Sa=0,Ca=_d(),wa={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return Sa++,t.then(Ea,Ea),t}function Ea(){if(--Sa===0&&xa!==null){wa!==null&&(wa.status=`fulfilled`);var e=xa;xa=null,Ca=0,wa=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Da(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var Oa=T.S;T.S=function(e,t){au=Fe(),typeof t==`object`&&t&&typeof t.then==`function`&&Ta(e,t),Oa!==null&&Oa(e,t)};var ka=pe(null);function Aa(){var e=ka.current;return e===null?Bl.pooledCache:e}function ja(e,t){t===null?me(ka,ka.current):me(ka,t.pool)}function Ma(){var e=Aa();return e===null?null:{parent:va._currentValue,pool:e}}var O=Error(a(460)),Na=Error(a(474)),Pa=Error(a(542)),Fa={then:function(){}};function Ia(e){return e=e.status,e===`fulfilled`||e===`rejected`}function La(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(un,un),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Va(e),e;default:if(typeof t.status==`string`)t.then(un,un);else{if(e=Bl,e!==null&&100<e.shellSuspendCounter)throw Error(a(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Va(e),e}throw za=t,O}}function Ra(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(za=e,O):e}}var za=null;function Ba(){if(za===null)throw Error(a(459));var e=za;return za=null,e}function Va(e){if(e===O||e===Pa)throw Error(a(483))}var Ha=null,Ua=0;function Wa(e){var t=Ua;return Ua+=1,Ha===null&&(Ha=[]),La(Ha,e,t)}function Ga(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ka(e,t){throw t.$$typeof===h?Error(a(525)):(e=Object.prototype.toString.call(t),Error(a(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function qa(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function i(e,t){return e=bi(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=wi(n,e.mode,r),t.return=e,t):(t=i(t,n),t.return=e,t)}function l(e,t,n,r){var a=n.type;return a===v?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===a||typeof a==`object`&&a&&a.$$typeof===re&&Ra(a)===t.type)?(t=i(t,n.props),Ga(t,n),t.return=e,t):(t=Si(n.type,n.key,n.props,null,e.mode,r),Ga(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Ei(n,e.mode,r),t.return=e,t):(t=i(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,a){return t===null||t.tag!==7?(t=Ci(n,e.mode,r,a),t.return=e,t):(t=i(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=wi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case g:return n=Si(t.type,t.key,t.props,null,e.mode,n),Ga(n,t),n.return=e,n;case _:return t=Ei(t,e.mode,n),t.return=e,t;case re:return t=Ra(t),f(e,t,n)}if(le(t)||oe(t))return t=Ci(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Wa(t),n);if(t.$$typeof===S)return f(e,pa(e,t),n);Ka(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case g:return n.key===i?l(e,t,n,r):null;case _:return n.key===i?u(e,t,n,r):null;case re:return n=Ra(n),p(e,t,n,r)}if(le(n)||oe(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Wa(n),r);if(n.$$typeof===S)return p(e,t,pa(e,n),r);Ka(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case g:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case _:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case re:return r=Ra(r),m(e,t,n,r,i)}if(le(r)||oe(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Wa(r),i);if(r.$$typeof===S)return m(e,t,n,pa(t,r),i);Ka(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Gi&&Ri(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return Gi&&Ri(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),Gi&&Ri(i,h),l}function y(i,s,c,l){if(c==null)throw Error(a(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),Gi&&Ri(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Gi&&Ri(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),Gi&&Ri(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===v&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case g:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===v){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===re&&Ra(l)===r.type){n(e,r.sibling),c=i(r,o.props),Ga(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===v?(c=Ci(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=Si(o.type,o.key,o.props,null,e.mode,c),Ga(c,o),c.return=e,e=c)}return s(e);case _:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=Ei(o,e.mode,c),c.return=e,e=c}return s(e);case re:return o=Ra(o),b(e,r,o,c)}if(le(o))return h(e,r,o,c);if(oe(o)){if(l=oe(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Wa(o),c);if(o.$$typeof===S)return b(e,r,pa(e,o),c);Ka(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=wi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ua=0;var i=b(e,t,n,r);return Ha=null,i}catch(t){if(t===O||t===Pa)throw t;var a=vi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ja=qa(!0),Ya=qa(!1),Xa=!1;function Za(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Qa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function $a(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function eo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,zl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=hi(e),mi(e,null,n),t}return di(e,r,t,n),hi(e)}function to(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,lt(e,n)}}function k(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var no=!1;function ro(){if(no){var e=wa;if(e!==null)throw e}}function io(e,t,n,r){no=!1;var i=e.updateQueue;Xa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Hl&f)===f:(r&f)===f){f!==0&&f===Ca&&(no=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:Xa=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Xl|=o,e.lanes=o,e.memoizedState=d}}function A(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function ao(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)A(n[e],t)}var oo=pe(null),so=pe(0);function co(e,t){e=Jl,me(so,e),me(oo,t),Jl=e|t.baseLanes}function lo(){me(so,Jl),me(oo,oo.current)}function j(){Jl=so.current,D(oo),D(so)}var uo=pe(null),fo=null;function po(e){var t=e.alternate;me(N,N.current&1),me(uo,e),fo===null&&(t===null||oo.current!==null||t.memoizedState!==null)&&(fo=e)}function M(e){me(N,N.current),me(uo,e),fo===null&&(fo=e)}function mo(e){e.tag===22?(me(N,N.current),me(uo,e),fo===null&&(fo=e)):ho(e)}function ho(){me(N,N.current),me(uo,uo.current)}function go(e){D(uo),fo===e&&(fo=null),D(N)}var N=pe(0);function _o(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||pf(n)||mf(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var P=0,vo=null,yo=null,bo=null,F=!1,xo=!1,I=!1,So=0,Co=0,wo=null,To=0;function Eo(){throw Error(a(321))}function L(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Mr(e[n],t[n]))return!1;return!0}function Do(e,t,n,r,i,a){return P=a,vo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,T.H=e===null||e.memoizedState===null?Vs:Hs,I=!1,a=n(r,i),I=!1,xo&&(a=R(t,n,r,i)),Oo(e),a}function Oo(e){T.H=Bs;var t=yo!==null&&yo.next!==null;if(P=0,bo=yo=vo=null,F=!1,Co=0,wo=null,t)throw Error(a(300));e===null||ic||(e=e.dependencies,e!==null&&ua(e)&&(ic=!0))}function R(e,t,n,r){vo=e;var i=0;do{if(xo&&(wo=null),Co=0,xo=!1,25<=i)throw Error(a(301));if(i+=1,bo=yo=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}T.H=Us,o=t(n,r)}while(xo);return o}function ko(){var e=T.H,t=e.useState()[0];return t=typeof t.then==`function`?Fo(t):t,e=e.useState()[0],(yo===null?null:yo.memoizedState)!==e&&(vo.flags|=1024),t}function z(){var e=So!==0;return So=0,e}function Ao(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function jo(e){if(F){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}F=!1}P=0,bo=yo=vo=null,xo=!1,Co=So=0,wo=null}function Mo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return bo===null?vo.memoizedState=bo=e:bo=bo.next=e,bo}function No(){if(yo===null){var e=vo.alternate;e=e===null?null:e.memoizedState}else e=yo.next;var t=bo===null?vo.memoizedState:bo.next;if(t!==null)bo=t,yo=e;else{if(e===null)throw vo.alternate===null?Error(a(467)):Error(a(310));yo=e,e={memoizedState:yo.memoizedState,baseState:yo.baseState,baseQueue:yo.baseQueue,queue:yo.queue,next:null},bo===null?vo.memoizedState=bo=e:bo=bo.next=e}return bo}function Po(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Fo(e){var t=Co;return Co+=1,wo===null&&(wo=[]),e=La(wo,e,t),t=vo,(bo===null?t.memoizedState:bo.next)===null&&(t=t.alternate,T.H=t===null||t.memoizedState===null?Vs:Hs),e}function Io(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Fo(e);if(e.$$typeof===S)return fa(e)}throw Error(a(438,String(e)))}function Lo(e){var t=null,n=vo.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=vo.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Po(),vo.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=ie;return t.index++,n}function Ro(e,t){return typeof t==`function`?t(e):t}function zo(e){return Bo(No(),yo,e)}function Bo(e,t,n){var r=e.queue;if(r===null)throw Error(a(311));r.lastRenderedReducer=n;var i=e.baseQueue,o=r.pending;if(o!==null){if(i!==null){var s=i.next;i.next=o.next,o.next=s}t.baseQueue=i=o,r.pending=null}if(o=e.baseState,i===null)e.memoizedState=o;else{t=i.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(P&f)===f:(Hl&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===Ca&&(d=!0);else if((P&p)===p){u=u.next,p===Ca&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,vo.lanes|=p,Xl|=p;f=u.action,I&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,vo.lanes|=f,Xl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!Mr(o,e.memoizedState)&&(ic=!0,d&&(n=wa,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Vo(e){var t=No(),n=t.queue;if(n===null)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(i!==null){n.pending=null;var s=i=i.next;do o=e(o,s.action),s=s.next;while(s!==i);Mr(o,t.memoizedState)||(ic=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Ho(e,t,n){var r=vo,i=No(),o=Gi;if(o){if(n===void 0)throw Error(a(407));n=n()}else n=t();var s=!Mr((yo||i).memoizedState,n);if(s&&(i.memoizedState=n,ic=!0),i=i.queue,ps(Go.bind(null,r,i,e),[e]),i.getSnapshot!==t||s||bo!==null&&bo.memoizedState.tag&1){if(r.flags|=2048,cs(9,{destroy:void 0},Wo.bind(null,r,i,n,t),null),Bl===null)throw Error(a(349));o||P&127||Uo(r,t,n)}return n}function Uo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=vo.updateQueue,t===null?(t=Po(),vo.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Wo(e,t,n,r){t.value=n,t.getSnapshot=r,Ko(t)&&qo(e)}function Go(e,t,n){return n(function(){Ko(t)&&qo(e)})}function Ko(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Mr(e,n)}catch{return!0}}function qo(e){var t=pi(e,2);t!==null&&bu(t,e,2)}function Jo(e){var t=Mo();if(typeof e==`function`){var n=e;if(e=n(),I){Ke(!0);try{n()}finally{Ke(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:e},t}function Yo(e,t,n,r){return e.baseState=n,Bo(e,yo,typeof r==`function`?r:Ro)}function Xo(e,t,n,r,i){if(Ls(e))throw Error(a(485));if(e=t.action,e!==null){var o={payload:i,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};T.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Zo(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Zo(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=T.T,o={};T.T=o;try{var s=n(i,r),c=T.S;c!==null&&c(o,s),Qo(e,t,s)}catch(n){es(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),T.T=a}}else try{a=n(i,r),Qo(e,t,a)}catch(n){es(e,t,n)}}function Qo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){$o(e,t,n)},function(n){return es(e,t,n)}):$o(e,t,n)}function $o(e,t,n){t.status=`fulfilled`,t.value=n,ts(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Zo(e,n)))}function es(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,ts(t),t=t.next;while(t!==r)}e.action=null}function ts(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function ns(e,t){return t}function rs(e,t){if(Gi){var n=Bl.formState;if(n!==null){a:{var r=vo;if(Gi){if(Wi){b:{for(var i=Wi,a=qi;i.nodeType!==8;){if(!a){i=null;break b}if(i=gf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Wi=gf(i.nextSibling),r=i.data===`F!`;break a}}Yi(r)}r=!1}r&&(t=n[0])}}return n=Mo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ns,lastRenderedState:t},n.queue=r,n=Ps.bind(null,vo,r),r.dispatch=n,r=Jo(!1),a=Is.bind(null,vo,!1,r.queue),r=Mo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Xo.bind(null,vo,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function is(e){return as(No(),yo,e)}function as(e,t,n){if(t=Bo(e,t,ns)[0],e=zo(Ro)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Fo(t)}catch(e){throw e===O?Pa:e}else r=t;t=No();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(vo.flags|=2048,cs(9,{destroy:void 0},os.bind(null,i,n),null)),[r,a,e]}function os(e,t){e.action=t}function ss(e){var t=No(),n=yo;if(n!==null)return as(t,n,e);No(),t=t.memoizedState,n=No();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function cs(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=vo.updateQueue,t===null&&(t=Po(),vo.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ls(){return No().memoizedState}function us(e,t,n,r){var i=Mo();vo.flags|=e,i.memoizedState=cs(1|t,{destroy:void 0},n,r===void 0?null:r)}function ds(e,t,n,r){var i=No();r=r===void 0?null:r;var a=i.memoizedState.inst;yo!==null&&r!==null&&L(r,yo.memoizedState.deps)?i.memoizedState=cs(t,a,n,r):(vo.flags|=e,i.memoizedState=cs(1|t,a,n,r))}function fs(e,t){us(8390656,8,e,t)}function ps(e,t){ds(2048,8,e,t)}function ms(e){vo.flags|=4;var t=vo.updateQueue;if(t===null)t=Po(),vo.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function hs(e){var t=No().memoizedState;return ms({ref:t,nextImpl:e}),function(){if(zl&2)throw Error(a(440));return t.impl.apply(void 0,arguments)}}function gs(e,t){return ds(4,2,e,t)}function _s(e,t){return ds(4,4,e,t)}function vs(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ys(e,t,n){n=n==null?null:n.concat([e]),ds(4,4,vs.bind(null,t,e),n)}function bs(){}function xs(e,t){var n=No();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&L(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function B(e,t){var n=No();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&L(t,r[1]))return r[0];if(r=e(),I){Ke(!0);try{e()}finally{Ke(!1)}}return n.memoizedState=[r,t],r}function Ss(e,t,n){return n===void 0||P&1073741824&&!(Hl&261930)?e.memoizedState=t:(e.memoizedState=n,e=yu(),vo.lanes|=e,Xl|=e,n)}function Cs(e,t,n,r){return Mr(n,t)?n:oo.current===null?!(P&42)||P&1073741824&&!(Hl&261930)?(ic=!0,e.memoizedState=n):(e=yu(),vo.lanes|=e,Xl|=e,t):(e=Ss(e,n,r),Mr(e,t)||(ic=!0),e)}function ws(e,t,n,r,i){var a=E.p;E.p=a!==0&&8>a?a:8;var o=T.T,s={};T.T=s,Is(e,!1,t,n);try{var c=i(),l=T.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Fs(e,t,Da(c,r),vu(e)):Fs(e,t,r,vu(e))}catch(n){Fs(e,t,{then:function(){},status:`rejected`,reason:n},vu())}finally{E.p=a,o!==null&&s.types!==null&&(o.types=s.types),T.T=o}}function Ts(){}function Es(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=Ds(e).queue;ws(e,i,t,ue,n===null?Ts:function(){return Os(e),n(r)})}function Ds(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ue,baseState:ue,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:ue},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Os(e){var t=Ds(e);t.next===null&&(t=e.alternate.memoizedState),Fs(e,t.next.queue,{},vu())}function ks(){return fa(op)}function As(){return No().memoizedState}function js(){return No().memoizedState}function Ms(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=vu();e=$a(n);var r=eo(t,e,n);r!==null&&(bu(r,t,n),to(r,t,n)),t={cache:ya()},e.payload=t;return}t=t.return}}function Ns(e,t,n){var r=vu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ls(e)?Rs(t,n):(n=fi(e,t,n,r),n!==null&&(bu(n,e,r),zs(n,t,r)))}function Ps(e,t,n){Fs(e,t,n,vu())}function Fs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ls(e))Rs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Mr(s,o))return di(e,t,i,0),Bl===null&&ui(),!1}catch{}if(n=fi(e,t,i,r),n!==null)return bu(n,e,r),zs(n,t,r),!0}return!1}function Is(e,t,n,r){if(r={lane:2,revertLane:_d(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ls(e)){if(t)throw Error(a(479))}else t=fi(e,n,r,2),t!==null&&bu(t,e,2)}function Ls(e){var t=e.alternate;return e===vo||t!==null&&t===vo}function Rs(e,t){xo=F=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,lt(e,n)}}var Bs={readContext:fa,use:Io,useCallback:Eo,useContext:Eo,useEffect:Eo,useImperativeHandle:Eo,useLayoutEffect:Eo,useInsertionEffect:Eo,useMemo:Eo,useReducer:Eo,useRef:Eo,useState:Eo,useDebugValue:Eo,useDeferredValue:Eo,useTransition:Eo,useSyncExternalStore:Eo,useId:Eo,useHostTransitionStatus:Eo,useFormState:Eo,useActionState:Eo,useOptimistic:Eo,useMemoCache:Eo,useCacheRefresh:Eo};Bs.useEffectEvent=Eo;var Vs={readContext:fa,use:Io,useCallback:function(e,t){return Mo().memoizedState=[e,t===void 0?null:t],e},useContext:fa,useEffect:fs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),us(4194308,4,vs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){us(4,2,e,t)},useMemo:function(e,t){var n=Mo();t=t===void 0?null:t;var r=e();if(I){Ke(!0);try{e()}finally{Ke(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Mo();if(n!==void 0){var i=n(t);if(I){Ke(!0);try{n(t)}finally{Ke(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ns.bind(null,vo,e),[r.memoizedState,e]},useRef:function(e){var t=Mo();return e={current:e},t.memoizedState=e},useState:function(e){e=Jo(e);var t=e.queue,n=Ps.bind(null,vo,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:bs,useDeferredValue:function(e,t){return Ss(Mo(),e,t)},useTransition:function(){var e=Jo(!1);return e=ws.bind(null,vo,e.queue,!0,!1),Mo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=vo,i=Mo();if(Gi){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Bl===null)throw Error(a(349));Hl&127||Uo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,fs(Go.bind(null,r,o,e),[e]),r.flags|=2048,cs(9,{destroy:void 0},Wo.bind(null,r,o,n,t),null),n},useId:function(){var e=Mo(),t=Bl.identifierPrefix;if(Gi){var n=Li,r=Ii;n=(r&~(1<<32-qe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=So++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=To++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:ks,useFormState:rs,useActionState:rs,useOptimistic:function(e){var t=Mo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Is.bind(null,vo,!0,n),n.dispatch=t,[e,t]},useMemoCache:Lo,useCacheRefresh:function(){return Mo().memoizedState=Ms.bind(null,vo)},useEffectEvent:function(e){var t=Mo(),n={impl:e};return t.memoizedState=n,function(){if(zl&2)throw Error(a(440));return n.impl.apply(void 0,arguments)}}},Hs={readContext:fa,use:Io,useCallback:xs,useContext:fa,useEffect:ps,useImperativeHandle:ys,useInsertionEffect:gs,useLayoutEffect:_s,useMemo:B,useReducer:zo,useRef:ls,useState:function(){return zo(Ro)},useDebugValue:bs,useDeferredValue:function(e,t){return Cs(No(),yo.memoizedState,e,t)},useTransition:function(){var e=zo(Ro)[0],t=No().memoizedState;return[typeof e==`boolean`?e:Fo(e),t]},useSyncExternalStore:Ho,useId:As,useHostTransitionStatus:ks,useFormState:is,useActionState:is,useOptimistic:function(e,t){return Yo(No(),yo,e,t)},useMemoCache:Lo,useCacheRefresh:js};Hs.useEffectEvent=hs;var Us={readContext:fa,use:Io,useCallback:xs,useContext:fa,useEffect:ps,useImperativeHandle:ys,useInsertionEffect:gs,useLayoutEffect:_s,useMemo:B,useReducer:Vo,useRef:ls,useState:function(){return Vo(Ro)},useDebugValue:bs,useDeferredValue:function(e,t){var n=No();return yo===null?Ss(n,e,t):Cs(n,yo.memoizedState,e,t)},useTransition:function(){var e=Vo(Ro)[0],t=No().memoizedState;return[typeof e==`boolean`?e:Fo(e),t]},useSyncExternalStore:Ho,useId:As,useHostTransitionStatus:ks,useFormState:ss,useActionState:ss,useOptimistic:function(e,t){var n=No();return yo===null?(n.baseState=e,[e,n.queue.dispatch]):Yo(n,yo,e,t)},useMemoCache:Lo,useCacheRefresh:js};Us.useEffectEvent=hs;function Ws(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:m({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var V={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=vu(),i=$a(r);i.payload=t,n!=null&&(i.callback=n),t=eo(e,i,r),t!==null&&(bu(t,e,r),to(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=vu(),i=$a(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=eo(e,i,r),t!==null&&(bu(t,e,r),to(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=vu(),r=$a(n);r.tag=2,t!=null&&(r.callback=t),t=eo(e,r,n),t!==null&&(bu(t,e,n),to(t,e,n))}};function Gs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Nr(n,r)||!Nr(i,a):!0}function Ks(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&V.enqueueReplaceState(t,t.state,null)}function qs(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=m({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Js(e){oi(e)}function Ys(e){console.error(e)}function Xs(e){oi(e)}function Zs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Qs(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function $s(e,t,n){return n=$a(n),n.tag=3,n.payload={element:null},n.callback=function(){Zs(e,t)},n}function ec(e){return e=$a(e),e.tag=3,e}function tc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Qs(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Qs(t,n,r),typeof i!=`function`&&(cu===null?cu=new Set([this]):cu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function nc(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&la(t,n,i,!0),n=uo.current,n!==null){switch(n.tag){case 31:case 13:return fo===null?Mu():n.alternate===null&&Yl===0&&(Yl=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===Fa?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Zu(e,r,i)),!1;case 22:return n.flags|=65536,r===Fa?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Zu(e,r,i)),!1}throw Error(a(435,n.tag))}return Zu(e,r,i),Mu(),!1}if(Gi)return t=uo.current,t===null?(r!==Ji&&(t=Error(a(423),{cause:r}),ta(Oi(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=Oi(r,n),i=$s(e.stateNode,r,i),k(e,i),Yl!==4&&(Yl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Ji&&(e=Error(a(422),{cause:r}),ta(Oi(e,n)))),!1;var o=Error(a(520),{cause:r});if(o=Oi(o,n),tu===null?tu=[o]:tu.push(o),Yl!==4&&(Yl=2),t===null)return!0;r=Oi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=$s(n.stateNode,r,e),k(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(cu===null||!cu.has(o))))return n.flags|=65536,i&=-i,n.lanes|=i,i=ec(i),tc(i,e,n,r),k(n,i),!1}n=n.return}while(n!==null);return!1}var rc=Error(a(461)),ic=!1;function ac(e,t,n,r){t.child=e===null?Ya(t,null,n,r):Ja(t,e.child,n,r)}function oc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return da(t),r=Do(e,t,n,o,a,i),s=z(),e!==null&&!ic?(Ao(e,t,i),Oc(e,t,i)):(Gi&&s&&Bi(t),t.flags|=1,ac(e,t,r,i),t.child)}function sc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!yi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,cc(e,t,a,r,i)):(e=Si(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!kc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Nr:n,n(o,r)&&e.ref===t.ref)return Oc(e,t,i)}return t.flags|=1,e=bi(a,r),e.ref=t.ref,e.return=t,t.child=e}function cc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Nr(a,r)&&e.ref===t.ref)if(ic=!1,t.pendingProps=r=a,kc(e,i))e.flags&131072&&(ic=!0);else return t.lanes=e.lanes,Oc(e,t,i)}return hc(e,t,n,r,i)}function lc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return uc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&ja(t,a===null?null:a.cachePool),a===null?lo():co(t,a),mo(t);else return r=t.lanes=536870912,uc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&ja(t,null),lo(),ho(t)):(ja(t,a.cachePool),co(t,a),ho(t),t.memoizedState=null);return ac(e,t,i,n),t.child}function H(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function uc(e,t,n,r,i){var a=Aa();return a=a===null?null:{parent:va._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&ja(t,null),lo(),mo(t),e!==null&&la(e,t,r,!0),t.childLanes=i,null}function dc(e,t){return t=Cc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function fc(e,t,n){return Ja(t,e.child,null,n),e=dc(t,t.pendingProps),e.flags|=2,go(t),t.memoizedState=null,e}function pc(e,t,n){var r=t.pendingProps,i=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(Gi){if(r.mode===`hidden`)return e=dc(t,r),t.lanes=536870912,H(null,e);if(M(t),(e=Wi)?(e=ff(e,qi),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Fi===null?null:{id:Ii,overflow:Li},retryLane:536870912,hydrationErrors:null},n=Ti(e),n.return=t,t.child=n,Ui=t,Wi=null)):e=null,e===null)throw Yi(t);return t.lanes=536870912,null}return dc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(M(t),i)if(t.flags&256)t.flags&=-257,t=fc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(a(558));else if(ic||la(e,t,n,!1),i=(n&e.childLanes)!==0,ic||i){if(r=Bl,r!==null&&(s=ut(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,pi(e,s),bu(r,e,s),rc;Mu(),t=fc(e,t,n)}else e=o.treeContext,Wi=gf(s.nextSibling),Ui=t,Gi=!0,Ki=null,qi=!1,e!==null&&Hi(t,e),t=dc(t,r),t.flags|=4096;return t}return e=bi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function mc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(a(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function hc(e,t,n,r,i){return da(t),n=Do(e,t,n,r,void 0,i),r=z(),e!==null&&!ic?(Ao(e,t,i),Oc(e,t,i)):(Gi&&r&&Bi(t),t.flags|=1,ac(e,t,n,i),t.child)}function gc(e,t,n,r,i,a){return da(t),t.updateQueue=null,n=R(t,r,n,i),Oo(e),r=z(),e!==null&&!ic?(Ao(e,t,a),Oc(e,t,a)):(Gi&&r&&Bi(t),t.flags|=1,ac(e,t,n,a),t.child)}function _c(e,t,n,r,i){if(da(t),t.stateNode===null){var a=gi,o=n.contextType;typeof o==`object`&&o&&(a=fa(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=V,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Za(t),o=n.contextType,a.context=typeof o==`object`&&o?fa(o):gi,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Ws(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&V.enqueueReplaceState(a,a.state,null),io(t,r,a,i),ro(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=qs(n,s);a.props=c;var l=a.context,u=n.contextType;o=gi,typeof u==`object`&&u&&(o=fa(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Ks(t,a,r,o),Xa=!1;var f=t.memoizedState;a.state=f,io(t,r,a,i),ro(),l=t.memoizedState,s||f!==l||Xa?(typeof d==`function`&&(Ws(t,n,d,r),l=t.memoizedState),(c=Xa||Gs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Qa(e,t),o=t.memoizedProps,u=qs(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=gi,typeof l==`object`&&l&&(c=fa(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Ks(t,a,r,c),Xa=!1,f=t.memoizedState,a.state=f,io(t,r,a,i),ro();var p=t.memoizedState;o!==d||f!==p||Xa||e!==null&&e.dependencies!==null&&ua(e.dependencies)?(typeof s==`function`&&(Ws(t,n,s,r),p=t.memoizedState),(u=Xa||Gs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&ua(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,mc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Ja(t,e.child,null,i),t.child=Ja(t,null,n,i)):ac(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Oc(e,t,i),e}function vc(e,t,n,r){return $i(),t.flags|=256,ac(e,t,n,r),t.child}var yc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function U(e){return{baseLanes:e,cachePool:Ma()}}function bc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=$l),e}function xc(e,t,n){var r=t.pendingProps,i=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(N.current&2)!=0),s&&(i=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(Gi){if(i?po(t):ho(t),(e=Wi)?(e=ff(e,qi),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Fi===null?null:{id:Ii,overflow:Li},retryLane:536870912,hydrationErrors:null},n=Ti(e),n.return=t,t.child=n,Ui=t,Wi=null)):e=null,e===null)throw Yi(t);return mf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?(ho(t),i=t.mode,c=Cc({mode:`hidden`,children:c},i),r=Ci(r,i,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=U(n),r.childLanes=bc(e,s,n),t.memoizedState=yc,H(null,r)):(po(t),Sc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(po(t),t.flags&=-257,t=wc(e,t,n)):t.memoizedState===null?(ho(t),c=r.fallback,i=t.mode,r=Cc({mode:`visible`,children:r.children},i),c=Ci(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ja(t,e.child,null,n),r=t.child,r.memoizedState=U(n),r.childLanes=bc(e,s,n),t.memoizedState=yc,t=H(null,r)):(ho(t),t.child=e.child,t.flags|=128,t=null);else if(po(t),mf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(a(419)),r.stack=``,r.digest=s,ta({value:r,source:null,stack:null}),t=wc(e,t,n)}else if(ic||la(e,t,n,!1),s=(n&e.childLanes)!==0,ic||s){if(s=Bl,s!==null&&(r=ut(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,pi(e,r),bu(s,e,r),rc;pf(c)||Mu(),t=wc(e,t,n)}else pf(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Wi=gf(c.nextSibling),Ui=t,Gi=!0,Ki=null,qi=!1,e!==null&&Hi(t,e),t=Sc(t,r.children),t.flags|=4096);return t}return i?(ho(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=bi(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=Ci(c,i,n,null),c.flags|=2):c=bi(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,H(null,r),r=t.child,c=e.child.memoizedState,c===null?c=U(n):(i=c.cachePool,i===null?i=Ma():(l=va._currentValue,i=i.parent===l?i:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:i}),r.memoizedState=c,r.childLanes=bc(e,s,n),t.memoizedState=yc,H(e.child,r)):(po(t),n=e.child,e=n.sibling,n=bi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function Sc(e,t){return t=Cc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function Cc(e,t){return e=vi(22,e,null,t),e.lanes=0,e}function wc(e,t,n){return Ja(t,e.child,null,n),e=Sc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Tc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),sa(e.return,t,n)}function Ec(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Dc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=N.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,me(N,o),ac(e,t,r,n),r=Gi?Mi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Tc(e,n,t);else if(e.tag===19)Tc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&_o(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Ec(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&_o(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Ec(t,!0,n,null,a,r);break;case`together`:Ec(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Oc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Xl|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(la(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(a(153));if(t.child!==null){for(e=t.child,n=bi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=bi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function kc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&ua(e))):!0}function Ac(e,t,n){switch(t.tag){case 3:ye(t,t.stateNode.containerInfo),aa(t,va,e.memoizedState.cache),$i();break;case 27:case 5:xe(t);break;case 4:ye(t,t.stateNode.containerInfo);break;case 10:aa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,M(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(po(t),e=Oc(e,t,n),e===null?null:e.sibling):xc(e,t,n):(po(t),t.flags|=128,null);po(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(la(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Dc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),me(N,N.current),r)break;return null;case 22:return t.lanes=0,lc(e,t,n,t.pendingProps);case 24:aa(t,va,e.memoizedState.cache)}return Oc(e,t,n)}function jc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)ic=!0;else{if(!kc(e,n)&&!(t.flags&128))return ic=!1,Ac(e,t,n);ic=!!(e.flags&131072)}else ic=!1,Gi&&t.flags&1048576&&zi(t,Mi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ra(t.elementType),t.type=e,typeof e==`function`)yi(e)?(r=qs(e,r),t.tag=1,t=_c(null,t,e,r,n)):(t.tag=0,t=hc(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===ee){t.tag=11,t=oc(null,t,e,r,n);break a}else if(i===ne){t.tag=14,t=sc(null,t,e,r,n);break a}}throw t=ce(e)||e,Error(a(306,t,``))}}return t;case 0:return hc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=qs(r,t.pendingProps),_c(e,t,r,i,n);case 3:a:{if(ye(t,t.stateNode.containerInfo),e===null)throw Error(a(387));r=t.pendingProps;var o=t.memoizedState;i=o.element,Qa(e,t),io(t,r,null,n);var s=t.memoizedState;if(r=s.cache,aa(t,va,r),r!==o.cache&&ca(t,[va],n,!0),ro(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=vc(e,t,r,n);break a}else if(r!==i){i=Oi(Error(a(424)),t),ta(i),t=vc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Wi=gf(e.firstChild),Ui=t,Gi=!0,Ki=null,qi=!0,n=Ya(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if($i(),r===i){t=Oc(e,t,n);break a}ac(e,t,r,n)}t=t.child}return t;case 26:return mc(e,t),e===null?(n=Lf(t.type,null,t.pendingProps,null))?t.memoizedState=n:Gi||(n=t.type,e=t.pendingProps,r=Jd(_e.current).createElement(n),r[gt]=t,r[_t]=e,Hd(r,n,e),kt(r),t.stateNode=r):t.memoizedState=Lf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return xe(t),e===null&&Gi&&(r=t.stateNode=bf(t.type,t.pendingProps,_e.current),Ui=t,qi=!0,i=Wi,of(t.type)?(_f=i,Wi=gf(r.firstChild)):Wi=i),ac(e,t,t.pendingProps.children,n),mc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Gi&&((i=r=Wi)&&(r=uf(r,t.type,t.pendingProps,qi),r===null?i=!1:(t.stateNode=r,Ui=t,Wi=gf(r.firstChild),qi=!1,i=!0)),i||Yi(t)),xe(t),i=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Zd(i,o)?r=null:s!==null&&Zd(i,s)&&(t.flags|=32),t.memoizedState!==null&&(i=Do(e,t,ko,null,null,n),op._currentValue=i),mc(e,t),ac(e,t,r,n),t.child;case 6:return e===null&&Gi&&((e=n=Wi)&&(n=df(n,t.pendingProps,qi),n===null?e=!1:(t.stateNode=n,Ui=t,Wi=null,e=!0)),e||Yi(t)),null;case 13:return xc(e,t,n);case 4:return ye(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ja(t,null,r,n):ac(e,t,r,n),t.child;case 11:return oc(e,t,t.type,t.pendingProps,n);case 7:return ac(e,t,t.pendingProps,n),t.child;case 8:return ac(e,t,t.pendingProps.children,n),t.child;case 12:return ac(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,aa(t,t.type,r.value),ac(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,da(t),i=fa(i),r=r(i),t.flags|=1,ac(e,t,r,n),t.child;case 14:return sc(e,t,t.type,t.pendingProps,n);case 15:return cc(e,t,t.type,t.pendingProps,n);case 19:return Dc(e,t,n);case 31:return pc(e,t,n);case 22:return lc(e,t,n,t.pendingProps);case 24:return da(t),r=fa(va),e===null?(i=Aa(),i===null&&(i=Bl,o=ya(),i.pooledCache=o,o.refCount++,o!==null&&(i.pooledCacheLanes|=n),i=o),t.memoizedState={parent:r,cache:i},Za(t),aa(t,va,i)):((e.lanes&n)!==0&&(Qa(e,t),io(t,null,null,n),ro()),i=e.memoizedState,o=t.memoizedState,i.parent===r?(r=o.cache,aa(t,va,r),r!==i.cache&&ca(t,[va],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),aa(t,va,r))),ac(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(a(156,t.tag))}function Mc(e){e.flags|=4}function Nc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(ku())e.flags|=8192;else throw za=Fa,Na}else e.flags&=-16777217}function Pc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Qf(t))if(ku())e.flags|=8192;else throw za=Fa,Na}function Fc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:it(),e.lanes|=t,eu|=t)}function Ic(e,t){if(!Gi)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Lc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Rc(e,t,n){var r=t.pendingProps;switch(Vi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Lc(t),null;case 1:return Lc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),oa(va),be(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Qi(t)?Mc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ea())),Lc(t),null;case 26:var i=t.type,o=t.memoizedState;return e===null?(Mc(t),o===null?(Lc(t),Nc(t,i,null,r,n)):(Lc(t),Pc(t,o))):o?o===e.memoizedState?(Lc(t),t.flags&=-16777217):(Mc(t),Lc(t),Pc(t,o)):(e=e.memoizedProps,e!==r&&Mc(t),Lc(t),Nc(t,i,e,r,n)),null;case 27:if(Se(t),n=_e.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Mc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Lc(t),null}e=he.current,Qi(t)?Xi(t,e):(e=bf(i,r,n),t.stateNode=e,Mc(t))}return Lc(t),null;case 5:if(Se(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Mc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Lc(t),null}if(o=he.current,Qi(t))Xi(t,o);else{var s=Jd(_e.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;default:switch(i){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[gt]=t,o[_t]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Hd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Mc(t)}}return Lc(t),Nc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Mc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=_e.current,Qi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Ui,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[gt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||zd(e.nodeValue,n)),e||Yi(t,!0)}else e=Jd(e).createTextNode(r),e[gt]=t,t.stateNode=e}return Lc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Qi(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[gt]=t}else $i(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Lc(t),e=!1}else n=ea(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(go(t),t):(go(t),null);if(t.flags&128)throw Error(a(558))}return Lc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Qi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[gt]=t}else $i(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Lc(t),i=!1}else i=ea(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(go(t),t):(go(t),null)}return go(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Fc(t,t.updateQueue),Lc(t),null);case 4:return be(),e===null&&kd(t.stateNode.containerInfo),Lc(t),null;case 10:return oa(t.type),Lc(t),null;case 19:if(D(N),r=t.memoizedState,r===null)return Lc(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)Ic(r,!1);else{if(Yl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=_o(e),o!==null){for(t.flags|=128,Ic(r,!1),e=o.updateQueue,t.updateQueue=e,Fc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)xi(n,e),n=n.sibling;return me(N,N.current&1|2),Gi&&Ri(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Fe()>ou&&(t.flags|=128,i=!0,Ic(r,!1),t.lanes=4194304)}else{if(!i)if(e=_o(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Fc(t,e),Ic(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Gi)return Lc(t),null}else 2*Fe()-r.renderingStartTime>ou&&n!==536870912&&(t.flags|=128,i=!0,Ic(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Lc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Fe(),e.sibling=null,n=N.current,me(N,i?n&1|2:n&1),Gi&&Ri(t,r.treeForkCount),e);case 22:case 23:return go(t),j(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Lc(t),t.subtreeFlags&6&&(t.flags|=8192)):Lc(t),n=t.updateQueue,n!==null&&Fc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&D(ka),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),oa(va),Lc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function zc(e,t){switch(Vi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return oa(va),be(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Se(t),null;case 31:if(t.memoizedState!==null){if(go(t),t.alternate===null)throw Error(a(340));$i()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(go(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));$i()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return D(N),null;case 4:return be(),null;case 10:return oa(t.type),null;case 22:case 23:return go(t),j(),e!==null&&D(ka),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return oa(va),null;case 25:return null;default:return null}}function Bc(e,t){switch(Vi(t),t.tag){case 3:oa(va),be();break;case 26:case 27:case 5:Se(t);break;case 4:be();break;case 31:t.memoizedState!==null&&go(t);break;case 13:go(t);break;case 19:D(N);break;case 10:oa(t.type);break;case 22:case 23:go(t),j(),e!==null&&D(ka);break;case 24:oa(va)}}function Vc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Xu(t,t.return,e)}}function Hc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Xu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Xu(t,t.return,e)}}function Uc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{ao(t,n)}catch(t){Xu(e,e.return,t)}}}function Wc(e,t,n){n.props=qs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Xu(e,t,n)}}function Gc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Xu(e,t,n)}}function Kc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Xu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Xu(e,t,n)}else n.current=null}function qc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Xu(e,e.return,t)}}function W(e,t,n){try{var r=e.stateNode;Ud(r,e.type,n,t),r[_t]=t}catch(t){Xu(e,e.return,t)}}function Jc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&of(e.type)||e.tag===4}function Yc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Jc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&of(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=un));else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Zc(e,t,n),e=e.sibling;e!==null;)Zc(e,t,n),e=e.sibling}function Qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Hd(t,r,n),t[gt]=e,t[_t]=n}catch(t){Xu(e,e.return,t)}}var $c=!1,el=!1,tl=!1,nl=typeof WeakSet==`function`?WeakSet:Set,rl=null;function il(e,t){if(e=e.containerInfo,Kd=hp,e=Lr(e),Rr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(qd={focusedElem:e,selectionRange:n},hp=!1,rl=t;rl!==null;)if(t=rl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,rl=e;else for(;rl!==null;){switch(t=rl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)i=e[n],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,i=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=qs(n.type,i);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Xu(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)lf(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:lf(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(a(163))}if(e=t.sibling,e!==null){e.return=t.return,rl=e;break}rl=t.return}}function al(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:bl(e,n),r&4&&Vc(5,n);break;case 1:if(bl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Xu(n,n.return,e)}else{var i=qs(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Xu(n,n.return,e)}}r&64&&Uc(n),r&512&&Gc(n,n.return);break;case 3:if(bl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{ao(e,t)}catch(e){Xu(n,n.return,e)}}break;case 27:t===null&&r&4&&Qc(n);case 26:case 5:bl(e,n),t===null&&r&4&&qc(n),r&512&&Gc(n,n.return);break;case 12:bl(e,n);break;case 31:bl(e,n),r&4&&dl(e,n);break;case 13:bl(e,n),r&4&&fl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=ed.bind(null,n),hf(e,n))));break;case 22:if(r=n.memoizedState!==null||$c,!r){t=t!==null&&t.memoizedState!==null||el,i=$c;var a=el;$c=r,(el=t)&&!a?Sl(e,n,(n.subtreeFlags&8772)!=0):bl(e,n),$c=i,el=a}break;case 30:break;default:bl(e,n)}}function ol(e){var t=e.alternate;t!==null&&(e.alternate=null,ol(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&wt(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var sl=null,cl=!1;function ll(e,t,n){for(n=n.child;n!==null;)ul(e,t,n),n=n.sibling}function ul(e,t,n){if(Ge&&typeof Ge.onCommitFiberUnmount==`function`)try{Ge.onCommitFiberUnmount(We,n)}catch{}switch(n.tag){case 26:el||Kc(n,t),ll(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:el||Kc(n,t);var r=sl,i=cl;of(n.type)&&(sl=n.stateNode,cl=!1),ll(e,t,n),xf(n.stateNode),sl=r,cl=i;break;case 5:el||Kc(n,t);case 6:if(r=sl,i=cl,sl=null,ll(e,t,n),sl=r,cl=i,sl!==null)if(cl)try{(sl.nodeType===9?sl.body:sl.nodeName===`HTML`?sl.ownerDocument.body:sl).removeChild(n.stateNode)}catch(e){Xu(n,t,e)}else try{sl.removeChild(n.stateNode)}catch(e){Xu(n,t,e)}break;case 18:sl!==null&&(cl?(e=sl,sf(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Vp(e)):sf(sl,n.stateNode));break;case 4:r=sl,i=cl,sl=n.stateNode.containerInfo,cl=!0,ll(e,t,n),sl=r,cl=i;break;case 0:case 11:case 14:case 15:Hc(2,n,t),el||Hc(4,n,t),ll(e,t,n);break;case 1:el||(Kc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Wc(n,t,r)),ll(e,t,n);break;case 21:ll(e,t,n);break;case 22:el=(r=el)||n.memoizedState!==null,ll(e,t,n),el=r;break;default:ll(e,t,n)}}function dl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Vp(e)}catch(e){Xu(t,t.return,e)}}}function fl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Vp(e)}catch(e){Xu(t,t.return,e)}}function pl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new nl),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new nl),t;default:throw Error(a(435,e.tag))}}function ml(e,t){var n=pl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=td.bind(null,e,t);t.then(r,r)}})}function hl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(of(c.type)){sl=c.stateNode,cl=!1;break a}break;case 5:sl=c.stateNode,cl=!1;break a;case 3:case 4:sl=c.stateNode.containerInfo,cl=!0;break a}c=c.return}if(sl===null)throw Error(a(160));ul(o,s,i),sl=null,cl=!1,o=i.alternate,o!==null&&(o.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)_l(t,e),t=t.sibling}var gl=null;function _l(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:hl(t,e),vl(e),r&4&&(Hc(3,e,e.return),Vc(3,e),Hc(5,e,e.return));break;case 1:hl(t,e),vl(e),r&512&&(el||n===null||Kc(n,n.return)),r&64&&$c&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var i=gl;if(hl(t,e),vl(e),r&512&&(el||n===null||Kc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,i=i.ownerDocument||i;b:switch(r){case`title`:o=i.getElementsByTagName(`title`)[0],(!o||o[Ct]||o[gt]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=i.createElement(r),i.head.insertBefore(o,i.querySelector(`head > title`))),Hd(o,r,n),o[gt]=e,kt(o),r=o;break a;case`link`:var s=Yf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=i.createElement(r),Hd(o,r,n),i.head.appendChild(o);break;case`meta`:if(s=Yf(`meta`,`content`,i).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=i.createElement(r),Hd(o,r,n),i.head.appendChild(o);break;default:throw Error(a(468,r))}o[gt]=e,kt(o),r=o}e.stateNode=r}else Xf(i,e.type,e.stateNode);else e.stateNode=Wf(i,r,e.memoizedProps);else o===r?r===null&&e.stateNode!==null&&W(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Xf(i,e.type,e.stateNode):Wf(i,r,e.memoizedProps))}break;case 27:hl(t,e),vl(e),r&512&&(el||n===null||Kc(n,n.return)),n!==null&&r&4&&W(e,e.memoizedProps,n.memoizedProps);break;case 5:if(hl(t,e),vl(e),r&512&&(el||n===null||Kc(n,n.return)),e.flags&32){i=e.stateNode;try{tn(i,``)}catch(t){Xu(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,W(e,i,n===null?i:n.memoizedProps)),r&1024&&(tl=!0);break;case 6:if(hl(t,e),vl(e),r&4){if(e.stateNode===null)throw Error(a(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Xu(e,e.return,t)}}break;case 3:if(Jf=null,i=gl,gl=wf(t.containerInfo),hl(t,e),gl=i,vl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Vp(t.containerInfo)}catch(t){Xu(e,e.return,t)}tl&&(tl=!1,yl(e));break;case 4:r=gl,gl=wf(e.stateNode.containerInfo),hl(t,e),vl(e),gl=r;break;case 12:hl(t,e),vl(e);break;case 31:hl(t,e),vl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ml(e,r)));break;case 13:hl(t,e),vl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(iu=Fe()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ml(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=$c,d=el;if($c=u||i,el=d||l,hl(t,e),el=d,$c=u,vl(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||$c||el||xl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,i)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Xu(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){Xu(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;i?cf(m,!0):cf(l.stateNode,!1)}catch(e){Xu(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,ml(e,n))));break;case 19:hl(t,e),vl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ml(e,r)));break;case 30:break;case 21:break;default:hl(t,e),vl(e)}}function vl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Jc(r)){n=r;break}r=r.return}if(n==null)throw Error(a(160));switch(n.tag){case 27:var i=n.stateNode;Zc(e,Yc(e),i);break;case 5:var o=n.stateNode;n.flags&32&&(tn(o,``),n.flags&=-33),Zc(e,Yc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Xc(e,Yc(e),s);break;default:throw Error(a(161))}}catch(t){Xu(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function yl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;yl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function bl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)al(e,t.alternate,t),t=t.sibling}function xl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Hc(4,t,t.return),xl(t);break;case 1:Kc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Wc(t,t.return,n),xl(t);break;case 27:xf(t.stateNode);case 26:case 5:Kc(t,t.return),xl(t);break;case 22:t.memoizedState===null&&xl(t);break;case 30:xl(t);break;default:xl(t)}e=e.sibling}}function Sl(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:Sl(i,a,n),Vc(4,a);break;case 1:if(Sl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Xu(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)A(c[i],s)}catch(e){Xu(r,r.return,e)}}n&&o&64&&Uc(a),Gc(a,a.return);break;case 27:Qc(a);case 26:case 5:Sl(i,a,n),n&&r===null&&o&4&&qc(a),Gc(a,a.return);break;case 12:Sl(i,a,n);break;case 31:Sl(i,a,n),n&&o&4&&dl(i,a);break;case 13:Sl(i,a,n),n&&o&4&&fl(i,a);break;case 22:a.memoizedState===null&&Sl(i,a,n),Gc(a,a.return);break;case 30:break;default:Sl(i,a,n)}t=t.sibling}}function Cl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&ba(n))}function wl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ba(e))}function Tl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)El(e,t,n,r),t=t.sibling}function El(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Tl(e,t,n,r),i&2048&&Vc(9,t);break;case 1:Tl(e,t,n,r);break;case 3:Tl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ba(e)));break;case 12:if(i&2048){Tl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Xu(t,t.return,e)}}else Tl(e,t,n,r);break;case 31:Tl(e,t,n,r);break;case 13:Tl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Tl(e,t,n,r):(a._visibility|=2,Dl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?Tl(e,t,n,r):Ol(e,t),i&2048&&Cl(o,t);break;case 24:Tl(e,t,n,r),i&2048&&wl(t.alternate,t);break;default:Tl(e,t,n,r)}}function Dl(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Dl(a,o,s,c,i),Vc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Dl(a,o,s,c,i)):u._visibility&2?Dl(a,o,s,c,i):Ol(a,o),i&&l&2048&&Cl(o.alternate,o);break;case 24:Dl(a,o,s,c,i),i&&l&2048&&wl(o.alternate,o);break;default:Dl(a,o,s,c,i)}t=t.sibling}}function Ol(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Ol(n,r),i&2048&&Cl(r.alternate,r);break;case 24:Ol(n,r),i&2048&&wl(r.alternate,r);break;default:Ol(n,r)}t=t.sibling}}var kl=8192;function Al(e,t,n){if(e.subtreeFlags&kl)for(e=e.child;e!==null;)jl(e,t,n),e=e.sibling}function jl(e,t,n){switch(e.tag){case 26:Al(e,t,n),e.flags&kl&&e.memoizedState!==null&&$f(n,gl,e.memoizedState,e.memoizedProps);break;case 5:Al(e,t,n);break;case 3:case 4:var r=gl;gl=wf(e.stateNode.containerInfo),Al(e,t,n),gl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=kl,kl=16777216,Al(e,t,n),kl=r):Al(e,t,n));break;default:Al(e,t,n)}}function Ml(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Nl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];rl=r,Il(r,e)}Ml(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Pl(e),e=e.sibling}function Pl(e){switch(e.tag){case 0:case 11:case 15:Nl(e),e.flags&2048&&Hc(9,e,e.return);break;case 3:Nl(e);break;case 12:Nl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Fl(e)):Nl(e);break;default:Nl(e)}}function Fl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];rl=r,Il(r,e)}Ml(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Hc(8,t,t.return),Fl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Fl(t));break;default:Fl(t)}e=e.sibling}}function Il(e,t){for(;rl!==null;){var n=rl;switch(n.tag){case 0:case 11:case 15:Hc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ba(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,rl=r;else a:for(n=e;rl!==null;){r=rl;var i=r.sibling,a=r.return;if(ol(r),r===n){rl=null;break a}if(i!==null){i.return=a,rl=i;break a}rl=a}}}var Ll={getCacheForType:function(e){var t=fa(va),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return fa(va).controller.signal}},Rl=typeof WeakMap==`function`?WeakMap:Map,zl=0,Bl=null,Vl=null,Hl=0,Ul=0,Wl=null,Gl=!1,Kl=!1,ql=!1,Jl=0,Yl=0,Xl=0,Zl=0,Ql=0,$l=0,eu=0,tu=null,nu=null,ru=!1,iu=0,au=0,ou=1/0,su=null,cu=null,lu=0,uu=null,du=null,fu=0,pu=0,mu=null,hu=null,gu=0,_u=null;function vu(){return zl&2&&Hl!==0?Hl&-Hl:T.T===null?pt():_d()}function yu(){if($l===0)if(!(Hl&536870912)||Gi){var e=Qe;Qe<<=1,!(Qe&3932160)&&(Qe=262144),$l=e}else $l=536870912;return e=uo.current,e!==null&&(e.flags|=32),$l}function bu(e,t,n){(e===Bl&&(Ul===2||Ul===9)||e.cancelPendingCommit!==null)&&(Du(e,0),wu(e,Hl,$l,!1)),ot(e,n),(!(zl&2)||e!==Bl)&&(e===Bl&&(!(zl&2)&&(Zl|=n),Yl===4&&wu(e,Hl,$l,!1)),ld(e))}function xu(e,t,n){if(zl&6)throw Error(a(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||nt(e,t),i=r?Fu(e,t):Nu(e,t,!0),o=r;do{if(i===0){Kl&&!r&&wu(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!Cu(n)){i=Nu(e,t,!1),o=!1;continue}if(i===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;i=tu;var l=c.current.memoizedState.isDehydrated;if(l&&(Du(c,s).flags|=256),s=Nu(c,s,!1),s!==2){if(ql&&!l){c.errorRecoveryDisabledLanes|=o,Zl|=o,i=4;break a}o=nu,nu=i,o!==null&&(nu===null?nu=o:nu.push.apply(nu,o))}i=s}if(o=!1,i!==2)continue}}if(i===1){Du(e,0),wu(e,t,0,!0);break}a:{switch(r=e,o=i,o){case 0:case 1:throw Error(a(345));case 4:if((t&4194048)!==t)break;case 6:wu(r,t,$l,!Gl);break a;case 2:nu=null;break;case 3:case 5:break;default:throw Error(a(329))}if((t&62914560)===t&&(i=iu+300-Fe(),10<i)){if(wu(r,t,$l,!Gl),tt(r,0,!0)!==0)break a;fu=t,r.timeoutHandle=ef(Su.bind(null,r,n,nu,su,ru,t,$l,Zl,eu,Gl,o,`Throttled`,-0,0),i);break a}Su(r,n,nu,su,ru,t,$l,Zl,eu,Gl,o,null,-0,0)}}break}while(1);ld(e)}function Su(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:un},jl(t,a,d);var m=(a&62914560)===a?iu-Fe():(a&4194048)===a?au-Fe():0;if(m=tp(d,m),m!==null){fu=a,e.cancelPendingCommit=m(Hu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),wu(e,a,o,!l);return}}Hu(e,t,a,n,r,i,o,s,c)}function Cu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Mr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function wu(e,t,n,r){t&=~Ql,t&=~Zl,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-qe(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&ct(e,n,t)}function Tu(){return zl&6?!0:(ud(0,!1),!1)}function Eu(){if(Vl!==null){if(Ul===0)var e=Vl.return;else e=Vl,ia=ra=null,jo(e),Ha=null,Ua=0,e=Vl;for(;e!==null;)Bc(e.alternate,e),e=e.return;Vl=null}}function Du(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,tf(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),fu=0,Eu(),Bl=e,Vl=n=bi(e.current,null),Hl=t,Ul=0,Wl=null,Gl=!1,Kl=nt(e,t),ql=!1,eu=$l=Ql=Zl=Xl=Yl=0,nu=tu=null,ru=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-qe(r),a=1<<i;t|=e[i],r&=~a}return Jl=t,ui(),n}function Ou(e,t){vo=null,T.H=Bs,t===O||t===Pa?(t=Ba(),Ul=3):t===Na?(t=Ba(),Ul=4):Ul=t===rc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Wl=t,Vl===null&&(Yl=1,Zs(e,Oi(t,e.current)))}function ku(){var e=uo.current;return e===null?!0:(Hl&4194048)===Hl?fo===null:(Hl&62914560)===Hl||Hl&536870912?e===fo:!1}function Au(){var e=T.H;return T.H=Bs,e===null?Bs:e}function ju(){var e=T.A;return T.A=Ll,e}function Mu(){Yl=4,Gl||(Hl&4194048)!==Hl&&uo.current!==null||(Kl=!0),!(Xl&134217727)&&!(Zl&134217727)||Bl===null||wu(Bl,Hl,$l,!1)}function Nu(e,t,n){var r=zl;zl|=2;var i=Au(),a=ju();(Bl!==e||Hl!==t)&&(su=null,Du(e,t)),t=!1;var o=Yl;a:do try{if(Ul!==0&&Vl!==null){var s=Vl,c=Wl;switch(Ul){case 8:Eu(),o=6;break a;case 3:case 2:case 9:case 6:uo.current===null&&(t=!0);var l=Ul;if(Ul=0,Wl=null,zu(e,s,c,l),n&&Kl){o=0;break a}break;default:l=Ul,Ul=0,Wl=null,zu(e,s,c,l)}}Pu(),o=Yl;break}catch(t){Ou(e,t)}while(1);return t&&e.shellSuspendCounter++,ia=ra=null,zl=r,T.H=i,T.A=a,Vl===null&&(Bl=null,Hl=0,ui()),o}function Pu(){for(;Vl!==null;)Lu(Vl)}function Fu(e,t){var n=zl;zl|=2;var r=Au(),i=ju();Bl!==e||Hl!==t?(su=null,ou=Fe()+500,Du(e,t)):Kl=nt(e,t);a:do try{if(Ul!==0&&Vl!==null){t=Vl;var o=Wl;b:switch(Ul){case 1:Ul=0,Wl=null,zu(e,t,o,1);break;case 2:case 9:if(Ia(o)){Ul=0,Wl=null,Ru(t);break}t=function(){Ul!==2&&Ul!==9||Bl!==e||(Ul=7),ld(e)},o.then(t,t);break a;case 3:Ul=7;break a;case 4:Ul=5;break a;case 7:Ia(o)?(Ul=0,Wl=null,Ru(t)):(Ul=0,Wl=null,zu(e,t,o,7));break;case 5:var s=null;switch(Vl.tag){case 26:s=Vl.memoizedState;case 5:case 27:var c=Vl;if(s?Qf(s):c.stateNode.complete){Ul=0,Wl=null;var l=c.sibling;if(l!==null)Vl=l;else{var u=c.return;u===null?Vl=null:(Vl=u,Bu(u))}break b}}Ul=0,Wl=null,zu(e,t,o,5);break;case 6:Ul=0,Wl=null,zu(e,t,o,6);break;case 8:Eu(),Yl=6;break a;default:throw Error(a(462))}}Iu();break}catch(t){Ou(e,t)}while(1);return ia=ra=null,T.H=r,T.A=i,zl=n,Vl===null?(Bl=null,Hl=0,ui(),Yl):0}function Iu(){for(;Vl!==null&&!Ne();)Lu(Vl)}function Lu(e){var t=jc(e.alternate,e,Jl);e.memoizedProps=e.pendingProps,t===null?Bu(e):Vl=t}function Ru(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=gc(n,t,t.pendingProps,t.type,void 0,Hl);break;case 11:t=gc(n,t,t.pendingProps,t.type.render,t.ref,Hl);break;case 5:jo(t);default:Bc(n,t),t=Vl=xi(t,Jl),t=jc(n,t,Jl)}e.memoizedProps=e.pendingProps,t===null?Bu(e):Vl=t}function zu(e,t,n,r){ia=ra=null,jo(t),Ha=null,Ua=0;var i=t.return;try{if(nc(e,i,t,n,Hl)){Yl=1,Zs(e,Oi(n,e.current)),Vl=null;return}}catch(t){if(i!==null)throw Vl=i,t;Yl=1,Zs(e,Oi(n,e.current)),Vl=null;return}t.flags&32768?(Gi||r===1?e=!0:Kl||Hl&536870912?e=!1:(Gl=e=!0,(r===2||r===9||r===3||r===6)&&(r=uo.current,r!==null&&r.tag===13&&(r.flags|=16384))),Vu(t,e)):Bu(t)}function Bu(e){var t=e;do{if(t.flags&32768){Vu(t,Gl);return}e=t.return;var n=Rc(t.alternate,t,Jl);if(n!==null){Vl=n;return}if(t=t.sibling,t!==null){Vl=t;return}Vl=t=e}while(t!==null);Yl===0&&(Yl=5)}function Vu(e,t){do{var n=zc(e.alternate,e);if(n!==null){n.flags&=32767,Vl=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Vl=e;return}Vl=e=n}while(e!==null);Yl=6,Vl=null}function Hu(e,t,n,r,i,o,s,c,l){e.cancelPendingCommit=null;do qu();while(lu!==0);if(zl&6)throw Error(a(327));if(t!==null){if(t===e.current)throw Error(a(177));if(o=t.lanes|t.childLanes,o|=li,st(e,n,o,s,c,l),e===Bl&&(Vl=Bl=null,Hl=0),du=t,uu=e,fu=n,pu=o,mu=i,hu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,nd(ze,function(){return Ju(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=T.T,T.T=null,i=E.p,E.p=2,s=zl,zl|=4;try{il(e,t,n)}finally{zl=s,E.p=i,T.T=r}}lu=1,Uu(),Wu(),Gu()}}function Uu(){if(lu===1){lu=0;var e=uu,t=du,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=T.T,T.T=null;var r=E.p;E.p=2;var i=zl;zl|=4;try{_l(t,e);var a=qd,o=Lr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Ir(s.ownerDocument.documentElement,s)){if(c!==null&&Rr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Fr(s,h),v=Fr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}hp=!!Kd,qd=Kd=null}finally{zl=i,E.p=r,T.T=n}}e.current=t,lu=2}}function Wu(){if(lu===2){lu=0;var e=uu,t=du,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=T.T,T.T=null;var r=E.p;E.p=2;var i=zl;zl|=4;try{al(e,t.alternate,t)}finally{zl=i,E.p=r,T.T=n}}lu=3}}function Gu(){if(lu===4||lu===3){lu=0,Pe();var e=uu,t=du,n=fu,r=hu;t.subtreeFlags&10256||t.flags&10256?lu=5:(lu=0,du=uu=null,Ku(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(cu=null),ft(n),t=t.stateNode,Ge&&typeof Ge.onCommitFiberRoot==`function`)try{Ge.onCommitFiberRoot(We,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=T.T,i=E.p,E.p=2,T.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{T.T=t,E.p=i}}fu&3&&qu(),ld(e),i=e.pendingLanes,n&261930&&i&42?e===_u?gu++:(gu=0,_u=e):gu=0,ud(0,!1)}}function Ku(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ba(t)))}function qu(){return Uu(),Wu(),Gu(),Ju()}function Ju(){if(lu!==5)return!1;var e=uu,t=pu;pu=0;var n=ft(fu),r=T.T,i=E.p;try{E.p=32>n?32:n,T.T=null,n=mu,mu=null;var o=uu,s=fu;if(lu=0,du=uu=null,fu=0,zl&6)throw Error(a(331));var c=zl;if(zl|=4,Pl(o.current),El(o,o.current,s,n),zl=c,ud(0,!1),Ge&&typeof Ge.onPostCommitFiberRoot==`function`)try{Ge.onPostCommitFiberRoot(We,o)}catch{}return!0}finally{E.p=i,T.T=r,Ku(e,t)}}function Yu(e,t,n){t=Oi(n,t),t=$s(e.stateNode,t,2),e=eo(e,t,2),e!==null&&(ot(e,2),ld(e))}function Xu(e,t,n){if(e.tag===3)Yu(e,e,n);else for(;t!==null;){if(t.tag===3){Yu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(cu===null||!cu.has(r))){e=Oi(n,e),n=ec(2),r=eo(t,n,2),r!==null&&(tc(n,r,t,e),ot(r,2),ld(r));break}}t=t.return}}function Zu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Rl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ql=!0,i.add(n),e=Qu.bind(null,e,t,n),t.then(e,e))}function Qu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Bl===e&&(Hl&n)===n&&(Yl===4||Yl===3&&(Hl&62914560)===Hl&&300>Fe()-iu?!(zl&2)&&Du(e,0):Ql|=n,eu===Hl&&(eu=0)),ld(e)}function $u(e,t){t===0&&(t=it()),e=pi(e,t),e!==null&&(ot(e,t),ld(e))}function ed(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$u(e,n)}function td(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),$u(e,n)}function nd(e,t){return je(e,t)}var rd=null,id=null,ad=!1,od=!1,sd=!1,cd=0;function ld(e){e!==id&&e.next===null&&(id===null?rd=id=e:id=id.next=e),od=!0,ad||(ad=!0,gd())}function ud(e,t){if(!sd&&od){sd=!0;do for(var n=!1,r=rd;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-qe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,hd(r,a))}else a=Hl,a=tt(r,r===Bl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||nt(r,a)||(n=!0,hd(r,a));r=r.next}while(n);sd=!1}}function dd(){fd()}function fd(){od=ad=!1;var e=0;cd!==0&&$d()&&(e=cd);for(var t=Fe(),n=null,r=rd;r!==null;){var i=r.next,a=pd(r,t);a===0?(r.next=null,n===null?rd=i:n.next=i,i===null&&(id=n)):(n=r,(e!==0||a&3)&&(od=!0)),r=i}lu!==0&&lu!==5||ud(e,!1),cd!==0&&(cd=0)}function pd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-qe(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=rt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Bl,n=Hl,n=tt(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Ul===2||Ul===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Me(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||nt(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Me(r),ft(n)){case 2:case 8:n=Re;break;case 32:n=ze;break;case 268435456:n=Ve;break;default:n=ze}return r=md.bind(null,e),n=je(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Me(r),e.callbackPriority=2,e.callbackNode=null,2}function md(e,t){if(lu!==0&&lu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(qu()&&e.callbackNode!==n)return null;var r=Hl;return r=tt(e,e===Bl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(xu(e,r,t),pd(e,Fe()),e.callbackNode!=null&&e.callbackNode===n?md.bind(null,e):null)}function hd(e,t){if(qu())return null;xu(e,t,!0)}function gd(){rf(function(){zl&6?je(Le,dd):fd()})}function _d(){if(cd===0){var e=Ca;e===0&&(e=Ze,Ze<<=1,!(Ze&261888)&&(Ze=256)),cd=e}return cd}function vd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:ln(``+e)}function yd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function bd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=vd((i[_t]||null).action),o=r.submitter;o&&(t=(t=o[_t]||null)?vd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new jn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(cd!==0){var e=o?yd(i,o):new FormData(i);Es(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?yd(i,o):new FormData(i),Es(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var xd=0;xd<ii.length;xd++){var Sd=ii[xd];ai(Sd.toLowerCase(),`on`+(Sd[0].toUpperCase()+Sd.slice(1)))}ai(Xr,`onAnimationEnd`),ai(Zr,`onAnimationIteration`),ai(Qr,`onAnimationStart`),ai(`dblclick`,`onDoubleClick`),ai(`focusin`,`onFocus`),ai(`focusout`,`onBlur`),ai($r,`onTransitionRun`),ai(ei,`onTransitionStart`),ai(ti,`onTransitionCancel`),ai(ni,`onTransitionEnd`),Nt(`onMouseEnter`,[`mouseout`,`mouseover`]),Nt(`onMouseLeave`,[`mouseout`,`mouseover`]),Nt(`onPointerEnter`,[`pointerout`,`pointerover`]),Nt(`onPointerLeave`,[`pointerout`,`pointerover`]),Mt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Mt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Mt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Mt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Mt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Mt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var Cd=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),wd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(Cd));function Td(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){oi(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){oi(e)}i.currentTarget=null,a=c}}}}function Ed(e,t){var n=t[yt];n===void 0&&(n=t[yt]=new Set);var r=e+`__bubble`;n.has(r)||(Ad(t,e,2,!1),n.add(r))}function Dd(e,t,n){var r=0;t&&(r|=4),Ad(n,e,r,t)}var Od=`_reactListening`+Math.random().toString(36).slice(2);function kd(e){if(!e[Od]){e[Od]=!0,At.forEach(function(t){t!==`selectionchange`&&(wd.has(t)||Dd(t,!1,e),Dd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Od]||(t[Od]=!0,Dd(`selectionchange`,!1,t))}}function Ad(e,t,n,r){switch(Sp(t)){case 2:var i=gp;break;case 8:i=_p;break;default:i=vp}n=i.bind(null,t,n,e),i=void 0,!bn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function jd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i)break;if(o===4)for(o=r.return;o!==null;){var l=o.tag;if((l===3||l===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;s!==null;){if(o=Tt(s),o===null)return;if(l=o.tag,l===5||l===6||l===26||l===27){r=a=o;continue a}s=s.parentNode}}r=r.return}_n(function(){var r=a,i=fn(n),o=[];a:{var s=ri.get(e);if(s!==void 0){var l=jn,u=e;switch(e){case`keypress`:if(En(n)===0)break a;case`keydown`:case`keyup`:l=Yn;break;case`focusin`:u=`focus`,l=Bn;break;case`focusout`:u=`blur`,l=Bn;break;case`beforeblur`:case`afterblur`:l=Bn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Rn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=zn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Zn;break;case Xr:case Zr:case Qr:l=Vn;break;case ni:l=Qn;break;case`scroll`:case`scrollend`:l=Nn;break;case`wheel`:l=$n;break;case`copy`:case`cut`:case`paste`:l=Hn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Xn;break;case`toggle`:case`beforetoggle`:l=er}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?s===null?null:s+`Capture`:s;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=vn(m,p),g!=null&&d.push(Md(m,g,h))),f)break;m=m.return}0<d.length&&(s=new l(s,u,null,n,i),o.push({event:s,listeners:d}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,s&&n!==dn&&(u=n.relatedTarget||n.fromElement)&&(Tt(u)||u[vt]))break a;if((l||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?Tt(u):null,u!==null&&(f=c(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=Rn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Xn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?s:Dt(l),h=u==null?s:Dt(u),s=new d(g,m+`leave`,l,n,i),s.target=f,s.relatedTarget=h,g=null,Tt(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Pd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Fd(o,s,l,d,!1),u!==null&&f!==null&&Fd(o,f,u,d,!0)}}a:{if(s=r?Dt(r):window,l=s.nodeName&&s.nodeName.toLowerCase(),l===`select`||l===`input`&&s.type===`file`)var v=br;else if(mr(s))if(xr)v=Ar;else{v=Or;var y=Dr}else l=s.nodeName,!l||l.toLowerCase()!==`input`||s.type!==`checkbox`&&s.type!==`radio`?r&&on(r.elementType)&&(v=br):v=kr;if(v&&=v(e,r)){hr(o,v,n,i);break a}y&&y(e,s,r),e===`focusout`&&r&&s.type===`number`&&r.memoizedProps.value!=null&&Zt(s,`number`,s.value)}switch(y=r?Dt(r):window,e){case`focusin`:(mr(y)||y.contentEditable===`true`)&&(Br=y,Vr=r,Hr=null);break;case`focusout`:Hr=Vr=Br=null;break;case`mousedown`:Ur=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Ur=!1,Wr(o,n,i);break;case`selectionchange`:if(zr)break;case`keydown`:case`keyup`:Wr(o,n,i)}var b;if(nr)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else ur?cr(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(ar&&n.locale!==`ko`&&(ur||x!==`onCompositionStart`?x===`onCompositionEnd`&&ur&&(b=Tn()):(Sn=i,Cn=`value`in Sn?Sn.value:Sn.textContent,ur=!0)),y=Nd(r,x),0<y.length&&(x=new Un(x,e,null,n,i),o.push({event:x,listeners:y}),b?x.data=b:(b=lr(n),b!==null&&(x.data=b)))),(b=ir?dr(e,n):fr(e,n))&&(x=Nd(r,`onBeforeInput`),0<x.length&&(y=new Un(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:y,listeners:x}),y.data=b)),bd(o,e,r,n,i)}Td(o,t)})}function Md(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Nd(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=vn(e,n),i!=null&&r.unshift(Md(e,i,a)),i=vn(e,t),i!=null&&r.push(Md(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Pd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Fd(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=vn(n,a),l!=null&&o.unshift(Md(n,l,c))):i||(l=vn(n,a),l!=null&&o.push(Md(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Id=/\r\n?/g,Ld=/\u0000|\uFFFD/g;function Rd(e){return(typeof e==`string`?e:``+e).replace(Id,`
|
|
78
78
|
`).replace(Ld,``)}function zd(e,t){return t=Rd(t),Rd(e)===t}function Bd(e,t,n,r,i,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||tn(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&tn(e,``+r);break;case`className`:zt(e,`class`,r);break;case`tabIndex`:zt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:zt(e,n,r);break;case`style`:an(e,r,o);break;case`data`:if(t!==`object`){zt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=ln(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}else typeof o==`function`&&(n===`formAction`?(t!==`input`&&Bd(e,t,`name`,i.name,i,null),Bd(e,t,`formEncType`,i.formEncType,i,null),Bd(e,t,`formMethod`,i.formMethod,i,null),Bd(e,t,`formTarget`,i.formTarget,i,null)):(Bd(e,t,`encType`,i.encType,i,null),Bd(e,t,`method`,i.method,i,null),Bd(e,t,`target`,i.target,i,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=ln(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=un);break;case`onScroll`:r!=null&&Ed(`scroll`,e);break;case`onScrollEnd`:r!=null&&Ed(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=ln(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Ed(`beforetoggle`,e),Ed(`toggle`,e),Rt(e,`popover`,r);break;case`xlinkActuate`:Bt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Bt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Bt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Bt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Bt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Bt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Bt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Bt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Bt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Rt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=sn.get(n)||n,Rt(e,n,r))}}function Vd(e,t,n,r,i,o){switch(n){case`style`:an(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?tn(e,r):(typeof r==`number`||typeof r==`bigint`)&&tn(e,``+r);break;case`onScroll`:r!=null&&Ed(`scroll`,e);break;case`onScrollEnd`:r!=null&&Ed(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=un);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!jt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),o=e[_t]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,i),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Rt(e,n,r)}}}function Hd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Ed(`error`,e),Ed(`load`,e);var r=!1,i=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Bd(e,t,o,s,n,null)}}i&&Bd(e,t,`srcSet`,n.srcSet,n,null),r&&Bd(e,t,`src`,n.src,n,null);return;case`input`:Ed(`invalid`,e);var c=o=s=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(a(137,t));break;default:Bd(e,t,r,d,n,null)}}Xt(e,o,c,l,u,s,i,!1);return;case`select`:for(i in Ed(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Bd(e,t,i,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Qt(e,!!r,n,!0):Qt(e,!!r,t,!1);return;case`textarea`:for(s in Ed(`invalid`,e),o=i=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(a(91));break;default:Bd(e,t,s,c,n,null)}en(e,r,i,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Bd(e,t,l,r,n,null)}return;case`dialog`:Ed(`beforetoggle`,e),Ed(`toggle`,e),Ed(`cancel`,e),Ed(`close`,e);break;case`iframe`:case`object`:Ed(`load`,e);break;case`video`:case`audio`:for(r=0;r<Cd.length;r++)Ed(Cd[r],e);break;case`image`:Ed(`error`,e),Ed(`load`,e);break;case`details`:Ed(`toggle`,e);break;case`embed`:case`source`:case`link`:Ed(`error`,e),Ed(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Bd(e,t,u,r,n,null)}return;default:if(on(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Vd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Bd(e,t,c,r,n,null))}function Ud(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Bd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(a(137,t));break;default:m!==f&&Bd(e,t,p,m,r,f)}}Yt(e,s,c,l,u,d,o,i);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Bd(e,t,o,null,r,l)}for(i in r)if(o=r[i],l=n[i],r.hasOwnProperty(i)&&(o!=null||l!=null))switch(i){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Bd(e,t,i,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Qt(e,!!n,n?[]:``,!1):Qt(e,!!n,t,!0)):Qt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Bd(e,t,c,null,r,i)}for(s in r)if(i=r[s],o=n[s],r.hasOwnProperty(s)&&(i!=null||o!=null))switch(s){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(a(91));break;default:i!==o&&Bd(e,t,s,i,r,o)}$t(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Bd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Bd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Bd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(a(137,t));break;default:Bd(e,t,u,p,r,m)}return;default:if(on(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Vd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Vd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Bd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Bd(e,t,f,p,r,m)}function Wd(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Gd(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Wd(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Wd(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Kd=null,qd=null;function Jd(e){return e.nodeType===9?e:e.ownerDocument}function Yd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Xd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Zd(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Qd=null;function $d(){var e=window.event;return e&&e.type===`popstate`?e===Qd?!1:(Qd=e,!0):(Qd=null,!1)}var ef=typeof setTimeout==`function`?setTimeout:void 0,tf=typeof clearTimeout==`function`?clearTimeout:void 0,nf=typeof Promise==`function`?Promise:void 0,rf=typeof queueMicrotask==`function`?queueMicrotask:nf===void 0?ef:function(e){return nf.resolve(null).then(e).catch(af)};function af(e){setTimeout(function(){throw e})}function of(e){return e===`head`}function sf(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Vp(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)xf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,xf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[Ct]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&xf(e.ownerDocument.body);n=i}while(n);Vp(t)}function cf(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function lf(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:lf(n),wt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function uf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[Ct])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=gf(e.nextSibling),e===null)break}return null}function df(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=gf(e.nextSibling),e===null))return null;return e}function ff(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=gf(e.nextSibling),e===null))return null;return e}function pf(e){return e.data===`$?`||e.data===`$~`}function mf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function hf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function gf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var _f=null;function vf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return gf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function yf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function bf(e,t,n){switch(t=Jd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(a(452));return e;case`head`:if(e=t.head,!e)throw Error(a(453));return e;case`body`:if(e=t.body,!e)throw Error(a(454));return e;default:throw Error(a(451))}}function xf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);wt(e)}var Sf=new Map,Cf=new Set;function wf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Tf=E.d;E.d={f:Ef,r:Df,D:Af,C:jf,L:Mf,m:Nf,X:Ff,S:Pf,M:If};function Ef(){var e=Tf.f(),t=Tu();return e||t}function Df(e){var t=Et(e);t!==null&&t.tag===5&&t.type===`form`?Os(t):Tf.r(e)}var Of=typeof document>`u`?null:document;function kf(e,t,n){var r=Of;if(r&&typeof t==`string`&&t){var i=Jt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Cf.has(i)||(Cf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Hd(t,`link`,e),kt(t),r.head.appendChild(t)))}}function Af(e){Tf.D(e),kf(`dns-prefetch`,e,null)}function jf(e,t){Tf.C(e,t),kf(`preconnect`,e,t)}function Mf(e,t,n){Tf.L(e,t,n);var r=Of;if(r&&e&&t){var i=`link[rel="preload"][as="`+Jt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Jt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Jt(n.imageSizes)+`"]`)):i+=`[href="`+Jt(e)+`"]`;var a=i;switch(t){case`style`:a=Rf(e);break;case`script`:a=Hf(e)}Sf.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),Sf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(zf(a))||t===`script`&&r.querySelector(Uf(a))||(t=r.createElement(`link`),Hd(t,`link`,e),kt(t),r.head.appendChild(t)))}}function Nf(e,t){Tf.m(e,t);var n=Of;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Jt(r)+`"][href="`+Jt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Hf(e)}if(!Sf.has(a)&&(e=m({rel:`modulepreload`,href:e},t),Sf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Uf(a)))return}r=n.createElement(`link`),Hd(r,`link`,e),kt(r),n.head.appendChild(r)}}}function Pf(e,t,n){Tf.S(e,t,n);var r=Of;if(r&&e){var i=Ot(r).hoistableStyles,a=Rf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(zf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=Sf.get(a))&&Kf(e,n);var c=o=r.createElement(`link`);kt(c),Hd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Gf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Ff(e,t){Tf.X(e,t);var n=Of;if(n&&e){var r=Ot(n).hoistableScripts,i=Hf(e),a=r.get(i);a||(a=n.querySelector(Uf(i)),a||(e=m({src:e,async:!0},t),(t=Sf.get(i))&&qf(e,t),a=n.createElement(`script`),kt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function If(e,t){Tf.M(e,t);var n=Of;if(n&&e){var r=Ot(n).hoistableScripts,i=Hf(e),a=r.get(i);a||(a=n.querySelector(Uf(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=Sf.get(i))&&qf(e,t),a=n.createElement(`script`),kt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Lf(e,t,n,r){var i=(i=_e.current)?wf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Rf(n.href),n=Ot(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Rf(n.href);var o=Ot(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(zf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),Sf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Sf.set(e,n),o||Vf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Hf(n),n=Ot(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Rf(e){return`href="`+Jt(e)+`"`}function zf(e){return`link[rel="stylesheet"][`+e+`]`}function Bf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function Vf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Hd(t,`link`,n),kt(t),e.head.appendChild(t))}function Hf(e){return`[src="`+Jt(e)+`"]`}function Uf(e){return`script[async]`+e}function Wf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Jt(n.href)+`"]`);if(r)return t.instance=r,kt(r),r;var i=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),kt(r),Hd(r,`style`,i),Gf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Rf(n.href);var o=e.querySelector(zf(i));if(o)return t.state.loading|=4,t.instance=o,kt(o),o;r=Bf(n),(i=Sf.get(i))&&Kf(r,i),o=(e.ownerDocument||e).createElement(`link`),kt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Hd(o,`link`,r),t.state.loading|=4,Gf(o,n.precedence,e),t.instance=o;case`script`:return o=Hf(n.src),(i=e.querySelector(Uf(o)))?(t.instance=i,kt(i),i):(r=n,(i=Sf.get(o))&&(r=m({},n),qf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),kt(i),Hd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Gf(r,n.precedence,e));return t.instance}function Gf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Kf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function qf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Jf=null;function Yf(e,t,n){if(Jf===null){var r=new Map,i=Jf=new Map;i.set(n,r)}else i=Jf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[Ct]||a[gt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Xf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Zf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Qf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function $f(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Rf(r.href),a=t.querySelector(zf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=np.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,kt(a);return}a=t.ownerDocument||t,r=Bf(r),(i=Sf.get(i))&&Kf(r,i),a=a.createElement(`link`),kt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Hd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=np.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var ep=0;function tp(e,t){return e.stylesheets&&e.count===0&&ip(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&ip(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&ep===0&&(ep=62500*Gd());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ip(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>ep?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function np(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ip(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var rp=null;function ip(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,rp=new Map,t.forEach(ap,e),rp=null,np.call(e))}function ap(e,t){if(!(t.state.loading&4)){var n=rp.get(e);if(n)var r=n.get(null);else{n=new Map,rp.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=np.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var op={$$typeof:S,Provider:null,Consumer:null,_currentValue:ue,_currentValue2:ue,_threadCount:0};function sp(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=at(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=at(0),this.hiddenUpdates=at(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function cp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new sp(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=vi(3,null,null,t),e.current=a,a.stateNode=e,t=ya(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Za(a),e}function lp(e){return e?(e=gi,e):gi}function up(e,t,n,r,i,a){i=lp(i),r.context===null?r.context=i:r.pendingContext=i,r=$a(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=eo(e,r,t),n!==null&&(bu(n,e,t),to(n,e,t))}function dp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function fp(e,t){dp(e,t),(e=e.alternate)&&dp(e,t)}function pp(e){if(e.tag===13||e.tag===31){var t=pi(e,67108864);t!==null&&bu(t,e,67108864),fp(e,67108864)}}function mp(e){if(e.tag===13||e.tag===31){var t=vu();t=dt(t);var n=pi(e,t);n!==null&&bu(n,e,t),fp(e,t)}}var hp=!0;function gp(e,t,n,r){var i=T.T;T.T=null;var a=E.p;try{E.p=2,vp(e,t,n,r)}finally{E.p=a,T.T=i}}function _p(e,t,n,r){var i=T.T;T.T=null;var a=E.p;try{E.p=8,vp(e,t,n,r)}finally{E.p=a,T.T=i}}function vp(e,t,n,r){if(hp){var i=yp(r);if(i===null)jd(e,t,r,bp,n),jp(e,r);else if(Np(i,e,t,n,r))r.stopPropagation();else if(jp(e,r),t&4&&-1<Ap.indexOf(e)){for(;i!==null;){var a=Et(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=et(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-qe(o);s.entanglements[1]|=c,o&=~c}ld(a),!(zl&6)&&(ou=Fe()+500,ud(0,!1))}}break;case 31:case 13:s=pi(a,2),s!==null&&bu(s,a,2),Tu(),fp(a,2)}if(a=yp(r),a===null&&jd(e,t,r,bp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else jd(e,t,r,null,n)}}function yp(e){return e=fn(e),xp(e)}var bp=null;function xp(e){if(bp=null,e=Tt(e),e!==null){var t=c(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=l(t),e!==null)return e;e=null}else if(n===31){if(e=u(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return bp=e,null}function Sp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Ie()){case Le:return 2;case Re:return 8;case ze:case Be:return 32;case Ve:return 268435456;default:return 32}default:return 32}}var Cp=!1,wp=null,Tp=null,Ep=null,Dp=new Map,Op=new Map,kp=[],Ap=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function jp(e,t){switch(e){case`focusin`:case`focusout`:wp=null;break;case`dragenter`:case`dragleave`:Tp=null;break;case`mouseover`:case`mouseout`:Ep=null;break;case`pointerover`:case`pointerout`:Dp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Op.delete(t.pointerId)}}function Mp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Et(t),t!==null&&pp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Np(e,t,n,r,i){switch(t){case`focusin`:return wp=Mp(wp,e,t,n,r,i),!0;case`dragenter`:return Tp=Mp(Tp,e,t,n,r,i),!0;case`mouseover`:return Ep=Mp(Ep,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Dp.set(a,Mp(Dp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Op.set(a,Mp(Op.get(a)||null,e,t,n,r,i)),!0}return!1}function Pp(e){var t=Tt(e.target);if(t!==null){var n=c(t);if(n!==null){if(t=n.tag,t===13){if(t=l(n),t!==null){e.blockedOn=t,mt(e.priority,function(){mp(n)});return}}else if(t===31){if(t=u(n),t!==null){e.blockedOn=t,mt(e.priority,function(){mp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Fp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=yp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);dn=r,n.target.dispatchEvent(r),dn=null}else return t=Et(n),t!==null&&pp(t),e.blockedOn=n,!1;t.shift()}return!0}function Ip(e,t,n){Fp(e)&&n.delete(t)}function Lp(){Cp=!1,wp!==null&&Fp(wp)&&(wp=null),Tp!==null&&Fp(Tp)&&(Tp=null),Ep!==null&&Fp(Ep)&&(Ep=null),Dp.forEach(Ip),Op.forEach(Ip)}function Rp(e,n){e.blockedOn===n&&(e.blockedOn=null,Cp||(Cp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Lp)))}var zp=null;function Bp(e){zp!==e&&(zp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){zp===e&&(zp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(xp(r||n)===null)continue;break}var a=Et(n);a!==null&&(e.splice(t,3),t-=3,Es(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Vp(e){function t(t){return Rp(t,e)}wp!==null&&Rp(wp,e),Tp!==null&&Rp(Tp,e),Ep!==null&&Rp(Ep,e),Dp.forEach(t),Op.forEach(t);for(var n=0;n<kp.length;n++){var r=kp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<kp.length&&(n=kp[0],n.blockedOn===null);)Pp(n),n.blockedOn===null&&kp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[_t]||null;if(typeof a==`function`)o||Bp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[_t]||null)s=o.formAction;else if(xp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Bp(n)}}}function Hp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Up(e){this._internalRoot=e}Wp.prototype.render=Up.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(a(409));var n=t.current;up(n,vu(),e,t,null,null)},Wp.prototype.unmount=Up.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;up(e.current,2,null,e,null,null),Tu(),t[vt]=null}};function Wp(e){this._internalRoot=e}Wp.prototype.unstable_scheduleHydration=function(e){if(e){var t=pt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<kp.length&&t!==0&&t<kp[n].priority;n++);kp.splice(n,0,e),n===0&&Pp(e)}};var Gp=n.version;if(Gp!==`19.2.7`)throw Error(a(527,Gp,`19.2.7`));E.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(a(188)):(e=Object.keys(e).join(`,`),Error(a(268,e)));return e=f(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Kp={bundleType:0,version:`19.2.7`,rendererPackageName:`react-dom`,currentDispatcherRef:T,reconcilerVersion:`19.2.7`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var qp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!qp.isDisabled&&qp.supportsFiber)try{We=qp.inject(Kp),Ge=qp}catch{}}e.createRoot=function(e,t){if(!s(e))throw Error(a(299));var n=!1,r=``,i=Js,o=Ys,c=Xs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(o=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=cp(e,1,!1,null,null,n,r,null,i,o,c,Hp),e[vt]=t.current,kd(e),new Up(t)}})),Lce=n(a(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Ice()}))(),1),Rce=`camstack-mount`,zce=/^\/(?:[A-Za-z0-9_\-.]+\/)*$/,X0=null;function Z0(e){if(e==null||e===``)return null;let t=e.endsWith(`/`)?e:`${e}/`;return!zce.test(t)||t.includes(`/../`)||t.includes(`/./`)?null:t}function Bce(){if(typeof document>`u`)return`/`;let e=Z0(document.querySelector(`meta[name="${Rce}"]`)?.getAttribute(`content`));if(e!==null)return e;if(document.querySelector(`base[href]`)!==null)try{let e=new URL(document.baseURI);if(e.origin===window.location.origin){let t=Z0(e.pathname);if(t!==null)return t}}catch{}return`/`}function Q0(){return X0===null&&(X0=Bce()),X0}function $0(){return Q0().replace(/\/$/,``)}function Vce(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)||e.startsWith(`//`)}function Hce(e){if(Vce(e))return e;let t=Q0(),n=e.replace(/^\/+/,``);return t!==`/`&&(e===$0()||e.startsWith(t))?e:`${t}${n}`}GY(`camstack:widget-registry`,null);function Uce({title:e,icon:t,headerRight:n,collapsible:r=!1,defaultOpen:i=!0,open:a,onOpenChange:o,bodyClassName:c=`p-3`,children:l}){let[u,d]=(0,s.useState)(i),f=a??u,p=()=>{let e=!f;a===void 0&&d(e),o?.(e)},m=!r||f,h=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-foreground`,children:[t,e]}),r?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[n,f?(0,q.jsx)(lW,{className:`h-3.5 w-3.5 shrink-0 text-foreground-subtle`}):(0,q.jsx)(dW,{className:`h-3.5 w-3.5 shrink-0 text-foreground-subtle`})]}):n]}),g=`px-4 py-2 flex items-center justify-between ${m?`border-b border-border`:``}`;return(0,q.jsxs)(`div`,{className:`rounded-lg border border-border bg-surface overflow-hidden`,children:[r?(0,q.jsx)(`button`,{type:`button`,"aria-expanded":f,onClick:p,className:`w-full gap-2 text-left ${g}`,children:h}):(0,q.jsx)(`div`,{className:g,children:h}),m?(0,q.jsx)(`div`,{className:c,children:l}):null]})}var Wce=(0,s.createContext)(null);function Gce(){return(0,s.useContext)(Wce)}var Kce=[`f32le`,`pcmu`,`pcma`];function qce(){let e=new Float32Array(256);for(let t=0;t<256;t++){let n=~t&255,r=n&128?-1:1,i=n>>4&7;e[t]=r*((8*(n&15)+132<<i)-132)/32768}return e}function Jce(){let e=new Float32Array(256);for(let t=0;t<256;t++){let n=t^85,r=n&128?1:-1,i=n>>4&7,a=n&15;e[t]=r*(i===0?16*a+8:16*a+264<<i-1)/32768}return e}qce(),Jce();var e2=function(e){return e.SystemBoot=`system.boot`,e.SystemAddonsReady=`system.addons-ready`,e.SystemRestarting=`system.restarting`,e.SystemRestartCompleted=`system.restart-completed`,e.SystemTlsCertChanged=`system.tls-cert-changed`,e.UpdateAvailable=`update.available`,e.SystemReadyState=`system.ready-state`,e.AddonStarted=`addon.started`,e.AddonStopped=`addon.stopped`,e.AddonRestarted=`addon.restarted`,e.AddonUpdated=`addon.updated`,e.AddonInstalled=`addon.installed`,e.AddonUninstalled=`addon.uninstalled`,e.AddonCrashed=`addon.crashed`,e.AddonRunnerFailed=`addon.runner-failed`,e.AddonRunnerRefused=`addon.runner-refused`,e.ProcessStateChanged=`process.state-changed`,e.SystemRunnerCheck=`system.runner-check`,e.AlertEpisode=`alert.episode`,e.AddonError=`addon.error`,e.AddonPageReady=`addon.page-ready`,e.AddonWidgetReady=`addon.widget-ready`,e.AddonLoadFailed=`addon.load-failed`,e.KeychainChanged=`keychain.changed`,e.AddonLoadRecovered=`addon.load-recovered`,e.AddonUnsupportedVersion=`addon.unsupported-version`,e.AddonUnsupportedResolved=`addon.unsupported-resolved`,e.AddonRetryScheduled=`addon.retry-scheduled`,e.SystemLivenessFailed=`system.liveness-failed`,e.SystemLivenessRecovered=`system.liveness-recovered`,e.AddonRetryAttempting=`addon.retry-attempting`,e.DeviceRegistered=`device.registered`,e.DeviceUnregistered=`device.unregistered`,e.DeviceEnabled=`device.enabled`,e.DeviceDisabled=`device.disabled`,e.DeviceSettingsUpdated=`device.settings-updated`,e.DeviceBindingsChanged=`device.bindings-changed`,e.DeviceMetaChanged=`device.meta-changed`,e.DeviceSourceInfoChanged=`device.source-info-changed`,e.DeviceStreamsRegistered=`device.streams-registered`,e.DeviceProvisioned=`device.provisioned`,e.DeviceReady=`device.ready`,e.IntegrationEnabled=`integration.enabled`,e.IntegrationDisabled=`integration.disabled`,e.IntegrationDeleted=`integration.deleted`,e.BrokerStatusChanged=`broker.status-changed`,e.BrokerMessage=`broker.message`,e.ProviderStarted=`provider.started`,e.ProviderStopped=`provider.stopped`,e.ProcessCrashed=`process.crashed`,e.ProcessRestartScheduled=`process.restart_scheduled`,e.ProcessRestarted=`process.restarted`,e.StorageLocationsChanged=`storage.locations-changed`,e.RecordingStarted=`recording.started`,e.RecordingStopped=`recording.stopped`,e.RecordingError=`recording.error`,e.RecordingHealthDegraded=`recording.health.degraded`,e.RecordingHealthStalled=`recording.health.stalled`,e.RecordingHealthOk=`recording.health.ok`,e.RecordingStorageCritical=`recording.storage.critical`,e.StorageLocationLow=`storage.location.low`,e.StorageLocationCritical=`storage.location.critical`,e.StorageLocationOk=`storage.location.ok`,e.RecordingSegmentWritten=`recording.segment.written`,e.RecordingPolicyFallback=`recording.policy.fallback`,e.RecordingRetentionCompleted=`recording.retention.completed`,e.RecordingExportProgress=`recording.export.progress`,e.RecordingExportCompleted=`recording.export.completed`,e.RecordingExportFailed=`recording.export.failed`,e.DetectionEvent=`detection.event`,e.SessionTrackNew=`session.track.new`,e.SessionTrackExpired=`session.track.expired`,e.BenchmarkProgress=`benchmark.progress`,e.PlatformProbePhase=`platform-probe.phase`,e.PipelineProgress=`pipeline.progress`,e.PipelineTrace=`pipeline.trace`,e.PipelineInferenceResult=`pipeline.inference-result`,e.PipelineCameraAssigned=`pipeline.camera-assigned`,e.PipelineCameraUnassigned=`pipeline.camera-unassigned`,e.PipelineNodeInferenceUnavailable=`pipeline.node-inference-unavailable`,e.PipelineDetectionBlind=`pipeline.detection-blind`,e.PipelineMotionNoisy=`pipeline.motion-noisy`,e.PipelineMotionCalm=`pipeline.motion-calm`,e.PipelinePackageLlmSilent=`pipeline.package-llm-silent`,e.PipelinePackageLlmAnswered=`pipeline.package-llm-answered`,e.PipelineCameraUpdated=`pipeline.camera-updated`,e.PipelineIngestOwnerChanged=`pipeline.ingest-owner-changed`,e.PipelineRunnerLoadSnapshot=`pipeline.runner-load-snapshot`,e.PipelineCameraMetricsSnapshot=`pipeline.camera-metrics-snapshot`,e.StreamBrokerMetricsSnapshot=`stream-broker.metrics-snapshot`,e.StreamBrokerOnCamStreamDemand=`stream-broker.onCamStreamDemand`,e.StreamBrokerOnCamStreamIdle=`stream-broker.onCamStreamIdle`,e.StreamBrokerOnRequestStreamSourceRefresh=`stream-broker.onRequestStreamSourceRefresh`,e.StreamParamsChanged=`stream-params.changed`,e.DeviceStateChanged=`device.state-changed`,e.DeviceNativeShadowChanged=`device.native-shadow-changed`,e.ZoneAnalyticsOccupancyChanged=`zone-analytics.occupancy-changed`,e.BatteryOnStatusChanged=`battery.onStatusChanged`,e.NetworkLinkOnStatusChanged=`network-link.onStatusChanged`,e.BatteryOnWakeStarted=`battery.onWakeStarted`,e.DoorbellOnPressed=`doorbell.onPressed`,e.RunningStarted=`running.started`,e.RunningFinished=`running.finished`,e.DeviceRunOpened=`device-run.opened`,e.DeviceRunClosed=`device-run.closed`,e.EventEmitted=`event-emitter.event`,e.PipelineEngineMetricsSnapshot=`pipeline.engine-metrics-snapshot`,e.PipelineEngineProvisioning=`pipeline.engine-provisioning`,e.ClusterTopologySnapshot=`cluster.topology-snapshot`,e.MetricsNodeResourcesSnapshot=`metrics.node-resources-snapshot`,e.MetricsNodeProcessesSnapshot=`metrics.node-processes-snapshot`,e.CapabilityBindingChanged=`capability.binding-changed`,e.ModelDownloadProgress=`model.download.progress`,e.AgentRegistered=`agent.registered`,e.AgentUnregistered=`agent.unregistered`,e.AgentOnline=`agent.online`,e.AgentOffline=`agent.offline`,e.WorkerOnline=`worker.online`,e.WorkerOffline=`worker.offline`,e.AgentTaskDispatched=`agent.task.dispatched`,e.AgentTaskAssigned=`agent.task.assigned`,e.AgentTrpcConnected=`agent.trpc.connected`,e.AgentWsConnected=`agent.ws.connected`,e.AgentWsDisconnected=`agent.ws.disconnected`,e.AgentBackupActivated=`agent.backup.activated`,e.OrchestrationSettingsUpdated=`orchestration.settings-updated`,e.MotionAnalysis=`detection.motion-analysis`,e.MotionZonesRaw=`detection.motion-zones-raw`,e.MotionOnMotionChanged=`motion.on-motion-changed`,e.DetectionResult=`detection.result`,e.DetectionRaw=`detection.raw`,e.DetectionCameraNative=`detection.camera-native`,e.PipelineAudioInferenceResult=`pipeline.audio-inference-result`,e.DetectionPhaseTransition=`detection.phase-transition`,e.ProviderMotion=`provider.motion`,e.ProviderDetection=`provider.detection`,e.EnrichmentEmbeddingStored=`enrichment.embedding.stored`,e.EnrichmentSceneStateChanged=`enrichment.scene.state-changed`,e.EnrichmentActivitySummary=`enrichment.activity.summary`,e.PipelineAnalyticsTrackLifecycle=`pipeline-analytics.track-lifecycle`,e.PipelineAnalyticsTrackStarted=`pipeline-analytics.track-started`,e.PipelineAnalyticsTrackEnded=`pipeline-analytics.track-ended`,e.PipelineAnalyticsDetectionEvent=`pipeline-analytics.detection-event`,e.PipelineAnalyticsFrameTracked=`pipeline-analytics.frame-tracked`,e.PipelineAnalyticsStationaryChanged=`pipeline-analytics.stationary-changed`,e.PipelineAnalyticsPackageDelivered=`pipeline-analytics.package-delivered`,e.PipelineAnalyticsPackagePickedUp=`pipeline-analytics.package-picked-up`,e.PipelineAnalyticsFaceGalleryChanged=`pipeline-analytics.face-gallery-changed`,e.PipelineAnalyticsPlateGalleryChanged=`pipeline-analytics.plate-gallery-changed`,e.CameraStreamsProfileSlotsChanged=`camera-streams.onProfileSlotsChanged`,e.StreamOnline=`stream.online`,e.StreamOffline=`stream.offline`,e.NetworkTunnelStarted=`network.tunnel.started`,e.NetworkTunnelStopped=`network.tunnel.stopped`,e.LocalNetworkChanged=`network.local.changed`,e.MeshNetworkChanged=`network.mesh.changed`,e.BackupCompleted=`backup.completed`,e.BackupRunCompleted=`backup.run-completed`,e.BackupRestored=`backup.restored`,e.NotificationDispatched=`notification.dispatched`,e.NotificationFailed=`notification.failed`,e.NotificationRuleBroken=`notification.rule-broken`,e.NotificationRuleRepaired=`notification.rule-repaired`,e.MigrationFailed=`migration.failed`,e.MigrationApplied=`migration.applied`,e.DeviceUpdated=`device.updated`,e.DeviceOnline=`device.online`,e.DeviceOffline=`device.offline`,e.DeviceAwake=`device.awake`,e.DeviceSleeping=`device.sleeping`,e.RetentionCleanup=`retention.cleanup`,e.AddonsBulkUpdateProgress=`addons.bulk-update-progress`,e.AddonsJobProgress=`addons.job-progress`,e.AddonsJobLog=`addons.job-log`,e.AccessoriesChildVisibilityChanged=`accessories.onChildVisibilityChanged`,e.AccessoriesChanged=`accessories.onAccessoriesChanged`,e.ActionsRunChanged=`actions.onRunChanged`,e.ModelConvertProgress=`model-convert.progress`,e}({});P({field:O().min(1),on:z(`advance`)});var Yce=P({id:O(),title:O(),description:O().optional(),style:R([`card`,`accordion`]).optional(),defaultCollapsed:A().optional(),columns:F([z(1),z(2),z(3),z(4)]).optional(),tab:O().optional(),location:R([`settings`,`top-tab`,`hero`]).optional(),order:k().optional(),fields:N(co())});P({tabs:N(P({id:O(),label:O(),icon:O(),order:k().optional()})).optional(),sections:N(Yce)}).nullable(),P({deviceId:k()}),P({deviceId:k()}),P({deviceId:k(),patch:L(O(),j())}),P({success:z(!0)}),P({deviceId:k()}),j().nullable();function Q(e,t,n){return{input:e,output:t,kind:n?.kind??`query`,...n?.auth===void 0?{}:{auth:n.auth},...n?.access===void 0?{}:{access:n.access},...n?.role===void 0?{}:{role:n.role},...n?.caller===void 0?{}:{caller:n.caller},timeoutMs:n?.timeoutMs}}function t2(e,t,n){return{...Q(e,t,n),providerOptional:!0}}var n2=R([`image`,`video`,`gif`,`audio`,`icon`]),Xce=P({mediaType:n2,url:O().optional(),bytes:rs(Uint8Array).optional(),mime:O().optional(),name:O().optional()}).refine(e=>e.url!==void 0||e.bytes!==void 0,{message:"Attachment requires either `url` or `bytes`"}),r2=R([`text`,`markdown`,`html`]),i2=R([`acknowledge`,`dismiss`,`silence`,`snooze`,`view`,`play`,`open`,`close`,`lock`,`unlock`,`arm`,`arm-home`,`arm-away`,`arm-night`,`disarm`,`light`,`alert`,`camera`]),Zce=P({id:O(),label:O(),url:O().optional(),icon:i2.optional(),destructive:A().optional(),mode:R([`navigate`,`background`]).optional()}),a2=F([O(),k(),A()]),Qce=P({key:O().min(1),label:O(),labelKey:O().optional(),type:R([`enum`,`number`,`boolean`,`string`]),options:N(P({value:O(),label:O()})).optional(),min:k().optional(),max:k().optional(),default:a2.optional()}),o2=P({body:O(),title:O().optional(),format:r2.default(`text`),priority:k().int().min(1).max(5).default(3),level:O().optional(),attachments:N(Xce).optional(),clickUrl:O().optional(),actions:N(Zce).optional(),sound:O().optional(),ttl:k().optional(),tag:O().optional(),deviceId:k().optional(),eventId:O().optional(),metadata:L(O(),j()).optional(),delivery:L(O(),a2).optional()}),$ce=P({id:O(),label:O(),ordinal:k().int().min(1).max(5).nullable(),flags:P({critical:A().optional(),silent:A().optional(),noPush:A().optional()}).optional(),requires:N(O()).optional(),description:O().optional()}),ele=P({attachments:P({mediaTypes:N(n2),mode:R([`url`,`bytes`,`both`]),max:k().int().nonnegative(),maxBytes:k().int().positive().optional()}),actions:k().int().nonnegative(),actionIcons:A().optional(),levels:N($ce),format:N(r2),clickUrl:A(),sound:A(),ttl:A(),bodyMaxLen:k().int().positive()}),tle=j(),nle=P({kind:O(),label:O(),icon:O(),addonId:O(),iconUrl:O().optional(),iconMediaType:O().optional(),configSchema:tle,destinationKeys:N(O()).optional(),supportsDiscovery:A(),deliveryParams:N(Qce).optional(),caps:ele});P({id:O(),name:O(),kind:O(),addonId:O(),enabled:A(),config:L(O(),j())});var rle=P({kind:O(),suggestedName:O(),config:L(O(),j())}),ile=P({level:O(),format:r2,attachmentsSent:k().int().nonnegative(),actionsSent:k().int().nonnegative(),truncated:A(),dropped:N(O())}),s2=P({success:A(),error:O().optional(),renderedAs:ile.optional()}),ale=s2,ole=P({ok:A(),resolvedUrl:O(),httpStatus:k().int().optional(),stateInstance:O().optional(),error:O().optional()});Q(P({}),N(nle)),Q(P({kind:O(),config:L(O(),j()).optional(),targetId:O().optional()}),N(rle),{auth:`admin`}),Q(P({kind:O(),config:L(O(),j()),targetId:O().optional()}),ole,{kind:`mutation`,auth:`admin`}),Q(P({targetId:O(),notification:o2}),s2,{kind:`mutation`,auth:`admin`}),Q(P({targetId:O(),sample:o2.optional()}),ale,{kind:`mutation`,auth:`admin`});var sle=P({url:O().min(1),hostNodeId:O().min(1),expiresAtMs:k().int().nonnegative(),declaredBytes:k().int().nonnegative().nullable()}),c2=`temperature.pressure.speed.precipitation.precipitation-rate.length.area.illuminance.irradiance.power.energy.voltage.current.apparent-power.humidity.percentage.concentration-volume.concentration-mass.concentration-ppb.volume.duration.duration-ms.information.sound-level.signal-level.colour-temperature.angle.bitrate.rate.mass.index.ratio.count.none.device`.split(`.`);R(c2),new Set(c2);function l2(e,t){return{quantity:e,...t?.precision===void 0?{}:{precision:t.precision},...t?.label===void 0?{}:{label:t.label}}}var u2=R([`high`,`mid`,`low`]);F([u2,z(`auto`)]);var cle=R([`pull-rtsp`,`pull-rtmp`,`pull-http`,`pull-flv`,`pull-rfc4571`,`push-annexb`,`derived`]),d2=P({width:k().int().positive().meta(l2(`none`)),height:k().int().positive().meta(l2(`none`))});P({camStreamId:O().min(1),deviceId:k().int().nonnegative(),kind:cle,url:O().optional(),codec:O().optional(),resolution:d2.optional(),fps:k().positive().optional(),label:O().optional(),deviceFeatures:N(O()).optional(),autoEligible:A().optional(),profileHint:u2.optional(),metadata:L(O(),j()).optional()});var lle=R([`unassigned`,`idle`,`connecting`,`streaming`,`error`]);P({deviceId:k().int().nonnegative(),profile:u2,brokerId:O(),sourceCamStreamId:O().nullable(),status:lle,resolution:d2.optional(),codec:O().optional(),preBufferSec:k().nonnegative().optional(),errorMessage:O().optional()}),P({id:O(),label:O(),protocol:R([`rtsp`,`rtmp`,`annexb`,`http-mjpeg`,`webrtc`,`custom`]),url:O().optional(),resolution:P({width:k(),height:k()}).readonly().optional(),fps:k().optional(),bitrate:k().optional(),codec:O().optional(),profileHint:u2.optional()}),P({type:O(),url:O(),videoCodec:O().optional(),audioCodec:O().optional(),metadata:L(O(),j()).readonly().optional()}),P({shmId:O(),slot:k().int().nonnegative(),seq:k().int().nonnegative(),width:k().int().positive(),height:k().int().positive(),format:R([`jpeg`,`rgb`,`bgr`,`yuv420`,`gray`]),pts:k(),byteLength:k().int().nonnegative(),nodeId:O(),slotCount:k().int().positive()});var f2=R(Kce);P({data:rs(Uint8Array),sampleRate:k().int().positive(),channels:k().int().positive(),timestamp:k(),format:f2.optional()}),P({brokerId:O(),tag:O().optional(),accept:N(f2).readonly().optional()}),P({subscriptionId:O()}),P({status:R([`idle`,`connecting`,`streaming`,`error`,`stopped`]),inputFps:k(),encodedSubscribers:k(),uptimeMs:k(),bitrateKbps:k(),idrIntervalMs:k(),codec:O().optional(),totalBytes:k(),packetCount:k(),rtspClients:k(),pipeClients:k(),preBufferSec:k(),preBufferMs:k(),preBufferPackets:k(),audio:P({codec:O(),sampleRate:k(),channels:k(),supported:A()}).nullable().optional(),audioMuted:A().optional(),audioMutedDropped:k().optional()}),P({profile:u2,brokerId:O(),url:O(),mutedUrl:O(),enabled:A(),codec:O().optional(),resolution:d2.optional()});var p2=function(e){return e.Camera=`camera`,e.Hub=`hub`,e.Light=`light`,e.Siren=`siren`,e.Switch=`switch`,e.Sensor=`sensor`,e.Thermostat=`thermostat`,e.Climate=`climate`,e.Button=`button`,e.EventEmitter=`event-emitter`,e.Update=`update`,e.Generic=`generic`,e.Notifier=`notifier`,e.Script=`script`,e.Automation=`automation`,e.Lock=`lock`,e.Cover=`cover`,e.Valve=`valve`,e.Humidifier=`humidifier`,e.WaterHeater=`water-heater`,e.Fan=`fan`,e.MediaPlayer=`media-player`,e.AlarmPanel=`alarm-panel`,e.Control=`control`,e.Presence=`presence`,e.Weather=`weather`,e.Vacuum=`vacuum`,e.LawnMower=`lawn-mower`,e.Container=`container`,e.Image=`image`,e.PetFeeder=`pet-feeder`,e.PetFountain=`pet-fountain`,e.Dishwasher=`dishwasher`,e.Washer=`washer`,e.Heater=`heater`,e.Dryer=`dryer`,e.Gateway=`gateway`,e}({});R([`new-session`,`step-up`]),R([`en`,`it`]);var ule=I(`kind`,[P({kind:z(`native`)}),P({kind:z(`browser`),startPath:O().startsWith(`/`)})]),m2=`ecdsa-p256-sha256`,dle=`camstack-device-cert-v1`;R([`login`,`renew`,`revoke`]);var h2=R([`ios`,`android`,`web`,`other`]),g2=O().min(1).max(4096).regex(/^[A-Za-z0-9_-]+$/),_2=O().min(1).max(16384),fle=R([`revoked`,`unknown-credential`,`expired`,`bad-signature`,`nonce-invalid`,`rate-limited`,`invalid-certificate`,`superseded`,`user-gone`,`unavailable`,`code-invalid`,`self-enrollment-disabled`,`step-up-required`,`bad-public-key`]),v2=P({ok:z(!1),reason:fle,definitive:A(),retryAfterSeconds:k().optional()});P({code:O().min(1).max(256),publicKeySpki:g2,deviceName:O().min(1).max(80).optional(),platform:h2}),I(`ok`,[P({credentialId:O(),certPem:_2,chainPem:_2,notAfter:k(),user:P({id:O(),username:O()})}).extend({ok:z(!0)}),v2]),P({proof:O().min(1).max(512),publicKeySpki:g2,deviceName:O().min(1).max(80),platform:h2}),P({proof:O(),expiresAt:k()}),I(`ok`,[P({nonce:O(),origin:O(),expiresAt:k(),signature:z(m2)}).extend({ok:z(!0)}),v2]),P({certPem:_2,nonce:O().min(1).max(256),signature:g2}),I(`ok`,[P({credentialId:O(),certPem:_2,chainPem:_2,notAfter:k()}).extend({ok:z(!0)}),v2]),I(`ok`,[P({ok:z(!0),credentialId:O(),sessionsEnded:k().int()}),v2]);var ple=R([`active`,`expired`,`revoked`]);P({id:O(),userId:O(),username:O().nullable(),deviceName:O(),platform:h2,enrolledVia:R([`qr`,`self`]),fingerprint:O(),issuedAt:k(),expiresAt:k(),lastUsedAt:k().nullable(),lastUsedFrom:O().nullable(),revokedAt:k().nullable(),revokedBy:O().nullable(),status:ple}),P({code:O(),expiresAt:k(),enrollUrl:O(),hubOrigin:O().nullable(),hubOrigins:N(O())}),P({kind:z(`device-certificate`),id:z(`device-certificate`),label:O(),stage:z(`primary`),challengePath:z(`auth.getDeviceChallenge`),revokePath:z(`auth.revokeOwnDeviceCertificate`),enrollSelfPath:z(`auth.enrollSelf`),loginPath:z(`auth.loginWithDeviceCertificate`),renewPath:z(`auth.renewDeviceCertificate`),signature:z(m2),messageVersion:z(dle),clients:N(R([`native`,`web`])),app:ule.nullable()});function mle(e,t){return{en:e,it:t}}var y2=`accessibility.account.animals.arrows.brands.buildings.charts.communication.connectivity.cursors.design.development.devices.emoji.files.finance.food-beverage.gaming.home.layout.mail.math.medical.multimedia.nature.navigation.notifications.people.photography.science.seasons.security.shapes.shopping.social.sports.sustainability.text.time.tools.transportation.travel.weather`.split(`.`),b2=`a-arrow-down.a-arrow-up.a-large-small.accessibility.activity.air-vent.airplay.alarm-clock.alarm-clock-check.alarm-clock-minus.alarm-clock-off.alarm-clock-plus.alarm-smoke.album.align-center-horizontal.align-center-vertical.align-end-horizontal.align-end-vertical.align-horizontal-distribute-center.align-horizontal-distribute-end.align-horizontal-distribute-start.align-horizontal-justify-center.align-horizontal-justify-end.align-horizontal-justify-start.align-horizontal-space-around.align-horizontal-space-between.align-start-horizontal.align-start-vertical.align-vertical-distribute-center.align-vertical-distribute-end.align-vertical-distribute-start.align-vertical-justify-center.align-vertical-justify-end.align-vertical-justify-start.align-vertical-space-around.align-vertical-space-between.ambulance.ampersand.ampersands.amphora.anchor.angry.annoyed.antenna.anvil.aperture.app-window.app-window-mac.apple.archive.archive-restore.archive-x.armchair.arrow-big-down.arrow-big-down-dash.arrow-big-left.arrow-big-left-dash.arrow-big-right.arrow-big-right-dash.arrow-big-up.arrow-big-up-dash.arrow-down.arrow-down-0-1.arrow-down-1-0.arrow-down-a-z.arrow-down-from-line.arrow-down-left.arrow-down-narrow-wide.arrow-down-right.arrow-down-to-dot.arrow-down-to-line.arrow-down-up.arrow-down-wide-narrow.arrow-down-z-a.arrow-left.arrow-left-from-line.arrow-left-right.arrow-left-to-line.arrow-right.arrow-right-from-line.arrow-right-left.arrow-right-to-line.arrow-up.arrow-up-0-1.arrow-up-1-0.arrow-up-a-z.arrow-up-down.arrow-up-from-dot.arrow-up-from-line.arrow-up-left.arrow-up-narrow-wide.arrow-up-right.arrow-up-to-line.arrow-up-wide-narrow.arrow-up-z-a.arrows-up-from-line.asterisk.at-sign.atom.audio-lines.audio-waveform.award.axe.axis-3d.baby.backpack.badge.badge-alert.badge-cent.badge-check.badge-dollar-sign.badge-euro.badge-indian-rupee.badge-info.badge-japanese-yen.badge-minus.badge-percent.badge-plus.badge-pound-sterling.badge-question-mark.badge-russian-ruble.badge-swiss-franc.badge-turkish-lira.badge-x.baggage-claim.balloon.ban.banana.bandage.banknote.banknote-arrow-down.banknote-arrow-up.banknote-x.barcode.barrel.baseline.bath.battery.battery-charging.battery-full.battery-low.battery-medium.battery-plus.battery-warning.beaker.bean.bean-off.bed.bed-double.bed-single.beef.beer.beer-off.bell.bell-dot.bell-electric.bell-minus.bell-off.bell-plus.bell-ring.between-horizontal-end.between-horizontal-start.between-vertical-end.between-vertical-start.biceps-flexed.bike.binary.binoculars.biohazard.bird.birdhouse.bitcoin.blend.blinds.blocks.bluetooth.bluetooth-connected.bluetooth-off.bluetooth-searching.bold.bolt.bomb.bone.book.book-a.book-alert.book-audio.book-check.book-copy.book-dashed.book-down.book-headphones.book-heart.book-image.book-key.book-lock.book-marked.book-minus.book-open.book-open-check.book-open-text.book-plus.book-search.book-text.book-type.book-up.book-up-2.book-user.book-x.bookmark.bookmark-check.bookmark-minus.bookmark-plus.bookmark-x.boom-box.bot.bot-message-square.bot-off.bottle-wine.bow-arrow.box.boxes.braces.brackets.brain.brain-circuit.brain-cog.brick-wall.brick-wall-fire.brick-wall-shield.briefcase.briefcase-business.briefcase-conveyor-belt.briefcase-medical.bring-to-front.brush.brush-cleaning.bubbles.bug.bug-off.bug-play.building.building-2.bus.bus-front.cable.cable-car.cake.cake-slice.calculator.calendar.calendar-1.calendar-arrow-down.calendar-arrow-up.calendar-check.calendar-check-2.calendar-clock.calendar-cog.calendar-days.calendar-fold.calendar-heart.calendar-minus.calendar-minus-2.calendar-off.calendar-plus.calendar-plus-2.calendar-range.calendar-search.calendar-sync.calendar-x.calendar-x-2.calendars.camera.camera-off.candy.candy-cane.candy-off.cannabis.cannabis-off.captions.captions-off.car.car-front.car-taxi-front.caravan.card-sim.carrot.case-lower.case-sensitive.case-upper.cassette-tape.cast.castle.cat.cctv.chart-area.chart-bar.chart-bar-big.chart-bar-decreasing.chart-bar-increasing.chart-bar-stacked.chart-candlestick.chart-column.chart-column-big.chart-column-decreasing.chart-column-increasing.chart-column-stacked.chart-gantt.chart-line.chart-network.chart-no-axes-column.chart-no-axes-column-decreasing.chart-no-axes-column-increasing.chart-no-axes-combined.chart-no-axes-gantt.chart-pie.chart-scatter.chart-spline.check.check-check.check-line.chef-hat.cherry.chess-bishop.chess-king.chess-knight.chess-pawn.chess-queen.chess-rook.chevron-down.chevron-first.chevron-last.chevron-left.chevron-right.chevron-up.chevrons-down.chevrons-down-up.chevrons-left.chevrons-left-right.chevrons-left-right-ellipsis.chevrons-right.chevrons-right-left.chevrons-up.chevrons-up-down.church.cigarette.cigarette-off.circle.circle-alert.circle-arrow-down.circle-arrow-left.circle-arrow-out-down-left.circle-arrow-out-down-right.circle-arrow-out-up-left.circle-arrow-out-up-right.circle-arrow-right.circle-arrow-up.circle-check.circle-check-big.circle-chevron-down.circle-chevron-left.circle-chevron-right.circle-chevron-up.circle-dashed.circle-divide.circle-dollar-sign.circle-dot.circle-dot-dashed.circle-ellipsis.circle-equal.circle-fading-arrow-up.circle-fading-plus.circle-gauge.circle-minus.circle-off.circle-parking.circle-parking-off.circle-pause.circle-percent.circle-pile.circle-play.circle-plus.circle-pound-sterling.circle-power.circle-question-mark.circle-slash.circle-slash-2.circle-small.circle-star.circle-stop.circle-user.circle-user-round.circle-x.circuit-board.citrus.clapperboard.clipboard.clipboard-check.clipboard-clock.clipboard-copy.clipboard-list.clipboard-minus.clipboard-paste.clipboard-pen.clipboard-pen-line.clipboard-plus.clipboard-type.clipboard-x.clock.clock-1.clock-10.clock-11.clock-12.clock-2.clock-3.clock-4.clock-5.clock-6.clock-7.clock-8.clock-9.clock-alert.clock-arrow-down.clock-arrow-up.clock-check.clock-fading.clock-plus.closed-caption.cloud.cloud-alert.cloud-backup.cloud-check.cloud-cog.cloud-download.cloud-drizzle.cloud-fog.cloud-hail.cloud-lightning.cloud-moon.cloud-moon-rain.cloud-off.cloud-rain.cloud-rain-wind.cloud-snow.cloud-sun.cloud-sun-rain.cloud-sync.cloud-upload.cloudy.clover.club.code.code-xml.coffee.cog.coins.columns-2.columns-3.columns-3-cog.columns-4.combine.command.compass.component.computer.concierge-bell.cone.construction.contact.contact-round.container.contrast.cookie.cooking-pot.copy.copy-check.copy-minus.copy-plus.copy-slash.copy-x.copyleft.copyright.corner-down-left.corner-down-right.corner-left-down.corner-left-up.corner-right-down.corner-right-up.corner-up-left.corner-up-right.cpu.creative-commons.credit-card.croissant.crop.cross.crosshair.crown.cuboid.cup-soda.currency.cylinder.dam.database.database-backup.database-search.database-zap.decimals-arrow-left.decimals-arrow-right.delete.dessert.diameter.diamond.diamond-minus.diamond-percent.diamond-plus.dice-1.dice-2.dice-3.dice-4.dice-5.dice-6.dices.diff.disc.disc-2.disc-3.disc-album.divide.dna.dna-off.dock.dog.dollar-sign.donut.door-closed.door-closed-locked.door-open.dot.download.drafting-compass.drama.drill.drone.droplet.droplet-off.droplets.drum.drumstick.dumbbell.ear.ear-off.earth.earth-lock.eclipse.egg.egg-fried.egg-off.ellipsis.ellipsis-vertical.equal.equal-approximately.equal-not.eraser.ethernet-port.euro.ev-charger.expand.external-link.eye.eye-closed.eye-off.factory.fan.fast-forward.feather.fence.ferris-wheel.file.file-archive.file-axis-3d.file-badge.file-box.file-braces.file-braces-corner.file-chart-column.file-chart-column-increasing.file-chart-line.file-chart-pie.file-check.file-check-corner.file-clock.file-code.file-code-corner.file-cog.file-diff.file-digit.file-down.file-exclamation-point.file-headphone.file-heart.file-image.file-input.file-key.file-lock.file-minus.file-minus-corner.file-music.file-output.file-pen.file-pen-line.file-play.file-plus.file-plus-corner.file-question-mark.file-scan.file-search.file-search-corner.file-signal.file-sliders.file-spreadsheet.file-stack.file-symlink.file-terminal.file-text.file-type.file-type-corner.file-up.file-user.file-video-camera.file-volume.file-x.file-x-corner.files.film.fingerprint-pattern.fire-extinguisher.fish.fish-off.fish-symbol.fishing-hook.fishing-rod.flag.flag-off.flag-triangle-left.flag-triangle-right.flame.flame-kindling.flashlight.flashlight-off.flask-conical.flask-conical-off.flask-round.flip-horizontal-2.flip-vertical-2.flower.flower-2.focus.fold-horizontal.fold-vertical.folder.folder-archive.folder-check.folder-clock.folder-closed.folder-code.folder-cog.folder-dot.folder-down.folder-git.folder-git-2.folder-heart.folder-input.folder-kanban.folder-key.folder-lock.folder-minus.folder-open.folder-open-dot.folder-output.folder-pen.folder-plus.folder-root.folder-search.folder-search-2.folder-symlink.folder-sync.folder-tree.folder-up.folder-x.folders.footprints.forklift.form.forward.frame.frown.fuel.fullscreen.funnel.funnel-plus.funnel-x.gallery-horizontal.gallery-horizontal-end.gallery-thumbnails.gallery-vertical.gallery-vertical-end.gamepad.gamepad-2.gamepad-directional.gauge.gavel.gem.georgian-lari.ghost.gift.git-branch.git-branch-minus.git-branch-plus.git-commit-horizontal.git-commit-vertical.git-compare.git-compare-arrows.git-fork.git-graph.git-merge.git-merge-conflict.git-pull-request.git-pull-request-arrow.git-pull-request-closed.git-pull-request-create.git-pull-request-create-arrow.git-pull-request-draft.glass-water.glasses.globe.globe-lock.globe-off.globe-x.goal.gpu.graduation-cap.grape.grid-2x2.grid-2x2-check.grid-2x2-plus.grid-2x2-x.grid-3x2.grid-3x3.grip.grip-horizontal.grip-vertical.group.guitar.ham.hamburger.hammer.hand.hand-coins.hand-fist.hand-grab.hand-heart.hand-helping.hand-metal.hand-platter.handbag.handshake.hard-drive.hard-drive-download.hard-drive-upload.hard-hat.hash.hat-glasses.haze.hd.hdmi-port.heading.heading-1.heading-2.heading-3.heading-4.heading-5.heading-6.headphone-off.headphones.headset.heart.heart-crack.heart-handshake.heart-minus.heart-off.heart-plus.heart-pulse.heater.helicopter.hexagon.highlighter.history.hop.hop-off.hospital.hotel.hourglass.house.house-heart.house-plug.house-plus.house-wifi.ice-cream-bowl.ice-cream-cone.id-card.id-card-lanyard.image.image-down.image-minus.image-off.image-play.image-plus.image-up.image-upscale.images.import.inbox.indian-rupee.infinity.info.inspection-panel.italic.iteration-ccw.iteration-cw.japanese-yen.joystick.kanban.kayak.key.key-round.key-square.keyboard.keyboard-music.keyboard-off.lamp.lamp-ceiling.lamp-desk.lamp-floor.lamp-wall-down.lamp-wall-up.land-plot.landmark.languages.laptop.laptop-minimal.laptop-minimal-check.lasso.lasso-select.laugh.layers.layers-2.layers-plus.layout-dashboard.layout-grid.layout-list.layout-panel-left.layout-panel-top.layout-template.leaf.leafy-green.lectern.lens-concave.lens-convex.library.library-big.life-buoy.ligature.lightbulb.lightbulb-off.line-dot-right-horizontal.line-squiggle.link.link-2.link-2-off.list.list-check.list-checks.list-chevrons-down-up.list-chevrons-up-down.list-collapse.list-end.list-filter.list-filter-plus.list-indent-decrease.list-indent-increase.list-minus.list-music.list-ordered.list-plus.list-restart.list-start.list-todo.list-tree.list-video.list-x.loader.loader-circle.loader-pinwheel.locate.locate-fixed.locate-off.lock.lock-keyhole.lock-keyhole-open.lock-open.log-in.log-out.logs.lollipop.luggage.magnet.mail.mail-check.mail-minus.mail-open.mail-plus.mail-question-mark.mail-search.mail-warning.mail-x.mailbox.mails.map.map-minus.map-pin.map-pin-check.map-pin-check-inside.map-pin-house.map-pin-minus.map-pin-minus-inside.map-pin-off.map-pin-pen.map-pin-plus.map-pin-plus-inside.map-pin-x.map-pin-x-inside.map-pinned.map-plus.mars.mars-stroke.martini.maximize.maximize-2.medal.megaphone.megaphone-off.meh.memory-stick.menu.merge.message-circle.message-circle-check.message-circle-code.message-circle-dashed.message-circle-heart.message-circle-more.message-circle-off.message-circle-plus.message-circle-question-mark.message-circle-reply.message-circle-warning.message-circle-x.message-square.message-square-check.message-square-code.message-square-dashed.message-square-diff.message-square-dot.message-square-heart.message-square-lock.message-square-more.message-square-off.message-square-plus.message-square-quote.message-square-reply.message-square-share.message-square-text.message-square-warning.message-square-x.messages-square.metronome.mic.mic-off.mic-vocal.microchip.microscope.microwave.milestone.milk.milk-off.minimize.minimize-2.minus.mirror-rectangular.mirror-round.monitor.monitor-check.monitor-cloud.monitor-cog.monitor-dot.monitor-down.monitor-off.monitor-pause.monitor-play.monitor-smartphone.monitor-speaker.monitor-stop.monitor-up.monitor-x.moon.moon-star.motorbike.mountain.mountain-snow.mouse.mouse-left.mouse-off.mouse-pointer.mouse-pointer-2.mouse-pointer-2-off.mouse-pointer-ban.mouse-pointer-click.mouse-right.move.move-3d.move-diagonal.move-diagonal-2.move-down.move-down-left.move-down-right.move-horizontal.move-left.move-right.move-up.move-up-left.move-up-right.move-vertical.music.music-2.music-3.music-4.navigation.navigation-2.navigation-2-off.navigation-off.network.newspaper.nfc.non-binary.notebook.notebook-pen.notebook-tabs.notebook-text.notepad-text.notepad-text-dashed.nut.nut-off.octagon.octagon-alert.octagon-minus.octagon-pause.octagon-x.omega.option.orbit.origami.package.package-2.package-check.package-minus.package-open.package-plus.package-search.package-x.paint-bucket.paint-roller.paintbrush.paintbrush-vertical.palette.panda.panel-bottom.panel-bottom-close.panel-bottom-dashed.panel-bottom-open.panel-left.panel-left-close.panel-left-dashed.panel-left-open.panel-left-right-dashed.panel-right.panel-right-close.panel-right-dashed.panel-right-open.panel-top.panel-top-bottom-dashed.panel-top-close.panel-top-dashed.panel-top-open.panels-left-bottom.panels-right-bottom.panels-top-left.paperclip.parentheses.parking-meter.party-popper.pause.paw-print.pc-case.pen.pen-line.pen-off.pen-tool.pencil.pencil-line.pencil-off.pencil-ruler.pentagon.percent.person-standing.philippine-peso.phone.phone-call.phone-forwarded.phone-incoming.phone-missed.phone-off.phone-outgoing.pi.piano.pickaxe.picture-in-picture.picture-in-picture-2.piggy-bank.pilcrow.pilcrow-left.pilcrow-right.pill.pill-bottle.pin.pin-off.pipette.pizza.plane.plane-landing.plane-takeoff.play.plug.plug-2.plug-zap.plus.pocket-knife.podcast.pointer.pointer-off.popcorn.popsicle.pound-sterling.power.power-off.presentation.printer.printer-check.printer-x.projector.proportions.puzzle.pyramid.qr-code.quote.rabbit.radar.radiation.radical.radio.radio-receiver.radio-tower.radius.rainbow.rat.ratio.receipt.receipt-cent.receipt-euro.receipt-indian-rupee.receipt-japanese-yen.receipt-pound-sterling.receipt-russian-ruble.receipt-swiss-franc.receipt-text.receipt-turkish-lira.rectangle-circle.rectangle-ellipsis.rectangle-goggles.rectangle-horizontal.rectangle-vertical.recycle.redo.redo-2.redo-dot.refresh-ccw.refresh-ccw-dot.refresh-cw.refresh-cw-off.refrigerator.regex.remove-formatting.repeat.repeat-1.repeat-2.replace.replace-all.reply.reply-all.rewind.ribbon.rocket.rocking-chair.roller-coaster.rose.rotate-3d.rotate-ccw.rotate-ccw-key.rotate-ccw-square.rotate-cw.rotate-cw-square.route.route-off.router.rows-2.rows-3.rows-4.rss.ruler.ruler-dimension-line.russian-ruble.sailboat.salad.sandwich.satellite.satellite-dish.saudi-riyal.save.save-all.save-off.scale.scale-3d.scaling.scan.scan-barcode.scan-eye.scan-face.scan-heart.scan-line.scan-qr-code.scan-search.scan-text.school.scissors.scissors-line-dashed.scooter.screen-share.screen-share-off.scroll.scroll-text.search.search-alert.search-check.search-code.search-slash.search-x.section.send.send-horizontal.send-to-back.separator-horizontal.separator-vertical.server.server-cog.server-crash.server-off.settings.settings-2.shapes.share.share-2.sheet.shell.shelving-unit.shield.shield-alert.shield-ban.shield-check.shield-ellipsis.shield-half.shield-minus.shield-off.shield-plus.shield-question-mark.shield-user.shield-x.ship.ship-wheel.shirt.shopping-bag.shopping-basket.shopping-cart.shovel.shower-head.shredder.shrimp.shrink.shrub.shuffle.sigma.signal.signal-high.signal-low.signal-medium.signal-zero.signature.signpost.signpost-big.siren.skip-back.skip-forward.skull.slash.slice.sliders-horizontal.sliders-vertical.smartphone.smartphone-charging.smartphone-nfc.smile.smile-plus.snail.snowflake.soap-dispenser-droplet.sofa.solar-panel.soup.space.spade.sparkle.sparkles.speaker.speech.spell-check.spell-check-2.spline.spline-pointer.split.spool.spotlight.spray-can.sprout.square.square-activity.square-arrow-down.square-arrow-down-left.square-arrow-down-right.square-arrow-left.square-arrow-out-down-left.square-arrow-out-down-right.square-arrow-out-up-left.square-arrow-out-up-right.square-arrow-right.square-arrow-right-enter.square-arrow-right-exit.square-arrow-up.square-arrow-up-left.square-arrow-up-right.square-asterisk.square-bottom-dashed-scissors.square-centerline-dashed-horizontal.square-centerline-dashed-vertical.square-chart-gantt.square-check.square-check-big.square-chevron-down.square-chevron-left.square-chevron-right.square-chevron-up.square-code.square-dashed.square-dashed-bottom.square-dashed-bottom-code.square-dashed-kanban.square-dashed-mouse-pointer.square-dashed-top-solid.square-divide.square-dot.square-equal.square-function.square-kanban.square-library.square-m.square-menu.square-minus.square-mouse-pointer.square-parking.square-parking-off.square-pause.square-pen.square-percent.square-pi.square-pilcrow.square-play.square-plus.square-power.square-radical.square-round-corner.square-scissors.square-sigma.square-slash.square-split-horizontal.square-split-vertical.square-square.square-stack.square-star.square-stop.square-terminal.square-user.square-user-round.square-x.squares-exclude.squares-intersect.squares-subtract.squares-unite.squircle.squircle-dashed.squirrel.stamp.star.star-half.star-off.step-back.step-forward.stethoscope.sticker.sticky-note.stone.store.stretch-horizontal.stretch-vertical.strikethrough.subscript.sun.sun-dim.sun-medium.sun-moon.sun-snow.sunrise.sunset.superscript.swatch-book.swiss-franc.switch-camera.sword.swords.syringe.table.table-2.table-cells-merge.table-cells-split.table-columns-split.table-of-contents.table-properties.table-rows-split.tablet.tablet-smartphone.tablets.tag.tags.tally-1.tally-2.tally-3.tally-4.tally-5.tangent.target.telescope.tent.tent-tree.terminal.test-tube.test-tube-diagonal.test-tubes.text-align-center.text-align-end.text-align-justify.text-align-start.text-cursor.text-cursor-input.text-initial.text-quote.text-search.text-select.text-wrap.theater.thermometer.thermometer-snowflake.thermometer-sun.thumbs-down.thumbs-up.ticket.ticket-check.ticket-minus.ticket-percent.ticket-plus.ticket-slash.ticket-x.tickets.tickets-plane.timer.timer-off.timer-reset.toggle-left.toggle-right.toilet.tool-case.toolbox.tornado.torus.touchpad.touchpad-off.towel-rack.tower-control.toy-brick.tractor.traffic-cone.train-front.train-front-tunnel.train-track.tram-front.transgender.trash.trash-2.tree-deciduous.tree-palm.tree-pine.trees.trending-down.trending-up.trending-up-down.triangle.triangle-alert.triangle-dashed.triangle-right.trophy.truck.truck-electric.turkish-lira.turntable.turtle.tv.tv-minimal.tv-minimal-play.type.type-outline.umbrella.umbrella-off.underline.undo.undo-2.undo-dot.unfold-horizontal.unfold-vertical.ungroup.university.unlink.unlink-2.unplug.upload.usb.user.user-check.user-cog.user-key.user-lock.user-minus.user-pen.user-plus.user-round.user-round-check.user-round-cog.user-round-key.user-round-minus.user-round-pen.user-round-plus.user-round-search.user-round-x.user-search.user-star.user-x.users.users-round.utensils.utensils-crossed.utility-pole.van.variable.vault.vector-square.vegan.venetian-mask.venus.venus-and-mars.vibrate.vibrate-off.video.video-off.videotape.view.voicemail.volleyball.volume.volume-1.volume-2.volume-off.volume-x.vote.wallet.wallet-cards.wallet-minimal.wallpaper.wand.wand-sparkles.warehouse.washing-machine.watch.waves.waves-arrow-down.waves-arrow-up.waves-ladder.waypoints.webcam.webhook.webhook-off.weight.weight-tilde.wheat.wheat-off.whole-word.wifi.wifi-cog.wifi-high.wifi-low.wifi-off.wifi-pen.wifi-sync.wifi-zero.wind.wind-arrow-down.wine.wine-off.workflow.worm.wrench.x.x-line-top.zap.zap-off.zodiac-aquarius.zodiac-aries.zodiac-cancer.zodiac-capricorn.zodiac-gemini.zodiac-leo.zodiac-libra.zodiac-ophiuchus.zodiac-pisces.zodiac-sagittarius.zodiac-scorpio.zodiac-taurus.zodiac-virgo.zoom-in.zoom-out`.split(`.`),hle=[[[37,10],[`letter`,`font size`,`text`,`formatting`,`smaller`]],[[37,10],[`letter`,`font size`,`text`,`formatting`,`larger`,`bigger`]],[[37,10],[`letter`,`font size`,`text`,`formatting`]],[[0,22],[`disability`,`disabled`,`dda`,`wheelchair`]],[[22,1,34,29,23],`pulse.action.motion.movement.exercise.fitness.healthcare.heart rate monitor.vital signs.vitals.emergency room.er.intensive care.hospital.defibrillator.earthquake.siesmic.magnitude.richter scale.aftershock.tremor.shockwave.audio.waveform.synthesizer.synthesiser.music`.split(`.`)],[[18],[`air conditioner`,`ac`,`central air`,`cooling`,`climate-control`]],[[23,8,12,4],[`stream`,`cast`,`mirroring`,`screen`,`monitor`,`macos`,`osx`]],[[12,26,38],[`morning`]],[[12,26,38],[`done`,`todo`,`tick`,`complete`,`task`]],[[12,26,38],[`remove`]],[[12,26,38],[`morning`,`turn-off`]],[[12,26,38],[`add`]],[[18,12,41],[`fire`,`alert`,`warning`,`detector`,`carbon monoxide`,`safety`,`equipment`,`amenities`]],[[28,23],[`photo`,`book`]],[[19],[`items`,`flex`,`justify`]],[[19],[`items`,`flex`,`justify`]],[[19],[`items`,`bottom`,`flex`,`justify`]],[[19],[`items`,`right`,`flex`,`justify`]],[[19],[`items`,`flex`,`justify`,`space`,`evenly`,`around`]],[[19],[`right`,`items`,`flex`,`justify`]],[[19],[`left`,`items`,`flex`,`justify`]],[[19],[`center`,`items`,`flex`,`justify`]],[[19],[`right`,`items`,`flex`,`justify`]],[[19],[`left`,`items`,`flex`,`justify`]],[[19],[`center`,`items`,`flex`,`justify`,`distribute`,`between`]],[[19],[`around`,`items`,`bottom`,`flex`,`justify`]],[[19],[`top`,`items`,`flex`,`justify`]],[[19],[`left`,`items`,`flex`,`justify`]],[[19],[`items`,`flex`,`justify`,`space`,`evenly`,`around`]],[[19],[`bottom`,`items`,`flex`,`justify`]],[[19],[`top`,`items`,`flex`,`justify`]],[[19],[`center`,`items`,`flex`,`justify`,`distribute`,`between`]],[[19],[`bottom`,`items`,`flex`,`justify`,`distribute`,`between`]],[[19],[`top`,`items`,`flex`,`justify`,`distribute`,`between`]],[[19],[`center`,`items`,`flex`,`justify`,`distribute`,`between`]],[[19],[`center`,`items`,`flex`,`justify`,`distribute`,`between`]],[[22,40],[`ambulance`,`emergency`,`medical`,`vehicle`,`siren`,`healthcare`,`transportation`,`rescue`,`urgent`,`first aid`]],[[37,11],[`and`,`typography`,`operator`,`join`,`concatenate`,`code`,`&`]],[[37,11],[`and`,`operator`,`then`,`code`,`&&`]],[[16,17],[`pottery`,`artifact`,`artefact`,`vase`,`ceramics`,`clay`,`archaeology`,`museum`,`wine`,`oil`]],[[40,37],[`ship`]],[[13],[`emoji`,`anger`,`face`,`emotion`]],[[13],[`emoji`,`nuisance`,`face`,`emotion`]],[[12,23,7],[`signal`,`connection`,`connectivity`,`tv`,`television`,`broadcast`,`live`,`frequency`,`tune`,`scan`,`channels`,`aerial`,`receiver`,`transmission`,`transducer`,`terrestrial`,`satellite`,`cable`]],[[5,39,17],[`metal`,`iron`,`alloy`,`materials`,`heavy`,`weight`,`blacksmith`,`forge`,`acme`]],[[28],[`camera`,`photo`,`pictures`,`shutter`,`exposure`]],[[19,10,11,14],[`application`,`menu bar`,`pane`,`executable`]],[[19,10,11,14],[`application`,`menu bar`,`pane`,`preferences`,`macos`,`osx`,`executable`]],[[16],[`fruit`,`food`,`healthy`,`snack`,`nutrition`,`fresh`,`produce`,`grocery`,`organic`,`harvest`,`vitamin`,`red`,`green`,`juicy`,`sweet`,`tart`,`bite`,`orchard`,`plant`,`core`,`raw`,`diet`]],[[14,20],[`index`,`backup`,`box`,`storage`,`records`]],[[14,20],[`unarchive`,`index`,`backup`,`box`,`storage`,`records`]],[[14,20],[`index`,`backup`,`box`,`storage`,`records`,`junk`]],[[18],[`sofa`,`furniture`,`leisure`,`lounge`,`loveseat`,`couch`]],[[3,17],[`backwards`,`reverse`,`direction`,`south`]],[[3,17,14],[`backwards`,`reverse`,`slow`,`direction`,`south`,`download`]],[[3,17],[`previous`,`back`,`direction`,`west`,`indicate turn`]],[[3,17],[`previous`,`back`,`direction`,`west`,`turn`,`corner`]],[[3,17],[`next`,`forward`,`direction`,`east`,`indicate turn`]],[[3,17],[`next`,`forward`,`direction`,`east`,`turn`,`corner`]],[[3,37,11,17],[`shift`,`keyboard`,`button`,`mac`,`capitalize`,`capitalise`,`forward`,`direction`,`north`]],[[3,37,11,17],[`caps lock`,`capitals`,`keyboard`,`button`,`mac`,`forward`,`direction`,`north`,`faster`,`speed`,`boost`]],[[3],[`backwards`,`reverse`,`direction`,`south`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`,`numerical`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`,`numerical`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`,`alphabetical`]],[[3,14],[`backwards`,`reverse`,`direction`,`south`,`download`,`expand`,`fold`,`vertical`]],[[3],[`direction`,`south-west`,`diagonal`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`]],[[3],[`direction`,`south-east`,`diagonal`]],[[3],[`direction`,`south`,`waypoint`,`location`,`step`,`into`]],[[3,14,11],[`behind`,`direction`,`south`,`download`,`save`,`git`,`version control`,`pull`,`collapse`,`fold`,`vertical`]],[[3],[`bidirectional`,`two-way`,`2-way`,`swap`,`switch`,`network`,`traffic`,`flow`,`mobile data`,`internet`,`sort`,`reorder`,`move`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`,`alphabetical`,`reverse`]],[[3],[`previous`,`back`,`direction`,`west`,`<-`]],[[3],[`previous`,`back`,`direction`,`west`,`expand`,`fold`,`horizontal`,`<-|`]],[[3],[`bidirectional`,`two-way`,`2-way`,`swap`,`switch`,`transaction`,`reorder`,`move`,`<-`,`->`]],[[3],[`previous`,`back`,`direction`,`west`,`collapse`,`fold`,`horizontal`,`|<-`]],[[3],[`forward`,`next`,`direction`,`east`,`->`]],[[3],[`next`,`forward`,`direction`,`east`,`export`,`expand`,`fold`,`horizontal`,`|->`]],[[3],[`bidirectional`,`two-way`,`2-way`,`swap`,`switch`,`transaction`,`reorder`,`move`,`<-`,`->`]],[[3,11],[`next`,`forward`,`direction`,`east`,`tab`,`keyboard`,`mac`,`indent`,`collapse`,`fold`,`horizontal`,`->|`]],[[3],[`forward`,`direction`,`north`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`,`numerical`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`,`numerical`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`,`alphabetical`]],[[3],[`bidirectional`,`two-way`,`2-way`,`swap`,`switch`,`network`,`mobile data`,`internet`,`sort`,`reorder`,`move`]],[[3],[`direction`,`north`,`step`,`out`]],[[3,14,11],[`forward`,`direction`,`north`,`upload`,`git`,`version control`,`push`,`expand`,`fold`,`vertical`]],[[3],[`direction`,`north-west`,`diagonal`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`]],[[3],[`direction`,`north-east`,`diagonal`]],[[3,14],[`forward`,`direction`,`north`,`upload`,`collapse`,`fold`,`vertical`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`]],[[37,19,3],[`filter`,`sort`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`,`alphabetical`,`reverse`]],[[3,40,20],[`direction`,`orientation`,`this way up`,`vertical`,`package`,`box`,`fragile`,`postage`,`shipping`]],[[37,21,11],[`reference`,`times`,`multiply`,`multiplication`,`operator`,`code`,`glob pattern`,`wildcard`,`*`]],[[37,1],[`mention`,`at`,`email`,`message`,`@`]],[[29],[`atomic`,`nuclear`,`physics`,`particle`,`element`,`molecule`,`electricity`,`energy`,`chemistry`]],[[23,7],[`graphic equaliser`,`sound`,`noise`,`listen`,`hearing`,`hertz`,`frequency`,`wavelength`,`vibrate`,`sine`,`synthesizer`,`synthesiser`,`levels`,`track`,`music`,`playback`,`radio`,`broadcast`,`airwaves`,`voice`,`vocals`,`singer`,`song`]],[[23,7],[`sound`,`noise`,`listen`,`hearing`,`hertz`,`frequency`,`wavelength`,`vibrate`,`sine`,`synthesizer`,`synthesiser`,`levels`,`track`,`music`,`playback`,`radio`,`broadcast`,`airwaves`,`voice`,`vocals`,`singer`,`song`]],[[1,35,17],[`achievement`,`badge`,`rosette`,`prize`,`winner`]],[[39,17],[`hatchet`,`weapon`,`chop`,`sharp`,`equipment`,`fireman`,`firefighter`,`brigade`,`lumberjack`,`woodcutter`,`logger`,`forestry`]],[[10],[`gizmo`,`coordinates`]],[[0,27],[`child`,`childproof`,`children`]],[[17,28,41],[`bag`,`hiking`,`travel`,`camping`,`school`,`childhood`]],[[1,34,32],[`check`,`verified`,`unverified`]],[[1,34],[`check`,`verified`,`unverified`,`security`,`safety`,`issue`]],[[33,15],[`discount`,`offer`,`sale`,`voucher`,`tag`,`monetization`,`marketing`,`finance`,`financial`,`exchange`,`transaction`,`payment`,`cents`,`dollar`,`usd`,`$`,`¢`]],[[34],[`verified`,`check`]],[[33,15],[`discount`,`offer`,`sale`,`voucher`,`tag`,`monetization`,`marketing`,`finance`,`financial`,`exchange`,`transaction`,`payment`,`usd`,`$`]],[[33,15],[`discount`,`offer`,`sale`,`voucher`,`tag`,`monetization`,`marketing`,`finance`,`financial`,`exchange`,`transaction`,`payment`,`€`]],[[33,15],[`discount`,`offer`,`sale`,`voucher`,`tag`,`monetization`,`marketing`,`finance`,`financial`,`exchange`,`transaction`,`payment`,`inr`,`₹`]],[[1,0,34],[`verified`,`unverified`,`help`]],[[33,15],[`discount`,`offer`,`sale`,`voucher`,`tag`,`monetization`,`marketing`,`finance`,`financial`,`exchange`,`transaction`,`payment`,`jpy`,`¥`]],[[34],[`verified`,`unverified`,`delete`,`remove`,`erase`]],[[34,15,33,21],[`verified`,`unverified`,`sale`,`discount`,`offer`,`marketing`,`sticker`,`price tag`]],[[34],[`verified`,`unverified`,`add`,`create`,`new`]],[[33,15],[`discount`,`offer`,`sale`,`voucher`,`tag`,`monetization`,`marketing`,`finance`,`financial`,`exchange`,`transaction`,`payment`,`british`,`gbp`,`£`]],[[0,34,32],[`verified`,`unverified`,`help`]],[[33,15],[`discount`,`offer`,`sale`,`voucher`,`tag`,`monetization`,`marketing`,`finance`,`financial`,`exchange`,`transaction`,`payment`,`rub`,`₽`]],[[33,15],[`discount`,`offer`,`sale`,`voucher`,`tag`,`monetization`,`marketing`,`finance`,`financial`,`exchange`,`transaction`,`payment`,`chf`,`₣`]],[[33,15],[`discount`,`offer`,`sale`,`voucher`,`tag`,`monetization`,`marketing`,`finance`,`financial`,`exchange`,`transaction`,`payment`,`try`,`₺`]],[[34],[`verified`,`unverified`,`lost`,`delete`,`remove`]],[[40,41],[`baggage`,`luggage`,`travel`,`cart`,`trolley`,`suitcase`]],[[13],[`party`,`festival`,`congratulations`,`celebration`,`decoration`,`colorful`,`floating`,`fun`,`birthday`,`event`,`entertainment`]],[[1],[`cancel`,`no`,`stop`,`forbidden`,`prohibited`,`error`,`incorrect`,`mistake`,`wrong`,`failure`,`circle`,`slash`,`null`,`void`]],[[16],[`fruit`,`food`]],[[22],[`plaster`,`band-aid`,`first aid`,`medical`,`health`,`wound`,`injury`,`care`,`treatment`,`healing`,`protection`,`emergency`,`aid`,`safety`,`patch`]],[[15],[`currency`,`money`,`payment`]],[[15],[`bill`,`currency`,`money`,`payment`,`funds`,`transaction`,`cash`,`finance`,`withdraw`,`expense`,`out`,`payout`,`refund`,`debit`,`spending`,`decrease`]],[[15],[`bill`,`currency`,`money`,`payment`,`funds`,`transaction`,`cash`,`finance`,`deposit`,`earnings`,`income`,`in`,`credit`,`prepaid`,`growth`,`increase`]],[[15],[`bill`,`currency`,`money`,`payment`,`funds`,`transaction`,`cash`,`finance`,`error`,`failed`,`rejected`,`canceled`,`declined`,`lost`,`delete`,`remove`]],[[33],[`scan`,`checkout`,`till`,`cart`,`transaction`,`purchase`,`buy`,`product`,`packaging`,`retail`,`consumer`]],[[16,25],[`keg`,`drum`,`tank`,`wine`,`beer`,`oak`,`wood`,`firkin`,`hogshead`,`kilderkin`,`barrique`,`solera`,`aging`,`whiskey`,`brewery`,`distillery`,`winery`,`vineyard`]],[[37],[`text`,`format`,`color`]],[[41],[`amenities`,`services`,`bathroom`,`shower`]],[[8,12],[`power`,`electricity`,`energy`,`accumulator`,`charge`]],[[8,12],[`power`,`electricity`,`energy`,`accumulator`,`charge`]],[[8,12],[`power`,`electricity`,`energy`,`accumulator`,`charge`]],[[8,12],[`power`,`electricity`,`energy`,`accumulator`,`charge`]],[[8,12],[`power`,`electricity`,`energy`,`accumulator`,`charge`]],[[12],[`power`,`electricity`,`energy`,`accumulator`,`charge`,`plus`,`economy`,`health`,`add`,`new`,`maximum`,`upgrade`,`extra`,`+`]],[[8,12],[`power`,`electricity`,`energy`,`accumulator`,`charge`,`exclamation mark`]],[[29,17],[`cup`,`lab`,`chemistry`,`experiment`,`test`]],[[16],[`legume`,`soy`,`food`,`seed`]],[[16],[`soy free`,`legume`,`soy`,`food`,`seed`,`allergy`,`intolerance`,`diet`]],[[18],[`sleep`,`hotel`,`furniture`]],[[18],[`sleep`,`hotel`,`furniture`]],[[18],[`sleep`,`hotel`,`furniture`]],[[16],[`food`,`dish`,`restaurant`,`course`,`meal`,`meat`,`bbq`,`steak`]],[[16],[`alcohol`,`bar`,`beverage`,`brewery`,`drink`]],[[16],[`alcohol`,`bar`,`beverage`,`brewery`,`drink`]],[[1,26],[`alarm`,`notification`,`sound`,`reminder`]],[[1,26],[`alarm`,`notification`,`sound`,`reminder`,`unread`]],[[12,26,18],[`fire alarm`,`flames`,`smoke`,`firefighter`,`fireman`,`department`,`brigade`,`station`,`emergency`,`alert`,`safety`,`school bell`,`period break`,`recess`,`doorbell`,`entrance`,`entry`,`ring`,`reception`]],[[26],[`alarm`,`notification`,`silent`,`reminder`,`delete`,`remove`,`erase`]],[[26],[`alarm`,`notification`,`silent`,`reminder`]],[[26],[`notification`,`silent`,`reminder`,`add`,`create`,`new`]],[[26],[`alarm`,`notification`,`sound`,`reminder`]],[[19,10,39],[`insert`,`add`,`left`,`slot`,`squeeze`,`space`,`vertical`,`grid`,`table`,`rows`,`cells`,`excel`,`spreadsheet`,`accountancy`,`data`,`enter`,`entry`,`entries`,`blocks`,`rectangles`,`chevron`]],[[19,10,39],[`insert`,`add`,`right`,`slot`,`squeeze`,`space`,`vertical`,`grid`,`table`,`rows`,`cells`,`excel`,`spreadsheet`,`accountancy`,`data`,`enter`,`entry`,`entries`,`blocks`,`rectangles`,`chevron`]],[[19,10,39],[`insert`,`add`,`top`,`slot`,`squeeze`,`space`,`vertical`,`grid`,`table`,`columns`,`cells`,`data`,`enter`,`entry`,`entries`,`blocks`,`rectangles`,`chevron`]],[[19,10,39],[`insert`,`add`,`bottom`,`slot`,`squeeze`,`space`,`vertical`,`grid`,`table`,`columns`,`cells`,`data`,`enter`,`entry`,`entries`,`blocks`,`rectangles`,`chevron`]],[[13],[`arm`,`muscle`,`strong`,`working out`,`athletic`,`toned`,`muscular`,`forelimb`,`curled`]],[[40],[`bicycle`,`transport`,`trip`]],[[37,11],[`code`,`digits`,`computer`,`zero`,`one`,`boolean`]],[[25,24,28,29,41,11],[`field glasses`,`lorgnette`,`pince-nez`,`observation`,`sightseeing`,`nature`,`wildlife`,`birdwatching`,`scouting`,`surveillance`,`search`,`discovery`,`monitoring`,`lookout`,`viewpoint`,`travel`,`tourism`,`research`]],[[29],[`fallout`,`waste`,`biology`,`chemistry`,`chemical`,`element`]],[[2],[`peace`,`freedom`,`wing`,`avian`,`tweet`]],[[24,2,25,18],[`birdhouse`,`bird`,`garden`,`home`,`house`,`woodwork`]],[[4,11,15],[`currency`,`money`,`payment`]],[[10,28,39,11],[`mode`,`overlay`,`multiply`,`screen`,`opacity`,`transparency`,`alpha`,`filters`,`lenses`,`mixed`,`shades`,`tints`,`hues`,`saturation`,`brightness`,`overlap`,`colors`,`colours`]],[[18],[`shades`,`screen`,`curtain`,`shutter`,`roller blind`,`window`,`lighting`,`household`,`home`]],[[11,19,32],[`addon`,`plugin`,`integration`,`extension`,`package`,`build`,`stack`,`toys`,`kids`,`children`,`learning`,`squares`,`corner`]],[[8,12],[`wireless`]],[[8,12],[`paired`]],[[8,12],[`lost`]],[[8,12],[`pairing`]],[[37],[`text`,`strong`,`format`]],[[39,18],[`nut`,`screw`,`settings`,`preferences`,`configuration`,`controls`,`edit`,`diy`,`fixed`,`build`,`construction`,`parts`]],[[31,39],[`fatal`,`error`,`crash`,`blockbuster`,`mine`,`explosion`,`explode`,`explosive`]],[[2,22,17],[`health`,`skeleton`,`skull`,`death`,`pets`,`dog`]],[[37,11,17],`reading.paperback.booklet.magazine.leaflet.pamphlet.tome.library.writing.written.writer.author.story.script.fiction.novel.information.knowledge.education.high school.university.college.academy.student.study.learning.homework.research.documentation`.split(`.`)],[[37,17],`dictionary.define.definition.thesaurus.encyclopedia.encyclopaedia.reading.booklet.magazine.leaflet.pamphlet.tome.library.writing.written.writer.author.story.script.fiction.novel.information.knowledge.education.high school.university.college.academy.student.study.learning.homework.research.language.translate.alphabetical.a-z.ordered`.split(`.`)],[[37,11,17],`reading.paperback.booklet.magazine.leaflet.pamphlet.tome.library.writing.written.writer.author.story.script.fiction.novel.information.knowledge.education.high school.university.college.academy.student.study.learning.homework.research.documentation.warning.alert.danger.exclamation mark`.split(`.`)],[[23,37],[`audiobook`,`reading`,`listening`,`sound`,`story`,`fiction`,`novel`,`information`,`knowledge`,`education`,`student`,`study`,`learning`,`research`]],[[37,11,17],`read.booklet.magazine.leaflet.pamphlet.library.written.authored.published.informed.knowledgeable.educated.schooled.homework.examined.tested.marked.passed.graduated.studied.learned.lesson.researched.documented.revealed.blank.plain language.true.truth.verified.corrected.task.todo.done.completed.finished.ticked`.split(`.`)],[[11,37,17],`code.coding.version control.git.repository.clone.fork.duplicate.multiple.books.library.copies.copied.plagiarism.plagiarised.plagiarized.reading list.information.informed.knowledge.knowledgeable.knowledgable.education.high school.university.college.academy.student.study.learning.research.smart.intelligent.intellectual`.split(`.`)],[[11],[`code`,`coding`,`version control`,`git`,`repository`,`template`,`draft`,`script`,`screenplay`,`writing`,`writer`,`author`,`unwritten`,`unpublished`,`untold`]],[[11],[`code`,`coding`,`version control`,`git`,`repository`,`pull`]],[[23,37],[`audiobook`,`reading`,`listening`,`sound`,`story`,`fiction`,`novel`,`information`,`knowledge`,`education`,`student`,`study`,`learning`,`research`]],[[34,37,17],`diary.romance.novel.journal.entry.entries.personal.private.secret.crush.like.love.emotion.feminine.girls.teens.teenager.therapy.theraputic.therapist.planner.organizer.organiser.notes.notepad.stationery.sketchbook.writing.written.reading.favorite.favourite.high school`.split(`.`)],[[28,37,23,14,34,33,41],[`images`,`pictures`,`photos`,`album`,`collection`,`event`,`magazine`,`catalog`,`catalogue`,`brochure`,`browse`,`gallery`]],[[11,31,17],[`code`,`coding`,`version control`,`git`,`repository`,`private`,`public`,`secret`,`unlocked`,`hidden`,`revealed`,`knowledge`,`learning`]],[[11,31,17],[`code`,`coding`,`version control`,`git`,`repository`,`private`,`secret`,`hidden`,`knowledge`]],[[37,11,17],`dictionary.reading.booklet.magazine.leaflet.pamphlet.tome.library.writing.written.writer.author.story.script.fiction.novel.information.knowledge.education.high school.university.college.academy.student.study.learning.homework.research.documentation.saved.later.future.reference.index.code.coding.version control.git.repository`.split(`.`)],[[11,37,17],[`code`,`coding`,`version control`,`git`,`repository`,`remove`,`delete`,`censor`,`cancel`,`forbid`,`prohibit`,`ban`,`uneducated`,`re-educate`,`unlearn`,`downgrade`]],[[37,11,17],`reading.pages.booklet.magazine.leaflet.pamphlet.library.writing.written.writer.author.story.script.screenplay.fiction.novel.information.knowledge.education.high school.university.college.academy.student.study.learning.homework.research.documentation.revealed.blank.plain`.split(`.`)],[[37,11,17],`read.pages.booklet.magazine.leaflet.pamphlet.library.written.authored.published.informed.knowledgeable.educated.schooled.homework.examined.tested.marked.passed.graduated.studied.learned.lesson.researched.documented.revealed.blank.plain language.true.truth.verified.corrected.task.todo.done.completed.finished.ticked`.split(`.`)],[[37,11],`reading.pages.booklet.magazine.leaflet.pamphlet.library.writing.written.writer.author.story.script.fiction.novel.information.knowledge.education.high school.university.college.academy.student.study.learning.homework.research.documentation.revealed`.split(`.`)],[[11,37,17],[`code`,`coding`,`version control`,`git`,`repository`,`remove`,`delete`,`read`,`write`,`author`,`publish`,`inform`,`graduate`,`re-educate`,`study`,`learn`,`research`,`knowledge`,`improve`,`upgrade`,`level up`]],[[37,11,17],[`reading`,`library`,`study`,`education`,`research`,`knowledge`,`discover`,`browsing`,`lookup`,`finding`,`scanning`]],[[37,17],`reading.booklet.magazine.leaflet.pamphlet.tome.library.writing.written.writer.author.story.script.fiction.novel.information.knowledge.education.high school.university.college.academy.student.study.learning.homework.research.documentation`.split(`.`)],[[37,10,17],`thesaurus.synonym.reading.booklet.magazine.leaflet.pamphlet.tome.library.writing.written.writer.author.story.script.fiction.novel.information.knowledge.education.high school.university.college.academy.student.study.learning.homework.research.language.translate.typography.fonts.collection`.split(`.`)],[[11],[`code`,`coding`,`version control`,`git`,`repository`,`push`]],[[11],[`code`,`coding`,`version control`,`git`,`repository`,`push`,`force`]],[[1,8,7,34],[`person`,`people`,`family`,`friends`,`acquaintances`,`contacts`,`details`,`addresses`,`phone numbers`,`directory`,`listing`,`networking`]],[[37,17],[`code`,`coding`,`version control`,`git`,`repository`,`remove`,`delete`,`reading`,`misinformation`,`disinformation`,`misinformed`,`charlatan`,`sophistry`,`false`,`lies`,`untruth`,`propaganda`,`censored`,`cancelled`,`forbidden`,`prohibited`,`banned`,`uneducated`,`re-education`,`unlearn`]],[[1],[`save`,`favorite`,`mark`,`label`,`attachment`,`file`,`stick`,`pin`,`read`,`clip`,`marker`,`tag`]],[[1],[`read`,`finished`,`complete`,`clip`,`marker`,`tag`,`task`,`todo`]],[[1],[`delete`,`remove`]],[[1],[`add`]],[[1],[`read`,`clip`,`marker`,`tag`,`cancel`,`close`,`delete`,`remove`,`clear`]],[[12,23,34],[`radio`,`speakers`,`audio`,`music`,`sound`,`broadcast`,`live`,`frequency`]],[[11,34],[`robot`,`ai`,`chat`,`assistant`]],[[11,34],[`robot`,`ai`,`chat`,`assistant`]],[[11,34],[`robot`,`ai`,`chat`,`assistant`]],[[16],[`alcohol`,`drink`,`glass`,`goblet`,`chalice`,`vineyard`,`winery`,`red`,`white`,`rose`,`dry`,`sparkling`,`bar`,`party`,`nightclub`,`nightlife`,`sommelier`,`restaurant`,`dinner`,`meal`]],[[17,39],[`archer`,`archery`,`game`,`war`,`weapon`]],[[32,17,11,21],[`cube`,`package`,`container`,`storage`,`geometry`,`3d`,`isometric`]],[[32,17,11],[`cubes`,`packages`,`parts`,`group`,`units`,`collection`,`cluster`,`geometry`]],[[11,14],[`json`,`code`,`token`,`curly brackets`,`data`,`{`,`}`]],[[11,14],[`code`,`token`,`array`,`list`,`square`,`[`,`]`]],[[22,29],[`medical`,`mind`,`mental`,`intellect`,`cerebral`,`consciousness`,`genius`,`artificial intelligence`,`ai`,`think`,`thought`,`insight`,`intelligent`,`smart`]],[[29,11],[`mind`,`intellect`,`artificial intelligence`,`ai`,`deep learning`,`machine learning`,`computing`]],[[29,11],[`mind`,`intellect`,`artificial intelligence`,`ai`,`deep learning`,`machine learning`,`computing`]],[[5,18],[`bricks`,`mortar`,`cement`,`materials`,`construction`,`builder`,`labourer`,`quantity surveyor`,`blocks`,`stone`]],[[31,18,8],[`firewall`,`security`,`bricks`,`mortar`,`cement`,`materials`,`construction`,`builder`,`labourer`,`quantity surveyor`,`blocks`,`stone`,`campfire`,`camping`,`wilderness`,`outdoors`,`lit`,`warmth`,`wood`,`twigs`,`sticks`]],[[31,18,8],`firewall.security.bricks.mortar.cement.materials.construction.builder.labourer.quantity surveyor.blocks.stone.cybersecurity.secure.safety.protection.guardian.armored.armoured.defense.defence.defender.block.threat.prevention.antivirus.vigilance.vigilant.detection.scan.find.strength.strong.tough.invincible.invincibility.invulnerable.undamaged.audit.admin.verification.crest.bravery.knight.foot soldier.infantry.trooper.pawn.battle.war.military.army.cadet.scout`.split(`.`)],[[40],[`work`,`bag`,`baggage`,`folder`]],[[40],[`work`,`bag`,`baggage`,`folder`,`portfolio`]],[[41,40],[`baggage`,`luggage`,`travel`,`suitcase`,`conveyor`,`carousel`]],[[22,40],[`doctor`,`medicine`,`first aid`]],[[10,19],[`bring`,`send`,`move`,`over`,`forward`,`front`,`overlap`,`layer`,`order`]],[[37,10,39],[`clean`,`sweep`,`refactor`,`remove`,`draw`,`paint`,`color`,`artist`]],[[18,39,10],`cleaning.utensil.housekeeping.tool.sweeping.scrubbing.hygiene.maintenance.household.cleaner.chores.equipment.sanitation.bristles.handle.home care.sanitize.purify.wash.disinfect.sterilize.scrub.polish.decontaminate.wipe.spotless.remove.empty.erase.purge.eliminate`.split(`.`)],[[42],[`water`,`cleaning`,`soap`,`bath`,`hygiene`,`freshness`,`wash`,`foam`,`cleanliness`,`shampoo`,`purity`,`splash`,`lightness`,`airy`,`relaxation`,`spa`,`bubbly`,`fluid`,`floating`,`drop`]],[[11,2],[`issue`,`error`,`defect`,`testing`,`troubleshoot`,`problem`,`report`,`debug`,`code`,`insect`,`beetle`]],[[11,2],[`issue`,`fixed`,`resolved`,`testing`,`debug`,`code`,`insect`,`kill`,`exterminate`,`pest control`]],[[11,2],[`issue`,`testing`,`debug`,`reproduce`,`code`,`insect`]],[[1,5],[`organisation`,`organization`]],[[1,5],[`business`,`company`,`enterprise`,`skyscraper`,`organisation`,`organization`,`city`]],[[40],[`bus`,`vehicle`,`transport`,`trip`]],[[40],[`coach`,`vehicle`,`trip`,`road`]],[[8,12,23],`cord.wire.connector.connection.link.signal.console.computer.equipment.electricity.energy.electronics.recharging.charger.power.supply.disconnected.unplugged.plugs.interface.input.output.audio video.av.rca.scart.tv.television.optical`.split(`.`)],[[40,41],[`ski lift`,`winter holiday`,`alpine`,`resort`,`mountains`]],[[16,34,1],[`birthday`,`birthdate`,`celebration`,`party`,`surprise`,`gateaux`,`dessert`,`fondant`,`icing sugar`,`sweet`,`baking`]],[[16,34],[`birthday`,`birthdate`,`celebration`,`party`,`surprise`,`gateaux`,`dessert`,`candles`,`wish`,`fondant`,`icing sugar`,`sweet`,`baking`]],[[21,12],[`count`,`calculating machine`]],[[38],[`date`,`month`,`year`,`event`,`birthday`,`birthdate`]],[[38],[`date`,`month`,`year`,`event`,`single`,`singular`,`once`,`1`,`first`]],[[38],[`date`,`month`,`year`,`event`,`sort`,`order`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`]],[[38],[`date`,`month`,`year`,`event`,`sort`,`order`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`]],[[38],[`date`,`day`,`month`,`year`,`event`,`confirm`,`subscribe`,`schedule`,`done`,`todo`,`tick`,`complete`,`task`]],[[38],[`date`,`day`,`month`,`year`,`event`,`confirm`,`subscribe`,`schedule`,`done`,`todo`,`tick`,`complete`,`task`]],[[38],[`date`,`day`,`month`,`year`,`event`,`clock`,`hour`]],[[38],[`date`,`day`,`month`,`year`,`events`,`settings`,`gear`,`cog`]],[[38],[`date`,`month`,`year`,`event`]],[[38,14],[`date`,`month`,`year`,`event`,`birthday`,`birthdate`,`ics`]],[[38],[`date`,`month`,`year`,`event`,`heart`,`favourite`,`subscribe`,`valentines day`]],[[38],[`date`,`day`,`month`,`year`,`event`,`delete`,`remove`]],[[38],[`date`,`day`,`month`,`year`,`event`,`delete`,`remove`]],[[38],[`date`,`day`,`month`,`year`,`event`,`delete`,`remove`]],[[38],[`date`,`day`,`month`,`year`,`event`,`add`,`subscribe`,`create`,`new`]],[[38],[`date`,`day`,`month`,`year`,`event`,`add`,`subscribe`,`create`,`new`]],[[38],[`date`,`day`,`month`,`year`,`event`,`range`,`period`]],[[38],[`date`,`day`,`month`,`year`,`events`,`search`,`lens`]],[[3,38],[`repeat`,`refresh`,`reconnect`,`transfer`,`backup`,`date`,`month`,`year`,`event`,`subscribe`,`recurring`,`schedule`,`reminder`,`automatic`,`auto`]],[[38],[`date`,`day`,`month`,`year`,`event`,`remove`,`busy`]],[[38],[`date`,`day`,`month`,`year`,`event`,`remove`]],[[38],[`date`,`month`,`year`,`event`,`dates`,`months`,`years`,`events`]],[[28,12,7],[`photography`,`lens`,`focus`,`capture`,`shot`,`visual`,`image`,`device`,`equipment`,`photo`,`webcam`,`video`]],[[28,12,7],[`photo`,`webcam`,`video`]],[[16],[`sugar`,`food`,`sweet`]],[[16],[`sugar`,`food`,`sweet`,`christmas`,`xmas`]],[[16],[`sugar free`,`food`,`sweet`,`allergy`,`intolerance`,`diet`]],[[24],[`cannabis`,`weed`,`leaf`]],[[24],[`cannabis`,`weed`,`leaf`]],[[23],[`closed captions`,`subtitles`,`subhead`,`transcription`,`transcribe`,`dialogue`,`accessibility`]],[[23],[`closed captions`,`subtitles`,`subhead`,`transcription`,`transcribe`,`dialogue`,`accessibility`]],[[40],[`vehicle`,`drive`,`trip`,`journey`]],[[40],[`vehicle`,`drive`,`trip`,`journey`]],[[40],[`cab`,`vehicle`,`drive`,`trip`,`journey`]],[[40,41,24],[`trailer`,`tow`,`camping`,`campsite`,`mobile home`,`holiday`,`nomadic`,`wilderness`,`outdoors`]],[[8,7,23,12],[`cellphone`,`smartphone`,`mobile`,`network`,`cellular`,`service`,`provider`,`signal`,`coverage`,`disk`,`data`,`format`,`storage`,`flash`,`digital`,`contacts`,`phone book`,`contractual`,`circuit board`,`chip`]],[[16],[`vegetable`,`food`,`eat`]],[[37,11],[`text`,`letters`,`characters`,`font`,`typography`]],[[37],[`text`,`letters`,`characters`,`font`,`typography`]],[[37,11],[`text`,`letters`,`characters`,`font`,`typography`]],[[8,12,23,7,14],[`audio`,`music`,`recording`,`play`]],[[12,8],[`chromecast`,`airplay`,`screen`]],[[5,17,25],[`fortress`,`stronghold`,`palace`,`chateau`,`building`]],[[2],[`animal`,`pet`,`kitten`,`feline`]],[[31,12,7,8,28],[`camera`,`surveillance`,`recording`,`film`,`videotape`,`crime`,`watching`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`area`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`trending down`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`trending up`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`multivariate`,`categorical`,`comparison`]],[[6,15],[`trading`,`trader`,`financial`,`markets`,`portfolio`,`assets`,`prices`,`value`,`valuation`,`commodities`,`currencies`,`currency`,`stocks`,`exchange`,`hedge fund`,`statistics`,`analytics`,`diagram`,`graph`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`trending down`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`trending up`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`multivariate`,`categorical`,`comparison`]],[[6],[`diagram`,`graph`,`timeline`,`planning`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`topology`,`cluster`,`web`,`nodes`,`connections`,`edges`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`trending down`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`trending up`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`trending up`]],[[6,38,11,10],[`projects`,`manage`,`overview`,`roadmap`,`plan`,`intentions`,`timeline`,`deadline`,`date`,`event`,`range`,`period`,`productivity`,`work`,`agile`,`code`,`coding`]],[[6,14],[`statistics`,`analytics`,`diagram`,`presentation`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`]],[[6],[`statistics`,`analytics`,`diagram`,`graph`,`curve`,`continuous`,`smooth`,`polynomial`,`quadratic`,`function`,`interpolation`]],[[26],[`done`,`todo`,`tick`,`complete`,`task`]],[[26],[`done`,`received`,`double`,`todo`,`tick`,`complete`,`task`]],[[26],[`done`,`todo`,`tick`,`complete`,`task`]],[[16],[`cooking`,`food`,`kitchen`,`restaurant`]],[[16],[`fruit`,`food`]],[[17,13],[`mitre`,`miter`,`piece`,`board game`,`religion`]],[[17,13],[`ruler`,`crown`,`piece`,`board game`,`stalemate`]],[[17,13],[`piece`,`horse`,`board game`]],[[17,13],[`piece`,`board game`]],[[17,13],[`ruler`,`crown`,`piece`,`board game`,`stalemate`]],[[17,13],[`castle`,`piece`,`board game`]],[[3,17],[`backwards`,`reverse`,`slow`,`dropdown`]],[[3,23],[`previous`,`music`]],[[3,23],[`skip`,`next`,`music`]],[[3],[`back`,`previous`,`less than`,`fewer`,`menu`,`<`]],[[3,21,11],[`forward`,`next`,`more than`,`greater`,`menu`,`code`,`coding`,`command line`,`terminal`,`prompt`,`shell`,`>`]],[[3,21,17],[`caret`,`keyboard`,`mac`,`control`,`ctrl`,`superscript`,`exponential`,`power`,`ahead`,`fast`,`^`,`dropdown`]],[[3,17],[`backwards`,`reverse`,`slower`]],[[3],[`collapse`,`fold`,`vertical`]],[[3,17],[`turn`,`corner`]],[[3],[`expand`,`horizontal`,`unfold`]],[[7,12,23,17],[`internet`,`network`,`connection`,`cable`,`lan`,`port`,`router`,`switch`,`hub`,`modem`,`web`,`online`,`networking`,`communication`,`socket`,`plug`,`slot`,`controller`,`connector`,`interface`,`console`,`signal`,`data`,`input`,`output`]],[[3,17],[`turn`,`corner`]],[[3],[`collapse`,`fold`,`horizontal`]],[[3,17],[`forward`,`ahead`,`faster`,`speed`,`boost`]],[[3],[`expand`,`unfold`,`vertical`]],[[5,25],[`temple`,`building`]],[[41,40,22],[`smoking`]],[[41,40,22],[`smoking`,`no-smoking`]],[[32],[`off`,`zero`,`record`,`shape`]],[[26],[`warning`,`alert`,`danger`,`exclamation mark`]],[[3,17],[`backwards`,`reverse`,`direction`,`south`,`sign`,`button`]],[[3,17],[`previous`,`back`,`direction`,`west`,`sign`,`turn`,`button`,`<-`]],[[3],[`outwards`,`direction`,`south-west`,`diagonal`]],[[3],[`outwards`,`direction`,`south-east`,`diagonal`]],[[3,11],[`outwards`,`direction`,`north-west`,`diagonal`,`keyboard`,`button`,`escape`]],[[3],[`outwards`,`direction`,`north-east`,`diagonal`]],[[3,17],[`next`,`forward`,`direction`,`east`,`sign`,`turn`,`button`,`->`]],[[3,17],[`forward`,`direction`,`north`,`sign`,`button`]],[[26],[`done`,`todo`,`tick`,`complete`,`task`]],[[26],[`done`,`todo`,`tick`,`complete`,`task`]],[[3],[`back`,`menu`]],[[3],[`back`,`previous`,`less than`,`fewer`,`menu`,`<`]],[[3],[`back`,`more than`,`greater`,`menu`,`>`]],[[3],[`caret`,`ahead`,`menu`,`^`]],[[11,32],[`pending`,`dot`,`progress`,`issue`,`draft`,`code`,`coding`,`version control`]],[[21],[`calculate`,`math`,`÷`,`/`]],[[15],[`monetization`,`marketing`,`currency`,`money`,`payment`]],[[11,32],[`pending`,`dot`,`progress`,`issue`,`code`,`coding`,`version control`,`choices`,`multiple choice`,`choose`]],[[11,32],[`pending`,`dot`,`progress`,`issue`,`draft`,`code`,`coding`,`version control`]],[[19,11],[`ellipsis`,`et cetera`,`etc`,`loader`,`loading`,`progress`,`pending`,`throbber`,`menu`,`options`,`operator`,`code`,`spread`,`rest`,`more`,`further`,`extra`,`overflow`,`dots`,`…`,`...`]],[[21],[`calculate`,`shape`,`=`]],[[3,11],[`north`,`up`,`upgrade`,`improve`,`circle`,`button`]],[[7,34],[`stories`,`social media`,`instagram`,`facebook`,`meta`,`snapchat`,`sharing`,`content`]],[[40,35,29],[`dashboard`,`dial`,`meter`,`speed`,`pressure`,`measure`,`level`]],[[21],[`subtract`,`remove`,`decrease`,`reduce`,`calculate`,`line`,`operator`,`code`,`coding`,`minimum`,`downgrade`,`-`]],[[32],[`diameter`,`zero`,`ø`,`nothing`,`null`,`void`,`cancel`,`ban`,`no`,`stop`,`forbidden`,`prohibited`,`error`,`incorrect`,`mistake`,`wrong`,`failure`]],[[40,25],[`parking lot`,`car park`]],[[40,25],[`parking lot`,`car park`,`no parking`]],[[23],[`music`,`audio`,`stop`]],[[34,15,33,21],[`verified`,`unverified`,`sale`,`discount`,`offer`,`marketing`,`sticker`,`price tag`]],[[32],[`off`,`zero`,`record`,`shape`,`circle-pile`,`circle`,`pile`,`stack`,`layer`,`structure`,`form`,`group`,`collection`,`stock`,`inventory`,`materials`,`warehouse`]],[[23],[`music`,`start`,`run`]],[[21,11,9,17],[`add`,`new`,`increase`,`increment`,`positive`,`calculate`,`crosshair`,`aim`,`target`,`scope`,`sight`,`reticule`,`maximum`,`upgrade`,`extra`,`operator`,`join`,`concatenate`,`code`,`coding`,`+`]],[[15],[`monetization`,`coin`,`penny`,`marketing`,`currency`,`money`,`payment`,`british`,`gbp`,`£`]],[[8],[`on`,`off`,`device`,`switch`,`toggle`,`binary`,`boolean`,`reboot`,`restart`,`button`,`keyboard`,`troubleshoot`]],[[0,37,26],[`question mark`]],[[11,21],[`diameter`,`zero`,`ø`,`nothing`,`null`,`void`,`cancel`,`ban`,`no`,`stop`,`forbidden`,`prohibited`,`error`,`incorrect`,`mistake`,`wrong`,`failure`,`divide`,`division`,`or`,`/`]],[[32,21,11],[`diameter`,`zero`,`ø`,`nothing`,`null`,`void`,`ban`,`math`,`divide`,`division`,`half`,`split`,`/`,`average`,`avg`,`mean`,`median`,`normal`]],[[32,22],[`shape`,`bullet`,`gender`,`genderless`]],[[35,17],[`badge`,`medal`,`honour`,`decoration`,`order`,`pin`,`laurel`,`trophy`,`medallion`,`insignia`,`bronze`,`silver`,`gold`]],[[23],[`media`,`music`]],[[1],[`person`,`account`,`contact`]],[[1],[`person`,`account`,`contact`]],[[21,11],[`cancel`,`close`,`delete`,`remove`,`times`,`clear`,`error`,`incorrect`,`wrong`,`mistake`,`failure`,`linter`,`multiply`,`multiplication`]],[[29,11],[`computing`,`electricity`,`electronics`]],[[16],[`lemon`,`orange`,`grapefruit`,`fruit`]],[[23],[`movie`,`film`,`video`,`camera`,`cinema`,`cut`,`action`,`television`,`tv`,`show`,`entertainment`]],[[37],[`copy`,`paste`]],[[37],[`copied`,`pasted`,`done`,`todo`,`tick`,`complete`,`task`]],[[38,37],[`copy`,`paste`,`history`,`log`,`clock`,`time`,`watch`,`alarm`,`hour`,`minute`,`reminder`,`scheduled`,`deadline`,`pending`,`time tracking`,`timesheets`,`appointment`,`logbook`]],[[37,3],[`copy`,`paste`]],[[37],[`copy`,`paste`,`tasks`]],[[37,22],[`copy`,`delete`,`remove`,`erase`,`document`,`medical`,`report`,`doctor`]],[[37,3],[`copy`,`paste`]],[[37],[`paste`,`signature`]],[[37],[`paste`]],[[37,22],[`copy`,`paste`,`add`,`create`,`new`,`document`,`medical`,`report`,`doctor`]],[[37],[`paste`,`format`,`text`]],[[37],[`copy`,`paste`,`discard`,`remove`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`,`noon`,`midnight`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`,`warning`,`wrong`]],[[38],[`time`,`watch`,`alarm`,`sort`,`order`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`]],[[38],[`time`,`watch`,`alarm`,`sort`,`order`,`ascending`,`descending`,`increasing`,`decreasing`,`rising`,`falling`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`]],[[38],[`time`,`watch`,`alarm`,`add`,`create`,`new`]],[[0,23],[`tv`,`movie`,`video`,`closed captions`,`subtitles`,`subhead`,`transcription`,`transcribe`,`dialogue`,`accessibility`]],[[42],[`weather`]],[[11],[`weather`,`danger`,`warning`,`alert`,`error`,`sync`,`network`,`exclamation`]],[[3,14],[`storage`,`memory`,`bytes`,`servers`,`backup`,`timemachine`,`rotate`,`synchronize`,`synchronise`,`refresh`,`reconnect`,`transfer`,`data`,`security`,`upload`,`save`,`remote`,`safety`]],[[11],[`sync`,`network`,`success`,`done`,`completed`,`saved`,`persisted`]],[[11],[`computing`,`ai`,`cluster`,`network`]],[[3,14],[`import`]],[[42],[`weather`,`shower`]],[[42],[`weather`,`mist`]],[[42],[`weather`,`rainfall`]],[[42],[`weather`,`bolt`]],[[42],[`weather`,`night`]],[[42],[`weather`,`partly`,`night`,`rainfall`]],[[8,42],[`disconnect`]],[[42],[`weather`,`rainfall`]],[[42],[`weather`,`rainfall`]],[[42],[`weather`,`blizzard`]],[[42],[`weather`,`partly`]],[[42],[`weather`,`partly`,`rainfall`]],[[3,14],[`synchronize`,`synchronise`,`refresh`,`reconnect`,`transfer`,`backup`,`storage`,`upload`,`download`,`connection`,`network`,`data`]],[[3,14],[`file`]],[[42],[`weather`,`clouds`]],[[17],[`leaf`,`luck`,`plant`]],[[32,17],[`shape`,`suit`,`playing`,`cards`]],[[37,11],[`source`,`programming`,`html`,`xml`]],[[37,11],[`source`,`programming`,`html`,`xml`]],[[16],[`drink`,`cup`,`mug`,`tea`,`cafe`,`hot`,`beverage`]],[[1],[`computing`,`settings`,`cog`,`edit`,`gear`,`preferences`,`controls`,`configuration`,`fixed`,`build`,`construction`,`parts`]],[[17],[`money`,`cash`,`finance`,`gamble`]],[[19,10,37],[`lines`,`list`,`queue`,`preview`,`panel`,`parallel`,`series`,`split`,`vertical`,`horizontal`,`half`,`center`,`middle`,`even`,`sidebar`,`drawer`,`gutter`,`fold`,`reflow`,`typography`,`pagination`,`pages`]],[[19,10,37],[`lines`,`list`,`queue`,`preview`,`parallel`,`series`,`split`,`vertical`,`horizontal`,`thirds`,`triple`,`center`,`middle`,`alignment`,`even`,`sidebars`,`drawers`,`gutters`,`fold`,`reflow`,`typography`,`pagination`,`pages`]],[[19,10],[`columns`,`settings`,`customize`,`table`,`grid`,`adjust`,`configuration`,`panel`,`layout`]],[[19,10,37,31],`lines.list.queue.preview.parallel.series.split.vertical.horizontal.thirds.triple.center.middle.alignment.even.sidebars.drawers.gutters.fold.reflow.typography.pagination.pages.prison.jail.bars.sentence.police.cops.cell.crime.criminal.justice.law.enforcement.grill`.split(`.`)],[[11,14],[`cubes`,`packages`,`parts`,`units`,`collection`,`cluster`,`combine`,`gather`,`merge`]],[[11],[`keyboard`,`key`,`mac`,`cmd`,`button`]],[[25,41],[`direction`,`north`,`east`,`south`,`west`,`safari`,`browser`]],[[10,11],[`design`,`element`,`group`,`module`,`part`,`symbol`]],[[12,11,17],[`pc`,`chassis`,`codespaces`,`github`]],[[41],[`reception`,`bell`,`porter`]],[[32,21],[`conical`,`triangle`,`triangular`,`geometry`,`filter`,`funnel`,`hopper`,`spotlight`,`searchlight`]],[[11],[`roadwork`,`maintenance`,`blockade`,`barricade`]],[[1,8,7,34],[`user`,`person`,`family`,`friend`,`acquaintance`,`listing`,`networking`]],[[1,8,7,34],[`user`,`person`,`family`,`friend`,`acquaintance`,`listing`,`networking`]],[[11,40,20],[`storage`,`shipping`,`freight`,`supply chain`,`docker`,`environment`,`devops`,`code`,`coding`]],[[28,0,10],[`display`,`accessibility`]],[[1,16],[`biscuit`,`privacy`,`legal`,`food`]],[[16,18],[`pod`,`cooking`,`recipe`,`food`,`kitchen`,`chef`,`restaurant`,`dinner`,`lunch`,`breakfast`,`meal`,`eat`]],[[37],[`clone`,`duplicate`,`multiple`]],[[37,26],[`clone`,`duplicate`,`done`,`multiple`]],[[37,21],[`clone`,`duplicate`,`remove`,`delete`,`collapse`,`subtract`,`multiple`,`-`]],[[37,21],[`clone`,`duplicate`,`add`,`multiple`,`expand`,`+`]],[[37,11,21],[`clone`,`duplicate`,`cancel`,`ban`,`no`,`stop`,`forbidden`,`prohibited`,`error`,`multiple`,`divide`,`division`,`split`,`or`,`/`]],[[26,21],[`cancel`,`close`,`delete`,`remove`,`clear`,`multiple`,`multiply`,`multiplication`,`times`]],[[37],[`licence`]],[[37],[`licence`,`license`]],[[3],[`arrow`,`return`]],[[3,37,11],[`arrow`,`indent`,`tab`]],[[3],[`arrow`]],[[3],[`arrow`]],[[3],[`arrow`]],[[3],[`arrow`]],[[3],[`arrow`]],[[3],[`arrow`]],[[12],[`processor`,`cores`,`technology`,`computer`,`chip`,`circuit`,`memory`,`ram`,`specs`,`gigahertz`,`ghz`]],[[37],[`licence`,`license`]],[[1,15],[`bank`,`purchase`,`payment`,`cc`]],[[16],[`bakery`,`cooking`,`food`,`pastry`]],[[28,10],[`photo`,`image`]],[[32],[`healthcare`,`first aid`]],[[28],[`aim`,`target`]],[[17],[`diadem`,`tiara`,`circlet`,`corona`,`king`,`ruler`,`winner`,`favourite`]],[[32,21,16],[`brick`,`block`,`box`,`3d`,`solid`,`volume`,`container`,`storage`,`shipping`,`carton`,`geometry`,`rectangular`,`hexahedron`,`butter`,`tofu`,`soap`,`cheese`,`package`,`parcel`,`crate`]],[[16],[`beverage`,`cup`,`drink`,`soda`,`straw`,`water`]],[[15],[`finance`,`money`]],[[32,10,21],[`shape`,`elliptical`,`geometry`,`container`,`storage`,`tin`,`pot`]],[[5,36,25],[`electricity`,`energy`,`water`]],[[12,11],[`storage`,`memory`,`container`,`tin`,`pot`,`bytes`,`servers`]],[[12,3,10,11,28],[`storage`,`memory`,`bytes`,`servers`,`backup`,`timemachine`,`rotate`,`arrow`,`left`]],[[12,11],[`storage`,`memory`,`container`,`tin`,`pot`,`bytes`,`servers`]],[[12,11],[`cache busting`,`storage`,`memory`,`bytes`,`servers`,`power`,`crash`]],[[10,37,3,21],[`numerical`,`decimal`,`decrease`,`less`,`fewer`,`precision`,`rounding`,`digits`,`fraction`,`float`,`number`]],[[10,37,3,21],[`numerical`,`decimal`,`increase`,`more`,`precision`,`rounding`,`digits`,`fraction`,`float`,`number`]],[[37,3],[`backspace`,`remove`]],[[16],[`pudding`,`christmas`,`xmas`,`custard`,`iced bun`,`icing`,`fondant`,`cake`,`ice cream`,`gelato`,`sundae`,`scoop`,`dollop`,`sugar`,`food`,`sweet`]],[[32,21,10,39],[`shape`,`circle`,`geometry`,`trigonometry`,`width`,`height`,`size`,`calculate`,`measure`]],[[32,17],[`square`,`rectangle`,`oblique`,`rhombus`,`shape`,`suit`,`playing`,`cards`]],[[23,28,39,12],[`keyframe`,`subtract`,`remove`,`decrease`,`reduce`,`calculator`,`button`,`keyboard`,`line`,`divider`,`separator`,`horizontal rule`,`hr`,`html`,`markup`,`markdown`,`---`,`toolbar`,`operator`,`code`,`coding`,`minimum`,`downgrade`]],[[34,15,33,21],[`verified`,`unverified`,`sale`,`discount`,`offer`,`marketing`,`sticker`,`price tag`]],[[23,28,39,12],[`keyframe`,`add`,`new`,`increase`,`increment`,`positive`,`calculate`,`toolbar`,`crosshair`,`aim`,`target`,`scope`,`sight`,`reticule`,`maximum`,`upgrade`,`extra`,`+`]],[[17],[`dice`,`random`,`tabletop`,`1`,`board`,`game`]],[[17],[`dice`,`random`,`tabletop`,`2`,`board`,`game`]],[[17],[`dice`,`random`,`tabletop`,`3`,`board`,`game`]],[[17],[`dice`,`random`,`tabletop`,`4`,`board`,`game`]],[[17],[`dice`,`random`,`tabletop`,`5`,`board`,`game`]],[[17],[`dice`,`random`,`tabletop`,`6`,`board`,`game`]],[[17],[`dice`,`random`,`tabletop`,`board`,`game`]],[[11,14],[`patch`,`difference`,`compare`,`plus`,`minus`,`plus-minus`,`math`]],[[12,23],[`album`,`music`,`songs`,`format`,`cd`,`dvd`,`vinyl`,`sleeve`,`cover`,`platinum`,`compilation`,`ep`,`recording`,`playback`,`spin`,`rotate`,`rpm`,`dj`]],[[12,23],[`album`,`music`,`vinyl`,`record`,`cd`,`dvd`,`format`,`dj`,`spin`,`rotate`,`rpm`]],[[12,23],[`album`,`music`,`vinyl`,`record`,`cd`,`dvd`,`format`,`dj`,`spin`,`rotate`,`rpm`]],[[12,23],[`album`,`music`,`songs`,`format`,`cd`,`dvd`,`vinyl`,`sleeve`,`cover`,`platinum`,`compilation`,`ep`,`recording`,`playback`,`spin`,`rotate`,`rpm`,`dj`]],[[21,11],[`calculate`,`math`,`division`,`operator`,`code`,`÷`,`/`]],[[22],[`gene`,`gmo`,`helix`,`heredity`,`chromosome`,`nucleic acid`]],[[22,16],[`gene`,`gmo free`,`helix`,`heredity`,`chromosome`,`nucleic acid`]],[[19,10,11,14],[`desktop`,`applications`,`launch`,`home`,`menu bar`,`bottom`,`line`,`macos`,`osx`]],[[2],[`animal`,`pet`,`puppy`,`hound`,`canine`]],[[15],[`currency`,`money`,`payment`]],[[16],[`doughnut`,`sprinkles`,`topping`,`fast food`,`junk food`,`snack`,`treat`,`sweet`,`sugar`,`dessert`,`hollow`,`ring`]],[[18,41,31],[`entrance`,`entry`,`exit`,`ingress`,`egress`,`gate`,`gateway`,`emergency exit`]],[[18,41,31],[`entrance`,`entry`,`exit`,`ingress`,`egress`,`gate`,`gateway`,`emergency exit`,`lock`]],[[18,41,31],[`entrance`,`entry`,`exit`,`ingress`,`egress`,`gate`,`gateway`,`emergency exit`]],[[32,37],[`interpunct`,`interpoint`,`middot`,`step`,`punctuation`,`period`,`full stop`,`end`,`finish`,`final`,`characters`,`font`,`typography`,`type`,`center`,`.`]],[[3,14],[`import`,`export`,`save`]],[[21,10,39],[`geometry`,`trigonometry`,`radius`,`diameter`,`circumference`,`calculate`,`measure`,`arc`,`curve`,`draw`,`sketch`]],[[23],[`drama`,`masks`,`theater`,`theatre`,`entertainment`,`show`]],[[39,18,12],[`power`,`bit`,`head`,`hole`,`diy`,`toolbox`,`build`,`construction`]],[[40,12],[`quadcopter`,`uav`,`aerial`,`flight`,`flying`,`technology`,`airborne`,`robotics`]],[[42,17],[`water`,`weather`,`liquid`,`fluid`,`wet`,`moisture`,`damp`,`bead`,`globule`]],[[42,17],[`water`,`weather`,`liquid`,`fluid`,`wet`,`moisture`,`damp`,`bead`,`globule`]],[[42],[`water`,`weather`,`liquid`,`fluid`,`wet`,`moisture`,`damp`,`bead`,`globule`]],[[23,12],[`drummer`,`kit`,`sticks`,`instrument`,`beat`,`bang`,`bass`,`backing track`,`band`,`play`,`performance`,`concert`,`march`,`music`,`audio`,`sound`,`noise`,`loud`]],[[16],[`food`,`chicken`,`meat`]],[[25,35],[`barbell`,`weight`,`workout`,`gym`]],[[22,0],[`hearing`,`noise`,`audio`,`accessibility`]],[[22,0],[`hearing`,`hard of hearing`,`hearing loss`,`deafness`,`noise`,`silence`,`audio`,`accessibility`]],[[25],[`world`,`browser`,`language`,`translate`,`globe`]],[[31,11,12],[`vpn`,`private`,`privacy`,`network`,`world`,`browser`,`security`,`encryption`,`protection`,`connection`]],[[29,10,11,0,28],[`lunar`,`solar`,`crescent moon`,`sun`,`earth`,`day`,`night`,`planet`,`space`,`mode`,`dark`,`light`,`toggle`,`switch`,`color`,`css`,`styles`,`display`,`accessibility`,`contrast`,`brightness`,`blend`,`shade`]],[[16,2],[`bird`,`chicken`,`nest`,`hatch`,`shell`,`incubate`,`soft boiled`,`hard`,`breakfast`,`brunch`,`morning`,`easter`]],[[16],[`food`,`breakfast`]],[[16],[`egg free`,`vegan`,`hatched`,`bad egg`]],[[19,11],[`et cetera`,`etc`,`loader`,`loading`,`progress`,`pending`,`throbber`,`menu`,`options`,`operator`,`code`,`coding`,`spread`,`rest`,`more`,`further`,`extra`,`overflow`,`dots`,`…`,`...`]],[[19],[`menu`,`options`,`spread`,`more`,`further`,`extra`,`overflow`,`dots`,`…`,`...`]],[[21,11],[`calculate`,`math`,`operator`,`assignment`,`code`,`=`]],[[21],[`about`,`calculate`,`math`,`operater`]],[[21,11],[`calculate`,`off`,`math`,`operator`,`code`,`≠`]],[[37],[`pencil`,`drawing`,`undo`,`delete`,`clear`,`trash`,`remove`]],[[7,12,23,17],[`internet`,`network`,`connection`,`cable`,`lan`,`port`,`router`,`switch`,`hub`,`modem`,`web`,`online`,`networking`,`communication`,`socket`,`plug`,`slot`,`controller`,`connector`,`interface`,`console`,`signal`,`data`,`input`,`output`]],[[15],[`currency`,`money`,`payment`]],[[40,25],[`electric`,`charger`,`station`,`vehicle`,`fast`,`plug`,`ev`,`power`,`electricity`,`energy`,`accumulator`,`charge`]],[[37,3],[`scale`,`fullscreen`,`maximize`,`minimize`,`contract`]],[[3,37,34],[`outbound`,`open`,`share`]],[[0,28,10,31],[`view`,`watch`,`see`,`show`,`expose`,`reveal`,`display`,`visible`,`visibility`,`vision`,`preview`,`read`]],[[0,28,10,31],[`view`,`watch`,`see`,`hide`,`conceal`,`mask`,`hidden`,`visibility`,`vision`]],[[0,28,10,31],[`view`,`watch`,`see`,`hide`,`conceal`,`mask`,`hidden`,`visibility`,`vision`]],[[5,25],[`building`,`business`,`energy`,`industry`,`manufacture`,`sector`]],[[18],[`air`,`cooler`,`ventilation`,`ventilator`,`blower`]],[[23,3],[`music`]],[[17],[`logo`]],[[18,5],[`picket`,`panels`,`woodwork`,`diy`,`materials`,`suburban`,`garden`,`property`,`territory`]],[[25],[`big wheel`,`daisy wheel`,`observation`,`attraction`,`entertainment`,`amusement park`,`theme park`,`funfair`]],[[14],[`document`]],[[14],[`zip`,`package`,`archive`]],[[10,14],[`model`,`3d`,`axis`,`coordinates`]],[[14],[`award`,`achievement`,`badge`,`rosette`,`prize`,`winner`]],[[14],[`box`,`package`,`model`]],[[14,11],[`code`,`json`,`curly braces`,`curly brackets`]],[[14,11],[`code`,`json`,`curly braces`,`curly brackets`]],[[14],[`statistics`,`analytics`,`diagram`,`graph`,`presentation`]],[[14],[`statistics`,`analytics`,`diagram`,`graph`,`presentation`,`trending up`]],[[14],[`statistics`,`analytics`,`diagram`,`graph`,`presentation`]],[[14],[`statistics`,`analytics`,`diagram`,`graph`,`presentation`]],[[14],[`done`,`document`,`todo`,`tick`,`complete`,`task`]],[[14],[`done`,`document`,`todo`,`tick`,`complete`,`task`]],[[14,38],[`history`,`log`,`clock`]],[[14,11],[`script`,`document`,`gist`,`html`,`xml`,`property list`,`plist`]],[[14,11],[`script`,`document`,`html`,`xml`,`property list`,`plist`]],[[14],[`executable`,`settings`,`cog`,`edit`,`gear`]],[[14,11],[`diff`,`patch`]],[[14,11],[`number`,`document`]],[[14,3],[`download`,`import`,`export`]],[[14,26],[`hidden`,`warning`,`alert`,`danger`,`protected`,`exclamation mark`]],[[14],[`music`,`audio`,`sound`,`headphones`]],[[14],[`heart`,`favourite`,`bookmark`,`quick link`]],[[14],[`image`,`graphics`,`photo`,`picture`]],[[14,3],[`document`]],[[14,31],[`key`,`private`,`public`,`security`]],[[14,31],[`lock`,`password`,`security`]],[[14],[`delete`,`remove`,`erase`,`document`]],[[14],[`document`]],[[14,23],[`audio`,`sound`,`noise`,`track`,`digital`,`recording`,`playback`,`piano`,`keyboard`,`keys`,`notes`,`chord`,`midi`,`octave`]],[[14,3],[`document`]],[[14],[`signature`]],[[14],[`edit`]],[[14],[`movie`,`video`,`film`]],[[14],[`add`,`create`,`new`,`document`]],[[14],[`add`,`create`,`new`,`document`]],[[14],[`readme`,`help`,`question`]],[[14],[`scan`,`code`,`qr-code`]],[[14],[`lost`,`document`,`find`,`browser`,`lens`]],[[14],[`lost`,`document`,`find`,`browser`,`lens`]],[[14],[`audio`,`music`,`volume`]],[[14,11],[`cogged`,`gear`,`mechanical`,`machinery`,`configuration`,`controls`,`preferences`,`settings`,`system`,`admin`,`edit`,`executable`]],[[14],[`spreadsheet`,`sheet`,`table`]],[[14,11],[`versions`,`multiple`,`copy`,`documents`,`revisions`,`version control`,`history`]],[[14],[`symlink`,`symbolic`,`link`]],[[14,11],[`terminal`,`bash`,`script`,`executable`]],[[14,37],[`data`,`txt`,`pdf`,`document`]],[[14,37],[`font`,`text`,`typography`,`type`]],[[14,37],[`font`,`text`,`typography`,`type`]],[[14,3],[`upload`,`import`,`export`]],[[1,14],[`person`,`personal information`,`people`,`listing`,`networking`,`document`,`contact`,`cover letter`,`resume`,`cv`,`curriculum vitae`,`application form`]],[[14],[`movie`,`video`,`film`]],[[14],[`audio`,`music`,`volume`]],[[14],[`lost`,`delete`,`remove`,`document`]],[[14],[`lost`,`delete`,`remove`,`document`]],[[14],[`multiple`,`copy`,`documents`]],[[28,23],[`movie`,`video`,`reel`,`camera`,`cinema`,`entertainment`]],[[1,31,22,12],[`2fa`,`authentication`,`biometric`,`identity`,`security`]],[[18,39,41],[`flames`,`smoke`,`foam`,`water`,`spray`,`hose`,`firefighter`,`fireman`,`department`,`brigade`,`station`,`emergency`,`suppress`,`compressed`,`tank`,`cylinder`,`safety`,`equipment`,`amenities`]],[[16,2],[`dish`,`restaurant`,`course`,`meal`,`seafood`,`pet`,`sea`,`marine`]],[[16,2],[`food`,`dish`,`restaurant`,`course`,`meal`,`seafood`,`animal`,`pet`,`sea`,`marine`,`allergy`,`intolerance`,`diet`]],[[16,2],[`dish`,`restaurant`,`course`,`meal`,`seafood`,`pet`,`sea`,`marine`]],[[35,41],[`sea`,`boating`,`angler`,`bait`,`reel`,`tackle`,`marine`,`outdoors`,`fish`,`fishing`,`hook`,`sports`,`travel`]],[[35,41],[`fishing`,`rod`,`hobby`,`equipment`,`reel`]],[[1,34],[`report`,`marker`,`notification`,`warning`,`milestone`,`goal`,`notice`,`signal`,`attention`,`banner`]],[[1,34],[`unflag`,`unmark`,`report`,`marker`,`notification`,`warning`,`milestone`,`goal`,`notice`,`signal`,`attention`,`banner`]],[[11,25],[`report`,`timeline`,`marker`,`pin`]],[[11,25],[`report`,`timeline`,`marker`,`pin`]],[[42,34,17],[`heat`,`burn`,`light`,`glow`,`ignite`,`passion`,`ember`,`fire`,`lit`,`burning`,`spark`,`embers`,`smoke`,`firefighter`,`fireman`,`department`,`brigade`,`station`,`emergency`]],[[24,34,17],[`campfire`,`camping`,`wilderness`,`outdoors`,`lit`,`warmth`,`wood`,`twigs`,`sticks`]],[[28,12],[`torch`,`light`,`beam`,`emergency`,`safety`,`tool`,`bright`]],[[28,12],[`torch`,`light`,`beam`,`emergency`,`safety`,`tool`,`bright`]],[[29,17],[`beaker`,`erlenmeyer`,`lab`,`chemistry`,`experiment`,`test`]],[[29,17],[`beaker`,`erlenmeyer`,`non toxic`,`lab`,`chemistry`,`experiment`,`test`]],[[29,17],[`beaker`,`lab`,`chemistry`,`experiment`,`test`]],[[10,28],[`reflect`,`mirror`,`alignment`,`dashed`]],[[10,28],[`reflect`,`mirror`,`alignment`,`dashed`]],[[24,17,36],[`sustainability`,`nature`,`plant`,`spring`]],[[24,36,30],[`sustainability`,`nature`,`plant`]],[[28],[`camera`,`lens`,`photo`,`dashed`]],[[3,19],[`arrow`,`collapse`,`fold`,`vertical`,`dashed`]],[[3,19],[`arrow`,`collapse`,`fold`,`vertical`,`dashed`]],[[14],[`directory`]],[[14],[`archive`,`zip`,`package`]],[[14],[`done`,`directory`,`todo`,`tick`,`complete`,`task`]],[[14,38],[`history`,`directory`,`clock`]],[[14],[`directory`,`closed`]],[[14,11],[`directory`,`coding`,`develop`,`software`]],[[14],[`directory`,`settings`,`control`,`preferences`,`cog`,`edit`,`gear`]],[[14,11],[`directory`,`root`,`project`,`pinned`,`active`,`current`,`cogged`,`gear`,`mechanical`,`machinery`,`configuration`,`controls`,`preferences`,`settings`,`system`,`admin`,`edit`]],[[14,3],[`directory`,`download`,`import`,`export`]],[[14],[`directory`,`root`,`project`,`git`,`repo`]],[[14],[`directory`,`root`,`project`,`git`,`repo`]],[[14],[`directory`,`heart`,`favourite`,`bookmark`,`quick link`]],[[14,3],[`directory`,`import`,`export`]],[[6,11,10,14],[`projects`,`manage`,`overview`,`board`,`tickets`,`issues`,`roadmap`,`plan`,`intentions`,`productivity`,`work`,`agile`,`code`,`coding`,`directory`,`project`,`root`]],[[14,31],[`directory`,`key`,`private`,`security`,`protected`]],[[14,31],[`directory`,`lock`,`private`,`security`,`protected`]],[[14],[`directory`,`remove`,`delete`]],[[14],[`directory`]],[[14,11],[`directory`,`root`,`project`,`active`,`current`,`pinned`]],[[14,3],[`directory`,`import`,`export`]],[[14],[`directory`,`rename`]],[[14],[`directory`,`add`,`create`,`new`]],[[14,11],[`directory`,`root`,`project`,`git`,`repo`]],[[14],[`directory`,`search`,`find`,`lost`,`browser`,`lens`]],[[14],[`directory`,`search`,`find`,`lost`,`browser`,`lens`]],[[14],[`directory`,`symlink`,`symbolic`,`link`]],[[14,3],[`directory`,`synchronize`,`synchronise`,`refresh`,`reconnect`,`transfer`,`backup`]],[[14],[`directory`,`tree`,`browser`]],[[14,3],[`directory`,`upload`,`import`,`export`]],[[14],[`directory`,`remove`,`delete`]],[[14],[`multiple`,`copy`,`directories`]],[[25],[`steps`,`walking`,`foot`,`feet`,`trail`,`shoe`]],[[40],[`machinery`,`industrial`,`warehouse`,`lifting`,`storage`,`equipment`,`heavy-duty`,`moving`,`vehicle`,`transport`,`logistics`]],[[11],[`document`,`page`,`file`,`layout`,`paper`,`stub`,`formality`,`structure`,`template`,`inputs`,`design`,`components`]],[[20],[`send`,`share`,`email`]],[[10,28],[`logo`,`design`,`tool`]],[[13,1],[`emoji`,`face`,`bad`,`sad`,`emotion`]],[[40,25],[`filling-station`,`gas`,`petrol`,`tank`]],[[19,23,10,28],[`expand`,`zoom`,`preview`,`focus`,`camera`,`lens`,`image`]],[[19],[`filter`,`hopper`]],[[19],[`filter`,`hopper`,`add`,`create`,`new`]],[[19],[`filter`,`hopper`,`remove`,`delete`]],[[19,10,11,28,23],[`carousel`,`pictures`,`images`,`scroll`,`swipe`,`album`,`portfolio`]],[[19,10,11,28,23,14],[`carousel`,`pictures`,`images`,`scroll`,`swipe`,`album`,`portfolio`,`history`,`versions`,`backup`,`time machine`]],[[19,10,11,28,23],[`carousel`,`pictures`,`images`,`album`,`portfolio`,`preview`]],[[19,10,11,28,23],[`carousel`,`pictures`,`images`,`scroll`,`swipe`,`album`,`portfolio`]],[[19,10,11,28,23,14],[`carousel`,`pictures`,`images`,`scroll`,`swipe`,`album`,`portfolio`,`history`,`versions`,`backup`,`time machine`]],[[17,12],[`console`]],[[17,12],[`console`]],[[17,12],[`direction`,`arrow`,`controller`,`navigation`,`button`,`move`,`pointer`,`arrowhead`,`console`,`game`,`gaming`]],[[40,35,29],[`dashboard`,`dial`,`meter`,`speed`,`pressure`,`measure`,`level`]],[[25,39],[`justice`,`law`,`court`,`judgment`,`legal`,`hands`,`penalty`,`decision`,`authority`,`hammer`,`mallet`]],[[17,11,15],[`diamond`,`crystal`,`ruby`,`jewellery`,`price`,`special`,`present`,`gift`,`ring`,`wedding`,`proposal`,`marriage`,`rubygems`]],[[15],[`currency`,`money`,`payment`]],[[17],[`pac-man`,`spooky`]],[[17,1],[`present`,`box`,`birthday`,`party`]],[[11],[`code`,`version control`,`vcs`,`repository`]],[[11],[`code`,`version control`,`vcs`,`repository`,`delete`,`remove`,`-`]],[[11],[`code`,`version control`,`vcs`,`repository`,`add`,`create`,`+`]],[[11,25],[`code`,`version control`,`waypoint`,`stop`,`station`]],[[11,25],[`code`,`version control`,`waypoint`,`stop`,`station`]],[[11],[`code`,`version control`,`diff`]],[[11,3],[`code`,`version control`,`diff`]],[[11],[`code`,`version control`]],[[11],[`code`,`version control`,`commit graph`,`commits`,`gitlens`]],[[11],[`code`,`version control`]],[[11],[`code`,`version control`,`commits`,`diff`,`error`,`conflict`]],[[11],[`code`,`version control`,`open`]],[[11,3],[`code`,`version control`,`open`]],[[11],[`code`,`version control`,`rejected`,`closed`,`cancelled`,`x`]],[[11],[`code`,`version control`,`open`,`plus`,`add`,`+`]],[[11,3],[`code`,`version control`,`open`,`plus`,`add`,`+`]],[[11],[`code`,`version control`,`open`,`draft`,`dashed`]],[[16],[`beverage`,`drink`,`glass`,`water`]],[[0],[`glasses`,`spectacles`]],[[25],[`world`,`browser`,`language`,`translate`]],[[31,11,12],[`vpn`,`private`,`privacy`,`network`,`world`,`browser`,`security`,`encryption`,`protection`,`connection`]],[[25,8,12],[`globe`,`earth`,`planet`,`disable`,`mute`,`off`,`hide`,`avoid`,`world`,`browser`,`language`,`translate`,`internet`,`offline`,`disconnected`,`network`,`connection`,`no connection`,`network failure`,`signal off`]],[[8,12,25],[`globe`,`internet`,`offline`,`disconnected`,`network`,`connection`,`world`,`no connection`,`network failure`,`signal off`]],[[17],[`flag`,`bullseye`]],[[12,17],[`processor`,`cores`,`technology`,`computer`,`chip`,`circuit`,`specs`,`graphics processing unit`,`video card`,`display adapter`,`gddr`,`rendering`,`digital image processing`,`crypto mining`]],[[5],[`school`,`university`,`learn`,`study`,`mortarboard`,`education`,`ceremony`,`academic`,`hat`,`diploma`,`bachlor's`,`master's`,`doctorate`]],[[16],[`fruit`,`wine`,`food`]],[[37,19,10,21],[`table`,`rows`,`columns`,`blocks`,`plot`,`land`,`geometry`,`measure`,`size`,`width`,`height`,`distance`,`surface area`,`square meter`,`acre`,`window`,`skylight`]],[[37,19,21],[`table`,`rows`,`columns`,`blocks`,`plot`,`land`,`geometry`,`measure`,`data`,`size`,`width`,`height`,`distance`,`surface area`,`square meter`,`acre`]],[[37,19,21],[`table`,`rows`,`columns`,`blocks`,`plot`,`land`,`geometry`,`measure`,`data`,`size`,`width`,`height`,`distance`,`surface area`,`square meter`,`acre`]],[[37,19,21],[`table`,`rows`,`columns`,`data`,`blocks`,`plot`,`land`,`geometry`,`measure`,`size`,`width`,`height`,`distance`,`surface area`,`square meter`,`acre`]],[[37,21,19,10],[`table`,`rows`,`columns`,`blocks`,`plot`,`land`,`geometry`,`measure`,`size`,`width`,`height`,`distance`,`surface area`,`square meter`,`acre`,`window`]],[[37,19,10],[`table`,`rows`,`columns`]],[[19],[`grab`,`dots`,`handle`,`move`,`drag`]],[[19],[`grab`,`dots`,`handle`,`move`,`drag`]],[[19],[`grab`,`dots`,`handle`,`move`,`drag`]],[[14],[`cubes`,`packages`,`parts`,`units`,`collection`,`cluster`,`gather`,`dashed`]],[[23],[`acoustic`,`instrument`,`strings`,`riff`,`rock`,`band`,`country`,`concert`,`performance`,`play`,`lead`,`loud`,`music`,`audio`,`sound`,`noise`]],[[16],[`food`,`pork`,`pig`,`meat`,`bone`,`hock`,`knuckle`,`gammon`,`cured`]],[[16],`burger.cheeseburger.meat.beef.patty.bun.fast food.junk food.takeaway.takeout.snack.dish.restaurant.lunch.meal.savory.savoury.cookery.cooking.grilled.barbecue.barbeque.bbq.lettuce.tomato.relish.pickles.onions.ketchup.mustard.mayonnaise`.split(`.`)],[[39,18],[`mallet`,`nails`,`diy`,`toolbox`,`build`,`construction`]],[[9,0],[`wave`,`move`,`mouse`,`grab`]],[[15,1],[`savings`,`banking`,`money`,`finance`,`offers`,`mortgage`,`payment`,`received`,`wage`,`payroll`,`allowance`,`pocket money`,`handout`,`pennies`]],[[34,13,7,35],[`clench`,`strength`,`power`,`unity`,`solidarity`,`rebellion`,`victory`,`triumph`,`support`,`fight`,`combat`,`brawl`]],[[9,10,19],[`hand`]],[[34],[`love`,`like`,`emotion`]],[[13],[`agreement`,`help`,`proposal`,`charity`,`begging`,`terms`]],[[13,23],[`rock`]],[[16,27],[`waiter`,`waitress`,`restaurant`,`table service`,`served`,`dinner`,`dining`,`meal`,`course`,`luxury`]],[[33,40],[`bag`,`baggage`,`carry`,`clutch`,`fashion`,`luggage`,`purse`,`tote`,`travel`]],[[1,34,7,15,31],[`agreement`,`partnership`,`deal`,`business`,`assistance`,`cooperation`,`friendship`,`union`,`terms`]],[[11,12],[`computer`,`server`,`memory`,`data`,`ssd`,`disk`,`hard disk`,`storage`,`hardware`,`backup`,`media`]],[[11,12,3,14],[`computer`,`server`,`memory`,`data`,`ssd`,`disk`,`hard disk`,`save`]],[[11,12,3,14],[`computer`,`server`,`memory`,`data`,`ssd`,`disk`,`hard disk`,`save`]],[[39],[`helmet`,`construction`,`safety`,`savety`]],[[37,34],[`hashtag`,`number`,`pound`]],[[34,1,31],[`incognito`,`disguise`,`costume`,`masked`,`anonymous`,`anonymity`,`privacy`,`private browsing`,`stealth`,`hidden`,`undercover`,`cloak`,`invisible`,`ghost`,`spy`,`agent`,`detective`,`identity`,`cap`,`fedora`,`spectacles`,`shades`,`sunglasses`,`eyewear`]],[[42],[`mist`,`fog`]],[[12,23],[`tv`,`resolution`,`video`,`high definition`,`720p`,`1080p`]],[[12,23,17],[`socket`,`plug`,`slot`,`controller`,`connector`,`interface`,`console`,`signal`,`audio`,`video`,`visual`,`av`,`data`,`input`,`output`]],[[37],[`h1`,`html`,`markup`,`markdown`]],[[37],[`h1`,`html`,`markup`,`markdown`]],[[37],[`h2`,`html`,`markup`,`markdown`]],[[37],[`h3`,`html`,`markup`,`markdown`]],[[37],[`h4`,`html`,`markup`,`markdown`]],[[37],[`h5`,`html`,`markup`,`markdown`]],[[37],[`h6`,`html`,`markup`,`markdown`]],[[23,8,7,12,17],[`music`,`audio`,`sound`,`mute`,`off`]],[[23,8,12,14,17],[`music`,`audio`,`sound`]],[[23,8,12,14,17],[`music`,`audio`,`sound`,`gaming`,`headphones`,`headset`,`call`,`center`,`phone`,`telephone`,`voip`,`video`]],[[22,34,23,13,17,32],[`like`,`love`,`emotion`,`suit`,`playing`,`cards`]],[[13],[`heartbreak`,`sadness`,`emotion`]],[[13,1,31],[`agreement`,`charity`,`help`,`deal`,`terms`,`emotion`,`together`,`handshake`]],[[22,1,23,17,34],[`unlike`,`unfavorite`,`remove`,`damage`,`ui & ux`]],[[34,23],[`unlike`,`dislike`,`hate`,`emotion`]],[[22,1,23,17,34],[`plus`,`like`,`favorite`,`add`,`health`,`support`]],[[22],[`heartbeat`,`pulse`,`health`,`medical`,`blood pressure`,`cardiac`,`systole`,`diastole`]],[[18,12,41],[`heating`,`warmth`,`comfort`,`fire`,`stove`,`electric`,`electronics`,`amenities`]],[[40,41],[`transport`,`flying`,`rotor`,`aviation`,`helipad`,`gear`,`flyer`,`technology`,`helicopter`,`aircraft`,`vehicle`]],[[32,4,11],[`shape`,`node.js`,`logo`]],[[37,10],[`mark`,`text`]],[[3,38],[`time`,`redo`,`undo`,`rewind`,`timeline`,`version`,`time machine`,`backup`,`rotate`,`ccw`]],[[16],[`beer`,`brewery`,`drink`]],[[16],[`beer`,`brewery`,`drink`,`hop free`,`allergy`,`intolerance`,`diet`]],[[22,5,25,41],[`infirmary`,`sanatorium`,`healthcare`,`doctor`,`hospice`,`clinic`,`emergency room`,`ward`,`building`,`medical`,`vet`]],[[5,25,41],[`building`,`hostel`,`motel`,`inn`]],[[38,17],[`timer`,`time`,`sandglass`]],[[5,18,25],[`home`,`living`,`building`,`residence`,`architecture`]],[[18,5,22],[`home sweet home`,`abode`,`building`,`residence`,`healthy living`,`lifestyle`]],[[5,18,36],[`home`,`living`,`building`,`residence`,`architecture`,`autarky`,`energy`]],[[5,22],[`home`,`living`,`medical`,`new`,`addition`,`building`,`residence`,`architecture`]],[[18,5,8],[`home`,`living`,`building`,`wifi`,`connectivity`]],[[16],[`gelato`,`food`,`dessert`,`dish`,`restaurant`,`course`,`meal`]],[[16],[`gelato`,`food`]],[[31,1],[`card`,`badge`,`identity`,`authentication`,`secure`]],[[31,1],[`id-card`,`id-card-lanyard`,`identity`,`employee`,`gate-pass`,`badge`]],[[28,37,23,14],[`picture`,`photo`]],[[28,37,23,14],[`picture`,`photo`,`download`,`save`,`export`]],[[28,23,14],[`remove`,`delete`]],[[28,23,14],[`picture`,`photo`]],[[28,37,23,14],[`picture`,`gif`,`photo`]],[[28,23,14],[`add`,`create`,`picture`]],[[28,37,23,14],[`picture`,`photo`,`upload`,`import`]],[[28,23],[`resize`,`picture`,`sharpen`,`increase`]],[[28,37,23,14],[`picture`,`photo`,`multiple`,`copy`,`gallery`,`album`,`collection`,`slideshow`,`showcase`]],[[3,14],[`save`]],[[1,20],[`email`]],[[15],[`currency`,`money`,`payment`]],[[23],[`unlimited`,`forever`,`loop`,`math`]],[[0,26],[`about`,`advice`,`clue`,`details`,`help`,`hint`,`indicator`,`information`,`knowledge`,`notice`,`status`,`support`,`tooltip`]],[[39],[`access`,`cover`,`tile`,`metal`,`materials`,`screws`]],[[37],[`oblique`,`text`,`format`]],[[3,10],[`arrow`,`right`]],[[3,10],[`arrow`,`left`]],[[15],[`currency`,`money`,`payment`]],[[17,12],[`game`,`console`,`control stick`]],[[6,11,10],[`projects`,`manage`,`overview`,`board`,`tickets`,`issues`,`roadmap`,`plan`,`intentions`,`productivity`,`work`,`agile`,`code`,`coding`]],[[40],[`kayak`,`boat`,`paddle`,`water`,`sport`,`recreation`,`adventure`,`outdoors`,`equipment`,`lake`,`ocean`]],[[31,1],[`password`,`login`,`authentication`,`secure`,`unlock`,`keychain`,`key ring`,`fob`]],[[31,1],[`password`,`login`,`authentication`,`secure`,`unlock`]],[[31,1],[`password`,`login`,`authentication`,`secure`,`unlock`,`car key`]],[[37,12,11],[`layout`,`spell`,`settings`,`mouse`]],[[23,12],[`music`,`audio`,`sound`,`noise`,`notes`,`keys`,`chord`,`octave`,`midi`,`controller`,`instrument`,`electric`,`signal`,`digital`,`studio`,`production`,`producer`,`pianist`,`piano`,`play`,`performance`,`concert`]],[[12,37,11],[`unkeys`,`layout`,`spell`,`settings`,`mouse`]],[[18],[`lighting`,`household`,`home`,`furniture`]],[[18],[`lighting`,`household`,`home`,`furniture`]],[[18],[`lighting`,`household`,`office`,`desk`,`home`,`furniture`]],[[18],[`lighting`,`household`,`floor`,`home`,`furniture`]],[[18],[`lighting`,`household`,`wall`,`home`,`furniture`]],[[18],[`lighting`,`household`,`wall`,`home`,`furniture`]],[[10,39,21,35,17],[`area`,`surface`,`square metres`,`allotment`,`parcel`,`property`,`plane`,`acres`,`measure`,`distance`,`isometric`,`flag`,`golf course`,`hole`]],[[15,25,5],[`bank`,`building`,`capitol`,`finance`,`money`,`museum`,`art gallery`,`hall`,`institute`,`pediment`,`portico`,`columns`,`pillars`,`classical`,`architecture`,`government`,`institution`]],[[37],[`translate`]],[[12],[`computer`,`screen`,`remote`]],[[12],[`computer`,`screen`,`remote`]],[[12,26],[`computer`,`screen`,`remote`,`success`,`done`,`todo`,`tick`,`complete`,`task`]],[[10,9],[`select`,`cursor`]],[[3,10,9],[`select`,`cursor`]],[[13],[`emoji`,`face`,`happy`,`good`,`emotion`]],[[10,19],[`stack`,`pile`,`pages`,`sheets`,`paperwork`,`copies`,`copy`]],[[10,19],[`stack`,`pile`,`pages`,`sheets`,`paperwork`,`copies`,`copy`,`duplicate`,`double`,`shortcuts`]],[[10,19],[`stack`,`layers`,`add`,`new`,`increase`,`create`,`positive`,`copy`,`upgrade`]],[[10,19],[`masonry`,`brick`]],[[10,19],[`app`,`home`,`start`]],[[10,19,28,37],[`todo`,`tasks`,`items`,`pending`,`image`,`photo`]],[[10,19],[`app`,`home`,`start`,`grid`]],[[19],[`window`,`webpage`,`block`,`section`,`grid`,`template`,`structure`]],[[19],[`window`,`webpage`,`block`,`section`]],[[24,36,30],[`sustainability`,`nature`,`energy`,`plant`,`autumn`]],[[16,13,36],[`salad`,`lettuce`,`vegetable`,`chard`,`cabbage`,`bok choy`]],[[7,23],[`pulpit`,`podium`,`stand`]],[[29,39,32],[`concave`,`lens`,`optics`,`light`,`magnification`,`curved`,`focus`,`refraction`,`science`,`physics`,`eyeglass`,`telescope`,`microscope`]],[[29,39,32],[`convex`,`lens`,`optics`,`magnification`,`focus`,`light`,`refraction`,`physics`,`eyeglass`,`telescope`,`microscope`,`curved`,`science`]],[[37,28,23,25,11],[`books`,`reading`,`written`,`authors`,`stories`,`fiction`,`novels`,`information`,`knowledge`,`education`,`high school`,`university`,`college`,`academy`,`learning`,`study`,`research`,`collection`,`vinyl`,`records`,`albums`,`music`,`package`]],[[37,28,23,25,11],[`books`,`reading`,`written`,`authors`,`stories`,`fiction`,`novels`,`information`,`knowledge`,`education`,`high school`,`university`,`college`,`academy`,`learning`,`study`,`research`,`collection`,`vinyl`,`records`,`albums`,`music`,`package`]],[[0,22],[`preserver`,`life belt`,`lifesaver`,`help`,`rescue`,`ship`,`ring`,`raft`,`inflatable`,`wheel`,`donut`]],[[37],[`text`,`font`,`typography`,`alternates`,`alternatives`]],[[28],[`idea`,`bright`,`lights`]],[[28],[`lights`]],[[11,25],[`code`,`version control`,`waypoint`,`stop`,`station`,`last`,`end`]],[[32,21,10],[`line`,`snakes`,`annotate`,`curve`,`doodle`,`stroke`,`pen`,`tool`,`gesture`,`draw`,`wave`,`art`,`road`]],[[37,1],[`chain`,`url`]],[[37,1],[`chain`,`url`]],[[37],[`unchain`,`chain`]],[[37],[`options`]],[[37],[`done`,`check`,`tick`,`complete`,`list`,`to-do`,`bom`]],[[37],[`todo`,`done`,`check`,`tick`,`complete`,`tasks`,`items`,`pending`]],[[37,3],[`options`,`items`,`collapse`,`expand`,`details`,`disclosure`,`show`,`hide`,`toggle`,`accordion`,`more`,`less`,`fold`,`unfold`,`vertical`]],[[37,3],[`options`,`items`,`collapse`,`expand`,`details`,`disclosure`,`show`,`hide`,`toggle`,`accordion`,`more`,`less`,`fold`,`unfold`,`vertical`]],[[37],[`items`,`collapse`,`expand`,`details`,`disclosure`,`show`,`hide`,`toggle`,`accordion`,`more`,`less`,`fold`,`unfold`]],[[23,37],[`queue`,`bottom`,`end`,`playlist`]],[[37],[`options`]],[[37,19],[`filter`,`plus`,`options`,`add`]],[[37,11],[`text`,`tab`]],[[37,11],[`text`,`tab`]],[[23,37],[`playlist`,`remove`,`song`,`subtract`,`delete`,`unqueue`]],[[23],[`playlist`,`queue`,`music`,`audio`,`playback`]],[[37],[`number`,`order`,`queue`]],[[23,37],[`playlist`,`add`,`song`,`track`,`new`]],[[23,37],[`reset`,`refresh`,`reload`,`playlist`,`replay`]],[[23,37],[`queue`,`top`,`start`,`next`,`playlist`]],[[37],[`todo`,`done`,`check`,`tick`,`complete`,`tasks`,`items`,`pending`]],[[14,37,19],[`tree`,`browser`]],[[23],[`playlist`,`video`,`playback`]],[[23,37],[`playlist`,`subtract`,`remove`,`delete`,`unqueue`]],[[9,23,19,10],[`loading`,`wait`,`busy`,`progress`,`spinner`,`spinning`,`throbber`]],[[9,23,19],[`loading`,`wait`,`busy`,`progress`,`spinner`,`spinning`,`throbber`,`circle`]],[[9,10],[`loading`,`wait`,`busy`,`progress`,`throbber`,`spinner`,`spinning`,`beach ball`,`frozen`,`freeze`]],[[25],[`map`,`gps`,`location`,`cross`]],[[25],[`map`,`gps`,`location`,`cross`]],[[25],[`map`,`gps`,`location`,`cross`]],[[31],[`security`,`password`,`secure`,`admin`]],[[31],[`security`,`password`,`secure`,`admin`]],[[31],[`security`]],[[31],[`security`]],[[3,1],[`sign in`,`arrow`,`enter`,`auth`]],[[3,1],[`sign out`,`arrow`,`exit`,`auth`]],[[37],[`options`,`list`,`menu`,`order`,`queue`,`tasks`,`logs`]],[[16],[`lolly`,`candy`,`sugar`,`food`,`sweet`,`dessert`,`spiral`]],[[41,40],[`baggage`,`luggage`,`travel`,`suitcase`]],[[10],[`horseshoe`,`lock`,`science`,`snap`]],[[37,1,20],[`email`,`message`,`letter`,`unread`]],[[20],[`email`,`message`,`letter`,`subscribe`,`delivered`,`success`,`read`,`done`,`todo`,`tick`,`complete`,`task`]],[[20],[`email`,`message`,`letter`,`remove`,`delete`]],[[20],[`email`,`message`,`letter`,`read`]],[[20],[`email`,`message`,`letter`,`add`,`create`,`new`,`compose`]],[[20],[`email`,`message`,`letter`,`delivery`,`undelivered`]],[[20],[`email`,`message`,`letter`,`search`,`lens`]],[[20],[`email`,`message`,`letter`,`delivery error`,`exclamation mark`]],[[20],[`email`,`message`,`letter`,`remove`,`delete`]],[[20],[`emails`,`messages`,`letters`,`mailing list`,`newsletter`]],[[20],[`emails`,`messages`,`letters`,`multiple`,`mailing list`,`newsletter`,`copy`]],[[37,25],[`location`,`navigation`,`travel`]],[[25,41],[`location`,`navigation`,`travel`,`drop`,`delete`,`remove`,`erase`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`done`,`tick`,`complete`,`task`,`added`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`done`,`tick`,`complete`,`task`,`added`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`home`,`living`,`building`,`residence`,`architecture`,`address`,`poi`,`real estate`,`property`,`navigation`,`destination`,`geolocation`,`place`,`landmark`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`delete`,`remove`,`erase`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`delete`,`remove`,`erase`]],[[25,41],[`location`,`waypoint`,`marker`,`remove`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`edit`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`add`,`create`,`new`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`add`,`create`,`new`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`delete`,`remove`,`erase`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`,`delete`,`remove`,`erase`]],[[25,41,1],[`location`,`waypoint`,`marker`,`drop`]],[[25],[`location`,`navigation`,`travel`,`new`,`add`,`create`]],[[22],[`gender`,`sex`,`male`,`masculine`,`man`,`boy`]],[[22],[`gender`,`androgyne`,`transgender`]],[[16],[`cocktail`,`alcohol`,`beverage`,`bar`,`drink`,`glass`]],[[19,10],[`fullscreen`,`expand`,`dashed`]],[[3,19,10],[`fullscreen`,`arrows`,`expand`]],[[35,17],[`prize`,`sports`,`winner`,`trophy`,`award`,`achievement`]],[[23,26],[`advertisement`,`announcement`,`attention`,`alert`,`loudspeaker`,`megaphone`,`notification`]],[[23,26],[`advertisement`,`announcement`,`attention`,`alert`,`loudspeaker`,`megaphone`,`notification`,`disable`,`silent`]],[[13],[`emoji`,`face`,`neutral`,`emotion`]],[[12,17],[`ram`,`random access`,`technology`,`computer`,`chip`,`circuit`,`specs`,`capacity`,`gigabytes`,`gb`]],[[19,1],[`bars`,`navigation`,`hamburger`,`options`]],[[11,3],[`combine`,`join`,`unite`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`]],[[34,1],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`moderate`,`check`,`done`,`todo`,`complete`]],[[11,34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`code review`,`coding`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`draft`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`positive`,`like`,`love`,`interest`,`valentine`,`dating`,`date`,`speech bubble`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`typing`,`writing`,`responding`,`ellipsis`,`etc`,`et cetera`,`...`,`…`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`clear`,`close`,`delete`,`remove`,`cancel`,`silence`,`mute`,`moderate`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`add`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`help`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`reply`,`response`]],[[34,26],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`report`,`abuse`,`offense`,`alert`,`danger`,`caution`,`protected`,`exclamation mark`]],[[1,34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`clear`,`close`,`delete`,`remove`,`cancel`,`silence`,`mute`,`moderate`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`]],[[34,1],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`moderate`,`check`,`done`,`todo`,`complete`]],[[11,34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`code review`,`coding`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`draft`]],[[11,14,34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`add`,`patch`,`difference`,`plus`,`minus`,`plus-minus`,`math`,`code review`,`coding`,`version control`,`git`]],[[34,26],[`unread`,`unresolved`,`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`positive`,`like`,`love`,`interest`,`valentine`,`dating`,`date`,`speech bubble`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`secure`,`encrypted`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`typing`,`writing`,`responding`,`ellipsis`,`etc`,`et cetera`,`...`,`…`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`clear`,`close`,`delete`,`remove`,`cancel`,`silence`,`mute`,`moderate`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`add`]],[[34,37],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`blockquote`,`quotation`,`indent`,`reply`,`response`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`reply`,`response`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`network`,`forward`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`]],[[34,26],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`report`,`abuse`,`offense`,`alert`,`danger`,`caution`,`protected`,`exclamation mark`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubble`,`clear`,`close`,`delete`,`remove`,`cancel`,`silence`,`mute`,`moderate`]],[[34],[`comment`,`chat`,`conversation`,`dialog`,`feedback`,`speech bubbles`,`copy`,`multiple`,`discussion`,`interview`,`debate`]],[[23,38],[`metronome`,`tempo`,`rhythm`,`beat`,`bpm`,`music`,`audio`,`sound`,`practice`,`timing`,`timer`,`time`,`pulse`,`sync`,`cadence`,`control`,`playback`,`studio`,`tool`]],[[12,7,8,23],[`record`,`sound`,`listen`,`radio`,`podcast`,`microphone`]],[[12,7,8,23],[`record`,`sound`,`mute`,`microphone`]],[[12,23],[`lyrics`,`voice`,`listen`,`sound`,`music`,`radio`,`podcast`,`karaoke`,`singing`,`microphone`]],[[12],[`processor`,`cores`,`technology`,`computer`,`chip`,`integrated circuit`,`memory`,`ram`,`specs`,`gpu`,`gigahertz`,`ghz`]],[[29,22],[`medical`,`education`,`science`,`imaging`,`research`]],[[16,18],[`oven`,`cooker`,`toaster oven`,`bake`]],[[3,25,11,17],[`signpost`,`direction`,`right`,`east`,`forward`,`version control`,`waypoint`]],[[16],[`lactose`,`bottle`,`beverage`,`drink`,`water`,`diet`]],[[16],[`lactose free`,`bottle`,`beverage`,`drink`,`water`,`allergy`,`intolerance`,`diet`]],[[19,10],[`exit fullscreen`,`close`,`shrink`]],[[3,19,10],[`exit fullscreen`,`arrows`,`close`,`shrink`]],[[21,11,37,39],[`subtract`,`remove`,`decrease`,`decrement`,`reduce`,`negative`,`calculate`,`line`,`divider`,`separator`,`horizontal rule`,`hr`,`html`,`markup`,`markdown`,`---`,`toolbar`,`operator`,`code`,`coding`,`minimum`,`downgrade`]],[[29,18,39],[`reflection`,`optics`,`glass`,`surface`,`image`,`physics`,`science`,`bathroom`,`decor`,`cosmetic`,`shiny`,`periscope`,`vanity`]],[[29,18,39],[`reflection`,`optics`,`glass`,`surface`,`image`,`physics`,`science`,`bathroom`,`vanity`,`makeup`,`decor`,`cosmetic`,`shiny`,`periscope`]],[[8,12],[`tv`,`screen`,`display`,`virtual machine`,`vm`]],[[8,12],[`tv`,`screen`,`display`,`desktop`,`running`,`active`,`virtual machine`,`vm`]],[[8,12,11],[`virtual machine`,`virtual desktop`,`vm`,`vdi`,`computing`,`remote work`,`monitoring`,`infrastructure`,`software as a service`,`saas`,`workstation`,`environment`,`tv`,`screen`,`display`]],[[8,12],[`tv`,`screen`,`display`,`virtual machine`,`vm`,`executable`,`settings`,`cog`,`edit`,`gear`,`configuration`,`preferences`,`system`,`control panel`,`network`,`computing`]],[[8,12],[`tv`,`screen`,`display`,`desktop`,`running`,`active`,`virtual machine`,`vm`]],[[8,12],[`tv`,`screen`,`display`,`desktop`,`download`]],[[8,12],[`share`]],[[8,12,23],[`tv`,`screen`,`display`,`desktop`,`video`,`movie`,`film`,`suspend`,`hibernate`,`boot`,`virtual machine`,`vm`]],[[8,12,23],[`tv`,`screen`,`display`,`desktop`,`video`,`movie`,`film`,`running`,`start`,`boot`,`virtual machine`,`vm`]],[[8,12],[`smartphone`,`phone`,`cellphone`,`device`,`mobile`,`desktop`,`monitor`,`responsive`,`screens`]],[[8,12],[`devices`,`connect`,`cast`]],[[8,12,23],[`tv`,`screen`,`display`,`desktop`,`video`,`movie`,`film`,`stop`,`shutdown`,`virtual machine`,`vm`]],[[8,12],[`tv`,`screen`,`display`,`upload`,`connect`,`remote`,`screen share`]],[[8,12],[`tv`,`screen`,`display`,`desktop`,`virtual machine`,`vm`,`close`,`stop`,`suspend`,`remove`,`delete`]],[[0],[`dark`,`night`]],[[0,42],[`dark`,`night`,`star`]],[[40],[`moto`,`motorcycle`,`transport`,`vehicle`,`drive`,`ride`,`trip`,`race`,`racing`,`journey`,`delivery`]],[[24,17],[`climb`,`hike`,`rock`]],[[24],[`alpine`,`climb`,`snow`]],[[12],[`device`,`scroll`,`click`]],[[12],[`device`,`scroll`,`click`]],[[12],[`device`,`scroll`,`click`,`disabled`]],[[3,9],[`click`,`select`]],[[3,9],[`click`,`select`]],[[3,9],[`pointer`,`mouse`,`cursor`,`off`,`disable`,`arrow`,`navigation`,`selection`,`select`,`click`,`no-click`,`interaction`]],[[3,9],[`wait`,`busy`,`loading`,`blocked`,`frozen`,`freeze`]],[[3,9],[`click`,`select`]],[[12],[`device`,`scroll`,`click`]],[[3,9],[`arrows`]],[[10],[`arrows`,`axis`,`gizmo`,`coordinates`,`transform`,`translate`]],[[3,9],[`double`,`arrow`]],[[3,9],[`double`,`arrow`]],[[3],[`arrow`,`direction`,`downwards`,`south`]],[[3],[`arrow`,`direction`]],[[3],[`arrow`,`direction`]],[[3,9],[`double`,`arrow`]],[[3],[`arrow`,`direction`,`back`,`west`]],[[3],[`arrow`,`direction`,`trend flat`,`east`]],[[3],[`arrow`,`direction`,`upwards`,`north`]],[[3],[`arrow`,`direction`]],[[3],[`arrow`,`direction`]],[[3,9],[`double`,`arrow`]],[[23,14],[`note`,`quaver`,`eighth note`]],[[23,14],[`quaver`,`eighth note`,`note`]],[[23,14],[`crotchet`,`minim`,`quarter note`,`half note`,`note`]],[[23,14],[`semiquaver`,`sixteenth note`,`note`]],[[25],[`location`,`travel`]],[[25],[`location`,`travel`]],[[25],[`location`,`travel`]],[[25],[`location`,`travel`]],[[11],[`tree`]],[[23,7],[`news`,`feed`,`home`,`magazine`,`article`,`headline`]],[[7,15,12],[`contactless`,`payment`,`near-field communication`]],[[22],[`gender`,`nonbinary`,`enby`]],[[37,7,34,10],`notepad.notes.stationery.sketchbook.moleskine.closure.strap.band.elastic.organizer.organiser.planner.diary.journal.writing.written.writer.reading.high school.university.college.academy.student.study.homework.research`.split(`.`)],[[37,34],[`pencil`,`notepad`,`notes`,`noted`,`stationery`,`sketchbook`,`organizer`,`organiser`,`planner`,`diary`,`journal`,`writing`,`write`,`written`,`reading`,`high school`,`university`,`college`,`academy`,`student`,`study`,`research`,`homework`,`eraser`,`rubber`]],[[1,7,34],[`notepad`,`notes`,`people`,`family`,`friends`,`acquaintances`,`contacts`,`details`,`addresses`,`phone numbers`,`directory`,`listing`,`networking`,`alphabetical`,`a-z`,`organizer`,`organiser`,`planner`,`diary`,`stationery`]],[[37,34],[`notepad`,`notes`,`pages`,`paper`,`stationery`,`sketchbook`,`organizer`,`organiser`,`planner`,`diary`,`journal`,`writing`,`write`,`written`,`reading`,`high school`,`university`,`college`,`academy`,`student`,`study`,`research`,`homework`,`lines`,`opened`]],[[37,34],[`notebook`,`notes`,`pages`,`paper`,`stationery`,`sketchbook`,`organizer`,`organiser`,`planner`,`diary`,`journal`,`writing`,`write`,`written`,`reading`,`high school`,`university`,`college`,`academy`,`student`,`study`,`homework`,`research`,`lines`,`opened`]],[[37,34],[`notebook`,`notes`,`pages`,`paper`,`stationery`,`diary`,`journal`,`writing`,`write`,`written`,`draft`,`template`,`lines`]],[[16],[`hazelnut`,`acorn`,`food`,`diet`]],[[16],[`hazelnut`,`acorn`,`food`,`allergy`,`intolerance`,`diet`]],[[32],[`stop`,`shape`]],[[26,32],[`warning`,`alert`,`danger`,`exclamation mark`]],[[40],[`stop`,`forbidden`,`subtract`,`remove`,`decrease`,`reduce`,`-`,`traffic`,`halt`,`restricted`]],[[23,32],[`music`,`audio`,`stop`]],[[21,26],[`delete`,`stop`,`alert`,`warning`,`times`,`clear`,`math`]],[[21,11,37,29],[`greek`,`symbol`,`mathematics`,`education`,`physics`,`engineering`,`ohms`,`electrical resistance`,`angular frequency`,`dynamical systems`,`astronomy`,`constellations`,`philosophy`]],[[11],[`keyboard`,`key`,`mac`,`alt`,`button`]],[[29],[`planet`,`space`,`physics`,`satellites`,`moons`]],[[2,10],[`paper`,`bird`]],[[14,11],[`box`,`container`,`storage`,`sealed`,`delivery`,`undelivered`,`unopened`,`packed`,`archive`,`zip`,`module`]],[[14,11],[`box`,`container`,`storage`,`sealed`,`packed`,`unopened`,`undelivered`,`archive`,`zip`]],[[11],[`confirm`,`verified`,`done`,`todo`,`tick`,`complete`,`task`,`delivered`]],[[11],[`delete`,`remove`]],[[14,11],[`box`,`container`,`storage`,`unpack`,`unarchive`,`unzip`,`opened`,`delivered`]],[[11],[`new`,`add`,`create`]],[[14,11],[`find`,`product process`,`lens`]],[[11],[`delete`,`remove`]],[[10,39],[`fill`,`paint`,`bucket`,`color`,`colour`]],[[37,10,18,39],[`brush`,`color`,`colour`,`decoration`,`diy`]],[[37,10,28,18,39],[`brush`,`paintbrush`,`design`,`color`,`colour`,`decoration`,`diy`]],[[37,10,28,18,39],[`brush`,`paintbrush`,`design`,`color`,`colour`,`decoration`,`diy`]],[[37,10,28],[`colors`,`colours`,`theme`,`scheme`,`paint`,`watercolor`,`watercolour`,`artist`]],[[2],[`animal`,`wildlife`,`bear`,`zoo`,`bamboo`]],[[19],[`drawer`,`dock`]],[[19,3],[`drawer`,`dock`,`hide`,`chevron`,`down`]],[[19],[`drawer`,`dock`,`show`,`reveal`,`padding`,`margin`,`guide`,`layout`,`bleed`]],[[19,3],[`drawer`,`dock`,`show`,`reveal`,`chevron`,`up`]],[[19],[`primary`,`drawer`]],[[19,3],[`primary`,`drawer`,`hide`,`chevron`,`<`]],[[19],[`sidebar`,`primary`,`drawer`,`show`,`reveal`,`padding`,`margin`,`guide`,`layout`,`bleed`]],[[19,3],[`primary`,`drawer`,`show`,`reveal`,`chevron`,`right`,`>`]],[[19],[`sidebar`,`primary`,`drawer`,`show`,`reveal`,`padding`,`margin`,`guide`,`layout`,`vertical`,`bleed`]],[[19],[`sidebar`,`secondary`,`drawer`]],[[19,3],[`sidebar`,`secondary`,`drawer`,`hide`,`chevron`,`>`]],[[19],[`sidebar`,`secondary`,`drawer`,`show`,`reveal`,`padding`,`margin`,`guide`,`layout`,`bleed`]],[[19,3],[`sidebar`,`secondary`,`drawer`,`show`,`reveal`,`chevron`,`left`,`<`]],[[19,10,11],[`drawer`,`browser`,`webpage`]],[[19],[`sidebar`,`primary`,`drawer`,`show`,`reveal`,`padding`,`margin`,`guide`,`layout`,`horizontal`,`bleed`]],[[19,3],[`menu bar`,`drawer`,`hide`,`chevron`,`up`]],[[19],[`menu bar`,`drawer`,`show`,`reveal`,`padding`,`margin`,`guide`,`layout`,`bleed`]],[[19,3],[`menu bar`,`drawer`,`show`,`reveal`,`chevron`,`down`]],[[19],[`drawers`,`sidebar`,`primary`]],[[19],[`drawers`,`sidebar`,`secondary`]],[[19,10,11],[`menu bar`,`sidebar`,`primary`,`drawers`,`window`,`webpage`,`projects`,`overview`]],[[37,10,14,20],[`attachment`,`file`]],[[11,14,21],[`code`,`token`,`parenthesis`,`parens`,`brackets`,`parameters`,`arguments`,`args`,`input`,`call`,`math`,`formula`,`function`,`(`,`)`]],[[40,25],[`driving`,`car park`,`pay`,`sidewalk`,`pavement`]],[[13],[`emoji`,`congratulations`,`celebration`,`party`,`tada`,`🎉`,`🎊`,`excitement`,`exciting`,`excites`,`confetti`]],[[23],[`music`,`stop`]],[[2],[`pets`,`vets`,`veterinarian`,`domesticated`,`cat`,`dog`,`bear`]],[[12,17],[`computer`,`chassis`]],[[37,10,39],[`pencil`,`change`,`create`,`draw`,`writer`,`writing`,`biro`,`ink`,`marker`,`felt tip`,`stationery`,`artist`]],[[37,10,39],[`pencil`,`change`,`create`,`draw`,`writer`,`writing`,`biro`,`ink`,`marker`,`felt tip`,`stationery`,`artist`]],[[37,10,39],[`disabled`,`inactive`,`non-editable`,`locked`,`read-only`,`unmodifiable`,`frozen`,`restricted`,`pencil`,`change`,`create`,`draw`,`writer`,`writing`,`biro`,`ink`,`marker`,`felt tip`,`stationery`,`artist`]],[[37,10,9],[`vector`,`drawing`,`path`]],[[10,9,39,37],[`rubber`,`edit`,`create`,`draw`,`sketch`,`draft`,`writer`,`writing`,`stationery`,`artist`]],[[37,10,39],[`pencil`,`change`,`create`,`draw`,`sketch`,`draft`,`writer`,`writing`,`biro`,`ink`,`marker`,`felt tip`,`stationery`,`artist`]],[[10,9,39,37],[`disabled`,`inactive`,`non-editable`,`locked`,`read-only`,`unmodifiable`,`frozen`,`restricted`,`rubber`,`edit`,`create`,`draw`,`sketch`,`draft`,`writer`,`writing`,`stationery`,`artist`]],[[39,10,19,37],`edit.create.draw.sketch.draft.writer.writing.stationery.artist.measurements.centimeters.cm.millimeters.mm.metre.foot.feet.inches.units.size.length.width.height.dimensions.depth.breadth.extent`.split(`.`)],[[32],[`shape`]],[[21,11,15,33],[`percentage`,`modulo`,`modulus`,`remainder`,`%`,`sale`,`discount`,`offer`,`marketing`]],[[0,27],[`people`,`human`,`accessibility`,`stick figure`]],[[15],[`currency`,`peso`,`money`,`php`]],[[37,8,12,7],[`call`]],[[8,12,7],[`ring`]],[[3,8,12,7],[`call`]],[[3,8,12,7],[`call`]],[[8,12,7],[`call`]],[[8,12,7],[`call`,`mute`]],[[3,8,12,7],[`call`]],[[11,21],[`constant`,`code`,`coding`,`programming`,`symbol`,`trigonometry`,`geometry`,`formula`]],[[23,12],[`music`,`audio`,`sound`,`noise`,`notes`,`chord`,`keys`,`octave`,`acoustic`,`instrument`,`play`,`pianist`,`performance`,`concert`]],[[39,17],[`mining`,`mine`,`land worker`,`extraction`,`labor`,`construction`,`progress`,`advancement`,`crafting`,`building`,`creation`]],[[23],[`display`,`play`,`video`,`pop out`,`always on top`,`window`,`inset`,`multitask`]],[[23],[`display`,`play`,`video`,`pop out`,`always on top`,`window`,`inset`,`multitask`]],[[15],[`money`,`savings`]],[[37],[`paragraph`,`mark`,`paraph`,`blind`,`typography`,`type`,`text`,`prose`,`symbol`]],[[37],[`direction`,`paragraph`,`mark`,`paraph`,`blind`,`typography`,`type`,`text`,`prose`,`symbol`]],[[37],[`direction`,`paragraph`,`mark`,`paraph`,`blind`,`typography`,`type`,`text`,`prose`,`symbol`]],[[22],[`medicine`,`medication`,`drug`,`prescription`,`tablet`,`pharmacy`]],[[22],[`medicine`,`medication`,`prescription`,`drug`,`supplement`,`vitamin`,`capsule`,`jar`,`container`,`healthcare`,`pharmaceutical`,`tablet`]],[[25,1],[`save`,`map`,`lock`,`fix`]],[[25],[`unpin`,`map`,`unlock`,`unfix`,`unsave`,`remove`]],[[37,10,29],[`eye dropper`,`color picker`,`lab`,`chemistry`]],[[16],[`pie`,`quiche`,`food`]],[[40,41,25],[`plane`,`trip`,`airplane`]],[[40,41],[`arrival`,`plane`,`trip`,`airplane`,`landing`]],[[40,41],[`departure`,`plane`,`trip`,`airplane`,`takeoff`]],[[3,23],[`music`,`audio`,`video`,`start`,`run`]],[[12,11],[`electricity`,`energy`,`electronics`,`socket`,`outlet`,`power`,`voltage`,`current`,`charger`]],[[12,11],[`electricity`,`energy`,`socket`,`outlet`]],[[12],[`electricity`,`energy`,`electronics`,`charge`,`charging`,`battery`,`connect`]],[[21,39,11,37,9,17],[`add`,`new`,`increase`,`increment`,`positive`,`calculate`,`toolbar`,`crosshair`,`aim`,`target`,`scope`,`sight`,`reticule`,`maximum`,`upgrade`,`extra`,`+`]],[[39],[`swiss army knife`,`penknife`,`multi-tool`,`multitask`,`blade`,`cutter`,`gadget`,`corkscrew`]],[[23,34],[`audio`,`music`,`mic`,`talk`,`voice`,`subscribe`,`subscription`,`stream`]],[[9],[`mouse`]],[[9],[`mouse`]],[[16,23],[`cinema`,`movies`,`films`,`salted`,`sweet`,`sugar`,`candy`,`snack`]],[[16],[`ice lolly`,`ice cream`,`sweet`,`food`]],[[15],[`currency`,`money`,`payment`]],[[8],[`on`,`off`,`device`,`switch`,`toggle`,`binary`,`boolean`,`reboot`,`restart`,`button`,`keyboard`,`troubleshoot`]],[[8],[`on`,`off`,`device`,`switch`]],[[23,28,12,7,10],[`screen`,`whiteboard`,`marker pens`,`markers`,`blackboard`,`chalk`,`easel`,`school`,`learning`,`lesson`,`office`,`meeting`,`project`,`planning`]],[[12],[`fax`,`office`,`device`]],[[12],[`fax`,`office`,`device`,`success`,`printed`]],[[12],[`fax`,`office`,`device`,`cross`,`cancel`,`remove`,`error`]],[[23,28,12,7],[`cinema`,`film`,`movie`,`home video`,`presentation`,`slideshow`,`office`,`meeting`,`project`,`planning`]],[[19,10,28,12],[`screens`,`sizes`,`rotate`,`rotation`,`adjust`,`aspect ratio`,`16:9`,`widescreen`,`4:3`,`resolution`,`responsive`,`mobile`,`desktop`,`dimensions`,`monitor`,`orientation`,`portrait`,`landscape`]],[[11,17],[`component`,`module`,`part`,`piece`]],[[32,21,41],[`prism`,`triangle`,`triangular`,`hierarchy`,`structure`,`geometry`,`ancient`,`egyptian`,`landmark`,`tourism`]],[[11,34],[`barcode`,`scan`,`link`,`url`,`information`,`digital`]],[[37],[`quotation`]],[[2],[`animal`,`rodent`,`pet`,`pest`,`bunny`,`hare`,`fast`,`speed`,`hop`]],[[25,31,7],[`scan`,`sonar`,`detect`,`find`,`locate`]],[[29],[`radioactive`,`nuclear`,`fallout`,`waste`,`atomic`,`physics`,`particle`,`element`,`molecule`]],[[11,21],[`calculate`,`formula`,`math`,`operator`,`root`,`square`,`symbol`]],[[12,23,34],[`signal`,`broadcast`,`connectivity`,`live`,`frequency`]],[[12],[`device`,`music`,`connect`]],[[12,23,34],[`signal`,`broadcast`,`connectivity`,`live`,`frequency`]],[[32,21,10,39],[`shape`,`circle`,`geometry`,`trigonometry`,`radii`,`calculate`,`measure`,`size`]],[[42],[`colors`,`colours`,`spectrum`,`light`,`prism`,`arc`,`clear`,`sunshine`]],[[2],[`mouse`,`mice`,`gerbil`,`rodent`,`pet`,`pest`,`plague`,`disease`]],[[19,10,28],[`screens`,`sizes`,`rotate`,`rotation`,`adjust`,`aspect ratio`,`proportions`,`16:9`,`widescreen`,`4:3`,`resolution`,`responsive`,`mobile`,`desktop`,`dimensions`,`monitor`,`orientation`,`portrait`,`landscape`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`currency`,`dollar`,`usd`,`$`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`currency`,`cents`,`dollar`,`usd`,`$`,`¢`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`currency`,`€`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`currency`,`inr`,`₹`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`currency`,`jpy`,`¥`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`british`,`currency`,`gbp`,`£`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`currency`,`rub`,`₽`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`currency`,`chf`,`₣`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`details`,`small print`,`terms`,`conditions`,`contract`]],[[15,41],[`bill`,`voucher`,`slip`,`check`,`counterfoil`,`currency`,`try`,`₺`]],[[11,37],[`compose`,`keyboard`,`key`,`button`]],[[37,11],`login,password,authenticate,2fa,field,fill,ellipsis,et cetera,etc,loader,loading,progress,pending,throbber,menu,options,operator,code,spread,rest,more,further,extra,overflow,dots,…,...`.split(`,`)],[[12,17,23,8],[`vr`,`virtual`,`augmented`,`reality`,`headset`,`goggles`]],[[32,10],[`rectangle`,`aspect ratio`,`16:9`,`horizontal`,`shape`]],[[32,10],[`rectangle`,`aspect ratio`,`9:16`,`vertical`,`shape`]],[[36],[`sustainability`,`salvage`,`arrows`]],[[37,3],[`undo`,`rerun`,`history`]],[[37,3],[`undo`,`rerun`,`history`]],[[37,3],[`redo`,`history`,`step`,`over`,`forward`]],[[3],[`arrows`,`rotate`,`reload`,`rerun`,`synchronise`,`synchronize`,`circular`,`cycle`]],[[3,11],[`arrows`,`rotate`,`reload`,`synchronise`,`synchronize`,`circular`,`cycle`,`issue`,`code`,`coding`,`version control`]],[[3],[`rotate`,`reload`,`rerun`,`synchronise`,`synchronize`,`arrows`,`circular`,`cycle`]],[[3],[`rotate`,`reload`,`rerun`,`synchronise`,`synchronize`,`arrows`,`circular`,`cycle`,`cancel`,`no`,`stop`,`error`,`disconnect`,`ignore`]],[[16,18],[`frigerator`,`fridge`,`freezer`,`cooler`,`icebox`,`chiller`,`cold storage`]],[[37,11],[`search`,`text`,`code`]],[[37],[`text`,`font`,`typography`,`format`,`x`,`remove`,`delete`,`times`,`clear`]],[[3,23],[`loop`,`arrows`]],[[23],[`replay`]],[[3,34,23],[`arrows`,`retweet`,`repost`,`share`,`repeat`,`loop`]],[[37],[`search`,`substitute`,`swap`,`change`]],[[37],[`search`,`substitute`,`swap`,`change`]],[[20],[`email`]],[[20],[`email`]],[[3,23],[`music`]],[[34,22,13],[`awareness`,`strip`,`band`,`tape`,`strap`,`cordon`]],[[17,11],[`release`,`boost`,`launch`,`space`,`version`]],[[18],[`chair`,`furniture`,`seat`,`comfort`,`relax`]],[[25],[`attraction`,`entertainment`,`amusement park`,`theme park`,`funfair`]],[[24,30,36,18,34],[`roses`,`thorns`,`petals`,`plant`,`stem`,`leaves`,`spring`,`bloom`,`blossom`,`gardening`,`botanical`,`flora`,`florist`,`bouquet`,`bunch`,`gift`,`date`,`romance`,`romantic`,`valentines day`,`special occasion`]],[[10],[`gizmo`,`transform`,`orientation`,`orbit`,`axis`]],[[3,10,28],[`arrow`,`left`,`counter-clockwise`,`restart`,`reload`,`rerun`,`refresh`,`backup`,`undo`,`replay`,`redo`,`retry`,`rewind`,`reverse`]],[[31,1],[`password`,`key`,`refresh`,`change`]],[[19,10,28,39,3],[`left`,`counter-clockwise`,`rotate`,`image`,`90`,`45`,`degrees`,`°`]],[[3,10,28],[`arrow`,`right`,`clockwise`,`refresh`,`reload`,`rerun`,`redo`]],[[19,10,28,39,3],[`right`,`clockwise`,`rotate`,`image`,`90`,`45`,`degrees`,`°`]],[[25],[`path`,`journey`,`planner`,`points`,`stops`,`stations`]],[[25],[`path`,`journey`,`planner`,`points`,`stops`,`stations`,`reset`,`clear`,`cancelled`,`closed`,`blocked`]],[[11,12,8,18],[`computer`,`server`,`cloud`]],[[19,10,37],[`lines`,`list`,`queue`,`preview`,`panel`,`paragraphs`,`parallel`,`series`,`split`,`vertical`,`horizontal`,`half`,`center`,`middle`,`even`,`drawer`]],[[19,10,37],[`lines`,`list`,`queue`,`preview`,`paragraphs`,`parallel`,`series`,`split`,`vertical`,`horizontal`,`half`,`center`,`middle`,`even`,`drawers`]],[[19,10,37],[`lines`,`list`,`queue`,`preview`,`paragraphs`,`parallel`,`series`,`split`,`vertical`,`horizontal`,`half`,`center`,`middle`,`even`,`drawers`,`grill`]],[[11,34],[`feed`,`subscribe`,`news`,`updates`,`notifications`,`content`,`blog`,`articles`,`broadcast`,`syndication`,`reader`,`channels`,`posts`,`publishing`,`digest`,`alert`,`following`,`inbox`,`newsletter`,`weblog`,`podcast`]],[[39,10,19],[`measurements`,`centimeters`,`cm`,`millimeters`,`mm`,`metre`,`foot`,`feet`,`inches`,`units`,`size`,`length`,`width`,`height`,`dimensions`,`depth`,`breadth`,`extent`,`stationery`]],[[39,10,19],[`measurements`,`centimeters`,`cm`,`millimeters`,`mm`,`metre`,`foot`,`feet`,`inches`,`units`,`size`,`length`,`width`,`height`,`dimensions`,`depth`,`breadth`,`extent`,`stationery`]],[[15],[`currency`,`money`,`payment`]],[[40,41],[`ship`,`boat`,`harbor`,`harbour`,`dock`]],[[16,13],[`food`,`vegetarian`,`dish`,`restaurant`,`course`,`meal`,`side`,`vegetables`,`health`]],[[16],[`food`,`snack`,`dish`,`restaurant`,`lunch`,`meal`]],[[8,29],[`space station`,`orbit`,`transmitter`]],[[8,12,23],[`antenna`,`receiver`,`dish aerial`,`saucer`]],[[15],[`currency`,`money`,`payment`]],[[37,14],[`floppy disk`]],[[37,14],[`floppy disks`,`copy`]],[[37,14],[`floppy disk`,`unsalvageable`]],[[25,29,15],[`balance`,`legal`,`license`,`right`,`rule`,`law`,`justice`,`weight`,`measure`,`compare`,`judge`,`fair`,`ethics`,`decision`]],[[10],[`gizmo`,`transform`,`size`,`axis`]],[[10],[`scale`,`resize`,`design`]],[[12,33,31,34,17],[`qr-code`,`barcode`,`checkout`,`augmented reality`,`ar`,`target`,`surveillance`,`camera`,`lens`,`focus`,`frame`,`select`,`box`,`boundary`,`bounds`,`area`,`square`,`dashed`]],[[33,12],[`checkout`,`till`,`cart`,`transaction`,`purchase`,`buy`,`product`,`packaging`,`retail`,`consumer`]],[[28,23,0,31,12,1],[`preview`,`zoom`,`expand`,`fullscreen`,`gallery`,`image`,`camera`,`watch`,`surveillance`,`retina`,`focus`,`lens`,`biometric`,`identification`,`authentication`,`access`,`login`]],[[1,31,12,34],[`face`,`biometric`,`identification`,`authentication`,`2fa`,`access`,`login`,`dashed`]],[[22],[`health`,`heart rate`,`pulse`,`monitoring`,`healthiness`,`screening`,`dashed`]],[[12,33],[`checkout`,`till`,`cart`,`transaction`,`purchase`,`buy`,`product`,`packaging`,`retail`,`consumer`,`qr-code`,`dashed`]],[[1,33,12,31],[`barcode`,`scan`,`qrcode`,`url`,`information`,`digital`,`scanner`]],[[28,23,0],[`preview`,`zoom`,`expand`,`fullscreen`,`gallery`,`image`,`focus`,`lens`]],[[37,12],[`recognition`,`read`,`translate`,`copy`,`lines`]],[[5,25],[`building`,`education`,`childhood`,`university`,`learning`,`campus`,`scholar`,`student`,`lecture`,`degree`,`course`,`academia`,`study`,`knowledge`,`classroom`,`research`,`diploma`,`graduation`,`professor`,`tutorial`,`homework`,`assignment`,`exam`]],[[37,10,39],[`cut`,`snip`,`chop`,`stationery`,`crafts`]],[[10,39],[`cut here`,`along`,`snip`,`chop`,`stationery`,`crafts`,`instructions`,`diagram`]],[[40],[`vehicle`,`drive`,`trip`,`journey`,`transport`,`electric`,`ride`,`urban`,`commute`,`speed`]],[[8,12,7],[`host`,`desktop`,`monitor`]],[[8,12,7],[`desktop`,`disconnect`,`monitor`]],[[17,11,37],[`paper`,`log`,`scripture`,`document`,`notes`,`parchment`,`list`,`long`,`script`,`story`,`code`,`coding`]],[[17,11,37],[`paper`,`log`,`scripture`,`document`,`notes`,`parchment`,`list`,`long`,`script`,`story`,`code`,`coding`]],[[37,34],[`find`,`scan`,`magnifier`,`magnifying glass`,`lens`]],[[37,34],[`find`,`scan`,`magnifier`,`magnifying glass`,`stop`,`warning`,`alert`,`error`,`anomaly`,`lens`]],[[37,34],[`find`,`scan`,`magnifier`,`magnifying glass`,`found`,`correct`,`complete`,`tick`,`lens`]],[[37,34,11],[`find`,`scan`,`magnifier`,`magnifying glass`,`grep`,`chevrons`,`<>`,`lens`]],[[37,34],[`find`,`scan`,`magnifier`,`magnifying glass`,`stop`,`clear`,`cancel`,`abort`,`/`,`lens`]],[[37,34],[`find`,`scan`,`magnifier`,`magnifying glass`,`stop`,`clear`,`cancel`,`abort`,`lens`]],[[37],[`mark`,`typography`,`punctuation`,`legal`,`type`,`text`,`prose`,`symbol`]],[[20,7,8],[`email`,`message`,`mail`,`paper airplane`,`paper aeroplane`,`submit`]],[[20,7,8],[`email`,`message`,`mail`,`paper airplane`,`paper aeroplane`,`submit`]],[[10,19],[`bring`,`send`,`move`,`under`,`back`,`backwards`,`overlap`,`layer`,`order`]],[[37,3,19],[`move`,`split`]],[[37,3,19],[`move`,`split`]],[[11,12],[`cloud`,`storage`]],[[11,12],[`cloud`,`storage`,`computing`,`cog`,`gear`]],[[11,12],[`cloud`,`storage`,`problem`,`error`]],[[11,12],[`cloud`,`storage`]],[[1],[`cog`,`edit`,`gear`,`preferences`]],[[1],[`cog`,`edit`,`gear`,`preferences`,`slider`]],[[32,17],[`triangle`,`equilateral`,`square`,`circle`,`classification`,`different`,`collection`,`toy`,`blocks`,`learning`]],[[1,34],[`network`,`connections`]],[[1,34],[`network`,`connections`]],[[37,14],[`spreadsheets`,`table`,`excel`]],[[2,11,24,29,41,16,18],`beach.sand.holiday.sealife.fossil.ammonite.biology.ocean.terminal.command line.session.bash.zsh.roll.wrap.chewing gum.bubble gum.sweet.sugar.hosepipe.carpet.string.spiral.spinner.hypnotise.hypnosis`.split(`.`)],[[18],[`ledge`,`rack`,`storage`,`inventory`,`furniture`,`sill`,`shelves`,`shelf`,`organize`,`display`,`store`,`arrange`,`unit`,`cabinet`,`fixture`,`retail`,`warehouse`]],[[1,31,11,17,32],`cybersecurity.secure.safety.protection.guardian.armored.armoured.defense.defence.defender.block.threat.prevention.antivirus.vigilance.vigilant.detection.scan.find.strength.strong.tough.invincible.invincibility.invulnerable.undamaged.audit.admin.verification.crest.bravery.knight.foot soldier.infantry.trooper.pawn.battle.war.military.army.cadet.scout`.split(`.`)],[[1,31,11,26,17],`unshielded.cybersecurity.insecure.unsecured.safety.unsafe.protection.unprotected.guardian.unguarded.unarmored.unarmoured.defenseless.defenceless.undefended.defender.blocked.stopped.intercepted.interception.saved.thwarted.threat.prevention.unprevented.antivirus.vigilance.vigilant.detection.detected.scanned.found.exploit.vulnerability.vulnerable.weakness.infection.infected.comprimised.data leak.audited.admin.verification.unverified.uncertified.warning.emergency.attention.urgent.alarm.crest.bravery.strength.tough.attacked.damaged.injured.hit.expired.disabled.inactive.error.exclamation mark.!`.split(`.`)],[[1,31,11,17],`unshielded.cybersecurity.insecure.unsecured.safety.unsafe.protection.unprotected.guardian.unguarded.unarmored.unarmoured.defenseless.defenceless.undefended.defender.blocked.stopped.intercepted.interception.saved.thwarted.threat.prevention.unprevented.antivirus.vigilance.vigilant.detection.detected.scanned.found.exploit.vulnerability.vulnerable.weakness.infection.infected.comprimised.data leak.audited.admin.verification.unverified.uncertified.cancel.error.crest.bravery.attacked.damaged.injured.hit.expired.eliminated.disabled.inactive./`.split(`.`)],[[1,31,11,17],`cybersecurity.secured.safety.protection.protected.guardian.guarded.armored.armoured.defense.defence.defended.blocked.threat.prevention.prevented.antivirus.vigilance.vigilant.active.activated.enabled.detection.scanned.found.strength.strong.tough.invincible.invincibility.invulnerable.undamaged.audited.admin.verification.verified.certification.certified.tested.passed.qualified.cleared.cleaned.disinfected.uninfected.task.completed.todo.done.ticked.checked.crest.bravery`.split(`.`)],[[1,31,11,17],`cybersecurity,securing,protecting,guarding,armoring,armouring,defending,blocking,preventing,antivirus,detecting,scanning,finding,auditing,admin,verifying,crest,upgrading,loader,loading,throbber,progress,dots,more,etc,...,…`.split(`,`)],[[1,31,11,17],`cybersecurity.secure.safety.protection.guardian.armored.armoured.defense.defence.defender.block.threat.prevention.antivirus.vigilance.vigilant.detection.scan.strength.strong.tough.invincible.invincibility.invulnerable.undamaged.audit.admin.verification.crest.logo.sigil.flag.team.faction.fraternity.university.college.academy.school.education.uniform.bravery.knight.foot soldier.infantry.trooper.pawn.battle.war.military.ranking.army.cadet.scout`.split(`.`)],[[1,31,11,17],`unshield.cybersecurity.unsecure.unguard.unblock.antivirus.clean.clear.disinfect.patch.fix.stop.cancel.remove.relax.admin.crest.bravery.weakened.damaged.hit.unarm.disable.deactivate.decommission.downgraded.minimum.-`.split(`.`)],[[1,31,11,17],`unshielded.cybersecurity.insecure.unsecured.safety.unsafe.protection.unprotected.guardian.unguarded.unarmored.unarmoured.defenseless.defenceless.undefended.defender.interception.threat.prevention.unprevented.antivirus.detection.undetected.exploit.vulnerability.vulnerable.weakness.infected.infection.comprimised.data leak.unaudited.admin.verification.unverified.inactive.cancelled.error.crest.bravery.damaged.injured.hit.expired.eliminated`.split(`.`)],[[1,31,11,17,22],`cybersecurity.secure.safety.protection.guardian.armored.armoured.defense.defence.defender.block.threat.prevention.antivirus.vigilance.vigilant.detection.scan.strength.strong.tough.invincible.invincibility.invulnerable.undamaged.extra.added.professional.enterprise.full.maximum.upgraded.ultra.activate.enable.audit.admin.verification.crest.medic.+`.split(`.`)],[[1,31,11,17],`unshielded.cybersecurity.insecure.unsecured.safety.unsafe.protection.unprotected.guardian.unguarded.unarmored.unarmoured.defenseless.defenceless.undefended.defender.threat.prevention.unprevented.antivirus.vigilance.vigilant.detection.undetected.scan.find.exploit.vulnerability.vulnerable.weakness.infection.comprimised.data leak.audit.admin.verification.unverified.uncertified.uncertain.unknown.inactive.crest.question mark.?`.split(`.`)],[[1,31,11],[`shield`,`user`,`admin`,`protection`,`protected`,`safety`,`guard`]],[[1,31,11,17],`unshielded.cybersecurity.insecure.unsecured.safety.unsafe.protection.unprotected.guardian.unguarded.unarmored.unarmoured.defenseless.defenceless.undefended.defender.blocked.stopped.intercepted.interception.saved.thwarted.threat.prevention.prevented.antivirus.vigilance.vigilant.detection.detected.scanned.found.exploit.vulnerability.vulnerable.weakness.infection.infected.comprimised.data leak.audited.admin.verification.unverified.inactive.cancel.error.wrong.false.crest.bravery.attacked.damaged.injured.hit.dead.deceased.expired.eliminated.exterminated`.split(`.`)],[[40,25,41],[`boat`,`knots`,`nautical mile`,`maritime`,`sailing`,`yacht`,`cruise`,`ocean liner`,`tanker`,`vessel`,`navy`,`trip`,`releases`]],[[40,25,41],[`steering`,`rudder`,`boat`,`knots`,`nautical mile`,`maritime`,`sailing`,`yacht`,`cruise`,`ocean liner`,`tanker`,`vessel`,`navy`,`trip`]],[[33],[`t-shirt`,`shopping`,`store`,`clothing`,`clothes`]],[[33],[`ecommerce`,`cart`,`purchase`,`store`]],[[33],[`cart`,`e-commerce`,`store`,`purchase`,`products`,`items`,`ingredients`]],[[33],[`trolley`,`cart`,`basket`,`e-commerce`,`store`,`purchase`,`products`,`items`,`ingredients`]],[[24,39,17],[`dig`,`spade`,`treasure`]],[[18,41],[`shower`,`bath`,`bathroom`,`amenities`,`services`]],[[20,14],[`file`,`paper`,`tear`,`cut`,`delete`,`destroy`,`remove`,`erase`,`document`,`destruction`,`secure`,`security`,`confidential`,`data`,`trash`,`dispose`,`disposal`,`information`,`waste`,`permanent`]],[[2],[`seafood`,`shellfish`,`crustacean`,`prawn`,`scallop`,`whelk`,`arthropod`,`littleneck`,`quahog`,`cherrystone`]],[[19,3],[`scale`,`fullscreen`]],[[24],[`forest`,`undergrowth`,`park`,`nature`]],[[23,3],[`music`,`random`,`reorder`]],[[37,21,29],[`sum`,`calculate`,`formula`,`math`,`enumeration`,`enumerate`]],[[8],[`connection`,`wireless`,`gsm`,`phone`,`2g`,`3g`,`4g`,`5g`]],[[8],[`connection`,`wireless`,`gsm`,`phone`,`2g`,`3g`,`4g`,`5g`]],[[8],[`connection`,`wireless`,`gsm`,`phone`,`2g`,`3g`,`4g`,`5g`]],[[8],[`connection`,`wireless`,`gsm`,`phone`,`2g`,`3g`,`4g`,`5g`]],[[8],[`connection`,`wireless`,`gsm`,`phone`,`2g`,`3g`,`4g`,`5g`,`lost`]],[[37],[`text`,`format`,`input`,`contract`,`autograph`,`handwriting`,`sign`,`cursive`,`ink`,`scribble`,`authorize`,`personal`,`agreement`,`legal`,`document`,`identity`,`authentic`,`approval`,`verification`,`unique`]],[[3,25,11,17],[`bidirectional`,`left`,`right`,`east`,`west`]],[[3,25,11,17],[`bidirectional`,`left`,`right`,`east`,`west`]],[[22],[`police`,`ambulance`,`emergency`,`security`,`alert`,`alarm`,`light`]],[[23,3],[`arrow`,`previous`,`music`]],[[23,3],[`arrow`,`skip`,`next`,`music`]],[[17],[`death`,`danger`,`bone`]],[[11,21],[`divide`,`division`,`or`,`/`]],[[10],[`cutter`,`scalpel`,`knife`]],[[1],[`settings`,`filters`,`controls`]],[[1],[`settings`,`controls`]],[[8,12],[`phone`,`cellphone`,`device`,`screen`]],[[8,12],[`phone`,`cellphone`,`device`,`power`,`screen`]],[[7,15,12],[`contactless`,`payment`,`near-field communication`,`screen`]],[[13,1],[`emoji`,`face`,`happy`,`good`,`emotion`]],[[13,34,26,7],[`emoji`,`face`,`happy`,`good`,`emotion`,`react`,`reaction`,`add`]],[[2,16],[`animal`,`insect`,`slow`,`speed`,`delicacy`,`spiral`]],[[42,30],[`cold`,`weather`,`freeze`,`snow`,`winter`]],[[18,41],[`wash`,`bath`,`water`,`liquid`,`fluid`,`wet`,`moisture`,`damp`,`bead`,`globule`]],[[18],[`armchair`,`furniture`,`leisure`,`lounge`,`loveseat`,`couch`]],[[18,29,36,42],[`solar panel`,`solar`,`panel`,`sun`,`energy`,`electricity`,`light`]],[[16],[`food`,`dish`,`restaurant`,`course`,`meal`,`bowl`,`starter`]],[[37],[`text`,`selection`,`letters`,`characters`,`font`,`typography`]],[[32,17],[`shape`,`suit`,`playing`,`cards`]],[[32],[`star`,`effect`,`filter`,`night`,`magic`,`shiny`,`glitter`,`twinkle`,`celebration`]],[[9,23,17,42],[`stars`,`effect`,`filter`,`night`,`magic`]],[[23,12],[`sound`,`audio`,`music`,`tweeter`,`subwoofer`,`bass`,`production`,`producer`,`dj`]],[[0,7],[`disability`,`disabled`,`dda`,`human`,`accessibility`,`people`,`sound`]],[[37,11],[`spelling`,`error`,`mistake`,`oversight`,`typo`,`correction`,`code`,`linter`,`a`]],[[37,11],[`spelling`,`error`,`mistake`,`oversight`,`typo`,`correction`,`code`,`linter`,`a`]],[[10],[`path`,`pen`,`tool`,`shape`,`curve`,`draw`]],[[3,9,10,39],[`path`,`tool`,`curve`,`node`,`click`,`pointer`,`target`,`vector`]],[[11,3],[`break`,`disband`,`divide`,`separate`,`branch`,`disunite`]],[[7,39,34],[`bobbin`,`spindle`,`yarn`,`thread`,`string`,`sewing`,`needlework`]],[[12,28,23,7],[`winner`,`soapbox`,`stage`,`entertainment`,`drama`,`podium`,`actor`,`actress`,`singer`,`light`,`beam`,`play`,`theatre`,`show`,`focus`,`concert`,`performance`,`lens`,`leaderboard`,`followspot`,`best`,`highlight`]],[[10,39],[`paint`,`color`,`graffiti`,`decoration`,`aerosol`,`deodorant`,`shaving foam`,`air freshener`]],[[24,17,36],[`eco`,`green`,`growth`,`leaf`,`nature`,`plant`,`seed`,`spring`,`sustainability`]],[[32,23],[`stop`,`playback`,`music`,`audio`,`video`,`rectangle`,`aspect ratio`,`1:1`,`shape`]],[[22,34,29,23],`pulse.action.motion.movement.exercise.fitness.healthcare.heart rate monitor.vital signs.vitals.emergency room.er.intensive care.hospital.defibrillator.earthquake.siesmic.magnitude.richter scale.aftershock.tremor.shockwave.audio.waveform.synthesizer.synthesiser.music`.split(`.`)],[[3,17],[`backwards`,`reverse`,`direction`,`south`,`sign`,`keyboard`,`button`]],[[3,17],[`direction`,`south-west`,`diagonal`,`sign`,`turn`,`keyboard`,`button`]],[[3,17],[`direction`,`south-east`,`diagonal`,`sign`,`turn`,`keyboard`,`button`]],[[3],[`previous`,`back`,`direction`,`west`,`sign`,`keyboard`,`button`,`<-`]],[[3],[`outwards`,`direction`,`south-west`,`diagonal`]],[[3],[`outwards`,`direction`,`south-east`,`diagonal`]],[[3],[`outwards`,`direction`,`north-west`,`diagonal`]],[[3,34],[`outwards`,`direction`,`north-east`,`diagonal`,`share`,`open`,`external`,`link`]],[[3],[`next`,`forward`,`direction`,`west`,`sign`,`keyboard`,`button`,`->`]],[[3,32,19,23],[`left`,`in`,`inside`,`input`,`insert`,`source`,`import`,`place`,`->`]],[[3,32,19,23],[`out`,`outside`,`output`,`export`,`->`]],[[3],[`forward`,`direction`,`north`,`sign`,`keyboard`,`button`]],[[3],[`direction`,`north-west`,`diagonal`,`sign`,`keyboard`,`button`]],[[3,34],[`direction`,`north-east`,`diagonal`,`sign`,`keyboard`,`button`,`share`]],[[37,31,21,11],[`password`,`secret`,`access`,`key`,`multiply`,`multiplication`,`glob pattern`,`wildcard`,`*`]],[[37,10,39,14,11],[`cut`,`snippet`,`chop`,`stationery`,`crafts`]],[[10,28],[`reflect`,`mirror`,`alignment`,`dashed`]],[[10,28],[`reflect`,`mirror`,`alignment`,`dashed`]],[[6,38,11,10],[`projects`,`manage`,`overview`,`roadmap`,`plan`,`intentions`,`timeline`,`deadline`,`date`,`event`,`range`,`period`,`productivity`,`work`,`agile`,`code`,`coding`,`toolbar`,`button`]],[[26],[`done`,`todo`,`tick`,`complete`,`task`]],[[26],[`done`,`todo`,`tick`,`complete`,`task`]],[[3,25],[`back`,`menu`,`panel`]],[[3,25],[`back`,`previous`,`less than`,`fewer`,`menu`,`panel`,`button`,`keyboard`,`<`]],[[3,25,11],[`forward`,`next`,`more than`,`greater`,`menu`,`panel`,`code`,`coding`,`command line`,`terminal`,`prompt`,`shell`,`console`,`>`]],[[3,25,21],[`caret`,`keyboard`,`button`,`mac`,`control`,`ctrl`,`superscript`,`exponential`,`power`,`ahead`,`menu`,`panel`,`^`]],[[37,11],[`gist`,`source`,`programming`,`html`,`xml`,`coding`]],[[37,10],[`selection`,`square`,`rectangular`,`marquee`,`tool`,`dashed`,`box`]],[[11,14],[`rectangle`,`aspect ratio`,`1:1`,`shape`,`snippet`,`code`,`coding`]],[[11,14],[`rectangle`,`aspect ratio`,`1:1`,`shape`,`snippet`,`code`,`coding`]],[[6,11,10],[`projects`,`manage`,`overview`,`board`,`tickets`,`issues`,`roadmap`,`plan`,`intentions`,`productivity`,`work`,`agile`,`draft`,`template`,`boilerplate`,`code`,`coding`]],[[3,9,11,39],[`inspector`,`element`,`mouse`,`click`,`pointer`,`box`,`browser`,`selector`,`target`,`dom`,`node`]],[[10,11,19],[`square`,`border`,`width`,`layout`,`style`,`design`,`rectangular`,`marquee`,`dashed`,`box`,`rectangle`,`aspect ratio`,`1:1`]],[[21],[`calculate`,`math`,`÷`,`/`]],[[11],[`git`,`diff`,`modified`,`.`]],[[21],[`calculate`,`=`]],[[11,21],[`programming`,`code`,`automation`,`math`]],[[6,11,10],[`projects`,`manage`,`overview`,`board`,`tickets`,`issues`,`roadmap`,`plan`,`intentions`,`productivity`,`work`,`agile`,`code`,`coding`,`toolbar`,`button`]],[[37,28,23,25,11],[`books`,`reading`,`written`,`authors`,`stories`,`fiction`,`novels`,`information`,`knowledge`,`education`,`high school`,`university`,`college`,`academy`,`learning`,`study`,`research`,`collection`,`vinyl`,`records`,`albums`,`music`,`package`]],[[40,25],[`metro`,`subway`,`underground`,`track`,`line`]],[[19],[`bars`,`navigation`,`hamburger`,`options`,`menu bar`,`panel`]],[[21,11,37,39,12],[`subtract`,`remove`,`decrease`,`reduce`,`calculator`,`button`,`keyboard`,`line`,`divider`,`separator`,`horizontal rule`,`hr`,`html`,`markup`,`markdown`,`---`,`toolbar`,`operator`,`code`,`coding`,`minimum`,`downgrade`]],[[3,9,11,39],[`inspector`,`element`,`mouse`,`click`,`pointer`,`box`,`browser`,`selector`,`target`,`dom`,`node`]],[[40,25],[`parking lot`,`car park`]],[[40,25],[`parking lot`,`car park`,`no parking`]],[[23],[`music`,`audio`,`stop`]],[[37],[`pencil`,`edit`,`change`,`create`,`draw`,`sketch`,`draft`,`writer`,`writing`,`biro`,`ink`,`marker`,`felt tip`,`stationery`,`artist`]],[[34,15,33,21],[`verified`,`unverified`,`sale`,`discount`,`offer`,`marketing`,`sticker`,`price tag`]],[[11,21],[`constant`,`code`,`coding`,`programming`,`symbol`,`trigonometry`,`geometry`,`formula`]],[[37],[`paragraph`,`mark`,`paraph`,`blind`,`typography`,`type`,`text`,`prose`,`symbol`]],[[3,23],[`music`,`audio`,`video`,`start`,`run`]],[[21,39,11,37],[`add`,`new`,`increase`,`increment`,`positive`,`calculate`,`calculator`,`button`,`keyboard`,`toolbar`,`maximum`,`upgrade`,`extra`,`operator`,`join`,`concatenate`,`code`,`coding`,`+`]],[[8],[`on`,`off`,`device`,`switch`,`toggle`,`binary`,`boolean`,`reboot`,`restart`,`button`,`keyboard`,`troubleshoot`]],[[11,21],[`calculate`,`formula`,`math`,`operator`,`root`,`square`,`symbol`]],[[10,11,19],[`border`,`radius`,`style`,`design`,`corner`,`layout`,`round`,`rounded`]],[[37,10,39,14,11],[`cut`,`snippet`,`chop`,`stationery`,`crafts`,`toolbar`,`button`]],[[37,21],[`sum`,`calculate`,`formula`,`math`,`enumeration`,`enumerate`]],[[11,21],[`git`,`diff`,`ignored`,`divide`,`division`,`shortcut`,`or`,`/`]],[[19],[`split`,`divide`]],[[19],[`split`,`divide`]],[[19],[`float`,`center`,`rectangle`]],[[37,14,11],[`versions`,`clone`,`copy`,`duplicate`,`multiple`,`revisions`,`version control`,`backup`,`history`]],[[35,17],[`badge`,`medal`,`honour`,`decoration`,`order`,`pin`,`laurel`,`trophy`,`medallion`,`insignia`,`bronze`,`silver`,`gold`]],[[23],[`media`,`music`]],[[11],[`code`,`command line`,`prompt`,`shell`]],[[1],[`person`,`account`,`contact`]],[[1],[`person`,`account`,`contact`]],[[21,26],[`cancel`,`close`,`delete`,`remove`,`times`,`clear`,`math`,`multiply`,`multiplication`]],[[10],[`square`,`pathfinder`,`path`,`exclude`,`invert`,`xor`,`shape`,`vector`]],[[10],[`square`,`pathfinder`,`path`,`intersect`,`shape`,`include`,`vector`]],[[10],[`square`,`pathfinder`,`path`,`minus`,`subtract`,`subtraction`,`shape`,`front`,`vector`]],[[10],[`square`,`pathfinder`,`path`,`unite`,`union`,`shape`,`merge`,`vector`]],[[32],[`shape`]],[[11,32,10],[`shape`,`pending`,`progress`,`issue`,`draft`,`code`,`coding`,`version control`]],[[2],[`animal`,`rodent`,`pet`,`pest`,`nuts`,`retrieve`,`updates`,`storage`,`stash`]],[[10,9,39],[`mark`,`print`,`clone`,`loyalty`,`library`]],[[1,34,32,23,42,13,17],[`bookmark`,`favorite`,`like`,`review`,`rating`]],[[34,23],[`bookmark`,`favorite`,`like`,`review`,`rating`]],[[23,34],[`dislike`,`unlike`,`remove`,`unrate`]],[[23,3],[`arrow`,`previous`,`music`,`left`,`reverse`]],[[23,3],[`arrow`,`next`,`music`,`right`,`continue`]],[[29,22],[`phonendoscope`,`medical`,`heart`,`lungs`,`sound`]],[[34],[`reaction`,`emotion`,`smile`,`happy`,`feedback`]],[[37,34],[`post-it`,`comment`,`annotation`,`reaction`,`memo`,`reminder`,`todo`,`task`,`idea`,`brainstorm`,`document`,`page`,`paper`,`sheet`,`stationary`,`office`]],[[24],[`mineral`,`geology`,`nature`,`solid`,`pebble`,`crystal`,`ore`,`hard`,`coal`,`stone`,`rock`,`boulder`]],[[5,25,33],[`shop`,`supermarket`,`stand`,`boutique`,`building`]],[[19],[`items`,`flex`,`justify`,`distribute`]],[[19],[`items`,`flex`,`justify`,`distribute`]],[[37],[`cross out`,`delete`,`remove`,`format`]],[[37],[`text`]],[[0,42,30,36],[`brightness`,`weather`,`light`,`summer`]],[[0,42],[`brightness`,`dim`,`low`,`brightness low`]],[[0,42],[`brightness`,`medium`]],[[0],[`dark`,`light`,`moon`,`sun`,`brightness`,`theme`,`auto theme`,`system theme`,`appearance`]],[[42],[`weather`,`air conditioning`,`temperature`,`hot`,`cold`,`seasons`]],[[3,42,38],[`weather`,`time`,`morning`,`day`]],[[3,42],[`weather`,`time`,`evening`,`night`]],[[37],[`text`,`exponent`]],[[10,18,28],[`colors`,`colours`,`swatches`,`pantone`,`shades`,`tint`,`hue`,`saturation`,`brightness`,`theme`,`scheme`,`palette`,`samples`,`textile`,`carpet`]],[[15],[`currency`,`money`,`payment`]],[[7,12],[`photo`,`selfie`,`front`,`back`]],[[17,39],[`battle`,`challenge`,`game`,`war`,`weapon`]],[[17,39],[`battle`,`challenge`,`game`,`war`,`weapon`]],[[29,22],[`medicine`,`medical`,`needle`,`pump`,`plunger`,`nozzle`,`blood`]],[[37,14],[`spreadsheet`,`grid`]],[[37,14],[`spreadsheet`,`grid`]],[[37,14],[`spreadsheet`,`grid`,`row`]],[[37,14],[`spreadsheet`,`grid`,`row`]],[[37,14],[`spreadsheet`,`grid`,`cut`,`break`,`divide`,`separate`,`segment`]],[[37],[`toc`,`outline`,`navigation`,`document structure`,`index`,`overview`,`sections`,`chapters`,`content`,`documentation`,`manual`,`knowledge base`,`faq`]],[[37,11,14],[`property list`,`plist`,`spreadsheet`,`grid`,`dictionary`,`object`,`hash`]],[[37,14],[`spreadsheet`,`grid`,`cut`,`break`,`divide`,`separate`,`segment`]],[[12],[`device`]],[[12,10,11,39],[`responsive`,`screens`,`browser`,`testing`,`mobile`]],[[22],[`medicine`,`medication`,`drug`,`prescription`,`pills`,`pharmacy`]],[[1],[`label`,`badge`,`ticket`,`mark`]],[[1],[`labels`,`badges`,`tickets`,`marks`,`copy`,`multiple`]],[[21,17],[`count`,`score`,`enumerate`,`days`,`one`,`1`,`first`,`bar`,`prison`,`cell`,`sentence`]],[[21,17],[`count`,`score`,`enumerate`,`days`,`two`,`2`,`second`,`double`,`bars`,`prison`,`cell`,`sentence`]],[[21,17],[`count`,`score`,`enumerate`,`days`,`three`,`3`,`third`,`triple`,`bars`,`prison`,`cell`,`sentence`]],[[21,17],[`count`,`score`,`enumerate`,`days`,`4`,`fourth`,`quadruple`,`bars`,`prison`,`cell`,`sentence`]],[[21,17],[`count`,`score`,`enumerate`,`days`,`five`,`5`,`fifth`,`bars`,`prison`,`cell`,`sentence`,`slash`,`/`]],[[32,21,10,39],[`tangential`,`shape`,`circle`,`geometry`,`trigonometry`,`bezier curve`]],[[4,17],[`logo`,`bullseye`,`deadline`,`projects`,`overview`,`work`,`productivity`]],[[29,11,39],[`astronomy`,`space`,`discovery`,`exploration`,`explore`,`vision`,`perspective`,`focus`,`stargazing`,`observe`,`view`]],[[41,24,36],[`tipi`,`teepee`,`wigwam`,`lodge`,`camping`,`campsite`,`holiday`,`retreat`,`nomadic`,`native american`,`indian`,`wilderness`,`outdoors`]],[[41,24],[`camping`,`campsite`,`holiday`,`retreat`,`nomadic`,`wilderness`,`outdoors`]],[[11],[`code`,`command line`,`prompt`,`shell`]],[[29],[`tube`,`vial`,`phial`,`flask`,`ampoule`,`ampule`,`lab`,`chemistry`,`experiment`,`test`]],[[29],[`tube`,`vial`,`phial`,`flask`,`ampoule`,`ampule`,`lab`,`chemistry`,`experiment`,`test`]],[[29],[`tubes`,`vials`,`phials`,`flasks`,`ampoules`,`ampules`,`lab`,`chemistry`,`experiment`,`test`]],[[37],[`text`,`alignment`,`center`]],[[37],[`text`,`alignment`,`right`]],[[37],[`text`,`alignment`,`justified`,`menu`,`list`]],[[37],[`text`,`alignment`,`left`,`list`]],[[37,9],[`select`]],[[37,19],[`select`]],[[37],[`drop cap`,`text`,`format`,`typography`,`letter`,`font size`]],[[37],[`blockquote`,`quotation`,`indent`,`reply`,`response`]],[[37],[`find`,`data`,`copy`,`txt`,`pdf`,`document`,`scan`,`magnifier`,`magnifying glass`,`lens`]],[[37,9],[`find`,`search`,`selection`,`dashed`]],[[37,3],[`words`,`lines`,`break`,`paragraph`]],[[5,34],[`theater`,`theatre`,`entertainment`,`podium`,`stage`,`musical`]],[[42],[`temperature`,`celsius`,`fahrenheit`,`weather`]],[[42],[`temperature`,`celsius`,`fahrenheit`,`weather`,`cold`,`freeze`,`freezing`]],[[42],[`temperature`,`celsius`,`fahrenheit`,`weather`,`warm`,`hot`]],[[1,34,13],[`dislike`,`bad`,`emotion`]],[[1,34,13],[`like`,`good`,`emotion`]],[[1,40],[`entry`,`pass`,`voucher`,`event`,`concert`,`show`,`perforated`,`dashed`]],[[40],[`entry`,`pass`,`voucher`,`event`,`concert`,`show`,`booked`,`purchased`,`receipt`,`redeemed`,`validated`,`verified`,`certified`,`checked`,`used`]],[[40],[`entry`,`pass`,`voucher`,`event`,`concert`,`show`,`remove`,`cancel`,`unbook`,`subtract`,`decrease`,`-`]],[[40,33],[`discount`,`reduced`,`offer`,`voucher`,`entry`,`pass`,`event`,`concert`,`show`,`book`,`purchase`,`%`]],[[40],[`entry`,`pass`,`voucher`,`event`,`concert`,`show`,`book`,`purchase`,`add`,`+`]],[[40],`entry.pass.voucher.event.concert.show.redeemed.used.marked.checked.verified.spoiled.invalidated.void.denied.refused.banned.barred.forbidden.prohibited.cancelled.cancellation.refunded.delete.remove.clear.error`.split(`.`)],[[40],[`entry`,`pass`,`voucher`,`event`,`concert`,`show`,`cancelled`,`cancellation`,`refunded`,`used`,`void`,`invalidated`,`spoiled`,`denied`,`refused`,`banned`,`barred`,`forbidden`,`prohibited`,`delete`,`remove`,`clear`,`error`,`x`]],[[41,1,40],[`trip`,`travel`,`pass`,`entry`,`voucher`,`event`,`concert`,`show`,`perforated`,`dashed`]],[[40,41],[`plane`,`trip`,`airplane`,`flight`,`travel`,`fly`,`takeoff`,`vacation`,`passenger`,`pass`,`check-in`,`airport`]],[[38],[`time`,`timer`,`stopwatch`]],[[38],[`time`,`timer`,`stopwatch`]],[[38],[`time`,`timer`,`stopwatch`]],[[19,1,11],[`on`,`off`,`switch`,`boolean`]],[[19,1,11],[`on`,`off`,`switch`,`boolean`]],[[12,18],[`toilet`,`potty`,`bathroom`,`washroom`]],[[39,11,18],[`tools`,`maintenance`,`repair`]],[[39,18],[`toolkit`,`tools`,`trunk`,`chest`,`box`,`storage`,`utility`,`utilities`,`container`,`kit`,`set`,`repair`,`fix`,`service`,`maintenance`,`mechanic`,`workshop`,`construction`,`hardware`,`equipment`,`gear`,`handyman`,`engineering`,`craft`,`diy`]],[[42],[`weather`,`wind`,`storm`,`hurricane`]],[[32,10,39,16],[`donut`,`doughnut`,`ring`,`hollow`,`3d`,`fast food`,`junk food`,`snack`,`treat`,`sweet`,`sugar`,`dessert`]],[[12],[`trackpad`,`cursor`]],[[12],[`trackpad`,`cursor`]],[[18,41],[`flannel`,`bathroom`,`toiletries`,`sanitation`,`clean`,`fresh`,`dry`,`laundry`,`laundrette`,`hospitality`,`housekeeping`,`room service`,`spa break`,`health club`,`amenities`,`hanging`]],[[41,40],[`airport`,`travel`,`tower`,`transportation`,`lighthouse`]],[[17,11],[`lego`,`block`,`addon`,`plugin`,`integration`]],[[40,36,16],[`farming`,`farmer`,`ranch`,`harvest`,`equipment`,`vehicle`]],[[40],[`roadworks`,`tarmac`,`safety`,`block`]],[[40],[`railway`,`metro`,`subway`,`underground`,`high-speed`,`bullet`,`fast`,`track`,`line`]],[[40,25],[`railway`,`metro`,`subway`,`underground`,`speed`,`bullet`,`fast`,`track`,`line`]],[[40,25],[`railway`,`line`]],[[40],[`railway`,`metro`,`subway`,`underground`,`track`,`line`,`tourism`]],[[22,0],[`gender`,`inclusive`]],[[14,20],[`empty`,`deletion`,`cleanup`,`junk`,`clear`,`garbage`,`delete`,`remove`,`bin`,`waste`,`recycle`,`discard`,`binoculars`,`rubbish`]],[[14,20],[`garbage`,`delete`,`remove`,`bin`]],[[24,36],[`tree`,`forest`,`park`,`nature`]],[[24,36],[`vacation`,`leisure`,`island`]],[[24,36],[`tree`,`pine`,`forest`,`park`,`nature`]],[[24,36],[`tree`,`forest`,`park`,`nature`]],[[6,3],[`statistics`]],[[6,3],[`statistics`]],[[6,3],[`arrows`,`estimated`,`indeterminate`,`data fluctuation`,`uncertain`,`forecast`,`variable`,`prediction`,`dynamic`,`volatile`]],[[32],[`equilateral`,`delta`,`shape`,`pyramid`,`hierarchy`]],[[26,32,11],[`warning`,`alert`,`danger`,`exclamation mark`,`linter`]],[[32],[`equilateral`,`delta`,`shape`,`pyramid`,`hierarchy`,`dashed`]],[[32,21],[`volume`,`controls`,`controller`,`tv remote`,`geometry`,`delta`,`ramp`,`slope`,`incline`,`increase`]],[[35,17],[`prize`,`sports`,`winner`,`achievement`,`award`,`champion`,`celebration`,`victory`]],[[40],[`delivery`,`van`,`shipping`,`haulage`,`lorry`]],[[40],[`delivery`,`van`,`shipping`,`haulage`,`lorry`,`electric`]],[[15],[`currency`,`money`,`payment`]],[[23,18],[`record player`,`gramophone`,`stereo`,`phonograph`,`vinyl`,`lp`,`disc`,`platter`,`cut`,`music`,`analog`,`retro`,`dj deck`,`disc jockey`,`scratch`,`spinning`]],[[2],[`animal`,`pet`,`tortoise`,`slow`,`speed`]],[[12,23,7],`television.stream.display.widescreen.high-definition.hd.1080p.4k.8k.smart.digital.video.entertainment.showtime.channels.terrestrial.satellite.cable.broadcast.live.frequency.tune.scan.aerial.receiver.transmission.signal.connection.connectivity`.split(`.`)],[[12,23],[`flatscreen`,`television`,`stream`,`display`,`widescreen`,`high-definition`,`hd`,`1080p`,`4k`,`8k`,`smart`,`digital`,`video`,`home cinema`,`entertainment`,`showtime`,`channels`,`catchup`]],[[12,23],[`flatscreen`,`television`,`stream`,`display`,`widescreen`,`high-definition`,`hd`,`1080p`,`4k`,`8k`,`smart`,`digital`,`video`,`movie`,`live`,`ott`,`running`,`start`,`film`,`home cinema`,`entertainment`,`showtime`,`channels`,`catchup`]],[[37],[`text`,`font`,`typography`]],[[37],[`text`,`font`,`typography`,`silhouette`,`profile`,`contour`,`stroke`,`line`]],[[42],[`rain`,`weather`]],[[42],[`rain`,`weather`,`uncovered`,`uninsured`,`antivirus`,`unprotected`,`risky`]],[[37],[`text`,`format`]],[[37,3],[`redo`,`rerun`,`history`]],[[37,3],[`redo`,`rerun`,`history`,`back`,`return`,`reverse`,`revert`,`direction`,`u-turn`]],[[37,3],[`redo`,`history`,`step`,`back`]],[[3,19],[`arrow`,`collapse`,`fold`,`vertical`,`dashed`]],[[3,19],[`arrow`,`expand`,`vertical`,`dashed`]],[[32,14],[`cubes`,`packages`,`parts`,`units`,`collection`,`cluster`,`separate`]],[[5,25],[`building`,`education`,`childhood`,`school`,`college`,`academy`,`institute`]],[[37],[`url`,`unchain`]],[[37],[`url`,`unchain`]],[[12,11],[`electricity`,`energy`,`electronics`,`socket`,`outlet`,`disconnect`]],[[3,14],[`file`]],[[12,23,18],[`universal`,`serial`,`bus`,`controller`,`connector`,`interface`]],[[1],[`person`,`account`,`contact`]],[[1],[`followed`,`subscribed`,`done`,`todo`,`tick`,`complete`,`task`]],[[1],[`settings`,`edit`,`cog`,`gear`]],[[1],[`passkey`,`password`,`login`,`authentication`,`authorization`,`roles`,`permissions`,`private`,`public`,`security`,`person`,`account`,`contact`]],[[1,31],[`person`,`lock`,`locked`,`account`,`secure`]],[[1],[`delete`,`remove`,`unfollow`,`unsubscribe`]],[[1],[`person`,`account`,`contact`,`profile`,`edit`,`change`]],[[1],[`new`,`add`,`create`,`follow`,`subscribe`]],[[1],[`person`,`account`,`contact`]],[[1],[`followed`,`subscribed`,`done`,`todo`,`tick`,`complete`,`task`]],[[1],[`settings`,`edit`,`cog`,`gear`]],[[1],[`passkey`,`password`,`login`,`authentication`,`authorization`,`roles`,`permissions`,`private`,`public`,`security`,`person`,`account`,`contact`]],[[1],[`delete`,`remove`,`unfollow`,`unsubscribe`]],[[1],[`person`,`account`,`contact`,`profile`,`edit`,`change`]],[[1],[`new`,`add`,`create`,`follow`,`subscribe`]],[[1,34],[`person`,`account`,`contact`,`find`,`scan`,`magnifier`,`magnifying glass`,`lens`]],[[1],[`delete`,`remove`,`unfollow`,`unsubscribe`,`unavailable`]],[[1,34],[`person`,`account`,`contact`,`find`,`scan`,`magnifier`,`magnifying glass`,`lens`]],[[1],[`person`,`account`,`favorite`,`contact`,`like`,`review`,`rating`,`admin`]],[[1],[`delete`,`remove`,`unfollow`,`unsubscribe`,`unavailable`]],[[1],[`group`,`people`]],[[1],[`group`,`people`]],[[16,41,25],[`fork`,`knife`,`cutlery`,`flatware`,`tableware`,`silverware`,`food`,`restaurant`,`meal`,`breakfast`,`dinner`,`supper`]],[[16,41,25],[`fork`,`knife`,`cutlery`,`flatware`,`tableware`,`silverware`,`food`,`restaurant`,`meal`,`breakfast`,`dinner`,`supper`]],[[5,18,36],[`electricity`,`energy`,`transmission line`,`telegraph pole`,`power lines`,`phone`]],[[40],[`minivan`,`cart`,`wagon`,`truck`,`lorry`,`trailer`,`camper`,`vehicle`,`drive`,`trip`,`journey`,`van`,`transport`,`carriage`,`delivery`,`travel`]],[[11,21],[`code`,`coding`,`programming`,`symbol`,`calculate`,`algebra`,`x`,`parentheses`,`parenthesis`,`brackets`,`parameter`,`(`,`)`]],[[31,41,18],[`safe`,`lockbox`,`deposit`,`locker`,`coffer`,`strongbox`,`safety`,`secure`,`storage`,`valuables`,`bank`]],[[32,21,10,39],[`shape`,`geometry`,`art`,`width`,`height`,`size`,`calculate`,`measure`,`select`,`graphics`,`box`]],[[16,36],[`vegetarian`,`fruitarian`,`herbivorous`,`animal rights`,`diet`]],[[1,17],[`mask`,`masquerade`,`impersonate`,`secret`,`incognito`]],[[22],[`gender`,`sex`,`female`,`feminine`,`woman`,`girl`]],[[22],[`gender`,`sex`,`intersex`,`androgynous`,`hermaphrodite`]],[[12,8,1,26],[`smartphone`,`notification`,`rumble`,`haptic feedback`,`screen`]],[[12,8,1],[`smartphone`,`notification`,`rumble`,`haptic feedback`,`notifications`,`screen`]],[[12,7,8,28],[`camera`,`movie`,`film`,`recording`,`motion picture`,`camcorder`,`reel`]],[[12,7,8,28],[`camera`,`movie`,`film`]],[[12,7,8,28,14],[`vhs`,`movie`,`film`,`recording`,`motion picture`,`showreel`,`cassette`]],[[10,28],[`eye`,`look`]],[[8,12,34],[`phone`,`cassette`,`tape`,`reel`,`recording`,`audio`]],[[35,17,41],[`beach`,`sand`,`net`,`holiday`,`vacation`,`summer`,`soccer`,`football`,`futbol`,`kick`,`pitch`,`goal`,`score`,`bounce`,`leather`,`wool`,`yarn`,`knitting`,`sewing`,`thread`,`embroidery`,`textile`]],[[8,7,23],[`music`,`sound`,`mute`,`speaker`]],[[8,7,23],[`music`,`sound`,`speaker`]],[[8,7,23],[`music`,`sound`,`speaker`]],[[8,7,23],[`music`,`sound`,`mute`,`speaker`]],[[8,7,23],[`music`,`sound`,`mute`,`speaker`]],[[34],[`vote`,`poll`,`ballot`,`political`,`social`,`check`,`tick`]],[[1,15],[`money`,`finance`,`pocket`]],[[1,15],[`money`,`finance`,`pocket`,`credit`,`purchase`,`payment`,`shopping`,`retail`,`consumer`,`cc`]],[[1,15],[`finance`,`pocket`]],[[1,12],[`background`,`texture`,`image`,`art`,`design`,`visual`,`decor`,`pattern`,`screen`,`cover`,`lock screen`]],[[10,17,9,28],[`magic`,`selection`]],[[10,17,9,28],[`magic`,`wizard`,`magician`]],[[5,25],[`storage`,`storehouse`,`depot`,`depository`,`repository`,`stockroom`,`logistics`,`building`]],[[18,12,41],[`tumble dryer`,`amenities`,`electronics`,`cycle`,`clothes`,`rinse`,`spin`,`drum`]],[[38],[`clock`,`time`]],[[42,25,23,36],[`water`,`sea`,`sound`,`hertz`,`wavelength`,`vibrate`]],[[42,36],[`water`,`sea`,`level`,`sound`,`hertz`,`wavelength`,`vibrate`,`low`,`tide`,`ocean`,`rising`,`down`,`falling`]],[[42,36],[`water`,`sea`,`level`,`sound`,`hertz`,`wavelength`,`vibrate`,`high`,`tide`,`ocean`,`rising`]],[[35,18],[`swimming`,`water`,`pool`,`lifeguard`,`ocean`,`🌊`,`🏊♂️`,`🏊♀️`,`🏊`,`🥽`]],[[31,1,25,11,34],[`indirection`,`vpn`,`virtual private network`,`proxy`,`connections`,`bounce`,`reroute`,`path`,`journey`,`planner`,`stops`,`stations`,`shared`,`spread`,`viral`]],[[8,12,7],[`camera`,`security`]],[[11,34,1],[`push api`,`interface`,`callback`]],[[11,34,1],[`push api`,`interface`,`callback`]],[[21],[`mass`,`heavy`,`lead`,`metal`,`measure`,`geometry`,`scales`,`balance`]],[[21],[`measure`,`scale`,`estimate`,`load`,`balance`,`size`,`measurement`,`quantity`,`mass`]],[[16],[`corn`,`cereal`,`grain`,`gluten`]],[[16],[`corn`,`cereal`,`grain`,`gluten free`,`allergy`,`intolerance`,`diet`]],[[37],[`text`,`selection`,`letters`,`characters`,`font`,`typography`]],[[8,12],[`connection`,`signal`,`wireless`]],[[8,12,14],[`connection`,`signal`,`wireless`,`directory`,`settings`,`control`,`preferences`,`cog`,`edit`,`gear`]],[[8,12],[`connection`,`signal`,`wireless`]],[[8,12],[`connection`,`signal`,`wireless`]],[[8,12],[`disabled`]],[[8,12],[`edit`,`wifi`,`pen`,`change`,`network`]],[[8,12],[`connection`,`signal`,`wireless`,`synchronize`,`reconnect`,`reset`,`restart`]],[[8,12],[`connection`,`signal`,`wireless`]],[[42,36],[`weather`,`air`,`blow`]],[[42,36],[`weather`,`air`,`pressure`,`blow`]],[[16],[`alcohol`,`beverage`,`bar`,`drink`,`glass`,`sommelier`,`vineyard`,`winery`]],[[16],[`alcohol`,`beverage`,`drink`,`glass`,`alcohol free`,`abstinence`,`abstaining`,`teetotalism`,`allergy`,`intolerance`]],[[11],[`action`,`continuous integration`,`ci`,`automation`,`devops`,`network`,`node`,`connection`]],[[2,31],[`invertebrate`,`grub`,`larva`,`snake`,`crawl`,`wiggle`,`slither`,`pest control`,`computer virus`,`malware`]],[[1,11,39],[`account`,`settings`,`spanner`,`diy`,`toolbox`,`build`,`construction`]],[[26,21],[`cancel`,`close`,`cross`,`delete`,`ex`,`remove`,`times`,`clear`,`math`,`multiply`,`multiplication`]],[[26,21],[`line`,`top`,`arrow`,`navigation`,`up`,`pointer`,`direction`,`vector`,`symbol`,`cancel`,`close`,`delete`,`remove`,`times`,`clear`,`math`,`multiply`,`multiplication`,`mean`,`median`,`average`,`x̄`]],[[8,12,28,42],[`flash`,`camera`,`lightning`,`electricity`,`energy`]],[[8,12,28,42],[`flash`,`camera`,`lightning`,`electricity`,`energy`]],[[34,13],[`water bearer`,`waves`,`innovation`,`air`,`future`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`ram`,`horns`,`fire`,`energy`,`initiative`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`crab`,`shell`,`protection`,`water`,`intuition`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`goat`,`mountain`,`ambition`,`earth`,`discipline`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`twins`,`duality`,`communication`,`air`,`adaptability`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`lion`,`crown`,`leadership`,`fire`,`confidence`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`scales`,`balance`,`justice`,`air`,`harmony`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`serpent`,`snake holder`,`healing`,`knowledge`,`astronomy`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`fish`,`duality`,`water`,`dreams`,`empathy`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`archer`,`arrow`,`exploration`,`fire`,`philosophy`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`scorpion`,`stinger`,`intensity`,`water`,`transformation`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`bull`,`strength`,`stability`,`earth`,`endurance`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[34,13],[`virgin`,`maiden`,`harvest`,`precision`,`earth`,`analysis`,`astrology`,`star sign`,`horoscope`,`constellation`,`celestial`]],[[0,19,10,37,28],[`magnifying glass`,`plus`]],[[0,19,10,37,28],[`magnifying glass`,`plus`]]],gle={"activity-square":`square-activity`,"alarm-check":`alarm-clock-check`,"alarm-minus":`alarm-clock-minus`,"alarm-plus":`alarm-clock-plus`,"alert-circle":`circle-alert`,"alert-octagon":`octagon-alert`,"alert-triangle":`triangle-alert`,"align-center":`text-align-center`,"align-justify":`text-align-justify`,"align-left":`text-align-start`,"align-right":`text-align-end`,"area-chart":`chart-area`,"arrow-down-01":`arrow-down-0-1`,"arrow-down-10":`arrow-down-1-0`,"arrow-down-az":`arrow-down-a-z`,"arrow-down-circle":`circle-arrow-down`,"arrow-down-left-from-circle":`circle-arrow-out-down-left`,"arrow-down-left-from-square":`square-arrow-out-down-left`,"arrow-down-left-square":`square-arrow-down-left`,"arrow-down-right-from-circle":`circle-arrow-out-down-right`,"arrow-down-right-from-square":`square-arrow-out-down-right`,"arrow-down-right-square":`square-arrow-down-right`,"arrow-down-square":`square-arrow-down`,"arrow-down-za":`arrow-down-z-a`,"arrow-left-circle":`circle-arrow-left`,"arrow-left-square":`square-arrow-left`,"arrow-right-circle":`circle-arrow-right`,"arrow-right-square":`square-arrow-right`,"arrow-up-01":`arrow-up-0-1`,"arrow-up-10":`arrow-up-1-0`,"arrow-up-az":`arrow-up-a-z`,"arrow-up-circle":`circle-arrow-up`,"arrow-up-left-from-circle":`circle-arrow-out-up-left`,"arrow-up-left-from-square":`square-arrow-out-up-left`,"arrow-up-left-square":`square-arrow-up-left`,"arrow-up-right-from-circle":`circle-arrow-out-up-right`,"arrow-up-right-from-square":`square-arrow-out-up-right`,"arrow-up-right-square":`square-arrow-up-right`,"arrow-up-square":`square-arrow-up`,"arrow-up-za":`arrow-up-z-a`,"asterisk-square":`square-asterisk`,"axis-3-d":`axis-3d`,"badge-help":`badge-question-mark`,"bar-chart":`chart-no-axes-column-increasing`,"bar-chart-2":`chart-no-axes-column`,"bar-chart-3":`chart-column`,"bar-chart-4":`chart-column-increasing`,"bar-chart-big":`chart-column-big`,"bar-chart-horizontal":`chart-bar`,"bar-chart-horizontal-big":`chart-bar-big`,"between-horizonal-end":`between-horizontal-end`,"between-horizonal-start":`between-horizontal-start`,"book-template":`book-dashed`,"box-select":`square-dashed`,"candlestick-chart":`chart-candlestick`,"check-circle":`circle-check-big`,"check-circle-2":`circle-check`,"check-square":`square-check-big`,"check-square-2":`square-check`,"chevron-down-circle":`circle-chevron-down`,"chevron-down-square":`square-chevron-down`,"chevron-left-circle":`circle-chevron-left`,"chevron-left-square":`square-chevron-left`,"chevron-right-circle":`circle-chevron-right`,"chevron-right-square":`square-chevron-right`,"chevron-up-circle":`circle-chevron-up`,"chevron-up-square":`square-chevron-up`,"circle-help":`circle-question-mark`,"circle-slashed":`circle-slash-2`,"clipboard-edit":`clipboard-pen`,"clipboard-signature":`clipboard-pen-line`,"code-2":`code-xml`,"code-square":`square-code`,columns:`columns-2`,"columns-settings":`columns-3-cog`,"contact-2":`contact-round`,"curly-braces":`braces`,"divide-circle":`circle-divide`,"divide-square":`square-divide`,"dot-square":`square-dot`,"download-cloud":`cloud-download`,edit:`square-pen`,"edit-2":`pen`,"edit-3":`pen-line`,"equal-square":`square-equal`,"file-audio":`file-headphone`,"file-audio-2":`file-headphone`,"file-axis-3-d":`file-axis-3d`,"file-badge-2":`file-badge`,"file-bar-chart":`file-chart-column-increasing`,"file-bar-chart-2":`file-chart-column`,"file-check-2":`file-check-corner`,"file-code-2":`file-code-corner`,"file-cog-2":`file-cog`,"file-edit":`file-pen`,"file-json":`file-braces`,"file-json-2":`file-braces-corner`,"file-key-2":`file-key`,"file-line-chart":`file-chart-line`,"file-lock-2":`file-lock`,"file-minus-2":`file-minus-corner`,"file-pie-chart":`file-chart-pie`,"file-plus-2":`file-plus-corner`,"file-question":`file-question-mark`,"file-search-2":`file-search-corner`,"file-signature":`file-pen-line`,"file-type-2":`file-type-corner`,"file-video":`file-play`,"file-video-2":`file-video-camera`,"file-volume-2":`file-signal`,"file-warning":`file-exclamation-point`,"file-x-2":`file-x-corner`,filter:`funnel`,"filter-x":`funnel-x`,fingerprint:`fingerprint-pattern`,"flip-horizontal":`square-centerline-dashed-horizontal`,"flip-vertical":`square-centerline-dashed-vertical`,"folder-cog-2":`folder-cog`,"folder-edit":`folder-pen`,"fork-knife":`utensils`,"fork-knife-crossed":`utensils-crossed`,"form-input":`rectangle-ellipsis`,"function-square":`square-function`,"gantt-chart":`chart-no-axes-gantt`,"gantt-chart-square":`square-chart-gantt`,"gauge-circle":`circle-gauge`,"git-commit":`git-commit-horizontal`,"globe-2":`earth`,grab:`hand-grab`,grid:`grid-3x3`,"grid-2-x-2":`grid-2x2`,"grid-2-x-2-check":`grid-2x2-check`,"grid-2-x-2-plus":`grid-2x2-plus`,"grid-2-x-2-x":`grid-2x2-x`,"grid-3-x-3":`grid-3x3`,"help-circle":`circle-question-mark`,"helping-hand":`hand-helping`,home:`house`,"ice-cream":`ice-cream-cone`,"ice-cream-2":`ice-cream-bowl`,indent:`list-indent-increase`,"indent-decrease":`list-indent-decrease`,"indent-increase":`list-indent-increase`,inspect:`square-mouse-pointer`,"kanban-square":`square-kanban`,"kanban-square-dashed":`square-dashed-kanban`,"laptop-2":`laptop-minimal`,"layers-3":`layers`,layout:`panels-top-left`,"letter-text":`text-initial`,"library-square":`square-library`,"line-chart":`chart-line`,"loader-2":`loader-circle`,"location-edit":`map-pin-pen`,"m-square":`square-m`,"mail-question":`mail-question-mark`,"menu-square":`square-menu`,"message-circle-question":`message-circle-question-mark`,"mic-2":`mic-vocal`,"minus-circle":`circle-minus`,"minus-square":`square-minus`,"more-horizontal":`ellipsis`,"more-vertical":`ellipsis-vertical`,"mouse-pointer-square-dashed":`square-dashed-mouse-pointer`,"move-3-d":`move-3d`,outdent:`list-indent-decrease`,"paintbrush-2":`paintbrush-vertical`,palmtree:`tree-palm`,"panel-bottom-inactive":`panel-bottom-dashed`,"panel-left-inactive":`panel-left-dashed`,"panel-right-inactive":`panel-right-dashed`,"panel-top-inactive":`panel-top-dashed`,"panels-left-right":`columns-3`,"panels-top-bottom":`rows-3`,"parking-circle":`circle-parking`,"parking-circle-off":`circle-parking-off`,"parking-square":`square-parking`,"parking-square-off":`square-parking-off`,"pause-circle":`circle-pause`,"pause-octagon":`octagon-pause`,"pen-box":`square-pen`,"pen-square":`square-pen`,"percent-circle":`circle-percent`,"percent-diamond":`diamond-percent`,"percent-square":`square-percent`,"pi-square":`square-pi`,"pie-chart":`chart-pie`,"pilcrow-square":`square-pilcrow`,"play-circle":`circle-play`,"play-square":`square-play`,"plug-zap-2":`plug-zap`,"plus-circle":`circle-plus`,"plus-square":`square-plus`,"power-circle":`circle-power`,"power-square":`square-power`,"rotate-3-d":`rotate-3d`,rows:`rows-2`,"scale-3-d":`scale-3d`,"scatter-chart":`chart-scatter`,"school-2":`university`,"scissors-square":`square-scissors`,"scissors-square-dashed-bottom":`square-bottom-dashed-scissors`,"send-horizonal":`send-horizontal`,"shield-close":`shield-x`,"shield-question":`shield-question-mark`,sidebar:`panel-left`,"sidebar-close":`panel-left-close`,"sidebar-open":`panel-left-open`,"sigma-square":`square-sigma`,"slash-square":`square-slash`,sliders:`sliders-vertical`,"sort-asc":`arrow-up-narrow-wide`,"sort-desc":`arrow-down-wide-narrow`,"split-square-horizontal":`square-split-horizontal`,"split-square-vertical":`square-split-vertical`,"square-gantt-chart":`square-chart-gantt`,stars:`sparkles`,"stop-circle":`circle-stop`,subtitles:`captions`,"table-config":`columns-3-cog`,"terminal-square":`square-terminal`,"test-tube-2":`test-tube-diagonal`,text:`text-align-start`,"text-selection":`text-select`,train:`tram-front`,"tv-2":`tv-minimal`,unlock:`lock-open`,"unlock-keyhole":`lock-keyhole-open`,"upload-cloud":`cloud-upload`,"user-2":`user-round`,"user-check-2":`user-round-check`,"user-circle":`circle-user`,"user-circle-2":`circle-user-round`,"user-cog-2":`user-round-cog`,"user-minus-2":`user-round-minus`,"user-plus-2":`user-round-plus`,"user-square":`square-user`,"user-square-2":`square-user-round`,"user-x-2":`user-round-x`,"users-2":`users-round`,verified:`badge-check`,"wallet-2":`wallet-minimal`,"wand-2":`wand-sparkles`,"wrap-text":`text-wrap`,"x-circle":`circle-x`,"x-octagon":`octagon-x`,"x-square":`square-x`},_le={activity:[`attivita`,`sensore`,`generico`],"air-vent":[`bocchetta`,`aria`,`ventilazione`,`condizionatore`,`vent`],"alarm-smoke":[`fumo`,`antincendio`,`rilevatore`],baby:[`neonato`,`bimbo`,`cameretta`,`babymonitor`],bath:[`bagno`,`vasca`,`doccia`,`bathroom`],battery:[`batteria`],"battery-charging":[`batteria`,`carica`,`ricarica`],"battery-full":[`batteria`,`carica`,`piena`],"battery-low":[`batteria`,`scarica`],bed:[`cameretta`,`letto`,`singolo`],"bed-double":[`camera`,`letto`,`matrimoniale`,`bedroom`],bell:[`campanello`,`suoneria`,`notifica`,`chime`],"bell-off":[`silenzioso`,`notifiche`,`disattivate`,`muto`],"bell-ring":[`campanello`,`suona`,`doorbell`,`notifica`],bike:[`bicicletta`,`bici`,`moto`],bird:[`uccello`,`animale`],blinds:[`tapparella`,`persiana`,`serranda`,`avvolgibile`,`shutter`,`blind`,`veneziana`],bluetooth:[],bone:[`osso`,`cane`],bot:[`robot`,`aspirapolvere`],box:[`scatola`,`contenitore`],briefcase:[`ufficio`,`lavoro`,`valigetta`,`studio`,`office`],building:[`edificio`,`palazzo`],"building-2":[`edificio`,`uffici`,`condominio`],bus:[`autobus`,`pullman`],cable:[`cavo`],calendar:[`calendario`,`data`,`pianificazione`],camera:[`telecamera`,`videocamera`,`cam`],car:[`auto`,`macchina`,`veicolo`,`parcheggio`,`garage`],cat:[`gatto`,`animale`],"circle-dot":[`pulsante`,`bottone`,`button`,`dot`],"circle-parking":[`parcheggio`,`posto`,`auto`,`garage`,`parking`],clock:[`orologio`,`ora`,`tempo`],cloud:[`nuvola`,`nuvoloso`],"cloud-rain":[`pioggia`],"cloud-sun":[`variabile`,`sole`,`nuvole`],"cooking-pot":[`pentola`,`cucina`,`fornello`],cpu:[`processore`,`chip`,`dispositivo`],crosshair:[`mirino`,`puntamento`,`centro`],dog:[`cane`,`animale`],"door-closed":[`porta`,`chiusa`,`contatto`],"door-open":[`porta`,`aperta`,`contatto`,`ingresso`,`uscita`,`entrance`],drill:[`officina`,`trapano`,`lavori`],droplet:[`goccia`,`acqua`,`perdita`,`allagamento`],droplets:[`umidita`,`acqua`,`allagamento`,`perdita`],dumbbell:[`palestra`,`attrezzi`],eye:[`occhio`,`visibile`,`visto`],"eye-off":[`privacy`,`nascosto`,`oscurato`,`mascherato`,`invisibile`],fan:[`ventilatore`,`ventola`,`aria`],fence:[`recinto`,`cancello`,`staccionata`,`perimetro`,`gate`],flame:[`fiamma`,`gas`,`fuoco`,`incendio`],flashlight:[`faretto`,`torcia`,`spot`,`faro`],flower:[`fiore`,`pianta`],footprints:[`movimento`,`passi`,`presenza`,`motion`],"gamepad-2":[`console`,`gioco`,`joystick`],gauge:[`misura`,`livello`,`pressione`,`indicatore`],hammer:[`officina`,`martello`,`lavori`],"hard-drive":[`disco`,`hdd`,`archiviazione`,`storage`],hash:[`numero`,`contatore`,`valore`],heart:[`cuore`,`preferito`,`salute`],"heart-pulse":[`battito`,`salute`,`monitoraggio`],heater:[`riscaldamento`,`termosifone`,`stufa`,`calore`],house:[`casa`,`abitazione`,`home`],image:[`immagine`,`foto`,`snapshot`],key:[`chiave`],"key-round":[`chiave`,`tonda`],lamp:[`lampada`,`abatjour`],"lamp-ceiling":[`plafoniera`,`lampadario`,`luce`,`soffitto`],"lamp-desk":[`lampada`,`scrivania`,`abatjour`],"lamp-floor":[`piantana`,`lampada`,`terra`],laptop:[`portatile`,`notebook`],leaf:[`foglia`,`pianta`,`verde`],lightbulb:[`luce`,`lampadina`,`lampada`,`light`],lock:[`serratura`,`chiave`,`lucchetto`,`chiuso`,`locked`],"lock-open":[`serratura`,`aperta`,`sbloccato`,`unlocked`],mailbox:[`cassetta`,`postale`,`posta`],"map-pin":[`posizione`,`luogo`,`mappa`,`pin`],mic:[`microfono`,`audio`],"mic-off":[`microfono`,`spento`,`muto`],microwave:[`microonde`,`forno`],monitor:[`schermo`],"monitor-play":[`schermo`,`riproduzione`,`player`,`display`],moon:[`notte`,`luna`,`notturna`,`nightvision`],mountain:[`montagna`,`esterno`,`panorama`],music:[`musica`],network:[`rete`,`lan`],package:[`pacco`,`consegna`,`storage`],"paw-print":[`animale`,`zampa`,`pet`],"person-standing":[`persona`,`piedi`,`presenza`],phone:[`telefono`,`chiamata`],pipette:[`qualita`,`aria`,`misura`,`campione`],plane:[`aereo`],plug:[`presa`,`spina`],"plug-zap":[`presa`,`alimentata`],power:[`accensione`,`alimentazione`],"power-off":[`spegnimento`,`spento`],printer:[`stampante`],projector:[`proiettore`],radar:[`movimento`,`presenza`,`pir`,`rilevamento`,`perimeter`],radio:[],"refresh-cw":[`aggiorna`,`ricarica`,`refresh`,`reload`,`ciclo`],refrigerator:[`frigorifero`,`frigo`],route:[`percorso`,`strada`,`vialetto`,`tragitto`,`street`],router:[`modem`],sailboat:[`barca`,`imbarcazione`],"scroll-text":[`registro`,`log`,`testo`],server:[`nas`],shield:[`scudo`,`protezione`,`sicurezza`,`allarme`],"shield-alert":[`manomissione`,`allarme`,`tamper`,`avviso`],"shield-check":[`protetto`,`sicuro`,`armato`],"shield-off":[`protezione`,`disattivata`,`disarmato`],siren:[`sirena`,`allarme`],"sliders-horizontal":[`regolazione`,`cursori`,`impostazioni`,`slider`],smartphone:[`telefono`,`cellulare`],snowflake:[`freddo`,`raffrescamento`,`aria`,`condizionata`,`neve`],sofa:[`salone`,`soggiorno`,`divano`,`living`,`living room`],sparkles:[`automatico`,`intelligente`,`ai`,`scena`],speaker:[`altoparlante`,`cassa`],sprout:[`irrigazione`,`pianta`,`germoglio`,`orto`],star:[`preferito`,`stella`,`importante`],store:[`negozio`,`ingresso`,`vetrina`,`shop`],sun:[`sole`,`luminosita`,`giorno`,`esterno`,`outdoor`],"sun-medium":[`sole`,`luminosita`],sunrise:[`alba`],tablet:[`ipad`],thermometer:[`temperatura`,`termometro`,`termostato`],"thermometer-snowflake":[`freddo`,`temperatura`,`bassa`],"thermometer-sun":[`caldo`,`temperatura`,`alta`],timer:[`conto`,`rovescia`],"toggle-left":[`interruttore`,`switch`,`toggle`],"toggle-right":[`interruttore`,`switch`,`toggle`,`acceso`],tractor:[`trattore`,`tosaerba`,`giardino`],"train-front":[`treno`],"tree-pine":[`albero`,`pino`,`giardino`],trees:[`giardino`,`alberi`,`esterno`,`parco`,`garden`],truck:[`camion`,`furgone`,`consegna`],tv:[`televisore`],umbrella:[`tenda`,`markise`,`ombrellone`,`pergola`,`veranda`,`terrace`],user:[`persona`,`utente`],users:[`persone`,`gruppo`,`famiglia`],utensils:[`cucina`,`posate`,`sala`,`pranzo`,`kitchen`],vibrate:[`vibrazione`,`urto`,`tamper`],video:[],"video-off":[`video`,`spento`],"volume-2":[`volume`,`audio`,`altoparlante`,`suono`],"volume-x":[`muto`,`silenziato`,`volume`,`spento`],warehouse:[`magazzino`,`capanno`,`deposito`,`cantina`,`warehouse`],"washing-machine":[`lavatrice`,`lavastoviglie`,`asciugatrice`],waves:[`onde`,`acqua`,`vibrazione`],"waves-ladder":[`piscina`,`vasca`,`pool`],wifi:[`rete`,`segnale`],"wifi-off":[`wifi`,`assente`,`offline`,`disconnesso`],wind:[`vento`,`aria`,`gas`,`monossido`,`co`],workflow:[`automazione`,`flusso`,`scenario`],wrench:[`officina`,`manutenzione`,`attrezzi`,`utenze`],zap:[`energia`,`corrente`,`consumo`,`watt`,`elettricita`]},vle={gauge2:`gauge`},yle=new Set(b2);new Map([...Object.entries(gle),...Object.entries(vle)]);function ble(e){return typeof e==`string`&&yle.has(e)}var xle=es(ble,`Not an icon of the catalog`),x2=b2.map((e,t)=>{let[n,r]=hle[t]??[[],[]],i=n.flatMap(e=>{let t=y2[e];return t===void 0?[]:[t]});return{key:e,categories:i,primaryCategory:i[0]??y2[0],tags:r,synonyms:_le[e]??[]}});new Map(x2.map(e=>[e.key,e]));var S2=[`devices`,`home`,`security`,`buildings`,`connectivity`,`multimedia`,`nature`,`weather`,`transportation`,`animals`],Sle=new Set(x2.map(e=>e.primaryCategory));[...S2,...y2.filter(e=>!S2.includes(e))].filter(e=>Sle.has(e)),P({locationKey:O(),icon:xle}),P({locationKey:O(),description:O()});var Cle=I(`kind`,[P({kind:z(`devices`),ids:N(k().int()).min(1)}),P({kind:z(`domain`),deviceType:R(p2).optional(),roomId:O().min(1).optional()}),P({kind:z(`var`),name:O().min(1)})]);e2.DeviceRegistered,e2.DeviceUnregistered,e2.DeviceUpdated,e2.DeviceMetaChanged,e2.DeviceBindingsChanged;var wle={contact:`entryOpen`,binary:`on`,switch:`on`,motion:`detected`,flood:`flooded`,gas:`detected`,smoke:`detected`,"carbon-monoxide":`detected`,vibration:`detected`,tamper:`tampered`};new Set([{id:`person`,name:`Person`},{id:`vehicle`,name:`Vehicle`},{id:`animal`,name:`Animal`},{id:`package`,name:`Package`}].map(e=>e.id));var Tle={mapping:{person:`person`,bicycle:`vehicle`,car:`vehicle`,motorcycle:`vehicle`,airplane:`vehicle`,bus:`vehicle`,train:`vehicle`,truck:`vehicle`,boat:`vehicle`,bird:`animal`,cat:`animal`,dog:`animal`,horse:`animal`,sheep:`animal`,cow:`animal`,elephant:`animal`,bear:`animal`,zebra:`animal`,giraffe:`animal`,suitcase:`package`,backpack:`package`,handbag:`package`},preserveOriginal:!1},C2=R([`disarmed`,`armed_home`,`armed_away`,`armed_night`,`armed_vacation`,`armed_custom_bypass`,`arming`,`disarming`,`pending`,`triggered`]),w2=R([`home`,`away`,`night`,`vacation`,`custom_bypass`]);P({state:C2,targetMode:w2.nullable().optional(),availableModes:N(w2),requiresCode:A(),lastChangedAt:k()}),p2.AlarmPanel,Q(P({deviceId:k().int().nonnegative(),mode:w2,code:O().min(1).optional()}),M(),{kind:`mutation`,auth:`protected`}),Q(P({deviceId:k().int().nonnegative(),code:O().min(1).optional()}),M(),{kind:`mutation`,auth:`protected`}),Q(P({deviceId:k().int().nonnegative()}),M(),{kind:`mutation`,auth:`protected`});var Ele=`power.power_on.power_off.volume_up.volume_down.mute.channel_up.channel_down.up.down.left.right.ok.back.home.menu.info.guide.exit.input.play.pause.play_pause.stop.next.previous.fast_forward.rewind.digit_0.digit_1.digit_2.digit_3.digit_4.digit_5.digit_6.digit_7.digit_8.digit_9.source_select`.split(`.`),Dle=/^[a-z0-9][a-z0-9_]{0,47}$/,Ole=new Set(Ele);function kle(e){return Ole.has(e)}function Ale(e){return Dle.test(e)}function jle(e){if(!e.startsWith(`custom:`))return null;let t=e.slice(7);return Ale(t)?t:null}function Mle(e){return kle(e)||jle(e)!==null}O().refine(Mle,{message:`a role is one of the known roles or custom:<key> (lowercase letters, digits, _)`});var Nle=`motion.audio.recording.live.heatmapScrub.person.vehicle.animal.package.sensor.control.face.plate.car.truck.bus.motorcycle.bicycle.airplane.boat.train.bird.dog.cat.horse.sheep.cow.elephant.bear.zebra.giraffe.package-delivered.package-picked-up.suitcase.backpack.handbag.contact.motion-sensor.smoke.flood.gas.carbon-monoxide.vibration.tamper.presence.enum-sensor.device-event.lock.cover.switch.siren.button.doorbell.appliance-cycle`.split(`.`),Ple=`audio`,T2=[.3,.42,.55,.7,.85,1],Fle=[`camstack`,`high-contrast`,`okabe-ito`],Ile={motion:`#d946ef`,audio:`#059eb8`,recording:`#ef4444`,live:`#8d7a00`,heatmapScrub:`#4b32ff`,person:`#11a64c`,vehicle:`#3b82f6`,animal:`#ea6a09`,package:`#924667`,sensor:`#624bbc`,control:`#944d24`,face:`#ed4f8d`,plate:`#4b7027`,car:`#9684cf`,truck:`#0f9b89`,bus:`#a734a9`,motorcycle:`#c1133a`,bicycle:`#0e6a9b`,airplane:`#7c9928`,boat:`#b17933`,train:`#ad6ca3`,bird:`#0f7c55`,dog:`#c82700`,cat:`#7268f2`,horse:`#cb795e`,sheep:`#b8636b`,cow:`#cb2969`,elephant:`#1158d2`,bear:`#8d5e00`,zebra:`#0097d6`,giraffe:`#8f61bb`,"package-delivered":`#cd3f9b`,"package-picked-up":`#388a08`,suitcase:`#666800`,backpack:`#ec5022`,handbag:`#a76ef8`,contact:`#ab5a49`,"motion-sensor":`#b95d1a`,smoke:`#dd3858`,flood:`#b31e7d`,gas:`#5b70b5`,"carbon-monoxide":`#7b4e8e`,vibration:`#e65bba`,tamper:`#98464b`,presence:`#3a9468`,"enum-sensor":`#7885f8`,"device-event":`#8c43c8`,lock:`#649653`,cover:`#c67597`,switch:`#7a812a`,siren:`#ac5d7f`,button:`#b276cd`,doorbell:`#0087ab`,"appliance-cycle":`#2a8c8c`},Lle=[`#b34dc7`,`#1d7d34`,`#db6b6c`,`#a43d29`,`#0e6ee6`,`#29a10b`,`#a98731`,`#0181c6`],Rle={motion:`#964360`,audio:`#23a132`,recording:`#2494ca`,live:`#bd7e2b`,heatmapScrub:`#ad6eea`,person:`#62611e`,vehicle:`#f4534c`,animal:`#1556cd`,package:`#9c4415`,sensor:`#066c48`,control:`#f2479f`,face:`#139d8a`,plate:`#909024`,car:`#8e35ab`,truck:`#bd0b2b`,bus:`#7a88ca`,motorcycle:`#e26725`,bicycle:`#a6679b`,airplane:`#7c5720`,boat:`#467a1b`,train:`#6f65a4`,bird:`#cb717f`,dog:`#c62490`,cat:`#b36850`,horse:`#1872ac`,sheep:`#927939`,cow:`#428a5c`,elephant:`#d41160`,bear:`#799453`,zebra:`#a85455`,giraffe:`#746be8`,"package-delivered":`#824a80`,"package-picked-up":`#614ac1`,suitcase:`#2f77f3`,backpack:`#fa476d`,handbag:`#c14cbe`,contact:`#c83921`,"motion-sensor":`#a07ebd`,smoke:`#a25b13`,flood:`#526bab`,gas:`#924938`,"carbon-monoxide":`#bb7e53`,vibration:`#b66182`,tamper:`#3c6931`,presence:`#6c851d`,"enum-sensor":`#ad2d48`,"device-event":`#5e9b04`,lock:`#00a062`,cover:`#ad8624`,switch:`#d05259`,siren:`#cd67b3`,button:`#c9746a`,doorbell:`#338eeb`,"appliance-cycle":`#00848a`},zle=[`#817f3b`,`#a0733e`,`#8658b2`,`#956301`,`#bc652d`,`#647331`,`#a14c9e`,`#d14e71`],Ble={motion:`#b88128`,audio:`#1096c8`,recording:`#009e73`,live:`#9c8c22`,heatmapScrub:`#0072b2`,person:`#d55e00`,vehicle:`#c0739f`,animal:`#226d18`,package:`#91446c`,sensor:`#217b56`,control:`#648647`,face:`#c22998`,plate:`#fa4575`,car:`#956301`,truck:`#2f77f3`,bus:`#7a4e86`,motorcycle:`#f54597`,bicycle:`#bb3e75`,airplane:`#e054c0`,boat:`#457942`,train:`#867afa`,bird:`#88914c`,dog:`#1556cd`,cat:`#71702c`,horse:`#9b4fa4`,sheep:`#c0559d`,cow:`#d14f65`,elephant:`#98470f`,bear:`#595896`,zebra:`#96790e`,giraffe:`#cb717b`,"package-delivered":`#139d8a`,"package-picked-up":`#906ead`,suitcase:`#d02939`,backpack:`#d41160`,handbag:`#f64f54`,contact:`#7258d2`,"motion-sensor":`#b66182`,smoke:`#627abb`,flood:`#b86ae4`,gas:`#a95261`,"carbon-monoxide":`#c65d3c`,vibration:`#7a40b7`,tamper:`#914b34`,presence:`#9481c3`,"enum-sensor":`#ac6d47`,"device-event":`#7b6fce`,lock:`#c67662`,cover:`#a6564d`,switch:`#ad2c4e`,siren:`#348e08`,button:`#d27303`,doorbell:`#55770f`,"appliance-cycle":`#00737d`},Vle=[`#9a3784`,`#a7392c`,`#409d50`,`#6987e7`,`#ee5b3d`,`#c0430d`,`#af79b3`,`#4b6628`],E2=O().regex(/^#[0-9a-f]{6}$/),D2=I(`form`,[P({form:z(`solid`),hex:E2}),P({form:z(`gradient`),hex:E2,alphas:N(k().gt(0).lte(1)).length(T2.length)})]);I(`status`,[P({status:z(`ready`),presetId:R(Fle),customized:A(),source:R([`stored`,`unconfigured`]),swatches:L(O(),D2),fallbacks:N(E2).length(8)}),P({status:z(`unknown`),reason:O()})]),F([P({presetId:O()}),P({presetId:O(),overrides:L(O(),D2)})]),P({presetId:O(),overrides:L(O(),D2)});function Hle(e){return{form:`solid`,hex:e}}function Ule(e){return{form:`gradient`,hex:e,alphas:[...T2]}}function Wle(e){let t={};for(let n of Nle){let r=e[n];if(r===void 0)throw Error(`palette table missing ${n}`);t[n]=n===`audio`?Ule(r):Hle(r)}return t}function O2(e,t,n,r){return{id:e,name:t,swatches:Wle(n),fallbacks:r}}var Gle=[O2(`camstack`,`CamStack`,Ile,Lle),O2(`high-contrast`,`High contrast`,Rle,zle),O2(`okabe-ito`,`Colour-blind safe`,Ble,Vle)];function Kle(e){return Gle.find(t=>t.id===e)}function qle(){let e=Kle(`camstack`);if(e===void 0)throw Error(`CamStack preset missing`);return Jle(e,`unconfigured`,!1)}function Jle(e,t,n){return{status:`ready`,presetId:e.id,customized:n,source:t,swatches:e.swatches,fallbacks:[...e.fallbacks]}}function k2(e,t){let n=0;for(let t=0;t<e.length;t++)n=n*31+(e.codePointAt(t)??0)>>>0;let r=t[n%t.length];if(r===void 0)throw Error(`display palette has no fallback colour`);return r}function Yle(e,t,n){let r=n.trim().toLowerCase();if(r.startsWith(`audio-`)){let n=e[Ple];return n===void 0?k2(r,t):n.hex}let i=e[r];return i===void 0?k2(r,t):i.hex}var A2=P({x:k(),y:k()}),Xle=P({kind:z(`rect`),x:k(),y:k(),width:k(),height:k()}),j2=P({kind:z(`polygon`),points:N(A2)});I(`kind`,[Xle,j2,P({kind:z(`grid`),gridWidth:k().meta(l2(`none`)),gridHeight:k().meta(l2(`none`)),cells:N(A())}),P({kind:z(`line`),points:N(A2)})]),R([`rect`,`polygon`,`grid`,`line`]),P({min:k(),max:k()}),P({width:k(),height:k()});var Zle=P({addonId:O(),capabilities:N(O()).readonly(),status:O()}),Qle=P({pid:k(),name:O(),state:O(),cpuPercent:k(),memoryRss:k(),uptimeSeconds:k(),services:N(Zle).readonly(),groupId:O().optional()}),$le=P({id:O(),status:O(),cpuPercent:k(),memoryRss:k()}),eue=P({category:O(),total:k(),healthy:k(),addons:N($le).readonly()}),tue=P({name:O(),version:O()}),nue=P({id:O(),name:O(),hostname:O(),platform:O(),arch:O(),cpuModel:O().nullable(),cpuCores:k(),memoryMB:k(),engines:N(O()).readonly(),isHub:A(),isOnline:A(),cpuPercent:k(),memoryPercent:k().nullable(),uptime:k(),lastSeen:O(),localIps:N(O()).readonly(),addons:N(P({id:O(),capabilities:N(O()).readonly(),status:O()})).readonly(),processes:N(Qle).readonly(),categories:N(eue).readonly(),rootPackage:tue.nullable(),meshTransport:R([`tls`,`clear`]).optional(),capabilitiesRegistered:A().optional()}),rue=P({callerAddonId:O(),providerAddonId:O(),capName:O(),callsPerMin:k(),lastCallAtMs:k()}),iue=P({nodeId:O(),name:O(),version:O(),status:O(),synced:A()}),aue=P({hubVersion:O(),nodes:N(iue)}),M2=P({nodeId:O(),addonId:O()}),oue=P({id:O(),status:O(),version:O().optional(),packageName:O().optional()}),N2=P({success:A()}),sue=P({success:A(),reason:O().optional()}),cue=P({restarted:N(O()).readonly(),failed:N(O()).readonly()}),lue=P({nodeId:O(),name:O()}),uue=P({nodes:N(P({id:O(),name:O(),isHub:A(),isOnline:A()})).readonly(),complete:A()});Q(M(),N(nue).readonly(),{auth:`admin`}),Q(M(),uue,{auth:`admin`}),Q(M2,N2,{kind:`mutation`,auth:`admin`}),Q(M2,N2,{kind:`mutation`,auth:`admin`}),Q(M2,N2,{kind:`mutation`,auth:`admin`}),Q(P({nodeId:O(),processName:O()}),sue,{kind:`mutation`,auth:`admin`}),Q(P({nodeId:O()}),cue,{kind:`mutation`,auth:`admin`}),Q(P({nodeId:O()}),N2,{kind:`mutation`,auth:`admin`}),Q(P({nodeId:O(),name:O().min(1).max(64)}),lue,{kind:`mutation`,auth:`admin`}),Q(M(),L(O(),aue),{auth:`admin`}),Q(P({windowSeconds:k().int().positive().max(300).default(60)}),N(rue).readonly(),{auth:`admin`}),Q(P({nodeId:O()}),N(oue).readonly(),{auth:`admin`}),Q(P({nodeId:O(),level:O()}),N2,{kind:`mutation`,auth:`admin`}),Q(P({nodeId:O(),addonId:O(),queryName:O(),params:L(O(),j()).optional()}),j(),{kind:`mutation`,auth:`admin`});var due=[{id:`speech`,name:`Speech`},{id:`scream`,name:`Scream / Shout`},{id:`crying`,name:`Crying / Baby`},{id:`laughter`,name:`Laughter`},{id:`music`,name:`Music`},{id:`dog`,name:`Dog`},{id:`cat`,name:`Cat`},{id:`bird`,name:`Bird`},{id:`animal`,name:`Animal (other)`},{id:`alarm`,name:`Alarm / Siren`},{id:`doorbell`,name:`Doorbell / Knock`},{id:`glass_breaking`,name:`Glass Breaking`},{id:`gunshot`,name:`Gunshot / Explosion`},{id:`vehicle`,name:`Vehicle`},{id:`siren`,name:`Emergency Siren`},{id:`fire`,name:`Fire / Smoke`},{id:`water`,name:`Water`},{id:`wind`,name:`Wind / Weather`},{id:`door`,name:`Door`},{id:`footsteps`,name:`Footsteps`},{id:`crowd`,name:`Crowd / Chatter`},{id:`telephone`,name:`Telephone`},{id:`engine`,name:`Engine / Motor`},{id:`tools`,name:`Tools / Construction`},{id:`silence`,name:`Silence`}],fue={mapping:{Speech:`speech`,"Child speech, kid speaking":`speech`,Conversation:`speech`,"Narration, monologue":`speech`,Babbling:`speech`,Whispering:`speech`,"Speech synthesizer":`speech`,Humming:`speech`,Rapping:`speech`,Singing:`speech`,Choir:`speech`,"Child singing":`speech`,Shout:`scream`,Bellow:`scream`,Yell:`scream`,Screaming:`scream`,"Children shouting":`scream`,Whoop:`scream`,"Crying, sobbing":`crying`,"Baby cry, infant cry":`crying`,Whimper:`crying`,"Wail, moan":`crying`,Groan:`crying`,Laughter:`laughter`,"Baby laughter":`laughter`,Giggle:`laughter`,Snicker:`laughter`,"Belly laugh":`laughter`,"Chuckle, chortle":`laughter`,Music:`music`,"Musical instrument":`music`,Guitar:`music`,Piano:`music`,Drum:`music`,"Drum kit":`music`,"Violin, fiddle":`music`,Flute:`music`,Saxophone:`music`,Trumpet:`music`,Synthesizer:`music`,"Pop music":`music`,"Rock music":`music`,"Hip hop music":`music`,"Classical music":`music`,Jazz:`music`,"Electronic music":`music`,"Background music":`music`,Dog:`dog`,Bark:`dog`,Yip:`dog`,Howl:`dog`,"Bow-wow":`dog`,Growling:`dog`,"Whimper (dog)":`dog`,Cat:`cat`,Purr:`cat`,Meow:`cat`,Hiss:`cat`,Caterwaul:`cat`,Bird:`bird`,"Bird vocalization, bird call, bird song":`bird`,"Chirp, tweet":`bird`,Squawk:`bird`,Crow:`bird`,Owl:`bird`,"Pigeon, dove":`bird`,Animal:`animal`,"Domestic animals, pets":`animal`,"Livestock, farm animals, working animals":`animal`,Horse:`animal`,"Cattle, bovinae":`animal`,Pig:`animal`,Sheep:`animal`,Goat:`animal`,Frog:`animal`,Insect:`animal`,Cricket:`animal`,Alarm:`alarm`,"Alarm clock":`alarm`,"Smoke detector, smoke alarm":`alarm`,"Fire alarm":`alarm`,Buzzer:`alarm`,"Civil defense siren":`alarm`,"Car alarm":`alarm`,Siren:`siren`,"Police car (siren)":`siren`,"Ambulance (siren)":`siren`,"Fire engine, fire truck (siren)":`siren`,"Emergency vehicle":`siren`,Foghorn:`siren`,Doorbell:`doorbell`,"Ding-dong":`doorbell`,Knock:`doorbell`,Tap:`doorbell`,Glass:`glass_breaking`,Shatter:`glass_breaking`,"Chink, clink":`glass_breaking`,"Gunshot, gunfire":`gunshot`,"Machine gun":`gunshot`,Explosion:`gunshot`,Fireworks:`gunshot`,Firecracker:`gunshot`,"Artillery fire":`gunshot`,"Cap gun":`gunshot`,Boom:`gunshot`,Vehicle:`vehicle`,Car:`vehicle`,Truck:`vehicle`,Bus:`vehicle`,Motorcycle:`vehicle`,"Car passing by":`vehicle`,"Vehicle horn, car horn, honking":`vehicle`,"Traffic noise, roadway noise":`vehicle`,Train:`vehicle`,Aircraft:`vehicle`,Helicopter:`vehicle`,Bicycle:`vehicle`,Skateboard:`vehicle`,Fire:`fire`,Crackle:`fire`,Water:`water`,Rain:`water`,Raindrop:`water`,"Rain on surface":`water`,Stream:`water`,Waterfall:`water`,Ocean:`water`,"Waves, surf":`water`,"Splash, splatter":`water`,Wind:`wind`,Thunderstorm:`wind`,Thunder:`wind`,"Wind noise (microphone)":`wind`,"Rustling leaves":`wind`,Door:`door`,"Sliding door":`door`,Slam:`door`,"Cupboard open or close":`door`,"Walk, footsteps":`footsteps`,Run:`footsteps`,Shuffle:`footsteps`,Crowd:`crowd`,Chatter:`crowd`,Cheering:`crowd`,Applause:`crowd`,"Children playing":`crowd`,"Hubbub, speech noise, speech babble":`crowd`,Telephone:`telephone`,"Telephone bell ringing":`telephone`,Ringtone:`telephone`,"Telephone dialing, DTMF":`telephone`,"Busy signal":`telephone`,Engine:`engine`,"Engine starting":`engine`,Idling:`engine`,"Accelerating, revving, vroom":`engine`,"Light engine (high frequency)":`engine`,"Medium engine (mid frequency)":`engine`,"Heavy engine (low frequency)":`engine`,"Lawn mower":`engine`,Chainsaw:`engine`,Hammer:`tools`,Jackhammer:`tools`,Sawing:`tools`,"Power tool":`tools`,Drill:`tools`,Sanding:`tools`,Silence:`silence`},preserveOriginal:!1},pue={mapping:{speech:`speech`,child_speech:`speech`,conversation:`speech`,whispering:`speech`,singing:`speech`,humming:`speech`,shout:`scream`,yell:`scream`,screaming:`scream`,crying:`crying`,baby_crying:`crying`,sobbing:`crying`,laughter:`laughter`,baby_laughter:`laughter`,giggling:`laughter`,music:`music`,guitar:`music`,piano:`music`,drums:`music`,dog_bark:`dog`,dog_bow_wow:`dog`,dog_growling:`dog`,dog_howl:`dog`,cat_meow:`cat`,cat_purr:`cat`,cat_hiss:`cat`,bird:`bird`,bird_chirp:`bird`,bird_squawk:`bird`,animal:`animal`,horse:`animal`,cow_moo:`animal`,insect:`animal`,alarm:`alarm`,smoke_alarm:`alarm`,fire_alarm:`alarm`,car_alarm:`alarm`,siren:`siren`,police_siren:`siren`,ambulance_siren:`siren`,doorbell:`doorbell`,door_knock:`doorbell`,knocking:`doorbell`,glass_breaking:`glass_breaking`,glass_shatter:`glass_breaking`,gunshot:`gunshot`,explosion:`gunshot`,fireworks:`gunshot`,car:`vehicle`,truck:`vehicle`,motorcycle:`vehicle`,car_horn:`vehicle`,vehicle_horn:`vehicle`,traffic:`vehicle`,fire:`fire`,fire_crackle:`fire`,water:`water`,rain:`water`,ocean:`water`,splash:`water`,wind:`wind`,thunder:`wind`,thunderstorm:`wind`,door:`door`,door_slam:`door`,sliding_door:`door`,footsteps:`footsteps`,walking:`footsteps`,running:`footsteps`,crowd:`crowd`,chatter:`crowd`,cheering:`crowd`,applause:`crowd`,telephone_ring:`telephone`,ringtone:`telephone`,engine:`engine`,engine_starting:`engine`,lawn_mower:`engine`,chainsaw:`engine`,hammer:`tools`,jackhammer:`tools`,drill:`tools`,power_tool:`tools`,silence:`silence`},preserveOriginal:!1},P2=new Map;for(let[e,t]of Object.entries(fue.mapping))P2.set(e.toLowerCase(),t);for(let[e,t]of Object.entries(pue.mapping))P2.set(e.toLowerCase(),t);var F2=qle();function I2(e){return Yle(F2.swatches,F2.fallbacks,e)}function mue(e){let t=e[0];if(t===void 0)throw Error(`display palette has no fallback colour`);return t}mue(F2.fallbacks);function hue(e){return e.split(/[-_ ]/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}var L2=new Map;function R2(e,t,n,r){L2.set(e,{kind:e,parentKind:null,level:`macro`,category:t,color:I2(e),iconId:n,labelKey:`eventKind.${e}`,label:r})}function z2(e,t,n,r,i){L2.set(e,{kind:e,parentKind:t,level:`sub`,category:n,color:I2(e),iconId:r,labelKey:`eventKind.${e}`,label:i})}R2(`motion`,`motion`,`motion`,`Motion`),R2(`audio`,`audio`,`audio`,`Audio`),R2(`person`,`detection`,`person`,`Person`),R2(`vehicle`,`detection`,`vehicle`,`Vehicle`),R2(`animal`,`detection`,`animal`,`Animal`),R2(`package`,`package`,`package`,`Package`),R2(`sensor`,`sensor`,`sensor`,`Sensor`),R2(`control`,`control`,`control`,`Control`);for(let[e,t]of Object.entries(Tle.mapping))t!==`vehicle`&&t!==`animal`||L2.has(e)||z2(e,t,`detection`,e,hue(e));z2(`package-delivered`,`package`,`package`,`package`,`Package delivered`),z2(`package-picked-up`,`package`,`package`,`package`,`Package picked up`),z2(`contact`,`sensor`,`sensor`,`door`,`Contact`),z2(`motion-sensor`,`sensor`,`sensor`,`pir`,`Motion sensor`),z2(`smoke`,`sensor`,`sensor`,`smoke`,`Smoke`),z2(`flood`,`sensor`,`sensor`,`water`,`Water leak`),z2(`gas`,`sensor`,`sensor`,`gas`,`Gas`),z2(`carbon-monoxide`,`sensor`,`sensor`,`smoke`,`Carbon monoxide`),z2(`vibration`,`sensor`,`sensor`,`vibration`,`Vibration`),z2(`tamper`,`sensor`,`sensor`,`tamper`,`Tamper`),z2(`presence`,`sensor`,`sensor`,`presence`,`Presence`),z2(`enum-sensor`,`sensor`,`sensor`,`generic`,`Sensor state`),z2(`device-event`,`sensor`,`sensor`,`button`,`Device event`),z2(`lock`,`control`,`control`,`lock`,`Lock`),z2(`cover`,`control`,`control`,`door`,`Cover`),z2(`switch`,`control`,`control`,`switch`,`Switch`),z2(`siren`,`control`,`control`,`siren`,`Siren`),z2(`button`,`control`,`control`,`button`,`Button`),z2(`doorbell`,`control`,`control`,`doorbell`,`Doorbell`),z2(`appliance-cycle`,`control`,`control`,`switch`,`Appliance cycle`);for(let e of due){let t=`audio-${e.id}`;L2.has(t)||z2(t,`audio`,`audio`,t,e.name)}var B2=Object.freeze(Object.fromEntries(L2)),V2=P({kind:O(),label:O(),parentKind:O().nullable()}),gue=P({videoClasses:N(V2),audioKinds:N(V2),labels:N(V2)});function H2(e,t,n){return{kind:e,label:t,parentKind:n}}function _ue(){let e=Object.values(B2);return{videoClasses:e.filter(e=>e.category===`detection`).map(e=>H2(e.kind,e.label,e.parentKind)),audioKinds:e.filter(e=>e.category===`audio`&&e.level===`sub`).map(e=>H2(e.kind,e.label,e.parentKind)),labels:e.filter(e=>e.category===`sensor`||e.category===`control`).map(e=>H2(e.kind,e.label,e.parentKind))}}Object.freeze(_ue());var U2=R([`immediate`,`track-end`,`device-event`,`package-event`,`system-event`]),W2=R(`device-online.device-offline.device-disabled.device-enabled.device-battery-low.device-battery-normal.device-consumable-low.device-consumable-normal.stream-online.stream-offline.node-online.node-offline.node-restarting.node-updating.node-inference-unavailable.detection-blind.motion-noisy.motion-calm.package-llm-silent.package-llm-answered.recording-stalled.recording-healthy.recording-degraded.device-attention-required.device-attention-resolved.storage-location-low.storage-location-critical.storage-location-ok.addon-crash-loop.addon-update-available.server-update-available.wrapper-update-available.alarm-triggered.alarm-armed.alarm-disarmed.alarm-arming.alarm-arm-refused.alarm-pending.alarm-rearmed.alarm-sensor-bypass.alarm-check-failed.addon-updated.server-updated.export-completed.backup-completed.alert-critical.alert-error.alert-critical-resolved.rule-broken.rule-repaired.camera-online.camera-offline.camera-disabled.camera-enabled`.split(`.`)),G2=[`camera-online`,`camera-offline`,`camera-disabled`,`camera-enabled`],vue=new Set(G2);W2.options.filter(e=>!vue.has(e));var yue=[`alarm-arm-refused`,`alarm-check-failed`,`alarm-arming`,`alarm-armed`,`alarm-pending`,`alarm-triggered`,`alarm-rearmed`,`alarm-sensor-bypass`,`alarm-disarmed`],bue=P({kinds:N(W2).min(1),deviceIds:N(k().int()).min(1).optional(),deviceTypes:N(O().min(1)).min(1).optional(),excludeDeviceIds:N(k().int()).min(1).optional(),nodeIds:N(O().min(1)).min(1).optional(),packageNames:N(O().min(1)).min(1).optional(),consumableLowPercent:k().int().min(1).max(95).optional()}),K2=1440,q2=P({windows:N(P({days:N(k().int().min(0).max(6)).min(1),startMinute:k().int().min(0).max(1439),endMinute:k().int().min(0).max(1439)})).min(1),timezone:O().optional(),invert:A().optional()}),J2=R([`instant`,`summary`]);R([`activation`,`deactivation`,`schedule`]);var Y2=R([`rule`,`section`]),xue=I(`mode`,[P({mode:z(`instant`)}),P({mode:z(`summary`),schedule:q2,split:Y2.optional()}),P({mode:z(`modes`),onActivation:A(),onDeactivation:A(),onSchedule:P({schedule:q2,grouping:Y2}).optional()})]),Sue=P({values:N(O().min(1)),maxDistance:k().int().min(0).max(3).default(1)}),Cue=P({zoneId:O().optional(),className:O().optional(),op:R([`became-occupied`,`became-free`,`>=`,`<=`]).default(`became-occupied`),count:k().int().min(0).default(1),sustainSeconds:k().int().min(0).max(3600).default(15)}),wue=P({labels:N(O().min(1)).min(1).optional(),dbThreshold:k().min(-96).max(0).optional(),hitPercent:k().int().min(1).max(100).default(60),samplingSeconds:k().int().min(1).max(300).default(10),confirmHits:k().int().min(1).max(20).optional(),confirmWindowSec:k().int().min(1).max(60).optional()}),Tue=R([`enter`,`exit`,`any`]),Eue=R([`raised`,`cleared`]),Due=P({ids:N(O().min(1)).min(1),match:R([`any`,`all`]).optional()}),X2=I(`kind`,[P({kind:z(`wait`),seconds:k().min(0).max(300)}),P({kind:z(`cap`),target:Cle.optional(),actionId:O().min(1).optional(),deviceId:k().int().optional(),cap:O().min(1),method:O().min(1),args:L(O(),j()).optional()}).refine(e=>e.target!==void 0||e.deviceId!==void 0,{message:`a cap step needs a target`,path:[`target`]}).refine(e=>e.target?.kind!==`domain`||e.actionId!==void 0,{message:`a domain target needs the vocabulary action it applies to (actionId)`,path:[`actionId`]})]),Z2=P({id:O().min(1),name:O().min(1).max(120),minDelaySec:k().int().min(0).max(86400).optional(),actions:N(X2).min(1)}),Q2=P({name:O().min(1).max(120),minDelaySec:k().int().min(0).max(86400).optional(),actions:N(X2).min(1)}),$2=N(I(`kind`,[P({kind:z(`sequence`),sequenceId:O().min(1)}),P({kind:z(`do`),action:X2})])).max(4),Oue=P({id:O().min(1).max(64),label:O().min(1).max(40),sequenceId:O().min(1),icon:i2.optional(),destructive:A().optional()}),kue=P({onActivation:$2.optional(),onDeactivation:$2.optional(),onTrigger:$2.optional(),onTriggerOff:$2.optional(),buttons:N(Oue).max(8).optional()});P({name:O().min(1).max(120),enabled:A(),minDelaySec:k().int().min(0).max(86400).optional(),actions:N(X2).min(1)});var Aue=P({deviceId:k().int(),states:N(O().min(1)).min(1)}),jue=P({sceneId:O().min(1),deviceId:k().int().optional(),requiredState:R([`matched`,`diverged`]),latched:A().optional()}),e4=P({deviceState:Aue.optional(),scene:jue.optional(),devices:N(k()).optional(),devicesExclude:N(k()).min(1).optional(),classes:N(O().min(1)).optional(),classesExclude:N(O().min(1)).optional(),minConfidence:k().min(0).max(1).optional(),zones:Due.optional(),zonesExclude:N(O().min(1)).optional(),crossing:Tue.optional(),labelEquals:N(O().min(1)).optional(),identities:N(O().min(1)).optional(),plates:Sue.optional(),identitiesExclude:N(O().min(1)).optional(),minImportance:k().min(0).max(1).optional(),minDwellSeconds:k().min(0).optional(),source:R([`pipeline`,`onboard`,`sensor`,`audio`,`any`]).optional(),minLabelConfidence:k().min(0).max(1).optional(),eventTypeTokens:N(O().min(1)).optional(),sensorKinds:N(O().min(1)).optional(),sensorTransition:Eue.optional(),packagePhase:R([`delivered`,`picked-up`,`both`]).optional(),systemEvent:bue.optional(),customZones:N(j2).optional(),occupancy:Cue.optional(),audio:wue.optional()}),t4=P({targetId:O().min(1),params:L(O(),j()).optional()}),Mue=R([`scene-boxes`,`crop`,`clean`,`none`]),Nue=R([`cropped`,`full`,`boxed`]),Pue=R([`mosaic`,`each`]),n4=P({image:Mue.optional(),showTriggerZone:A().optional(),showSubjectPath:A().optional(),attach:R([`best`,`best-matching`,`keyFrame`,`none`]).optional(),frame:Nue.optional(),zoneCrop:A().optional(),gif:A().optional(),clip:A().optional(),clipPreRollSec:k().int().min(0).max(30).optional(),clipPostRollSec:k().int().min(0).max(30).optional(),clipSpeed:k().min(1).max(8).optional(),profile:u2.optional(),linkedCameras:Pue.optional(),wakeSleepingCamera:A().optional()}),Fue=R([`shared`,`per-class`]),r4=P({cooldownSec:k().int().min(0).max(86400).default(60),scope:R([`rule`,`rule-device`]).default(`rule-device`),granularity:Fue.optional()}),Iue=1e3,Lue=2e4,Rue=8e3,zue=P({op:R([`>=`,`>`,`<=`,`<`,`==`]),count:k().int().min(0).max(1e3)}),Bue=P({enabled:A().default(!1),profileId:O().optional(),prompt:O().max(1e3).optional(),expect:zue.optional(),timeoutMs:k().int().min(Iue).max(Lue).default(Rue),onTimeout:R([`fire`,`suppress`]).default(`fire`),maxImagePx:k().int().min(64).max(2048).default(448)}),i4=P({name:O().min(1).max(200),enabled:A().default(!0),delivery:U2,conditions:e4.default({}),schedule:q2.optional(),systemEventDelivery:xue.optional(),targets:N(t4),targetUsers:N(O()).optional(),media:n4.default({}),throttle:r4.default({cooldownSec:60,scope:`rule-device`}),template:P({title:O().max(500).optional(),body:O().max(2e3).optional()}).optional(),priority:k().int().min(1).max(5).default(3),ownerUserId:O().optional(),snoozeAllowGlobal:A().optional(),snoozeOptions:N(k().int().min(1).max(K2)).max(4).optional(),actions:kue.optional(),confirm:Bue.optional(),groupingSec:k().int().min(5).max(60).optional(),askVerdict:A().optional()}),Vue=i4.partial().extend({disabledTargetIds:N(O()).optional(),enabled:A().optional(),conditions:e4.optional(),media:n4.optional(),throttle:r4.optional(),priority:k().int().min(1).max(5).optional()}),Hue=R([`template`,`schedule`,`targetUsers`,`snoozeOptions`,`snoozeAllowGlobal`,`actions`,`confirm`,`groupingSec`,`waitForEnhancement`,`groupIdleSec`]),Uue=P({ruleId:O(),patch:Vue,clear:N(Hue).optional()}),a4=i4.extend({id:O(),createdBy:O(),createdAt:k(),updatedAt:k(),disabledTargetIds:N(O()).default([])}),o4=R([`device-state`,`streams`,`battery`,`consumables`,`detection-blind`,`nodes`,`addons`,`addon-updates`,`updates`]),Wue=P({id:o4,status:R([`read`,`unavailable`]),items:k().int().nonnegative(),reason:O().optional()}),Gue=P({section:o4.optional(),title:O(),text:O(),count:k().int().nonnegative()}),Kue=P({empty:A(),count:k().int().nonnegative(),text:O(),sections:N(Wue),dropped:L(O(),k().int().nonnegative()),excludedGroups:N(O()),split:Y2.optional(),rows:N(Gue).optional()}),que=P({recordId:O(),recordKind:R([`object-event`,`track`,`device-event`,`package-event`,`system-event`]),deviceId:k(),timestamp:k(),wouldFire:A(),failedCondition:O().optional(),className:O().optional(),label:O().optional()}),s4=R([`detection`,`sensor`,`occupancy`,`sound`,`device-events`,`system`,`alarm`,`mixed`]),Jue=R([`detection`,`sensor`,`occupancy`,`sound`,`system`]),Yue=P({id:R([`appliance-cycle`]),kind:s4,title:O(),body:O()}),c4=R([`rule`,`timelapse`,`summary`]),l4=R([`title`,`body`,`previewText`,`captionText`]),Xue=R([`subject`,`place`,`time`,`rule`,`occupancy`,`sound`,`sensor`,`system`,`digest`,`ai`]),Zue=P({name:O().regex(/^\w+$/),label:O(),description:O().optional(),example:O(),group:Xue,families:N(c4).min(1),fields:N(l4).optional(),kinds:N(Jue).optional(),deliveries:N(U2).optional(),systemEventKinds:N(W2).optional(),systemEventDeliveries:N(J2).optional(),dynamic:P({prefix:z(`count_`),from:z(`classes`)}).optional()}),Que=P({context:P({family:c4,field:l4,kind:s4.optional(),delivery:U2.optional(),systemEventKinds:N(W2).optional(),systemEventDelivery:J2.optional()}),template:P({title:O().max(500).optional(),body:O().max(2e3).optional()})}),$ue=P({title:O().nullable(),body:O().nullable(),unknown:N(O())}),ede=P({id:O(),group:R([`scope`,`class`,`zones`,`quality`,`label`,`schedule`,`device`,`package`,`occupancy`,`audio`,`system`]),label:O(),valueType:R([`deviceIdList`,`deviceIdExcludeList`,`stringList`,`number01`,`number`,`sourceSelect`,`zoneSelection`,`zoneIdList`,`schedule`,`plateMatcher`,`packagePhase`,`crossingSelect`,`sensorTransition`,`polygonDraw`,`occupancy`,`audio`,`deviceState`,`scene`,`systemEvent`]),operator:R([`in`,`notIn`,`anyOf`,`allOf`,`gte`,`fuzzyIn`,`withinSchedule`]),appliesTo:N(U2),phase:O(),description:O().optional(),options:N(P({value:O(),label:O(),hint:O().optional()})).readonly().optional()}),u4=R([`pending`,`sent`,`dead`]),tde=R([`object-event`,`track-end`,`device-event`,`package-event`,`system-event`]),nde=P({className:O(),label:O().optional(),confidence:k().optional(),zones:N(O()),timestamp:k(),systemEvent:P({kind:W2,subject:O(),title:O(),body:O(),data:L(O(),j())}).optional()}),rde=P({id:O(),ruleId:O(),ruleName:O(),delivery:U2,targetId:O(),deviceId:k(),recordKind:tde,recordId:O(),trackId:O().optional(),status:u4,attempts:k().int(),createdAt:k(),updatedAt:k(),error:O().optional(),subject:nde,artifactIds:N(O().min(1)).optional()}),ide=P({ruleId:O().optional(),deviceId:k().optional(),status:u4.optional(),since:k().optional(),until:k().optional(),limit:k().int().min(1).max(500).default(100)}),ade=P({runs:N(P({ruleId:O(),lastAt:k(),status:u4,deviceId:k()})),horizonMs:k().nonnegative().nullable()}),d4=R([`rule`,`device`,`all`]),ode=P({scope:d4,ruleId:O().optional(),deviceId:k().int().optional(),classes:N(O().min(1)).min(1).optional(),durationMinutes:k().int().min(1).max(K2),global:A().optional(),summary:A().optional()}),f4=P({id:O(),userId:O(),scope:d4,ruleId:O().optional(),deviceId:k().int().optional(),classes:N(O().min(1)).min(1).optional(),startedAt:k(),expiresAt:k(),global:A(),summary:A(),digestSentAt:k().optional()});P({snoozeId:O(),targetId:O(),ruleId:O(),ruleName:O(),deviceId:k().int(),count:k().int(),firstAt:k(),lastAt:k()});var sde=3600,p4=k().int().min(0).max(600),m4=k().int().min(0).max(sde),h4=e=>new Set(e.map(e=>e.mode)).size===e.length,g4=R([`rearmAfter`,`disableAfter`,`doNothing`]),cde=N(P({mode:w2,exitDelaySec:p4.optional(),entryDelaySec:p4.optional(),triggeredDurationSec:m4.optional(),postTriggeredAction:g4.optional(),schedule:q2.optional(),notifyDuringEntryDelay:A().optional(),notifySensorRewatched:A().optional(),notifySensorIgnored:A().optional()})).max(8).refine(h4,{message:`modeDelays: at most one entry per arm mode`}),lde=N(P({mode:w2,exitDelaySec:p4.nullable().optional(),entryDelaySec:p4.nullable().optional(),triggeredDurationSec:m4.nullable().optional(),postTriggeredAction:g4.nullable().optional(),schedule:q2.nullable().optional(),notifyDuringEntryDelay:A().nullable().optional(),notifySensorRewatched:A().nullable().optional(),notifySensorIgnored:A().nullable().optional()})).max(8).refine(h4,{message:`modeDelays: at most one edit per arm mode`}),ude=P({mode:w2,deviceId:k().int().positive(),nonBlocking:A()}),dde=P({mode:w2,deviceId:k().int().positive(),blocking:A()}),fde=P({mode:w2,deviceId:k().int().positive(),secureOnArm:A()}),_4=P({mode:w2,deviceIds:N(k().int()).max(200)}),pde=_4,mde=_4,hde=_4,v4=N(pde).max(8).refine(h4,{message:`nonBlocking: at most one list per arm mode`}),y4=N(mde).max(8).refine(h4,{message:`blocking: at most one list per arm mode`}),b4=N(hde).max(8).refine(h4,{message:`secureOnArmOff: at most one list per arm mode`}),x4=P({exitDelaySec:p4,entryDelaySec:p4,triggeredDurationSec:m4,postTriggeredAction:g4.optional(),announceArm:A().optional(),announceTargets:N(O().min(1)).max(16),nonBlocking:v4.default([]),blocking:y4.default([]),secureOnArmOff:b4.default([]),modeDelays:cde.default([])}),gde=P({id:O().min(1).max(64),name:O().min(1).max(64),isDefault:A()}),_de=P({activeId:O().min(1),items:N(gde).min(1)}),vde=P({name:O().min(1).max(64),cloneFromId:O().min(1).max(64).optional()}),yde=P({id:O().min(1).max(64),name:O().min(1).max(64)}),S4=P({id:O().min(1).max(64)}),bde=x4.extend({nonBlocking:v4,blocking:y4,secureOnArmOff:b4,modeDelays:lde,nonBlockingEdit:ude,blockingEdit:dde,secureOnArmEdit:fde}).partial().refine(e=>e.nonBlocking===void 0||e.nonBlockingEdit===void 0,{message:`nonBlocking and nonBlockingEdit are exclusive — send the whole lists or one edit`}).refine(e=>e.blocking===void 0||e.blockingEdit===void 0,{message:`blocking and blockingEdit are exclusive — send the whole lists or one edit`}).refine(e=>e.secureOnArmOff===void 0||e.secureOnArmEdit===void 0,{message:`secureOnArmOff and secureOnArmEdit are exclusive — send the whole lists or one edit`}),xde=R([`muted`,`detection-off`,`offline`]),Sde=P({deviceId:k().int(),reason:xde}),Cde=P({mode:w2,ruleCount:k().int().min(0),allDevices:A(),deviceIds:N(k().int()),allDevicesExcept:N(k().int()).default([]),skippedDevices:N(Sde).default([])}),wde=P({deviceId:k().int(),name:O(),state:O(),blocking:A()}),Tde=P({deviceId:k().int(),name:O(),phase:R([`open`,`closed`])}),Ede=P({mode:w2,devices:N(wde),unknown:N(k().int())}),Dde=P({ruleId:O(),ruleName:O(),deviceId:k().int(),name:O(),since:k(),dropped:k().int().min(0)}),Ode=P({state:C2,targetMode:w2.nullable(),availableModes:N(w2),openings:N(Ede),exclusions:N(Tde),bypassedInputs:N(Dde).default([])}),C4=P({deviceId:k().int().nullable(),settings:x4,profiles:_de.optional(),coverage:N(Cde),live:Ode.optional()}),kde=R([`open`,`closed`,`unknown`,`not-opening`]),Ade=P({deviceId:k().int().positive(),reading:kde,state:O().nullable(),unknownWhy:R([`read-failed`,`unknown-word`]).nullable(),online:A().nullable(),controllable:A().default(!1)}),jde=P({deviceIds:N(k().int().positive()).max(500)}),Mde=P({sensors:N(Ade),readAt:k().int().nonnegative()}),Nde=P({deviceId:k().int().nonnegative().optional(),seconds:k().min(0).max(60),profile:u2.optional(),ruleId:O(),ruleName:O(),reason:R([`window`,`occupancy`])}),Pde=P({rulesLoaded:A(),asks:N(Nde).readonly()});Q(P({}),P({rules:N(a4)}),{auth:`admin`}),Q(P({ruleId:O()}),P({rule:a4.nullable()}),{auth:`admin`}),Q(P({rule:i4}),P({rule:a4}),{kind:`mutation`,auth:`admin`,caller:`required`}),Q(Uue,P({rule:a4}),{kind:`mutation`,auth:`admin`,caller:`required`}),Q(P({ruleId:O()}),P({success:z(!0)}),{kind:`mutation`,auth:`admin`}),Q(P({ruleId:O(),enabled:A()}),P({success:z(!0)}),{kind:`mutation`,auth:`admin`}),Q(P({}),P({sequences:N(Z2)}),{auth:`admin`}),Q(P({sequenceId:O().min(1)}),P({sequence:Z2.nullable()}),{auth:`admin`}),Q(P({sequence:Q2}),P({sequence:Z2}),{kind:`mutation`,auth:`admin`}),Q(P({sequenceId:O().min(1),sequence:Q2}),P({sequence:Z2}),{kind:`mutation`,auth:`admin`}),Q(P({sequenceId:O().min(1)}),P({success:z(!0)}),{kind:`mutation`,auth:`admin`}),Q(P({}),Pde,{auth:`admin`}),Q(P({}),P({mutedDeviceIds:N(k().int()).readonly()}),{auth:`admin`}),Q(P({deviceId:k().int(),muted:A()}),P({success:z(!0)}),{kind:`mutation`,auth:`admin`}),Q(P({rule:i4,lookbackMinutes:k().int().min(1).max(1440).default(60)}),P({results:N(que)}),{kind:`mutation`,auth:`admin`}),Q(P({rule:i4}),Kue,{kind:`mutation`,auth:`admin`,access:`view`}),Q(P({}),P({catalog:N(ede),taxonomy:gue.optional()})),Q(P({}),P({vars:N(Zue),defaults:N(Yue)})),Q(Que,$ue,{kind:`mutation`,access:`view`}),Q(P({filter:ide.default({limit:100})}),P({entries:N(rde)}),{auth:`admin`}),Q(P({}),ade,{auth:`admin`}),Q(P({artifactId:O().min(1)}),P({url:O().nullable()}),{auth:`admin`}),Q(P({}),P({snoozes:N(f4)}),{caller:`required`}),Q(P({snooze:ode}),P({snooze:f4}),{kind:`mutation`,caller:`required`}),Q(P({snoozeId:O()}),P({success:z(!0)}),{kind:`mutation`,caller:`required`}),Q(P({}),C4,{auth:`admin`}),Q(P({patch:bde}),C4,{kind:`mutation`,auth:`admin`}),Q(vde,C4,{kind:`mutation`,auth:`admin`}),Q(yde,C4,{kind:`mutation`,auth:`admin`}),Q(S4,C4,{kind:`mutation`,auth:`admin`}),Q(S4,C4,{kind:`mutation`,auth:`admin`}),Q(jde,Mde,{auth:`admin`}),R([`queue-full`,`camera-backoff`,`sleeping`,`camera-refused`,`no-keyframe`,`decode-failed`,`no-catalog-row`,`unsupported`,`unknown-device`,`uid-missing`]),R([`deferred`,`final`]);var Fde=P({id:O(),source:O(),kind:R([`motion`,`object`,`audio`,`native`]),timeRange:P({startMs:k(),endMs:k()}),labels:N(O()).max(3).optional(),thumbnail:O().optional(),stillAtMs:k().optional(),eventIds:N(O()).optional(),eventCount:k().int().nonnegative().optional(),holes:N(P({startMs:k(),endMs:k()})).optional(),thumbnailMint:O().optional(),thumbnailUnavailable:P({reason:R([`sleeping`,`camera-refused`,`no-keyframe`,`unsupported`])}).optional(),catalogAsOf:k().optional(),nativeTypes:N(O()).optional(),behaviours:N(O()).optional(),streams:P({sub:P({id:O(),bytes:k().optional()}).optional(),main:P({id:O(),bytes:k().optional()}).optional()}).optional(),supportSub:A().optional(),playable:A().optional(),unplayableReason:O().optional(),inProgress:A().optional()}),Ide=P({playbackUrl:O(),format:R([`hls`,`mp4`]).optional(),served:u2.optional(),playbackEndpoints:N(O()).optional(),token:O().optional()}),w4=R([`authorised`]),Lde=P({base64:O(),contentType:O(),name:O(),bytes:k().int().nonnegative(),served:u2,durationMs:k().positive().optional()}),Rde=P({ticket:sle,contentType:O(),name:O(),served:u2,durationMs:k().positive().optional()}),T4=R([`opus`,`pcmu`,`none`]),zde=R([`not-requested`,`unsupported-ask`]),Bde=P({url:O().min(1),expiresAtMs:k(),transport:z(`forward-only`),served:u2,servedAudio:T4,audioReason:zde.optional()}),Vde=P({transport:R([`stream`,`file`]),seek:R([`forward`,`free`]),stepBack:A(),scrub:A(),rates:N(k().positive()).min(1).readonly()}),Hde=P({state:R([`ok`,`sleeping`,`unreachable`,`no-storage`,`index-empty`]),reason:O().optional(),catalogAsOf:k().optional()}),Ude=P({source:O(),label:O(),addonId:O().optional(),availability:Hde});p2.Camera,Q(P({deviceId:k(),since:k(),until:k(),limit:k().int().positive().optional(),provider:O().min(1)}),N(Fde).readonly(),{kind:`query`,auth:`protected`}),Q(P({deviceId:k()}),N(Ude).readonly(),{kind:`query`,auth:`protected`}),Q(P({deviceId:k(),clipId:O(),profile:u2.optional()}),Ide,{kind:`query`,auth:`protected`}),t2(P({deviceId:k(),clipId:O().min(1),provider:O().min(1),profile:u2.optional(),maxBytes:k().int().positive().optional(),wake:w4.optional()}),Lde,{kind:`query`,auth:`protected`}),t2(P({deviceId:k(),clipId:O().min(1),provider:O().min(1),profile:u2.optional(),maxBytes:k().int().positive().optional(),wake:w4.optional()}),Rde,{kind:`query`,auth:`protected`}),t2(P({deviceId:k(),clipId:O().min(1),provider:O().min(1),profile:u2.optional(),audio:T4.optional()}),Bde,{kind:`query`,auth:`protected`}),t2(P({deviceId:k(),provider:O().min(1)}),Vde,{kind:`query`,auth:`protected`});var Wde=k().min(.25).max(32),Gde=P({fromSec:k().nonnegative(),toSec:k().nonnegative()}).refine(e=>e.toSec>e.fromSec,{message:`dense range must have toSec > fromSec`}),Kde=P({everyMs:k().int().positive(),ranges:N(Gde).min(1).max(200)}),qde=P({everyMs:k().int().positive(),outputFps:k().int().min(1).max(60).optional(),dense:Kde.optional()}).superRefine((e,t)=>{e.dense!==void 0&&e.dense.everyMs>=e.everyMs&&t.addIssue({code:as.custom,message:`dense.everyMs must be strictly smaller than the base everyMs`,path:[`dense`,`everyMs`]})}),E4=P({speed:Wde.optional(),timelapse:qde.optional(),includeAudio:A(),maxLifeMs:k().int().positive(),deleteAfterDownload:A(),title:O().max(200).optional(),notifyTargetIds:N(O().min(1)).max(20).optional()}).superRefine((e,t)=>{e.speed!==void 0&&e.timelapse!==void 0&&t.addIssue({code:as.custom,message:`speed and timelapse are mutually exclusive`,path:[`timelapse`]})}),Jde=R([`queued`,`rendering`,`ready`,`failed`,`expired`,`deleted`]),D4=I(`kind`,[P({kind:z(`footage`),deviceId:k(),profiles:N(O()).min(1),fromMs:k(),toMs:k()}),P({kind:z(`clip`),deviceId:k(),provider:O().min(1),source:O().min(1),sourceLabel:O().min(1),clipId:O().min(1),catalogWindow:P({sinceMs:k(),untilMs:k()}),profile:R([`high`,`mid`,`low`]),wake:w4.optional()})]),O4=P({id:O(),deviceId:k(),profile:O(),fromMs:k(),toMs:k(),subject:D4.optional(),options:E4,state:Jde,progressPct:k().nullable(),fileBytes:k().nullable(),expiresAt:k(),deleteAfterDownload:A(),downloadedAt:k().nullable(),createdAt:k(),createdBy:O(),error:O().nullable()});R([`catalog-miss`,`catalog-unreachable`,`no-file-for-window`,`clip-in-progress`,`unsupported-option`,`sleeping`,`camera-refused`,`fetch-failed`,`too-large-to-transfer`,`wake-expired`]);var Yde=P({url:O(),endpoints:N(O())}),Xde=P({base64:O(),contentType:O(),name:O(),bytes:k().int().nonnegative()});function Zde(e){return e.profiles!==void 0&&e.profiles.length>0?[...e.profiles]:typeof e.profile==`string`&&e.profile.length>0?[e.profile]:[]}Q(P({deviceId:k(),profile:O().optional(),profiles:N(O()).min(1).optional(),fromMs:k().optional(),toMs:k().optional(),subject:D4.optional(),options:E4}).superRefine((e,t)=>{if(e.subject?.kind===`clip`){e.subject.deviceId!==e.deviceId&&t.addIssue({code:as.custom,message:`subject.deviceId (${e.subject.deviceId}) must equal deviceId (${e.deviceId}) — the top-level field is what per-device scope enforcement reads`,path:[`subject`,`deviceId`]}),(e.fromMs!==void 0||e.toMs!==void 0)&&t.addIssue({code:as.custom,message:`a clip export asks for no time range: the camera chose the boundaries and they are read from the catalog row`,path:[`fromMs`]});return}e.subject?.kind===`footage`&&e.subject.deviceId!==e.deviceId&&t.addIssue({code:as.custom,message:`subject.deviceId (${e.subject.deviceId}) must equal deviceId (${e.deviceId})`,path:[`subject`,`deviceId`]});let n=e.subject?.kind===`footage`?e.subject.fromMs:e.fromMs,r=e.subject?.kind===`footage`?e.subject.toMs:e.toMs;(typeof n!=`number`||typeof r!=`number`)&&t.addIssue({code:as.custom,message:`a footage export needs fromMs and toMs`,path:[`fromMs`]}),(e.subject?.kind===`footage`?[...e.subject.profiles]:Zde(e)).length<1&&t.addIssue({code:as.custom,message:`pass profiles[] (min 1) or legacy profile`,path:[`profiles`]})}),O4,{role:`viewer`,kind:`mutation`,auth:`protected`}),Q(P({deviceId:k().optional()}),N(O4),{role:`viewer`,kind:`query`,auth:`protected`}),Q(P({exportId:O()}),O4,{role:`viewer`,kind:`query`,auth:`protected`}),Q(P({exportId:O()}),O4,{role:`viewer`,kind:`mutation`,auth:`protected`}),Q(P({exportId:O()}),O4,{role:`viewer`,kind:`mutation`,auth:`protected`}),Q(P({exportId:O()}),Yde,{role:`viewer`,kind:`query`,auth:`protected`}),Q(P({exportId:O()}),Xde,{kind:`query`,auth:`protected`});var Qde={motion:`motion`,audio:`audio`,person:`person`,vehicle:`vehicle`,animal:`animal`,package:`package`,door:`door`,pir:`pir`,smoke:`smoke`,water:`water`,button:`button`,generic:`generic`,gas:`smoke`,vibration:`generic`,tamper:`generic`,presence:`person`,lock:`generic`,siren:`generic`,switch:`generic`,doorbell:`button`};function $de(e){return Qde[e]??`generic`}var efe={contact:`contact`,motion:`motion-sensor`,smoke:`smoke`,flood:`flood`,gas:`gas`,"carbon-monoxide":`carbon-monoxide`,vibration:`vibration`,tamper:`tamper`,presence:`presence`,"enum-sensor":`enum-sensor`,"event-emitter":`device-event`,"lock-control":`lock`,cover:`cover`,switch:`switch`,button:`button`,doorbell:`doorbell`,"running-state":`appliance-cycle`};function tfe(e,t){let n=B2[t];if(n===void 0)throw Error(`EVENT_KIND_BY_CAP: cap '${e}' maps to unknown taxonomy kind '${t}'`);return{...n,icon:$de(n.iconId)}}var nfe=Object.freeze(Object.fromEntries(Object.entries(efe).map(([e,t])=>[e,tfe(e,t)])));function k4(e){return{label:mle(e,e),icon:`hash`,legend:e}}k4(`0`),k4(`1`),k4(`2`),k4(`3`),k4(`4`),k4(`5`),k4(`6`),k4(`7`),k4(`8`),k4(`9`);var A4=`media-player.alarm-panel.thermostat.climate.humidifier.water-heater.lock.cover.valve.fan.vacuum.lawn-mower.washer.dryer.dishwasher.light.switch.siren.button.control.notifier.script.automation.update.presence.weather.image.sensor`.split(`.`),j4=[`contact-sensor`,`motion-sensor`,`occupancy-sensor`,`smoke-sensor`,`co-sensor`,`gas-sensor`,`leak-sensor`,`vibration-sensor`,`tamper-sensor`,`sound-sensor`];function M4(e){if(e===void 0)return j4.length;let t=j4.indexOf(e);return t===-1?j4.length:t}function N4(e){let t=A4.indexOf(e);return t===-1?A4.length:t}function rfe(e,t){let n=e=>e.toLowerCase().replace(/[-_\s]+/g,` `).trim();return n(e)===n(t)}function ife(e,t,n){if(t!=null){let n=e.find(e=>e.stableId===t)??e.find(e=>e.entityId!==void 0&&e.entityId===t);if(n!==void 0)return n}let r=e=>n!==void 0&&n.length>0&&e.name!==void 0&&rfe(e.name,n)?0:1;return[...e].toSorted((e,t)=>M4(e.role)-M4(t.role)||r(e)-r(t)||N4(e.type)-N4(t.type))[0]??null}var afe={PCMU:20*Math.log10(4),PCMA:20*Math.log10(8)};function ofe(e,t){return t+afe[e]}Math.round(ofe(`PCMU`,-55));var P4={hitPercent:60,samplingSeconds:10};new Set(G2),new Map(Object.entries({"device-online":`device-events`,"device-offline":`device-events`,"device-disabled":`device-events`,"device-enabled":`device-events`,"device-battery-low":`device-events`,"device-battery-normal":`device-events`,"device-consumable-low":`device-events`,"device-consumable-normal":`device-events`,"stream-online":`device-events`,"stream-offline":`device-events`,"detection-blind":`device-events`,"motion-noisy":`device-events`,"motion-calm":`device-events`,"package-llm-silent":`device-events`,"package-llm-answered":`device-events`,"recording-stalled":`device-events`,"recording-healthy":`device-events`,"recording-degraded":`device-events`,"device-attention-required":`device-events`,"device-attention-resolved":`device-events`,"node-online":`system`,"node-offline":`system`,"node-restarting":`system`,"node-updating":`system`,"node-inference-unavailable":`system`,"addon-crash-loop":`system`,"addon-update-available":`system`,"addon-updated":`system`,"server-update-available":`system`,"server-updated":`system`,"wrapper-update-available":`system`,"backup-completed":`system`,"export-completed":`system`,"alert-critical":`system`,"alert-error":`system`,"alert-critical-resolved":`system`,"rule-broken":`system`,"rule-repaired":`system`,"storage-location-low":`system`,"storage-location-critical":`system`,"storage-location-ok":`system`,"alarm-triggered":`alarm`,"alarm-armed":`alarm`,"alarm-disarmed":`alarm`,"alarm-arming":`alarm`,"alarm-arm-refused":`alarm`,"alarm-pending":`alarm`,"alarm-rearmed":`alarm`,"alarm-sensor-bypass":`alarm`,"alarm-check-failed":`alarm`,"camera-online":null,"camera-offline":null,"camera-disabled":null,"camera-enabled":null}));var sfe=[{id:`device-state`,family:`device-events`,label:`Device state`,kinds:[`device-offline`,`device-online`,`device-disabled`,`device-enabled`]},{id:`streams`,family:`device-events`,label:`Streams`,kinds:[`stream-offline`,`stream-online`]},{id:`battery`,family:`device-events`,label:`Battery`,kinds:[`device-battery-low`,`device-battery-normal`]},{id:`consumables`,family:`device-events`,label:`Consumables`,kinds:[`device-consumable-low`,`device-consumable-normal`]},{id:`detection-blind`,family:`device-events`,label:`Detecting nothing`,kinds:[`detection-blind`]},{id:`motion-noise`,family:`device-events`,label:`Motion without a subject`,kinds:[`motion-noisy`,`motion-calm`]},{id:`package-llm`,family:`device-events`,label:`Package confirm`,kinds:[`package-llm-silent`,`package-llm-answered`]},{id:`recording`,family:`device-events`,label:`Recording`,kinds:[`recording-stalled`,`recording-healthy`,`recording-degraded`]},{id:`device-attention`,family:`device-events`,label:`Needs attention`,kinds:[`device-attention-required`,`device-attention-resolved`]},{id:`nodes`,family:`system`,label:`Nodes`,kinds:[`node-offline`,`node-online`,`node-restarting`,`node-inference-unavailable`]},{id:`addons`,family:`system`,label:`Addons stopped`,kinds:[`addon-crash-loop`]},{id:`addon-updates`,family:`system`,label:`Addon updates`,kinds:[`addon-update-available`,`addon-updated`]},{id:`updates`,family:`system`,label:`Server & container updates`,kinds:[`server-update-available`,`node-updating`,`server-updated`,`wrapper-update-available`]},{id:`backups-exports`,family:`system`,label:`Backups & exports`,kinds:[`backup-completed`,`export-completed`]},{id:`storage`,family:`system`,label:`Storage locations`,kinds:[`storage-location-low`,`storage-location-critical`,`storage-location-ok`]},{id:`alerts`,family:`system`,label:`Alerts`,kinds:[`alert-critical`,`alert-error`,`alert-critical-resolved`]},{id:`rule-health`,family:`system`,label:`Notification rules`,kinds:[`rule-broken`,`rule-repaired`]},{id:`alarm`,family:`alarm`,label:`Alarm`,kinds:yue}];function F4(e){return sfe.filter(t=>t.family===e).flatMap(e=>e.kinds)}P4.hitPercent,P4.samplingSeconds;var cfe={"running-state":`running`},lfe=Object.freeze(Object.fromEntries(Object.entries(nfe).flatMap(([e,t])=>{let n=cfe[e];if(n!==void 0)return[[t.kind,n]];let r=wle[e];return r===void 0||t.category!==`sensor`?[]:[[t.kind,r]]})));Object.freeze(Object.keys(lfe));var ufe=[`body`],$=[`title`,`body`],I4=[`device-battery-low`,`device-battery-normal`],L4=[`device-consumable-low`,`device-consumable-normal`],R4=[`alert-critical`,`alert-error`,`alert-critical-resolved`],z4=[`device-attention-required`,`device-attention-resolved`],B4=[`addon-update-available`,`server-update-available`,`wrapper-update-available`],V4=[`addon-update-available`,`server-update-available`],dfe=[`alarm-triggered`,`alarm-armed`,`alarm-disarmed`,`alarm-arming`,`alarm-arm-refused`,`alarm-pending`,`alarm-rearmed`,`alarm-sensor-bypass`,`alarm-check-failed`],H4=[`alarm-triggered`],U4=[`device-online`,`device-offline`,`device-disabled`,`device-enabled`,...I4,...L4,`stream-online`,`stream-offline`,`detection-blind`,`motion-noisy`,`motion-calm`,`package-llm-silent`,`package-llm-answered`,`recording-stalled`,`recording-healthy`,`recording-degraded`,...z4,...dfe],W4=[...F4(`device-events`),...F4(`system`)],ffe=[{name:`summaryDevices`,label:`Summary: devices offline / switched off`,example:`Garage — offline since 07:12`,kinds:[`device-offline`,`device-online`,`device-disabled`,`device-enabled`]},{name:`summaryStreams`,label:`Summary: streams offline`,example:`Front door (high) — since 06:40`,kinds:[`stream-offline`,`stream-online`]},{name:`summaryBattery`,label:`Summary: low batteries`,example:`Sensore porta — 8 %`,kinds:I4},{name:`summaryConsumables`,label:`Summary: consumables`,example:`Robot — filter 10 %`,kinds:L4},{name:`summaryDetection`,label:`Summary: cameras detecting nothing`,example:`Front door — since 05:10`,kinds:[`detection-blind`]},{name:`summaryNodes`,label:`Summary: nodes`,example:`agent-a — offline since 03:00`,kinds:[`node-offline`,`node-online`,`node-restarting`,`node-inference-unavailable`]},{name:`summaryAddons`,label:`Summary: addons stopped`,example:`hub — recorder stopped after repeated crashes`,kinds:[`addon-crash-loop`]},{name:`summaryAddonUpdates`,label:`Summary: addon updates`,example:`hub:
|
|
79
|
-
• @camstack/addon-recorder 1.2.3 → 1.2.4`,kinds:[`addon-update-available`,`addon-updated`]},{name:`summaryUpdates`,label:`Summary: server & container updates`,example:`server 1.2.377 → 1.2.378`,kinds:[`server-update-available`,`node-updating`,`server-updated`,`wrapper-update-available`]}],pfe=[{name:`summaryText`,label:`Summary: every section`,description:`One block per section with something to report, one line per item.`,example:`Batterie scariche: Sensore porta — 8 %`,group:`system`,families:[`rule`],fields:[...$],kinds:[`system`],systemEventKinds:[...W4],systemEventDeliveries:[`summary`]},{name:`summaryCount`,label:`Summary: items reported`,example:`3`,group:`system`,families:[`rule`],fields:[...$],kinds:[`system`],systemEventKinds:[...W4],systemEventDeliveries:[`summary`]},{name:`summarySection`,label:`Summary: this section`,description:`The section a per-section summary row is about; on a summary sent as one message, every section it reports, comma-separated.`,example:`Batterie scariche`,group:`system`,families:[`rule`],fields:[...$],kinds:[`system`],systemEventKinds:[...W4],systemEventDeliveries:[`summary`]},...ffe.map(e=>({name:e.name,label:e.label,example:e.example,group:`system`,families:[`rule`],fields:[...$],kinds:[`system`],systemEventKinds:[...e.kinds],systemEventDeliveries:[`summary`]}))];[[...U4],([...$],[...H4]),([...$],[...H4]),([...$],[...H4]),[...$],([...$],[...H4]),([...$],[...V4]),[...$],([...$],[...H4]),([...$],[...H4]),([...$],[...H4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...ufe],[...$],([...$],[...U4]),([...$],[...H4]),([...$],[...H4]),([...$],[...U4]),([...$],[...I4,...L4]),([...$],[...L4]),[...$],([...$],[...B4,...R4]),([...$],[...B4,...R4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],([...$],[...z4,...R4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],([...$],[...B4]),([...$],[...V4]),([...$],[...V4]),([...$],[...B4]),([...$],[...B4]),([...$],[...V4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],([...$],[...z4,...R4]),([...$],[...R4]),([...$],[...z4,...R4]),([...$],[...R4]),([...$],[...z4,...R4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],...pfe],new Map([{id:`device-connectivity`,family:`device-events`,label:`Device connectivity (offline / back online)`,bad:[`device-offline`],recovery:[`device-online`],snapshotLabel:`Devices offline now`,snapshotSection:`device-state`},{id:`device-switch`,family:`device-events`,label:`Device switched off / back on`,bad:[`device-disabled`],recovery:[`device-enabled`],snapshotLabel:`Devices switched off now`,snapshotSection:`device-state`},{id:`stream-connectivity`,family:`device-events`,label:`Stream connectivity (offline / back online)`,bad:[`stream-offline`],recovery:[`stream-online`],snapshotLabel:`Streams offline now`,snapshotSection:`streams`},{id:`battery`,family:`device-events`,label:`Battery (low / back to normal)`,bad:[`device-battery-low`],recovery:[`device-battery-normal`],snapshotLabel:`Batteries low now`,snapshotSection:`battery`},{id:`consumables`,family:`device-events`,label:`Consumables (low / replaced)`,bad:[`device-consumable-low`],recovery:[`device-consumable-normal`],snapshotLabel:`Consumables low now`,snapshotSection:`consumables`},{id:`motion-noise`,family:`device-events`,label:`Motion without a subject (constant / calm again)`,bad:[`motion-noisy`],recovery:[`motion-calm`],snapshotLabel:`Cameras with constant motion now`,snapshotSection:null},{id:`package-llm-confirm`,family:`device-events`,label:`Package confirm (not answering / answering again)`,bad:[`package-llm-silent`],recovery:[`package-llm-answered`],snapshotLabel:`Cameras whose package confirm is not answering`,snapshotSection:null},{id:`recording-health`,family:`device-events`,label:`Recording health (stalled or degraded / recording again)`,bad:[`recording-stalled`,`recording-degraded`],recovery:[`recording-healthy`],snapshotLabel:`Recordings stalled now`,snapshotSection:null},{id:`device-attention`,family:`device-events`,label:`Device needs attention (raised / resolved)`,bad:[`device-attention-required`],recovery:[`device-attention-resolved`],snapshotLabel:`Devices needing attention now`,snapshotSection:null},{id:`node-connectivity`,family:`system`,label:`Node connectivity (offline / back online)`,bad:[`node-offline`],recovery:[`node-online`],snapshotLabel:`Nodes offline now`,snapshotSection:`nodes`},{id:`storage-space`,family:`system`,label:`Storage space (low or critical / ok again)`,bad:[`storage-location-low`,`storage-location-critical`],recovery:[`storage-location-ok`],snapshotLabel:`Storage locations low now`,snapshotSection:null},{id:`critical-alerts`,family:`system`,label:`Critical alerts (raised / resolved)`,bad:[`alert-critical`],recovery:[`alert-critical-resolved`],snapshotLabel:`Critical alerts open now`,snapshotSection:null},{id:`rule-health`,family:`system`,label:`Rule health (broken / repaired)`,bad:[`rule-broken`],recovery:[`rule-repaired`],snapshotLabel:`Notification rules broken now`,snapshotSection:null}].flatMap(e=>[...e.bad,...e.recovery].map(t=>[t,e]))),new Set(`disarmed.armed_home.armed_away.armed_night.armed_vacation.armed_custom_bypass.arming.disarming.pending.triggered.open.opening.closing.closed.stopped.locked.unlocked.locking.unlocking.jammed.door-open.on.off.home.not_home.matched.diverged.unknown.latched.live`.split(`.`));var G4=P({title:O().max(500).optional(),body:O().max(2e3).optional()}),K4=O().min(1).max(200),q4=N(k()).min(1),J4=k().int().min(2).max(3600),Y4=k().int().min(1).max(60),X4=N(t4).min(1),Z4=k().int().min(1).max(5),Q4=k().min(.1).max(3600),$4=k().min(0).max(60),e3=O().max(200),t3=R([`image`,`gif`]),n3=N(O().min(1).max(40)).max(20),mfe=P({name:K4,enabled:A().default(!0),deviceIds:q4,schedule:q2,cadenceSec:J4.default(15),framerate:Y4.default(10),denseCadenceSec:Q4.optional(),minDwellSec:$4.optional(),targets:X4,template:G4.optional(),previewText:e3.optional(),previewMode:t3.default(`image`),reportClasses:n3.optional(),priority:Z4.default(3)});P({name:K4.optional(),enabled:A().optional(),deviceIds:q4.optional(),schedule:q2.optional(),cadenceSec:J4.optional(),framerate:Y4.optional(),denseCadenceSec:Q4.optional(),minDwellSec:$4.optional(),targets:X4.optional(),template:G4.nullable().optional(),previewText:e3.optional(),previewMode:t3.optional(),reportClasses:n3.optional(),priority:Z4.optional()}),mfe.extend({id:O(),ownerUserId:O().optional(),lastGeneratedAt:k().optional(),generatedByDevice:L(O(),k()).optional(),createdBy:O(),createdAt:k(),updatedAt:k()});var r3=` · `,hfe=[` — `,` - `,`: `,` `],gfe=new Set([`battery-sensor`,`temperature-sensor`,`humidity-sensor`,`ambient-light-sensor`,`connectivity-sensor`,`datetime-sensor`,`numeric-sensor`,`enum-sensor`]);function i3(e){return e.toLowerCase().replace(/[-_\s]+/g,` `).trim()}function a3(e,t){return i3(e)===i3(t)}function o3(e,t){if(t.length===0)return e;let n=e.toLowerCase(),r=t.toLowerCase();for(let t of hfe){let i=`${r}${t}`;if(n.startsWith(i))return e.slice(i.length).trim()}return e}function s3(e){let t=e.role;return t==null||t.length===0?null:t}function _fe(e){if(e.type===`update`)return!0;let t=s3(e);return t!==null&&gfe.has(t)}function c3(e){let t=e.display?.label;return t==null?``:t.trim()}function l3(e,t,n){let r=c3(e);if(r.length>0)return r;let i=o3(e.name,t.name),a=i.length>0?i:e.name;return e.userNamed===!0?a:i.length===0||a3(i,t.name)||n.isStockPhrase(a,s3(e),e.type)?n.shortNoun(s3(e),e.type):a}function vfe(e,t,n){return a3(n,t.name)?!0:c3(e).length>0||e.userNamed===!0?!1:a3(o3(e.name,t.name),t.name)}function yfe(e){let t=0;for(let n of e)_fe(n)||(t+=1);return t}function bfe(e,t,n){let r=ife(n.map(e=>{let t=s3(e);return{id:e.id,stableId:e.stableId,type:e.type,name:e.name,...t===null?{}:{role:t}}}),t.primaryChildEntityId,t.name);return r!==null&&r.id===e.id}function xfe(e,t,n,r,i){let a=l3(e,t,r);return vfe(e,t,a)||i===`compact`&&t.type===`container`&&bfe(e,t,n)&&yfe(n)===1?t.name:`${t.name}${r3}${a}`}function u3(e,t){if(t==null)return e;let n=t.trim();return n.length===0||e.split(` · `).some(e=>a3(e,n))?e:`${e}${r3}${n}`}function Sfe(e,t){return t===null?!1:e.parentDeviceId!=null}function Cfe(e,t,n,r){if(!Sfe(e,n.parent))return t===`with-location`?u3(e.name,e.location):e.name;if(t===`nested`)return l3(e,n.parent,r);let i=xfe(e,n.parent,n.siblings,r,t===`full`?`full`:`compact`);return t===`with-location`?u3(i,e.location):i}var d3=[{id:`siren`,key:`uiLibrary.deviceMeta.noun.role.siren`,en:`Siren`,it:`Sirena`,shortEn:`Siren`,shortIt:`Sirena`,aliases:[]},{id:`floodlight`,key:`uiLibrary.deviceMeta.noun.role.floodlight`,en:`Floodlight`,it:`Faro`,shortEn:`Floodlight`,shortIt:`Faro`,aliases:[]},{id:`spotlight`,key:`uiLibrary.deviceMeta.noun.role.spotlight`,en:`Spotlight`,it:`Faretto`,shortEn:`Spotlight`,shortIt:`Faretto`,aliases:[]},{id:`pir-sensor`,key:`uiLibrary.deviceMeta.noun.role.pirSensor`,en:`PIR sensor`,it:`Sensore PIR`,shortEn:`PIR`,shortIt:`PIR`,aliases:[]},{id:`chime`,key:`uiLibrary.deviceMeta.noun.role.chime`,en:`Chime`,it:`Campanello`,shortEn:`Chime`,shortIt:`Campanello`,aliases:[]},{id:`autotrack`,key:`uiLibrary.deviceMeta.noun.role.autotrack`,en:`Auto-track`,it:`Auto-tracking`,shortEn:`Auto-track`,shortIt:`Auto-tracking`,aliases:[]},{id:`nightvision`,key:`uiLibrary.deviceMeta.noun.role.nightvision`,en:`Night vision`,it:`Visione notturna`,shortEn:`Night`,shortIt:`Notturna`,aliases:[]},{id:`privacy-mask`,key:`uiLibrary.deviceMeta.noun.role.privacyMask`,en:`Privacy mask`,it:`Maschera privacy`,shortEn:`Privacy`,shortIt:`Privacy`,aliases:[]},{id:`doorbell`,key:`uiLibrary.deviceMeta.noun.role.doorbell`,en:`Doorbell`,it:`Campanello video`,shortEn:`Doorbell`,shortIt:`Campanello video`,aliases:[]},{id:`cover-blind`,key:`uiLibrary.deviceMeta.noun.role.coverBlind`,en:`Blind`,it:`Tapparella`,shortEn:`Blind`,shortIt:`Tapparella`,aliases:[]},{id:`cover-shutter`,key:`uiLibrary.deviceMeta.noun.role.coverShutter`,en:`Shutter`,it:`Persiana`,shortEn:`Shutter`,shortIt:`Persiana`,aliases:[]},{id:`cover-awning`,key:`uiLibrary.deviceMeta.noun.role.coverAwning`,en:`Awning`,it:`Tenda da sole`,shortEn:`Awning`,shortIt:`Tenda da sole`,aliases:[]},{id:`cover-curtain`,key:`uiLibrary.deviceMeta.noun.role.coverCurtain`,en:`Curtain`,it:`Tenda`,shortEn:`Curtain`,shortIt:`Tenda`,aliases:[]},{id:`cover-garage`,key:`uiLibrary.deviceMeta.noun.role.coverGarage`,en:`Garage door`,it:`Porta del garage`,shortEn:`Garage`,shortIt:`Garage`,aliases:[]},{id:`cover-gate`,key:`uiLibrary.deviceMeta.noun.role.coverGate`,en:`Gate`,it:`Cancello`,shortEn:`Gate`,shortIt:`Cancello`,aliases:[]},{id:`cover-door`,key:`uiLibrary.deviceMeta.noun.role.coverDoor`,en:`Door`,it:`Porta`,shortEn:`Door`,shortIt:`Porta`,aliases:[]},{id:`cover-window`,key:`uiLibrary.deviceMeta.noun.role.coverWindow`,en:`Window`,it:`Finestra`,shortEn:`Window`,shortIt:`Finestra`,aliases:[]},{id:`binary-helper`,key:`uiLibrary.deviceMeta.noun.role.binaryHelper`,en:`Binary helper`,it:`Helper binario`,shortEn:`Helper`,shortIt:`Helper`,aliases:[]},{id:`outlet`,key:`uiLibrary.deviceMeta.noun.role.outlet`,en:`Outlet`,it:`Presa`,shortEn:`Outlet`,shortIt:`Presa`,aliases:[]},{id:`motion-sensor`,key:`uiLibrary.deviceMeta.noun.role.motionSensor`,en:`Motion sensor`,it:`Sensore di movimento`,shortEn:`Motion`,shortIt:`Movimento`,aliases:[]},{id:`contact-sensor`,key:`uiLibrary.deviceMeta.noun.role.contactSensor`,en:`Contact sensor`,it:`Sensore di contatto`,shortEn:`Contact`,shortIt:`Contatto`,aliases:[]},{id:`leak-sensor`,key:`uiLibrary.deviceMeta.noun.role.leakSensor`,en:`Leak sensor`,it:`Sensore di perdite`,shortEn:`Leak`,shortIt:`Perdita`,aliases:[]},{id:`smoke-sensor`,key:`uiLibrary.deviceMeta.noun.role.smokeSensor`,en:`Smoke sensor`,it:`Sensore di fumo`,shortEn:`Smoke`,shortIt:`Fumo`,aliases:[]},{id:`co-sensor`,key:`uiLibrary.deviceMeta.noun.role.cOSensor`,en:`CO sensor`,it:`Sensore di CO`,shortEn:`CO`,shortIt:`CO`,aliases:[]},{id:`gas-sensor`,key:`uiLibrary.deviceMeta.noun.role.gasSensor`,en:`Gas sensor`,it:`Sensore di gas`,shortEn:`Gas`,shortIt:`Gas`,aliases:[]},{id:`tamper-sensor`,key:`uiLibrary.deviceMeta.noun.role.tamperSensor`,en:`Tamper sensor`,it:`Sensore antimanomissione`,shortEn:`Tamper`,shortIt:`Manomissione`,aliases:[]},{id:`vibration-sensor`,key:`uiLibrary.deviceMeta.noun.role.vibrationSensor`,en:`Vibration sensor`,it:`Sensore di vibrazione`,shortEn:`Vibration`,shortIt:`Vibrazione`,aliases:[]},{id:`connectivity-sensor`,key:`uiLibrary.deviceMeta.noun.role.connectivitySensor`,en:`Connectivity`,it:`Connettività`,shortEn:`Connectivity`,shortIt:`Connettività`,aliases:[]},{id:`sound-sensor`,key:`uiLibrary.deviceMeta.noun.role.soundSensor`,en:`Sound sensor`,it:`Sensore acustico`,shortEn:`Sound`,shortIt:`Suono`,aliases:[]},{id:`binary-sensor`,key:`uiLibrary.deviceMeta.noun.role.binarySensor`,en:`Binary sensor`,it:`Sensore binario`,shortEn:`Binary`,shortIt:`Binario`,aliases:[]},{id:`temperature-sensor`,key:`uiLibrary.deviceMeta.noun.role.temperatureSensor`,en:`Temperature`,it:`Temperatura`,shortEn:`Temperature`,shortIt:`Temperatura`,aliases:[]},{id:`humidity-sensor`,key:`uiLibrary.deviceMeta.noun.role.humiditySensor`,en:`Humidity`,it:`Umidità`,shortEn:`Humidity`,shortIt:`Umidità`,aliases:[]},{id:`ambient-light-sensor`,key:`uiLibrary.deviceMeta.noun.role.ambientLightSensor`,en:`Ambient light`,it:`Luce ambientale`,shortEn:`Light`,shortIt:`Luce`,aliases:[`Illumination`]},{id:`pressure-sensor`,key:`uiLibrary.deviceMeta.noun.role.pressureSensor`,en:`Pressure`,it:`Pressione`,shortEn:`Pressure`,shortIt:`Pressione`,aliases:[]},{id:`wind-sensor`,key:`uiLibrary.deviceMeta.noun.role.windSensor`,en:`Wind`,it:`Vento`,shortEn:`Wind`,shortIt:`Vento`,aliases:[]},{id:`rain-sensor`,key:`uiLibrary.deviceMeta.noun.role.rainSensor`,en:`Rain`,it:`Pioggia`,shortEn:`Rain`,shortIt:`Pioggia`,aliases:[]},{id:`uv-sensor`,key:`uiLibrary.deviceMeta.noun.role.uvSensor`,en:`UV index`,it:`Indice UV`,shortEn:`UV index`,shortIt:`Indice UV`,aliases:[]},{id:`solar-radiation-sensor`,key:`uiLibrary.deviceMeta.noun.role.solarRadiationSensor`,en:`Solar radiation`,it:`Radiazione solare`,shortEn:`Solar radiation`,shortIt:`Radiazione solare`,aliases:[]},{id:`soil-moisture-sensor`,key:`uiLibrary.deviceMeta.noun.role.soilMoistureSensor`,en:`Soil moisture`,it:`Umidità del suolo`,shortEn:`Soil moisture`,shortIt:`Umidità del suolo`,aliases:[]},{id:`power-sensor`,key:`uiLibrary.deviceMeta.noun.role.powerSensor`,en:`Power`,it:`Potenza`,shortEn:`Power`,shortIt:`Potenza`,aliases:[]},{id:`energy-sensor`,key:`uiLibrary.deviceMeta.noun.role.energySensor`,en:`Energy`,it:`Energia`,shortEn:`Energy`,shortIt:`Energia`,aliases:[]},{id:`voltage-sensor`,key:`uiLibrary.deviceMeta.noun.role.voltageSensor`,en:`Voltage`,it:`Tensione`,shortEn:`Voltage`,shortIt:`Tensione`,aliases:[]},{id:`current-sensor`,key:`uiLibrary.deviceMeta.noun.role.currentSensor`,en:`Current`,it:`Corrente`,shortEn:`Current`,shortIt:`Corrente`,aliases:[]},{id:`air-quality-sensor`,key:`uiLibrary.deviceMeta.noun.role.airQualitySensor`,en:`Air quality`,it:`Qualità dell’aria`,shortEn:`Air quality`,shortIt:`Qualità dell’aria`,aliases:[]},{id:`battery-sensor`,key:`uiLibrary.deviceMeta.noun.role.batterySensor`,en:`Battery`,it:`Batteria`,shortEn:`Battery`,shortIt:`Batteria`,aliases:[]},{id:`numeric-sensor`,key:`uiLibrary.deviceMeta.noun.role.numericSensor`,en:`Numeric sensor`,it:`Sensore numerico`,shortEn:`Value`,shortIt:`Numerico`,aliases:[]},{id:`enum-sensor`,key:`uiLibrary.deviceMeta.noun.role.enumSensor`,en:`Enum sensor`,it:`Sensore a stati`,shortEn:`State`,shortIt:`Stato`,aliases:[]},{id:`datetime-sensor`,key:`uiLibrary.deviceMeta.noun.role.dateTimeSensor`,en:`Date / time`,it:`Data / ora`,shortEn:`Time`,shortIt:`Ora`,aliases:[`Last seen`]},{id:`generic-sensor`,key:`uiLibrary.deviceMeta.noun.role.genericSensor`,en:`Sensor`,it:`Sensore`,shortEn:`Sensor`,shortIt:`Sensore`,aliases:[]},{id:`numeric-control`,key:`uiLibrary.deviceMeta.noun.role.numericControl`,en:`Numeric control`,it:`Controllo numerico`,shortEn:`Number`,shortIt:`Numero`,aliases:[]},{id:`select-control`,key:`uiLibrary.deviceMeta.noun.role.selectControl`,en:`Select control`,it:`Controllo a selezione`,shortEn:`Select`,shortIt:`Selezione`,aliases:[]},{id:`text-control`,key:`uiLibrary.deviceMeta.noun.role.textControl`,en:`Text control`,it:`Controllo testo`,shortEn:`Text`,shortIt:`Testo`,aliases:[]},{id:`datetime-control`,key:`uiLibrary.deviceMeta.noun.role.dateTimeControl`,en:`Date / time control`,it:`Controllo data / ora`,shortEn:`Time`,shortIt:`Ora`,aliases:[]},{id:`mobile-push-notifier`,key:`uiLibrary.deviceMeta.noun.role.mobilePushNotifier`,en:`Mobile push`,it:`Push su mobile`,shortEn:`Push`,shortIt:`Push`,aliases:[]},{id:`messaging-notifier`,key:`uiLibrary.deviceMeta.noun.role.messagingNotifier`,en:`Messaging`,it:`Messaggistica`,shortEn:`Messaging`,shortIt:`Messaggistica`,aliases:[]},{id:`email-notifier`,key:`uiLibrary.deviceMeta.noun.role.emailNotifier`,en:`Email`,it:`Email`,shortEn:`Email`,shortIt:`Email`,aliases:[]},{id:`generic-notifier`,key:`uiLibrary.deviceMeta.noun.role.genericNotifier`,en:`Notifier`,it:`Notificatore`,shortEn:`Notifier`,shortIt:`Notificatore`,aliases:[]}],f3=[{id:`camera`,key:`uiLibrary.deviceMeta.noun.type.camera`,en:`Camera`,it:`Telecamera`,shortEn:`Camera`,shortIt:`Telecamera`,aliases:[]},{id:`hub`,key:`uiLibrary.deviceMeta.noun.type.hub`,en:`Hub`,it:`Hub`,shortEn:`Hub`,shortIt:`Hub`,aliases:[]},{id:`light`,key:`uiLibrary.deviceMeta.noun.type.light`,en:`Light`,it:`Luce`,shortEn:`Light`,shortIt:`Luce`,aliases:[]},{id:`siren`,key:`uiLibrary.deviceMeta.noun.type.siren`,en:`Siren`,it:`Sirena`,shortEn:`Siren`,shortIt:`Sirena`,aliases:[]},{id:`switch`,key:`uiLibrary.deviceMeta.noun.type.switch`,en:`Switch`,it:`Interruttore`,shortEn:`Switch`,shortIt:`Interruttore`,aliases:[]},{id:`sensor`,key:`uiLibrary.deviceMeta.noun.type.sensor`,en:`Sensor`,it:`Sensore`,shortEn:`Sensor`,shortIt:`Sensore`,aliases:[]},{id:`thermostat`,key:`uiLibrary.deviceMeta.noun.type.thermostat`,en:`Thermostat`,it:`Termostato`,shortEn:`Thermostat`,shortIt:`Termostato`,aliases:[]},{id:`climate`,key:`uiLibrary.deviceMeta.noun.type.climate`,en:`Air conditioner`,it:`Condizionatore`,shortEn:`Climate`,shortIt:`Condizionatore`,aliases:[]},{id:`button`,key:`uiLibrary.deviceMeta.noun.type.button`,en:`Button`,it:`Pulsante`,shortEn:`Button`,shortIt:`Pulsante`,aliases:[]},{id:`event-emitter`,key:`uiLibrary.deviceMeta.noun.type.eventEmitter`,en:`Event Emitter`,it:`Emettitore di eventi`,shortEn:`Event`,shortIt:`Evento`,aliases:[]},{id:`update`,key:`uiLibrary.deviceMeta.noun.type.update`,en:`Update`,it:`Aggiornamento`,shortEn:`Update`,shortIt:`Aggiornamento`,aliases:[]},{id:`generic`,key:`uiLibrary.deviceMeta.noun.type.generic`,en:`Generic`,it:`Generico`,shortEn:`Generic`,shortIt:`Generico`,aliases:[]},{id:`notifier`,key:`uiLibrary.deviceMeta.noun.type.notifier`,en:`Notifier`,it:`Notificatore`,shortEn:`Notifier`,shortIt:`Notificatore`,aliases:[]},{id:`script`,key:`uiLibrary.deviceMeta.noun.type.script`,en:`Script`,it:`Script`,shortEn:`Script`,shortIt:`Script`,aliases:[]},{id:`automation`,key:`uiLibrary.deviceMeta.noun.type.automation`,en:`Automation`,it:`Automazione`,shortEn:`Automation`,shortIt:`Automazione`,aliases:[]},{id:`lock`,key:`uiLibrary.deviceMeta.noun.type.lock`,en:`Lock`,it:`Serratura`,shortEn:`Lock`,shortIt:`Serratura`,aliases:[]},{id:`cover`,key:`uiLibrary.deviceMeta.noun.type.cover`,en:`Cover`,it:`Copertura`,shortEn:`Cover`,shortIt:`Copertura`,aliases:[]},{id:`valve`,key:`uiLibrary.deviceMeta.noun.type.valve`,en:`Valve`,it:`Valvola`,shortEn:`Valve`,shortIt:`Valvola`,aliases:[]},{id:`humidifier`,key:`uiLibrary.deviceMeta.noun.type.humidifier`,en:`Humidifier`,it:`Umidificatore`,shortEn:`Humidifier`,shortIt:`Umidificatore`,aliases:[]},{id:`water-heater`,key:`uiLibrary.deviceMeta.noun.type.waterHeater`,en:`Water heater`,it:`Scaldabagno`,shortEn:`Heater`,shortIt:`Scaldabagno`,aliases:[]},{id:`fan`,key:`uiLibrary.deviceMeta.noun.type.fan`,en:`Fan`,it:`Ventilatore`,shortEn:`Fan`,shortIt:`Ventilatore`,aliases:[]},{id:`media-player`,key:`uiLibrary.deviceMeta.noun.type.mediaPlayer`,en:`Media player`,it:`Lettore multimediale`,shortEn:`Player`,shortIt:`Lettore`,aliases:[]},{id:`alarm-panel`,key:`uiLibrary.deviceMeta.noun.type.alarmPanel`,en:`Alarm panel`,it:`Pannello allarme`,shortEn:`Alarm`,shortIt:`Allarme`,aliases:[]},{id:`control`,key:`uiLibrary.deviceMeta.noun.type.control`,en:`Control`,it:`Controllo`,shortEn:`Control`,shortIt:`Controllo`,aliases:[]},{id:`presence`,key:`uiLibrary.deviceMeta.noun.type.presence`,en:`Presence`,it:`Presenza`,shortEn:`Presence`,shortIt:`Presenza`,aliases:[]},{id:`weather`,key:`uiLibrary.deviceMeta.noun.type.weather`,en:`Weather`,it:`Meteo`,shortEn:`Weather`,shortIt:`Meteo`,aliases:[]},{id:`vacuum`,key:`uiLibrary.deviceMeta.noun.type.vacuum`,en:`Vacuum`,it:`Aspirapolvere`,shortEn:`Vacuum`,shortIt:`Aspirapolvere`,aliases:[]},{id:`lawn-mower`,key:`uiLibrary.deviceMeta.noun.type.lawnMower`,en:`Lawn mower`,it:`Tagliaerba`,shortEn:`Mower`,shortIt:`Tagliaerba`,aliases:[]},{id:`container`,key:`uiLibrary.deviceMeta.noun.type.container`,en:`Container`,it:`Contenitore`,shortEn:`Container`,shortIt:`Contenitore`,aliases:[]},{id:`image`,key:`uiLibrary.deviceMeta.noun.type.image`,en:`Image`,it:`Immagine`,shortEn:`Image`,shortIt:`Immagine`,aliases:[]},{id:`pet-feeder`,key:`uiLibrary.deviceMeta.noun.type.petFeeder`,en:`Pet feeder`,it:`Distributore di cibo per animali`,shortEn:`Feeder`,shortIt:`Distributore`,aliases:[]},{id:`dishwasher`,key:`uiLibrary.deviceMeta.noun.type.dishwasher`,en:`Dishwasher`,it:`Lavastoviglie`,shortEn:`Dishwasher`,shortIt:`Lavastoviglie`,aliases:[]}],wfe={id:``,key:`uiLibrary.deviceMeta.noun.fallback`,en:`Device`,it:`Dispositivo`,shortEn:`Device`,shortIt:`Dispositivo`,aliases:[]};function p3(e,t){if(!(t===null||t.length===0))return e.find(e=>e.id===t)}function Tfe(e,t){if(e!==null){let t=p3(d3,e);if(t!==void 0)return t}return p3(f3,t)??wfe}function Efe(e,t){let n=[],r=[p3(d3,e),p3(f3,t)];for(let e of r)e!==void 0&&n.push(e.en,e.it,e.shortEn,e.shortIt,...e.aliases);return n}function Dfe(e,t,n){let r=i3(e);return r.length===0?!0:Efe(t,n).some(e=>i3(e)===r)}function Ofe(){let e=t();return{shortNoun(t,n){let r=Tfe(t,n);return e(r.key,r.shortEn)},isStockPhrase(e,t,n){return Dfe(e,t,n)}}}function kfe(e){return{id:e,name:`#${String(e)}`,type:`unknown`,stableId:``,role:null,parentDeviceId:null}}function Afe(e,t){let n=e.parentDeviceId;return n==null?null:t.byId.get(n)??kfe(n)}function jfe(e,t){let n=e.parentDeviceId;if(n==null)return[];let r=t.childIds.get(n)??[],i=[];for(let e of r){let n=t.byId.get(e);n!==void 0&&i.push(n)}return i.some(t=>t.id===e.id)||i.push(e),i}function Mfe(e,t,n,r,i){let a=n?.byId.get(e.id)??e;return a.parentDeviceId!=null&&n===null&&i?.parent===void 0?a.name:Cfe(a,t,{parent:i?.parent===void 0?n===null?null:Afe(a,n):i.parent,siblings:i?.siblings??(n===null?[]:jfe(a,n))},r)}function Nfe(e,t,n){return Mfe(e,t,Gce(),Ofe(),n)}function m3({device:e,form:t,parent:n,siblings:r,className:i,testId:a}){let o=Nfe(e,t,{...n===void 0?{}:{parent:n},...r===void 0?{}:{siblings:r}});return(0,q.jsx)(`span`,{className:i,title:o,"data-testid":a,children:o})}var Pfe=`capability.binding-changed`;function h3(e,t){let[n,r]=(0,s.useState)(null);return(0,s.useEffect)(()=>{if(t===null){r(null);return}let n=!1,i=async()=>{try{let i=await e.deviceManager.getBindings.query({deviceId:t});n||r(i)}catch{n||r(e=>e)}};i();let a=e.live?.onEvent.subscribe({category:Pfe},{onData:e=>{let n=e.data?.source;if(!n){i();return}n.type===`device`&&n.id===t&&i()}});return()=>{n=!0,a?.unsubscribe()}},[e,t]),(0,s.useMemo)(()=>n?tl(e,n):null,[e,n])}function g3(e){let t=(0,s.useCallback)(t=>e?e.subscribe(()=>t()):()=>void 0,[e]),n=(0,s.useCallback)(()=>e?.value,[e]);return(0,s.useSyncExternalStore)(t,n,n)}function _3(e,t,n){let r=h3(e,t);return g3(r?n(r.state):void 0)}var Ffe=`/addon/snapshot/media`;function Ife(e,t={}){let{width:n,baseUrl:r}=t,[i,a]=(0,s.useState)(0);return{src:(0,s.useMemo)(()=>{if(e===null||e<=0)return null;let t=r===void 0?$0():r.replace(/\/+$/,``),a=new URLSearchParams;n!==void 0&&Number.isInteger(n)&&n>0&&a.set(`w`,String(n)),i>0&&(a.set(`force`,`1`),a.set(`r`,String(i)));let o=a.toString();return`${t}${Ffe}/${String(e)}.jpg${o.length>0?`?${o}`:``}`},[e,n,r,i]),loading:!1,refresh:(0,s.useCallback)(()=>{a(e=>e+1)},[])}}f.Camera;function v3(e){let t=h3(e.trpc,e.deviceId),n=g3(t===null?void 0:e.slice(t)),r=t===null?void 0:e.cap(t),i=g3(t===null?void 0:t.state.deviceStatus),a=i?.online??!0,o=a?null:i?.lastChangedAt??null;return{dev:t,cap:r,slice:n,available:(e.requireFeature===void 0||(e.deviceFeatures??[]).includes(e.requireFeature))&&r!==void 0&&n!==void 0&&a,online:a,offlineSince:o}}cte.exclude([`full`]).options;var Lfe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`div`,{ref:n,className:Z(`animate-pulse bg-surface-hover rounded-md h-4 w-full`,e),...t}));Lfe.displayName=`Skeleton`;var Rfe={danger:{box:`border-danger/40 bg-danger/10`,icon:`text-danger`,title:`text-danger`,message:`text-danger`},warning:{box:`border-amber-500/40 bg-amber-500/10`,icon:`text-amber-600 dark:text-amber-400`,title:`text-amber-700 dark:text-amber-300`,message:`text-amber-700 dark:text-amber-300`}};function y3({message:e,title:n,onRetry:r,action:i,variant:a=`danger`,className:o}){let s=t(),c=Rfe[a],l=a===`warning`?iK:pW;return(0,q.jsxs)(`div`,{role:`alert`,className:Z(`flex items-start gap-2.5 rounded border px-3 py-2.5`,c.box,o),children:[(0,q.jsx)(l,{className:Z(`h-4 w-4 mt-0.5 shrink-0`,c.icon),"aria-hidden":`true`}),(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[n&&(0,q.jsx)(`p`,{className:Z(`text-xs font-semibold`,c.title),children:n}),(0,q.jsx)(`div`,{className:Z(`text-xs break-words`,c.message,n?`mt-0.5`:``),children:e})]}),i??(r&&(0,q.jsxs)(`button`,{type:`button`,onClick:r,className:Z(`shrink-0 inline-flex items-center gap-1 rounded px-2 py-1 text-[11px] font-medium`,`border border-current/30 hover:bg-current/10 transition-colors`,c.message),children:[(0,q.jsx)(TG,{className:`h-3 w-3`,"aria-hidden":`true`}),s(`uiLibrary.errorBox.retry`,`Retry`)]}))]})}GY(`camstack:vod-playback`,{request:null,play:()=>{},clear:()=>{}});var zfe=WZ(`rounded-lg p-3`,{variants:{variant:{flat:`bg-surface`,bordered:`bg-surface border border-border`}},defaultVariants:{variant:`bordered`}}),b3=(0,s.forwardRef)(({className:e,variant:t,...n},r)=>(0,q.jsx)(`div`,{ref:r,className:Z(zfe({variant:t}),e),...n}));b3.displayName=`Card`;function Bfe(e){if(typeof e!=`object`||!e)return null;let t=Reflect.get(e,`data`);if(typeof t==`object`&&t){let e=Reflect.get(t,`capRouteReason`);if(typeof e==`string`)return e}return null}function Vfe(e){let t=Bfe(e);return t===null?(e instanceof Error?e.message:String(e)).includes(`provider not available`):t===`no-provider`||t===`node-offline`}GY(`camstack:recorded-playback`,{bindControlChannel:null,channelOpen:!1,mode:`live`,positionMs:null,send:()=>!1});var x3=(0,s.createContext)(null);function Hfe(){let e=(0,s.useContext)(x3);if(!e)throw Error(`Dialog compound components must be used within <Dialog>`);return e}function S3({children:e,open:t,onOpenChange:n}){let[r,i]=(0,s.useState)(!1),a=t??r,o=(0,s.useId)(),c=(0,s.useCallback)(e=>{n?.(e),t===void 0&&i(e)},[t,n]);return(0,q.jsx)(x3.Provider,{value:{open:a,setOpen:c,contentId:o},children:e})}var Ufe=WZ(`relative fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 m-0 w-[calc(100vw-2rem)] whitespace-normal bg-background-elevated text-foreground border border-border rounded-lg p-4 backdrop:bg-black/50 backdrop:backdrop-blur-sm max-h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))] [&:not([open])]:hidden`,{variants:{width:{sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-lg`,xl:`max-w-4xl`,full:`max-w-none`},scroll:{content:`overflow-y-auto overscroll-contain`,body:`flex flex-col overflow-hidden overscroll-contain`},placement:{center:``,"sheet-on-mobile":`bottom-0 left-0 right-0 top-auto w-full max-w-full translate-x-0 translate-y-0 rounded-b-none max-h-[92dvh] pb-[calc(1rem+env(safe-area-inset-bottom))] md:left-1/2 md:top-1/2 md:-translate-x-1/2 md:-translate-y-1/2 md:rounded-lg md:bottom-auto md:pb-4 md:max-h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))]`}},compoundVariants:[{placement:`sheet-on-mobile`,width:`sm`,class:`md:w-[calc(100vw-2rem)] md:max-w-sm`},{placement:`sheet-on-mobile`,width:`md`,class:`md:w-[calc(100vw-2rem)] md:max-w-md`},{placement:`sheet-on-mobile`,width:`lg`,class:`md:w-[calc(100vw-2rem)] md:max-w-lg`},{placement:`sheet-on-mobile`,width:`xl`,class:`md:w-[calc(100vw-2rem)] md:max-w-4xl`},{scroll:`body`,placement:`sheet-on-mobile`,class:`h-[92dvh] md:h-auto`},{scroll:`body`,placement:`center`,class:`h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))] md:h-auto`},{width:`full`,class:`left-0 top-0 right-auto bottom-auto translate-x-0 translate-y-0 w-screen max-w-none h-dvh max-h-none rounded-none border-0 pt-[calc(1rem+env(safe-area-inset-top))] pb-[calc(1rem+env(safe-area-inset-bottom))] md:left-0 md:top-0 md:translate-x-0 md:translate-y-0 md:w-screen md:max-w-none md:h-dvh md:max-h-none md:rounded-none md:pb-[calc(1rem+env(safe-area-inset-bottom))]`}],defaultVariants:{width:`md`,placement:`center`,scroll:`content`}}),C3=(0,s.forwardRef)(({className:e,width:n,placement:r,scroll:i,children:a,...o},c)=>{let{open:l,setOpen:u,contentId:d}=Hfe(),f=t(),p=(0,s.useRef)(null),m=c??p;return(0,s.useEffect)(()=>{let e=m.current;e&&(l&&!e.open&&e.showModal(),!l&&e.open&&e.close())},[l,m]),(0,q.jsxs)(`dialog`,{ref:m,id:d,className:Z(Ufe({width:n,placement:r,scroll:i}),e),onClose:()=>u(!1),...o,children:[(0,q.jsx)(KZ,{type:`button`,variant:`ghost`,size:`sm`,icon:_K,"aria-label":f(`uiLibrary.dialog.close`,`Close`),className:`absolute right-4 top-4 z-10 shrink-0`,onClick:()=>u(!1)}),(0,q.jsx)(lX,{id:d,modal:!0,enabled:l,children:a})]})});C3.displayName=`DialogContent`;function w3({className:e,...t}){return(0,q.jsx)(`div`,{className:Z(`flex flex-col gap-1 mb-3 shrink-0 pr-10`,e),...t})}function T3({className:e,...t}){return(0,q.jsx)(`div`,{className:Z(`flex justify-end gap-2 mt-4 shrink-0`,e),...t})}function E3({className:e,...t}){return(0,q.jsx)(`h2`,{className:Z(`text-sm font-semibold text-foreground`,e),...t})}function D3({className:e,...t}){return(0,q.jsx)(`p`,{className:Z(`text-xs text-foreground-muted`,e),...t})}(0,s.lazy)(()=>us(()=>import(`./MotionZonesSettings-V2I-xPYl.js`).then(e=>({default:e.MotionZonesSettings})),__vite__mapDeps([0,1,2]))),(0,s.lazy)(()=>us(()=>import(`./PrivacyMaskSettings-Q-Pg2KX6.js`).then(e=>({default:e.PrivacyMaskSettings})),__vite__mapDeps([3,1,2])));var Wfe=Object.defineProperty,O3=Object.getOwnPropertySymbols,k3=Object.prototype.hasOwnProperty,A3=Object.prototype.propertyIsEnumerable,j3=(e,t,n)=>t in e?Wfe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M3=(e,t)=>{for(var n in t||={})k3.call(t,n)&&j3(e,n,t[n]);if(O3)for(var n of O3(t))A3.call(t,n)&&j3(e,n,t[n]);return e},N3=(e,t)=>{var n={};for(var r in e)k3.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&O3)for(var r of O3(e))t.indexOf(r)<0&&A3.call(e,r)&&(n[r]=e[r]);return n},P3;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(P3||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(P3||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(P3||={});var F3=P3,Gfe={L:F3.QrCode.Ecc.LOW,M:F3.QrCode.Ecc.MEDIUM,Q:F3.QrCode.Ecc.QUARTILE,H:F3.QrCode.Ecc.HIGH},I3=128,L3=`L`,R3=`#FFFFFF`,z3=`#000000`,B3=!1,V3=1,Kfe=4,qfe=0,Jfe=.1;function H3(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function U3(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function Yfe(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Jfe),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function Xfe(e,t){return t==null?e?Kfe:qfe:Math.max(Math.floor(t),0)}function W3({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:c}){let l=s.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...F3.QrSegment.makeSegments(t)),e),[]);return F3.QrCode.encodeSegments(r,Gfe[t],n,void 0,void 0,c)},[e,t,n,c]),{cells:u,margin:d,numCells:f,calculatedImageSettings:p}=s.useMemo(()=>{let e=l.getModules(),t=Xfe(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:Yfe(e,o,t,a)}},[l,o,a,r,i]);return{qrcode:l,margin:d,cells:u,numCells:f,calculatedImageSettings:p}}var Zfe=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Qfe=s.forwardRef(function(e,t){let n=e,{value:r,size:i=I3,level:a=L3,bgColor:o=R3,fgColor:c=z3,includeMargin:l=B3,minVersion:u=V3,boostLevel:d,marginSize:f,imageSettings:p}=n,m=N3(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:h}=m,g=N3(m,[`style`]),_=p?.src,v=s.useRef(null),y=s.useRef(null),b=s.useCallback(e=>{v.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[x,S]=s.useState(!1),{margin:ee,cells:C,numCells:te,calculatedImageSettings:ne}=W3({value:r,level:a,minVersion:u,boostLevel:d,includeMargin:l,marginSize:f,imageSettings:p,size:i});s.useEffect(()=>{if(v.current!=null){let e=v.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=y.current,a=ne!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&ne.excavation!=null&&(n=U3(C,ne.excavation));let s=window.devicePixelRatio||1;e.height=e.width=i*s;let l=i/te*s;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,te,te),t.fillStyle=c,Zfe?t.fill(new Path2D(H3(n,ee))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+ee,n+ee,1,1)})}),ne&&(t.globalAlpha=ne.opacity),a&&t.drawImage(r,ne.x+ee,ne.y+ee,ne.w,ne.h)}}),s.useEffect(()=>{S(!1)},[_]);let re=M3({height:i,width:i},h),w=null;return _!=null&&(w=s.createElement(`img`,{src:_,key:_,style:{display:`none`},onLoad:()=>{S(!0)},ref:y,crossOrigin:ne?.crossOrigin})),s.createElement(s.Fragment,null,s.createElement(`canvas`,M3({style:re,height:i,width:i,ref:b,role:`img`},g)),w)});Qfe.displayName=`QRCodeCanvas`;var $fe=s.forwardRef(function(e,t){let n=e,{value:r,size:i=I3,level:a=L3,bgColor:o=R3,fgColor:c=z3,includeMargin:l=B3,minVersion:u=V3,boostLevel:d,title:f,marginSize:p,imageSettings:m}=n,h=N3(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:g,cells:_,numCells:v,calculatedImageSettings:y}=W3({value:r,level:a,minVersion:u,boostLevel:d,includeMargin:l,marginSize:p,imageSettings:m,size:i}),b=_,x=null;m!=null&&y!=null&&(y.excavation!=null&&(b=U3(_,y.excavation)),x=s.createElement(`image`,{href:m.src,height:y.h,width:y.w,x:y.x+g,y:y.y+g,preserveAspectRatio:`none`,opacity:y.opacity,crossOrigin:y.crossOrigin}));let S=H3(b,g);return s.createElement(`svg`,M3({height:i,width:i,viewBox:`0 0 ${v} ${v}`,ref:t,role:`img`},h),!!f&&s.createElement(`title`,null,f),s.createElement(`path`,{fill:o,d:`M0,0 h${v}v${v}H0z`,shapeRendering:`crispEdges`}),s.createElement(`path`,{fill:c,d:S,shapeRendering:`crispEdges`}),x)});$fe.displayName=`QRCodeSVG`,GY(`camstack:instance-picker-slot`,null);var epe=`rounded-lg border border-border bg-surface overflow-hidden`,tpe=`border-b border-border px-3 sm:px-4 py-1.5 sm:py-2`,G3=`p-2 sm:p-3 lg:p-4`,npe=`flex min-w-0 flex-col gap-0.5 py-1.5 sm:flex-row sm:items-center`,rpe=`min-w-0 text-[11px] leading-tight text-foreground-subtle sm:w-32 sm:shrink-0 sm:pr-2`,ipe=`flex w-full min-w-0 items-center gap-1 sm:flex-1`,ape=`min-w-0 break-all text-xs text-foreground sm:truncate`,ope=`text-[10px] sm:text-[11px] font-semibold text-foreground uppercase tracking-wider`,spe=`text-[10px] text-foreground-subtle`,cpe=`inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[10px] font-medium transition-colors`,lpe=`border-primary/50 bg-primary/15 text-primary`,K3=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`label`,{ref:n,className:Z(`text-[10px] uppercase tracking-wider text-foreground-muted font-medium`,e),...t}));K3.displayName=`Label`;var upe=WZ(``,{variants:{orientation:{horizontal:`h-px w-full bg-border-subtle`,vertical:`w-px h-full bg-border-subtle`}},defaultVariants:{orientation:`horizontal`}}),dpe=(0,s.forwardRef)(({className:e,orientation:t,...n},r)=>(0,q.jsx)(`div`,{ref:r,role:`separator`,"aria-orientation":t??`horizontal`,className:Z(upe({orientation:t}),e),...n}));dpe.displayName=`Separator`;var q3=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`input`,{ref:n,type:`checkbox`,className:Z(`w-3.5 h-3.5 rounded-sm border border-border accent-primary`,e),...t}));q3.displayName=`Checkbox`;var fpe=(0,s.forwardRef)(({className:e,state:t,...n},r)=>(0,q.jsx)(`textarea`,{ref:r,className:Z(`w-full px-2.5 py-1.5 text-xs bg-surface border rounded-md text-foreground placeholder:text-foreground-subtle focus:outline-none focus:ring-1 focus:ring-inset focus:ring-primary transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,t===`error`?`border-danger`:`border-border`,e),...n}));fpe.displayName=`Textarea`;var ppe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`input`,{ref:n,type:`range`,className:Z(`accent-primary disabled:opacity-50 disabled:cursor-not-allowed`,e),...t}));ppe.displayName=`Slider`;var mpe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`input`,{ref:n,type:`radio`,className:Z(`accent-primary disabled:opacity-50 disabled:cursor-not-allowed`,e),...t}));mpe.displayName=`Radio`;var hpe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`input`,{ref:n,type:`file`,className:Z(`hidden`,e),...t}));hpe.displayName=`FileInput`;var J3=(0,s.forwardRef)(({className:e,checked:t,onCheckedChange:n,label:r,...i},a)=>(0,q.jsxs)(`button`,{ref:a,role:`switch`,"aria-checked":t,type:`button`,onClick:()=>n(!t),className:Z(`inline-flex items-center gap-2`,e),...i,children:[(0,q.jsx)(`span`,{className:Z(`w-8 h-4 rounded-full transition-colors`,t?`bg-primary`:`bg-surface-hover`),children:(0,q.jsx)(`span`,{className:Z(`block w-3.5 h-3.5 rounded-full bg-white transition-transform`,t?`translate-x-4`:`translate-x-0.5`)})}),r&&(0,q.jsx)(`span`,{className:`text-xs text-foreground`,children:r})]}));J3.displayName=`Switch`;var gpe=(0,s.createContext)(null);function _pe(){let e=(0,s.useContext)(gpe);if(!e)throw Error(`Tabs compound components must be used within <Tabs>`);return e}(0,s.forwardRef)(function({value:e,className:t,...n},r){let{value:i,setValue:a,appearance:o}=_pe(),s=e===i;return(0,q.jsx)(`button`,{ref:r,type:`button`,role:`tab`,"aria-selected":s,"aria-controls":`tabpanel-${e}`,tabIndex:s?0:-1,className:Z(`inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap text-xs px-3 transition-colors`,o===`pills`?s?`rounded-md bg-primary/10 font-medium text-primary`:`rounded-md text-foreground-muted hover:bg-surface-hover hover:text-foreground`:s?`border-b-2 border-primary text-foreground font-medium`:`text-foreground-muted hover:text-foreground`,t),onClick:()=>a(e),...n})});var vpe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`div`,{ref:n,className:Z(`overflow-auto [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-surface-hover [&::-webkit-scrollbar-thumb]:rounded-full`,e),...t}));vpe.displayName=`ScrollArea`;function ype(e){if(e===null)return;let t=e.trim();return t===``?void 0:t}function bpe(e,t){if(e===null||!Number.isFinite(e)||e<=0)return null;let n=t-e;if(n<=0)return null;let r=Math.floor(n/6e4);return r<60?{minutes:Math.max(1,r)}:{hours:Math.floor(r/60)}}function xpe(e,t,n,r){let i=ype(n);if(e===null)return{key:`unknown`};if(e===!1)return i===void 0?{key:`idle`}:{key:`idle`,phase:i};let a=bpe(t,r);return a===null?i===void 0?{key:`running`}:{key:`running`,phase:i}:{key:`running`,duration:a,...i===void 0?{}:{phase:i}}}function Spe({running:e,children:n,className:r}){let i=t();return e===null?(0,q.jsx)(`span`,{"data-running":`unknown`,className:Z(`inline-flex shrink-0`,r),children:n}):e===!0?(0,q.jsxs)(`span`,{"data-running":`running`,className:Z(`relative inline-flex shrink-0 rounded-full p-0.5`,r),"aria-label":i(`uiLibrary.runningBadge.running`,`Running`),children:[(0,q.jsx)(`span`,{className:`pointer-events-none absolute inset-0 rounded-full border border-primary animate-pulse`,"aria-hidden":!0}),n]}):(0,q.jsxs)(`span`,{"data-running":`idle`,className:Z(`relative inline-flex shrink-0`,r),"aria-label":i(`uiLibrary.runningBadge.idle`,`Idle`),children:[n,(0,q.jsx)(`span`,{className:`pointer-events-none absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-foreground-subtle`,"aria-hidden":!0})]})}function Cpe({page:e,labels:t,onPageChange:n}){let r=e.page===0,i=e.page>=e.pageCount-1;return(0,q.jsxs)(`nav`,{"aria-label":t.navLabel,className:`flex items-center justify-end gap-2 pt-2`,children:[(0,q.jsx)(`span`,{"aria-live":`polite`,className:`text-[11px] tabular-nums text-foreground-subtle`,children:t.range(e.from,e.to,e.total)}),(0,q.jsx)(KZ,{type:`button`,variant:`outline`,size:`sm`,icon:uW,"aria-label":t.previous,title:t.previous,disabled:r,onClick:()=>n(e.page-1)}),(0,q.jsx)(KZ,{type:`button`,variant:`outline`,size:`sm`,icon:dW,"aria-label":t.next,title:t.next,disabled:i,onClick:()=>n(e.page+1)})]})}function wpe(e,t,n){let r=Math.max(1,Math.floor(n)),i=e.length,a=Math.max(1,Math.ceil(i/r)),o=Math.min(Math.max(0,Math.floor(t)),a-1),s=o*r,c=e.slice(s,s+r);return{pageRows:c,page:o,pageCount:a,from:c.length===0?0:s+1,to:s+c.length,total:i}}var Tpe={navLabel:`Table pages`,previous:`Previous page`,next:`Next page`,range:(e,t,n)=>`${e}–${t} of ${n}`},Epe=`__select`,Y3=`cursor-pointer align-middle`;function Dpe({checked:e,indeterminate:t,disabled:n,label:r,onToggle:i}){let a=(0,s.useRef)(null);return(0,s.useEffect)(()=>{a.current!==null&&(a.current.indeterminate=t)},[t]),(0,q.jsx)(q3,{ref:a,"aria-label":r,checked:e,disabled:n,onChange:i,className:Y3})}function Ope(e,t,n){let r=e.isSelectable??(()=>!0),i=t.filter(r).map(n),a=i.filter(t=>e.selected.has(t)).length,o=i.length>0&&a===i.length,s=()=>{let t=new Set(e.selected);for(let e of i)o?t.delete(e):t.add(e);e.onChange(t)},c=t=>{let n=new Set(e.selected);n.has(t)?n.delete(t):n.add(t),e.onChange(n)};return{key:Epe,width:`w-8`,headerRender:()=>(0,q.jsx)(Dpe,{checked:o,indeterminate:a>0&&!o,disabled:i.length===0,label:e.pageLabel,onToggle:s}),render:t=>{if(!r(t))return null;let i=n(t);return(0,q.jsx)(q3,{"aria-label":e.rowLabel(t),checked:e.selected.has(i),onChange:()=>c(i),onClick:e=>e.stopPropagation(),className:Y3})}}}function kpe({label:e,active:t,dir:n,onSort:r}){return(0,q.jsxs)(`button`,{type:`button`,onClick:r,className:`group/sort inline-flex items-center gap-0.5 hover:text-foreground transition-colors`,children:[(0,q.jsx)(`span`,{children:e}),t?n===`asc`?(0,q.jsx)(fW,{className:`h-3 w-3 flex-shrink-0`}):(0,q.jsx)(lW,{className:`h-3 w-3 flex-shrink-0`}):(0,q.jsx)(fW,{className:Z(`h-3 w-3 flex-shrink-0 opacity-0 transition-opacity`,`group-hover/sort:opacity-30`)})]})}function Ape(e,t){return!e||t===null?`asc`:t===`asc`?`desc`:null}function jpe(e,t){let n=Ape(e!==null&&e.columnKey===t,e===null?null:e.dir);return n===null?null:{columnKey:t,dir:n}}function Mpe(e,t){return typeof e==`number`&&typeof t==`number`?e-t:String(e).localeCompare(String(t))}function Npe(e,t,n){if(t===null)return[...e];let r=t.dir===`asc`?1:-1;return e.toSorted((e,t)=>{let i=n(e),a=n(t);return i===null||a===null?i===a?0:i===null?1:-1:r*Mpe(i,a)})}function Ppe(e,t){return e===null||e.columnKey!==t?`none`:e.dir===`asc`?`ascending`:`descending`}var X3={left:`text-left`,right:`text-right`,center:`text-center`};function Fpe({columns:e,rows:t,rowKey:n,onRowClick:r,minWidthPx:i=480,emptyMessage:a,className:o,bordered:c=!0,rowClassName:l,rowState:u,maxBodyHeight:d,fill:f=!1,defaultSort:p,sort:m,onSortChange:h,pageSize:g,page:_,onPageChange:v,paginationLabels:y=Tpe,selection:b,renderExpanded:x,isExpanded:S}){let[ee,C]=(0,s.useState)(p??null),[te,ne]=(0,s.useState)(0),re=m===void 0?ee:m,w=e=>{m===void 0&&C(e),h?.(e)},ie=e=>{_===void 0&&ne(e),v?.(e)},ae=f||d!==void 0,oe=f?`h-full min-h-0`:d??``,se=(0,s.useMemo)(()=>re===null?void 0:e.find(e=>e.key===re.columnKey&&e.sortValue!==void 0),[e,re]),ce=se?.sortValue,le=(0,s.useMemo)(()=>ce===void 0?t:Npe(t,re,ce),[t,re,ce]),T=se===void 0?null:re,E=g===void 0?null:wpe(le,_??te,g),ue=E===null?le:E.pageRows,de=E!==null&&E.pageCount>1?(0,q.jsx)(Cpe,{page:E,labels:y,onPageChange:ie}):null,fe=b===void 0?e:[Ope(b,ue,e=>String(n?n(e,t.indexOf(e)):t.indexOf(e))),...e];if(t.length===0&&a)return(0,q.jsx)(`div`,{className:`rounded-lg ${c?`border border-border`:``} bg-surface px-3 py-4 text-xs text-foreground-subtle text-center ${o??``}`,children:a});if(t.length===0)return null;let pe=(0,q.jsx)(`div`,{className:[`rounded-lg`,c?`border border-border`:``,`bg-surface overflow-x-auto`,ae?`${oe} overflow-y-auto`:``,f?`min-h-0 flex-1`:``,!f&&de===null?o??``:``].filter(Boolean).join(` `),children:(0,q.jsxs)(`table`,{className:`w-full text-xs ${ae?`border-separate border-spacing-0`:``}`,style:{minWidth:`${i}px`},children:[(0,q.jsx)(`thead`,{className:`bg-surface`,children:(0,q.jsx)(`tr`,{children:fe.map(e=>{let t=e.align??`left`,n=e.nowrap??!0,r=e.sortValue!==void 0,i=T!==null&&T.columnKey===e.key;return(0,q.jsx)(`th`,{"aria-sort":r?Ppe(T,e.key):void 0,title:r?void 0:e.notSortableReason,className:[`px-3 py-2 text-foreground-subtle font-medium bg-surface border-b border-border`,ae?`sticky top-0 z-10`:``,X3[t],n?`whitespace-nowrap`:``,e.width??``].filter(Boolean).join(` `),children:r?(0,q.jsx)(kpe,{label:e.headerRender?e.headerRender():e.header,active:i,dir:i&&T!==null?T.dir:`asc`,onSort:()=>w(jpe(re,e.key))}):e.headerRender?e.headerRender():e.header},e.key)})})}),(0,q.jsx)(`tbody`,{children:ue.map((e,t)=>{let i=n?n(e,t):t,a=l?.(e,t)??``,o=u?.(e,t),c=o?.kind===`pending`,d=r!==void 0&&!c,f=x!==void 0&&S?.(e)===!0?x(e,t):null;return(0,q.jsxs)(s.Fragment,{children:[(0,q.jsx)(`tr`,{onClick:d?()=>r?.(e,t):void 0,"aria-busy":c?!0:void 0,title:o?.kind===`failed`?o.message:void 0,className:[d?`cursor-pointer hover:bg-primary/5`:`hover:bg-primary/5`,c?`opacity-60 pointer-events-none`:``,o?.kind===`failed`?`bg-danger/5`:``,a].filter(Boolean).join(` `),children:fe.map(n=>{let r=n.align??`left`,i=n.nowrap??!0;return(0,q.jsx)(`td`,{"data-cell":n.key,className:[`px-3 py-2 text-foreground border-b border-border`,X3[r],i?`whitespace-nowrap`:``].filter(Boolean).join(` `),children:n.render(e,t)},n.key)})}),f!==null&&(0,q.jsx)(`tr`,{"data-expanded-row":``,className:`bg-surface`,children:(0,q.jsx)(`td`,{colSpan:fe.length,className:`border-b border-border px-3 py-2`,children:f})})]},i)})})]})});return de===null?f?(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col ${o??``}`,children:pe}):pe:(0,q.jsxs)(`div`,{className:f?`flex min-h-0 flex-1 flex-col ${o??``}`:o,children:[pe,de]})}function Z3({label:e,children:t,actions:n,elements:r=`plain`,className:i,valueClassName:a}){let o=r===`description`?`dt`:`span`,s=r===`description`?`dd`:`div`;return(0,q.jsxs)(`div`,{"data-setting-row":``,className:Z(npe,i),children:[(0,q.jsx)(o,{"data-setting-row-label":``,className:rpe,children:e}),(0,q.jsxs)(s,{"data-setting-row-value":``,className:ipe,children:[(0,q.jsx)(`span`,{"data-setting-row-value-text":``,className:Z(ape,a),children:t}),n!==void 0&&(0,q.jsx)(`span`,{className:`flex shrink-0 items-center gap-0.5`,children:n})]})]})}function Q3({headingId:e,title:t,icon:n,actions:r,testId:i,children:a}){return(0,q.jsxs)(`section`,{"aria-labelledby":e,className:epe,"data-testid":i,children:[(0,q.jsxs)(`header`,{className:`${tpe} flex min-h-9 flex-wrap items-center gap-2`,children:[n!==void 0&&(0,q.jsx)(n,{className:`h-3.5 w-3.5 shrink-0 text-foreground-subtle`,"aria-hidden":!0}),(0,q.jsx)(`h2`,{id:e,className:`${ope} min-w-0 flex-1`,children:t}),r]}),a]})}var Ipe=5*6e4,Lpe=720*6e4,Rpe=`camstack:turn-servers:v1`;function zpe(){let e=globalThis;try{return e.localStorage??null}catch{return null}}function Bpe(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.fetchedAt!=`number`||!Array.isArray(t.servers)?!1:t.servers.every(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return!(!(typeof t.urls==`string`||Array.isArray(t.urls)&&t.urls.every(e=>typeof e==`string`))||t.username!==void 0&&typeof t.username!=`string`||t.credential!==void 0&&typeof t.credential!=`string`)})}new class{freshTtlMs;staleCapMs;storage;now;storageKey;memory=new WeakMap;inflight=new WeakMap;constructor(e={}){this.freshTtlMs=e.freshTtlMs??Ipe,this.staleCapMs=e.staleCapMs??Lpe,this.storage=`storage`in e?e.storage??null:zpe(),this.now=e.now??(()=>Date.now()),this.storageKey=e.storageKey??Rpe}async getOrFetch(e,t){let n=this.now(),r=this.memory.get(e)??this.readStorage();if(r){let i=n-r.fetchedAt;if(i<this.freshTtlMs)return r.servers;if(i<this.staleCapMs)return this.startFetch(e,t,r),r.servers}return this.startFetch(e,t,r)}startFetch(e,t,n){let r=this.inflight.get(e);if(r)return r;let i=(async()=>{try{let n=await t();if(n.length>0){let t={servers:n,fetchedAt:this.now()};this.memory.set(e,t),this.writeStorage(t)}return n}catch{return n?.servers}})().finally(()=>{this.inflight.delete(e)});return this.inflight.set(e,i),i}readStorage(){if(this.storage)try{let e=this.storage.getItem(this.storageKey);if(e===null)return;let t=JSON.parse(e);return Bpe(t)?t:void 0}catch{return}}writeStorage(e){if(this.storage)try{this.storage.setItem(this.storageKey,JSON.stringify(e))}catch{}}};var $3=[`day`,`ir`],Vpe={day:{labelKey:`uiLibrary.sceneMonitor.variant.day`,labelFallback:`Daylight`},ir:{labelKey:`uiLibrary.sceneMonitor.variant.ir`,labelFallback:`Night (IR)`},night:{labelKey:`uiLibrary.sceneMonitor.variant.night`,labelFallback:`Night`},dawn:{labelKey:`uiLibrary.sceneMonitor.variant.dawn`,labelFallback:`Dawn`},dusk:{labelKey:`uiLibrary.sceneMonitor.variant.dusk`,labelFallback:`Dusk`}};function e6(e,t=i){let n=Vpe[e];return n===void 0?e:t(n.labelKey,n.labelFallback)}function Hpe(e,t=i){let n=new Set(e.coveredConditions),r=$3.map(e=>`${e6(e,t)} ${n.has(e)?`✓`:`✗`}`),a=[...n].filter(e=>!$3.some(t=>t===e));for(let e of a)r.push(`${e6(e,t)} ✓`);let o=$3.filter(e=>!n.has(e));if(o.length===0)return r.join(` · `);if(n.size===0)return t(`uiLibrary.sceneMonitor.coverage.empty`,`{{parts}} — nothing captured yet, so this scene is not watching.`,{parts:r.join(` · `)});let[s=``,c]=o.map(e=>e6(e,t).toLowerCase()),l=c===void 0?s:t(`uiLibrary.sceneMonitor.coverage.namesJoin`,`{{first}} and {{second}}`,{first:s,second:c}),u={parts:r.join(` · `),names:l};return e.onUncoveredCondition===`judge-anyway`?t(`uiLibrary.sceneMonitor.coverage.judgeAnyway`,`{{parts}} — {{names}} judged against the references you do have.`,u):t(`uiLibrary.sceneMonitor.coverage.skip`,`{{parts}} — optional; checks in {{names}} are skipped.`,u)}function Upe(e,t=i){return e.suspendedCondition===null?null:t(`uiLibrary.sceneMonitor.suspension`,`Paused — nothing was captured in {{light}}, so checks are on hold until the light changes back. Capture {{light}} if you want it watched around the clock.`,{light:e6(e.suspendedCondition,t).toLowerCase()})}var Wpe={"no-reference-for-condition":{key:`uiLibrary.sceneMonitor.unavailable.no_reference_for_condition`,fallback:`can’t tell — nothing has been captured for this scene yet. Press “Capture daylight” to photograph what normal looks like.`},"view-shifted":{key:`uiLibrary.sceneMonitor.unavailable.view_shifted`,fallback:`can’t tell — the camera view has moved since the reference was captured. Re-capture it.`},"no-vision-profile":{key:`uiLibrary.sceneMonitor.unavailable.no_vision_profile`,fallback:`can’t tell — the vision model is unreachable, so the change is on hold.`},"encoder-model-changed":{key:`uiLibrary.sceneMonitor.unavailable.encoder_model_changed`,fallback:`can’t tell — the embedding model changed, so the stored references are unreadable. Re-capture them.`},"no-snapshot":{key:`uiLibrary.sceneMonitor.unavailable.no_snapshot`,fallback:`can’t tell — this camera did not return a frame.`}};function Gpe(e,t,n=i){if(e.states.length===0)return n(`uiLibrary.sceneMonitor.status.notArmed`,`Not armed yet — capture the initial state to start watching.`);if(e.verdict===`unknown`){if(e.unavailable===null)return n(`uiLibrary.sceneMonitor.status.cantTellNow`,`can’t tell right now.`);let t=Wpe[e.unavailable];return n(t.key,t.fallback)}let r=e.verdict===`diverged`?e.divergedAt:e.armedAt,a=r===null?``:` ${n(`uiLibrary.sceneMonitor.status.heldFor`,`for {{duration}}`,{duration:Ype(Math.max(0,t-r))})}`;if(e.latched)return e.verdict===`diverged`?n(`uiLibrary.sceneMonitor.status.changedLatched`,`CHANGED{{held}} — press Reset when you have dealt with it.`,{held:a}):n(`uiLibrary.sceneMonitor.status.backToNormal`,`Back to normal, but still flagged as changed{{held}}. Press Reset to clear it.`,{held:a});let o=Upe(e,n);return o===null?e.verdict===`diverged`?n(`uiLibrary.sceneMonitor.status.changed`,`CHANGED{{held}}`,{held:a}):n(`uiLibrary.sceneMonitor.status.normal`,`Normal{{held}}`,{held:a}):o}function Kpe(e,t=i){return e.states.length===0?{text:t(`uiLibrary.sceneMonitor.badge.notArmed`,`Not armed`),tone:`unknown`}:e.latched?{text:t(`uiLibrary.sceneMonitor.badge.changed`,`Changed`),tone:`alarm`}:e.suspendedCondition===null?e.verdict===`unknown`?{text:t(`uiLibrary.sceneMonitor.badge.cantTell`,`Can’t tell`),tone:`unknown`}:e.verdict===`diverged`?{text:t(`uiLibrary.sceneMonitor.badge.changed`,`Changed`),tone:`alarm`}:{text:t(`uiLibrary.sceneMonitor.badge.normal`,`Normal`),tone:`ok`}:{text:t(`uiLibrary.sceneMonitor.badge.paused`,`Paused`),tone:`unknown`}}var qpe=.4;function Jpe(e){return e.width*e.height>qpe}function Ype(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<48?`${r}h`:`${Math.floor(r/24)}d`}function Xpe({label:e,icon:n,title:r,description:i,confirmLabel:a,triggerVariant:o=`outline`,confirmVariant:c=`danger`,size:l=`sm`,disabled:u,className:d,action:f,onSuccess:p}){let m=t(),[h,g]=(0,s.useState)(!1),[_,v]=(0,s.useState)(!1),[y,b]=(0,s.useState)(null),x=async()=>{b(null),v(!0);try{let e=await f();p?.(e),g(!1)}catch(e){b(e instanceof Error?e.message:String(e))}finally{v(!1)}};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(uQ,{type:`button`,variant:o,size:l,disabled:u,onClick:()=>{b(null),g(!0)},className:d,children:[n&&(0,q.jsx)(n,{className:`h-3.5 w-3.5`}),e]}),(0,q.jsx)(S3,{open:h,onOpenChange:e=>!_&&g(e),children:(0,q.jsxs)(C3,{children:[(0,q.jsxs)(w3,{children:[(0,q.jsxs)(E3,{className:`flex items-center gap-2`,children:[(0,q.jsx)(iK,{className:`h-4 w-4 text-amber-400`}),r??m(`uiLibrary.confirmActionButton.defaultTitle`,`Confirm action`)]}),typeof i==`string`?(0,q.jsx)(D3,{children:i}):i]}),y&&(0,q.jsx)(`div`,{className:Z(`mt-2 px-3 py-2 rounded border border-danger/40 bg-danger/10`,`text-xs text-danger`),children:y}),(0,q.jsxs)(T3,{children:[(0,q.jsx)(uQ,{type:`button`,variant:`ghost`,size:l,disabled:_,onClick:()=>g(!1),children:m(`uiLibrary.confirmActionButton.cancel`,`Cancel`)}),(0,q.jsxs)(uQ,{type:`button`,variant:c,size:l,disabled:_,onClick:()=>{x()},children:[_&&(0,q.jsx)(ZW,{className:`h-3.5 w-3.5 animate-spin`}),a??e]})]})]})})]})}var t6=$S(),Zpe=new Set([`live`,`recording`,`heatmapScrub`]);Object.freeze(Object.fromEntries(US.filter(e=>!Zpe.has(e)).map(e=>[e,tC(t6.swatches,t6.fallbacks,e)])));function Qpe(e){let t=e[0];if(t===void 0)throw Error(`display palette has no fallback colour`);return t}Qpe(t6.fallbacks),$S(),(0,s.createContext)({status:`absent`});var $pe=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},n6=class{constructor(e){this.generateIdentifier=e,this.kv=new $pe}register(e,t){this.kv.getByValue(e)||(t||=this.generateIdentifier(e),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},eme=class extends n6{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t==`object`?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};function tme(e){if(`values`in Object)return Object.values(e);let t=[];for(let n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function nme(e,t){let n=tme(e);if(`find`in n)return n.find(t);let r=n;for(let e=0;e<r.length;e++){let n=r[e];if(t(n))return n}}function r6(e,t){Object.entries(e).forEach(([e,n])=>t(n,e))}function i6(e,t){return e.indexOf(t)!==-1}function a6(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return r}}var rme=class{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return nme(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}},ime=e=>Object.prototype.toString.call(e).slice(8,-1),o6=e=>e===void 0,ame=e=>e===null,s6=e=>typeof e!=`object`||!e||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,c6=e=>s6(e)&&Object.keys(e).length===0,l6=e=>Array.isArray(e),ome=e=>typeof e==`string`,sme=e=>typeof e==`number`&&!isNaN(e),cme=e=>typeof e==`boolean`,lme=e=>e instanceof RegExp,u6=e=>e instanceof Map,d6=e=>e instanceof Set,f6=e=>ime(e)===`Symbol`,ume=e=>e instanceof Date&&!isNaN(e.valueOf()),p6=e=>e instanceof Error,m6=e=>typeof e==`number`&&isNaN(e),dme=e=>cme(e)||ame(e)||o6(e)||sme(e)||ome(e)||f6(e),fme=e=>typeof e==`bigint`,pme=e=>e===1/0||e===-1/0,mme=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),hme=e=>e instanceof URL,h6=e=>e.replace(/\\/g,`\\\\`).replace(/\./g,`\\.`),g6=e=>e.map(String).map(h6).join(`.`),_6=(e,t)=>{let n=[],r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);if(!t&&a===`\\`){let t=e.charAt(i+1);if(t===`\\`){r+=`\\`,i++;continue}else if(t!==`.`)throw Error(`invalid path`)}if(a===`\\`&&e.charAt(i+1)===`.`){r+=`.`,i++;continue}if(a===`.`){n.push(r),r=``;continue}r+=a}let i=r;return n.push(i),n};function v6(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var y6=[v6(o6,`undefined`,()=>null,()=>void 0),v6(fme,`bigint`,e=>e.toString(),e=>typeof BigInt<`u`?BigInt(e):(console.error(`Please add a BigInt polyfill.`),e)),v6(ume,`Date`,e=>e.toISOString(),e=>new Date(e)),v6(p6,`Error`,(e,t)=>{let n={name:e.name,message:e.message};return`cause`in e&&(n.cause=e.cause),t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n},(e,t)=>{let n=Error(e.message,{cause:e.cause});return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n}),v6(lme,`regexp`,e=>``+e,e=>{let t=e.slice(1,e.lastIndexOf(`/`)),n=e.slice(e.lastIndexOf(`/`)+1);return new RegExp(t,n)}),v6(d6,`set`,e=>[...e.values()],e=>new Set(e)),v6(u6,`map`,e=>[...e.entries()],e=>new Map(e)),v6(e=>m6(e)||pme(e),`number`,e=>m6(e)?`NaN`:e>0?`Infinity`:`-Infinity`,Number),v6(e=>e===0&&1/e==-1/0,`number`,()=>`-0`,Number),v6(hme,`URL`,e=>e.toString(),e=>new URL(e))];function b6(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var x6=b6((e,t)=>f6(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>[`symbol`,t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{let r=n.symbolRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown symbol`);return r}),gme=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),S6=b6(mme,e=>[`typed-array`,e.constructor.name],e=>[...e],(e,t)=>{let n=gme[t[1]];if(!n)throw Error(`Trying to deserialize unknown typed array`);return new n(e)});function C6(e,t){return e?.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var w6=b6(C6,(e,t)=>[`class`,t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{let n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};let r={};return n.forEach(t=>{r[t]=e[t]}),r},(e,t,n)=>{let r=n.classRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(r.prototype),e)}),T6=b6((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>[`custom`,t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{let r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw Error(`Trying to deserialize unknown custom value`);return r.deserialize(e)}),_me=[w6,x6,T6,S6],E6=(e,t)=>{let n=a6(_me,n=>n.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};let r=a6(y6,n=>n.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},D6={};y6.forEach(e=>{D6[e.annotation]=e});var vme=(e,t,n)=>{if(l6(t))switch(t[0]){case`symbol`:return x6.untransform(e,t,n);case`class`:return w6.untransform(e,t,n);case`custom`:return T6.untransform(e,t,n);case`typed-array`:return S6.untransform(e,t,n);default:throw Error(`Unknown transformation: `+t)}else{let r=D6[t];if(!r)throw Error(`Unknown transformation: `+t);return r.untransform(e,n)}},O6=(e,t)=>{if(t>e.size)throw Error(`index out of bounds`);let n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function k6(e){if(i6(e,`__proto__`))throw Error(`__proto__ is not allowed as a property`);if(i6(e,`prototype`))throw Error(`prototype is not allowed as a property`);if(i6(e,`constructor`))throw Error(`constructor is not allowed as a property`)}var yme=(e,t)=>{k6(t);for(let n=0;n<t.length;n++){let r=t[n];if(d6(e))e=O6(e,+r);else if(u6(e)){let i=+r,a=+t[++n]==0?`key`:`value`,o=O6(e,i);switch(a){case`key`:e=o;break;case`value`:e=e.get(o);break}}else e=e[r]}return e},A6=(e,t,n)=>{if(k6(t),t.length===0)return n(e);let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];if(l6(r)){let e=+n;r=r[e]}else if(s6(r))r=r[n];else if(d6(r)){let e=+n;r=O6(r,e)}else if(u6(r)){if(e===t.length-2)break;let i=+n,a=+t[++e]==0?`key`:`value`,o=O6(r,i);switch(a){case`key`:r=o;break;case`value`:r=r.get(o);break}}}let i=t[t.length-1];if(l6(r)?r[+i]=n(r[+i]):s6(r)&&(r[i]=n(r[i])),d6(r)){let e=O6(r,+i),t=n(e);e!==t&&(r.delete(e),r.add(t))}if(u6(r)){let e=+t[t.length-2],a=O6(r,e);switch(+i==0?`key`:`value`){case`key`:{let e=n(a);r.set(e,r.get(a)),e!==a&&r.delete(a);break}case`value`:r.set(a,n(r.get(a)));break}}return e},j6=e=>e<1;function M6(e,t,n,r=[]){if(!e)return;let i=j6(n);if(!l6(e)){r6(e,(e,a)=>M6(e,t,n,[...r,..._6(a,i)]));return}let[a,o]=e;o&&r6(o,(e,a)=>{M6(e,t,n,[...r,..._6(a,i)])}),t(a,r)}function bme(e,t,n,r){return M6(t,(t,n)=>{e=A6(e,n,e=>vme(e,t,r))},n),e}function xme(e,t,n){let r=j6(n);function i(t,n){let i=yme(e,_6(n,r));t.map(e=>_6(e,r)).forEach(t=>{e=A6(e,t,()=>i)})}if(l6(t)){let[n,a]=t;n.forEach(t=>{e=A6(e,_6(t,r),()=>e)}),a&&r6(a,i)}else r6(t,i);return e}var Sme=(e,t)=>s6(e)||l6(e)||u6(e)||d6(e)||p6(e)||C6(e,t);function Cme(e,t,n){let r=n.get(e);r?r.push(t):n.set(e,[t])}function wme(e,t){let n={},r;return e.forEach(e=>{if(e.length<=1)return;t||(e=e.map(e=>e.map(String)).sort((e,t)=>e.length-t.length));let[i,...a]=e;i.length===0?r=a.map(g6):n[g6(i)]=a.map(g6)}),r?c6(n)?[r]:[r,n]:c6(n)?void 0:n}var N6=(e,t,n,r,i=[],a=[],o=new Map)=>{let s=dme(e);if(!s){Cme(e,i,t);let n=o.get(e);if(n)return r?{transformedValue:null}:n}if(!Sme(e,n)){let t=E6(e,n),r=t?{transformedValue:t.value,annotations:[t.type]}:{transformedValue:e};return s||o.set(e,r),r}if(i6(a,e))return{transformedValue:null};let c=E6(e,n),l=c?.value??e,u=l6(l)?[]:{},d={};r6(l,(s,c)=>{if(c===`__proto__`||c===`constructor`||c===`prototype`)throw Error(`Detected property ${c}. This is a prototype pollution risk, please remove it from your object.`);let l=N6(s,t,n,r,[...i,c],[...a,e],o);u[c]=l.transformedValue,l6(l.annotations)?d[h6(c)]=l.annotations:s6(l.annotations)&&r6(l.annotations,(e,t)=>{d[h6(c)+`.`+t]=e})});let f=c6(d)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,d]:d};return s||o.set(e,f),f};function P6(e){return Object.prototype.toString.call(e).slice(8,-1)}function F6(e){return P6(e)===`Array`}function Tme(e){if(P6(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function Eme(e,t,n,r,i){let a={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;a===`enumerable`&&(e[t]=n),i&&a===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function I6(e,t={}){if(F6(e))return e.map(e=>I6(e,t));if(!Tme(e))return e;let n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((n,r)=>{if(r===`__proto__`||F6(t.props)&&!t.props.includes(r))return n;let i=e[r];return Eme(n,r,I6(i,t),e,t.nonenumerable),n},{})}var L6=class{constructor({dedupe:e=!1}={}){this.classRegistry=new eme,this.symbolRegistry=new n6(e=>e.description??``),this.customTransformerRegistry=new rme,this.allowedErrorProps=[],this.dedupe=e}serialize(e){let t=new Map,n=N6(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});let i=wme(t,this.dedupe);return i&&(r.meta={...r.meta,referentialEqualities:i}),r.meta&&(r.meta.v=1),r}deserialize(e,t){let{json:n,meta:r}=e,i=t?.inPlace?n:I6(n);return r?.values&&(i=bme(i,r.values,r.v??0,this)),r?.referentialEqualities&&(i=xme(i,r.referentialEqualities,r.v??0)),i}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e),{inPlace:!0})}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};L6.defaultInstance=new L6,L6.serialize=L6.defaultInstance.serialize.bind(L6.defaultInstance),L6.deserialize=L6.defaultInstance.deserialize.bind(L6.defaultInstance),L6.stringify=L6.defaultInstance.stringify.bind(L6.defaultInstance),L6.parse=L6.defaultInstance.parse.bind(L6.defaultInstance),L6.registerClass=L6.defaultInstance.registerClass.bind(L6.defaultInstance),L6.registerSymbol=L6.defaultInstance.registerSymbol.bind(L6.defaultInstance),L6.registerCustom=L6.defaultInstance.registerCustom.bind(L6.defaultInstance),L6.allowErrorProps=L6.defaultInstance.allowErrorProps.bind(L6.defaultInstance),L6.serialize,L6.deserialize,L6.stringify,L6.parse,L6.registerClass,L6.registerCustom,L6.registerSymbol,L6.allowErrorProps;var Dme=function(e){return e.Motion=`motion`,e.Person=`person`,e.Vehicle=`vehicle`,e.Animal=`animal`,e.Audio=`audio`,e.Face=`face`,e.Plate=`plate`,e.Package=`package`,e.Doorbell=`doorbell`,e.Sensor=`sensor`,e}({}),Ome=`animal.dog_cat.dog.cat.horse.sheep.cow.elephant.bear.zebra.giraffe.mouse.rabbit.deer.lion.tiger.bird.eagle.owl.pigeon.fish.whale.dolphin.snake.turtle.lizard`.split(`.`),kme=[`person`,`people`,`pedestrian`,`rider`,`driver`,`cyclist`,`skier`,`skateboarder`,`face`,`hand`,`head`,`body`],Ame=[`vehicle`,`car`,`truck`,`bus`,`motorcycle`,`bicycle`,`van`,`ambulance`,`police_car`,`fire_truck`,`train`,`subway`,`tram`,`airplane`,`boat`,`ship`,`helicopter`],jme=`face.eyes.nose.mouth.ears.eyebrows.left_eye.right_eye.pupil.iris.eyelid.eye_corner.upper_lip.lower_lip.teeth.chin.cheek.forehead.jaw.glasses.sunglasses.facial_hair.beard.mustache.facial_landmark.facial_keypoint`.split(`.`),Mme=[`plate`,`license_plate`,`front_plate`,`rear_plate`,`motorcycle_plate`,`temporary_plate`,`dealer_plate`,`licensePlate`,`plate_number`,`plate_character`,`plate_digit`,`plate_letter`,`plate_symbol`,`plate_region`,`plate_country_identifier`,`plate_frame`,`plate_bolt`,`plate_sticker`,`plate_validation_tag`,`damaged_plate`,`obscured_plate`,`dirty_plate`],Nme=[`motion`,`movement`,`other`],Pme=[`package`,`packet`],Fme=[`audio`],Ime=`speech.scream.babbling.yell.bellow.whoop.whispering.laughter.snicker.crying.cry.sigh.singing.choir.chant.mantra.child_singing.rapping.humming.groan.grunt.whistling.breathing.wheeze.snoring.gasp.pant.snort.cough.throat_clearing.sneeze.sniff.cheering.applause.chatter.crowd.children_playing.bark.yip.howl.bow-wow.growling.whimper_dog.purr.meow.hiss.caterwaul.pets.livestock.doorbell.ding-dong.door.slam.knock.alarm.telephone.music.dog.dogs`.split(`.`),Lme=[`doorbell`,`ring`],Rme=[`lock`,`binary`,`flood`,`entry`,`door`,`leak`,`door_open`,`flooded`,`entry_open`];({...Ome.reduce((e,t)=>({...e,[t]:`animal`}),{}),...kme.reduce((e,t)=>({...e,[t]:`person`}),{}),...Ame.reduce((e,t)=>({...e,[t]:`vehicle`}),{}),...Nme.reduce((e,t)=>({...e,[t]:`motion`}),{}),...Pme.reduce((e,t)=>({...e,[t]:`package`}),{}),...jme.reduce((e,t)=>({...e,[t]:`face`}),{}),...Mme.reduce((e,t)=>({...e,[t]:`plate`}),{}),...Fme.reduce((e,t)=>({...e,[t]:`audio`}),{}),...Ime.reduce((e,t)=>({...e,[t]:`audio`}),{}),...Lme.reduce((e,t)=>({...e,[t]:`doorbell`}),{}),...Rme.reduce((e,t)=>({...e,[t]:`sensor`}),{})}),[...Object.values(Dme).filter(e=>e!==`motion`)];var zme=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},R6=class{constructor(e){this.generateIdentifier=e,this.kv=new zme}register(e,t){this.kv.getByValue(e)||(t||=this.generateIdentifier(e),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},Bme=class extends R6{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t==`object`?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};function Vme(e){if(`values`in Object)return Object.values(e);let t=[];for(let n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function Hme(e,t){let n=Vme(e);if(`find`in n)return n.find(t);let r=n;for(let e=0;e<r.length;e++){let n=r[e];if(t(n))return n}}function z6(e,t){Object.entries(e).forEach(([e,n])=>t(n,e))}function B6(e,t){return e.indexOf(t)!==-1}function V6(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return r}}var Ume=class{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return Hme(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}},Wme=e=>Object.prototype.toString.call(e).slice(8,-1),H6=e=>e===void 0,Gme=e=>e===null,U6=e=>typeof e!=`object`||!e||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,W6=e=>U6(e)&&Object.keys(e).length===0,G6=e=>Array.isArray(e),Kme=e=>typeof e==`string`,qme=e=>typeof e==`number`&&!isNaN(e),Jme=e=>typeof e==`boolean`,Yme=e=>e instanceof RegExp,K6=e=>e instanceof Map,q6=e=>e instanceof Set,J6=e=>Wme(e)===`Symbol`,Xme=e=>e instanceof Date&&!isNaN(e.valueOf()),Y6=e=>e instanceof Error,X6=e=>typeof e==`number`&&isNaN(e),Zme=e=>Jme(e)||Gme(e)||H6(e)||qme(e)||Kme(e)||J6(e),Qme=e=>typeof e==`bigint`,$me=e=>e===1/0||e===-1/0,ehe=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),the=e=>e instanceof URL,Z6=e=>e.replace(/\\/g,`\\\\`).replace(/\./g,`\\.`),Q6=e=>e.map(String).map(Z6).join(`.`),$6=(e,t)=>{let n=[],r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);if(!t&&a===`\\`){let t=e.charAt(i+1);if(t===`\\`){r+=`\\`,i++;continue}else if(t!==`.`)throw Error(`invalid path`)}if(a===`\\`&&e.charAt(i+1)===`.`){r+=`.`,i++;continue}if(a===`.`){n.push(r),r=``;continue}r+=a}let i=r;return n.push(i),n};function e8(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var t8=[e8(H6,`undefined`,()=>null,()=>void 0),e8(Qme,`bigint`,e=>e.toString(),e=>typeof BigInt<`u`?BigInt(e):(console.error(`Please add a BigInt polyfill.`),e)),e8(Xme,`Date`,e=>e.toISOString(),e=>new Date(e)),e8(Y6,`Error`,(e,t)=>{let n={name:e.name,message:e.message};return`cause`in e&&(n.cause=e.cause),t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n},(e,t)=>{let n=Error(e.message,{cause:e.cause});return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n}),e8(Yme,`regexp`,e=>``+e,e=>{let t=e.slice(1,e.lastIndexOf(`/`)),n=e.slice(e.lastIndexOf(`/`)+1);return new RegExp(t,n)}),e8(q6,`set`,e=>[...e.values()],e=>new Set(e)),e8(K6,`map`,e=>[...e.entries()],e=>new Map(e)),e8(e=>X6(e)||$me(e),`number`,e=>X6(e)?`NaN`:e>0?`Infinity`:`-Infinity`,Number),e8(e=>e===0&&1/e==-1/0,`number`,()=>`-0`,Number),e8(the,`URL`,e=>e.toString(),e=>new URL(e))];function n8(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var r8=n8((e,t)=>J6(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>[`symbol`,t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{let r=n.symbolRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown symbol`);return r}),nhe=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),i8=n8(ehe,e=>[`typed-array`,e.constructor.name],e=>[...e],(e,t)=>{let n=nhe[t[1]];if(!n)throw Error(`Trying to deserialize unknown typed array`);return new n(e)});function a8(e,t){return e?.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var o8=n8(a8,(e,t)=>[`class`,t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{let n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};let r={};return n.forEach(t=>{r[t]=e[t]}),r},(e,t,n)=>{let r=n.classRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(r.prototype),e)}),s8=n8((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>[`custom`,t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{let r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw Error(`Trying to deserialize unknown custom value`);return r.deserialize(e)}),rhe=[o8,r8,s8,i8],c8=(e,t)=>{let n=V6(rhe,n=>n.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};let r=V6(t8,n=>n.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},l8={};t8.forEach(e=>{l8[e.annotation]=e});var ihe=(e,t,n)=>{if(G6(t))switch(t[0]){case`symbol`:return r8.untransform(e,t,n);case`class`:return o8.untransform(e,t,n);case`custom`:return s8.untransform(e,t,n);case`typed-array`:return i8.untransform(e,t,n);default:throw Error(`Unknown transformation: `+t)}else{let r=l8[t];if(!r)throw Error(`Unknown transformation: `+t);return r.untransform(e,n)}},u8=(e,t)=>{if(t>e.size)throw Error(`index out of bounds`);let n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function d8(e){if(B6(e,`__proto__`))throw Error(`__proto__ is not allowed as a property`);if(B6(e,`prototype`))throw Error(`prototype is not allowed as a property`);if(B6(e,`constructor`))throw Error(`constructor is not allowed as a property`)}var ahe=(e,t)=>{d8(t);for(let n=0;n<t.length;n++){let r=t[n];if(q6(e))e=u8(e,+r);else if(K6(e)){let i=+r,a=+t[++n]==0?`key`:`value`,o=u8(e,i);switch(a){case`key`:e=o;break;case`value`:e=e.get(o);break}}else e=e[r]}return e},f8=(e,t,n)=>{if(d8(t),t.length===0)return n(e);let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];if(G6(r)){let e=+n;r=r[e]}else if(U6(r))r=r[n];else if(q6(r)){let e=+n;r=u8(r,e)}else if(K6(r)){if(e===t.length-2)break;let i=+n,a=+t[++e]==0?`key`:`value`,o=u8(r,i);switch(a){case`key`:r=o;break;case`value`:r=r.get(o);break}}}let i=t[t.length-1];if(G6(r)?r[+i]=n(r[+i]):U6(r)&&(r[i]=n(r[i])),q6(r)){let e=u8(r,+i),t=n(e);e!==t&&(r.delete(e),r.add(t))}if(K6(r)){let e=+t[t.length-2],a=u8(r,e);switch(+i==0?`key`:`value`){case`key`:{let e=n(a);r.set(e,r.get(a)),e!==a&&r.delete(a);break}case`value`:r.set(a,n(r.get(a)));break}}return e},p8=e=>e<1;function m8(e,t,n,r=[]){if(!e)return;let i=p8(n);if(!G6(e)){z6(e,(e,a)=>m8(e,t,n,[...r,...$6(a,i)]));return}let[a,o]=e;o&&z6(o,(e,a)=>{m8(e,t,n,[...r,...$6(a,i)])}),t(a,r)}function ohe(e,t,n,r){return m8(t,(t,n)=>{e=f8(e,n,e=>ihe(e,t,r))},n),e}function she(e,t,n){let r=p8(n);function i(t,n){let i=ahe(e,$6(n,r));t.map(e=>$6(e,r)).forEach(t=>{e=f8(e,t,()=>i)})}if(G6(t)){let[n,a]=t;n.forEach(t=>{e=f8(e,$6(t,r),()=>e)}),a&&z6(a,i)}else z6(t,i);return e}var che=(e,t)=>U6(e)||G6(e)||K6(e)||q6(e)||Y6(e)||a8(e,t);function lhe(e,t,n){let r=n.get(e);r?r.push(t):n.set(e,[t])}function uhe(e,t){let n={},r;return e.forEach(e=>{if(e.length<=1)return;t||(e=e.map(e=>e.map(String)).sort((e,t)=>e.length-t.length));let[i,...a]=e;i.length===0?r=a.map(Q6):n[Q6(i)]=a.map(Q6)}),r?W6(n)?[r]:[r,n]:W6(n)?void 0:n}var h8=(e,t,n,r,i=[],a=[],o=new Map)=>{let s=Zme(e);if(!s){lhe(e,i,t);let n=o.get(e);if(n)return r?{transformedValue:null}:n}if(!che(e,n)){let t=c8(e,n),r=t?{transformedValue:t.value,annotations:[t.type]}:{transformedValue:e};return s||o.set(e,r),r}if(B6(a,e))return{transformedValue:null};let c=c8(e,n),l=c?.value??e,u=G6(l)?[]:{},d={};z6(l,(s,c)=>{if(c===`__proto__`||c===`constructor`||c===`prototype`)throw Error(`Detected property ${c}. This is a prototype pollution risk, please remove it from your object.`);let l=h8(s,t,n,r,[...i,c],[...a,e],o);u[c]=l.transformedValue,G6(l.annotations)?d[Z6(c)]=l.annotations:U6(l.annotations)&&z6(l.annotations,(e,t)=>{d[Z6(c)+`.`+t]=e})});let f=W6(d)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,d]:d};return s||o.set(e,f),f};function g8(e){return Object.prototype.toString.call(e).slice(8,-1)}function _8(e){return g8(e)===`Array`}function dhe(e){if(g8(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function fhe(e,t,n,r,i){let a={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;a===`enumerable`&&(e[t]=n),i&&a===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function v8(e,t={}){if(_8(e))return e.map(e=>v8(e,t));if(!dhe(e))return e;let n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((n,r)=>{if(r===`__proto__`||_8(t.props)&&!t.props.includes(r))return n;let i=e[r];return fhe(n,r,v8(i,t),e,t.nonenumerable),n},{})}var y8=class{constructor({dedupe:e=!1}={}){this.classRegistry=new Bme,this.symbolRegistry=new R6(e=>e.description??``),this.customTransformerRegistry=new Ume,this.allowedErrorProps=[],this.dedupe=e}serialize(e){let t=new Map,n=h8(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});let i=uhe(t,this.dedupe);return i&&(r.meta={...r.meta,referentialEqualities:i}),r.meta&&(r.meta.v=1),r}deserialize(e,t){let{json:n,meta:r}=e,i=t?.inPlace?n:v8(n);return r?.values&&(i=ohe(i,r.values,r.v??0,this)),r?.referentialEqualities&&(i=she(i,r.referentialEqualities,r.v??0)),i}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e),{inPlace:!0})}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};y8.defaultInstance=new y8,y8.serialize=y8.defaultInstance.serialize.bind(y8.defaultInstance),y8.deserialize=y8.defaultInstance.deserialize.bind(y8.defaultInstance),y8.stringify=y8.defaultInstance.stringify.bind(y8.defaultInstance),y8.parse=y8.defaultInstance.parse.bind(y8.defaultInstance),y8.registerClass=y8.defaultInstance.registerClass.bind(y8.defaultInstance),y8.registerSymbol=y8.defaultInstance.registerSymbol.bind(y8.defaultInstance),y8.registerCustom=y8.defaultInstance.registerCustom.bind(y8.defaultInstance),y8.allowErrorProps=y8.defaultInstance.allowErrorProps.bind(y8.defaultInstance),y8.serialize,y8.deserialize,y8.stringify,y8.parse,y8.registerClass,y8.registerCustom,y8.registerSymbol,y8.allowErrorProps,(0,s.createContext)(null),(0,s.createContext)(null),c.AddonStarted,c.AddonInstalled,c.AddonRestarted,c.AddonUpdated,c.AddonStopped,c.AddonUninstalled,c.AddonCrashed,c.AddonError,c.DetectionPhaseTransition,c.DetectionResult,c.DetectionEvent,c.DetectionCameraNative,c.ProviderMotion,c.MotionOnMotionChanged,c.MotionAnalysis,c.MotionZonesRaw,c.ProviderDetection,c.PipelineAudioInferenceResult,c.AgentOnline,c.AgentOffline,c.DeviceRegistered,c.DeviceUnregistered,c.DeviceStateChanged,c.EventEmitted;var phe=Object.freeze([...d()]),mhe=Object.freeze([c.PipelineCameraMetricsSnapshot,c.PipelineRunnerLoadSnapshot,c.PipelineEngineMetricsSnapshot,c.PipelineInferenceResult,c.PipelineTrace,c.PipelineProgress,c.StreamBrokerMetricsSnapshot,c.MetricsNodeResourcesSnapshot,c.MetricsNodeProcessesSnapshot,c.ClusterTopologySnapshot,c.MotionAnalysis,c.MotionZonesRaw,c.DetectionResult,c.PipelineAudioInferenceResult,c.PlatformProbePhase,c.BenchmarkProgress,c.ModelDownloadProgress,c.ProviderMotion]),hhe=new Set(mhe);Object.freeze(phe.filter(e=>!hhe.has(e))),Object.freeze([...new Set(sH.filter(e=>e.scope===`device`).map(e=>e.name))].toSorted());function b8({value:e,unit:n,onDelta:r}){let i=t();return(0,q.jsxs)(`div`,{className:`flex h-8 w-full overflow-hidden rounded-lg border border-border bg-surface`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":i(`uiLibrary.deviceControlAtoms.decrement`,`Decrement`),className:`w-9 shrink-0 bg-surface-hover text-base text-foreground`,onClick:()=>r(-1),children:`−`}),(0,q.jsxs)(`span`,{className:`flex flex-1 items-center justify-center gap-0.5 border-x border-border/60 text-sm`,children:[e,n?(0,q.jsx)(`span`,{"data-unit":!0,className:`text-[11px] text-foreground-subtle`,children:n}):null]}),(0,q.jsx)(`button`,{type:`button`,"aria-label":i(`uiLibrary.deviceControlAtoms.increment`,`Increment`),className:`w-9 shrink-0 bg-surface-hover text-base text-foreground`,onClick:()=>r(1),children:`+`})]})}function ghe({on:e,targetLabel:t,onConfirm:n}){let r=(0,s.useRef)(null),i=(0,s.useRef)(!1);return(0,q.jsxs)(`div`,{className:Z(`relative h-12 w-full rounded-full border flex items-center`,e?`bg-emerald-50 border-emerald-200 pl-4`:`bg-amber-50 border-amber-200 justify-end pr-4`),children:[(0,q.jsx)(`span`,{className:`text-xs font-semibold opacity-60`,children:t}),(0,q.jsx)(`span`,{"data-testid":`slide-thumb`,className:`absolute top-1 left-1 h-10 w-14 rounded-[19px] bg-surface shadow flex items-center justify-center`,onPointerDown:e=>{e.currentTarget.setPointerCapture?.(e.pointerId),r.current=e.clientX,i.current=!1},onPointerMove:e=>{r.current!==null&&Math.abs(e.clientX-r.current)>40&&(i.current=!0)},onPointerUp:()=>{i.current&&n(),i.current=!1,r.current=null},onPointerCancel:()=>{i.current=!1,r.current=null}})]})}var _he=2,x8=270,vhe=315;function yhe(e){let t=(e-135+360)%360;return t>x8?+(t<=vhe):t/x8}function S8({fraction:e,color:t,knobTopPx:n,onDragFraction:r}){let i=-135+e*270,a=(0,s.useRef)(null),[o,c]=(0,s.useState)(!1),l=r!==void 0,u=n??_he,d=e=>{r!==void 0&&(e.preventDefault(),e.stopPropagation(),e.currentTarget.setPointerCapture?.(e.pointerId),c(!0))},f=e=>{if(r===void 0||!o)return;let t=a.current;if(t===null)return;let n=t.getBoundingClientRect(),i=n.left+n.width/2,s=n.top+n.height/2;r(yhe(Math.atan2(e.clientY-s,e.clientX-i)*180/Math.PI))},p=e=>{r!==void 0&&(e.currentTarget.releasePointerCapture?.(e.pointerId),c(!1))};return(0,q.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:{transform:`rotate(${i}deg)`},children:(0,q.jsx)(`div`,{className:Z(`absolute left-1/2 h-5 w-5 -translate-x-1/2 rounded-full bg-white shadow`,l&&(o?`cursor-grabbing`:`cursor-grab`)),style:{top:u,border:`3px solid ${t}`},...l?{onPointerDown:d,onPointerMove:f,onPointerUp:p,onPointerCancel:p}:{}})})}function C8({fraction:e,color:t,readOnly:n}){return(0,q.jsxs)(`div`,{className:`relative h-2 w-full rounded-full bg-border`,children:[(0,q.jsx)(`div`,{className:`absolute left-0 top-0 h-2 rounded-full`,style:{width:`${e*100}%`,background:t??`var(--color-primary)`}}),n!==!0&&(0,q.jsx)(`div`,{className:`absolute -top-1 h-4 w-4 rounded-full bg-white shadow`,style:{left:`calc(${e*100}% - 8px)`}})]})}var w8=150,T8=64,bhe=w8/2,E8=2*Math.PI*T8,D8=270/360*E8;function O8({fraction:e,color:t,children:n,onDragFraction:r}){let i=Math.min(1,Math.max(0,e)),a=w8/2,o=w8/2,s=E8-D8,c=i*D8;return(0,q.jsxs)(`div`,{className:`relative`,style:{width:w8,height:w8},children:[(0,q.jsxs)(`svg`,{width:w8,height:w8,viewBox:`0 0 ${w8} ${w8}`,"aria-hidden":`true`,className:`absolute inset-0`,style:{transform:`rotate(135deg)`},children:[(0,q.jsx)(`circle`,{cx:a,cy:o,r:T8,fill:`none`,stroke:`var(--color-border)`,strokeWidth:11,strokeDasharray:`${D8} ${s}`,strokeLinecap:`round`}),(0,q.jsx)(`circle`,{cx:a,cy:o,r:T8,fill:`none`,stroke:t,strokeWidth:11,strokeDasharray:`${c} ${E8-c}`,strokeLinecap:`round`})]}),(0,q.jsx)(`div`,{"data-testid":`arc-knob`,children:(0,q.jsx)(S8,{fraction:i,color:t,knobTopPx:bhe-T8-10,...r===void 0?{}:{onDragFraction:r}})}),(0,q.jsx)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-0.5 pointer-events-none`,children:n})]})}function k8({on:e,busy:n,onToggle:r}){let i=t(),a={transform:e?`translateX(30px)`:`translateX(3px)`};return(0,q.jsx)(`button`,{type:`button`,"aria-pressed":e,title:e?i(`uiLibrary.tapToggle.turnOff`,`Turn off`):i(`uiLibrary.tapToggle.turnOn`,`Turn on`),disabled:n,onClick:e=>{e.stopPropagation(),r()},className:Z(`relative inline-flex h-8 w-16 items-center rounded-full border transition-colors flex-shrink-0`,e?`bg-success/30 border-success/50`:`bg-surface-hover border-border`,n&&`opacity-60 cursor-not-allowed`),children:(0,q.jsx)(`span`,{className:Z(`absolute h-6 w-6 rounded-full transition-all`,e?`bg-success`:`bg-foreground-subtle`),style:a})})}function xhe({trpc:e,deviceId:n}){let r=t(),i=h3(e,n),a=i===null?void 0:i.button;if(a===void 0)return null;let o=()=>{a.press({deviceId:n})};return(0,q.jsxs)(`button`,{type:`button`,"aria-label":r(`uiLibrary.buttonControl.press`,`Press`),title:r(`uiLibrary.buttonControl.press`,`Press`),onClick:e=>{e.stopPropagation(),o()},className:Z(`inline-flex h-5 items-center gap-1 rounded px-1.5 text-xs`,`bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`),children:[(0,q.jsx)(lG,{className:`h-3 w-3`}),(0,q.jsx)(`span`,{children:r(`uiLibrary.buttonControl.press`,`Press`)})]})}function She({trpc:e,deviceId:n}){let r=t(),i=h3(e,n),a=i===null?void 0:i.button;return a===void 0?null:(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 rounded-lg border border-border bg-surface p-6`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":r(`uiLibrary.buttonControl.pressButton`,`Press button`),onClick:()=>{a.press({deviceId:n})},className:Z(`inline-flex h-14 w-14 items-center justify-center rounded-full`,`bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,`shadow-md`),children:(0,q.jsx)(lG,{className:`h-6 w-6`})}),(0,q.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:r(`uiLibrary.buttonControl.press`,`Press`)})]})}var Che=4e3,whe=3e4;function A8(e){if(e!==void 0)return typeof e==`object`&&e&&`lastChangedAt`in e&&typeof e.lastChangedAt==`number`?e.lastChangedAt:e}function j8(e,n){let r=n?.enabled!==!1,i=n?.timeoutMs??Che,[a,o]=(0,s.useState)(void 0),c=(0,s.useRef)(void 0),l=(0,s.useRef)(void 0),u=(0,s.useRef)(!1),d=(0,s.useRef)(0),f=(0,s.useRef)(0),p=t(),m=mQ(),h=(0,s.useRef)(!1),g=(0,s.useRef)(e);g.current=e;let _=(0,s.useRef)(void 0),v=(0,s.useCallback)(()=>{_.current!==void 0&&(clearTimeout(_.current),_.current=void 0),c.current=void 0,u.current=!1,l.current=void 0,d.current=0,o(void 0)},[]);(0,s.useEffect)(()=>{if(!r||!u.current||d.current>0)return;let t=A8(e),n=l.current;t!==void 0&&t!==n&&v()}),(0,s.useEffect)(()=>()=>{_.current!==void 0&&clearTimeout(_.current)},[]);let y=(0,s.useCallback)((t,n)=>{if(!r)return;_.current!==void 0&&(clearTimeout(_.current),_.current=void 0);let i=c.current??e;if(i!==void 0){let e={...i,...t};c.current=e,o(e)}l.current=A8(e),u.current=!0,_.current=setTimeout(v,n)},[r,e,v]),b=(0,s.useCallback)(e=>y(e,i),[y,i]),x=(0,s.useCallback)(e=>{let t=e instanceof Error?e.message:String(e);if(m===void 0){console.error(`Optimistic command refused:`,t);return}h.current||(h.current=!0,m({title:p(`uiLibrary.optimistic.refusedTitle`,`The device refused the change`),message:t,variant:`danger`}).finally(()=>{h.current=!1}))},[m,p]),S=(0,s.useCallback)((e,t,n=x)=>{let a=new Promise(e=>e(t()));if(!r){a.catch(e=>n(e));return}let o=++f.current;y(e,whe),d.current+=1,a.then(()=>{if(d.current=Math.max(0,d.current-1),d.current>0||!u.current)return;let e=A8(g.current);if(e!==void 0&&e!==l.current){v();return}_.current!==void 0&&clearTimeout(_.current),_.current=setTimeout(v,i)},e=>{o===f.current?v():d.current=Math.max(0,d.current-1),n(e)})},[r,y,v,i,x]);return r?{display:a===void 0?e:a,applyOptimistic:b,rollback:v,applyOptimisticAction:S}:{display:e,applyOptimistic:()=>{},rollback:()=>{},applyOptimisticAction:(e,t,n=x)=>{new Promise(e=>e(t())).catch(e=>n(e))}}}function The(e){return e instanceof Error?e.message:String(e)}function Ehe({trpc:e,deviceId:n,layout:r,optimistic:i,features:a}){let o=t(),{cap:c,slice:l,available:u}=v3({trpc:e,deviceId:n,cap:e=>e.lockControl,slice:e=>e.state.lockControl}),{display:d,applyOptimistic:f,applyOptimisticAction:m,rollback:h}=j8(l,{enabled:i??!0}),[g,_]=(0,s.useState)(null),[v,y]=(0,s.useState)(!1),[b,x]=(0,s.useState)(null);if(d===void 0)return null;let S=d.state===`locked`||d.state===`locking`,ee=!u||d.state===`jammed`,C=d.state===`door-open`,te=ee||C,ne=a?.includes(p.LockOpen)===!0,re=r===`compact`,w=()=>{m({state:`locking`},()=>c?.lock({}))},ie=()=>{m({state:`unlocking`},()=>c?.unlock({}))},ae=()=>{c?.open({})},oe=()=>{if(!te){if(!S){w();return}if(re){x(null),_(`unlock`);return}ie()}},se=()=>{if(!ee){if(re){x(null),_(`open`);return}ae()}},ce=()=>{v||_(null)},le=async()=>{if(!(v||g===null)){x(null),y(!0);try{g===`unlock`?(f({state:`unlocking`}),await c?.unlock({})):await c?.open({}),_(null)}catch(e){h(),x(The(e))}finally{y(!1)}}},T=S?o(`uiLibrary.lockPanel.unlock`,`Unlock`):o(`uiLibrary.lockPanel.lock`,`Lock`),E=g===`open`?o(`uiLibrary.lockPanel.openDoorTitle`,`Open door?`):o(`uiLibrary.lockPanel.unlockTitle`,`Unlock device?`),ue=g===`open`?o(`uiLibrary.lockPanel.openDoorBody`,`This will release the latch and open the door.`):o(`uiLibrary.lockPanel.unlockBody`,`This will unlock the device.`),de=g===`open`?o(`uiLibrary.lockPanel.confirmOpen`,`Confirm open`):o(`uiLibrary.lockPanel.confirmUnlock`,`Confirm unlock`),fe=g===`open`?(0,q.jsx)(kW,{className:`h-4 w-4 text-amber-400`}):(0,q.jsx)(QW,{className:`h-4 w-4 text-amber-400`});return(0,q.jsxs)(`div`,{className:Z(`inline-flex items-center`,r===`full`?`gap-2`:`gap-1`),children:[(0,q.jsxs)(`button`,{type:`button`,"aria-label":T,title:d.state===`jammed`?o(`uiLibrary.lockPanel.jammed`,`Jammed`):C?o(`uiLibrary.lockPanel.closeDoorFirst`,`Close the door first`):T,disabled:te,onClick:e=>{e.stopPropagation(),oe()},className:Z(`inline-flex items-center justify-center rounded transition-colors`,r===`full`?`h-7 gap-1.5 px-2 text-xs`:`h-5 w-5`,S?`text-success`:`text-warning`,te&&`opacity-40 cursor-not-allowed`,`hover:bg-surface-hover`),children:[S?(0,q.jsx)($W,{className:`h-3.5 w-3.5`}):(0,q.jsx)(QW,{className:`h-3.5 w-3.5`}),r===`full`&&(0,q.jsx)(`span`,{children:d.state})]}),ne&&(0,q.jsxs)(`button`,{type:`button`,"aria-label":o(`uiLibrary.lockPanel.openDoor`,`Open door`),title:o(`uiLibrary.lockPanel.openDoor`,`Open door`),disabled:ee,onClick:e=>{e.stopPropagation(),se()},className:Z(`inline-flex items-center justify-center rounded transition-colors`,r===`full`?`h-7 gap-1.5 px-2 text-xs`:`h-5 w-5`,`text-foreground-muted`,ee&&`opacity-40 cursor-not-allowed`,`hover:bg-surface-hover`),children:[(0,q.jsx)(kW,{className:`h-3.5 w-3.5`}),r===`full`&&(0,q.jsx)(`span`,{children:o(`uiLibrary.lockPanel.open`,`Open`)})]}),re&&(0,q.jsx)(S3,{open:g!==null,onOpenChange:e=>{e||ce()},children:(0,q.jsxs)(C3,{width:`sm`,onClick:e=>e.stopPropagation(),children:[(0,q.jsxs)(w3,{children:[(0,q.jsxs)(E3,{className:`flex items-center gap-2`,children:[fe,E]}),(0,q.jsx)(D3,{children:ue})]}),b!==null&&(0,q.jsx)(`div`,{className:`mt-2 px-3 py-2 rounded border border-danger/40 bg-danger/10 text-xs text-danger`,children:b}),(0,q.jsxs)(T3,{children:[(0,q.jsx)(uQ,{type:`button`,variant:`ghost`,size:`sm`,disabled:v,onClick:()=>ce(),children:o(`uiLibrary.lockPanel.cancel`,`Cancel`)}),(0,q.jsxs)(uQ,{type:`button`,variant:`danger`,size:`sm`,"aria-label":de,disabled:v,onClick:()=>{le()},children:[v&&(0,q.jsx)(ZW,{className:`h-3.5 w-3.5 animate-spin`}),de]})]})]})})]})}function M8({trpc:e,deviceId:n,optimistic:r}){let i=t(),{cap:a,slice:o,available:c}=v3({trpc:e,deviceId:n,cap:e=>e.switch,slice:e=>e.state.switch}),{display:l,applyOptimistic:u,rollback:d}=j8(o,{enabled:r??!0}),[f,p]=(0,s.useState)(!1);if(l===void 0)return null;let m=l.on===!0,h=f||!c,g={transform:m?`translateX(14px)`:`translateX(2px)`},_=async()=>{if(h||!a)return;let e=!m;u({on:e}),p(!0);try{await a.setState({on:e})}catch{d()}finally{p(!1)}};return(0,q.jsx)(`button`,{type:`button`,"aria-pressed":m,title:m?i(`uiLibrary.switchPanel.turnOff`,`Turn off`):i(`uiLibrary.switchPanel.turnOn`,`Turn on`),disabled:h,onClick:e=>{e.stopPropagation(),_()},className:Z(`relative inline-flex h-4 w-7 items-center rounded-full border transition-colors flex-shrink-0`,m?`bg-success/30 border-success/50`:`bg-surface-hover border-border`,h&&`opacity-60`),children:(0,q.jsx)(`span`,{className:Z(`absolute h-3 w-3 rounded-full transition-all`,m?`bg-success`:`bg-foreground-subtle`),style:g})})}function Dhe({trpc:e,deviceId:n,layout:r,optimistic:i}){let a=t(),{cap:o,slice:s,available:c}=v3({trpc:e,deviceId:n,cap:e=>e.brightness,slice:e=>e.state.brightness}),{display:l,applyOptimisticAction:u}=j8(s,{enabled:i??!0});if(l===void 0)return null;let d=!c;return(0,q.jsxs)(`label`,{className:Z(`flex items-center gap-2 text-xs text-foreground-subtle`,r===`compact`&&`min-w-[140px]`),children:[(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.brightnessPanel.brightness`,`Brightness`),type:`range`,min:0,max:100,step:1,value:l.level,disabled:d,onChange:e=>{let t=Number(e.target.value);d||u({level:t},()=>o?.setBrightness({level:t}))}}),(0,q.jsxs)(`span`,{className:`tabular-nums w-8 text-right`,children:[l.level,`%`]})]})}function Ohe({trpc:e,deviceId:n,features:r,layout:i,optimistic:a}){let o=t(),{cap:s,slice:c,available:l}=v3({trpc:e,deviceId:n,cap:e=>e.fanControl,slice:e=>e.state.fanControl}),{display:u,applyOptimisticAction:d}=j8(c,{enabled:a??!0});if(u===void 0)return null;let f=!l,p=r??[],m=p.includes(`fan-speed`),h=p.includes(`fan-preset`),g=c?.percentageStep!=null&&c.percentageStep>0?c.percentageStep:1;return(0,q.jsxs)(`div`,{className:Z(`inline-flex items-center gap-2`,i===`full`&&`flex-col items-stretch`),children:[m&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.fanPanel.speed`,`Fan speed`),type:`range`,min:0,max:100,step:g,value:u.speed??0,disabled:f,onChange:e=>{let t=Number(e.target.value),n=Math.min(100,Math.max(0,Math.round(t/g)*g));f||d({speed:n},()=>s?.setPercentage({speed:n}))}}),(0,q.jsxs)(`span`,{className:`tabular-nums w-8 text-right`,children:[u.speed??`—`,`%`]})]}),h&&u.availablePresets.length>0&&(0,q.jsx)(`div`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:(0,q.jsxs)(nQ,{"aria-label":o(`uiLibrary.fanPanel.preset`,`Fan preset`),value:u.preset,disabled:f,onChange:e=>{let t=e.target.value;!f&&t&&d({preset:t},()=>s?.setPreset({preset:t}))},className:`bg-surface border border-border rounded px-1 py-0.5`,children:[(0,q.jsx)(`option`,{value:``,disabled:!0,children:`—`}),u.availablePresets.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))]})})]})}function N8(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:1}var khe=2,P8=3;function F8(e){if(!Number.isFinite(e))return 0;for(let t=0;t<P8;t+=1)if(Math.abs(e*10**t-Math.round(e*10**t))<1e-9)return t;return P8}function Ahe(e){let t=N8(e.tempStep),n=[e.minTemp,e.maxTemp].filter(e=>typeof e==`number`&&Number.isFinite(e)),r=n.length===0?khe:Math.max(...n.map(e=>String(Math.trunc(Math.abs(e))).length)),i=+!!n.some(e=>e<0),a=Math.max(F8(t),...n.map(F8));return i+r+(a>0?1+a:0)}var jhe={1:`min-w-[1ch]`,2:`min-w-[2ch]`,3:`min-w-[3ch]`,4:`min-w-[4ch]`,5:`min-w-[5ch]`,6:`min-w-[6ch]`,7:`min-w-[7ch]`,8:`min-w-[8ch]`};function I8(e){return`${jhe[Math.min(Math.max(Ahe(e),1),8)]} text-center`}function L8(e,t,n){let r=e+t*N8(n.tempStep),i=n.minTemp,a=n.maxTemp;return typeof i==`number`&&Number.isFinite(i)&&(r=Math.max(r,i)),typeof a==`number`&&Number.isFinite(a)&&(r=Math.min(r,a)),r}var R8={heat:`border-amber-400 bg-amber-50 dark:bg-amber-950`,cool:`border-blue-400 bg-blue-50 dark:bg-blue-950`,auto:`border-purple-400 bg-purple-50 dark:bg-purple-950`,heat_cool:`border-fuchsia-400 bg-fuchsia-50 dark:bg-fuchsia-950`,fan_only:`border-slate-400 bg-slate-50 dark:bg-slate-950`,dry:`border-cyan-400 bg-cyan-50 dark:bg-cyan-950`,off:`border-zinc-300 bg-zinc-50 dark:bg-zinc-900`},z8={heat:`text-amber-600 dark:text-amber-400`,cool:`text-blue-600 dark:text-blue-400`,auto:`text-purple-600 dark:text-purple-400`,heat_cool:`text-fuchsia-600 dark:text-fuchsia-400`,fan_only:`text-slate-600 dark:text-slate-400`,dry:`text-cyan-600 dark:text-cyan-400`,off:`text-foreground`},Mhe={heat:`bg-amber-400 text-amber-950`,cool:`bg-blue-400 text-blue-950`,auto:`bg-purple-400 text-purple-950`,heat_cool:`bg-fuchsia-400 text-fuchsia-950`,fan_only:`bg-slate-400 text-slate-950`,dry:`bg-cyan-400 text-cyan-950`,off:`bg-zinc-300 text-zinc-700`};function Nhe({trpc:e,deviceId:n,features:r,layout:i,optimistic:a}){let o=t(),{cap:s,slice:c,available:l}=v3({trpc:e,deviceId:n,cap:e=>e.climateControl,slice:e=>e.state.climateControl}),{display:u,applyOptimisticAction:d}=j8(c,{enabled:a??!0});if(s===void 0||u===void 0)return null;let f=!l;if(i===`compact`)return(0,q.jsxs)(`div`,{"data-mode":u.mode,className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(`span`,{className:Z(`text-xs tabular-nums font-medium`,z8[u.mode]),children:u.target===null?u.currentTemp===null?null:(0,q.jsxs)(`span`,{className:`text-foreground-subtle`,children:[u.currentTemp,`°`]}):(0,q.jsxs)(q.Fragment,{children:[u.target,`°`,u.currentTemp!==null&&(0,q.jsxs)(`span`,{className:`text-foreground-subtle font-normal`,children:[` `,`(`,u.currentTemp,`°)`]})]})}),u.target!==null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.climatePanel.decreaseTarget`,`Decrease target`),disabled:f,onClick:e=>{if(e.stopPropagation(),!f&&u.target!==null){let e=L8(u.target,-1,u);d({target:e},()=>s.setTarget({target:e}))}},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,f&&`opacity-40 cursor-not-allowed`),children:`−`}),(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.climatePanel.increaseTarget`,`Increase target`),disabled:f,onClick:e=>{if(e.stopPropagation(),!f&&u.target!==null){let e=L8(u.target,1,u);d({target:e},()=>s.setTarget({target:e}))}},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,f&&`opacity-40 cursor-not-allowed`),children:`+`})]}),(0,q.jsx)(nQ,{"aria-label":o(`uiLibrary.climatePanel.mode`,`Mode`),bare:!0,value:u.mode,disabled:f,onChange:e=>{e.stopPropagation();let t=e.target.value;f||d({mode:t},()=>s.setMode({mode:t}))},className:Z(`bg-transparent px-0.5 text-xs text-foreground-subtle hover:text-foreground cursor-pointer`,f&&`opacity-40 cursor-not-allowed`),children:u.availableModes.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))})]});let p=u.mode===`heat_cool`||u.targetLow!==null&&u.targetHigh!==null,m=!p&&u.target!==null;return(0,q.jsxs)(`div`,{"data-mode":u.mode,className:Z(`inline-flex items-center gap-2 rounded border px-2 py-1 transition-colors`,R8[u.mode],`flex-col items-stretch gap-3`),children:[(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-1 text-xs tabular-nums`,children:[u.currentTemp!==null&&(0,q.jsxs)(`span`,{className:`text-foreground-subtle`,children:[u.currentTemp,`°`]}),m&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-foreground-subtle`,children:`→`}),(0,q.jsxs)(`span`,{className:`font-medium`,children:[u.target,`°`]}),(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.climatePanel.decreaseTarget`,`Decrease target`),disabled:f,onClick:e=>{if(e.stopPropagation(),!f&&u.target!==null){let e=L8(u.target,-1,u);d({target:e},()=>s.setTarget({target:e}))}},className:Z(`inline-flex h-4 w-4 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,f&&`opacity-40 cursor-not-allowed`),children:`−`}),(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.climatePanel.increaseTarget`,`Increase target`),disabled:f,onClick:e=>{if(e.stopPropagation(),!f&&u.target!==null){let e=L8(u.target,1,u);d({target:e},()=>s.setTarget({target:e}))}},className:Z(`inline-flex h-4 w-4 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,f&&`opacity-40 cursor-not-allowed`),children:`+`})]})]}),(0,q.jsx)(`div`,{className:`inline-flex items-center gap-0.5 rounded bg-surface-subtle p-0.5`,children:u.availableModes.map(e=>(0,q.jsx)(`button`,{type:`button`,"aria-label":e,disabled:f,onClick:t=>{t.stopPropagation(),f||d({mode:e},()=>s.setMode({mode:e}))},className:Z(`rounded px-1.5 py-0.5 text-xs transition-colors`,e===u.mode?Mhe[e]:`text-foreground-subtle hover:text-foreground hover:bg-surface-hover`,f&&`opacity-40 cursor-not-allowed`),children:e},e))}),p&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.low`,`Low`)}),(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.climatePanel.targetLow`,`Target low`),type:`number`,step:.5,value:u.targetLow??``,disabled:f,onChange:e=>{if(!f){let t=Number(e.target.value),n=u.targetHigh??t;d({targetLow:t},()=>s.setTargetRange({targetLow:t,targetHigh:n}))}},className:`w-14 rounded border border-border bg-surface px-1 py-0.5 tabular-nums`})]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.high`,`High`)}),(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.climatePanel.targetHigh`,`Target high`),type:`number`,step:.5,value:u.targetHigh??``,disabled:f,onChange:e=>{if(!f){let t=Number(e.target.value),n=u.targetLow??t;d({targetHigh:t},()=>s.setTargetRange({targetLow:n,targetHigh:t}))}},className:`w-14 rounded border border-border bg-surface px-1 py-0.5 tabular-nums`})]})]}),u.availableFanModes.length>0&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.fan`,`Fan`)}),(0,q.jsxs)(nQ,{"aria-label":o(`uiLibrary.climatePanel.fanMode`,`Fan mode`),value:u.fanMode,disabled:f,onChange:e=>{let t=e.target.value;!f&&t&&d({fanMode:t},()=>s.setFanMode({fanMode:t}))},className:`rounded border border-border bg-surface px-1 py-0.5`,children:[(0,q.jsx)(`option`,{value:``,disabled:!0,children:`—`}),u.availableFanModes.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))]})]}),u.availablePresets.length>0&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.preset`,`Preset`)}),(0,q.jsxs)(nQ,{"aria-label":o(`uiLibrary.climatePanel.preset`,`Preset`),value:u.preset,disabled:f,onChange:e=>{let t=e.target.value;!f&&t&&d({preset:t},()=>s.setPreset({preset:t}))},className:`rounded border border-border bg-surface px-1 py-0.5`,children:[(0,q.jsx)(`option`,{value:``,disabled:!0,children:`—`}),u.availablePresets.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))]})]}),u.targetHumidity!==null&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.humidity`,`Humidity`)}),(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.climatePanel.targetHumidity`,`Target humidity`),type:`range`,min:0,max:100,step:1,value:u.targetHumidity,disabled:f,onChange:e=>{let t=Number(e.target.value);f||d({targetHumidity:t},()=>s.setTargetHumidity({targetHumidity:t}))}}),(0,q.jsxs)(`span`,{className:`tabular-nums w-8 text-right`,children:[u.targetHumidity,`%`]})]})]})}var Phe={playing:`border-success/50 bg-success/10`,paused:`border-warning/50 bg-warning/10`,buffering:`border-info/50 bg-info/10`,on:`border-foreground-subtle/40 bg-surface-hover`,idle:`border-foreground-subtle/40 bg-surface-hover`,off:`border-border bg-surface`,standby:`border-border bg-surface`},Fhe={playing:`bg-success`,paused:`bg-warning`,buffering:`bg-info`,on:`bg-foreground-subtle`,idle:`bg-foreground-subtle`,off:`bg-border`,standby:`bg-border`},B8=[`off`,`all`,`one`];function Ihe(e){return B8.includes(e)}function Lhe(e,t){switch(t){case`off`:return e(`uiLibrary.mediaPlayerPanel.repeatOff`,`Off`);case`all`:return e(`uiLibrary.mediaPlayerPanel.repeatAll`,`All`);case`one`:return e(`uiLibrary.mediaPlayerPanel.repeatOne`,`One`)}}function Rhe(e){return e===`playing`||e===`buffering`?`pause`:`play`}function zhe({trpc:e,deviceId:n,features:r,layout:i,optimistic:a}){let o=t(),{cap:s,slice:c,available:l}=v3({trpc:e,deviceId:n,cap:e=>e.mediaPlayer,slice:e=>e.state.mediaPlayer}),{display:u,applyOptimisticAction:d}=j8(c,{enabled:a??!0});if(u===void 0)return null;let f=MH(u,r,{}),p=!l,m=Rhe(u.state);return(0,q.jsxs)(`div`,{"data-state":u.state,className:Z(`inline-flex items-center gap-2 rounded border px-2 py-1 transition-colors`,Phe[u.state],i===`full`&&`flex-col items-stretch gap-3`),children:[(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-2`,children:[(0,q.jsx)(`span`,{role:`status`,"aria-label":u.state,className:Z(`inline-block h-2 w-2 rounded-full flex-shrink-0`,Fhe[u.state])}),(0,q.jsx)(`button`,{type:`button`,"aria-label":m===`play`?o(`uiLibrary.mediaPlayerPanel.play`,`Play`):o(`uiLibrary.mediaPlayerPanel.pause`,`Pause`),disabled:p,onClick:e=>{e.stopPropagation(),!p&&(m===`play`?d({state:`playing`},()=>s?.play({})):d({state:`paused`},()=>s?.pause({})))},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,p&&`opacity-40 cursor-not-allowed`),children:m===`play`?(0,q.jsx)(yG,{className:`h-3 w-3`}):(0,q.jsx)(gG,{className:`h-3 w-3`})})]}),i===`full`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.mediaPlayerPanel.previous`,`Previous`),disabled:p,onClick:e=>{e.stopPropagation(),p||s?.previous({})},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,p&&`opacity-40 cursor-not-allowed`),children:`⏮`}),(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.mediaPlayerPanel.next`,`Next`),disabled:p,onClick:e=>{e.stopPropagation(),p||s?.next({})},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,p&&`opacity-40 cursor-not-allowed`),children:`⏭`})]}),(f.volume===`slider`||u.volumeLevel!==null)&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.mediaPlayerPanel.vol`,`Vol`)}),(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.mediaPlayerPanel.volume`,`Volume`),type:`range`,min:0,max:100,step:1,value:u.volumeLevel??0,disabled:p,onChange:e=>{let t=Number(e.target.value);p||d({volumeLevel:t},()=>s?.setVolume({volumeLevel:t}))}}),(0,q.jsx)(`span`,{className:`tabular-nums w-8 text-right`,children:u.volumeLevel===null?`—`:`${u.volumeLevel}%`})]}),(f.mute||u.isMuted!==null)&&(0,q.jsx)(`button`,{type:`button`,"aria-label":u.isMuted?o(`uiLibrary.mediaPlayerPanel.unmute`,`Unmute`):o(`uiLibrary.mediaPlayerPanel.mute`,`Mute`),disabled:p,onClick:e=>{if(e.stopPropagation(),!p){let e=u.isMuted===null?!0:!u.isMuted;d({isMuted:e},()=>s?.setMute({muted:e}))}},className:Z(`inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs transition-colors`,u.isMuted?`bg-warning-fill text-warning-on`:`text-foreground-subtle hover:text-foreground hover:bg-surface-hover`,p&&`opacity-40 cursor-not-allowed`),children:u.isMuted?`🔇`:`🔊`}),u.availableSources.length>0&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.mediaPlayerPanel.source`,`Source`)}),(0,q.jsxs)(nQ,{"aria-label":o(`uiLibrary.mediaPlayerPanel.source`,`Source`),value:u.source,disabled:p,onChange:e=>{let t=e.target.value;!p&&t&&d({source:t},()=>s?.selectSource({source:t}))},className:`rounded border border-border bg-surface px-1 py-0.5`,children:[(0,q.jsx)(`option`,{value:``,disabled:!0,children:`—`}),u.availableSources.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))]})]}),u.shuffle!==null&&(0,q.jsxs)(`button`,{type:`button`,"aria-label":o(`uiLibrary.mediaPlayerPanel.shuffle`,`Shuffle`),disabled:p,onClick:e=>{if(e.stopPropagation(),!p&&u.shuffle!==null){let e=!u.shuffle;d({shuffle:e},()=>s?.setShuffle({shuffle:e}))}},className:Z(`inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs transition-colors`,u.shuffle?`bg-success-fill text-success-on`:`text-foreground-subtle hover:text-foreground hover:bg-surface-hover`,p&&`opacity-40 cursor-not-allowed`),children:[`⇌ `,o(`uiLibrary.mediaPlayerPanel.shuffle`,`Shuffle`)]}),u.repeat!==null&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.mediaPlayerPanel.repeat`,`Repeat`)}),(0,q.jsx)(nQ,{"aria-label":o(`uiLibrary.mediaPlayerPanel.repeat`,`Repeat`),value:u.repeat,disabled:p,onChange:e=>{let t=e.target.value;!p&&Ihe(t)&&d({repeat:t},()=>s?.setRepeat({repeat:t}))},className:`rounded border border-border bg-surface px-1 py-0.5`,children:B8.map(e=>(0,q.jsx)(`option`,{value:e,children:Lhe(o,e)},e))})]})]})]})}function V8(e,t){return t===void 0?Number.isInteger(e)?String(e):e.toFixed(1):e.toFixed(t)}var Bhe={system:Ks,temperature:`celsius`};function H8(e,t){return t===`temperature`?e.temperature===`fahrenheit`?`imperial`:`metric`:e.system}var Vhe=(0,s.createContext)(Bhe);function U8(){return(0,s.useContext)(Vhe)}function Hhe(e){if(e!==void 0)return Vm(e)??e}function Uhe(e){if(e.quantity!==void 0){if(e.quantity===`device`){let t=e.deviceQuantity;return t===void 0||t===`device`?void 0:t}return e.quantity}}function W8(e){let t=e.capName===void 0?void 0:e.display?.perCap?.[e.capName],n=t?.precision??e.display?.precision??e.roleDefault?.precision??e.declarationPrecision,r=Uhe(e),i=e.preference??(e.unitPreferences===void 0?`metric`:H8(e.unitPreferences,r)),a=r===void 0?void 0:Ws(r),o=r===void 0?void 0:qs(r,i),s=Hhe(t?.unit??e.display?.unit??e.roleDefault?.unit),c=s!==void 0&&a!==void 0&&s!==a&&ku(a,s),l=c?s:o??``,u=r===`duration`||r===`information`||r===`duration-ms`,d=e=>u||a===void 0||l.length===0||l===a?e:Ou(e,a,l)??e;return{unit:l,precision:n,toDisplayValue:d,fromDisplayValue:e=>u||a===void 0||l.length===0||l===a?e:Ou(e,l,a)??e,format:e=>{if(r!==void 0&&!c){let t=BU({value:e,quantity:r,preference:i,precision:n});return{text:t.text,unit:t.unit}}return{text:V8(d(e),n),unit:l}}}}var Whe=/^(\d{4})-(\d{2})-(\d{2})/,Ghe=/^(\d{2}):(\d{2})(?::(\d{2}))?$/;function Khe(e,t){let n=Whe.exec(e);if(n===null)return e;let r=Number(n[1]),i=Number(n[2]),a=Number(n[3]),o=new Date(r,i-1,a);if(Number.isNaN(o.getTime()))return e;try{return o.toLocaleDateString(t)}catch{return e}}function qhe(e,t){let n=Ghe.exec(e);if(n===null)return e;let r=new Date(1970,0,1,Number(n[1]),Number(n[2]),n[3]===void 0?0:Number(n[3]));if(Number.isNaN(r.getTime()))return e;try{return r.toLocaleTimeString(t,{hour:`2-digit`,minute:`2-digit`})}catch{return e}}function Jhe(e,t){let n=e.includes(`T`)?e:e.replace(` `,`T`),r=new Date(n);if(Number.isNaN(r.getTime()))return e;try{return r.toLocaleString(t,{dateStyle:`medium`,timeStyle:`short`})}catch{return e}}function G8(e,t,n){return e===``?e:t===`date`?Khe(e,n):t===`time`?qhe(e,n):Jhe(e,n)}function Yhe(e){return e.slice(0,10)}function Xhe(e){return e.slice(0,5)}function Zhe(e,t){return e===`date`?{type:`date`,value:Yhe(t)}:e===`time`?{type:`time`,value:Xhe(t)}:{type:`datetime-local`,value:Qhe(t)}}function Qhe(e){return(e.includes(`T`)?e:e.replace(` `,`T`)).slice(0,16)}function $he({value:e,busy:n,onCommit:r,unit:i,min:a,max:o,step:c,precision:l}){let u=t(),[d,f]=(0,s.useState)(V8(e,l)),p=Number(d),m=d!==``&&!Number.isNaN(p),h=c??1,g=e=>{let t=e;return a!==void 0&&(t=Math.max(a,t)),o!==void 0&&(t=Math.min(o,t)),t},_=()=>{!n&&m&&r(g(p))};return(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":u(`uiLibrary.controlPanel.decrement`,`Decrement`),disabled:n,onClick:t=>{if(t.stopPropagation(),!n){let t=g(e-h);f(V8(t,l)),r(t)}},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded border border-border bg-surface text-xs transition-colors hover:bg-surface-hover`,n&&`opacity-40 cursor-not-allowed`),children:`−`}),(0,q.jsx)(`input`,{"aria-label":u(`uiLibrary.controlPanel.numeric`,`Numeric value`),type:`number`,disabled:n,value:d,onChange:e=>{f(e.target.value);let t=Number(e.target.value);e.target.value!==``&&!Number.isNaN(t)&&(n||r(g(t)))},onBlur:_,onKeyDown:e=>{e.key===`Enter`&&_()},className:Z(`w-16 rounded border border-border bg-surface px-1 py-0.5 text-xs tabular-nums text-center`,n&&`opacity-40 cursor-not-allowed`)}),i!==void 0&&(0,q.jsx)(`span`,{className:`text-foreground-subtle text-xs`,children:i}),(0,q.jsx)(`button`,{type:`button`,"aria-label":u(`uiLibrary.controlPanel.increment`,`Increment`),disabled:n,onClick:t=>{if(t.stopPropagation(),!n){let t=g(e+h);f(V8(t,l)),r(t)}},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded border border-border bg-surface text-xs transition-colors hover:bg-surface-hover`,n&&`opacity-40 cursor-not-allowed`),children:`+`})]})}function ege({value:e,busy:t,onCommit:n}){let[r,i]=(0,s.useState)(e);return(0,q.jsx)(`input`,{type:`text`,disabled:t,value:r,onChange:e=>i(e.target.value),onBlur:()=>{t||n(r)},onKeyDown:e=>{e.key===`Enter`&&!t&&n(r)},className:Z(`rounded border border-border bg-surface px-2 py-0.5 text-xs`,t&&`opacity-40 cursor-not-allowed`)})}function tge({slice:e,busy:n,setValueFn:r,layout:i,quantity:a,display:o,dateTimeShape:s}){let c=t(),l=U8();switch(e.kind){case`numeric`:{let t=typeof e.value==`number`?e.value:Number(e.value),i=a===void 0?void 0:W8({quantity:a,display:o,capName:`control`,unitPreferences:l}),s=i?.toDisplayValue??(e=>e),c=i?.fromDisplayValue??(e=>e),u=i!==void 0&&i.unit.length>0?i.unit:void 0;return(0,q.jsx)($he,{value:s(t),busy:n,onCommit:e=>{r({control:{kind:`numeric`,value:c(e)}})},unit:u,min:e.min===void 0?void 0:s(e.min),max:e.max===void 0?void 0:s(e.max),step:e.step===void 0?void 0:s(e.step),precision:i?.precision})}case`select`:{let t=String(e.value);return(0,q.jsx)(nQ,{"aria-label":c(`uiLibrary.controlPanel.value`,`Control value`),bare:!0,wrapperClassName:`w-full`,disabled:n,value:t,onChange:e=>{e.stopPropagation(),n||r({control:{kind:`select`,value:e.target.value}})},className:Z(`w-full max-w-full min-w-0 truncate rounded bg-transparent px-0.5 py-0.5 text-xs`,n&&`opacity-40 cursor-not-allowed`),children:e.options.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))})}case`text`:return(0,q.jsx)(ege,{value:String(e.value),busy:n,onCommit:e=>{r({control:{kind:`text`,value:e}})}});case`datetime`:{let t=String(e.value),a=s??`datetime`;if(i===`compact`)return t===``?(0,q.jsx)(`span`,{"aria-label":c(`uiLibrary.controlPanel.value`,`Control value`),className:`text-xs text-foreground-subtle`,children:`—`}):(0,q.jsx)(`span`,{"aria-label":c(`uiLibrary.controlPanel.value`,`Control value`),className:`text-xs text-foreground`,children:G8(t,a)});let o=Zhe(a,t),l=o.type,u=o.value;return(0,q.jsx)(`input`,{type:l,"aria-label":c(`uiLibrary.controlPanel.value`,`Control value`),disabled:n,value:u,onChange:e=>{e.stopPropagation(),n||r({control:{kind:`datetime`,value:e.target.value}})},className:Z(`rounded border border-border bg-surface px-1 py-0.5 text-xs`,n&&`opacity-40 cursor-not-allowed`)})}default:return null}}function K8({trpc:e,deviceId:t,features:n,layout:r,optimistic:i}){let a=JY()?.getDeviceInfo(t)??null,{cap:o,slice:s,available:c}=v3({trpc:e,deviceId:t,cap:e=>e.control,slice:e=>e.state.control}),{display:l,applyOptimisticAction:u}=j8(s,{enabled:i??!0});if(l===void 0)return null;let d=!c,f=a?.sourceInfo?.quantity,p=Hs(f)&&f!==`device`&&f!==`none`?f:void 0;return(0,q.jsx)(`div`,{"data-kind":l.kind,className:`inline-flex min-w-0 max-w-full items-center gap-1 rounded border border-border px-2 py-1 transition-colors`,children:(0,q.jsx)(tge,{slice:l,busy:d,setValueFn:e=>{!d&&o&&u({value:e.control.value},()=>o.setValue(e))},layout:r,quantity:p,display:a?.display,dateTimeShape:a?.sourceInfo?.dateTimeShape})})}var q8={kind:`binary`,field:`on`,onLabel:`Low`,offLabel:`Normal`,getSliceHandle:e=>e.binary};function J8(e){return e===`battery-sensor`}function Y8(e,t){if(!Z8(e))return!1;let n=e[t];if(typeof n!=`number`)return!1;let r=e.lastFetchedAt;return!(n===0&&r===0)}var X8={"temperature-sensor":{kind:`numeric`,field:`temperature`,quantity:`temperature`,getSliceHandle:e=>e.temperatureSensor},"humidity-sensor":{kind:`numeric`,field:`humidity`,quantity:`humidity`,getSliceHandle:e=>e.humiditySensor},"ambient-light-sensor":{kind:`numeric`,field:`illuminance`,quantity:`illuminance`,getSliceHandle:e=>e.ambientLightSensor},"pressure-sensor":{kind:`numeric`,field:`pressure`,quantity:`pressure`,getSliceHandle:e=>e.pressureSensor},"numeric-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"wind-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"rain-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"uv-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"solar-radiation-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"soil-moisture-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"power-sensor":{kind:`numeric`,field:`power`,quantity:`power`,getSliceHandle:e=>e.powerMeter},"energy-sensor":{kind:`numeric`,field:`energy`,quantity:`energy`,getSliceHandle:e=>e.powerMeter},"voltage-sensor":{kind:`numeric`,field:`voltage`,quantity:`voltage`,getSliceHandle:e=>e.powerMeter},"current-sensor":{kind:`numeric`,field:`current`,quantity:`current`,getSliceHandle:e=>e.powerMeter},"battery-sensor":{kind:`numeric`,field:`value`,quantity:`percentage`,getSliceHandle:e=>e.numericSensor},"generic-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"motion-sensor":{kind:`binary`,field:`detected`,onLabel:`Detected`,offLabel:`Clear`,getSliceHandle:e=>e.motion},"pir-sensor":{kind:`binary`,field:`detected`,onLabel:`Detected`,offLabel:`Clear`,getSliceHandle:e=>e.motion},"contact-sensor":{kind:`binary`,field:`entryOpen`,onLabel:`Open`,offLabel:`Closed`,getSliceHandle:e=>e.contact},"smoke-sensor":{kind:`binary`,field:`detected`,onLabel:`Smoke!`,offLabel:`Clear`,getSliceHandle:e=>e.smoke},"leak-sensor":{kind:`binary`,field:`flooded`,onLabel:`Leak!`,offLabel:`Dry`,getSliceHandle:e=>e.flood},"co-sensor":{kind:`binary`,field:`detected`,onLabel:`CO!`,offLabel:`Clear`,getSliceHandle:e=>e.carbonMonoxide},"binary-sensor":{kind:`binary`,field:`on`,onLabel:`On`,offLabel:`Off`,getSliceHandle:e=>e.binary},presence:{kind:`presence`,getSliceHandle:e=>e.presence},"enum-sensor":{kind:`string`,getSliceHandle:e=>e.enumSensor},"datetime-sensor":{kind:`datetime`,format:`datetime`,getSliceHandle:e=>e.enumSensor}};function Z8(e){return typeof e==`object`&&!!e}function nge(e){return typeof e==`object`&&!!e}function rge(e){return typeof e==`object`&&!!e&&`state`in e&&typeof e.state==`string`}function Q8(e){return typeof e==`object`&&!!e&&`value`in e&&typeof e.value==`string`}function $8(e){if(typeof e!=`object`||!e)return;let t=e.format;if(t===`date`||t===`time`||t===`datetime`)return t}function ige(e,t){return e===`home`?t(`uiLibrary.sensor.presence.home`,`Home`):e===`not_home`?t(`uiLibrary.sensor.presence.away`,`Away`):e.charAt(0).toUpperCase()+e.slice(1)}function age({trpc:e,device:n}){let r=t(),i=U8(),a=n.role==null?void 0:X8[n.role],o=J8(n.role),{data:s}=iQ({},{staleTime:6e4}),c=h3(e,n.id),l=g3(c!==null&&a!==void 0?a.getSliceHandle(c.state):void 0),u=g3(c!==null&&a?.kind===`numeric`?c.state.enumSensor:void 0),d=g3(c!==null&&o?c.state.binary:void 0),f=o&&a?.kind===`numeric`&&!Y8(l,a.field)&&d!==void 0,p=f?q8:a,m=f?d:l;if(p===void 0||m===void 0)return null;if(p.kind===`numeric`){if(!Z8(m))return null;let e=m[p.field];if(typeof e!=`number`)return null;let t=m.lastFetchedAt,r=e===0&&t===0;if(r&&Q8(u)&&u.value!==``)return(0,q.jsx)(`span`,{className:Z(`inline-flex items-baseline text-xs text-foreground`),children:u.value});if(r)return null;let a=n.sourceInfo?.quantity,o=W8({display:n.display,capName:n.role===`numeric-sensor`?`numeric-sensor`:void 0,roleDefault:n.role==null?void 0:s?.defaults[n.role],quantity:p.quantity??`device`,deviceQuantity:a===`device`?void 0:a,unitPreferences:i}).format(e),c=o.unit,l=o.text;return(0,q.jsxs)(`span`,{className:Z(`inline-flex items-baseline gap-0.5 tabular-nums text-xs text-foreground`),children:[(0,q.jsx)(`span`,{children:l}),c&&(0,q.jsx)(`span`,{className:`text-foreground-subtle`,children:c})]})}if(p.kind===`binary`){if(!nge(m))return null;let e=!!m[p.field],t=e?p.onLabel:p.offLabel;return(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium`,e?`bg-warning/15 text-warning`:`bg-surface-subtle text-foreground-subtle`),children:t})}if(p.kind===`string`)return!Q8(m)||m.value===``?null:(0,q.jsx)(`span`,{className:Z(`inline-flex items-baseline text-xs text-foreground`),children:m.value});if(p.kind===`datetime`){if(!Q8(m)||m.value===``)return null;let e=n.sourceInfo?.dateTimeShape??$8(m)??p.format,t=G8(m.value,e);return(0,q.jsx)(`span`,{className:Z(`inline-flex items-baseline text-xs text-foreground`),children:t})}if(!rge(m))return null;let h=ige(m.state,r);return(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium`,m.state===`home`?`bg-success/15 text-success`:`bg-surface-subtle text-foreground-subtle`),children:h})}function e5(e){switch(e){case`opening`:return{up:`accent`,stop:`neutral`,down:`neutral`};case`closing`:return{up:`neutral`,stop:`neutral`,down:`accent`};case`open`:return{up:`filled`,stop:`neutral`,down:`neutral`};case`closed`:return{up:`neutral`,stop:`neutral`,down:`filled`};default:return{up:`neutral`,stop:`neutral`,down:`neutral`}}}function oge(e){switch(e){case`accent`:return`bg-primary text-primary-foreground`;case`filled`:return`bg-primary/15 text-primary`;case`neutral`:return``}}function t5({label:e,busy:t,variant:n,onClick:r,children:i}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,title:e,disabled:t,onClick:e=>{e.stopPropagation(),r()},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,oge(n),t&&`opacity-40 cursor-not-allowed`),children:i})}function sge({trpc:e,deviceId:n,optimistic:r}){let i=t(),{cap:a,slice:o,available:s}=v3({trpc:e,deviceId:n,cap:e=>e.cover,slice:e=>e.state.cover}),{display:c,applyOptimisticAction:l}=j8(o,{enabled:r??!0});if(a===void 0)return null;let u=e5(c?.state),d=!s,f=(e,t)=>{d||!e||(t===void 0?e({}):l(t,()=>e({})))};return(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(t5,{label:i(`uiLibrary.coverInline.open`,`Open`),busy:d,variant:u.up,onClick:()=>f(a?.open,{state:`opening`}),children:(0,q.jsx)(fW,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(t5,{label:i(`uiLibrary.coverInline.stop`,`Stop`),busy:d,variant:u.stop,onClick:()=>f(a?.stop,{state:`stopped`}),children:(0,q.jsx)(YG,{className:`h-3 w-3`})}),(0,q.jsx)(t5,{label:i(`uiLibrary.coverInline.close`,`Close`),busy:d,variant:u.down,onClick:()=>f(a?.close,{state:`closing`}),children:(0,q.jsx)(lW,{className:`h-3.5 w-3.5`})}),c!==void 0&&c.position!==null&&(0,q.jsxs)(`span`,{className:`tabular-nums text-xs text-foreground-subtle ml-1`,children:[c.position,`%`]})]})}function n5({label:e,busy:t,variant:n,onClick:r,children:i}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,title:e,disabled:t,onClick:e=>{e.stopPropagation(),r()},className:Z(`inline-flex h-10 w-10 items-center justify-center rounded-md text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,n===`accent`&&`bg-primary text-primary-foreground hover:bg-primary/90`,n===`filled`&&`bg-primary/15 text-primary`,t&&`opacity-40 cursor-not-allowed`),children:i})}function r5(){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{"aria-hidden":`true`,className:`absolute inset-y-0 left-1/2 w-px -translate-x-px bg-white/60`}),(0,q.jsx)(`div`,{"aria-hidden":`true`,className:`absolute inset-x-0 top-1/2 h-px -translate-y-px bg-white/60`})]})}function cge({position:e,interactive:n,onSetPosition:r}){let i=t(),a=(1-e/100)*100,o=(0,s.useRef)(null),c=(0,s.useRef)(!1),l=(0,s.useRef)(null),u=t=>{let n=o.current;if(n===null)return e;let r=n.getBoundingClientRect();if(r.height<=0)return e;let i=(t-r.top)/r.height,a=Math.round(100-i*100);return Math.min(100,Math.max(0,a))},d=e=>{if(r===void 0)return;let t=u(e);l.current!==t&&(l.current=t,r(t))},f=e=>{n&&(e.stopPropagation(),e.preventDefault(),c.current=!0,l.current=null,e.currentTarget.setPointerCapture(e.pointerId),d(e.clientY))},p=e=>{!n||!c.current||(e.stopPropagation(),d(e.clientY))},m=e=>{!n||!c.current||(e.stopPropagation(),c.current=!1,l.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))};return(0,q.jsxs)(`div`,{ref:o,"data-testid":`cover-window`,...n?{"aria-label":i(`uiLibrary.coverHeroCard.dragToSet`,`Drag to set position`),role:`slider`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e}:{"aria-hidden":`true`},onPointerDown:n?f:void 0,onPointerMove:n?p:void 0,onPointerUp:n?m:void 0,onPointerCancel:n?m:void 0,className:Z(`relative w-28 h-36 rounded border-2 border-amber-700/60 bg-gradient-to-b from-sky-200 to-sky-50 overflow-hidden flex-shrink-0`,n&&`cursor-ns-resize touch-none select-none`),style:{boxShadow:`inset 0 0 0 2px rgba(255,255,255,.5)`},children:[(0,q.jsx)(r5,{}),(0,q.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-all duration-200`,style:{height:`${a}%`,background:`repeating-linear-gradient(#c9cdd2, #c9cdd2 6px, #b7bcc2 6px, #b7bcc2 8px)`,borderBottom:a>0?`1px solid #9aa`:`none`}}),(0,q.jsxs)(`div`,{"data-testid":`cover-lever`,className:Z(`absolute inset-x-0 h-4 flex items-center justify-center gap-1 z-10 transition-all duration-200`,n&&`cursor-grab active:cursor-grabbing`),style:{top:`calc(${a}% - 8px)`},children:[(0,q.jsx)(`div`,{className:`absolute -inset-x-1.5 h-full rounded-lg bg-slate-600 shadow-md`}),(0,q.jsx)(`span`,{className:`h-1 w-1 rounded-full bg-white/70 relative z-10`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`h-1 w-1 rounded-full bg-white/70 relative z-10`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`h-1 w-1 rounded-full bg-white/70 relative z-10`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{"data-testid":`cover-position-pct`,className:`absolute left-full ml-2 text-xs font-semibold text-foreground tabular-nums whitespace-nowrap`,children:[e,`%`]})]})]})}function lge({isOpen:e}){return(0,q.jsxs)(`div`,{"data-testid":`cover-window`,"aria-hidden":`true`,className:`relative w-28 h-36 rounded border-2 border-amber-700/60 bg-gradient-to-b from-sky-200 to-sky-50 overflow-hidden flex-shrink-0`,style:{boxShadow:`inset 0 0 0 2px rgba(255,255,255,.5)`},children:[(0,q.jsx)(r5,{}),!e&&(0,q.jsx)(`div`,{className:`absolute inset-0`,style:{background:`repeating-linear-gradient(#c9cdd2, #c9cdd2 6px, #b7bcc2 6px, #b7bcc2 8px)`}})]})}function uge({trpc:e,deviceId:n,features:r,optimistic:i}){let a=t(),{cap:o,slice:s,available:c}=v3({trpc:e,deviceId:n,cap:e=>e.cover,slice:e=>e.state.cover}),{display:l,applyOptimisticAction:u}=j8(s,{enabled:i??!0});if(o===void 0)return null;let d=!c,f=(r??[]).includes(p.CoverPositionable),m=(r??[]).includes(p.CoverTilt),h=e5(l?.state),g=l?.position??null,_=g!==null,v=l?.state===`open`||l?.state===`opening`,y=(e,t)=>{d||!e||(t===void 0?e({}):u(t,()=>e({})))},b=e=>{d||u({position:e},()=>o?.setPosition({position:e}))};return(0,q.jsxs)(`div`,{className:`flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-6`,children:[_?(0,q.jsx)(cge,{position:g,interactive:f,onSetPosition:f?b:void 0}):(0,q.jsx)(lge,{isOpen:v}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 flex-1`,children:[_&&(0,q.jsxs)(`div`,{className:`flex items-baseline gap-1`,children:[(0,q.jsx)(`span`,{className:`text-3xl font-semibold tabular-nums text-foreground`,children:g}),(0,q.jsx)(`span`,{className:`text-base text-foreground-subtle`,children:`%`}),(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle ml-1`,children:a(`uiLibrary.coverHeroCard.openWord`,`open`)})]}),!_&&(0,q.jsx)(`div`,{className:`flex items-baseline gap-1`,children:(0,q.jsx)(`span`,{className:`text-3xl font-semibold capitalize text-foreground`,children:l?.state??`—`})}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(n5,{label:a(`uiLibrary.coverHeroCard.open`,`Open`),busy:d,variant:h.up,onClick:()=>y(o?.open,{state:`opening`}),children:(0,q.jsx)(fW,{className:`h-5 w-5`})}),(0,q.jsx)(n5,{label:a(`uiLibrary.coverHeroCard.stop`,`Stop`),busy:d,variant:h.stop,onClick:()=>y(o?.stop,{state:`stopped`}),children:(0,q.jsx)(YG,{className:`h-4 w-4`})}),(0,q.jsx)(n5,{label:a(`uiLibrary.coverHeroCard.close`,`Close`),busy:d,variant:h.down,onClick:()=>y(o?.close,{state:`closing`}),children:(0,q.jsx)(lW,{className:`h-5 w-5`})})]})]})]}),f&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{className:`w-12 shrink-0`,children:a(`uiLibrary.coverHeroCard.position`,`Position`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.coverHeroCard.position`,`Position`),type:`range`,min:0,max:100,step:1,value:g??0,disabled:d,className:`flex-1`,onChange:e=>{b(Number(e.target.value))}}),(0,q.jsxs)(`span`,{className:`w-8 text-right tabular-nums`,children:[g??`—`,`%`]})]}),!f&&g!==null&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{className:`w-12 shrink-0`,children:a(`uiLibrary.coverHeroCard.position`,`Position`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.coverHeroCard.position`,`Position`),type:`range`,min:0,max:100,step:1,value:g,disabled:!0,readOnly:!0,className:`flex-1 opacity-60`}),(0,q.jsxs)(`span`,{className:`w-8 text-right tabular-nums`,children:[g,`%`]})]}),m&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{className:`w-12 shrink-0`,children:a(`uiLibrary.coverHeroCard.tilt`,`Tilt`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.coverHeroCard.tiltPosition`,`Tilt position`),type:`range`,min:0,max:100,step:1,value:l?.tiltPosition??0,disabled:d,className:`flex-1`,onChange:e=>{let t=Number(e.target.value);d||u({tiltPosition:t},()=>o?.setTiltPosition({tiltPosition:t}))}}),(0,q.jsxs)(`span`,{className:`w-8 text-right tabular-nums`,children:[l?.tiltPosition??`—`,`%`]})]})]})}function dge(e){return(0,q.jsx)(`span`,{className:`text-foreground-subtle text-xs select-none`,"aria-hidden":`true`,children:`—`})}function fge(e){return(0,q.jsx)(`div`,{className:`rounded border border-border bg-surface-subtle px-3 py-2 text-xs text-foreground-subtle`,children:t()(`uiLibrary.dummyHeroCard.comingSoon`,`Controls coming soon`)})}function pge(e){return{id:e.id,stableId:e.stableId,addonId:e.addonId,type:e.type,name:e.name,online:e.online,disabled:e.disabled,parentDeviceId:e.parentDeviceId,role:e.role??void 0,features:e.features}}function mge({trpc:e,deviceId:t}){let{data:n}=aQ({deviceId:t},{staleTime:6e4});return n===void 0?null:(0,q.jsx)(age,{trpc:e,device:pge(n)})}var i5={"temperature-sensor":`temperature-sensor`,"humidity-sensor":`humidity-sensor`,"ambient-light-sensor":`ambient-light-sensor`,"pressure-sensor":`pressure-sensor`,"numeric-sensor":`numeric-sensor`,"wind-sensor":`numeric-sensor`,"rain-sensor":`numeric-sensor`,"uv-sensor":`numeric-sensor`,"solar-radiation-sensor":`numeric-sensor`,"soil-moisture-sensor":`numeric-sensor`,"power-sensor":`power-meter`,"energy-sensor":`power-meter`,"voltage-sensor":`power-meter`,"current-sensor":`power-meter`,"battery-sensor":`numeric-sensor`,"generic-sensor":`numeric-sensor`,"motion-sensor":`motion`,"pir-sensor":`motion`,"contact-sensor":`contact`,"smoke-sensor":`smoke`,"leak-sensor":`flood`,"co-sensor":`carbon-monoxide`,"binary-sensor":`binary`,presence:`presence`,"enum-sensor":`enum-sensor`,"datetime-sensor":`enum-sensor`};function a5(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function o5(e,t){if(!a5(t))return!1;if(e.kind===`presence`)return typeof t.state==`string`;if(e.kind===`string`||e.kind===`datetime`)return typeof t.value==`string`&&t.value!==``;let n=t[e.field];return e.kind===`numeric`?typeof n==`number`:typeof n==`boolean`}function s5(e,t){if(!(t===void 0||!a5(e)))return e[t]}function hge(e){let t=s5(e,`battery`);if(!(!a5(t)||typeof t.level!=`number`))return{...t,value:t.level}}function gge(e){let t=s5(e.snapshotCaps,e.capName);if(e.descriptor!==void 0&&o5(e.descriptor,t))return t;if(e.role===`battery-sensor`&&e.descriptor?.kind===`numeric`)return hge(e.snapshotCaps)}function _ge(e){let t=e.descriptor;if(t!==void 0&&o5(t,e.live))return{kind:`value`,slice:e.live};let n=gge(e);return t!==void 0&&o5(t,n)?{kind:`value`,slice:n}:e.addonId===`composer`&&e.snapshotStatus===`success`?{kind:`quiet`}:{kind:`awaiting`}}function vge(e){return typeof e==`object`&&!!e}function c5(e){return typeof e==`object`&&!!e}function yge(e){return typeof e==`object`&&!!e&&`state`in e&&typeof e.state==`string`}function bge(e,t){return e===`home`?t(`uiLibrary.sensor.presence.home`,`Home`):e===`not_home`?t(`uiLibrary.sensor.presence.away`,`Away`):e.charAt(0).toUpperCase()+e.slice(1)}var xge={low:`bg-danger`,medium:`bg-warning`,high:`bg-success`};function Sge(e){return e<=20?`low`:e<=50?`medium`:`high`}function Cge({percent:e}){let t=Math.min(100,Math.max(0,e)),n=Sge(t);return(0,q.jsx)(`div`,{"data-testid":`battery-bar`,"data-band":n,className:`h-2 w-24 overflow-hidden rounded-full bg-border`,children:(0,q.jsx)(`div`,{className:Z(`h-full rounded-full transition-all`,xge[n]),style:{width:`${t}%`}})})}function wge({trpc:e,device:n}){let r=t(),i=U8(),a=n.role==null?X8[`temperature-sensor`]:X8[n.role],o=J8(n.role),{data:s}=iQ({},{staleTime:6e4}),c=h3(e,n.id),l=g3(c!==null&&a!==void 0?a.getSliceHandle(c.state):void 0),u=g3(c!==null&&o?c.state.binary:void 0),d=g3(c!==null&&!o?c.state.binary:void 0),f=o&&a?.kind===`numeric`&&!Y8(l,a.field)&&u!==void 0,p=f?q8:a,m=f?u:l,h=oQ({deviceId:n.id},{staleTime:5e3}),g=f?`binary`:n.role==null?i5[`temperature-sensor`]:i5[n.role],_=h.status===`success`||h.status===`error`?h.status:`pending`,v=_ge({addonId:n.addonId,role:n.role,descriptor:p,capName:g,live:m,snapshotStatus:_,snapshotCaps:h.data});if(v.kind===`quiet`)return(0,q.jsx)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4 min-h-[96px]`,"data-testid":`sensor-hero-quiet`,children:(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})});let y=v.kind===`value`?v.slice:void 0;if(p===void 0||y===void 0)return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4 min-h-[96px]`,children:[(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`}),(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle italic`,children:r(`uiLibrary.sensorHeroCard.awaiting`,`Awaiting state…`)})]});if(p.kind===`numeric`){if(!vge(y))return null;let e=y[p.field];if(typeof e!=`number`)return null;let t=n.sourceInfo?.quantity,a=W8({display:n.display,capName:n.role===`numeric-sensor`?`numeric-sensor`:void 0,roleDefault:n.role==null?s?.defaults?.[`temperature-sensor`]:s?.defaults?.[n.role],quantity:p.quantity??`device`,deviceQuantity:t===`device`?void 0:t,unitPreferences:i}).format(e),c=a.unit,l=a.text,u=d!==void 0&&c5(d)&&typeof d.on==`boolean`?!!d.on:null;return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-baseline gap-1`,children:[(0,q.jsx)(`span`,{className:`text-3xl font-semibold tabular-nums text-foreground`,children:l}),c&&(0,q.jsx)(`span`,{className:`text-base text-foreground-subtle`,children:c})]}),o&&(0,q.jsx)(Cge,{percent:e}),u!==null&&(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-2 py-0.5 text-xs font-medium`,u?`bg-warning/15 text-warning`:`bg-surface-subtle text-foreground-subtle`),"data-testid":`sensor-hero-occupancy`,children:u?r(`uiLibrary.sensorHeroCard.occupied`,`Occupied`):r(`uiLibrary.sensorHeroCard.clear`,`Clear`)}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]})}if(p.kind===`binary`){if(!c5(y))return null;let e=!!y[p.field],t=e?p.onLabel:p.offLabel;return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-3 py-1.5 text-lg font-semibold`,e?`bg-warning/15 text-warning`:`bg-surface-subtle text-foreground-subtle`),children:t}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]})}if(p.kind===`datetime`){if(!Q8(y))return null;if(y.value===``)return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4 min-h-[96px]`,children:[(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`}),(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle italic`,children:r(`uiLibrary.sensorHeroCard.awaiting`,`Awaiting state…`)})]});let e=n.sourceInfo?.dateTimeShape??$8(y)??p.format;return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsx)(`span`,{className:`text-3xl font-semibold tabular-nums text-foreground`,children:G8(y.value,e)}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]})}if(p.kind===`string`)return!Q8(y)||y.value===``?null:(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsx)(`span`,{className:`text-xl font-semibold text-foreground`,children:y.value}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]});if(!yge(y))return null;let b=bge(y.state,r);return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-3 py-1.5 text-lg font-semibold`,y.state===`home`?`bg-success/15 text-success`:`bg-surface-subtle text-foreground-subtle`),children:b}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]})}function Tge({trpc:e,deviceId:t}){let{data:n}=aQ({deviceId:t},{staleTime:6e4});return n===void 0?null:(0,q.jsx)(wge,{trpc:e,device:n})}function l5(e){return e===void 0||e.inProgress?!1:e.availableVersion!==null&&e.currentVersion!==null&&e.availableVersion!==e.currentVersion}function u5(e,t){return v3({trpc:e,deviceId:t,cap:e=>e.update,slice:e=>e.state.update})}function Ege({trpc:e,deviceId:n}){let r=t(),{cap:i,slice:a}=u5(e,n);return i===void 0?null:a?.inProgress?(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs text-foreground-subtle`,children:[(0,q.jsx)(ZW,{className:`h-3.5 w-3.5 animate-spin`}),r(`uiLibrary.updateControl.updating`,`Updating…`)]}):l5(a)?(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-warning/15 px-1.5 py-0.5 text-[10px] font-medium text-warning`,children:[(0,q.jsx)(AW,{className:`h-3 w-3`}),r(`uiLibrary.updateControl.update`,`Update`)]}):(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] text-foreground-subtle`,children:[(0,q.jsx)(cW,{className:`h-3 w-3 text-success`}),a?.currentVersion??r(`uiLibrary.updateControl.upToDate`,`Up to date`)]})}function Dge({trpc:e,deviceId:n}){let r=t(),{cap:i,slice:a,available:o}=u5(e,n);if(i===void 0)return null;let s=a?.inProgress===!0,c=l5(a),l=a?.currentVersion??`—`,u=()=>{!o||i===void 0||!c||i.installUpdate({})};return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-baseline gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-3xl font-semibold tabular-nums text-foreground`,children:l}),c&&a?.availableVersion!=null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-base text-foreground-subtle`,children:`→`}),(0,q.jsx)(`span`,{className:`text-base font-medium text-warning tabular-nums`,children:a.availableVersion})]})]}),s?(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded px-3 py-1.5 text-sm font-medium text-foreground-subtle`,children:[(0,q.jsx)(ZW,{className:`h-4 w-4 animate-spin`}),r(`uiLibrary.updateControl.installing`,`Installing…`)]}):c?(0,q.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),u()},disabled:!o,className:`inline-flex items-center gap-1.5 rounded-lg bg-primary px-4 py-1.5 text-sm font-medium text-primary-foreground shadow-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,children:[(0,q.jsx)(AW,{className:`h-4 w-4`}),r(`uiLibrary.updateControl.install`,`Install update`)]}):(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded bg-success/15 px-3 py-1 text-sm font-medium text-success`,children:[(0,q.jsx)(cW,{className:`h-4 w-4`}),r(`uiLibrary.updateControl.upToDate`,`Up to date`)]}),a?.state!=null&&a.state!==``&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,children:a.state})]})}function Oge(e,t=i){switch(e){case`cleaning`:return{label:t(`uiLibrary.vacuum.cleaning`,`Cleaning`),tone:`text-primary`};case`paused`:return{label:t(`uiLibrary.vacuum.paused`,`Paused`),tone:`text-warning`};case`returning`:return{label:t(`uiLibrary.vacuum.returning`,`Returning`),tone:`text-primary`};case`docked`:return{label:t(`uiLibrary.vacuum.docked`,`Docked`),tone:`text-success`};case`drying`:return{label:t(`uiLibrary.vacuum.drying`,`Drying`),tone:`text-warning`};case`idle`:return{label:t(`uiLibrary.vacuum.idle`,`Idle`),tone:`text-foreground-subtle`};case`error`:return{label:t(`uiLibrary.vacuum.error`,`Error`),tone:`text-destructive`};case void 0:return{label:t(`uiLibrary.vacuum.unknown`,`Unknown`),tone:`text-foreground-subtle`}}}function d5(e,t){return v3({trpc:e,deviceId:t,cap:e=>e.vacuumControl,slice:e=>e.state.vacuumControl})}function f5({label:e,busy:t,active:n,onClick:r,children:i}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,title:e,disabled:t,onClick:e=>{e.stopPropagation(),r()},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,n&&`bg-primary text-primary-foreground`,t&&`opacity-40 cursor-not-allowed`),children:i})}function kge(e){switch(e){case`cleaning`:return{glow:`bg-primary/15`,accent:`text-primary`,docked:!1,active:!0};case`returning`:return{glow:`bg-primary/10`,accent:`text-primary`,docked:!1,active:!0};case`docked`:return{glow:`bg-success/10`,accent:`text-success`,docked:!0,active:!1};case`drying`:return{glow:`bg-warning/10`,accent:`text-warning`,docked:!0,active:!1};case`paused`:return{glow:`bg-warning/10`,accent:`text-warning`,docked:!1,active:!1};case`error`:return{glow:`bg-destructive/10`,accent:`text-destructive`,docked:!1,active:!1};case`idle`:return{glow:`bg-transparent`,accent:`text-foreground-subtle`,docked:!1,active:!1};case void 0:return{glow:`bg-transparent`,accent:`text-foreground-subtle`,docked:!1,active:!1}}}var Age=`
|
|
79
|
+
• @camstack/addon-recorder 1.2.3 → 1.2.4`,kinds:[`addon-update-available`,`addon-updated`]},{name:`summaryUpdates`,label:`Summary: server & container updates`,example:`server 1.2.377 → 1.2.378`,kinds:[`server-update-available`,`node-updating`,`server-updated`,`wrapper-update-available`]}],pfe=[{name:`summaryText`,label:`Summary: every section`,description:`One block per section with something to report, one line per item.`,example:`Batterie scariche: Sensore porta — 8 %`,group:`system`,families:[`rule`],fields:[...$],kinds:[`system`],systemEventKinds:[...W4],systemEventDeliveries:[`summary`]},{name:`summaryCount`,label:`Summary: items reported`,example:`3`,group:`system`,families:[`rule`],fields:[...$],kinds:[`system`],systemEventKinds:[...W4],systemEventDeliveries:[`summary`]},{name:`summarySection`,label:`Summary: this section`,description:`The section a per-section summary row is about; on a summary sent as one message, every section it reports, comma-separated.`,example:`Batterie scariche`,group:`system`,families:[`rule`],fields:[...$],kinds:[`system`],systemEventKinds:[...W4],systemEventDeliveries:[`summary`]},...ffe.map(e=>({name:e.name,label:e.label,example:e.example,group:`system`,families:[`rule`],fields:[...$],kinds:[`system`],systemEventKinds:[...e.kinds],systemEventDeliveries:[`summary`]}))];[[...U4],([...$],[...H4]),([...$],[...H4]),([...$],[...H4]),[...$],([...$],[...H4]),([...$],[...V4]),[...$],([...$],[...H4]),([...$],[...H4]),([...$],[...H4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...ufe],[...$],([...$],[...U4]),([...$],[...H4]),([...$],[...H4]),([...$],[...U4]),([...$],[...I4,...L4]),([...$],[...L4]),[...$],([...$],[...B4,...R4]),([...$],[...B4,...R4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],([...$],[...z4,...R4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],([...$],[...B4]),([...$],[...V4]),([...$],[...V4]),([...$],[...B4]),([...$],[...B4]),([...$],[...V4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],([...$],[...z4,...R4]),([...$],[...R4]),([...$],[...z4,...R4]),([...$],[...R4]),([...$],[...z4,...R4]),[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],[...$],...pfe],new Map([{id:`device-connectivity`,family:`device-events`,label:`Device connectivity (offline / back online)`,bad:[`device-offline`],recovery:[`device-online`],snapshotLabel:`Devices offline now`,snapshotSection:`device-state`},{id:`device-switch`,family:`device-events`,label:`Device switched off / back on`,bad:[`device-disabled`],recovery:[`device-enabled`],snapshotLabel:`Devices switched off now`,snapshotSection:`device-state`},{id:`stream-connectivity`,family:`device-events`,label:`Stream connectivity (offline / back online)`,bad:[`stream-offline`],recovery:[`stream-online`],snapshotLabel:`Streams offline now`,snapshotSection:`streams`},{id:`battery`,family:`device-events`,label:`Battery (low / back to normal)`,bad:[`device-battery-low`],recovery:[`device-battery-normal`],snapshotLabel:`Batteries low now`,snapshotSection:`battery`},{id:`consumables`,family:`device-events`,label:`Consumables (low / replaced)`,bad:[`device-consumable-low`],recovery:[`device-consumable-normal`],snapshotLabel:`Consumables low now`,snapshotSection:`consumables`},{id:`motion-noise`,family:`device-events`,label:`Motion without a subject (constant / calm again)`,bad:[`motion-noisy`],recovery:[`motion-calm`],snapshotLabel:`Cameras with constant motion now`,snapshotSection:null},{id:`package-llm-confirm`,family:`device-events`,label:`Package confirm (not answering / answering again)`,bad:[`package-llm-silent`],recovery:[`package-llm-answered`],snapshotLabel:`Cameras whose package confirm is not answering`,snapshotSection:null},{id:`recording-health`,family:`device-events`,label:`Recording health (stalled or degraded / recording again)`,bad:[`recording-stalled`,`recording-degraded`],recovery:[`recording-healthy`],snapshotLabel:`Recordings stalled now`,snapshotSection:null},{id:`device-attention`,family:`device-events`,label:`Device needs attention (raised / resolved)`,bad:[`device-attention-required`],recovery:[`device-attention-resolved`],snapshotLabel:`Devices needing attention now`,snapshotSection:null},{id:`node-connectivity`,family:`system`,label:`Node connectivity (offline / back online)`,bad:[`node-offline`],recovery:[`node-online`],snapshotLabel:`Nodes offline now`,snapshotSection:`nodes`},{id:`storage-space`,family:`system`,label:`Storage space (low or critical / ok again)`,bad:[`storage-location-low`,`storage-location-critical`],recovery:[`storage-location-ok`],snapshotLabel:`Storage locations low now`,snapshotSection:null},{id:`critical-alerts`,family:`system`,label:`Critical alerts (raised / resolved)`,bad:[`alert-critical`],recovery:[`alert-critical-resolved`],snapshotLabel:`Critical alerts open now`,snapshotSection:null},{id:`rule-health`,family:`system`,label:`Rule health (broken / repaired)`,bad:[`rule-broken`],recovery:[`rule-repaired`],snapshotLabel:`Notification rules broken now`,snapshotSection:null}].flatMap(e=>[...e.bad,...e.recovery].map(t=>[t,e]))),new Set(`disarmed.armed_home.armed_away.armed_night.armed_vacation.armed_custom_bypass.arming.disarming.pending.triggered.open.opening.closing.closed.stopped.locked.unlocked.locking.unlocking.jammed.door-open.on.off.home.not_home.matched.diverged.unknown.latched.live`.split(`.`));var G4=P({title:O().max(500).optional(),body:O().max(2e3).optional()}),K4=O().min(1).max(200),q4=N(k()).min(1),J4=k().int().min(2).max(3600),Y4=k().int().min(1).max(60),X4=N(t4).min(1),Z4=k().int().min(1).max(5),Q4=k().min(.1).max(3600),$4=k().min(0).max(60),e3=O().max(200),t3=R([`image`,`gif`]),n3=N(O().min(1).max(40)).max(20),mfe=P({name:K4,enabled:A().default(!0),deviceIds:q4,schedule:q2,cadenceSec:J4.default(15),framerate:Y4.default(10),denseCadenceSec:Q4.optional(),minDwellSec:$4.optional(),targets:X4,template:G4.optional(),previewText:e3.optional(),previewMode:t3.default(`image`),reportClasses:n3.optional(),priority:Z4.default(3)});P({name:K4.optional(),enabled:A().optional(),deviceIds:q4.optional(),schedule:q2.optional(),cadenceSec:J4.optional(),framerate:Y4.optional(),denseCadenceSec:Q4.optional(),minDwellSec:$4.optional(),targets:X4.optional(),template:G4.nullable().optional(),previewText:e3.optional(),previewMode:t3.optional(),reportClasses:n3.optional(),priority:Z4.optional()}),mfe.extend({id:O(),ownerUserId:O().optional(),lastGeneratedAt:k().optional(),generatedByDevice:L(O(),k()).optional(),createdBy:O(),createdAt:k(),updatedAt:k()});var r3=` · `,hfe=[` — `,` - `,`: `,` `],gfe=new Set([`battery-sensor`,`temperature-sensor`,`humidity-sensor`,`ambient-light-sensor`,`connectivity-sensor`,`datetime-sensor`,`numeric-sensor`,`enum-sensor`]);function i3(e){return e.toLowerCase().replace(/[-_\s]+/g,` `).trim()}function a3(e,t){return i3(e)===i3(t)}function o3(e,t){if(t.length===0)return e;let n=e.toLowerCase(),r=t.toLowerCase();for(let t of hfe){let i=`${r}${t}`;if(n.startsWith(i))return e.slice(i.length).trim()}return e}function s3(e){let t=e.role;return t==null||t.length===0?null:t}function _fe(e){if(e.type===`update`)return!0;let t=s3(e);return t!==null&&gfe.has(t)}function c3(e){let t=e.display?.label;return t==null?``:t.trim()}function l3(e,t,n){let r=c3(e);if(r.length>0)return r;let i=o3(e.name,t.name),a=i.length>0?i:e.name;return e.userNamed===!0?a:i.length===0||a3(i,t.name)||n.isStockPhrase(a,s3(e),e.type)?n.shortNoun(s3(e),e.type):a}function vfe(e,t,n){return a3(n,t.name)?!0:c3(e).length>0||e.userNamed===!0?!1:a3(o3(e.name,t.name),t.name)}function yfe(e){let t=0;for(let n of e)_fe(n)||(t+=1);return t}function bfe(e,t,n){let r=ife(n.map(e=>{let t=s3(e);return{id:e.id,stableId:e.stableId,type:e.type,name:e.name,...t===null?{}:{role:t}}}),t.primaryChildEntityId,t.name);return r!==null&&r.id===e.id}function xfe(e,t,n,r,i){let a=l3(e,t,r);return vfe(e,t,a)||i===`compact`&&t.type===`container`&&bfe(e,t,n)&&yfe(n)===1?t.name:`${t.name}${r3}${a}`}function u3(e,t){if(t==null)return e;let n=t.trim();return n.length===0||e.split(` · `).some(e=>a3(e,n))?e:`${e}${r3}${n}`}function Sfe(e,t){return t===null?!1:e.parentDeviceId!=null}function Cfe(e,t,n,r){if(!Sfe(e,n.parent))return t===`with-location`?u3(e.name,e.location):e.name;if(t===`nested`)return l3(e,n.parent,r);let i=xfe(e,n.parent,n.siblings,r,t===`full`?`full`:`compact`);return t===`with-location`?u3(i,e.location):i}var d3=[{id:`siren`,key:`uiLibrary.deviceMeta.noun.role.siren`,en:`Siren`,it:`Sirena`,shortEn:`Siren`,shortIt:`Sirena`,aliases:[]},{id:`floodlight`,key:`uiLibrary.deviceMeta.noun.role.floodlight`,en:`Floodlight`,it:`Faro`,shortEn:`Floodlight`,shortIt:`Faro`,aliases:[]},{id:`spotlight`,key:`uiLibrary.deviceMeta.noun.role.spotlight`,en:`Spotlight`,it:`Faretto`,shortEn:`Spotlight`,shortIt:`Faretto`,aliases:[]},{id:`pir-sensor`,key:`uiLibrary.deviceMeta.noun.role.pirSensor`,en:`PIR sensor`,it:`Sensore PIR`,shortEn:`PIR`,shortIt:`PIR`,aliases:[]},{id:`chime`,key:`uiLibrary.deviceMeta.noun.role.chime`,en:`Chime`,it:`Campanello`,shortEn:`Chime`,shortIt:`Campanello`,aliases:[]},{id:`autotrack`,key:`uiLibrary.deviceMeta.noun.role.autotrack`,en:`Auto-track`,it:`Auto-tracking`,shortEn:`Auto-track`,shortIt:`Auto-tracking`,aliases:[]},{id:`nightvision`,key:`uiLibrary.deviceMeta.noun.role.nightvision`,en:`Night vision`,it:`Visione notturna`,shortEn:`Night`,shortIt:`Notturna`,aliases:[]},{id:`privacy-mask`,key:`uiLibrary.deviceMeta.noun.role.privacyMask`,en:`Privacy mask`,it:`Maschera privacy`,shortEn:`Privacy`,shortIt:`Privacy`,aliases:[]},{id:`doorbell`,key:`uiLibrary.deviceMeta.noun.role.doorbell`,en:`Doorbell`,it:`Campanello video`,shortEn:`Doorbell`,shortIt:`Campanello video`,aliases:[]},{id:`cover-blind`,key:`uiLibrary.deviceMeta.noun.role.coverBlind`,en:`Blind`,it:`Tapparella`,shortEn:`Blind`,shortIt:`Tapparella`,aliases:[]},{id:`cover-shutter`,key:`uiLibrary.deviceMeta.noun.role.coverShutter`,en:`Shutter`,it:`Persiana`,shortEn:`Shutter`,shortIt:`Persiana`,aliases:[]},{id:`cover-awning`,key:`uiLibrary.deviceMeta.noun.role.coverAwning`,en:`Awning`,it:`Tenda da sole`,shortEn:`Awning`,shortIt:`Tenda da sole`,aliases:[]},{id:`cover-curtain`,key:`uiLibrary.deviceMeta.noun.role.coverCurtain`,en:`Curtain`,it:`Tenda`,shortEn:`Curtain`,shortIt:`Tenda`,aliases:[]},{id:`cover-garage`,key:`uiLibrary.deviceMeta.noun.role.coverGarage`,en:`Garage door`,it:`Porta del garage`,shortEn:`Garage`,shortIt:`Garage`,aliases:[]},{id:`cover-gate`,key:`uiLibrary.deviceMeta.noun.role.coverGate`,en:`Gate`,it:`Cancello`,shortEn:`Gate`,shortIt:`Cancello`,aliases:[]},{id:`cover-door`,key:`uiLibrary.deviceMeta.noun.role.coverDoor`,en:`Door`,it:`Porta`,shortEn:`Door`,shortIt:`Porta`,aliases:[]},{id:`cover-window`,key:`uiLibrary.deviceMeta.noun.role.coverWindow`,en:`Window`,it:`Finestra`,shortEn:`Window`,shortIt:`Finestra`,aliases:[]},{id:`binary-helper`,key:`uiLibrary.deviceMeta.noun.role.binaryHelper`,en:`Binary helper`,it:`Helper binario`,shortEn:`Helper`,shortIt:`Helper`,aliases:[]},{id:`outlet`,key:`uiLibrary.deviceMeta.noun.role.outlet`,en:`Outlet`,it:`Presa`,shortEn:`Outlet`,shortIt:`Presa`,aliases:[]},{id:`motion-sensor`,key:`uiLibrary.deviceMeta.noun.role.motionSensor`,en:`Motion sensor`,it:`Sensore di movimento`,shortEn:`Motion`,shortIt:`Movimento`,aliases:[]},{id:`contact-sensor`,key:`uiLibrary.deviceMeta.noun.role.contactSensor`,en:`Contact sensor`,it:`Sensore di contatto`,shortEn:`Contact`,shortIt:`Contatto`,aliases:[]},{id:`leak-sensor`,key:`uiLibrary.deviceMeta.noun.role.leakSensor`,en:`Leak sensor`,it:`Sensore di perdite`,shortEn:`Leak`,shortIt:`Perdita`,aliases:[]},{id:`smoke-sensor`,key:`uiLibrary.deviceMeta.noun.role.smokeSensor`,en:`Smoke sensor`,it:`Sensore di fumo`,shortEn:`Smoke`,shortIt:`Fumo`,aliases:[]},{id:`co-sensor`,key:`uiLibrary.deviceMeta.noun.role.cOSensor`,en:`CO sensor`,it:`Sensore di CO`,shortEn:`CO`,shortIt:`CO`,aliases:[]},{id:`gas-sensor`,key:`uiLibrary.deviceMeta.noun.role.gasSensor`,en:`Gas sensor`,it:`Sensore di gas`,shortEn:`Gas`,shortIt:`Gas`,aliases:[]},{id:`tamper-sensor`,key:`uiLibrary.deviceMeta.noun.role.tamperSensor`,en:`Tamper sensor`,it:`Sensore antimanomissione`,shortEn:`Tamper`,shortIt:`Manomissione`,aliases:[]},{id:`vibration-sensor`,key:`uiLibrary.deviceMeta.noun.role.vibrationSensor`,en:`Vibration sensor`,it:`Sensore di vibrazione`,shortEn:`Vibration`,shortIt:`Vibrazione`,aliases:[]},{id:`connectivity-sensor`,key:`uiLibrary.deviceMeta.noun.role.connectivitySensor`,en:`Connectivity`,it:`Connettività`,shortEn:`Connectivity`,shortIt:`Connettività`,aliases:[]},{id:`sound-sensor`,key:`uiLibrary.deviceMeta.noun.role.soundSensor`,en:`Sound sensor`,it:`Sensore acustico`,shortEn:`Sound`,shortIt:`Suono`,aliases:[]},{id:`binary-sensor`,key:`uiLibrary.deviceMeta.noun.role.binarySensor`,en:`Binary sensor`,it:`Sensore binario`,shortEn:`Binary`,shortIt:`Binario`,aliases:[]},{id:`temperature-sensor`,key:`uiLibrary.deviceMeta.noun.role.temperatureSensor`,en:`Temperature`,it:`Temperatura`,shortEn:`Temperature`,shortIt:`Temperatura`,aliases:[]},{id:`humidity-sensor`,key:`uiLibrary.deviceMeta.noun.role.humiditySensor`,en:`Humidity`,it:`Umidità`,shortEn:`Humidity`,shortIt:`Umidità`,aliases:[]},{id:`ambient-light-sensor`,key:`uiLibrary.deviceMeta.noun.role.ambientLightSensor`,en:`Ambient light`,it:`Luce ambientale`,shortEn:`Light`,shortIt:`Luce`,aliases:[`Illumination`]},{id:`pressure-sensor`,key:`uiLibrary.deviceMeta.noun.role.pressureSensor`,en:`Pressure`,it:`Pressione`,shortEn:`Pressure`,shortIt:`Pressione`,aliases:[]},{id:`wind-sensor`,key:`uiLibrary.deviceMeta.noun.role.windSensor`,en:`Wind`,it:`Vento`,shortEn:`Wind`,shortIt:`Vento`,aliases:[]},{id:`rain-sensor`,key:`uiLibrary.deviceMeta.noun.role.rainSensor`,en:`Rain`,it:`Pioggia`,shortEn:`Rain`,shortIt:`Pioggia`,aliases:[]},{id:`uv-sensor`,key:`uiLibrary.deviceMeta.noun.role.uvSensor`,en:`UV index`,it:`Indice UV`,shortEn:`UV index`,shortIt:`Indice UV`,aliases:[]},{id:`solar-radiation-sensor`,key:`uiLibrary.deviceMeta.noun.role.solarRadiationSensor`,en:`Solar radiation`,it:`Radiazione solare`,shortEn:`Solar radiation`,shortIt:`Radiazione solare`,aliases:[]},{id:`soil-moisture-sensor`,key:`uiLibrary.deviceMeta.noun.role.soilMoistureSensor`,en:`Soil moisture`,it:`Umidità del suolo`,shortEn:`Soil moisture`,shortIt:`Umidità del suolo`,aliases:[]},{id:`power-sensor`,key:`uiLibrary.deviceMeta.noun.role.powerSensor`,en:`Power`,it:`Potenza`,shortEn:`Power`,shortIt:`Potenza`,aliases:[]},{id:`energy-sensor`,key:`uiLibrary.deviceMeta.noun.role.energySensor`,en:`Energy`,it:`Energia`,shortEn:`Energy`,shortIt:`Energia`,aliases:[]},{id:`voltage-sensor`,key:`uiLibrary.deviceMeta.noun.role.voltageSensor`,en:`Voltage`,it:`Tensione`,shortEn:`Voltage`,shortIt:`Tensione`,aliases:[]},{id:`current-sensor`,key:`uiLibrary.deviceMeta.noun.role.currentSensor`,en:`Current`,it:`Corrente`,shortEn:`Current`,shortIt:`Corrente`,aliases:[]},{id:`air-quality-sensor`,key:`uiLibrary.deviceMeta.noun.role.airQualitySensor`,en:`Air quality`,it:`Qualità dell’aria`,shortEn:`Air quality`,shortIt:`Qualità dell’aria`,aliases:[]},{id:`battery-sensor`,key:`uiLibrary.deviceMeta.noun.role.batterySensor`,en:`Battery`,it:`Batteria`,shortEn:`Battery`,shortIt:`Batteria`,aliases:[]},{id:`numeric-sensor`,key:`uiLibrary.deviceMeta.noun.role.numericSensor`,en:`Numeric sensor`,it:`Sensore numerico`,shortEn:`Value`,shortIt:`Numerico`,aliases:[]},{id:`enum-sensor`,key:`uiLibrary.deviceMeta.noun.role.enumSensor`,en:`Enum sensor`,it:`Sensore a stati`,shortEn:`State`,shortIt:`Stato`,aliases:[]},{id:`datetime-sensor`,key:`uiLibrary.deviceMeta.noun.role.dateTimeSensor`,en:`Date / time`,it:`Data / ora`,shortEn:`Time`,shortIt:`Ora`,aliases:[`Last seen`]},{id:`generic-sensor`,key:`uiLibrary.deviceMeta.noun.role.genericSensor`,en:`Sensor`,it:`Sensore`,shortEn:`Sensor`,shortIt:`Sensore`,aliases:[]},{id:`numeric-control`,key:`uiLibrary.deviceMeta.noun.role.numericControl`,en:`Numeric control`,it:`Controllo numerico`,shortEn:`Number`,shortIt:`Numero`,aliases:[]},{id:`select-control`,key:`uiLibrary.deviceMeta.noun.role.selectControl`,en:`Select control`,it:`Controllo a selezione`,shortEn:`Select`,shortIt:`Selezione`,aliases:[]},{id:`text-control`,key:`uiLibrary.deviceMeta.noun.role.textControl`,en:`Text control`,it:`Controllo testo`,shortEn:`Text`,shortIt:`Testo`,aliases:[]},{id:`datetime-control`,key:`uiLibrary.deviceMeta.noun.role.dateTimeControl`,en:`Date / time control`,it:`Controllo data / ora`,shortEn:`Time`,shortIt:`Ora`,aliases:[]},{id:`mobile-push-notifier`,key:`uiLibrary.deviceMeta.noun.role.mobilePushNotifier`,en:`Mobile push`,it:`Push su mobile`,shortEn:`Push`,shortIt:`Push`,aliases:[]},{id:`messaging-notifier`,key:`uiLibrary.deviceMeta.noun.role.messagingNotifier`,en:`Messaging`,it:`Messaggistica`,shortEn:`Messaging`,shortIt:`Messaggistica`,aliases:[]},{id:`email-notifier`,key:`uiLibrary.deviceMeta.noun.role.emailNotifier`,en:`Email`,it:`Email`,shortEn:`Email`,shortIt:`Email`,aliases:[]},{id:`generic-notifier`,key:`uiLibrary.deviceMeta.noun.role.genericNotifier`,en:`Notifier`,it:`Notificatore`,shortEn:`Notifier`,shortIt:`Notificatore`,aliases:[]}],f3=[{id:`camera`,key:`uiLibrary.deviceMeta.noun.type.camera`,en:`Camera`,it:`Telecamera`,shortEn:`Camera`,shortIt:`Telecamera`,aliases:[]},{id:`hub`,key:`uiLibrary.deviceMeta.noun.type.hub`,en:`Hub`,it:`Hub`,shortEn:`Hub`,shortIt:`Hub`,aliases:[]},{id:`light`,key:`uiLibrary.deviceMeta.noun.type.light`,en:`Light`,it:`Luce`,shortEn:`Light`,shortIt:`Luce`,aliases:[]},{id:`siren`,key:`uiLibrary.deviceMeta.noun.type.siren`,en:`Siren`,it:`Sirena`,shortEn:`Siren`,shortIt:`Sirena`,aliases:[]},{id:`switch`,key:`uiLibrary.deviceMeta.noun.type.switch`,en:`Switch`,it:`Interruttore`,shortEn:`Switch`,shortIt:`Interruttore`,aliases:[]},{id:`sensor`,key:`uiLibrary.deviceMeta.noun.type.sensor`,en:`Sensor`,it:`Sensore`,shortEn:`Sensor`,shortIt:`Sensore`,aliases:[]},{id:`thermostat`,key:`uiLibrary.deviceMeta.noun.type.thermostat`,en:`Thermostat`,it:`Termostato`,shortEn:`Thermostat`,shortIt:`Termostato`,aliases:[]},{id:`climate`,key:`uiLibrary.deviceMeta.noun.type.climate`,en:`Air conditioner`,it:`Condizionatore`,shortEn:`Climate`,shortIt:`Condizionatore`,aliases:[]},{id:`button`,key:`uiLibrary.deviceMeta.noun.type.button`,en:`Button`,it:`Pulsante`,shortEn:`Button`,shortIt:`Pulsante`,aliases:[]},{id:`event-emitter`,key:`uiLibrary.deviceMeta.noun.type.eventEmitter`,en:`Event Emitter`,it:`Emettitore di eventi`,shortEn:`Event`,shortIt:`Evento`,aliases:[]},{id:`update`,key:`uiLibrary.deviceMeta.noun.type.update`,en:`Update`,it:`Aggiornamento`,shortEn:`Update`,shortIt:`Aggiornamento`,aliases:[]},{id:`generic`,key:`uiLibrary.deviceMeta.noun.type.generic`,en:`Generic`,it:`Generico`,shortEn:`Generic`,shortIt:`Generico`,aliases:[]},{id:`notifier`,key:`uiLibrary.deviceMeta.noun.type.notifier`,en:`Notifier`,it:`Notificatore`,shortEn:`Notifier`,shortIt:`Notificatore`,aliases:[]},{id:`script`,key:`uiLibrary.deviceMeta.noun.type.script`,en:`Script`,it:`Script`,shortEn:`Script`,shortIt:`Script`,aliases:[]},{id:`automation`,key:`uiLibrary.deviceMeta.noun.type.automation`,en:`Automation`,it:`Automazione`,shortEn:`Automation`,shortIt:`Automazione`,aliases:[]},{id:`lock`,key:`uiLibrary.deviceMeta.noun.type.lock`,en:`Lock`,it:`Serratura`,shortEn:`Lock`,shortIt:`Serratura`,aliases:[]},{id:`cover`,key:`uiLibrary.deviceMeta.noun.type.cover`,en:`Cover`,it:`Copertura`,shortEn:`Cover`,shortIt:`Copertura`,aliases:[]},{id:`valve`,key:`uiLibrary.deviceMeta.noun.type.valve`,en:`Valve`,it:`Valvola`,shortEn:`Valve`,shortIt:`Valvola`,aliases:[]},{id:`humidifier`,key:`uiLibrary.deviceMeta.noun.type.humidifier`,en:`Humidifier`,it:`Umidificatore`,shortEn:`Humidifier`,shortIt:`Umidificatore`,aliases:[]},{id:`water-heater`,key:`uiLibrary.deviceMeta.noun.type.waterHeater`,en:`Water heater`,it:`Scaldabagno`,shortEn:`Heater`,shortIt:`Scaldabagno`,aliases:[]},{id:`fan`,key:`uiLibrary.deviceMeta.noun.type.fan`,en:`Fan`,it:`Ventilatore`,shortEn:`Fan`,shortIt:`Ventilatore`,aliases:[]},{id:`media-player`,key:`uiLibrary.deviceMeta.noun.type.mediaPlayer`,en:`Media player`,it:`Lettore multimediale`,shortEn:`Player`,shortIt:`Lettore`,aliases:[]},{id:`alarm-panel`,key:`uiLibrary.deviceMeta.noun.type.alarmPanel`,en:`Alarm panel`,it:`Pannello allarme`,shortEn:`Alarm`,shortIt:`Allarme`,aliases:[]},{id:`control`,key:`uiLibrary.deviceMeta.noun.type.control`,en:`Control`,it:`Controllo`,shortEn:`Control`,shortIt:`Controllo`,aliases:[]},{id:`presence`,key:`uiLibrary.deviceMeta.noun.type.presence`,en:`Presence`,it:`Presenza`,shortEn:`Presence`,shortIt:`Presenza`,aliases:[]},{id:`weather`,key:`uiLibrary.deviceMeta.noun.type.weather`,en:`Weather`,it:`Meteo`,shortEn:`Weather`,shortIt:`Meteo`,aliases:[]},{id:`vacuum`,key:`uiLibrary.deviceMeta.noun.type.vacuum`,en:`Vacuum`,it:`Aspirapolvere`,shortEn:`Vacuum`,shortIt:`Aspirapolvere`,aliases:[]},{id:`lawn-mower`,key:`uiLibrary.deviceMeta.noun.type.lawnMower`,en:`Lawn mower`,it:`Tagliaerba`,shortEn:`Mower`,shortIt:`Tagliaerba`,aliases:[]},{id:`container`,key:`uiLibrary.deviceMeta.noun.type.container`,en:`Container`,it:`Contenitore`,shortEn:`Container`,shortIt:`Contenitore`,aliases:[]},{id:`image`,key:`uiLibrary.deviceMeta.noun.type.image`,en:`Image`,it:`Immagine`,shortEn:`Image`,shortIt:`Immagine`,aliases:[]},{id:`pet-feeder`,key:`uiLibrary.deviceMeta.noun.type.petFeeder`,en:`Pet feeder`,it:`Distributore di cibo per animali`,shortEn:`Feeder`,shortIt:`Distributore`,aliases:[]},{id:`dishwasher`,key:`uiLibrary.deviceMeta.noun.type.dishwasher`,en:`Dishwasher`,it:`Lavastoviglie`,shortEn:`Dishwasher`,shortIt:`Lavastoviglie`,aliases:[]}],wfe={id:``,key:`uiLibrary.deviceMeta.noun.fallback`,en:`Device`,it:`Dispositivo`,shortEn:`Device`,shortIt:`Dispositivo`,aliases:[]};function p3(e,t){if(!(t===null||t.length===0))return e.find(e=>e.id===t)}function Tfe(e,t){if(e!==null){let t=p3(d3,e);if(t!==void 0)return t}return p3(f3,t)??wfe}function Efe(e,t){let n=[],r=[p3(d3,e),p3(f3,t)];for(let e of r)e!==void 0&&n.push(e.en,e.it,e.shortEn,e.shortIt,...e.aliases);return n}function Dfe(e,t,n){let r=i3(e);return r.length===0?!0:Efe(t,n).some(e=>i3(e)===r)}function Ofe(){let e=t();return{shortNoun(t,n){let r=Tfe(t,n);return e(r.key,r.shortEn)},isStockPhrase(e,t,n){return Dfe(e,t,n)}}}function kfe(e){return{id:e,name:`#${String(e)}`,type:`unknown`,stableId:``,role:null,parentDeviceId:null}}function Afe(e,t){let n=e.parentDeviceId;return n==null?null:t.byId.get(n)??kfe(n)}function jfe(e,t){let n=e.parentDeviceId;if(n==null)return[];let r=t.childIds.get(n)??[],i=[];for(let e of r){let n=t.byId.get(e);n!==void 0&&i.push(n)}return i.some(t=>t.id===e.id)||i.push(e),i}function Mfe(e,t,n,r,i){let a=n?.byId.get(e.id)??e;return a.parentDeviceId!=null&&n===null&&i?.parent===void 0?a.name:Cfe(a,t,{parent:i?.parent===void 0?n===null?null:Afe(a,n):i.parent,siblings:i?.siblings??(n===null?[]:jfe(a,n))},r)}function Nfe(e,t,n){return Mfe(e,t,Gce(),Ofe(),n)}function m3({device:e,form:t,parent:n,siblings:r,className:i,testId:a}){let o=Nfe(e,t,{...n===void 0?{}:{parent:n},...r===void 0?{}:{siblings:r}});return(0,q.jsx)(`span`,{className:i,title:o,"data-testid":a,children:o})}var Pfe=`capability.binding-changed`;function h3(e,t){let[n,r]=(0,s.useState)(null);return(0,s.useEffect)(()=>{if(t===null){r(null);return}let n=!1,i=async()=>{try{let i=await e.deviceManager.getBindings.query({deviceId:t});n||r(i)}catch{n||r(e=>e)}};i();let a=e.live?.onEvent.subscribe({category:Pfe},{onData:e=>{let n=e.data?.source;if(!n){i();return}n.type===`device`&&n.id===t&&i()}});return()=>{n=!0,a?.unsubscribe()}},[e,t]),(0,s.useMemo)(()=>n?tl(e,n):null,[e,n])}function g3(e){let t=(0,s.useCallback)(t=>e?e.subscribe(()=>t()):()=>void 0,[e]),n=(0,s.useCallback)(()=>e?.value,[e]);return(0,s.useSyncExternalStore)(t,n,n)}function _3(e,t,n){let r=h3(e,t);return g3(r?n(r.state):void 0)}var Ffe=`/addon/snapshot/media`;function Ife(e,t={}){let{width:n,baseUrl:r}=t,[i,a]=(0,s.useState)(0);return{src:(0,s.useMemo)(()=>{if(e===null||e<=0)return null;let t=r===void 0?$0():r.replace(/\/+$/,``),a=new URLSearchParams;n!==void 0&&Number.isInteger(n)&&n>0&&a.set(`w`,String(n)),i>0&&(a.set(`force`,`1`),a.set(`r`,String(i)));let o=a.toString();return`${t}${Ffe}/${String(e)}.jpg${o.length>0?`?${o}`:``}`},[e,n,r,i]),loading:!1,refresh:(0,s.useCallback)(()=>{a(e=>e+1)},[])}}f.Camera;function v3(e){let t=h3(e.trpc,e.deviceId),n=g3(t===null?void 0:e.slice(t)),r=t===null?void 0:e.cap(t),i=g3(t===null?void 0:t.state.deviceStatus),a=i?.online??!0,o=a?null:i?.lastChangedAt??null;return{dev:t,cap:r,slice:n,available:(e.requireFeature===void 0||(e.deviceFeatures??[]).includes(e.requireFeature))&&r!==void 0&&n!==void 0&&a,online:a,offlineSince:o}}cte.exclude([`full`]).options;var Lfe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`div`,{ref:n,className:Z(`animate-pulse bg-surface-hover rounded-md h-4 w-full`,e),...t}));Lfe.displayName=`Skeleton`;var Rfe={danger:{box:`border-danger/40 bg-danger/10`,icon:`text-danger`,title:`text-danger`,message:`text-danger`},warning:{box:`border-amber-500/40 bg-amber-500/10`,icon:`text-amber-600 dark:text-amber-400`,title:`text-amber-700 dark:text-amber-300`,message:`text-amber-700 dark:text-amber-300`}};function y3({message:e,title:n,onRetry:r,action:i,variant:a=`danger`,className:o}){let s=t(),c=Rfe[a],l=a===`warning`?iK:pW;return(0,q.jsxs)(`div`,{role:`alert`,className:Z(`flex items-start gap-2.5 rounded border px-3 py-2.5`,c.box,o),children:[(0,q.jsx)(l,{className:Z(`h-4 w-4 mt-0.5 shrink-0`,c.icon),"aria-hidden":`true`}),(0,q.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[n&&(0,q.jsx)(`p`,{className:Z(`text-xs font-semibold`,c.title),children:n}),(0,q.jsx)(`div`,{className:Z(`text-xs break-words`,c.message,n?`mt-0.5`:``),children:e})]}),i??(r&&(0,q.jsxs)(`button`,{type:`button`,onClick:r,className:Z(`shrink-0 inline-flex items-center gap-1 rounded px-2 py-1 text-[11px] font-medium`,`border border-current/30 hover:bg-current/10 transition-colors`,c.message),children:[(0,q.jsx)(TG,{className:`h-3 w-3`,"aria-hidden":`true`}),s(`uiLibrary.errorBox.retry`,`Retry`)]}))]})}GY(`camstack:vod-playback`,{request:null,play:()=>{},clear:()=>{}});var zfe=WZ(`rounded-lg p-3`,{variants:{variant:{flat:`bg-surface`,bordered:`bg-surface border border-border`}},defaultVariants:{variant:`bordered`}}),b3=(0,s.forwardRef)(({className:e,variant:t,...n},r)=>(0,q.jsx)(`div`,{ref:r,className:Z(zfe({variant:t}),e),...n}));b3.displayName=`Card`;function Bfe(e){if(typeof e!=`object`||!e)return null;let t=Reflect.get(e,`data`);if(typeof t==`object`&&t){let e=Reflect.get(t,`capRouteReason`);if(typeof e==`string`)return e}return null}function Vfe(e){let t=Bfe(e);return t===null?(e instanceof Error?e.message:String(e)).includes(`provider not available`):t===`no-provider`||t===`node-offline`}GY(`camstack:recorded-playback`,{bindControlChannel:null,channelOpen:!1,mode:`live`,positionMs:null,send:()=>!1});var x3=(0,s.createContext)(null);function Hfe(){let e=(0,s.useContext)(x3);if(!e)throw Error(`Dialog compound components must be used within <Dialog>`);return e}function S3({children:e,open:t,onOpenChange:n}){let[r,i]=(0,s.useState)(!1),a=t??r,o=(0,s.useId)(),c=(0,s.useCallback)(e=>{n?.(e),t===void 0&&i(e)},[t,n]);return(0,q.jsx)(x3.Provider,{value:{open:a,setOpen:c,contentId:o},children:e})}var Ufe=WZ(`relative fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 m-0 w-[calc(100vw-2rem)] whitespace-normal bg-background-elevated text-foreground border border-border rounded-lg p-4 backdrop:bg-black/50 backdrop:backdrop-blur-sm max-h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))] [&:not([open])]:hidden`,{variants:{width:{sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-lg`,xl:`max-w-4xl`,full:`max-w-none`},scroll:{content:`overflow-y-auto overscroll-contain`,body:`flex flex-col overflow-hidden overscroll-contain`},placement:{center:``,"sheet-on-mobile":`bottom-0 left-0 right-0 top-auto w-full max-w-full translate-x-0 translate-y-0 rounded-b-none max-h-[92dvh] pb-[calc(1rem+env(safe-area-inset-bottom))] md:left-1/2 md:top-1/2 md:-translate-x-1/2 md:-translate-y-1/2 md:rounded-lg md:bottom-auto md:pb-4 md:max-h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))]`}},compoundVariants:[{placement:`sheet-on-mobile`,width:`sm`,class:`md:w-[calc(100vw-2rem)] md:max-w-sm`},{placement:`sheet-on-mobile`,width:`md`,class:`md:w-[calc(100vw-2rem)] md:max-w-md`},{placement:`sheet-on-mobile`,width:`lg`,class:`md:w-[calc(100vw-2rem)] md:max-w-lg`},{placement:`sheet-on-mobile`,width:`xl`,class:`md:w-[calc(100vw-2rem)] md:max-w-4xl`},{scroll:`body`,placement:`sheet-on-mobile`,class:`h-[92dvh] md:h-auto`},{scroll:`body`,placement:`center`,class:`h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))] md:h-auto`},{width:`full`,class:`left-0 top-0 right-auto bottom-auto translate-x-0 translate-y-0 w-screen max-w-none h-dvh max-h-none rounded-none border-0 pt-[calc(1rem+env(safe-area-inset-top))] pb-[calc(1rem+env(safe-area-inset-bottom))] md:left-0 md:top-0 md:translate-x-0 md:translate-y-0 md:w-screen md:max-w-none md:h-dvh md:max-h-none md:rounded-none md:pb-[calc(1rem+env(safe-area-inset-bottom))]`}],defaultVariants:{width:`md`,placement:`center`,scroll:`content`}}),C3=(0,s.forwardRef)(({className:e,width:n,placement:r,scroll:i,children:a,...o},c)=>{let{open:l,setOpen:u,contentId:d}=Hfe(),f=t(),p=(0,s.useRef)(null),m=c??p;return(0,s.useEffect)(()=>{let e=m.current;e&&(l&&!e.open&&e.showModal(),!l&&e.open&&e.close())},[l,m]),(0,q.jsxs)(`dialog`,{ref:m,id:d,className:Z(Ufe({width:n,placement:r,scroll:i}),e),onClose:()=>u(!1),...o,children:[(0,q.jsx)(KZ,{type:`button`,variant:`ghost`,size:`sm`,icon:_K,"aria-label":f(`uiLibrary.dialog.close`,`Close`),className:`absolute right-4 top-4 z-10 shrink-0`,onClick:()=>u(!1)}),(0,q.jsx)(lX,{id:d,modal:!0,enabled:l,children:a})]})});C3.displayName=`DialogContent`;function w3({className:e,...t}){return(0,q.jsx)(`div`,{className:Z(`flex flex-col gap-1 mb-3 shrink-0 pr-10`,e),...t})}function T3({className:e,...t}){return(0,q.jsx)(`div`,{className:Z(`flex justify-end gap-2 mt-4 shrink-0`,e),...t})}function E3({className:e,...t}){return(0,q.jsx)(`h2`,{className:Z(`text-sm font-semibold text-foreground`,e),...t})}function D3({className:e,...t}){return(0,q.jsx)(`p`,{className:Z(`text-xs text-foreground-muted`,e),...t})}(0,s.lazy)(()=>us(()=>import(`./MotionZonesSettings-B7-Fixls.js`).then(e=>({default:e.MotionZonesSettings})),__vite__mapDeps([0,1,2]))),(0,s.lazy)(()=>us(()=>import(`./PrivacyMaskSettings-DQjOSShv.js`).then(e=>({default:e.PrivacyMaskSettings})),__vite__mapDeps([3,1,2])));var Wfe=Object.defineProperty,O3=Object.getOwnPropertySymbols,k3=Object.prototype.hasOwnProperty,A3=Object.prototype.propertyIsEnumerable,j3=(e,t,n)=>t in e?Wfe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M3=(e,t)=>{for(var n in t||={})k3.call(t,n)&&j3(e,n,t[n]);if(O3)for(var n of O3(t))A3.call(t,n)&&j3(e,n,t[n]);return e},N3=(e,t)=>{var n={};for(var r in e)k3.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&O3)for(var r of O3(e))t.indexOf(r)<0&&A3.call(e,r)&&(n[r]=e[r]);return n},P3;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(P3||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(P3||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(P3||={});var F3=P3,Gfe={L:F3.QrCode.Ecc.LOW,M:F3.QrCode.Ecc.MEDIUM,Q:F3.QrCode.Ecc.QUARTILE,H:F3.QrCode.Ecc.HIGH},I3=128,L3=`L`,R3=`#FFFFFF`,z3=`#000000`,B3=!1,V3=1,Kfe=4,qfe=0,Jfe=.1;function H3(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function U3(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function Yfe(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Jfe),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function Xfe(e,t){return t==null?e?Kfe:qfe:Math.max(Math.floor(t),0)}function W3({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:c}){let l=s.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...F3.QrSegment.makeSegments(t)),e),[]);return F3.QrCode.encodeSegments(r,Gfe[t],n,void 0,void 0,c)},[e,t,n,c]),{cells:u,margin:d,numCells:f,calculatedImageSettings:p}=s.useMemo(()=>{let e=l.getModules(),t=Xfe(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:Yfe(e,o,t,a)}},[l,o,a,r,i]);return{qrcode:l,margin:d,cells:u,numCells:f,calculatedImageSettings:p}}var Zfe=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Qfe=s.forwardRef(function(e,t){let n=e,{value:r,size:i=I3,level:a=L3,bgColor:o=R3,fgColor:c=z3,includeMargin:l=B3,minVersion:u=V3,boostLevel:d,marginSize:f,imageSettings:p}=n,m=N3(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:h}=m,g=N3(m,[`style`]),_=p?.src,v=s.useRef(null),y=s.useRef(null),b=s.useCallback(e=>{v.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[x,S]=s.useState(!1),{margin:ee,cells:C,numCells:te,calculatedImageSettings:ne}=W3({value:r,level:a,minVersion:u,boostLevel:d,includeMargin:l,marginSize:f,imageSettings:p,size:i});s.useEffect(()=>{if(v.current!=null){let e=v.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=y.current,a=ne!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&ne.excavation!=null&&(n=U3(C,ne.excavation));let s=window.devicePixelRatio||1;e.height=e.width=i*s;let l=i/te*s;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,te,te),t.fillStyle=c,Zfe?t.fill(new Path2D(H3(n,ee))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+ee,n+ee,1,1)})}),ne&&(t.globalAlpha=ne.opacity),a&&t.drawImage(r,ne.x+ee,ne.y+ee,ne.w,ne.h)}}),s.useEffect(()=>{S(!1)},[_]);let re=M3({height:i,width:i},h),w=null;return _!=null&&(w=s.createElement(`img`,{src:_,key:_,style:{display:`none`},onLoad:()=>{S(!0)},ref:y,crossOrigin:ne?.crossOrigin})),s.createElement(s.Fragment,null,s.createElement(`canvas`,M3({style:re,height:i,width:i,ref:b,role:`img`},g)),w)});Qfe.displayName=`QRCodeCanvas`;var $fe=s.forwardRef(function(e,t){let n=e,{value:r,size:i=I3,level:a=L3,bgColor:o=R3,fgColor:c=z3,includeMargin:l=B3,minVersion:u=V3,boostLevel:d,title:f,marginSize:p,imageSettings:m}=n,h=N3(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:g,cells:_,numCells:v,calculatedImageSettings:y}=W3({value:r,level:a,minVersion:u,boostLevel:d,includeMargin:l,marginSize:p,imageSettings:m,size:i}),b=_,x=null;m!=null&&y!=null&&(y.excavation!=null&&(b=U3(_,y.excavation)),x=s.createElement(`image`,{href:m.src,height:y.h,width:y.w,x:y.x+g,y:y.y+g,preserveAspectRatio:`none`,opacity:y.opacity,crossOrigin:y.crossOrigin}));let S=H3(b,g);return s.createElement(`svg`,M3({height:i,width:i,viewBox:`0 0 ${v} ${v}`,ref:t,role:`img`},h),!!f&&s.createElement(`title`,null,f),s.createElement(`path`,{fill:o,d:`M0,0 h${v}v${v}H0z`,shapeRendering:`crispEdges`}),s.createElement(`path`,{fill:c,d:S,shapeRendering:`crispEdges`}),x)});$fe.displayName=`QRCodeSVG`,GY(`camstack:instance-picker-slot`,null);var epe=`rounded-lg border border-border bg-surface overflow-hidden`,tpe=`border-b border-border px-3 sm:px-4 py-1.5 sm:py-2`,G3=`p-2 sm:p-3 lg:p-4`,npe=`flex min-w-0 flex-col gap-0.5 py-1.5 sm:flex-row sm:items-center`,rpe=`min-w-0 text-[11px] leading-tight text-foreground-subtle sm:w-32 sm:shrink-0 sm:pr-2`,ipe=`flex w-full min-w-0 items-center gap-1 sm:flex-1`,ape=`min-w-0 break-all text-xs text-foreground sm:truncate`,ope=`text-[10px] sm:text-[11px] font-semibold text-foreground uppercase tracking-wider`,spe=`text-[10px] text-foreground-subtle`,cpe=`inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[10px] font-medium transition-colors`,lpe=`border-primary/50 bg-primary/15 text-primary`,K3=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`label`,{ref:n,className:Z(`text-[10px] uppercase tracking-wider text-foreground-muted font-medium`,e),...t}));K3.displayName=`Label`;var upe=WZ(``,{variants:{orientation:{horizontal:`h-px w-full bg-border-subtle`,vertical:`w-px h-full bg-border-subtle`}},defaultVariants:{orientation:`horizontal`}}),dpe=(0,s.forwardRef)(({className:e,orientation:t,...n},r)=>(0,q.jsx)(`div`,{ref:r,role:`separator`,"aria-orientation":t??`horizontal`,className:Z(upe({orientation:t}),e),...n}));dpe.displayName=`Separator`;var q3=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`input`,{ref:n,type:`checkbox`,className:Z(`w-3.5 h-3.5 rounded-sm border border-border accent-primary`,e),...t}));q3.displayName=`Checkbox`;var fpe=(0,s.forwardRef)(({className:e,state:t,...n},r)=>(0,q.jsx)(`textarea`,{ref:r,className:Z(`w-full px-2.5 py-1.5 text-xs bg-surface border rounded-md text-foreground placeholder:text-foreground-subtle focus:outline-none focus:ring-1 focus:ring-inset focus:ring-primary transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,t===`error`?`border-danger`:`border-border`,e),...n}));fpe.displayName=`Textarea`;var ppe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`input`,{ref:n,type:`range`,className:Z(`accent-primary disabled:opacity-50 disabled:cursor-not-allowed`,e),...t}));ppe.displayName=`Slider`;var mpe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`input`,{ref:n,type:`radio`,className:Z(`accent-primary disabled:opacity-50 disabled:cursor-not-allowed`,e),...t}));mpe.displayName=`Radio`;var hpe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`input`,{ref:n,type:`file`,className:Z(`hidden`,e),...t}));hpe.displayName=`FileInput`;var J3=(0,s.forwardRef)(({className:e,checked:t,onCheckedChange:n,label:r,...i},a)=>(0,q.jsxs)(`button`,{ref:a,role:`switch`,"aria-checked":t,type:`button`,onClick:()=>n(!t),className:Z(`inline-flex items-center gap-2`,e),...i,children:[(0,q.jsx)(`span`,{className:Z(`w-8 h-4 rounded-full transition-colors`,t?`bg-primary`:`bg-surface-hover`),children:(0,q.jsx)(`span`,{className:Z(`block w-3.5 h-3.5 rounded-full bg-white transition-transform`,t?`translate-x-4`:`translate-x-0.5`)})}),r&&(0,q.jsx)(`span`,{className:`text-xs text-foreground`,children:r})]}));J3.displayName=`Switch`;var gpe=(0,s.createContext)(null);function _pe(){let e=(0,s.useContext)(gpe);if(!e)throw Error(`Tabs compound components must be used within <Tabs>`);return e}(0,s.forwardRef)(function({value:e,className:t,...n},r){let{value:i,setValue:a,appearance:o}=_pe(),s=e===i;return(0,q.jsx)(`button`,{ref:r,type:`button`,role:`tab`,"aria-selected":s,"aria-controls":`tabpanel-${e}`,tabIndex:s?0:-1,className:Z(`inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap text-xs px-3 transition-colors`,o===`pills`?s?`rounded-md bg-primary/10 font-medium text-primary`:`rounded-md text-foreground-muted hover:bg-surface-hover hover:text-foreground`:s?`border-b-2 border-primary text-foreground font-medium`:`text-foreground-muted hover:text-foreground`,t),onClick:()=>a(e),...n})});var vpe=(0,s.forwardRef)(({className:e,...t},n)=>(0,q.jsx)(`div`,{ref:n,className:Z(`overflow-auto [&::-webkit-scrollbar]:w-1 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:bg-surface-hover [&::-webkit-scrollbar-thumb]:rounded-full`,e),...t}));vpe.displayName=`ScrollArea`;function ype(e){if(e===null)return;let t=e.trim();return t===``?void 0:t}function bpe(e,t){if(e===null||!Number.isFinite(e)||e<=0)return null;let n=t-e;if(n<=0)return null;let r=Math.floor(n/6e4);return r<60?{minutes:Math.max(1,r)}:{hours:Math.floor(r/60)}}function xpe(e,t,n,r){let i=ype(n);if(e===null)return{key:`unknown`};if(e===!1)return i===void 0?{key:`idle`}:{key:`idle`,phase:i};let a=bpe(t,r);return a===null?i===void 0?{key:`running`}:{key:`running`,phase:i}:{key:`running`,duration:a,...i===void 0?{}:{phase:i}}}function Spe({running:e,children:n,className:r}){let i=t();return e===null?(0,q.jsx)(`span`,{"data-running":`unknown`,className:Z(`inline-flex shrink-0`,r),children:n}):e===!0?(0,q.jsxs)(`span`,{"data-running":`running`,className:Z(`relative inline-flex shrink-0 rounded-full p-0.5`,r),"aria-label":i(`uiLibrary.runningBadge.running`,`Running`),children:[(0,q.jsx)(`span`,{className:`pointer-events-none absolute inset-0 rounded-full border border-primary animate-pulse`,"aria-hidden":!0}),n]}):(0,q.jsxs)(`span`,{"data-running":`idle`,className:Z(`relative inline-flex shrink-0`,r),"aria-label":i(`uiLibrary.runningBadge.idle`,`Idle`),children:[n,(0,q.jsx)(`span`,{className:`pointer-events-none absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-foreground-subtle`,"aria-hidden":!0})]})}function Cpe({page:e,labels:t,onPageChange:n}){let r=e.page===0,i=e.page>=e.pageCount-1;return(0,q.jsxs)(`nav`,{"aria-label":t.navLabel,className:`flex items-center justify-end gap-2 pt-2`,children:[(0,q.jsx)(`span`,{"aria-live":`polite`,className:`text-[11px] tabular-nums text-foreground-subtle`,children:t.range(e.from,e.to,e.total)}),(0,q.jsx)(KZ,{type:`button`,variant:`outline`,size:`sm`,icon:uW,"aria-label":t.previous,title:t.previous,disabled:r,onClick:()=>n(e.page-1)}),(0,q.jsx)(KZ,{type:`button`,variant:`outline`,size:`sm`,icon:dW,"aria-label":t.next,title:t.next,disabled:i,onClick:()=>n(e.page+1)})]})}function wpe(e,t,n){let r=Math.max(1,Math.floor(n)),i=e.length,a=Math.max(1,Math.ceil(i/r)),o=Math.min(Math.max(0,Math.floor(t)),a-1),s=o*r,c=e.slice(s,s+r);return{pageRows:c,page:o,pageCount:a,from:c.length===0?0:s+1,to:s+c.length,total:i}}var Tpe={navLabel:`Table pages`,previous:`Previous page`,next:`Next page`,range:(e,t,n)=>`${e}–${t} of ${n}`},Epe=`__select`,Y3=`cursor-pointer align-middle`;function Dpe({checked:e,indeterminate:t,disabled:n,label:r,onToggle:i}){let a=(0,s.useRef)(null);return(0,s.useEffect)(()=>{a.current!==null&&(a.current.indeterminate=t)},[t]),(0,q.jsx)(q3,{ref:a,"aria-label":r,checked:e,disabled:n,onChange:i,className:Y3})}function Ope(e,t,n){let r=e.isSelectable??(()=>!0),i=t.filter(r).map(n),a=i.filter(t=>e.selected.has(t)).length,o=i.length>0&&a===i.length,s=()=>{let t=new Set(e.selected);for(let e of i)o?t.delete(e):t.add(e);e.onChange(t)},c=t=>{let n=new Set(e.selected);n.has(t)?n.delete(t):n.add(t),e.onChange(n)};return{key:Epe,width:`w-8`,headerRender:()=>(0,q.jsx)(Dpe,{checked:o,indeterminate:a>0&&!o,disabled:i.length===0,label:e.pageLabel,onToggle:s}),render:t=>{if(!r(t))return null;let i=n(t);return(0,q.jsx)(q3,{"aria-label":e.rowLabel(t),checked:e.selected.has(i),onChange:()=>c(i),onClick:e=>e.stopPropagation(),className:Y3})}}}function kpe({label:e,active:t,dir:n,onSort:r}){return(0,q.jsxs)(`button`,{type:`button`,onClick:r,className:`group/sort inline-flex items-center gap-0.5 hover:text-foreground transition-colors`,children:[(0,q.jsx)(`span`,{children:e}),t?n===`asc`?(0,q.jsx)(fW,{className:`h-3 w-3 flex-shrink-0`}):(0,q.jsx)(lW,{className:`h-3 w-3 flex-shrink-0`}):(0,q.jsx)(fW,{className:Z(`h-3 w-3 flex-shrink-0 opacity-0 transition-opacity`,`group-hover/sort:opacity-30`)})]})}function Ape(e,t){return!e||t===null?`asc`:t===`asc`?`desc`:null}function jpe(e,t){let n=Ape(e!==null&&e.columnKey===t,e===null?null:e.dir);return n===null?null:{columnKey:t,dir:n}}function Mpe(e,t){return typeof e==`number`&&typeof t==`number`?e-t:String(e).localeCompare(String(t))}function Npe(e,t,n){if(t===null)return[...e];let r=t.dir===`asc`?1:-1;return e.toSorted((e,t)=>{let i=n(e),a=n(t);return i===null||a===null?i===a?0:i===null?1:-1:r*Mpe(i,a)})}function Ppe(e,t){return e===null||e.columnKey!==t?`none`:e.dir===`asc`?`ascending`:`descending`}var X3={left:`text-left`,right:`text-right`,center:`text-center`};function Fpe({columns:e,rows:t,rowKey:n,onRowClick:r,minWidthPx:i=480,emptyMessage:a,className:o,bordered:c=!0,rowClassName:l,rowState:u,maxBodyHeight:d,fill:f=!1,defaultSort:p,sort:m,onSortChange:h,pageSize:g,page:_,onPageChange:v,paginationLabels:y=Tpe,selection:b,renderExpanded:x,isExpanded:S}){let[ee,C]=(0,s.useState)(p??null),[te,ne]=(0,s.useState)(0),re=m===void 0?ee:m,w=e=>{m===void 0&&C(e),h?.(e)},ie=e=>{_===void 0&&ne(e),v?.(e)},ae=f||d!==void 0,oe=f?`h-full min-h-0`:d??``,se=(0,s.useMemo)(()=>re===null?void 0:e.find(e=>e.key===re.columnKey&&e.sortValue!==void 0),[e,re]),ce=se?.sortValue,le=(0,s.useMemo)(()=>ce===void 0?t:Npe(t,re,ce),[t,re,ce]),T=se===void 0?null:re,E=g===void 0?null:wpe(le,_??te,g),ue=E===null?le:E.pageRows,de=E!==null&&E.pageCount>1?(0,q.jsx)(Cpe,{page:E,labels:y,onPageChange:ie}):null,fe=b===void 0?e:[Ope(b,ue,e=>String(n?n(e,t.indexOf(e)):t.indexOf(e))),...e];if(t.length===0&&a)return(0,q.jsx)(`div`,{className:`rounded-lg ${c?`border border-border`:``} bg-surface px-3 py-4 text-xs text-foreground-subtle text-center ${o??``}`,children:a});if(t.length===0)return null;let pe=(0,q.jsx)(`div`,{className:[`rounded-lg`,c?`border border-border`:``,`bg-surface overflow-x-auto`,ae?`${oe} overflow-y-auto`:``,f?`min-h-0 flex-1`:``,!f&&de===null?o??``:``].filter(Boolean).join(` `),children:(0,q.jsxs)(`table`,{className:`w-full text-xs ${ae?`border-separate border-spacing-0`:``}`,style:{minWidth:`${i}px`},children:[(0,q.jsx)(`thead`,{className:`bg-surface`,children:(0,q.jsx)(`tr`,{children:fe.map(e=>{let t=e.align??`left`,n=e.nowrap??!0,r=e.sortValue!==void 0,i=T!==null&&T.columnKey===e.key;return(0,q.jsx)(`th`,{"aria-sort":r?Ppe(T,e.key):void 0,title:r?void 0:e.notSortableReason,className:[`px-3 py-2 text-foreground-subtle font-medium bg-surface border-b border-border`,ae?`sticky top-0 z-10`:``,X3[t],n?`whitespace-nowrap`:``,e.width??``].filter(Boolean).join(` `),children:r?(0,q.jsx)(kpe,{label:e.headerRender?e.headerRender():e.header,active:i,dir:i&&T!==null?T.dir:`asc`,onSort:()=>w(jpe(re,e.key))}):e.headerRender?e.headerRender():e.header},e.key)})})}),(0,q.jsx)(`tbody`,{children:ue.map((e,t)=>{let i=n?n(e,t):t,a=l?.(e,t)??``,o=u?.(e,t),c=o?.kind===`pending`,d=r!==void 0&&!c,f=x!==void 0&&S?.(e)===!0?x(e,t):null;return(0,q.jsxs)(s.Fragment,{children:[(0,q.jsx)(`tr`,{onClick:d?()=>r?.(e,t):void 0,"aria-busy":c?!0:void 0,title:o?.kind===`failed`?o.message:void 0,className:[d?`cursor-pointer hover:bg-primary/5`:`hover:bg-primary/5`,c?`opacity-60 pointer-events-none`:``,o?.kind===`failed`?`bg-danger/5`:``,a].filter(Boolean).join(` `),children:fe.map(n=>{let r=n.align??`left`,i=n.nowrap??!0;return(0,q.jsx)(`td`,{"data-cell":n.key,className:[`px-3 py-2 text-foreground border-b border-border`,X3[r],i?`whitespace-nowrap`:``].filter(Boolean).join(` `),children:n.render(e,t)},n.key)})}),f!==null&&(0,q.jsx)(`tr`,{"data-expanded-row":``,className:`bg-surface`,children:(0,q.jsx)(`td`,{colSpan:fe.length,className:`border-b border-border px-3 py-2`,children:f})})]},i)})})]})});return de===null?f?(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col ${o??``}`,children:pe}):pe:(0,q.jsxs)(`div`,{className:f?`flex min-h-0 flex-1 flex-col ${o??``}`:o,children:[pe,de]})}function Z3({label:e,children:t,actions:n,elements:r=`plain`,className:i,valueClassName:a}){let o=r===`description`?`dt`:`span`,s=r===`description`?`dd`:`div`;return(0,q.jsxs)(`div`,{"data-setting-row":``,className:Z(npe,i),children:[(0,q.jsx)(o,{"data-setting-row-label":``,className:rpe,children:e}),(0,q.jsxs)(s,{"data-setting-row-value":``,className:ipe,children:[(0,q.jsx)(`span`,{"data-setting-row-value-text":``,className:Z(ape,a),children:t}),n!==void 0&&(0,q.jsx)(`span`,{className:`flex shrink-0 items-center gap-0.5`,children:n})]})]})}function Q3({headingId:e,title:t,icon:n,actions:r,testId:i,children:a}){return(0,q.jsxs)(`section`,{"aria-labelledby":e,className:epe,"data-testid":i,children:[(0,q.jsxs)(`header`,{className:`${tpe} flex min-h-9 flex-wrap items-center gap-2`,children:[n!==void 0&&(0,q.jsx)(n,{className:`h-3.5 w-3.5 shrink-0 text-foreground-subtle`,"aria-hidden":!0}),(0,q.jsx)(`h2`,{id:e,className:`${ope} min-w-0 flex-1`,children:t}),r]}),a]})}var Ipe=5*6e4,Lpe=720*6e4,Rpe=`camstack:turn-servers:v1`;function zpe(){let e=globalThis;try{return e.localStorage??null}catch{return null}}function Bpe(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.fetchedAt!=`number`||!Array.isArray(t.servers)?!1:t.servers.every(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return!(!(typeof t.urls==`string`||Array.isArray(t.urls)&&t.urls.every(e=>typeof e==`string`))||t.username!==void 0&&typeof t.username!=`string`||t.credential!==void 0&&typeof t.credential!=`string`)})}new class{freshTtlMs;staleCapMs;storage;now;storageKey;memory=new WeakMap;inflight=new WeakMap;constructor(e={}){this.freshTtlMs=e.freshTtlMs??Ipe,this.staleCapMs=e.staleCapMs??Lpe,this.storage=`storage`in e?e.storage??null:zpe(),this.now=e.now??(()=>Date.now()),this.storageKey=e.storageKey??Rpe}async getOrFetch(e,t){let n=this.now(),r=this.memory.get(e)??this.readStorage();if(r){let i=n-r.fetchedAt;if(i<this.freshTtlMs)return r.servers;if(i<this.staleCapMs)return this.startFetch(e,t,r),r.servers}return this.startFetch(e,t,r)}startFetch(e,t,n){let r=this.inflight.get(e);if(r)return r;let i=(async()=>{try{let n=await t();if(n.length>0){let t={servers:n,fetchedAt:this.now()};this.memory.set(e,t),this.writeStorage(t)}return n}catch{return n?.servers}})().finally(()=>{this.inflight.delete(e)});return this.inflight.set(e,i),i}readStorage(){if(this.storage)try{let e=this.storage.getItem(this.storageKey);if(e===null)return;let t=JSON.parse(e);return Bpe(t)?t:void 0}catch{return}}writeStorage(e){if(this.storage)try{this.storage.setItem(this.storageKey,JSON.stringify(e))}catch{}}};var $3=[`day`,`ir`],Vpe={day:{labelKey:`uiLibrary.sceneMonitor.variant.day`,labelFallback:`Daylight`},ir:{labelKey:`uiLibrary.sceneMonitor.variant.ir`,labelFallback:`Night (IR)`},night:{labelKey:`uiLibrary.sceneMonitor.variant.night`,labelFallback:`Night`},dawn:{labelKey:`uiLibrary.sceneMonitor.variant.dawn`,labelFallback:`Dawn`},dusk:{labelKey:`uiLibrary.sceneMonitor.variant.dusk`,labelFallback:`Dusk`}};function e6(e,t=i){let n=Vpe[e];return n===void 0?e:t(n.labelKey,n.labelFallback)}function Hpe(e,t=i){let n=new Set(e.coveredConditions),r=$3.map(e=>`${e6(e,t)} ${n.has(e)?`✓`:`✗`}`),a=[...n].filter(e=>!$3.some(t=>t===e));for(let e of a)r.push(`${e6(e,t)} ✓`);let o=$3.filter(e=>!n.has(e));if(o.length===0)return r.join(` · `);if(n.size===0)return t(`uiLibrary.sceneMonitor.coverage.empty`,`{{parts}} — nothing captured yet, so this scene is not watching.`,{parts:r.join(` · `)});let[s=``,c]=o.map(e=>e6(e,t).toLowerCase()),l=c===void 0?s:t(`uiLibrary.sceneMonitor.coverage.namesJoin`,`{{first}} and {{second}}`,{first:s,second:c}),u={parts:r.join(` · `),names:l};return e.onUncoveredCondition===`judge-anyway`?t(`uiLibrary.sceneMonitor.coverage.judgeAnyway`,`{{parts}} — {{names}} judged against the references you do have.`,u):t(`uiLibrary.sceneMonitor.coverage.skip`,`{{parts}} — optional; checks in {{names}} are skipped.`,u)}function Upe(e,t=i){return e.suspendedCondition===null?null:t(`uiLibrary.sceneMonitor.suspension`,`Paused — nothing was captured in {{light}}, so checks are on hold until the light changes back. Capture {{light}} if you want it watched around the clock.`,{light:e6(e.suspendedCondition,t).toLowerCase()})}var Wpe={"no-reference-for-condition":{key:`uiLibrary.sceneMonitor.unavailable.no_reference_for_condition`,fallback:`can’t tell — nothing has been captured for this scene yet. Press “Capture daylight” to photograph what normal looks like.`},"view-shifted":{key:`uiLibrary.sceneMonitor.unavailable.view_shifted`,fallback:`can’t tell — the camera view has moved since the reference was captured. Re-capture it.`},"no-vision-profile":{key:`uiLibrary.sceneMonitor.unavailable.no_vision_profile`,fallback:`can’t tell — the vision model is unreachable, so the change is on hold.`},"encoder-model-changed":{key:`uiLibrary.sceneMonitor.unavailable.encoder_model_changed`,fallback:`can’t tell — the embedding model changed, so the stored references are unreadable. Re-capture them.`},"no-snapshot":{key:`uiLibrary.sceneMonitor.unavailable.no_snapshot`,fallback:`can’t tell — this camera did not return a frame.`}};function Gpe(e,t,n=i){if(e.states.length===0)return n(`uiLibrary.sceneMonitor.status.notArmed`,`Not armed yet — capture the initial state to start watching.`);if(e.verdict===`unknown`){if(e.unavailable===null)return n(`uiLibrary.sceneMonitor.status.cantTellNow`,`can’t tell right now.`);let t=Wpe[e.unavailable];return n(t.key,t.fallback)}let r=e.verdict===`diverged`?e.divergedAt:e.armedAt,a=r===null?``:` ${n(`uiLibrary.sceneMonitor.status.heldFor`,`for {{duration}}`,{duration:Ype(Math.max(0,t-r))})}`;if(e.latched)return e.verdict===`diverged`?n(`uiLibrary.sceneMonitor.status.changedLatched`,`CHANGED{{held}} — press Reset when you have dealt with it.`,{held:a}):n(`uiLibrary.sceneMonitor.status.backToNormal`,`Back to normal, but still flagged as changed{{held}}. Press Reset to clear it.`,{held:a});let o=Upe(e,n);return o===null?e.verdict===`diverged`?n(`uiLibrary.sceneMonitor.status.changed`,`CHANGED{{held}}`,{held:a}):n(`uiLibrary.sceneMonitor.status.normal`,`Normal{{held}}`,{held:a}):o}function Kpe(e,t=i){return e.states.length===0?{text:t(`uiLibrary.sceneMonitor.badge.notArmed`,`Not armed`),tone:`unknown`}:e.latched?{text:t(`uiLibrary.sceneMonitor.badge.changed`,`Changed`),tone:`alarm`}:e.suspendedCondition===null?e.verdict===`unknown`?{text:t(`uiLibrary.sceneMonitor.badge.cantTell`,`Can’t tell`),tone:`unknown`}:e.verdict===`diverged`?{text:t(`uiLibrary.sceneMonitor.badge.changed`,`Changed`),tone:`alarm`}:{text:t(`uiLibrary.sceneMonitor.badge.normal`,`Normal`),tone:`ok`}:{text:t(`uiLibrary.sceneMonitor.badge.paused`,`Paused`),tone:`unknown`}}var qpe=.4;function Jpe(e){return e.width*e.height>qpe}function Ype(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<48?`${r}h`:`${Math.floor(r/24)}d`}function Xpe({label:e,icon:n,title:r,description:i,confirmLabel:a,triggerVariant:o=`outline`,confirmVariant:c=`danger`,size:l=`sm`,disabled:u,className:d,action:f,onSuccess:p}){let m=t(),[h,g]=(0,s.useState)(!1),[_,v]=(0,s.useState)(!1),[y,b]=(0,s.useState)(null),x=async()=>{b(null),v(!0);try{let e=await f();p?.(e),g(!1)}catch(e){b(e instanceof Error?e.message:String(e))}finally{v(!1)}};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(uQ,{type:`button`,variant:o,size:l,disabled:u,onClick:()=>{b(null),g(!0)},className:d,children:[n&&(0,q.jsx)(n,{className:`h-3.5 w-3.5`}),e]}),(0,q.jsx)(S3,{open:h,onOpenChange:e=>!_&&g(e),children:(0,q.jsxs)(C3,{children:[(0,q.jsxs)(w3,{children:[(0,q.jsxs)(E3,{className:`flex items-center gap-2`,children:[(0,q.jsx)(iK,{className:`h-4 w-4 text-amber-400`}),r??m(`uiLibrary.confirmActionButton.defaultTitle`,`Confirm action`)]}),typeof i==`string`?(0,q.jsx)(D3,{children:i}):i]}),y&&(0,q.jsx)(`div`,{className:Z(`mt-2 px-3 py-2 rounded border border-danger/40 bg-danger/10`,`text-xs text-danger`),children:y}),(0,q.jsxs)(T3,{children:[(0,q.jsx)(uQ,{type:`button`,variant:`ghost`,size:l,disabled:_,onClick:()=>g(!1),children:m(`uiLibrary.confirmActionButton.cancel`,`Cancel`)}),(0,q.jsxs)(uQ,{type:`button`,variant:c,size:l,disabled:_,onClick:()=>{x()},children:[_&&(0,q.jsx)(ZW,{className:`h-3.5 w-3.5 animate-spin`}),a??e]})]})]})})]})}var t6=$S(),Zpe=new Set([`live`,`recording`,`heatmapScrub`]);Object.freeze(Object.fromEntries(US.filter(e=>!Zpe.has(e)).map(e=>[e,tC(t6.swatches,t6.fallbacks,e)])));function Qpe(e){let t=e[0];if(t===void 0)throw Error(`display palette has no fallback colour`);return t}Qpe(t6.fallbacks),$S(),(0,s.createContext)({status:`absent`});var $pe=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},n6=class{constructor(e){this.generateIdentifier=e,this.kv=new $pe}register(e,t){this.kv.getByValue(e)||(t||=this.generateIdentifier(e),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},eme=class extends n6{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t==`object`?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};function tme(e){if(`values`in Object)return Object.values(e);let t=[];for(let n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function nme(e,t){let n=tme(e);if(`find`in n)return n.find(t);let r=n;for(let e=0;e<r.length;e++){let n=r[e];if(t(n))return n}}function r6(e,t){Object.entries(e).forEach(([e,n])=>t(n,e))}function i6(e,t){return e.indexOf(t)!==-1}function a6(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return r}}var rme=class{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return nme(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}},ime=e=>Object.prototype.toString.call(e).slice(8,-1),o6=e=>e===void 0,ame=e=>e===null,s6=e=>typeof e!=`object`||!e||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,c6=e=>s6(e)&&Object.keys(e).length===0,l6=e=>Array.isArray(e),ome=e=>typeof e==`string`,sme=e=>typeof e==`number`&&!isNaN(e),cme=e=>typeof e==`boolean`,lme=e=>e instanceof RegExp,u6=e=>e instanceof Map,d6=e=>e instanceof Set,f6=e=>ime(e)===`Symbol`,ume=e=>e instanceof Date&&!isNaN(e.valueOf()),p6=e=>e instanceof Error,m6=e=>typeof e==`number`&&isNaN(e),dme=e=>cme(e)||ame(e)||o6(e)||sme(e)||ome(e)||f6(e),fme=e=>typeof e==`bigint`,pme=e=>e===1/0||e===-1/0,mme=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),hme=e=>e instanceof URL,h6=e=>e.replace(/\\/g,`\\\\`).replace(/\./g,`\\.`),g6=e=>e.map(String).map(h6).join(`.`),_6=(e,t)=>{let n=[],r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);if(!t&&a===`\\`){let t=e.charAt(i+1);if(t===`\\`){r+=`\\`,i++;continue}else if(t!==`.`)throw Error(`invalid path`)}if(a===`\\`&&e.charAt(i+1)===`.`){r+=`.`,i++;continue}if(a===`.`){n.push(r),r=``;continue}r+=a}let i=r;return n.push(i),n};function v6(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var y6=[v6(o6,`undefined`,()=>null,()=>void 0),v6(fme,`bigint`,e=>e.toString(),e=>typeof BigInt<`u`?BigInt(e):(console.error(`Please add a BigInt polyfill.`),e)),v6(ume,`Date`,e=>e.toISOString(),e=>new Date(e)),v6(p6,`Error`,(e,t)=>{let n={name:e.name,message:e.message};return`cause`in e&&(n.cause=e.cause),t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n},(e,t)=>{let n=Error(e.message,{cause:e.cause});return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n}),v6(lme,`regexp`,e=>``+e,e=>{let t=e.slice(1,e.lastIndexOf(`/`)),n=e.slice(e.lastIndexOf(`/`)+1);return new RegExp(t,n)}),v6(d6,`set`,e=>[...e.values()],e=>new Set(e)),v6(u6,`map`,e=>[...e.entries()],e=>new Map(e)),v6(e=>m6(e)||pme(e),`number`,e=>m6(e)?`NaN`:e>0?`Infinity`:`-Infinity`,Number),v6(e=>e===0&&1/e==-1/0,`number`,()=>`-0`,Number),v6(hme,`URL`,e=>e.toString(),e=>new URL(e))];function b6(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var x6=b6((e,t)=>f6(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>[`symbol`,t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{let r=n.symbolRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown symbol`);return r}),gme=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),S6=b6(mme,e=>[`typed-array`,e.constructor.name],e=>[...e],(e,t)=>{let n=gme[t[1]];if(!n)throw Error(`Trying to deserialize unknown typed array`);return new n(e)});function C6(e,t){return e?.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var w6=b6(C6,(e,t)=>[`class`,t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{let n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};let r={};return n.forEach(t=>{r[t]=e[t]}),r},(e,t,n)=>{let r=n.classRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(r.prototype),e)}),T6=b6((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>[`custom`,t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{let r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw Error(`Trying to deserialize unknown custom value`);return r.deserialize(e)}),_me=[w6,x6,T6,S6],E6=(e,t)=>{let n=a6(_me,n=>n.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};let r=a6(y6,n=>n.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},D6={};y6.forEach(e=>{D6[e.annotation]=e});var vme=(e,t,n)=>{if(l6(t))switch(t[0]){case`symbol`:return x6.untransform(e,t,n);case`class`:return w6.untransform(e,t,n);case`custom`:return T6.untransform(e,t,n);case`typed-array`:return S6.untransform(e,t,n);default:throw Error(`Unknown transformation: `+t)}else{let r=D6[t];if(!r)throw Error(`Unknown transformation: `+t);return r.untransform(e,n)}},O6=(e,t)=>{if(t>e.size)throw Error(`index out of bounds`);let n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function k6(e){if(i6(e,`__proto__`))throw Error(`__proto__ is not allowed as a property`);if(i6(e,`prototype`))throw Error(`prototype is not allowed as a property`);if(i6(e,`constructor`))throw Error(`constructor is not allowed as a property`)}var yme=(e,t)=>{k6(t);for(let n=0;n<t.length;n++){let r=t[n];if(d6(e))e=O6(e,+r);else if(u6(e)){let i=+r,a=+t[++n]==0?`key`:`value`,o=O6(e,i);switch(a){case`key`:e=o;break;case`value`:e=e.get(o);break}}else e=e[r]}return e},A6=(e,t,n)=>{if(k6(t),t.length===0)return n(e);let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];if(l6(r)){let e=+n;r=r[e]}else if(s6(r))r=r[n];else if(d6(r)){let e=+n;r=O6(r,e)}else if(u6(r)){if(e===t.length-2)break;let i=+n,a=+t[++e]==0?`key`:`value`,o=O6(r,i);switch(a){case`key`:r=o;break;case`value`:r=r.get(o);break}}}let i=t[t.length-1];if(l6(r)?r[+i]=n(r[+i]):s6(r)&&(r[i]=n(r[i])),d6(r)){let e=O6(r,+i),t=n(e);e!==t&&(r.delete(e),r.add(t))}if(u6(r)){let e=+t[t.length-2],a=O6(r,e);switch(+i==0?`key`:`value`){case`key`:{let e=n(a);r.set(e,r.get(a)),e!==a&&r.delete(a);break}case`value`:r.set(a,n(r.get(a)));break}}return e},j6=e=>e<1;function M6(e,t,n,r=[]){if(!e)return;let i=j6(n);if(!l6(e)){r6(e,(e,a)=>M6(e,t,n,[...r,..._6(a,i)]));return}let[a,o]=e;o&&r6(o,(e,a)=>{M6(e,t,n,[...r,..._6(a,i)])}),t(a,r)}function bme(e,t,n,r){return M6(t,(t,n)=>{e=A6(e,n,e=>vme(e,t,r))},n),e}function xme(e,t,n){let r=j6(n);function i(t,n){let i=yme(e,_6(n,r));t.map(e=>_6(e,r)).forEach(t=>{e=A6(e,t,()=>i)})}if(l6(t)){let[n,a]=t;n.forEach(t=>{e=A6(e,_6(t,r),()=>e)}),a&&r6(a,i)}else r6(t,i);return e}var Sme=(e,t)=>s6(e)||l6(e)||u6(e)||d6(e)||p6(e)||C6(e,t);function Cme(e,t,n){let r=n.get(e);r?r.push(t):n.set(e,[t])}function wme(e,t){let n={},r;return e.forEach(e=>{if(e.length<=1)return;t||(e=e.map(e=>e.map(String)).sort((e,t)=>e.length-t.length));let[i,...a]=e;i.length===0?r=a.map(g6):n[g6(i)]=a.map(g6)}),r?c6(n)?[r]:[r,n]:c6(n)?void 0:n}var N6=(e,t,n,r,i=[],a=[],o=new Map)=>{let s=dme(e);if(!s){Cme(e,i,t);let n=o.get(e);if(n)return r?{transformedValue:null}:n}if(!Sme(e,n)){let t=E6(e,n),r=t?{transformedValue:t.value,annotations:[t.type]}:{transformedValue:e};return s||o.set(e,r),r}if(i6(a,e))return{transformedValue:null};let c=E6(e,n),l=c?.value??e,u=l6(l)?[]:{},d={};r6(l,(s,c)=>{if(c===`__proto__`||c===`constructor`||c===`prototype`)throw Error(`Detected property ${c}. This is a prototype pollution risk, please remove it from your object.`);let l=N6(s,t,n,r,[...i,c],[...a,e],o);u[c]=l.transformedValue,l6(l.annotations)?d[h6(c)]=l.annotations:s6(l.annotations)&&r6(l.annotations,(e,t)=>{d[h6(c)+`.`+t]=e})});let f=c6(d)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,d]:d};return s||o.set(e,f),f};function P6(e){return Object.prototype.toString.call(e).slice(8,-1)}function F6(e){return P6(e)===`Array`}function Tme(e){if(P6(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function Eme(e,t,n,r,i){let a={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;a===`enumerable`&&(e[t]=n),i&&a===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function I6(e,t={}){if(F6(e))return e.map(e=>I6(e,t));if(!Tme(e))return e;let n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((n,r)=>{if(r===`__proto__`||F6(t.props)&&!t.props.includes(r))return n;let i=e[r];return Eme(n,r,I6(i,t),e,t.nonenumerable),n},{})}var L6=class{constructor({dedupe:e=!1}={}){this.classRegistry=new eme,this.symbolRegistry=new n6(e=>e.description??``),this.customTransformerRegistry=new rme,this.allowedErrorProps=[],this.dedupe=e}serialize(e){let t=new Map,n=N6(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});let i=wme(t,this.dedupe);return i&&(r.meta={...r.meta,referentialEqualities:i}),r.meta&&(r.meta.v=1),r}deserialize(e,t){let{json:n,meta:r}=e,i=t?.inPlace?n:I6(n);return r?.values&&(i=bme(i,r.values,r.v??0,this)),r?.referentialEqualities&&(i=xme(i,r.referentialEqualities,r.v??0)),i}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e),{inPlace:!0})}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};L6.defaultInstance=new L6,L6.serialize=L6.defaultInstance.serialize.bind(L6.defaultInstance),L6.deserialize=L6.defaultInstance.deserialize.bind(L6.defaultInstance),L6.stringify=L6.defaultInstance.stringify.bind(L6.defaultInstance),L6.parse=L6.defaultInstance.parse.bind(L6.defaultInstance),L6.registerClass=L6.defaultInstance.registerClass.bind(L6.defaultInstance),L6.registerSymbol=L6.defaultInstance.registerSymbol.bind(L6.defaultInstance),L6.registerCustom=L6.defaultInstance.registerCustom.bind(L6.defaultInstance),L6.allowErrorProps=L6.defaultInstance.allowErrorProps.bind(L6.defaultInstance),L6.serialize,L6.deserialize,L6.stringify,L6.parse,L6.registerClass,L6.registerCustom,L6.registerSymbol,L6.allowErrorProps;var Dme=function(e){return e.Motion=`motion`,e.Person=`person`,e.Vehicle=`vehicle`,e.Animal=`animal`,e.Audio=`audio`,e.Face=`face`,e.Plate=`plate`,e.Package=`package`,e.Doorbell=`doorbell`,e.Sensor=`sensor`,e}({}),Ome=`animal.dog_cat.dog.cat.horse.sheep.cow.elephant.bear.zebra.giraffe.mouse.rabbit.deer.lion.tiger.bird.eagle.owl.pigeon.fish.whale.dolphin.snake.turtle.lizard`.split(`.`),kme=[`person`,`people`,`pedestrian`,`rider`,`driver`,`cyclist`,`skier`,`skateboarder`,`face`,`hand`,`head`,`body`],Ame=[`vehicle`,`car`,`truck`,`bus`,`motorcycle`,`bicycle`,`van`,`ambulance`,`police_car`,`fire_truck`,`train`,`subway`,`tram`,`airplane`,`boat`,`ship`,`helicopter`],jme=`face.eyes.nose.mouth.ears.eyebrows.left_eye.right_eye.pupil.iris.eyelid.eye_corner.upper_lip.lower_lip.teeth.chin.cheek.forehead.jaw.glasses.sunglasses.facial_hair.beard.mustache.facial_landmark.facial_keypoint`.split(`.`),Mme=[`plate`,`license_plate`,`front_plate`,`rear_plate`,`motorcycle_plate`,`temporary_plate`,`dealer_plate`,`licensePlate`,`plate_number`,`plate_character`,`plate_digit`,`plate_letter`,`plate_symbol`,`plate_region`,`plate_country_identifier`,`plate_frame`,`plate_bolt`,`plate_sticker`,`plate_validation_tag`,`damaged_plate`,`obscured_plate`,`dirty_plate`],Nme=[`motion`,`movement`,`other`],Pme=[`package`,`packet`],Fme=[`audio`],Ime=`speech.scream.babbling.yell.bellow.whoop.whispering.laughter.snicker.crying.cry.sigh.singing.choir.chant.mantra.child_singing.rapping.humming.groan.grunt.whistling.breathing.wheeze.snoring.gasp.pant.snort.cough.throat_clearing.sneeze.sniff.cheering.applause.chatter.crowd.children_playing.bark.yip.howl.bow-wow.growling.whimper_dog.purr.meow.hiss.caterwaul.pets.livestock.doorbell.ding-dong.door.slam.knock.alarm.telephone.music.dog.dogs`.split(`.`),Lme=[`doorbell`,`ring`],Rme=[`lock`,`binary`,`flood`,`entry`,`door`,`leak`,`door_open`,`flooded`,`entry_open`];({...Ome.reduce((e,t)=>({...e,[t]:`animal`}),{}),...kme.reduce((e,t)=>({...e,[t]:`person`}),{}),...Ame.reduce((e,t)=>({...e,[t]:`vehicle`}),{}),...Nme.reduce((e,t)=>({...e,[t]:`motion`}),{}),...Pme.reduce((e,t)=>({...e,[t]:`package`}),{}),...jme.reduce((e,t)=>({...e,[t]:`face`}),{}),...Mme.reduce((e,t)=>({...e,[t]:`plate`}),{}),...Fme.reduce((e,t)=>({...e,[t]:`audio`}),{}),...Ime.reduce((e,t)=>({...e,[t]:`audio`}),{}),...Lme.reduce((e,t)=>({...e,[t]:`doorbell`}),{}),...Rme.reduce((e,t)=>({...e,[t]:`sensor`}),{})}),[...Object.values(Dme).filter(e=>e!==`motion`)];var zme=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},R6=class{constructor(e){this.generateIdentifier=e,this.kv=new zme}register(e,t){this.kv.getByValue(e)||(t||=this.generateIdentifier(e),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},Bme=class extends R6{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t==`object`?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};function Vme(e){if(`values`in Object)return Object.values(e);let t=[];for(let n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function Hme(e,t){let n=Vme(e);if(`find`in n)return n.find(t);let r=n;for(let e=0;e<r.length;e++){let n=r[e];if(t(n))return n}}function z6(e,t){Object.entries(e).forEach(([e,n])=>t(n,e))}function B6(e,t){return e.indexOf(t)!==-1}function V6(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return r}}var Ume=class{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return Hme(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}},Wme=e=>Object.prototype.toString.call(e).slice(8,-1),H6=e=>e===void 0,Gme=e=>e===null,U6=e=>typeof e!=`object`||!e||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,W6=e=>U6(e)&&Object.keys(e).length===0,G6=e=>Array.isArray(e),Kme=e=>typeof e==`string`,qme=e=>typeof e==`number`&&!isNaN(e),Jme=e=>typeof e==`boolean`,Yme=e=>e instanceof RegExp,K6=e=>e instanceof Map,q6=e=>e instanceof Set,J6=e=>Wme(e)===`Symbol`,Xme=e=>e instanceof Date&&!isNaN(e.valueOf()),Y6=e=>e instanceof Error,X6=e=>typeof e==`number`&&isNaN(e),Zme=e=>Jme(e)||Gme(e)||H6(e)||qme(e)||Kme(e)||J6(e),Qme=e=>typeof e==`bigint`,$me=e=>e===1/0||e===-1/0,ehe=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),the=e=>e instanceof URL,Z6=e=>e.replace(/\\/g,`\\\\`).replace(/\./g,`\\.`),Q6=e=>e.map(String).map(Z6).join(`.`),$6=(e,t)=>{let n=[],r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);if(!t&&a===`\\`){let t=e.charAt(i+1);if(t===`\\`){r+=`\\`,i++;continue}else if(t!==`.`)throw Error(`invalid path`)}if(a===`\\`&&e.charAt(i+1)===`.`){r+=`.`,i++;continue}if(a===`.`){n.push(r),r=``;continue}r+=a}let i=r;return n.push(i),n};function e8(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var t8=[e8(H6,`undefined`,()=>null,()=>void 0),e8(Qme,`bigint`,e=>e.toString(),e=>typeof BigInt<`u`?BigInt(e):(console.error(`Please add a BigInt polyfill.`),e)),e8(Xme,`Date`,e=>e.toISOString(),e=>new Date(e)),e8(Y6,`Error`,(e,t)=>{let n={name:e.name,message:e.message};return`cause`in e&&(n.cause=e.cause),t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n},(e,t)=>{let n=Error(e.message,{cause:e.cause});return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n}),e8(Yme,`regexp`,e=>``+e,e=>{let t=e.slice(1,e.lastIndexOf(`/`)),n=e.slice(e.lastIndexOf(`/`)+1);return new RegExp(t,n)}),e8(q6,`set`,e=>[...e.values()],e=>new Set(e)),e8(K6,`map`,e=>[...e.entries()],e=>new Map(e)),e8(e=>X6(e)||$me(e),`number`,e=>X6(e)?`NaN`:e>0?`Infinity`:`-Infinity`,Number),e8(e=>e===0&&1/e==-1/0,`number`,()=>`-0`,Number),e8(the,`URL`,e=>e.toString(),e=>new URL(e))];function n8(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var r8=n8((e,t)=>J6(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>[`symbol`,t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{let r=n.symbolRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown symbol`);return r}),nhe=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),i8=n8(ehe,e=>[`typed-array`,e.constructor.name],e=>[...e],(e,t)=>{let n=nhe[t[1]];if(!n)throw Error(`Trying to deserialize unknown typed array`);return new n(e)});function a8(e,t){return e?.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var o8=n8(a8,(e,t)=>[`class`,t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{let n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};let r={};return n.forEach(t=>{r[t]=e[t]}),r},(e,t,n)=>{let r=n.classRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(r.prototype),e)}),s8=n8((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>[`custom`,t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{let r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw Error(`Trying to deserialize unknown custom value`);return r.deserialize(e)}),rhe=[o8,r8,s8,i8],c8=(e,t)=>{let n=V6(rhe,n=>n.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};let r=V6(t8,n=>n.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},l8={};t8.forEach(e=>{l8[e.annotation]=e});var ihe=(e,t,n)=>{if(G6(t))switch(t[0]){case`symbol`:return r8.untransform(e,t,n);case`class`:return o8.untransform(e,t,n);case`custom`:return s8.untransform(e,t,n);case`typed-array`:return i8.untransform(e,t,n);default:throw Error(`Unknown transformation: `+t)}else{let r=l8[t];if(!r)throw Error(`Unknown transformation: `+t);return r.untransform(e,n)}},u8=(e,t)=>{if(t>e.size)throw Error(`index out of bounds`);let n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function d8(e){if(B6(e,`__proto__`))throw Error(`__proto__ is not allowed as a property`);if(B6(e,`prototype`))throw Error(`prototype is not allowed as a property`);if(B6(e,`constructor`))throw Error(`constructor is not allowed as a property`)}var ahe=(e,t)=>{d8(t);for(let n=0;n<t.length;n++){let r=t[n];if(q6(e))e=u8(e,+r);else if(K6(e)){let i=+r,a=+t[++n]==0?`key`:`value`,o=u8(e,i);switch(a){case`key`:e=o;break;case`value`:e=e.get(o);break}}else e=e[r]}return e},f8=(e,t,n)=>{if(d8(t),t.length===0)return n(e);let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];if(G6(r)){let e=+n;r=r[e]}else if(U6(r))r=r[n];else if(q6(r)){let e=+n;r=u8(r,e)}else if(K6(r)){if(e===t.length-2)break;let i=+n,a=+t[++e]==0?`key`:`value`,o=u8(r,i);switch(a){case`key`:r=o;break;case`value`:r=r.get(o);break}}}let i=t[t.length-1];if(G6(r)?r[+i]=n(r[+i]):U6(r)&&(r[i]=n(r[i])),q6(r)){let e=u8(r,+i),t=n(e);e!==t&&(r.delete(e),r.add(t))}if(K6(r)){let e=+t[t.length-2],a=u8(r,e);switch(+i==0?`key`:`value`){case`key`:{let e=n(a);r.set(e,r.get(a)),e!==a&&r.delete(a);break}case`value`:r.set(a,n(r.get(a)));break}}return e},p8=e=>e<1;function m8(e,t,n,r=[]){if(!e)return;let i=p8(n);if(!G6(e)){z6(e,(e,a)=>m8(e,t,n,[...r,...$6(a,i)]));return}let[a,o]=e;o&&z6(o,(e,a)=>{m8(e,t,n,[...r,...$6(a,i)])}),t(a,r)}function ohe(e,t,n,r){return m8(t,(t,n)=>{e=f8(e,n,e=>ihe(e,t,r))},n),e}function she(e,t,n){let r=p8(n);function i(t,n){let i=ahe(e,$6(n,r));t.map(e=>$6(e,r)).forEach(t=>{e=f8(e,t,()=>i)})}if(G6(t)){let[n,a]=t;n.forEach(t=>{e=f8(e,$6(t,r),()=>e)}),a&&z6(a,i)}else z6(t,i);return e}var che=(e,t)=>U6(e)||G6(e)||K6(e)||q6(e)||Y6(e)||a8(e,t);function lhe(e,t,n){let r=n.get(e);r?r.push(t):n.set(e,[t])}function uhe(e,t){let n={},r;return e.forEach(e=>{if(e.length<=1)return;t||(e=e.map(e=>e.map(String)).sort((e,t)=>e.length-t.length));let[i,...a]=e;i.length===0?r=a.map(Q6):n[Q6(i)]=a.map(Q6)}),r?W6(n)?[r]:[r,n]:W6(n)?void 0:n}var h8=(e,t,n,r,i=[],a=[],o=new Map)=>{let s=Zme(e);if(!s){lhe(e,i,t);let n=o.get(e);if(n)return r?{transformedValue:null}:n}if(!che(e,n)){let t=c8(e,n),r=t?{transformedValue:t.value,annotations:[t.type]}:{transformedValue:e};return s||o.set(e,r),r}if(B6(a,e))return{transformedValue:null};let c=c8(e,n),l=c?.value??e,u=G6(l)?[]:{},d={};z6(l,(s,c)=>{if(c===`__proto__`||c===`constructor`||c===`prototype`)throw Error(`Detected property ${c}. This is a prototype pollution risk, please remove it from your object.`);let l=h8(s,t,n,r,[...i,c],[...a,e],o);u[c]=l.transformedValue,G6(l.annotations)?d[Z6(c)]=l.annotations:U6(l.annotations)&&z6(l.annotations,(e,t)=>{d[Z6(c)+`.`+t]=e})});let f=W6(d)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,d]:d};return s||o.set(e,f),f};function g8(e){return Object.prototype.toString.call(e).slice(8,-1)}function _8(e){return g8(e)===`Array`}function dhe(e){if(g8(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function fhe(e,t,n,r,i){let a={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;a===`enumerable`&&(e[t]=n),i&&a===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function v8(e,t={}){if(_8(e))return e.map(e=>v8(e,t));if(!dhe(e))return e;let n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((n,r)=>{if(r===`__proto__`||_8(t.props)&&!t.props.includes(r))return n;let i=e[r];return fhe(n,r,v8(i,t),e,t.nonenumerable),n},{})}var y8=class{constructor({dedupe:e=!1}={}){this.classRegistry=new Bme,this.symbolRegistry=new R6(e=>e.description??``),this.customTransformerRegistry=new Ume,this.allowedErrorProps=[],this.dedupe=e}serialize(e){let t=new Map,n=h8(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});let i=uhe(t,this.dedupe);return i&&(r.meta={...r.meta,referentialEqualities:i}),r.meta&&(r.meta.v=1),r}deserialize(e,t){let{json:n,meta:r}=e,i=t?.inPlace?n:v8(n);return r?.values&&(i=ohe(i,r.values,r.v??0,this)),r?.referentialEqualities&&(i=she(i,r.referentialEqualities,r.v??0)),i}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e),{inPlace:!0})}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};y8.defaultInstance=new y8,y8.serialize=y8.defaultInstance.serialize.bind(y8.defaultInstance),y8.deserialize=y8.defaultInstance.deserialize.bind(y8.defaultInstance),y8.stringify=y8.defaultInstance.stringify.bind(y8.defaultInstance),y8.parse=y8.defaultInstance.parse.bind(y8.defaultInstance),y8.registerClass=y8.defaultInstance.registerClass.bind(y8.defaultInstance),y8.registerSymbol=y8.defaultInstance.registerSymbol.bind(y8.defaultInstance),y8.registerCustom=y8.defaultInstance.registerCustom.bind(y8.defaultInstance),y8.allowErrorProps=y8.defaultInstance.allowErrorProps.bind(y8.defaultInstance),y8.serialize,y8.deserialize,y8.stringify,y8.parse,y8.registerClass,y8.registerCustom,y8.registerSymbol,y8.allowErrorProps,(0,s.createContext)(null),(0,s.createContext)(null),c.AddonStarted,c.AddonInstalled,c.AddonRestarted,c.AddonUpdated,c.AddonStopped,c.AddonUninstalled,c.AddonCrashed,c.AddonError,c.DetectionPhaseTransition,c.DetectionResult,c.DetectionEvent,c.DetectionCameraNative,c.ProviderMotion,c.MotionOnMotionChanged,c.MotionAnalysis,c.MotionZonesRaw,c.ProviderDetection,c.PipelineAudioInferenceResult,c.AgentOnline,c.AgentOffline,c.DeviceRegistered,c.DeviceUnregistered,c.DeviceStateChanged,c.EventEmitted;var phe=Object.freeze([...d()]),mhe=Object.freeze([c.PipelineCameraMetricsSnapshot,c.PipelineRunnerLoadSnapshot,c.PipelineEngineMetricsSnapshot,c.PipelineInferenceResult,c.PipelineTrace,c.PipelineProgress,c.StreamBrokerMetricsSnapshot,c.MetricsNodeResourcesSnapshot,c.MetricsNodeProcessesSnapshot,c.ClusterTopologySnapshot,c.MotionAnalysis,c.MotionZonesRaw,c.DetectionResult,c.PipelineAudioInferenceResult,c.PlatformProbePhase,c.BenchmarkProgress,c.ModelDownloadProgress,c.ProviderMotion]),hhe=new Set(mhe);Object.freeze(phe.filter(e=>!hhe.has(e))),Object.freeze([...new Set(sH.filter(e=>e.scope===`device`).map(e=>e.name))].toSorted());function b8({value:e,unit:n,onDelta:r}){let i=t();return(0,q.jsxs)(`div`,{className:`flex h-8 w-full overflow-hidden rounded-lg border border-border bg-surface`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":i(`uiLibrary.deviceControlAtoms.decrement`,`Decrement`),className:`w-9 shrink-0 bg-surface-hover text-base text-foreground`,onClick:()=>r(-1),children:`−`}),(0,q.jsxs)(`span`,{className:`flex flex-1 items-center justify-center gap-0.5 border-x border-border/60 text-sm`,children:[e,n?(0,q.jsx)(`span`,{"data-unit":!0,className:`text-[11px] text-foreground-subtle`,children:n}):null]}),(0,q.jsx)(`button`,{type:`button`,"aria-label":i(`uiLibrary.deviceControlAtoms.increment`,`Increment`),className:`w-9 shrink-0 bg-surface-hover text-base text-foreground`,onClick:()=>r(1),children:`+`})]})}function ghe({on:e,targetLabel:t,onConfirm:n}){let r=(0,s.useRef)(null),i=(0,s.useRef)(!1);return(0,q.jsxs)(`div`,{className:Z(`relative h-12 w-full rounded-full border flex items-center`,e?`bg-emerald-50 border-emerald-200 pl-4`:`bg-amber-50 border-amber-200 justify-end pr-4`),children:[(0,q.jsx)(`span`,{className:`text-xs font-semibold opacity-60`,children:t}),(0,q.jsx)(`span`,{"data-testid":`slide-thumb`,className:`absolute top-1 left-1 h-10 w-14 rounded-[19px] bg-surface shadow flex items-center justify-center`,onPointerDown:e=>{e.currentTarget.setPointerCapture?.(e.pointerId),r.current=e.clientX,i.current=!1},onPointerMove:e=>{r.current!==null&&Math.abs(e.clientX-r.current)>40&&(i.current=!0)},onPointerUp:()=>{i.current&&n(),i.current=!1,r.current=null},onPointerCancel:()=>{i.current=!1,r.current=null}})]})}var _he=2,x8=270,vhe=315;function yhe(e){let t=(e-135+360)%360;return t>x8?+(t<=vhe):t/x8}function S8({fraction:e,color:t,knobTopPx:n,onDragFraction:r}){let i=-135+e*270,a=(0,s.useRef)(null),[o,c]=(0,s.useState)(!1),l=r!==void 0,u=n??_he,d=e=>{r!==void 0&&(e.preventDefault(),e.stopPropagation(),e.currentTarget.setPointerCapture?.(e.pointerId),c(!0))},f=e=>{if(r===void 0||!o)return;let t=a.current;if(t===null)return;let n=t.getBoundingClientRect(),i=n.left+n.width/2,s=n.top+n.height/2;r(yhe(Math.atan2(e.clientY-s,e.clientX-i)*180/Math.PI))},p=e=>{r!==void 0&&(e.currentTarget.releasePointerCapture?.(e.pointerId),c(!1))};return(0,q.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:{transform:`rotate(${i}deg)`},children:(0,q.jsx)(`div`,{className:Z(`absolute left-1/2 h-5 w-5 -translate-x-1/2 rounded-full bg-white shadow`,l&&(o?`cursor-grabbing`:`cursor-grab`)),style:{top:u,border:`3px solid ${t}`},...l?{onPointerDown:d,onPointerMove:f,onPointerUp:p,onPointerCancel:p}:{}})})}function C8({fraction:e,color:t,readOnly:n}){return(0,q.jsxs)(`div`,{className:`relative h-2 w-full rounded-full bg-border`,children:[(0,q.jsx)(`div`,{className:`absolute left-0 top-0 h-2 rounded-full`,style:{width:`${e*100}%`,background:t??`var(--color-primary)`}}),n!==!0&&(0,q.jsx)(`div`,{className:`absolute -top-1 h-4 w-4 rounded-full bg-white shadow`,style:{left:`calc(${e*100}% - 8px)`}})]})}var w8=150,T8=64,bhe=w8/2,E8=2*Math.PI*T8,D8=270/360*E8;function O8({fraction:e,color:t,children:n,onDragFraction:r}){let i=Math.min(1,Math.max(0,e)),a=w8/2,o=w8/2,s=E8-D8,c=i*D8;return(0,q.jsxs)(`div`,{className:`relative`,style:{width:w8,height:w8},children:[(0,q.jsxs)(`svg`,{width:w8,height:w8,viewBox:`0 0 ${w8} ${w8}`,"aria-hidden":`true`,className:`absolute inset-0`,style:{transform:`rotate(135deg)`},children:[(0,q.jsx)(`circle`,{cx:a,cy:o,r:T8,fill:`none`,stroke:`var(--color-border)`,strokeWidth:11,strokeDasharray:`${D8} ${s}`,strokeLinecap:`round`}),(0,q.jsx)(`circle`,{cx:a,cy:o,r:T8,fill:`none`,stroke:t,strokeWidth:11,strokeDasharray:`${c} ${E8-c}`,strokeLinecap:`round`})]}),(0,q.jsx)(`div`,{"data-testid":`arc-knob`,children:(0,q.jsx)(S8,{fraction:i,color:t,knobTopPx:bhe-T8-10,...r===void 0?{}:{onDragFraction:r}})}),(0,q.jsx)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-0.5 pointer-events-none`,children:n})]})}function k8({on:e,busy:n,onToggle:r}){let i=t(),a={transform:e?`translateX(30px)`:`translateX(3px)`};return(0,q.jsx)(`button`,{type:`button`,"aria-pressed":e,title:e?i(`uiLibrary.tapToggle.turnOff`,`Turn off`):i(`uiLibrary.tapToggle.turnOn`,`Turn on`),disabled:n,onClick:e=>{e.stopPropagation(),r()},className:Z(`relative inline-flex h-8 w-16 items-center rounded-full border transition-colors flex-shrink-0`,e?`bg-success/30 border-success/50`:`bg-surface-hover border-border`,n&&`opacity-60 cursor-not-allowed`),children:(0,q.jsx)(`span`,{className:Z(`absolute h-6 w-6 rounded-full transition-all`,e?`bg-success`:`bg-foreground-subtle`),style:a})})}function xhe({trpc:e,deviceId:n}){let r=t(),i=h3(e,n),a=i===null?void 0:i.button;if(a===void 0)return null;let o=()=>{a.press({deviceId:n})};return(0,q.jsxs)(`button`,{type:`button`,"aria-label":r(`uiLibrary.buttonControl.press`,`Press`),title:r(`uiLibrary.buttonControl.press`,`Press`),onClick:e=>{e.stopPropagation(),o()},className:Z(`inline-flex h-5 items-center gap-1 rounded px-1.5 text-xs`,`bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`),children:[(0,q.jsx)(lG,{className:`h-3 w-3`}),(0,q.jsx)(`span`,{children:r(`uiLibrary.buttonControl.press`,`Press`)})]})}function She({trpc:e,deviceId:n}){let r=t(),i=h3(e,n),a=i===null?void 0:i.button;return a===void 0?null:(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 rounded-lg border border-border bg-surface p-6`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":r(`uiLibrary.buttonControl.pressButton`,`Press button`),onClick:()=>{a.press({deviceId:n})},className:Z(`inline-flex h-14 w-14 items-center justify-center rounded-full`,`bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,`shadow-md`),children:(0,q.jsx)(lG,{className:`h-6 w-6`})}),(0,q.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:r(`uiLibrary.buttonControl.press`,`Press`)})]})}var Che=4e3,whe=3e4;function A8(e){if(e!==void 0)return typeof e==`object`&&e&&`lastChangedAt`in e&&typeof e.lastChangedAt==`number`?e.lastChangedAt:e}function j8(e,n){let r=n?.enabled!==!1,i=n?.timeoutMs??Che,[a,o]=(0,s.useState)(void 0),c=(0,s.useRef)(void 0),l=(0,s.useRef)(void 0),u=(0,s.useRef)(!1),d=(0,s.useRef)(0),f=(0,s.useRef)(0),p=t(),m=mQ(),h=(0,s.useRef)(!1),g=(0,s.useRef)(e);g.current=e;let _=(0,s.useRef)(void 0),v=(0,s.useCallback)(()=>{_.current!==void 0&&(clearTimeout(_.current),_.current=void 0),c.current=void 0,u.current=!1,l.current=void 0,d.current=0,o(void 0)},[]);(0,s.useEffect)(()=>{if(!r||!u.current||d.current>0)return;let t=A8(e),n=l.current;t!==void 0&&t!==n&&v()}),(0,s.useEffect)(()=>()=>{_.current!==void 0&&clearTimeout(_.current)},[]);let y=(0,s.useCallback)((t,n)=>{if(!r)return;_.current!==void 0&&(clearTimeout(_.current),_.current=void 0);let i=c.current??e;if(i!==void 0){let e={...i,...t};c.current=e,o(e)}l.current=A8(e),u.current=!0,_.current=setTimeout(v,n)},[r,e,v]),b=(0,s.useCallback)(e=>y(e,i),[y,i]),x=(0,s.useCallback)(e=>{let t=e instanceof Error?e.message:String(e);if(m===void 0){console.error(`Optimistic command refused:`,t);return}h.current||(h.current=!0,m({title:p(`uiLibrary.optimistic.refusedTitle`,`The device refused the change`),message:t,variant:`danger`}).finally(()=>{h.current=!1}))},[m,p]),S=(0,s.useCallback)((e,t,n=x)=>{let a=new Promise(e=>e(t()));if(!r){a.catch(e=>n(e));return}let o=++f.current;y(e,whe),d.current+=1,a.then(()=>{if(d.current=Math.max(0,d.current-1),d.current>0||!u.current)return;let e=A8(g.current);if(e!==void 0&&e!==l.current){v();return}_.current!==void 0&&clearTimeout(_.current),_.current=setTimeout(v,i)},e=>{o===f.current?v():d.current=Math.max(0,d.current-1),n(e)})},[r,y,v,i,x]);return r?{display:a===void 0?e:a,applyOptimistic:b,rollback:v,applyOptimisticAction:S}:{display:e,applyOptimistic:()=>{},rollback:()=>{},applyOptimisticAction:(e,t,n=x)=>{new Promise(e=>e(t())).catch(e=>n(e))}}}function The(e){return e instanceof Error?e.message:String(e)}function Ehe({trpc:e,deviceId:n,layout:r,optimistic:i,features:a}){let o=t(),{cap:c,slice:l,available:u}=v3({trpc:e,deviceId:n,cap:e=>e.lockControl,slice:e=>e.state.lockControl}),{display:d,applyOptimistic:f,applyOptimisticAction:m,rollback:h}=j8(l,{enabled:i??!0}),[g,_]=(0,s.useState)(null),[v,y]=(0,s.useState)(!1),[b,x]=(0,s.useState)(null);if(d===void 0)return null;let S=d.state===`locked`||d.state===`locking`,ee=!u||d.state===`jammed`,C=d.state===`door-open`,te=ee||C,ne=a?.includes(p.LockOpen)===!0,re=r===`compact`,w=()=>{m({state:`locking`},()=>c?.lock({}))},ie=()=>{m({state:`unlocking`},()=>c?.unlock({}))},ae=()=>{c?.open({})},oe=()=>{if(!te){if(!S){w();return}if(re){x(null),_(`unlock`);return}ie()}},se=()=>{if(!ee){if(re){x(null),_(`open`);return}ae()}},ce=()=>{v||_(null)},le=async()=>{if(!(v||g===null)){x(null),y(!0);try{g===`unlock`?(f({state:`unlocking`}),await c?.unlock({})):await c?.open({}),_(null)}catch(e){h(),x(The(e))}finally{y(!1)}}},T=S?o(`uiLibrary.lockPanel.unlock`,`Unlock`):o(`uiLibrary.lockPanel.lock`,`Lock`),E=g===`open`?o(`uiLibrary.lockPanel.openDoorTitle`,`Open door?`):o(`uiLibrary.lockPanel.unlockTitle`,`Unlock device?`),ue=g===`open`?o(`uiLibrary.lockPanel.openDoorBody`,`This will release the latch and open the door.`):o(`uiLibrary.lockPanel.unlockBody`,`This will unlock the device.`),de=g===`open`?o(`uiLibrary.lockPanel.confirmOpen`,`Confirm open`):o(`uiLibrary.lockPanel.confirmUnlock`,`Confirm unlock`),fe=g===`open`?(0,q.jsx)(kW,{className:`h-4 w-4 text-amber-400`}):(0,q.jsx)(QW,{className:`h-4 w-4 text-amber-400`});return(0,q.jsxs)(`div`,{className:Z(`inline-flex items-center`,r===`full`?`gap-2`:`gap-1`),children:[(0,q.jsxs)(`button`,{type:`button`,"aria-label":T,title:d.state===`jammed`?o(`uiLibrary.lockPanel.jammed`,`Jammed`):C?o(`uiLibrary.lockPanel.closeDoorFirst`,`Close the door first`):T,disabled:te,onClick:e=>{e.stopPropagation(),oe()},className:Z(`inline-flex items-center justify-center rounded transition-colors`,r===`full`?`h-7 gap-1.5 px-2 text-xs`:`h-5 w-5`,S?`text-success`:`text-warning`,te&&`opacity-40 cursor-not-allowed`,`hover:bg-surface-hover`),children:[S?(0,q.jsx)($W,{className:`h-3.5 w-3.5`}):(0,q.jsx)(QW,{className:`h-3.5 w-3.5`}),r===`full`&&(0,q.jsx)(`span`,{children:d.state})]}),ne&&(0,q.jsxs)(`button`,{type:`button`,"aria-label":o(`uiLibrary.lockPanel.openDoor`,`Open door`),title:o(`uiLibrary.lockPanel.openDoor`,`Open door`),disabled:ee,onClick:e=>{e.stopPropagation(),se()},className:Z(`inline-flex items-center justify-center rounded transition-colors`,r===`full`?`h-7 gap-1.5 px-2 text-xs`:`h-5 w-5`,`text-foreground-muted`,ee&&`opacity-40 cursor-not-allowed`,`hover:bg-surface-hover`),children:[(0,q.jsx)(kW,{className:`h-3.5 w-3.5`}),r===`full`&&(0,q.jsx)(`span`,{children:o(`uiLibrary.lockPanel.open`,`Open`)})]}),re&&(0,q.jsx)(S3,{open:g!==null,onOpenChange:e=>{e||ce()},children:(0,q.jsxs)(C3,{width:`sm`,onClick:e=>e.stopPropagation(),children:[(0,q.jsxs)(w3,{children:[(0,q.jsxs)(E3,{className:`flex items-center gap-2`,children:[fe,E]}),(0,q.jsx)(D3,{children:ue})]}),b!==null&&(0,q.jsx)(`div`,{className:`mt-2 px-3 py-2 rounded border border-danger/40 bg-danger/10 text-xs text-danger`,children:b}),(0,q.jsxs)(T3,{children:[(0,q.jsx)(uQ,{type:`button`,variant:`ghost`,size:`sm`,disabled:v,onClick:()=>ce(),children:o(`uiLibrary.lockPanel.cancel`,`Cancel`)}),(0,q.jsxs)(uQ,{type:`button`,variant:`danger`,size:`sm`,"aria-label":de,disabled:v,onClick:()=>{le()},children:[v&&(0,q.jsx)(ZW,{className:`h-3.5 w-3.5 animate-spin`}),de]})]})]})})]})}function M8({trpc:e,deviceId:n,optimistic:r}){let i=t(),{cap:a,slice:o,available:c}=v3({trpc:e,deviceId:n,cap:e=>e.switch,slice:e=>e.state.switch}),{display:l,applyOptimistic:u,rollback:d}=j8(o,{enabled:r??!0}),[f,p]=(0,s.useState)(!1);if(l===void 0)return null;let m=l.on===!0,h=f||!c,g={transform:m?`translateX(14px)`:`translateX(2px)`},_=async()=>{if(h||!a)return;let e=!m;u({on:e}),p(!0);try{await a.setState({on:e})}catch{d()}finally{p(!1)}};return(0,q.jsx)(`button`,{type:`button`,"aria-pressed":m,title:m?i(`uiLibrary.switchPanel.turnOff`,`Turn off`):i(`uiLibrary.switchPanel.turnOn`,`Turn on`),disabled:h,onClick:e=>{e.stopPropagation(),_()},className:Z(`relative inline-flex h-4 w-7 items-center rounded-full border transition-colors flex-shrink-0`,m?`bg-success/30 border-success/50`:`bg-surface-hover border-border`,h&&`opacity-60`),children:(0,q.jsx)(`span`,{className:Z(`absolute h-3 w-3 rounded-full transition-all`,m?`bg-success`:`bg-foreground-subtle`),style:g})})}function Dhe({trpc:e,deviceId:n,layout:r,optimistic:i}){let a=t(),{cap:o,slice:s,available:c}=v3({trpc:e,deviceId:n,cap:e=>e.brightness,slice:e=>e.state.brightness}),{display:l,applyOptimisticAction:u}=j8(s,{enabled:i??!0});if(l===void 0)return null;let d=!c;return(0,q.jsxs)(`label`,{className:Z(`flex items-center gap-2 text-xs text-foreground-subtle`,r===`compact`&&`min-w-[140px]`),children:[(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.brightnessPanel.brightness`,`Brightness`),type:`range`,min:0,max:100,step:1,value:l.level,disabled:d,onChange:e=>{let t=Number(e.target.value);d||u({level:t},()=>o?.setBrightness({level:t}))}}),(0,q.jsxs)(`span`,{className:`tabular-nums w-8 text-right`,children:[l.level,`%`]})]})}function Ohe({trpc:e,deviceId:n,features:r,layout:i,optimistic:a}){let o=t(),{cap:s,slice:c,available:l}=v3({trpc:e,deviceId:n,cap:e=>e.fanControl,slice:e=>e.state.fanControl}),{display:u,applyOptimisticAction:d}=j8(c,{enabled:a??!0});if(u===void 0)return null;let f=!l,p=r??[],m=p.includes(`fan-speed`),h=p.includes(`fan-preset`),g=c?.percentageStep!=null&&c.percentageStep>0?c.percentageStep:1;return(0,q.jsxs)(`div`,{className:Z(`inline-flex items-center gap-2`,i===`full`&&`flex-col items-stretch`),children:[m&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.fanPanel.speed`,`Fan speed`),type:`range`,min:0,max:100,step:g,value:u.speed??0,disabled:f,onChange:e=>{let t=Number(e.target.value),n=Math.min(100,Math.max(0,Math.round(t/g)*g));f||d({speed:n},()=>s?.setPercentage({speed:n}))}}),(0,q.jsxs)(`span`,{className:`tabular-nums w-8 text-right`,children:[u.speed??`—`,`%`]})]}),h&&u.availablePresets.length>0&&(0,q.jsx)(`div`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:(0,q.jsxs)(nQ,{"aria-label":o(`uiLibrary.fanPanel.preset`,`Fan preset`),value:u.preset,disabled:f,onChange:e=>{let t=e.target.value;!f&&t&&d({preset:t},()=>s?.setPreset({preset:t}))},className:`bg-surface border border-border rounded px-1 py-0.5`,children:[(0,q.jsx)(`option`,{value:``,disabled:!0,children:`—`}),u.availablePresets.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))]})})]})}function N8(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:1}var khe=2,P8=3;function F8(e){if(!Number.isFinite(e))return 0;for(let t=0;t<P8;t+=1)if(Math.abs(e*10**t-Math.round(e*10**t))<1e-9)return t;return P8}function Ahe(e){let t=N8(e.tempStep),n=[e.minTemp,e.maxTemp].filter(e=>typeof e==`number`&&Number.isFinite(e)),r=n.length===0?khe:Math.max(...n.map(e=>String(Math.trunc(Math.abs(e))).length)),i=+!!n.some(e=>e<0),a=Math.max(F8(t),...n.map(F8));return i+r+(a>0?1+a:0)}var jhe={1:`min-w-[1ch]`,2:`min-w-[2ch]`,3:`min-w-[3ch]`,4:`min-w-[4ch]`,5:`min-w-[5ch]`,6:`min-w-[6ch]`,7:`min-w-[7ch]`,8:`min-w-[8ch]`};function I8(e){return`${jhe[Math.min(Math.max(Ahe(e),1),8)]} text-center`}function L8(e,t,n){let r=e+t*N8(n.tempStep),i=n.minTemp,a=n.maxTemp;return typeof i==`number`&&Number.isFinite(i)&&(r=Math.max(r,i)),typeof a==`number`&&Number.isFinite(a)&&(r=Math.min(r,a)),r}var R8={heat:`border-amber-400 bg-amber-50 dark:bg-amber-950`,cool:`border-blue-400 bg-blue-50 dark:bg-blue-950`,auto:`border-purple-400 bg-purple-50 dark:bg-purple-950`,heat_cool:`border-fuchsia-400 bg-fuchsia-50 dark:bg-fuchsia-950`,fan_only:`border-slate-400 bg-slate-50 dark:bg-slate-950`,dry:`border-cyan-400 bg-cyan-50 dark:bg-cyan-950`,off:`border-zinc-300 bg-zinc-50 dark:bg-zinc-900`},z8={heat:`text-amber-600 dark:text-amber-400`,cool:`text-blue-600 dark:text-blue-400`,auto:`text-purple-600 dark:text-purple-400`,heat_cool:`text-fuchsia-600 dark:text-fuchsia-400`,fan_only:`text-slate-600 dark:text-slate-400`,dry:`text-cyan-600 dark:text-cyan-400`,off:`text-foreground`},Mhe={heat:`bg-amber-400 text-amber-950`,cool:`bg-blue-400 text-blue-950`,auto:`bg-purple-400 text-purple-950`,heat_cool:`bg-fuchsia-400 text-fuchsia-950`,fan_only:`bg-slate-400 text-slate-950`,dry:`bg-cyan-400 text-cyan-950`,off:`bg-zinc-300 text-zinc-700`};function Nhe({trpc:e,deviceId:n,features:r,layout:i,optimistic:a}){let o=t(),{cap:s,slice:c,available:l}=v3({trpc:e,deviceId:n,cap:e=>e.climateControl,slice:e=>e.state.climateControl}),{display:u,applyOptimisticAction:d}=j8(c,{enabled:a??!0});if(s===void 0||u===void 0)return null;let f=!l;if(i===`compact`)return(0,q.jsxs)(`div`,{"data-mode":u.mode,className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(`span`,{className:Z(`text-xs tabular-nums font-medium`,z8[u.mode]),children:u.target===null?u.currentTemp===null?null:(0,q.jsxs)(`span`,{className:`text-foreground-subtle`,children:[u.currentTemp,`°`]}):(0,q.jsxs)(q.Fragment,{children:[u.target,`°`,u.currentTemp!==null&&(0,q.jsxs)(`span`,{className:`text-foreground-subtle font-normal`,children:[` `,`(`,u.currentTemp,`°)`]})]})}),u.target!==null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.climatePanel.decreaseTarget`,`Decrease target`),disabled:f,onClick:e=>{if(e.stopPropagation(),!f&&u.target!==null){let e=L8(u.target,-1,u);d({target:e},()=>s.setTarget({target:e}))}},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,f&&`opacity-40 cursor-not-allowed`),children:`−`}),(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.climatePanel.increaseTarget`,`Increase target`),disabled:f,onClick:e=>{if(e.stopPropagation(),!f&&u.target!==null){let e=L8(u.target,1,u);d({target:e},()=>s.setTarget({target:e}))}},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,f&&`opacity-40 cursor-not-allowed`),children:`+`})]}),(0,q.jsx)(nQ,{"aria-label":o(`uiLibrary.climatePanel.mode`,`Mode`),bare:!0,value:u.mode,disabled:f,onChange:e=>{e.stopPropagation();let t=e.target.value;f||d({mode:t},()=>s.setMode({mode:t}))},className:Z(`bg-transparent px-0.5 text-xs text-foreground-subtle hover:text-foreground cursor-pointer`,f&&`opacity-40 cursor-not-allowed`),children:u.availableModes.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))})]});let p=u.mode===`heat_cool`||u.targetLow!==null&&u.targetHigh!==null,m=!p&&u.target!==null;return(0,q.jsxs)(`div`,{"data-mode":u.mode,className:Z(`inline-flex items-center gap-2 rounded border px-2 py-1 transition-colors`,R8[u.mode],`flex-col items-stretch gap-3`),children:[(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-1 text-xs tabular-nums`,children:[u.currentTemp!==null&&(0,q.jsxs)(`span`,{className:`text-foreground-subtle`,children:[u.currentTemp,`°`]}),m&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-foreground-subtle`,children:`→`}),(0,q.jsxs)(`span`,{className:`font-medium`,children:[u.target,`°`]}),(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.climatePanel.decreaseTarget`,`Decrease target`),disabled:f,onClick:e=>{if(e.stopPropagation(),!f&&u.target!==null){let e=L8(u.target,-1,u);d({target:e},()=>s.setTarget({target:e}))}},className:Z(`inline-flex h-4 w-4 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,f&&`opacity-40 cursor-not-allowed`),children:`−`}),(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.climatePanel.increaseTarget`,`Increase target`),disabled:f,onClick:e=>{if(e.stopPropagation(),!f&&u.target!==null){let e=L8(u.target,1,u);d({target:e},()=>s.setTarget({target:e}))}},className:Z(`inline-flex h-4 w-4 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,f&&`opacity-40 cursor-not-allowed`),children:`+`})]})]}),(0,q.jsx)(`div`,{className:`inline-flex items-center gap-0.5 rounded bg-surface-subtle p-0.5`,children:u.availableModes.map(e=>(0,q.jsx)(`button`,{type:`button`,"aria-label":e,disabled:f,onClick:t=>{t.stopPropagation(),f||d({mode:e},()=>s.setMode({mode:e}))},className:Z(`rounded px-1.5 py-0.5 text-xs transition-colors`,e===u.mode?Mhe[e]:`text-foreground-subtle hover:text-foreground hover:bg-surface-hover`,f&&`opacity-40 cursor-not-allowed`),children:e},e))}),p&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsxs)(`label`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.low`,`Low`)}),(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.climatePanel.targetLow`,`Target low`),type:`number`,step:.5,value:u.targetLow??``,disabled:f,onChange:e=>{if(!f){let t=Number(e.target.value),n=u.targetHigh??t;d({targetLow:t},()=>s.setTargetRange({targetLow:t,targetHigh:n}))}},className:`w-14 rounded border border-border bg-surface px-1 py-0.5 tabular-nums`})]}),(0,q.jsxs)(`label`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.high`,`High`)}),(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.climatePanel.targetHigh`,`Target high`),type:`number`,step:.5,value:u.targetHigh??``,disabled:f,onChange:e=>{if(!f){let t=Number(e.target.value),n=u.targetLow??t;d({targetHigh:t},()=>s.setTargetRange({targetLow:n,targetHigh:t}))}},className:`w-14 rounded border border-border bg-surface px-1 py-0.5 tabular-nums`})]})]}),u.availableFanModes.length>0&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.fan`,`Fan`)}),(0,q.jsxs)(nQ,{"aria-label":o(`uiLibrary.climatePanel.fanMode`,`Fan mode`),value:u.fanMode,disabled:f,onChange:e=>{let t=e.target.value;!f&&t&&d({fanMode:t},()=>s.setFanMode({fanMode:t}))},className:`rounded border border-border bg-surface px-1 py-0.5`,children:[(0,q.jsx)(`option`,{value:``,disabled:!0,children:`—`}),u.availableFanModes.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))]})]}),u.availablePresets.length>0&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.preset`,`Preset`)}),(0,q.jsxs)(nQ,{"aria-label":o(`uiLibrary.climatePanel.preset`,`Preset`),value:u.preset,disabled:f,onChange:e=>{let t=e.target.value;!f&&t&&d({preset:t},()=>s.setPreset({preset:t}))},className:`rounded border border-border bg-surface px-1 py-0.5`,children:[(0,q.jsx)(`option`,{value:``,disabled:!0,children:`—`}),u.availablePresets.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))]})]}),u.targetHumidity!==null&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.climatePanel.humidity`,`Humidity`)}),(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.climatePanel.targetHumidity`,`Target humidity`),type:`range`,min:0,max:100,step:1,value:u.targetHumidity,disabled:f,onChange:e=>{let t=Number(e.target.value);f||d({targetHumidity:t},()=>s.setTargetHumidity({targetHumidity:t}))}}),(0,q.jsxs)(`span`,{className:`tabular-nums w-8 text-right`,children:[u.targetHumidity,`%`]})]})]})}var Phe={playing:`border-success/50 bg-success/10`,paused:`border-warning/50 bg-warning/10`,buffering:`border-info/50 bg-info/10`,on:`border-foreground-subtle/40 bg-surface-hover`,idle:`border-foreground-subtle/40 bg-surface-hover`,off:`border-border bg-surface`,standby:`border-border bg-surface`},Fhe={playing:`bg-success`,paused:`bg-warning`,buffering:`bg-info`,on:`bg-foreground-subtle`,idle:`bg-foreground-subtle`,off:`bg-border`,standby:`bg-border`},B8=[`off`,`all`,`one`];function Ihe(e){return B8.includes(e)}function Lhe(e,t){switch(t){case`off`:return e(`uiLibrary.mediaPlayerPanel.repeatOff`,`Off`);case`all`:return e(`uiLibrary.mediaPlayerPanel.repeatAll`,`All`);case`one`:return e(`uiLibrary.mediaPlayerPanel.repeatOne`,`One`)}}function Rhe(e){return e===`playing`||e===`buffering`?`pause`:`play`}function zhe({trpc:e,deviceId:n,features:r,layout:i,optimistic:a}){let o=t(),{cap:s,slice:c,available:l}=v3({trpc:e,deviceId:n,cap:e=>e.mediaPlayer,slice:e=>e.state.mediaPlayer}),{display:u,applyOptimisticAction:d}=j8(c,{enabled:a??!0});if(u===void 0)return null;let f=MH(u,r,{}),p=!l,m=Rhe(u.state);return(0,q.jsxs)(`div`,{"data-state":u.state,className:Z(`inline-flex items-center gap-2 rounded border px-2 py-1 transition-colors`,Phe[u.state],i===`full`&&`flex-col items-stretch gap-3`),children:[(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-2`,children:[(0,q.jsx)(`span`,{role:`status`,"aria-label":u.state,className:Z(`inline-block h-2 w-2 rounded-full flex-shrink-0`,Fhe[u.state])}),(0,q.jsx)(`button`,{type:`button`,"aria-label":m===`play`?o(`uiLibrary.mediaPlayerPanel.play`,`Play`):o(`uiLibrary.mediaPlayerPanel.pause`,`Pause`),disabled:p,onClick:e=>{e.stopPropagation(),!p&&(m===`play`?d({state:`playing`},()=>s?.play({})):d({state:`paused`},()=>s?.pause({})))},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,p&&`opacity-40 cursor-not-allowed`),children:m===`play`?(0,q.jsx)(yG,{className:`h-3 w-3`}):(0,q.jsx)(gG,{className:`h-3 w-3`})})]}),i===`full`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.mediaPlayerPanel.previous`,`Previous`),disabled:p,onClick:e=>{e.stopPropagation(),p||s?.previous({})},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,p&&`opacity-40 cursor-not-allowed`),children:`⏮`}),(0,q.jsx)(`button`,{type:`button`,"aria-label":o(`uiLibrary.mediaPlayerPanel.next`,`Next`),disabled:p,onClick:e=>{e.stopPropagation(),p||s?.next({})},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors text-xs`,p&&`opacity-40 cursor-not-allowed`),children:`⏭`})]}),(f.volume===`slider`||u.volumeLevel!==null)&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.mediaPlayerPanel.vol`,`Vol`)}),(0,q.jsx)(`input`,{"aria-label":o(`uiLibrary.mediaPlayerPanel.volume`,`Volume`),type:`range`,min:0,max:100,step:1,value:u.volumeLevel??0,disabled:p,onChange:e=>{let t=Number(e.target.value);p||d({volumeLevel:t},()=>s?.setVolume({volumeLevel:t}))}}),(0,q.jsx)(`span`,{className:`tabular-nums w-8 text-right`,children:u.volumeLevel===null?`—`:`${u.volumeLevel}%`})]}),(f.mute||u.isMuted!==null)&&(0,q.jsx)(`button`,{type:`button`,"aria-label":u.isMuted?o(`uiLibrary.mediaPlayerPanel.unmute`,`Unmute`):o(`uiLibrary.mediaPlayerPanel.mute`,`Mute`),disabled:p,onClick:e=>{if(e.stopPropagation(),!p){let e=u.isMuted===null?!0:!u.isMuted;d({isMuted:e},()=>s?.setMute({muted:e}))}},className:Z(`inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs transition-colors`,u.isMuted?`bg-warning-fill text-warning-on`:`text-foreground-subtle hover:text-foreground hover:bg-surface-hover`,p&&`opacity-40 cursor-not-allowed`),children:u.isMuted?`🔇`:`🔊`}),u.availableSources.length>0&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.mediaPlayerPanel.source`,`Source`)}),(0,q.jsxs)(nQ,{"aria-label":o(`uiLibrary.mediaPlayerPanel.source`,`Source`),value:u.source,disabled:p,onChange:e=>{let t=e.target.value;!p&&t&&d({source:t},()=>s?.selectSource({source:t}))},className:`rounded border border-border bg-surface px-1 py-0.5`,children:[(0,q.jsx)(`option`,{value:``,disabled:!0,children:`—`}),u.availableSources.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))]})]}),u.shuffle!==null&&(0,q.jsxs)(`button`,{type:`button`,"aria-label":o(`uiLibrary.mediaPlayerPanel.shuffle`,`Shuffle`),disabled:p,onClick:e=>{if(e.stopPropagation(),!p&&u.shuffle!==null){let e=!u.shuffle;d({shuffle:e},()=>s?.setShuffle({shuffle:e}))}},className:Z(`inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs transition-colors`,u.shuffle?`bg-success-fill text-success-on`:`text-foreground-subtle hover:text-foreground hover:bg-surface-hover`,p&&`opacity-40 cursor-not-allowed`),children:[`⇌ `,o(`uiLibrary.mediaPlayerPanel.shuffle`,`Shuffle`)]}),u.repeat!==null&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:o(`uiLibrary.mediaPlayerPanel.repeat`,`Repeat`)}),(0,q.jsx)(nQ,{"aria-label":o(`uiLibrary.mediaPlayerPanel.repeat`,`Repeat`),value:u.repeat,disabled:p,onChange:e=>{let t=e.target.value;!p&&Ihe(t)&&d({repeat:t},()=>s?.setRepeat({repeat:t}))},className:`rounded border border-border bg-surface px-1 py-0.5`,children:B8.map(e=>(0,q.jsx)(`option`,{value:e,children:Lhe(o,e)},e))})]})]})]})}function V8(e,t){return t===void 0?Number.isInteger(e)?String(e):e.toFixed(1):e.toFixed(t)}var Bhe={system:Ks,temperature:`celsius`};function H8(e,t){return t===`temperature`?e.temperature===`fahrenheit`?`imperial`:`metric`:e.system}var Vhe=(0,s.createContext)(Bhe);function U8(){return(0,s.useContext)(Vhe)}function Hhe(e){if(e!==void 0)return Vm(e)??e}function Uhe(e){if(e.quantity!==void 0){if(e.quantity===`device`){let t=e.deviceQuantity;return t===void 0||t===`device`?void 0:t}return e.quantity}}function W8(e){let t=e.capName===void 0?void 0:e.display?.perCap?.[e.capName],n=t?.precision??e.display?.precision??e.roleDefault?.precision??e.declarationPrecision,r=Uhe(e),i=e.preference??(e.unitPreferences===void 0?`metric`:H8(e.unitPreferences,r)),a=r===void 0?void 0:Ws(r),o=r===void 0?void 0:qs(r,i),s=Hhe(t?.unit??e.display?.unit??e.roleDefault?.unit),c=s!==void 0&&a!==void 0&&s!==a&&ku(a,s),l=c?s:o??``,u=r===`duration`||r===`information`||r===`duration-ms`,d=e=>u||a===void 0||l.length===0||l===a?e:Ou(e,a,l)??e;return{unit:l,precision:n,toDisplayValue:d,fromDisplayValue:e=>u||a===void 0||l.length===0||l===a?e:Ou(e,l,a)??e,format:e=>{if(r!==void 0&&!c){let t=BU({value:e,quantity:r,preference:i,precision:n});return{text:t.text,unit:t.unit}}return{text:V8(d(e),n),unit:l}}}}var Whe=/^(\d{4})-(\d{2})-(\d{2})/,Ghe=/^(\d{2}):(\d{2})(?::(\d{2}))?$/;function Khe(e,t){let n=Whe.exec(e);if(n===null)return e;let r=Number(n[1]),i=Number(n[2]),a=Number(n[3]),o=new Date(r,i-1,a);if(Number.isNaN(o.getTime()))return e;try{return o.toLocaleDateString(t)}catch{return e}}function qhe(e,t){let n=Ghe.exec(e);if(n===null)return e;let r=new Date(1970,0,1,Number(n[1]),Number(n[2]),n[3]===void 0?0:Number(n[3]));if(Number.isNaN(r.getTime()))return e;try{return r.toLocaleTimeString(t,{hour:`2-digit`,minute:`2-digit`})}catch{return e}}function Jhe(e,t){let n=e.includes(`T`)?e:e.replace(` `,`T`),r=new Date(n);if(Number.isNaN(r.getTime()))return e;try{return r.toLocaleString(t,{dateStyle:`medium`,timeStyle:`short`})}catch{return e}}function G8(e,t,n){return e===``?e:t===`date`?Khe(e,n):t===`time`?qhe(e,n):Jhe(e,n)}function Yhe(e){return e.slice(0,10)}function Xhe(e){return e.slice(0,5)}function Zhe(e,t){return e===`date`?{type:`date`,value:Yhe(t)}:e===`time`?{type:`time`,value:Xhe(t)}:{type:`datetime-local`,value:Qhe(t)}}function Qhe(e){return(e.includes(`T`)?e:e.replace(` `,`T`)).slice(0,16)}function $he({value:e,busy:n,onCommit:r,unit:i,min:a,max:o,step:c,precision:l}){let u=t(),[d,f]=(0,s.useState)(V8(e,l)),p=Number(d),m=d!==``&&!Number.isNaN(p),h=c??1,g=e=>{let t=e;return a!==void 0&&(t=Math.max(a,t)),o!==void 0&&(t=Math.min(o,t)),t},_=()=>{!n&&m&&r(g(p))};return(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-label":u(`uiLibrary.controlPanel.decrement`,`Decrement`),disabled:n,onClick:t=>{if(t.stopPropagation(),!n){let t=g(e-h);f(V8(t,l)),r(t)}},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded border border-border bg-surface text-xs transition-colors hover:bg-surface-hover`,n&&`opacity-40 cursor-not-allowed`),children:`−`}),(0,q.jsx)(`input`,{"aria-label":u(`uiLibrary.controlPanel.numeric`,`Numeric value`),type:`number`,disabled:n,value:d,onChange:e=>{f(e.target.value);let t=Number(e.target.value);e.target.value!==``&&!Number.isNaN(t)&&(n||r(g(t)))},onBlur:_,onKeyDown:e=>{e.key===`Enter`&&_()},className:Z(`w-16 rounded border border-border bg-surface px-1 py-0.5 text-xs tabular-nums text-center`,n&&`opacity-40 cursor-not-allowed`)}),i!==void 0&&(0,q.jsx)(`span`,{className:`text-foreground-subtle text-xs`,children:i}),(0,q.jsx)(`button`,{type:`button`,"aria-label":u(`uiLibrary.controlPanel.increment`,`Increment`),disabled:n,onClick:t=>{if(t.stopPropagation(),!n){let t=g(e+h);f(V8(t,l)),r(t)}},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded border border-border bg-surface text-xs transition-colors hover:bg-surface-hover`,n&&`opacity-40 cursor-not-allowed`),children:`+`})]})}function ege({value:e,busy:t,onCommit:n}){let[r,i]=(0,s.useState)(e);return(0,q.jsx)(`input`,{type:`text`,disabled:t,value:r,onChange:e=>i(e.target.value),onBlur:()=>{t||n(r)},onKeyDown:e=>{e.key===`Enter`&&!t&&n(r)},className:Z(`rounded border border-border bg-surface px-2 py-0.5 text-xs`,t&&`opacity-40 cursor-not-allowed`)})}function tge({slice:e,busy:n,setValueFn:r,layout:i,quantity:a,display:o,dateTimeShape:s}){let c=t(),l=U8();switch(e.kind){case`numeric`:{let t=typeof e.value==`number`?e.value:Number(e.value),i=a===void 0?void 0:W8({quantity:a,display:o,capName:`control`,unitPreferences:l}),s=i?.toDisplayValue??(e=>e),c=i?.fromDisplayValue??(e=>e),u=i!==void 0&&i.unit.length>0?i.unit:void 0;return(0,q.jsx)($he,{value:s(t),busy:n,onCommit:e=>{r({control:{kind:`numeric`,value:c(e)}})},unit:u,min:e.min===void 0?void 0:s(e.min),max:e.max===void 0?void 0:s(e.max),step:e.step===void 0?void 0:s(e.step),precision:i?.precision})}case`select`:{let t=String(e.value);return(0,q.jsx)(nQ,{"aria-label":c(`uiLibrary.controlPanel.value`,`Control value`),bare:!0,wrapperClassName:`w-full`,disabled:n,value:t,onChange:e=>{e.stopPropagation(),n||r({control:{kind:`select`,value:e.target.value}})},className:Z(`w-full max-w-full min-w-0 truncate rounded bg-transparent px-0.5 py-0.5 text-xs`,n&&`opacity-40 cursor-not-allowed`),children:e.options.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))})}case`text`:return(0,q.jsx)(ege,{value:String(e.value),busy:n,onCommit:e=>{r({control:{kind:`text`,value:e}})}});case`datetime`:{let t=String(e.value),a=s??`datetime`;if(i===`compact`)return t===``?(0,q.jsx)(`span`,{"aria-label":c(`uiLibrary.controlPanel.value`,`Control value`),className:`text-xs text-foreground-subtle`,children:`—`}):(0,q.jsx)(`span`,{"aria-label":c(`uiLibrary.controlPanel.value`,`Control value`),className:`text-xs text-foreground`,children:G8(t,a)});let o=Zhe(a,t),l=o.type,u=o.value;return(0,q.jsx)(`input`,{type:l,"aria-label":c(`uiLibrary.controlPanel.value`,`Control value`),disabled:n,value:u,onChange:e=>{e.stopPropagation(),n||r({control:{kind:`datetime`,value:e.target.value}})},className:Z(`rounded border border-border bg-surface px-1 py-0.5 text-xs`,n&&`opacity-40 cursor-not-allowed`)})}default:return null}}function K8({trpc:e,deviceId:t,features:n,layout:r,optimistic:i}){let a=JY()?.getDeviceInfo(t)??null,{cap:o,slice:s,available:c}=v3({trpc:e,deviceId:t,cap:e=>e.control,slice:e=>e.state.control}),{display:l,applyOptimisticAction:u}=j8(s,{enabled:i??!0});if(l===void 0)return null;let d=!c,f=a?.sourceInfo?.quantity,p=Hs(f)&&f!==`device`&&f!==`none`?f:void 0;return(0,q.jsx)(`div`,{"data-kind":l.kind,className:`inline-flex min-w-0 max-w-full items-center gap-1 rounded border border-border px-2 py-1 transition-colors`,children:(0,q.jsx)(tge,{slice:l,busy:d,setValueFn:e=>{!d&&o&&u({value:e.control.value},()=>o.setValue(e))},layout:r,quantity:p,display:a?.display,dateTimeShape:a?.sourceInfo?.dateTimeShape})})}var q8={kind:`binary`,field:`on`,onLabel:`Low`,offLabel:`Normal`,getSliceHandle:e=>e.binary};function J8(e){return e===`battery-sensor`}function Y8(e,t){if(!Z8(e))return!1;let n=e[t];if(typeof n!=`number`)return!1;let r=e.lastFetchedAt;return!(n===0&&r===0)}var X8={"temperature-sensor":{kind:`numeric`,field:`temperature`,quantity:`temperature`,getSliceHandle:e=>e.temperatureSensor},"humidity-sensor":{kind:`numeric`,field:`humidity`,quantity:`humidity`,getSliceHandle:e=>e.humiditySensor},"ambient-light-sensor":{kind:`numeric`,field:`illuminance`,quantity:`illuminance`,getSliceHandle:e=>e.ambientLightSensor},"pressure-sensor":{kind:`numeric`,field:`pressure`,quantity:`pressure`,getSliceHandle:e=>e.pressureSensor},"numeric-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"wind-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"rain-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"uv-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"solar-radiation-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"soil-moisture-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"power-sensor":{kind:`numeric`,field:`power`,quantity:`power`,getSliceHandle:e=>e.powerMeter},"energy-sensor":{kind:`numeric`,field:`energy`,quantity:`energy`,getSliceHandle:e=>e.powerMeter},"voltage-sensor":{kind:`numeric`,field:`voltage`,quantity:`voltage`,getSliceHandle:e=>e.powerMeter},"current-sensor":{kind:`numeric`,field:`current`,quantity:`current`,getSliceHandle:e=>e.powerMeter},"battery-sensor":{kind:`numeric`,field:`value`,quantity:`percentage`,getSliceHandle:e=>e.numericSensor},"generic-sensor":{kind:`numeric`,field:`value`,quantity:`device`,getSliceHandle:e=>e.numericSensor},"motion-sensor":{kind:`binary`,field:`detected`,onLabel:`Detected`,offLabel:`Clear`,getSliceHandle:e=>e.motion},"pir-sensor":{kind:`binary`,field:`detected`,onLabel:`Detected`,offLabel:`Clear`,getSliceHandle:e=>e.motion},"contact-sensor":{kind:`binary`,field:`entryOpen`,onLabel:`Open`,offLabel:`Closed`,getSliceHandle:e=>e.contact},"smoke-sensor":{kind:`binary`,field:`detected`,onLabel:`Smoke!`,offLabel:`Clear`,getSliceHandle:e=>e.smoke},"leak-sensor":{kind:`binary`,field:`flooded`,onLabel:`Leak!`,offLabel:`Dry`,getSliceHandle:e=>e.flood},"co-sensor":{kind:`binary`,field:`detected`,onLabel:`CO!`,offLabel:`Clear`,getSliceHandle:e=>e.carbonMonoxide},"binary-sensor":{kind:`binary`,field:`on`,onLabel:`On`,offLabel:`Off`,getSliceHandle:e=>e.binary},presence:{kind:`presence`,getSliceHandle:e=>e.presence},"enum-sensor":{kind:`string`,getSliceHandle:e=>e.enumSensor},"datetime-sensor":{kind:`datetime`,format:`datetime`,getSliceHandle:e=>e.enumSensor}};function Z8(e){return typeof e==`object`&&!!e}function nge(e){return typeof e==`object`&&!!e}function rge(e){return typeof e==`object`&&!!e&&`state`in e&&typeof e.state==`string`}function Q8(e){return typeof e==`object`&&!!e&&`value`in e&&typeof e.value==`string`}function $8(e){if(typeof e!=`object`||!e)return;let t=e.format;if(t===`date`||t===`time`||t===`datetime`)return t}function ige(e,t){return e===`home`?t(`uiLibrary.sensor.presence.home`,`Home`):e===`not_home`?t(`uiLibrary.sensor.presence.away`,`Away`):e.charAt(0).toUpperCase()+e.slice(1)}function age({trpc:e,device:n}){let r=t(),i=U8(),a=n.role==null?void 0:X8[n.role],o=J8(n.role),{data:s}=iQ({},{staleTime:6e4}),c=h3(e,n.id),l=g3(c!==null&&a!==void 0?a.getSliceHandle(c.state):void 0),u=g3(c!==null&&a?.kind===`numeric`?c.state.enumSensor:void 0),d=g3(c!==null&&o?c.state.binary:void 0),f=o&&a?.kind===`numeric`&&!Y8(l,a.field)&&d!==void 0,p=f?q8:a,m=f?d:l;if(p===void 0||m===void 0)return null;if(p.kind===`numeric`){if(!Z8(m))return null;let e=m[p.field];if(typeof e!=`number`)return null;let t=m.lastFetchedAt,r=e===0&&t===0;if(r&&Q8(u)&&u.value!==``)return(0,q.jsx)(`span`,{className:Z(`inline-flex items-baseline text-xs text-foreground`),children:u.value});if(r)return null;let a=n.sourceInfo?.quantity,o=W8({display:n.display,capName:n.role===`numeric-sensor`?`numeric-sensor`:void 0,roleDefault:n.role==null?void 0:s?.defaults[n.role],quantity:p.quantity??`device`,deviceQuantity:a===`device`?void 0:a,unitPreferences:i}).format(e),c=o.unit,l=o.text;return(0,q.jsxs)(`span`,{className:Z(`inline-flex items-baseline gap-0.5 tabular-nums text-xs text-foreground`),children:[(0,q.jsx)(`span`,{children:l}),c&&(0,q.jsx)(`span`,{className:`text-foreground-subtle`,children:c})]})}if(p.kind===`binary`){if(!nge(m))return null;let e=!!m[p.field],t=e?p.onLabel:p.offLabel;return(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium`,e?`bg-warning/15 text-warning`:`bg-surface-subtle text-foreground-subtle`),children:t})}if(p.kind===`string`)return!Q8(m)||m.value===``?null:(0,q.jsx)(`span`,{className:Z(`inline-flex items-baseline text-xs text-foreground`),children:m.value});if(p.kind===`datetime`){if(!Q8(m)||m.value===``)return null;let e=n.sourceInfo?.dateTimeShape??$8(m)??p.format,t=G8(m.value,e);return(0,q.jsx)(`span`,{className:Z(`inline-flex items-baseline text-xs text-foreground`),children:t})}if(!rge(m))return null;let h=ige(m.state,r);return(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium`,m.state===`home`?`bg-success/15 text-success`:`bg-surface-subtle text-foreground-subtle`),children:h})}function e5(e){switch(e){case`opening`:return{up:`accent`,stop:`neutral`,down:`neutral`};case`closing`:return{up:`neutral`,stop:`neutral`,down:`accent`};case`open`:return{up:`filled`,stop:`neutral`,down:`neutral`};case`closed`:return{up:`neutral`,stop:`neutral`,down:`filled`};default:return{up:`neutral`,stop:`neutral`,down:`neutral`}}}function oge(e){switch(e){case`accent`:return`bg-primary text-primary-foreground`;case`filled`:return`bg-primary/15 text-primary`;case`neutral`:return``}}function t5({label:e,busy:t,variant:n,onClick:r,children:i}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,title:e,disabled:t,onClick:e=>{e.stopPropagation(),r()},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,oge(n),t&&`opacity-40 cursor-not-allowed`),children:i})}function sge({trpc:e,deviceId:n,optimistic:r}){let i=t(),{cap:a,slice:o,available:s}=v3({trpc:e,deviceId:n,cap:e=>e.cover,slice:e=>e.state.cover}),{display:c,applyOptimisticAction:l}=j8(o,{enabled:r??!0});if(a===void 0)return null;let u=e5(c?.state),d=!s,f=(e,t)=>{d||!e||(t===void 0?e({}):l(t,()=>e({})))};return(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-1`,children:[(0,q.jsx)(t5,{label:i(`uiLibrary.coverInline.open`,`Open`),busy:d,variant:u.up,onClick:()=>f(a?.open,{state:`opening`}),children:(0,q.jsx)(fW,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(t5,{label:i(`uiLibrary.coverInline.stop`,`Stop`),busy:d,variant:u.stop,onClick:()=>f(a?.stop,{state:`stopped`}),children:(0,q.jsx)(YG,{className:`h-3 w-3`})}),(0,q.jsx)(t5,{label:i(`uiLibrary.coverInline.close`,`Close`),busy:d,variant:u.down,onClick:()=>f(a?.close,{state:`closing`}),children:(0,q.jsx)(lW,{className:`h-3.5 w-3.5`})}),c!==void 0&&c.position!==null&&(0,q.jsxs)(`span`,{className:`tabular-nums text-xs text-foreground-subtle ml-1`,children:[c.position,`%`]})]})}function n5({label:e,busy:t,variant:n,onClick:r,children:i}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,title:e,disabled:t,onClick:e=>{e.stopPropagation(),r()},className:Z(`inline-flex h-10 w-10 items-center justify-center rounded-md text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,n===`accent`&&`bg-primary text-primary-foreground hover:bg-primary/90`,n===`filled`&&`bg-primary/15 text-primary`,t&&`opacity-40 cursor-not-allowed`),children:i})}function r5(){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{"aria-hidden":`true`,className:`absolute inset-y-0 left-1/2 w-px -translate-x-px bg-white/60`}),(0,q.jsx)(`div`,{"aria-hidden":`true`,className:`absolute inset-x-0 top-1/2 h-px -translate-y-px bg-white/60`})]})}function cge({position:e,interactive:n,onSetPosition:r}){let i=t(),a=(1-e/100)*100,o=(0,s.useRef)(null),c=(0,s.useRef)(!1),l=(0,s.useRef)(null),u=t=>{let n=o.current;if(n===null)return e;let r=n.getBoundingClientRect();if(r.height<=0)return e;let i=(t-r.top)/r.height,a=Math.round(100-i*100);return Math.min(100,Math.max(0,a))},d=e=>{if(r===void 0)return;let t=u(e);l.current!==t&&(l.current=t,r(t))},f=e=>{n&&(e.stopPropagation(),e.preventDefault(),c.current=!0,l.current=null,e.currentTarget.setPointerCapture(e.pointerId),d(e.clientY))},p=e=>{!n||!c.current||(e.stopPropagation(),d(e.clientY))},m=e=>{!n||!c.current||(e.stopPropagation(),c.current=!1,l.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))};return(0,q.jsxs)(`div`,{ref:o,"data-testid":`cover-window`,...n?{"aria-label":i(`uiLibrary.coverHeroCard.dragToSet`,`Drag to set position`),role:`slider`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e}:{"aria-hidden":`true`},onPointerDown:n?f:void 0,onPointerMove:n?p:void 0,onPointerUp:n?m:void 0,onPointerCancel:n?m:void 0,className:Z(`relative w-28 h-36 rounded border-2 border-amber-700/60 bg-gradient-to-b from-sky-200 to-sky-50 overflow-hidden flex-shrink-0`,n&&`cursor-ns-resize touch-none select-none`),style:{boxShadow:`inset 0 0 0 2px rgba(255,255,255,.5)`},children:[(0,q.jsx)(r5,{}),(0,q.jsx)(`div`,{className:`absolute inset-x-0 top-0 transition-all duration-200`,style:{height:`${a}%`,background:`repeating-linear-gradient(#c9cdd2, #c9cdd2 6px, #b7bcc2 6px, #b7bcc2 8px)`,borderBottom:a>0?`1px solid #9aa`:`none`}}),(0,q.jsxs)(`div`,{"data-testid":`cover-lever`,className:Z(`absolute inset-x-0 h-4 flex items-center justify-center gap-1 z-10 transition-all duration-200`,n&&`cursor-grab active:cursor-grabbing`),style:{top:`calc(${a}% - 8px)`},children:[(0,q.jsx)(`div`,{className:`absolute -inset-x-1.5 h-full rounded-lg bg-slate-600 shadow-md`}),(0,q.jsx)(`span`,{className:`h-1 w-1 rounded-full bg-white/70 relative z-10`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`h-1 w-1 rounded-full bg-white/70 relative z-10`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`h-1 w-1 rounded-full bg-white/70 relative z-10`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{"data-testid":`cover-position-pct`,className:`absolute left-full ml-2 text-xs font-semibold text-foreground tabular-nums whitespace-nowrap`,children:[e,`%`]})]})]})}function lge({isOpen:e}){return(0,q.jsxs)(`div`,{"data-testid":`cover-window`,"aria-hidden":`true`,className:`relative w-28 h-36 rounded border-2 border-amber-700/60 bg-gradient-to-b from-sky-200 to-sky-50 overflow-hidden flex-shrink-0`,style:{boxShadow:`inset 0 0 0 2px rgba(255,255,255,.5)`},children:[(0,q.jsx)(r5,{}),!e&&(0,q.jsx)(`div`,{className:`absolute inset-0`,style:{background:`repeating-linear-gradient(#c9cdd2, #c9cdd2 6px, #b7bcc2 6px, #b7bcc2 8px)`}})]})}function uge({trpc:e,deviceId:n,features:r,optimistic:i}){let a=t(),{cap:o,slice:s,available:c}=v3({trpc:e,deviceId:n,cap:e=>e.cover,slice:e=>e.state.cover}),{display:l,applyOptimisticAction:u}=j8(s,{enabled:i??!0});if(o===void 0)return null;let d=!c,f=(r??[]).includes(p.CoverPositionable),m=(r??[]).includes(p.CoverTilt),h=e5(l?.state),g=l?.position??null,_=g!==null,v=l?.state===`open`||l?.state===`opening`,y=(e,t)=>{d||!e||(t===void 0?e({}):u(t,()=>e({})))},b=e=>{d||u({position:e},()=>o?.setPosition({position:e}))};return(0,q.jsxs)(`div`,{className:`flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-6`,children:[_?(0,q.jsx)(cge,{position:g,interactive:f,onSetPosition:f?b:void 0}):(0,q.jsx)(lge,{isOpen:v}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 flex-1`,children:[_&&(0,q.jsxs)(`div`,{className:`flex items-baseline gap-1`,children:[(0,q.jsx)(`span`,{className:`text-3xl font-semibold tabular-nums text-foreground`,children:g}),(0,q.jsx)(`span`,{className:`text-base text-foreground-subtle`,children:`%`}),(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle ml-1`,children:a(`uiLibrary.coverHeroCard.openWord`,`open`)})]}),!_&&(0,q.jsx)(`div`,{className:`flex items-baseline gap-1`,children:(0,q.jsx)(`span`,{className:`text-3xl font-semibold capitalize text-foreground`,children:l?.state??`—`})}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(n5,{label:a(`uiLibrary.coverHeroCard.open`,`Open`),busy:d,variant:h.up,onClick:()=>y(o?.open,{state:`opening`}),children:(0,q.jsx)(fW,{className:`h-5 w-5`})}),(0,q.jsx)(n5,{label:a(`uiLibrary.coverHeroCard.stop`,`Stop`),busy:d,variant:h.stop,onClick:()=>y(o?.stop,{state:`stopped`}),children:(0,q.jsx)(YG,{className:`h-4 w-4`})}),(0,q.jsx)(n5,{label:a(`uiLibrary.coverHeroCard.close`,`Close`),busy:d,variant:h.down,onClick:()=>y(o?.close,{state:`closing`}),children:(0,q.jsx)(lW,{className:`h-5 w-5`})})]})]})]}),f&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{className:`w-12 shrink-0`,children:a(`uiLibrary.coverHeroCard.position`,`Position`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.coverHeroCard.position`,`Position`),type:`range`,min:0,max:100,step:1,value:g??0,disabled:d,className:`flex-1`,onChange:e=>{b(Number(e.target.value))}}),(0,q.jsxs)(`span`,{className:`w-8 text-right tabular-nums`,children:[g??`—`,`%`]})]}),!f&&g!==null&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{className:`w-12 shrink-0`,children:a(`uiLibrary.coverHeroCard.position`,`Position`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.coverHeroCard.position`,`Position`),type:`range`,min:0,max:100,step:1,value:g,disabled:!0,readOnly:!0,className:`flex-1 opacity-60`}),(0,q.jsxs)(`span`,{className:`w-8 text-right tabular-nums`,children:[g,`%`]})]}),m&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-foreground-subtle`,children:[(0,q.jsx)(`span`,{className:`w-12 shrink-0`,children:a(`uiLibrary.coverHeroCard.tilt`,`Tilt`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.coverHeroCard.tiltPosition`,`Tilt position`),type:`range`,min:0,max:100,step:1,value:l?.tiltPosition??0,disabled:d,className:`flex-1`,onChange:e=>{let t=Number(e.target.value);d||u({tiltPosition:t},()=>o?.setTiltPosition({tiltPosition:t}))}}),(0,q.jsxs)(`span`,{className:`w-8 text-right tabular-nums`,children:[l?.tiltPosition??`—`,`%`]})]})]})}function dge(e){return(0,q.jsx)(`span`,{className:`text-foreground-subtle text-xs select-none`,"aria-hidden":`true`,children:`—`})}function fge(e){return(0,q.jsx)(`div`,{className:`rounded border border-border bg-surface-subtle px-3 py-2 text-xs text-foreground-subtle`,children:t()(`uiLibrary.dummyHeroCard.comingSoon`,`Controls coming soon`)})}function pge(e){return{id:e.id,stableId:e.stableId,addonId:e.addonId,type:e.type,name:e.name,online:e.online,disabled:e.disabled,parentDeviceId:e.parentDeviceId,role:e.role??void 0,features:e.features}}function mge({trpc:e,deviceId:t}){let{data:n}=aQ({deviceId:t},{staleTime:6e4});return n===void 0?null:(0,q.jsx)(age,{trpc:e,device:pge(n)})}var i5={"temperature-sensor":`temperature-sensor`,"humidity-sensor":`humidity-sensor`,"ambient-light-sensor":`ambient-light-sensor`,"pressure-sensor":`pressure-sensor`,"numeric-sensor":`numeric-sensor`,"wind-sensor":`numeric-sensor`,"rain-sensor":`numeric-sensor`,"uv-sensor":`numeric-sensor`,"solar-radiation-sensor":`numeric-sensor`,"soil-moisture-sensor":`numeric-sensor`,"power-sensor":`power-meter`,"energy-sensor":`power-meter`,"voltage-sensor":`power-meter`,"current-sensor":`power-meter`,"battery-sensor":`numeric-sensor`,"generic-sensor":`numeric-sensor`,"motion-sensor":`motion`,"pir-sensor":`motion`,"contact-sensor":`contact`,"smoke-sensor":`smoke`,"leak-sensor":`flood`,"co-sensor":`carbon-monoxide`,"binary-sensor":`binary`,presence:`presence`,"enum-sensor":`enum-sensor`,"datetime-sensor":`enum-sensor`};function a5(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function o5(e,t){if(!a5(t))return!1;if(e.kind===`presence`)return typeof t.state==`string`;if(e.kind===`string`||e.kind===`datetime`)return typeof t.value==`string`&&t.value!==``;let n=t[e.field];return e.kind===`numeric`?typeof n==`number`:typeof n==`boolean`}function s5(e,t){if(!(t===void 0||!a5(e)))return e[t]}function hge(e){let t=s5(e,`battery`);if(!(!a5(t)||typeof t.level!=`number`))return{...t,value:t.level}}function gge(e){let t=s5(e.snapshotCaps,e.capName);if(e.descriptor!==void 0&&o5(e.descriptor,t))return t;if(e.role===`battery-sensor`&&e.descriptor?.kind===`numeric`)return hge(e.snapshotCaps)}function _ge(e){let t=e.descriptor;if(t!==void 0&&o5(t,e.live))return{kind:`value`,slice:e.live};let n=gge(e);return t!==void 0&&o5(t,n)?{kind:`value`,slice:n}:e.addonId===`composer`&&e.snapshotStatus===`success`?{kind:`quiet`}:{kind:`awaiting`}}function vge(e){return typeof e==`object`&&!!e}function c5(e){return typeof e==`object`&&!!e}function yge(e){return typeof e==`object`&&!!e&&`state`in e&&typeof e.state==`string`}function bge(e,t){return e===`home`?t(`uiLibrary.sensor.presence.home`,`Home`):e===`not_home`?t(`uiLibrary.sensor.presence.away`,`Away`):e.charAt(0).toUpperCase()+e.slice(1)}var xge={low:`bg-danger`,medium:`bg-warning`,high:`bg-success`};function Sge(e){return e<=20?`low`:e<=50?`medium`:`high`}function Cge({percent:e}){let t=Math.min(100,Math.max(0,e)),n=Sge(t);return(0,q.jsx)(`div`,{"data-testid":`battery-bar`,"data-band":n,className:`h-2 w-24 overflow-hidden rounded-full bg-border`,children:(0,q.jsx)(`div`,{className:Z(`h-full rounded-full transition-all`,xge[n]),style:{width:`${t}%`}})})}function wge({trpc:e,device:n}){let r=t(),i=U8(),a=n.role==null?X8[`temperature-sensor`]:X8[n.role],o=J8(n.role),{data:s}=iQ({},{staleTime:6e4}),c=h3(e,n.id),l=g3(c!==null&&a!==void 0?a.getSliceHandle(c.state):void 0),u=g3(c!==null&&o?c.state.binary:void 0),d=g3(c!==null&&!o?c.state.binary:void 0),f=o&&a?.kind===`numeric`&&!Y8(l,a.field)&&u!==void 0,p=f?q8:a,m=f?u:l,h=oQ({deviceId:n.id},{staleTime:5e3}),g=f?`binary`:n.role==null?i5[`temperature-sensor`]:i5[n.role],_=h.status===`success`||h.status===`error`?h.status:`pending`,v=_ge({addonId:n.addonId,role:n.role,descriptor:p,capName:g,live:m,snapshotStatus:_,snapshotCaps:h.data});if(v.kind===`quiet`)return(0,q.jsx)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4 min-h-[96px]`,"data-testid":`sensor-hero-quiet`,children:(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})});let y=v.kind===`value`?v.slice:void 0;if(p===void 0||y===void 0)return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4 min-h-[96px]`,children:[(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`}),(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle italic`,children:r(`uiLibrary.sensorHeroCard.awaiting`,`Awaiting state…`)})]});if(p.kind===`numeric`){if(!vge(y))return null;let e=y[p.field];if(typeof e!=`number`)return null;let t=n.sourceInfo?.quantity,a=W8({display:n.display,capName:n.role===`numeric-sensor`?`numeric-sensor`:void 0,roleDefault:n.role==null?s?.defaults?.[`temperature-sensor`]:s?.defaults?.[n.role],quantity:p.quantity??`device`,deviceQuantity:t===`device`?void 0:t,unitPreferences:i}).format(e),c=a.unit,l=a.text,u=d!==void 0&&c5(d)&&typeof d.on==`boolean`?!!d.on:null;return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-baseline gap-1`,children:[(0,q.jsx)(`span`,{className:`text-3xl font-semibold tabular-nums text-foreground`,children:l}),c&&(0,q.jsx)(`span`,{className:`text-base text-foreground-subtle`,children:c})]}),o&&(0,q.jsx)(Cge,{percent:e}),u!==null&&(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-2 py-0.5 text-xs font-medium`,u?`bg-warning/15 text-warning`:`bg-surface-subtle text-foreground-subtle`),"data-testid":`sensor-hero-occupancy`,children:u?r(`uiLibrary.sensorHeroCard.occupied`,`Occupied`):r(`uiLibrary.sensorHeroCard.clear`,`Clear`)}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]})}if(p.kind===`binary`){if(!c5(y))return null;let e=!!y[p.field],t=e?p.onLabel:p.offLabel;return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-3 py-1.5 text-lg font-semibold`,e?`bg-warning/15 text-warning`:`bg-surface-subtle text-foreground-subtle`),children:t}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]})}if(p.kind===`datetime`){if(!Q8(y))return null;if(y.value===``)return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4 min-h-[96px]`,children:[(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`}),(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle italic`,children:r(`uiLibrary.sensorHeroCard.awaiting`,`Awaiting state…`)})]});let e=n.sourceInfo?.dateTimeShape??$8(y)??p.format;return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsx)(`span`,{className:`text-3xl font-semibold tabular-nums text-foreground`,children:G8(y.value,e)}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]})}if(p.kind===`string`)return!Q8(y)||y.value===``?null:(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsx)(`span`,{className:`text-xl font-semibold text-foreground`,children:y.value}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]});if(!yge(y))return null;let b=bge(y.state,r);return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsx)(`span`,{className:Z(`inline-flex items-center rounded px-3 py-1.5 text-lg font-semibold`,y.state===`home`?`bg-success/15 text-success`:`bg-surface-subtle text-foreground-subtle`),children:b}),(0,q.jsx)(m3,{device:n,form:`full`,className:`text-sm text-foreground-subtle`})]})}function Tge({trpc:e,deviceId:t}){let{data:n}=aQ({deviceId:t},{staleTime:6e4});return n===void 0?null:(0,q.jsx)(wge,{trpc:e,device:n})}function l5(e){return e===void 0||e.inProgress?!1:e.availableVersion!==null&&e.currentVersion!==null&&e.availableVersion!==e.currentVersion}function u5(e,t){return v3({trpc:e,deviceId:t,cap:e=>e.update,slice:e=>e.state.update})}function Ege({trpc:e,deviceId:n}){let r=t(),{cap:i,slice:a}=u5(e,n);return i===void 0?null:a?.inProgress?(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs text-foreground-subtle`,children:[(0,q.jsx)(ZW,{className:`h-3.5 w-3.5 animate-spin`}),r(`uiLibrary.updateControl.updating`,`Updating…`)]}):l5(a)?(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-warning/15 px-1.5 py-0.5 text-[10px] font-medium text-warning`,children:[(0,q.jsx)(AW,{className:`h-3 w-3`}),r(`uiLibrary.updateControl.update`,`Update`)]}):(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] text-foreground-subtle`,children:[(0,q.jsx)(cW,{className:`h-3 w-3 text-success`}),a?.currentVersion??r(`uiLibrary.updateControl.upToDate`,`Up to date`)]})}function Dge({trpc:e,deviceId:n}){let r=t(),{cap:i,slice:a,available:o}=u5(e,n);if(i===void 0)return null;let s=a?.inProgress===!0,c=l5(a),l=a?.currentVersion??`—`,u=()=>{!o||i===void 0||!c||i.installUpdate({})};return(0,q.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-lg border border-border bg-surface p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-baseline gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-3xl font-semibold tabular-nums text-foreground`,children:l}),c&&a?.availableVersion!=null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-base text-foreground-subtle`,children:`→`}),(0,q.jsx)(`span`,{className:`text-base font-medium text-warning tabular-nums`,children:a.availableVersion})]})]}),s?(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded px-3 py-1.5 text-sm font-medium text-foreground-subtle`,children:[(0,q.jsx)(ZW,{className:`h-4 w-4 animate-spin`}),r(`uiLibrary.updateControl.installing`,`Installing…`)]}):c?(0,q.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),u()},disabled:!o,className:`inline-flex items-center gap-1.5 rounded-lg bg-primary px-4 py-1.5 text-sm font-medium text-primary-foreground shadow-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed`,children:[(0,q.jsx)(AW,{className:`h-4 w-4`}),r(`uiLibrary.updateControl.install`,`Install update`)]}):(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded bg-success/15 px-3 py-1 text-sm font-medium text-success`,children:[(0,q.jsx)(cW,{className:`h-4 w-4`}),r(`uiLibrary.updateControl.upToDate`,`Up to date`)]}),a?.state!=null&&a.state!==``&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,children:a.state})]})}function Oge(e,t=i){switch(e){case`cleaning`:return{label:t(`uiLibrary.vacuum.cleaning`,`Cleaning`),tone:`text-primary`};case`paused`:return{label:t(`uiLibrary.vacuum.paused`,`Paused`),tone:`text-warning`};case`returning`:return{label:t(`uiLibrary.vacuum.returning`,`Returning`),tone:`text-primary`};case`docked`:return{label:t(`uiLibrary.vacuum.docked`,`Docked`),tone:`text-success`};case`drying`:return{label:t(`uiLibrary.vacuum.drying`,`Drying`),tone:`text-warning`};case`idle`:return{label:t(`uiLibrary.vacuum.idle`,`Idle`),tone:`text-foreground-subtle`};case`error`:return{label:t(`uiLibrary.vacuum.error`,`Error`),tone:`text-destructive`};case void 0:return{label:t(`uiLibrary.vacuum.unknown`,`Unknown`),tone:`text-foreground-subtle`}}}function d5(e,t){return v3({trpc:e,deviceId:t,cap:e=>e.vacuumControl,slice:e=>e.state.vacuumControl})}function f5({label:e,busy:t,active:n,onClick:r,children:i}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,title:e,disabled:t,onClick:e=>{e.stopPropagation(),r()},className:Z(`inline-flex h-5 w-5 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,n&&`bg-primary text-primary-foreground`,t&&`opacity-40 cursor-not-allowed`),children:i})}function kge(e){switch(e){case`cleaning`:return{glow:`bg-primary/15`,accent:`text-primary`,docked:!1,active:!0};case`returning`:return{glow:`bg-primary/10`,accent:`text-primary`,docked:!1,active:!0};case`docked`:return{glow:`bg-success/10`,accent:`text-success`,docked:!0,active:!1};case`drying`:return{glow:`bg-warning/10`,accent:`text-warning`,docked:!0,active:!1};case`paused`:return{glow:`bg-warning/10`,accent:`text-warning`,docked:!1,active:!1};case`error`:return{glow:`bg-destructive/10`,accent:`text-destructive`,docked:!1,active:!1};case`idle`:return{glow:`bg-transparent`,accent:`text-foreground-subtle`,docked:!1,active:!1};case void 0:return{glow:`bg-transparent`,accent:`text-foreground-subtle`,docked:!1,active:!1}}}var Age=`
|
|
80
80
|
@keyframes rg-breathe { 0%,100%{opacity:.78;transform:scale(1)} 50%{opacity:1;transform:scale(1.05)} }
|
|
81
81
|
@keyframes rg-zzz { 0%{opacity:0;transform:translateY(3px)} 30%{opacity:.85} 100%{opacity:0;transform:translateY(-9px)} }
|
|
82
82
|
@keyframes rg-spark { 0%,100%{opacity:.25;transform:scale(.9)} 50%{opacity:1;transform:scale(1.1)} }
|
|
@@ -142,4 +142,4 @@ Error generating stack: `+e.message+`
|
|
|
142
142
|
.mph-eq:nth-child(odd) { transform: scaleY(.6); }
|
|
143
143
|
.mph-halo { opacity: 0; }
|
|
144
144
|
}
|
|
145
|
-
`,Lve={on:`border-success bg-success/15 text-success shadow-lg shadow-success/30`,standby:`border-warning bg-warning/10 text-warning`,off:`border-border bg-surface-hover text-foreground-subtle`,unknown:`border-dashed border-border bg-transparent text-foreground-subtle`};function Rve({power:e,onPress:t,label:n,busy:r}){let i=(0,q.jsx)(q.Fragment,{children:e===`unknown`?(0,q.jsx)(gW,{className:`h-7 w-7`,"aria-hidden":`true`}):(0,q.jsx)(SG,{className:`h-7 w-7`,"aria-hidden":`true`})}),a=Z(`relative z-10 inline-flex h-16 w-16 items-center justify-center rounded-full border-2`,`transition-all duration-500 motion-reduce:transition-none`,Lve[e]);return(0,q.jsxs)(`div`,{className:`relative flex h-20 w-20 items-center justify-center`,"data-power":e,children:[e===`on`&&(0,q.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`media-power-halo`,className:`mph-halo absolute h-16 w-16 rounded-full bg-success/25`}),t===void 0?(0,q.jsx)(`span`,{className:a,"data-testid":`media-power`,role:`img`,"aria-label":n,children:i}):(0,q.jsx)(`button`,{type:`button`,"aria-label":n,title:n,disabled:r,"data-testid":`media-power`,onClick:e=>{e.stopPropagation(),r||t()},className:Z(a,`hover:brightness-110 active:scale-95`,r&&`cursor-not-allowed opacity-40`),children:i})]})}var zve=[0,1,2,3];function Bve({running:e}){return e===`playing`?(0,q.jsx)(`span`,{className:`inline-flex h-4 items-end gap-0.5 text-primary`,"data-testid":`media-running`,"data-running":`playing`,"aria-hidden":`true`,children:zve.map(e=>(0,q.jsx)(`span`,{className:`mph-eq h-4 w-1 rounded-full bg-primary`},e))}):e===`buffering`?(0,q.jsx)(ZW,{className:`h-4 w-4 animate-spin text-foreground-muted motion-reduce:animate-none`,"data-testid":`media-running`,"data-running":`buffering`,"aria-hidden":`true`}):e===`paused`?(0,q.jsx)(gG,{className:`h-4 w-4 text-foreground-muted`,"data-testid":`media-running`,"data-running":`paused`,"aria-hidden":`true`}):null}function Vve(e){return e===`playing`||e===`buffering`?`pause`:`play`}function I7(e,t){return e===null||t===null||t<=0?0:Math.min(1,Math.max(0,e/t))}function L7(e){if(e===null)return`--:--`;let t=Math.floor(e/1e3);return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}var Hve={off:`all`,all:`one`,one:`off`};function Uve({url:e}){let[t,n]=(0,s.useState)(e),[r,i]=(0,s.useState)(null),[a,o]=(0,s.useState)(null),c=(0,s.useRef)(e);return(0,s.useEffect)(()=>{if(c.current===e)return;i(c.current),n(e),c.current=e;let t=setTimeout(()=>i(null),700);return()=>clearTimeout(t)},[e]),(0,q.jsxs)(`div`,{"data-testid":`media-artwork`,className:`relative h-40 w-40 overflow-hidden rounded-lg border border-border bg-surface-hover`,children:[r!==null&&(0,q.jsx)(`img`,{src:r,alt:``,className:`mph-fade-out absolute inset-0 h-full w-full object-cover`}),t!==null&&a!==t?(0,q.jsx)(`img`,{src:t,alt:``,"data-testid":`media-artwork-img`,className:`mph-fade-in absolute inset-0 h-full w-full object-cover`,onError:()=>o(t)},t):(0,q.jsx)(fG,{className:`absolute inset-0 m-auto h-8 w-8 text-foreground-subtle`,"aria-hidden":`true`})]})}function Wve({media:e,positionMs:n}){let r=t(),i=e.progress;return(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,"data-testid":`media-now-playing`,children:[e.artworkUrl===null?(0,q.jsx)(fG,{className:`h-6 w-6 text-foreground-subtle`,"aria-hidden":`true`}):(0,q.jsx)(Uve,{url:e.artworkUrl}),(0,q.jsx)(`span`,{className:`text-base font-semibold text-foreground line-clamp-1`,"data-testid":`media-title`,children:e.title??r(`uiLibrary.mediaPlayerHero.nothing`,`Nothing playing`)}),e.subtitle!==null&&(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle line-clamp-1`,"data-testid":`media-subtitle`,children:e.subtitle}),i!==null&&(0,q.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,"data-testid":`media-progress`,children:[(0,q.jsx)(C8,{readOnly:!0,fraction:I7(n??i.positionMs,i.durationMs)}),(0,q.jsxs)(`div`,{className:`flex justify-between text-[11px] tabular-nums text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:L7(n??i.positionMs)}),(0,q.jsx)(`span`,{children:L7(i.durationMs)})]})]})]})}var Gve={off:`Off`,on:`On`,idle:`Idle`,playing:`Playing`,paused:`Paused`,buffering:`Buffering`,standby:`Standby`};function Kve({state:e,source:n,running:r}){let i=t();return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2 text-xs text-foreground-muted`,"data-testid":`media-state`,children:[r,e===void 0?(0,q.jsx)(`span`,{className:`font-medium text-foreground-subtle`,"data-testid":`media-state-unknown`,children:i(`uiLibrary.mediaPlayerHero.state.unknown`,`State unknown`)}):(0,q.jsx)(`span`,{className:`font-medium text-foreground`,children:i(`uiLibrary.mediaPlayerHero.state.${e}`,Gve[e])}),n!==``&&(0,q.jsx)(`span`,{"data-testid":`media-source`,children:n})]})}function R7({label:e,busy:t,onPress:n,children:r,primary:i,active:a,testId:o}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,"aria-pressed":a,title:e,disabled:t,"data-testid":o,onClick:e=>{e.stopPropagation(),t||n()},className:Z(`inline-flex items-center justify-center rounded-full transition-colors`,i?`h-12 w-12 bg-primary text-primary-foreground hover:bg-primary/90 shadow-md`:`h-10 w-10 text-foreground-muted hover:bg-surface-hover`,a===!0&&`bg-primary/15 text-primary`,t&&`opacity-40 cursor-not-allowed`),children:r})}function z7({label:e,active:t,testId:n,children:r}){return(0,q.jsx)(`span`,{role:`img`,"aria-label":e,title:e,"data-testid":n,"data-active":t,className:Z(`inline-flex h-8 w-8 items-center justify-center rounded-full`,t?`bg-primary/15 text-primary`:`text-foreground-subtle`),children:r})}function qve({trpc:e,deviceId:n,features:r,optimistic:i}){let a=t(),{cap:o,slice:c,available:l}=v3({trpc:e,deviceId:n,cap:e=>e.mediaPlayer,slice:e=>e.state.mediaPlayer}),{display:u,applyOptimisticAction:d}=j8(c,{enabled:i??!0}),f=CH(u),[p,m]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{if(!f)return;m(Date.now());let e=setInterval(()=>m(Date.now()),1e3);return()=>clearInterval(e)},[f]);let h=_3(e,n,e=>e.runningState);if(o===void 0)return null;let g=MH(u,r,{running:h?.running}),_=!l,v=u,y=v!==void 0&&g.power===`on`,b=Vve(v?.state??`off`),x=()=>{_||(g.power===`on`?d({state:`off`},()=>o.turnOff({})):d({state:`on`},()=>o.turnOn({})))},S=Jve(g.power,a),ee=()=>{_||(b===`play`?d({state:`playing`},()=>o.play({})):d({state:`paused`},()=>o.pause({})))},C=g.nowPlaying,te=v===void 0?null:xH(v,p),ne=y&&g.source!==null&&g.source.selectable,re=!ne&&g.power!==`off`&&g.power!==`standby`&&typeof v?.source==`string`?v.source.trim():``,w=v?.volumeLevel??null;return(0,q.jsxs)(`div`,{className:Z(`flex flex-col items-stretch gap-4 rounded-lg border bg-surface p-6`,`transition-colors duration-500 motion-reduce:transition-none`,g.power===`on`?`border-success/40`:`border-border`),"data-testid":`media-hero`,"data-power":g.power,children:[(0,q.jsx)(`style`,{children:Ive}),(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,q.jsx)(Rve,{power:g.power,label:S,busy:_,onPress:g.canSwitchPower?x:void 0}),(0,q.jsx)(Kve,{state:v?.state,source:re,running:(0,q.jsx)(Bve,{running:g.running})})]}),C!==null&&(0,q.jsx)(Wve,{media:C,positionMs:te}),ne&&g.source!==null&&(0,q.jsxs)(`div`,{"data-testid":`media-source-select`,className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle`,children:a(`uiLibrary.mediaPlayerHero.source`,`Source`)}),(0,q.jsx)(nQ,{"aria-label":a(`uiLibrary.mediaPlayerHero.source`,`Source`),value:g.source.current,disabled:_,wrapperClassName:`relative min-w-0 flex-1`,options:g.source.options.map(e=>({value:e,label:e})),onChange:e=>{_||d({source:e.target.value},()=>o.selectSource({source:e.target.value}))}})]}),y&&g.seek&&v!==void 0&&(0,q.jsxs)(`div`,{"data-testid":`media-seek`,className:`flex flex-col gap-1`,children:[(0,q.jsxs)(`label`,{className:`relative block`,children:[(0,q.jsx)(`span`,{className:`sr-only`,children:a(`uiLibrary.mediaPlayerHero.seek`,`Seek`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.mediaPlayerHero.seek`,`Seek`),type:`range`,min:0,max:v.duration??0,step:1e3,className:`absolute inset-0 h-4 w-full cursor-pointer opacity-0`,value:te??0,disabled:_,onChange:e=>{if(_)return;let t=Number(e.target.value);d(SH(v,t,Date.now()),()=>o.seek({position:t}))}}),(0,q.jsx)(`div`,{className:`pointer-events-none`,children:(0,q.jsx)(C8,{fraction:I7(te,v.duration)})})]}),(0,q.jsxs)(`div`,{className:`flex justify-between text-[11px] tabular-nums text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:L7(te)}),(0,q.jsx)(`span`,{children:L7(v.duration)})]})]}),y&&g.transport.playPause&&(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-4`,"data-testid":`media-transport`,children:[g.transport.previous&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.previous`,`Previous`),busy:_,onPress:()=>void o.previous({}),children:(0,q.jsx)(HG,{className:`h-5 w-5`,"aria-hidden":`true`})}),(0,q.jsx)(R7,{label:b===`play`?a(`uiLibrary.mediaPlayerHero.play`,`Play`):a(`uiLibrary.mediaPlayerHero.pause`,`Pause`),busy:_,onPress:ee,primary:!0,children:b===`play`?(0,q.jsx)(yG,{className:`h-6 w-6`,"aria-hidden":`true`}):(0,q.jsx)(gG,{className:`h-6 w-6`,"aria-hidden":`true`})}),g.transport.stop&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.stop`,`Stop`),busy:_,onPress:()=>void o.stop({}),children:(0,q.jsx)(YG,{className:`h-4 w-4`,"aria-hidden":`true`})}),g.transport.next&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.next`,`Next`),busy:_,onPress:()=>void o.next({}),children:(0,q.jsx)(UG,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),y&&g.volume===`slider`&&(0,q.jsxs)(`div`,{"data-testid":`media-volume`,className:`flex items-center gap-2`,children:[g.mute&&(0,q.jsx)(`button`,{type:`button`,"aria-label":v?.isMuted===!0?a(`uiLibrary.mediaPlayerHero.unmute`,`Unmute`):a(`uiLibrary.mediaPlayerHero.mute`,`Mute`),title:v?.isMuted===!0?a(`uiLibrary.mediaPlayerHero.unmute`,`Unmute`):a(`uiLibrary.mediaPlayerHero.mute`,`Mute`),disabled:_,onClick:e=>{if(e.stopPropagation(),_)return;let t=v?.isMuted===null||v===void 0?!0:!v.isMuted;d({isMuted:t},()=>o.setMute({muted:t}))},className:Z(`inline-flex h-7 w-7 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,_&&`opacity-40 cursor-not-allowed`),children:v?.isMuted===!0?(0,q.jsx)(uK,{className:`h-4 w-4`,"aria-hidden":`true`}):(0,q.jsx)(lK,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,q.jsxs)(`label`,{className:`relative block flex-1`,children:[(0,q.jsx)(`span`,{className:`sr-only`,children:a(`uiLibrary.mediaPlayerHero.volume`,`Volume`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.mediaPlayerHero.volume`,`Volume`),type:`range`,min:0,max:100,step:1,className:`absolute inset-0 h-4 w-full cursor-pointer opacity-0`,value:w??0,disabled:_,onChange:e=>{if(_)return;let t=Number(e.target.value);d({volumeLevel:t},()=>o.setVolume({volumeLevel:t}))}}),(0,q.jsx)(`div`,{className:`pointer-events-none`,children:(0,q.jsx)(`div`,{className:Z(w===null&&`opacity-40`),"data-testid":`media-volume-track`,"data-known":w!==null,children:(0,q.jsx)(C8,{fraction:v?.isMuted===!0||w===null?0:w/100})})})]}),(0,q.jsx)(`span`,{className:`w-9 text-right text-[11px] tabular-nums text-foreground-subtle`,children:w===null?`—`:`${w}%`})]}),y&&g.volume===`steps`&&(0,q.jsxs)(`div`,{"data-testid":`media-volume-steps`,className:`flex items-center justify-center gap-3 text-xs text-foreground-subtle`,children:[(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.volumeDown`,`Volume down`),busy:_,onPress:()=>void o.volumeDown({steps:1}),children:(0,q.jsx)(oG,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,q.jsx)(lK,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.volumeUp`,`Volume up`),busy:_,onPress:()=>void o.volumeUp({steps:1}),children:(0,q.jsx)(bG,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),v!==void 0&&(y&&(g.shuffle||g.repeat)||g.shuffleReadOnly||g.repeatReadOnly)&&(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-2`,"data-testid":`media-modes`,children:[g.shuffleReadOnly&&v.shuffle!==null&&(0,q.jsx)(z7,{label:a(`uiLibrary.mediaPlayerHero.shuffle`,`Shuffle`),active:v.shuffle,testId:`media-shuffle-flag`,children:(0,q.jsx)(BG,{className:`h-4 w-4`,"aria-hidden":`true`})}),g.repeatReadOnly&&v.repeat!==null&&(0,q.jsx)(z7,{label:a(`uiLibrary.mediaPlayerHero.repeat`,`Repeat`),active:v.repeat!==`off`,testId:`media-repeat-flag`,children:v.repeat===`one`?(0,q.jsx)(EG,{className:`h-4 w-4`,"aria-hidden":`true`}):(0,q.jsx)(DG,{className:`h-4 w-4`,"aria-hidden":`true`})}),y&&g.shuffle&&v.shuffle!==null&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.shuffle`,`Shuffle`),busy:_,active:v.shuffle,onPress:()=>{let e=!v.shuffle;d({shuffle:e},()=>o.setShuffle({shuffle:e}))},children:(0,q.jsx)(BG,{className:`h-4 w-4`,"aria-hidden":`true`})}),y&&g.repeat&&v.repeat!==null&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.repeat`,`Repeat`),busy:_,active:v.repeat!==`off`,onPress:()=>{if(v.repeat===null)return;let e=Hve[v.repeat];d({repeat:e},()=>o.setRepeat({repeat:e}))},children:v.repeat===`one`?(0,q.jsx)(EG,{className:`h-4 w-4`,"aria-hidden":`true`}):(0,q.jsx)(DG,{className:`h-4 w-4`,"aria-hidden":`true`})})]})]})}function Jve(e,t){return e===`on`?t(`uiLibrary.mediaPlayerHero.turnOff`,`Turn off`):e===`unknown`?t(`uiLibrary.mediaPlayerHero.powerUnknown`,`Power state unknown`):t(`uiLibrary.mediaPlayerHero.turnOn`,`Turn on`)}var B7={disarmed:{colorClass:`border-border bg-surface-subtle text-foreground-subtle`,icon:`disarmed`},armed_home:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},armed_away:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},armed_night:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},armed_vacation:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},armed_custom_bypass:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},arming:{colorClass:`border-warning/30 bg-warning/10 text-warning`,icon:`pending`},disarming:{colorClass:`border-warning/30 bg-warning/10 text-warning`,icon:`pending`},pending:{colorClass:`border-warning/30 bg-warning/10 text-warning`,icon:`pending`},triggered:{colorClass:`border-danger/30 bg-danger/10 text-danger`,icon:`triggered`}};function V7(e,t){switch(e){case`home`:return t(`uiLibrary.alarmHeroCard.modeHome`,`Home`);case`away`:return t(`uiLibrary.alarmHeroCard.modeAway`,`Away`);case`night`:return t(`uiLibrary.alarmHeroCard.modeNight`,`Night`);case`vacation`:return t(`uiLibrary.alarmHeroCard.modeVacation`,`Vacation`);case`custom_bypass`:return t(`uiLibrary.alarmHeroCard.modeBypass`,`Bypass`)}}function H7(e,t){switch(e){case`disarmed`:return t(`uiLibrary.alarmHeroCard.stateDisarmed`,`Disarmed`);case`armed_home`:return t(`uiLibrary.alarmHeroCard.stateArmedHome`,`Armed Home`);case`armed_away`:return t(`uiLibrary.alarmHeroCard.stateArmedAway`,`Armed Away`);case`armed_night`:return t(`uiLibrary.alarmHeroCard.stateArmedNight`,`Armed Night`);case`armed_vacation`:return t(`uiLibrary.alarmHeroCard.stateArmedVacation`,`Armed Vacation`);case`armed_custom_bypass`:return t(`uiLibrary.alarmHeroCard.stateArmedBypass`,`Armed (Bypass)`);case`arming`:return t(`uiLibrary.alarmHeroCard.stateArming`,`Arming…`);case`disarming`:return t(`uiLibrary.alarmHeroCard.stateDisarming`,`Disarming…`);case`pending`:return t(`uiLibrary.alarmHeroCard.statePending`,`Pending`);case`triggered`:return t(`uiLibrary.alarmHeroCard.stateTriggered`,`Triggered`)}}function U7(e){return e.startsWith(`armed_`)}function W7(e){return e===`arming`||e===`disarming`}function G7({icon:e,sizeClass:t=`h-8 w-8`}){return e===`disarmed`?(0,q.jsx)(LG,{className:t,"aria-hidden":`true`}):e===`triggered`?(0,q.jsx)(FG,{className:t,"aria-hidden":`true`}):e===`pending`?(0,q.jsx)(zG,{className:t,"aria-hidden":`true`}):(0,q.jsx)(IG,{className:t,"aria-hidden":`true`})}function K7({label:e,active:t,busy:n,onSelect:r}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,"aria-pressed":t,disabled:n,onClick:e=>{e.stopPropagation(),n||r()},className:Z(`flex-1 rounded-md px-3 py-2 text-sm font-medium transition-colors`,t?`bg-primary text-primary-foreground shadow-sm`:`text-foreground-muted hover:bg-surface-hover`,n&&`opacity-40 cursor-not-allowed`),children:e})}function Yve({state:e,availableModes:n,busy:r,onDisarm:i,onArm:a}){let o=t(),s=U7(e),c=W7(e);return(0,q.jsxs)(`div`,{className:Z(`flex min-w-0 items-stretch gap-1 rounded-lg border border-border bg-surface-subtle p-1`),children:[(0,q.jsx)(K7,{label:o(`uiLibrary.alarmHeroCard.disarm`,`Disarm`),active:!s&&!c,busy:r,onSelect:i}),n.map(t=>(0,q.jsx)(K7,{label:V7(t,o),active:!c&&e===`armed_${t}`,busy:r,onSelect:()=>a(t)},t))]})}function q7(e){return e instanceof Error?e.message:String(e)}function J7(e,t,n){let{cap:r,slice:i,available:a}=v3({trpc:e,deviceId:t,cap:e=>e.alarmPanel,slice:e=>e.state.alarmPanel}),{display:o,applyOptimistic:c,rollback:l}=j8(i,{enabled:n??!0}),[u,d]=(0,s.useState)(null),f=()=>d(null),p=(0,s.useRef)(0);(0,s.useEffect)(()=>{d(null)},[i]);let m=!a;return{display:o,capPresent:r!==void 0,busy:m,handleDisarm:()=>{if(r===void 0||m)return;let e=++p.current;c({state:`disarming`}),r.disarm({}).catch(t=>{p.current===e&&(l(),d(q7(t)))})},handleArm:e=>{if(r===void 0||m)return;let t=++p.current;c({state:`arming`}),r.arm({mode:e}).catch(e=>{p.current===t&&(l(),d(q7(e)))})},error:u,clearError:f}}function Xve({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,handleDisarm:c,handleArm:l,error:u}=J7(e,n,r);if(!o||a===void 0)return null;let d=B7[a.state],f=U7(a.state)?a.state.replace(`armed_`,``):``;return(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsxs)(`span`,{className:Z(`inline-flex shrink-0 items-center gap-1 rounded-md border px-1.5 py-0.5 text-[11px] font-medium whitespace-nowrap`,d.colorClass,W7(a.state)&&`animate-pulse`),children:[(0,q.jsx)(G7,{icon:d.icon,sizeClass:`h-3 w-3`}),H7(a.state,i)]}),(0,q.jsxs)(nQ,{"aria-label":i(`uiLibrary.alarmHeroCard.alarmMode`,`Alarm mode`),disabled:s,value:f,onClick:e=>e.stopPropagation(),onChange:e=>{e.stopPropagation();let t=e.target.value;t===``?c():l(t)},className:Z(`min-w-0 shrink rounded-md border border-border bg-surface-subtle px-1.5 py-0.5 text-xs text-foreground-muted`,s&&`cursor-not-allowed opacity-40`),children:[(0,q.jsx)(`option`,{value:``,children:i(`uiLibrary.alarmHeroCard.disarm`,`Disarm`)}),a.availableModes.map(e=>(0,q.jsx)(`option`,{value:e,children:V7(e,i)},e))]}),u!==null&&(0,q.jsx)(`span`,{"data-testid":`alarm-inline-error`,role:`alert`,title:u,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-danger/10 text-danger`,children:(0,q.jsx)(FG,{className:`h-3 w-3`,"aria-hidden":`true`})})]})}function Zve({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,handleDisarm:c,handleArm:l,error:u,clearError:d}=J7(e,n,r);if(!o||a===void 0)return null;let f=B7[a.state];return(0,q.jsxs)(`div`,{className:`flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,q.jsx)(`div`,{"data-testid":`alarm-state`,"data-state":a.state,className:Z(`flex h-16 w-16 items-center justify-center rounded-full border-2`,f.colorClass,W7(a.state)&&`animate-pulse`),children:(0,q.jsx)(G7,{icon:f.icon})}),(0,q.jsx)(`span`,{className:Z(`text-sm font-medium`,f.colorClass,`border-0 bg-transparent`),children:H7(a.state,i)})]}),(0,q.jsx)(Yve,{state:a.state,availableModes:a.availableModes,busy:s,onDisarm:c,onArm:l}),u!==null&&(0,q.jsxs)(`div`,{"data-testid":`alarm-error`,role:`alert`,className:`flex items-start justify-between gap-2 rounded-md border border-danger/30 bg-danger/10 px-3 py-2 text-sm text-danger`,children:[(0,q.jsx)(`span`,{children:u}),(0,q.jsx)(`button`,{type:`button`,"aria-label":i(`uiLibrary.alarmHeroCard.dismiss`,`Dismiss`),onClick:e=>{e.stopPropagation(),d()},className:`shrink-0 font-medium text-danger/80 hover:text-danger`,children:`×`})]})]})}function Qve(e,t,n=i){if(e<=0)return null;let r=Math.max(0,Math.round((t-e)/1e3));return r<60?n(`uiLibrary.scriptAutomationControls.justNow`,`just now`):r<3600?n(`uiLibrary.scriptAutomationControls.minAgo`,`{{count}} min ago`,{count:Math.floor(r/60)}):r<86400?n(`uiLibrary.scriptAutomationControls.hAgo`,`{{count}} h ago`,{count:Math.floor(r/3600)}):new Date(e).toLocaleDateString()}function Y7({atMs:e,neverLabel:n}){let r=t(),i=Qve(e,Date.now(),r);return(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle`,"data-testid":`last-run`,children:i===null?n:i})}function X7({error:e}){return e===null||e===``?null:(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs text-danger`,title:e,"data-testid":`last-error`,children:[(0,q.jsx)(iK,{className:`h-3 w-3 shrink-0`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`truncate`,children:e})]})}function Z7(e,t,n){let{cap:r,slice:i,available:a}=v3({trpc:e,deviceId:t,cap:e=>e.scriptRunner,slice:e=>e.state.scriptRunner}),{display:o,applyOptimisticAction:s}=j8(i,{enabled:n??!0}),c=!a,l=o?.isRunning===!0;return{display:o,capPresent:r!==void 0,busy:c,running:l,run:()=>{r===void 0||c||l||s({isRunning:!0},()=>r.run({}))},stop:()=>{r===void 0||c||!l||s({isRunning:!1},()=>r.stop({}))}}}function Q7({running:e,busy:n,large:r,onRun:i,onStop:a}){let o=t(),s=e?o(`uiLibrary.scriptAutomationControls.stop`,`Stop`):o(`uiLibrary.scriptAutomationControls.run`,`Run`);return(0,q.jsxs)(`button`,{type:`button`,"aria-label":s,title:s,disabled:n,"data-testid":`script-run`,"data-running":e?`true`:`false`,onClick:t=>{t.stopPropagation(),e?a():i()},className:Z(`inline-flex items-center gap-1 rounded transition-colors`,r?`h-10 px-4 text-sm`:`h-5 px-1.5 text-xs`,e?`bg-danger text-danger-foreground hover:bg-danger/90`:`bg-primary text-primary-foreground hover:bg-primary/90`,n&&`cursor-not-allowed opacity-40`),children:[e?(0,q.jsx)(_W,{className:r?`h-4 w-4`:`h-3 w-3`,"aria-hidden":`true`}):(0,q.jsx)(yG,{className:r?`h-4 w-4`:`h-3 w-3`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:s})]})}function $ve({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,running:c,run:l,stop:u}=Z7(e,n,r);return!o||a===void 0?null:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(Q7,{running:c,busy:s,large:!1,onRun:l,onStop:u}),(0,q.jsx)(Y7,{atMs:a.lastRunAt,neverLabel:i(`uiLibrary.scriptAutomationControls.neverRun`,`never run`)})]})}function eye({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,running:c,run:l,stop:u}=Z7(e,n,r);return!o||a===void 0?null:(0,q.jsxs)(`div`,{className:`flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,q.jsx)(`div`,{"data-testid":`script-state`,"data-running":c?`true`:`false`,className:Z(`flex h-16 w-16 items-center justify-center rounded-full border-2`,c?`border-primary text-primary animate-pulse`:`border-border text-foreground-subtle`),children:(0,q.jsx)(yG,{className:`h-8 w-8`,"aria-hidden":`true`})}),(0,q.jsx)(`span`,{className:`text-sm font-medium`,children:c?i(`uiLibrary.scriptAutomationControls.running`,`Running`):i(`uiLibrary.scriptAutomationControls.idle`,`Idle`)}),(0,q.jsx)(Y7,{atMs:a.lastRunAt,neverLabel:i(`uiLibrary.scriptAutomationControls.neverRun`,`never run`)}),(0,q.jsx)(X7,{error:a.lastError})]}),(0,q.jsx)(`div`,{className:`flex justify-center`,children:(0,q.jsx)(Q7,{running:c,busy:s,large:!0,onRun:l,onStop:u})})]})}function $7(e,t,n){let{cap:r,slice:i,available:a}=v3({trpc:e,deviceId:t,cap:e=>e.automationControl,slice:e=>e.state.automationControl}),{display:o,applyOptimisticAction:s}=j8(i,{enabled:n??!0}),c=!a;return{display:o,capPresent:r!==void 0,busy:c,setEnabled:e=>{r===void 0||c||s({enabled:e},()=>e?r.enable({}):r.disable({}))},trigger:()=>{r===void 0||c||r.trigger({})}}}function e9({enabled:e,busy:n,onToggle:r}){let i=t();return(0,q.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":i(`uiLibrary.scriptAutomationControls.automationEnabled`,`Automation enabled`),disabled:n,"data-testid":`automation-enabled`,onClick:t=>{t.stopPropagation(),r(!e)},className:Z(`inline-flex shrink-0 items-center gap-1 rounded-md border px-1.5 py-0.5`,`text-[11px] font-medium whitespace-nowrap transition-colors`,e?`border-success/40 bg-success/10 text-success`:`border-border bg-surface-subtle text-foreground-subtle`,n&&`cursor-not-allowed opacity-40`),children:e?i(`uiLibrary.scriptAutomationControls.enabled`,`Enabled`):i(`uiLibrary.scriptAutomationControls.disabled`,`Disabled`)})}function t9({busy:e,large:n,onTrigger:r}){let i=t();return(0,q.jsxs)(`button`,{type:`button`,"aria-label":i(`uiLibrary.scriptAutomationControls.trigger`,`Trigger`),title:i(`uiLibrary.scriptAutomationControls.runNow`,`Run this automation now`),disabled:e,"data-testid":`automation-trigger`,onClick:e=>{e.stopPropagation(),r()},className:Z(`inline-flex items-center gap-1 rounded transition-colors`,n?`h-10 px-4 text-sm`:`h-5 px-1.5 text-xs`,`bg-primary text-primary-foreground hover:bg-primary/90`,e&&`cursor-not-allowed opacity-40`),children:[(0,q.jsx)(vK,{className:n?`h-4 w-4`:`h-3 w-3`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(`uiLibrary.scriptAutomationControls.trigger`,`Trigger`)})]})}function tye({trpc:e,deviceId:t,optimistic:n}){let{display:r,capPresent:i,busy:a,setEnabled:o,trigger:s}=$7(e,t,n);return!i||r===void 0?null:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(e9,{enabled:r.enabled,busy:a,onToggle:o}),(0,q.jsx)(t9,{busy:a,large:!1,onTrigger:s})]})}function nye({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,setEnabled:c,trigger:l}=$7(e,n,r);return!o||a===void 0?null:(0,q.jsxs)(`div`,{className:`flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,q.jsx)(`div`,{"data-testid":`automation-state`,"data-enabled":a.enabled?`true`:`false`,className:Z(`flex h-16 w-16 items-center justify-center rounded-full border-2`,a.enabled?`border-success text-success`:`border-border text-foreground-subtle`),children:(0,q.jsx)(vK,{className:`h-8 w-8`,"aria-hidden":`true`})}),(0,q.jsx)(`span`,{className:`text-sm font-medium`,children:a.enabled?i(`uiLibrary.scriptAutomationControls.enabled`,`Enabled`):i(`uiLibrary.scriptAutomationControls.disabled`,`Disabled`)}),(0,q.jsx)(Y7,{atMs:a.lastTriggeredAt,neverLabel:i(`uiLibrary.scriptAutomationControls.neverTriggered`,`never triggered`)}),(0,q.jsx)(X7,{error:a.lastError})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-3`,children:[(0,q.jsx)(e9,{enabled:a.enabled,busy:s,onToggle:c}),(0,q.jsx)(t9,{busy:s,large:!0,onTrigger:l})]})]})}function rye({children:e}){return(0,q.jsx)(`div`,{className:`flex flex-col items-stretch gap-3 rounded-lg border border-border bg-surface p-4`,children:e})}function n9(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.switch,slice:e=>e.state.switch});return n!==void 0}function iye({trpc:e,deviceId:t,features:n,optimistic:r}){return n9(e,t)?(0,q.jsx)(M8,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function aye(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.lockControl,slice:e=>e.state.lockControl});return n!==void 0}function oye({trpc:e,deviceId:t,features:n,optimistic:r}){return aye(e,t)?(0,q.jsx)(Ehe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function sye({trpc:e,deviceId:t,features:n,optimistic:r}){return n9(e,t)?(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-2`,children:[(0,q.jsx)(M8,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}),(0,q.jsx)(Dhe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r})]}):null}function cye(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.fanControl,slice:e=>e.state.fanControl});return n!==void 0}function lye({trpc:e,deviceId:t,features:n,optimistic:r}){return cye(e,t)?(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-2`,children:[(0,q.jsx)(M8,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}),(0,q.jsx)(Ohe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r})]}):null}function r9(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.climateControl,slice:e=>e.state.climateControl});return n!==void 0}function uye(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.heatingValve,slice:e=>e.state.heatingValve});return n!==void 0}function dye({trpc:e,deviceId:t,features:n,optimistic:r}){let i=r9(e,t),a=uye(e,t);return!i&&!a?null:(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[i?(0,q.jsx)(Nhe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null,a?(0,q.jsx)(S7,{trpc:e,deviceId:t,layout:`compact`}):null]})}function fye({trpc:e,deviceId:t,features:n,optimistic:r}){return r9(e,t)?(0,q.jsx)(c7,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function pye({trpc:e,deviceId:t,features:n,optimistic:r}){return r9(e,t)?(0,q.jsx)(c7,{trpc:e,deviceId:t,features:n,layout:`full`,optimistic:r}):null}function mye(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.mediaPlayer,slice:e=>e.state.mediaPlayer});return n!==void 0}function hye({trpc:e,deviceId:t,features:n,optimistic:r}){return mye(e,t)?(0,q.jsx)(zhe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function i9(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.control,slice:e=>e.state.control});return n!==void 0}function gye({trpc:e,deviceId:t,features:n,optimistic:r}){return i9(e,t)?(0,q.jsx)(K8,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function _ye({trpc:e,deviceId:t,features:n,optimistic:r}){return i9(e,t)?(0,q.jsx)(rye,{children:(0,q.jsx)(K8,{trpc:e,deviceId:t,features:n,layout:`full`,optimistic:r})}):null}var vye={cover:{InlineControl:sge,HeroCard:uge},valve:{InlineControl:Wge,HeroCard:Jge},humidifier:{InlineControl:Xge,HeroCard:Qge},"water-heater":{InlineControl:t_e,HeroCard:r_e},switch:{InlineControl:iye,HeroCard:Fve},light:{InlineControl:sye,HeroCard:jve},fan:{InlineControl:lye,HeroCard:Pve},sensor:{InlineControl:mge,HeroCard:Tge},thermostat:{InlineControl:dye,HeroCard:gve},climate:{InlineControl:fye,HeroCard:pye},button:{InlineControl:xhe,HeroCard:She},update:{InlineControl:Ege,HeroCard:Dge},lock:{InlineControl:oye,HeroCard:Tve},"media-player":{InlineControl:hye,HeroCard:qve},alarm:{InlineControl:Xve,HeroCard:Zve},control:{InlineControl:gye,HeroCard:_ye},weather:{InlineControl:a_e,HeroCard:c_e},vacuum:{InlineControl:Mge,HeroCard:Nge},"lawn-mower":{InlineControl:Vge,HeroCard:Hge},image:{InlineControl:l_e,HeroCard:u_e},"pet-feeder":{InlineControl:b_e,HeroCard:x_e},"pet-fountain":{InlineControl:P_e,HeroCard:F_e},heater:{InlineControl:X_e,HeroCard:Z_e},dishwasher:{InlineControl:ive,HeroCard:ave},appliance:{InlineControl:dve,HeroCard:uve},script:{InlineControl:$ve,HeroCard:eye},automation:{InlineControl:tye,HeroCard:nye},dummy:{InlineControl:dge,HeroCard:fge}};Object.fromEntries(Object.values(f).map(e=>[e,vye[bH[e]]])),f.Cover,f.Valve,f.Thermostat,f.Climate,f.Control,f.Button,f.MediaPlayer,f.AlarmPanel,f.Lock,f.Vacuum,f.LawnMower,f.Humidifier,f.Switch,f.Siren,f.Light,f.Fan,f.WaterHeater,f.Sensor,f.Presence,f.EventEmitter,f.Notifier,f.Script,f.Automation,f.Camera,f.Hub,f.Update,f.Generic,f.Weather,f.Container,f.Gateway,f.Image,f.PetFeeder,f.PetFountain,f.Heater,f.Dishwasher,f.Washer,f.Dryer,new Set(Object.values(f));var a9=1e3;24*(60*a9*60),30*a9,(0,s.createContext)(null),new Set([f.Sensor,f.Presence]),(0,s.createContext)({}),Object.freeze([]),GY(`camstack:device-quick-detail`,null),P({id:O(),name:O()}),P({id:k(),stableId:O(),addonId:O(),type:O(),name:O(),online:A(),disabled:A(),parentDeviceId:k().nullable(),role:O().nullable().optional(),integrationId:O().nullable().optional(),features:N(O()).optional(),isCamera:A().optional()}),P({id:O(),addonId:O(),name:O()});function o9(e){return e.deviceKey===void 0?e.agentNodeId:`${e.agentNodeId}::${e.deviceKey}`}function s9(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&e.agentNodeId===n.agentNodeId){let r=[...e.columns,n];t[t.length-1]={...e,columns:r,grouped:r.length>1}}else t.push({agentNodeId:n.agentNodeId,engineLabel:n.engineLabel,columns:[n],grouped:!1})}return t}function yye(e){let t=[],n=(e,r)=>{for(let i of e)t.push({node:i,depth:r}),n(i.children,r+1)};return n(e,0),t}function bye(e,t,n,r=208,i=t){return e<=0?!1:t<=1?e<n+r*i:e<n+r*2}var c9={detector:{labelKey:`uiLibrary.pipelineMatrix.slotDetector`,labelFallback:`detector`,className:`text-emerald-500`},cropper:{labelKey:`uiLibrary.pipelineMatrix.slotCropper`,labelFallback:`cropper`,className:`text-blue-500`},classifier:{labelKey:`uiLibrary.pipelineMatrix.slotClassifier`,labelFallback:`classifier`,className:`text-violet-500`},refiner:{labelKey:`uiLibrary.pipelineMatrix.slotRefiner`,labelFallback:`refiner`,className:`text-amber-500`},"audio-classifier":{labelKey:`uiLibrary.pipelineMatrix.slotAudioClassifier`,labelFallback:`audio classifier`,className:`text-pink-500`}};function xye({slot:e}){let n=t(),r=c9[e]??c9.classifier;return(0,q.jsx)(`span`,{className:Z(`text-[9px] font-semibold uppercase tracking-widest leading-none`,r.className),children:n(r.labelKey,r.labelFallback)})}var l9=`inline-flex items-center rounded bg-muted px-1.5 py-px text-[9px] font-medium text-foreground-subtle`;function Sye({inputs:e,outputs:t}){return e.length===0&&t.length===0?null:(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 flex-wrap`,children:[e.map(e=>(0,q.jsx)(`span`,{className:Z(l9,`bg-blue-500/10 text-blue-500`),children:e},`in-${e}`)),e.length>0&&t.length>0&&(0,q.jsx)(`span`,{className:`text-foreground-subtle/60 text-[9px]`,children:`→`}),t.map(e=>(0,q.jsx)(`span`,{className:Z(l9,`bg-emerald-500/10 text-emerald-500`),children:e},`out-${e}`))]})}function u9({column:e}){let n=t(),r=e.deviceLabel??e.deviceKey;return(0,q.jsxs)(q.Fragment,{children:[(r!==void 0||e.disabled===!0)&&(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[r!==void 0&&(0,q.jsx)(`span`,{className:`truncate text-[10px] font-medium text-foreground/90`,children:r}),e.disabled===!0&&(0,q.jsx)(`span`,{className:`shrink-0 rounded bg-muted px-1 text-[8px] font-semibold uppercase text-foreground-subtle`,children:n(`uiLibrary.pipelineMatrixShared.offWord`,`off`)})]}),(0,q.jsx)(`div`,{className:`truncate text-[9px] text-foreground-subtle`,children:e.engineLabel}),e.detail!==void 0&&(0,q.jsx)(`div`,{className:`truncate font-mono text-[9px] text-foreground-subtle`,title:e.detail,children:e.detail})]})}function Cye({group:e}){let t=e.columns[0]?.nodeLabel??e.agentNodeId;return(0,q.jsxs)(`div`,{role:`columnheader`,className:`sticky top-0 z-10 min-w-0 border-b border-l border-border bg-muted/60`,style:{gridColumn:`span ${e.columns.length}`},children:[(0,q.jsx)(`div`,{className:`truncate px-3 pt-2 pb-1 text-xs font-semibold text-foreground`,children:t}),(0,q.jsx)(`div`,{className:`mt-1 flex border-t border-border/50`,children:e.columns.map((e,t)=>(0,q.jsx)(`div`,{className:Z(`min-w-0 flex-1 px-3 py-1`,t>0&&`border-l border-border/50`,e.disabled===!0&&`opacity-70`),title:`${e.deviceLabel??e.deviceKey} · ${e.engineLabel}${e.detail?` · ${e.detail}`:``}`,children:(0,q.jsx)(u9,{column:e})},o9(e)))})]})}function wye({node:e}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0 flex-1`,children:[(0,q.jsx)(xye,{slot:e.slot}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,q.jsx)(`span`,{className:`font-semibold truncate`,children:e.addonName}),(0,q.jsx)(Sye,{inputs:e.inputClasses,outputs:e.outputClasses})]})]})}function Tye(e,t){return t.kind===`enabled`?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,title:t.overridden?e(`uiLibrary.pipelineMatrix.override`,`override`):void 0,children:[(0,q.jsx)(`span`,{className:Z(`h-1.5 w-1.5 rounded-full shrink-0`,t.overridden?`bg-amber-500`:`bg-emerald-500`)}),(0,q.jsx)(`span`,{className:`font-mono text-foreground truncate`,children:t.modelId}),t.suppliedByRoot!==void 0&&(0,q.jsx)(`span`,{className:`ml-auto shrink-0 truncate rounded bg-primary/10 px-1 text-[8px] font-semibold uppercase text-primary`,title:e(`uiLibrary.pipelineMatrix.rootModelTitle`,`Uses the root model {{model}} — this step's own model does not run here`,{model:t.suppliedByRoot}),children:e(`uiLibrary.pipelineMatrix.root`,`root`)}),t.clusterWide===!0&&(0,q.jsx)(`span`,{className:`ml-auto shrink-0 text-[8px] font-semibold uppercase text-primary`,title:e(`uiLibrary.pipelineMatrix.clusterTitle`,`One value for the whole cluster — this step writes into a shared vector index`),children:e(`uiLibrary.pipelineMatrix.cluster`,`cluster`)}),t.jumpTo!==void 0&&(0,q.jsxs)(`span`,{className:`ml-auto shrink-0 text-[8px] font-semibold text-sky-500`,title:e(`uiLibrary.pipelineMatrix.runsOn`,`runs on {{target}}`,{target:t.jumpTo}),children:[`→ `,t.jumpTo]}),t.overridden&&t.jumpTo===void 0&&(0,q.jsx)(`span`,{className:`ml-auto shrink-0 text-[8px] font-semibold uppercase text-amber-500`,children:e(`uiLibrary.pipelineMatrix.ovr`,`ovr`)})]}):t.kind===`disabled`?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-foreground-subtle`,title:t.overridden?e(`uiLibrary.pipelineMatrix.override`,`override`):void 0,children:[(0,q.jsx)(`span`,{className:Z(`h-1.5 w-1.5 rounded-full shrink-0`,t.overridden?`bg-amber-500`:`border border-foreground-subtle/60`)}),(0,q.jsx)(`span`,{className:`truncate`,children:e(`uiLibrary.pipelineMatrix.off`,`off`)}),t.overridden&&(0,q.jsx)(`span`,{className:`ml-auto shrink-0 text-[8px] font-semibold uppercase text-amber-500`,children:e(`uiLibrary.pipelineMatrix.ovr`,`ovr`)})]}):t.kind===`skip`?t.jumpTo===void 0?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-amber-500`,title:e(`uiLibrary.pipelineMatrix.skipTitle`,`Gated on for this camera, but no compatible model on this node — click to provision`),children:[(0,q.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-amber-500 shrink-0`}),(0,q.jsx)(`span`,{className:`truncate font-medium`,children:e(`uiLibrary.pipelineMatrix.skip`,`⚠ skip`)})]}):(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-sky-500`,title:e(`uiLibrary.pipelineMatrix.autoJump`,`no build for this device — auto-jumps to {{target}}`,{target:t.jumpTo}),children:[(0,q.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-sky-500 shrink-0`}),(0,q.jsxs)(`span`,{className:`truncate font-medium`,children:[`→ `,t.jumpTo]})]}):(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-foreground-subtle/70`,children:[(0,q.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-muted shrink-0`}),(0,q.jsx)(`span`,{className:`truncate`,children:`—`})]})}function Eye(e,t,n){return Z(`text-left text-xs hover:bg-muted/40`,e.kind===`enabled`&&`bg-emerald-500/5`,e.kind===`skip`&&`bg-amber-500/5`,e.kind===`na`&&`bg-muted/30`,t&&`ring-2 ring-primary ring-inset`,n)}var d9=18,Dye=d9*16,Oye=11;function kye(e,t,n,r){let i=(e,t)=>({r:Math.max(0,Math.min(n-1,e)),c:Math.max(0,Math.min(r-1,t))});switch(e){case`ArrowRight`:return i(t.r,t.c+1);case`ArrowLeft`:return i(t.r,t.c-1);case`ArrowDown`:return i(t.r+1,t.c);case`ArrowUp`:return i(t.r-1,t.c);case`Home`:return i(t.r,0);case`End`:return i(t.r,r-1);case`PageDown`:return i(n-1,t.c);case`PageUp`:return i(0,t.c);default:return null}}function Aye({node:e,depth:t,r:n,tabbable:r,selected:i,badge:a,onClick:o,sticky:s}){return(0,q.jsx)(`div`,{role:`rowheader`,className:Z(`min-w-0 border-b border-border bg-surface`,s&&`sticky left-0 z-10`),children:(0,q.jsxs)(`button`,{type:`button`,"data-r":n,"data-c":0,"data-step":e.addonId,"data-col":``,tabIndex:r?0:-1,"aria-current":i?`true`:void 0,onClick:o?e=>o(e.detail===0):void 0,className:Z(`flex h-full w-full min-w-0 items-start gap-2 px-3 py-2 text-left text-xs outline-none`,`hover:bg-muted/40 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`,i&&`bg-primary/10 shadow-[inset_3px_0_0_var(--color-primary)]`),style:{paddingLeft:`${12+t*14}px`},children:[(0,q.jsx)(wye,{node:e}),a]})})}function jye({nodes:e,selected:n,onSelect:r}){let i=t();return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,role:`tablist`,"aria-label":i(`uiLibrary.deviceStepMatrix.node`,`Node`),children:[(0,q.jsx)(NG,{className:`h-3.5 w-3.5 text-foreground-subtle`}),(0,q.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-foreground-subtle`,children:i(`uiLibrary.deviceStepMatrix.node`,`Node`)}),(0,q.jsx)(`div`,{className:`flex overflow-hidden rounded-md border border-border text-[11px] font-medium`,children:e.map((e,t)=>{let i=e.agentNodeId===n;return(0,q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":i,onClick:()=>r(e.agentNodeId),title:`${e.columns[0]?.nodeLabel??e.agentNodeId} · ${e.engineLabel}`,className:Z(`px-2.5 py-1 transition-colors`,i?`bg-primary/15 text-primary`:`bg-transparent text-foreground-subtle hover:bg-surface-hover hover:text-foreground`,t>0&&`border-l border-border`),children:e.columns[0]?.nodeLabel??e.agentNodeId},e.agentNodeId)})})]})}var Mye=(0,s.forwardRef)(function({tree:e,agents:n,getCellState:r,onCellClick:i,onStepClick:a,stepBadge:o,selectedCell:c,single:l,reserveRightPx:u,label:d},f){let p=t(),m=(0,s.useMemo)(()=>yye(e),[e]),h=(0,s.useMemo)(()=>s9(n),[n]),g=(0,s.useRef)(null),_=l?Oye:d9,v=`${_}rem repeat(${n.length}, 13rem)`,y=n.length+1,[b,x]=(0,s.useState)(!0);(0,s.useLayoutEffect)(()=>{let e=g.current;if(!e||u<=0){x(!0);return}let t=()=>{let t=e.getBoundingClientRect().left;x(window.innerWidth-u-t>=_*16+208+24)};return t(),window.addEventListener(`resize`,t),()=>window.removeEventListener(`resize`,t)},[u,_]);let S=(0,s.useMemo)(()=>{if(c===null)return null;let e=m.findIndex(e=>e.node.addonId===c.addonId);if(e<0)return null;let t=n.findIndex(e=>o9(e)===o9(c));return{r:e,c:t<0?0:t+1}},[c,m,n]),[ee,C]=(0,s.useState)({r:0,c:0});(0,s.useEffect)(()=>{S!==null&&C(S)},[S]);let te=ee.r<m.length&&ee.c<y?ee:{r:0,c:0},ne=(e,t)=>{g.current?.querySelector(`[data-r="${e}"][data-c="${t}"]`)?.focus()};return(0,s.useImperativeHandle)(f,()=>({focusCell:(e,t)=>{let r=m.findIndex(t=>t.node.addonId===e);if(r<0)return;let i=t===null?-1:n.findIndex(e=>o9(e)===t),a=i<0?0:i+1;C({r,c:a}),ne(r,a)}}),[m,n]),(0,s.useLayoutEffect)(()=>{if(S===null)return;let e=g.current,t=e?.querySelector(`[data-r="${S.r}"][data-c="${S.c}"]`);if(!e||!t||(typeof t.scrollIntoView==`function`&&t.scrollIntoView({block:`nearest`,inline:`nearest`}),u<=0))return;let n=window.innerWidth-u-12,r=t.getBoundingClientRect().right;r>n&&(e.scrollLeft+=r-n)},[S,u,b]),(0,q.jsx)(`div`,{ref:g,className:`overflow-auto rounded border border-border`,children:(0,q.jsxs)(`div`,{className:`flex w-max`,children:[(0,q.jsxs)(`div`,{role:`grid`,"aria-label":d,"aria-rowcount":m.length+1,className:`grid w-max`,style:{gridTemplateColumns:v},onKeyDown:e=>{if(!(e.target instanceof HTMLElement)||e.target.dataset.r===void 0)return;let t={r:Number(e.target.dataset.r),c:Number(e.target.dataset.c)},n=kye(e.key,t,m.length,y);n!==null&&(e.preventDefault(),C(n),ne(n.r,n.c))},children:[(0,q.jsxs)(`div`,{role:`row`,className:`contents`,children:[(0,q.jsx)(`div`,{role:`columnheader`,className:Z(`top-0 z-20 border-b border-border bg-muted/60 px-3 py-2 text-[10px] uppercase tracking-widest text-foreground-subtle`,b?`sticky left-0`:`sticky`),children:p(`uiLibrary.deviceStepMatrix.step`,`Step`)}),h.map(e=>e.grouped?(0,q.jsx)(Cye,{group:e},e.agentNodeId):e.columns.map(e=>(0,q.jsxs)(`div`,{role:`columnheader`,className:Z(`sticky top-0 z-10 min-w-0 border-b border-l border-border bg-muted/60 px-3 py-2`,e.disabled===!0&&`opacity-70`),children:[(0,q.jsx)(`div`,{className:`truncate text-xs font-semibold text-foreground`,children:e.nodeLabel??e.agentNodeId}),(0,q.jsx)(u9,{column:e})]},o9(e))))]}),m.map(({node:e,depth:t},s)=>(0,q.jsxs)(`div`,{role:`row`,className:`contents`,children:[(0,q.jsx)(Aye,{node:e,depth:t,r:s,tabbable:te.r===s&&te.c===0,selected:c?.addonId===e.addonId,badge:o?.(e.addonId),onClick:a?t=>a(e.addonId,t):void 0,sticky:b}),n.map((t,n)=>{let a=r(e.addonId,t),o=c!==null&&c.addonId===e.addonId&&o9(c)===o9(t),l=a.kind===`enabled`||a.kind===`skip`;return(0,q.jsx)(`div`,{role:`gridcell`,className:`min-w-0 border-b border-l border-border`,children:(0,q.jsx)(`button`,{type:`button`,"data-r":s,"data-c":n+1,"data-step":e.addonId,"data-col":o9(t),tabIndex:te.r===s&&te.c===n+1?0:-1,"aria-disabled":!l,"aria-selected":o,onClick:n=>{l&&i(e.addonId,t,n.detail===0)},className:Eye(a,o,Z(`h-full w-full min-w-0 overflow-hidden px-3 py-2 outline-none`,`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`,!l&&`cursor-default hover:bg-transparent`,t.disabled===!0&&`opacity-70`)),children:Tye(p,a)})},o9(t))})]},e.addonId))]}),u>0&&(0,q.jsx)(`div`,{"aria-hidden":!0,style:{width:u},className:`shrink-0`})]})})});(0,s.forwardRef)(function({tree:e,agents:t,getCellState:n,onCellClick:r,selectedCell:i,fallbackNodeId:a,onFallbackNodeChange:o,onStepClick:c,stepBadge:l,reserveRightPx:u=0,label:d=`Detection steps`},f){let p=(0,s.useRef)(null),[m,h]=(0,s.useState)(0);(0,s.useLayoutEffect)(()=>{let e=p.current;if(!e)return;let t=()=>h(e.getBoundingClientRect().width);t();let n=typeof ResizeObserver<`u`?new ResizeObserver(t):null;return n?.observe(e),()=>n?.disconnect()},[]);let g=(0,s.useMemo)(()=>s9(t),[t]),_=bye(m,g.length,Dye,208,t.length),v=(0,s.useMemo)(()=>g.length===0?null:g.find(e=>e.agentNodeId===a)??g[0]??null,[g,a]),y=i?.agentNodeId;(0,s.useEffect)(()=>{_&&y!==void 0&&y!==a&&o(y)},[_,y,a,o]);let b=_&&v?v.columns:t;return(0,q.jsxs)(`div`,{ref:p,className:`w-full space-y-2`,children:[_&&v&&g.length>1&&(0,q.jsx)(jye,{nodes:g,selected:v.agentNodeId,onSelect:o}),(0,q.jsx)(Mye,{ref:f,tree:e,agents:b,getCellState:n,onCellClick:r,onStepClick:c,stepBadge:l,selectedCell:i,single:_&&v!==null,reserveRightPx:u,label:d})]})});function f9({label:e,description:t,error:n,required:r,children:i,orientation:a=`vertical`,className:o}){let s=a===`horizontal`;return(0,q.jsxs)(`div`,{className:Z(`flex gap-2`,s?`flex-row items-center justify-between`:`flex-col`,o),children:[(0,q.jsxs)(`div`,{className:Z(s?`flex-1`:``),children:[(0,q.jsxs)(K3,{children:[e,r&&(0,q.jsx)(`span`,{className:`text-danger ml-0.5`,children:`*`})]}),t&&(0,q.jsx)(`p`,{className:`text-foreground-subtle text-xs mt-0.5`,children:t})]}),(0,q.jsx)(`div`,{className:Z(s?`shrink-0`:``),children:i}),n&&(0,q.jsx)(`p`,{className:`text-danger text-xs`,children:n})]})}var Nye=(0,s.createContext)(void 0);function p9({icon:e,title:t,subtitle:n,actions:r,nav:i,fill:a=!1,className:o,children:c}){let l=!!t||n!=null||r!=null,u=l||i!=null,[d,f]=(0,s.useState)(null);return(0,q.jsx)(Nye.Provider,{value:l?d:void 0,children:(0,q.jsxs)(`div`,{className:Z(`overflow-x-clip p-2 sm:p-4`,a?`flex h-full min-h-0 flex-col gap-4`:`space-y-4`,o),children:[u&&(0,q.jsxs)(`div`,{className:`shrink-0 space-y-3`,children:[l&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4`,children:[(0,q.jsxs)(`div`,{className:`min-w-0`,children:[t!==void 0&&t!==``&&(0,q.jsxs)(`h1`,{className:`flex items-center gap-2 text-lg font-semibold text-foreground`,children:[e!==void 0&&(0,q.jsx)(e,{className:`h-4 w-4 shrink-0 text-foreground-subtle`,"aria-hidden":!0}),t]}),n!=null&&(0,q.jsx)(`p`,{className:`mt-0.5 text-xs text-foreground-subtle`,children:n})]}),(0,q.jsx)(`div`,{ref:f,className:`flex shrink-0 flex-wrap items-center gap-2 empty:hidden`,children:r})]}),i]}),a?(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3`,children:c}):c]})})}Z(cpe,`min-w-0 max-w-full gap-1.5 py-1 pl-1 pr-2.5 text-xs font-normal`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40`),Z(lpe,`font-medium`);var Pye={online:{colorClass:`bg-success`,labelKey:`uiLibrary.statusBadge.online`,labelFallback:`Online`},offline:{colorClass:`bg-danger`,labelKey:`uiLibrary.statusBadge.offline`,labelFallback:`Offline`},degraded:{colorClass:`bg-warning`,labelKey:`uiLibrary.statusBadge.degraded`,labelFallback:`Degraded`},unknown:{colorClass:`bg-foreground-subtle`,labelKey:`uiLibrary.statusBadge.unknown`,labelFallback:`Unknown`},running:{colorClass:`bg-success`,labelKey:`uiLibrary.statusBadge.running`,labelFallback:`Running`},stopped:{colorClass:`bg-foreground-subtle`,labelKey:`uiLibrary.statusBadge.stopped`,labelFallback:`Stopped`},error:{colorClass:`bg-danger`,labelKey:`uiLibrary.statusBadge.error`,labelFallback:`Error`},idle:{colorClass:`bg-info`,labelKey:`uiLibrary.statusBadge.idle`,labelFallback:`Idle`},enabled:{colorClass:`bg-success`,labelKey:`uiLibrary.statusBadge.enabled`,labelFallback:`Enabled`},disabled:{colorClass:`bg-warning`,labelKey:`uiLibrary.statusBadge.disabled`,labelFallback:`Disabled`}};function Fye({status:e,label:n,showDot:r=!0,showLabel:i=!0,size:a=`sm`,className:o}){let s=t(),c=Pye[e];return(0,q.jsxs)(`span`,{className:Z(`inline-flex items-center gap-1.5`,a===`sm`?`text-xs`:`text-sm`,o),children:[r&&(0,q.jsx)(`span`,{className:Z(`h-1.5 w-1.5 shrink-0 rounded-full`,c.colorClass),"aria-hidden":`true`}),i&&(0,q.jsx)(`span`,{className:`text-foreground`,children:n??s(c.labelKey,c.labelFallback)})]})}function Iye({dirtyCount:e,saving:n,status:r,error:i,onSave:a,onDiscard:o,scope:s}){let c=t(),l=e>0,u=n?c(`uiLibrary.stepInspector.saving`,`Saving…`):l?c(`uiLibrary.stepInspector.unsaved`,{one:`{{count}} unsaved change`,other:`{{count}} unsaved changes`},{count:e}):r===`saved`?c(`uiLibrary.stepInspector.saved`,`Saved`):r===`error`?i??c(`uiLibrary.stepInspector.saveFailed`,`Save failed`):c(`uiLibrary.stepInspector.noChanges`,`No unsaved changes`);return(0,q.jsxs)(`footer`,{className:`shrink-0 space-y-2 border-t border-border bg-surface px-4 py-2 pb-[max(0.5rem,env(safe-area-inset-bottom))] md:pb-2`,children:[s!==void 0&&(0,q.jsx)(`div`,{"data-save-scope":!0,children:s}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{role:`status`,className:Z(`min-w-0 flex-1 truncate text-[11px]`,r===`error`&&!l?`text-danger`:l?`text-amber-500`:`text-foreground-subtle`),children:u}),(0,q.jsx)(uQ,{variant:`outline`,size:`md`,disabled:!l||n,onClick:o,children:c(`uiLibrary.stepInspector.discard`,`Discard`)}),(0,q.jsx)(uQ,{variant:`primary`,size:`md`,disabled:!l||n,onClick:a,children:c(`uiLibrary.stepInspector.save`,`Save`)})]})]})}(0,s.forwardRef)(function({title:e,subtitle:t,headerActions:n,headerExtra:r,leading:i,saveBar:a,onEscape:o,children:c,className:l},u){let d=(0,s.useId)();return(0,q.jsxs)(`section`,{"aria-labelledby":d,onKeyDown:e=>{e.key!==`Escape`||o===void 0||(e.stopPropagation(),o())},className:Z(`flex min-h-0 flex-1 flex-col overflow-hidden bg-surface`,l),children:[(0,q.jsxs)(`header`,{className:`shrink-0 space-y-2 border-b border-border px-4 py-2.5`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-start gap-x-3 gap-y-2`,children:[i,(0,q.jsxs)(`div`,{className:`min-w-[9rem] flex-1`,children:[(0,q.jsx)(`h2`,{id:d,ref:u,tabIndex:-1,title:e,className:`line-clamp-2 break-words text-sm font-semibold leading-snug text-foreground outline-none focus-visible:ring-2 focus-visible:ring-primary rounded`,children:e}),t!==void 0&&(0,q.jsx)(`div`,{className:`mt-0.5 text-[11px] text-foreground-subtle`,children:t})]}),n]}),r]}),(0,q.jsx)(`div`,{"data-inspector-body":!0,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-4 py-3`,children:c}),a!==void 0&&(0,q.jsx)(Iye,{...a})]})}),GY(`camstack:player-overlays-state`,null);var Lye=GY(`camstack:player-overlays-actions`,null);function Rye(e){let t=(0,s.useContext)(Lye);(0,s.useEffect)(()=>{if(!(!t||!e))return t.setLayer(e),()=>t.removeLayer(e.id)},[t,e])}var zye=[`24h`,`7d`,`30d`,`1y`,`custom`],m9=24*36e5;7*m9,30*m9,365*m9;var Bye=P({subject:I(`kind`,[P({kind:z(`device`),deviceId:k().int()}),P({kind:z(`node`),nodeId:O().min(1)})]),key:O().min(1),scope:O()}),Vye=R(zye),Hye=P({id:O().min(1),name:O().min(1).max(80),window:Vye,selection:N(Bye).max(24)});P({version:z(1),panels:N(Hye).max(50),hidden:L(O(),N(O()).max(200))}),GY(`camstack:zone-editing`,null);var h9=`en`,g9=new Map,_9=new Set,v9=0;function y9(e){let t=(e??``).trim().toLowerCase().split(/[-_]/)[0]??``;return t===``?h9:t}function b9(){if(typeof document<`u`){let e=document.documentElement.lang;if(e.trim()!==``)return y9(e)}return typeof navigator<`u`&&typeof navigator.language==`string`?y9(navigator.language):h9}function Uye(e,t,n){let r=y9(t),i=g9.get(e)??new Map;i.set(r,n),g9.set(e,i),v9+=1;for(let e of _9)e()}function Wye(e){_9.add(e);let t=null;return typeof document<`u`&&typeof MutationObserver<`u`&&(t=new MutationObserver(e),t.observe(document.documentElement,{attributes:!0,attributeFilter:[`lang`]})),()=>{_9.delete(e),t?.disconnect()}}function x9(){return`${b9()}#${v9}`}function S9(e,t){let n=e;for(let e of t){if(n===void 0||typeof n==`string`)return;n=n[e]}return typeof n==`string`?n:void 0}function Gye(e,t){try{return new Intl.PluralRules(e).select(t)}catch{return`other`}}function C9(e,t,n,r){let i=g9.get(e)?.get(t);if(i===void 0)return;let a=n.split(`.`);if(r!==void 0){let e=a[a.length-1]??n,o=a.slice(0,-1),s=S9(i,[...o,`${e}_${Gye(t,r)}`]);if(s!==void 0)return s;let c=S9(i,[...o,`${e}_other`]);if(c!==void 0)return c}return S9(i,a)}var Kye=/\{\{\s*([\w.]+)\s*\}\}/g;function w9(e,t){return t===void 0?e:e.replace(Kye,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function T9(e,t,n,r){let i=r?.count,a=typeof i==`number`?i:void 0;return w9(C9(e,t,n,a)??C9(e,h9,n,a)??n,r)}function qye(){return(0,s.useSyncExternalStore)(Wye,x9,x9)}function E9(e,t){let n=qye(),r=n.slice(0,n.indexOf(`#`)),i=t===void 0?r:y9(t);return{t:(0,s.useCallback)((t,n)=>T9(e,i,t,n),[e,i,n]),lang:i}}var Jye=/<(\/?)([A-Za-z][\w-]*)(\s*\/)?>/g;function D9(e,t,n,r){let i=e[t];return i===void 0?(0,q.jsx)(s.Fragment,{children:n},r):(0,s.cloneElement)(i,{key:r},...n)}function Yye(e,t,n){let r={name:``,children:[]},i=[r],a=0,o=0,s=()=>i[i.length-1]??r,c=e=>{e!==``&&s().children.push(w9(e,n))};for(let n of e.matchAll(Jye)){c(e.slice(a,n.index)),a=n.index+n[0].length;let r=n[1]===`/`,l=n[2]??``;if(o+=1,n[3]!==void 0)s().children.push(D9(t,l,[],`k${o}`));else if(!r)i.push({name:l,children:[]});else if(i.length>1&&s().name===l){let e=i.pop();e&&s().children.push(D9(t,l,e.children,`k${o}`))}}for(c(e.slice(a));i.length>1;){let e=i.pop();e&&s().children.push(...e.children)}return r.children}function Xye(e,t){for(let[n,r]of Object.entries(t))Uye(e,n,r);return{ns:e,useT:t=>E9(e,t),Trans:t=>{let{t:n}=E9(e),r=t.values?.count;return(0,q.jsx)(q.Fragment,{children:Yye(n(t.i18nKey,typeof r==`number`?{count:r}:void 0),t.components??{},t.values)})},translate:(t,n)=>T9(e,b9(),t,n)}}(0,s.lazy)(()=>us(()=>import(`./MaskShapeCanvas-BTvl6Rin.js`).then(e=>({default:e.MaskShapeCanvas})),__vite__mapDeps([2,1]))),(0,s.lazy)(()=>us(()=>import(`./MotionZonesSettings-V2I-xPYl.js`).then(e=>({default:e.MotionZonesSettings})),__vite__mapDeps([0,1,2]))),(0,s.lazy)(()=>us(()=>import(`./SceneMonitorEditor-Ddxgkp6j.js`).then(e=>({default:e.SceneMonitorEditor})),__vite__mapDeps([4,1,2]))),(0,s.lazy)(()=>us(()=>import(`./PrivacyMaskSettings-Q-Pg2KX6.js`).then(e=>({default:e.PrivacyMaskSettings})),__vite__mapDeps([3,1,2])));function O9(e){return e===null?`disconnected`:e.hubConnectionState===void 0?e.hubConnected===!0?`connected`:`disconnected`:e.hubConnectionState}function k9(e,t){let n=e.isHub&&t!==null&&Zye(e.displayName??e.hostname)?t:e.displayName??e.hostname;return e.isHub?`${n} (hub)`:n}function Zye(e){return/^[0-9a-f]{12}$|^[0-9a-f]{64}$/.test(e)}function A9(e){return e.split(`.`)[0]===`0`?`${e} beta`:e}function j9(e){if(e===null)return null;let t=e.trim();return t.length>0?t:null}function Qye(e){let t=j9(e.productVersion),n=j9(e.serverVersion),r=j9(e.fallbackVersion);return t!==null&&n!==null?{kind:`both`,productLabel:A9(t),serverVersion:n}:t===null?n===null?r===null?{kind:`none`}:{kind:`fallback`,version:r}:{kind:`server`,serverVersion:n}:{kind:`product`,productLabel:A9(t)}}var M9=`camstack_agent_ui_session`,N9=class extends Error{constructor(){super(`Unauthorized — unlock required`)}};function P9(){let e=sessionStorage.getItem(M9);return e?{Authorization:`Bearer ${e}`}:{}}async function $ye(e){let t=await fetch(`/api/agent/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({ticket:e})});if(!t.ok){let e=await t.json().catch(()=>null);throw Error(e?.error??`HTTP ${t.status}`)}let n=await t.json();if(typeof n.token!=`string`||n.token.length===0)throw Error(`unlock session missing token`);sessionStorage.setItem(M9,n.token)}async function F9(e){let t=await fetch(e,{headers:P9()});if(t.status===401)throw new N9;if(!t.ok)throw Error(`HTTP ${t.status}`);return t.json()}async function I9(e,t){let n=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`,...P9()},body:JSON.stringify(t)});if(n.status===401)throw new N9;return n.json()}var{useT:L9,Trans:R9,translate:z9}=Xye(`agent-ui`,{en:{common:{unknownError:`Unknown error`,loading:`Loading…`,cancel:`Cancel`,save:`Save`,saving:`Saving…`},crash:{title:`CamStack Agent UI crashed`,body:`The dashboard hit an unexpected error while rendering. The agent itself keeps running — this only affects the UI. Details below (also in the agent log).`,startFailed:`CamStack Agent UI failed to start`},dashboard:{defaultName:`CamStack Agent`,unlocking:`Unlocking from hub…`,unreachable:`Unreachable`,hub:{connected:`Hub Connected`,unconfigured:`No hub configured`,unpaired:`Not paired`,certificateRejected:`Certificate rejected`,disconnected:`Hub Disconnected`},overview:{title:`Overview`,cpu:`CPU`,memory:`Memory`,addons:`Addons`,uptime:`Uptime`},resources:{title:`Resources`,cpuCores:`CPU ({{cores}} cores)`,cpuCoresModel:`CPU ({{cores}} cores — {{model}})`,memory:`Memory ({{used}} / {{total}} MB)`,memoryUnknown:`Memory (unknown)`,unknown:`unknown`},host:{title:`System (host)`,platform:`Platform`,hostname:`Hostname`,uptime:`Host uptime`,memory:`Host memory`,ipv4:`IPv4`},process:{title:`Agent Process`,pid:`PID`,uptime:`Uptime`,memory:`Memory (RSS)`,heap:`Heap`},decode:{title:`Detection / Decoding`,hwaccel:`Decode hwaccel`,driDevice:`DRI device`,detectionDevices:`Detection devices`,software:`software / none detected`},locked:{title:`Agent dashboard locked`,body:`This agent is paired with a hub. Sign in on the hub as an admin to unlock this dashboard.`,continue:`Continue with hub`,hubUnknown:`Hub address unknown — open this agent from System → Cluster → Open dashboard.`},version:{restartToUpdate:`Restart to update`,restartToUpdateTo:`Restart to update → v{{version}}`,downloading:`Downloading update…`,checking:`Checking…`,check:`Check for updates`,checkFailed:`Update check failed: {{error}}`,both:`{{product}} · server {{server}}`,serverOnly:`server {{version}}`}},hubConfig:{title:`Hub Connection`,connection:{connected:`Connected`,unpaired:`Not paired`,unconfigured:`Not configured`,certificateRejected:`Certificate rejected`,disconnected:`Disconnected`},pairingState:{paired:`Paired`,requested:`Pairing requested`,unpaired:`Not paired`},certRejected:{title:`The hub refused this agent's certificate`,message:`The certificate was revoked or was issued by another hub. Forget the hub below, then pair this agent again from the hub.`},unreachable:{title:`Hub unreachable`,message:`This agent is paired but cannot reach the hub right now. Check that the hub is running and reachable from this machine.`},hubAddress:`Hub Address`,pairing:`Pairing`,clusterNodes:`Cluster nodes`,unsupported:`This agent is too old to pair from here. Update it from the hub (Cluster → Nodes), then pair it again.`,statusUnavailable:`Pairing status unavailable`,emptyPairing:`This agent is not paired. On the hub open Cluster → Nodes, find this agent under "Agents found on the network" and start pairing; the request appears here.`,name:{label:`Agent Name`,placeholder:`e.g. kitchen-agent`,rename:`Rename agent`,saveFailed:`Save failed`,saveFailedWith:`Save failed: {{error}}`,saved:`Name saved.`,remoteHint:`Renaming is done on the machine itself.`}},paired:{pairedWith:`Paired with`,theHub:`The hub`,hubUrl:`Hub URL`,caFingerprint:`CA fingerprint`,forget:`Forget this hub`,forgetTitle:`Forget this hub?`,forgetDescription:`This agent erases the certificate the hub issued and disconnects. Its cameras stop being served from this node until a hub pairs with it again, which needs a new confirmation on both screens.`,forgetConfirm:`Forget hub`},requests:{pinHelp:`The one-time PIN is shown only on the agent's own machine: in the agent console (docker logs for a container), in pairing-pin.txt in the agent data directory, or in the desktop app window. Use the PIN printed for this hub.`,codeHelp:`The {{digits}}-digit code the hub shows for this pairing. Type it from the hub screen.`,pendingGroup:`Pending pairing requests`,pickOne_one:`{{count}} hub asked to pair - pick the one you mean`,pickOne_other:`{{count}} hubs asked to pair - pick the one you mean`,requestFrom:`Pairing request from <b>{{node}}</b>`,caFingerprint:`CA fingerprint <mono>{{fingerprint}}</mono>`,timeLeft:`Time left to confirm`,lockedTitle:`Confirming is locked`,lockedMessage:`Too many wrong PINs. Try again in {{wait}}, or reset the pairing lockout below.`,confirmedHere:`Confirmed on this agent`,confirmedHint:`Now type this code on the hub. This agent pairs as soon as the hub accepts it.`,codeLabel:`Code shown on the hub`,pinLabel:`Local PIN`,pinPlaceholder:`PIN from the agent machine`,noPinNeeded:`You are on the agent itself, so no PIN is needed.`,confirm:`Confirm`,reject:`Reject`,agentCodeLabel:`Code on this agent - type it on the hub`,noCodeReturned:`The agent confirmed but did not return its code. Reject this request and start the pairing again from the hub.`},reset:{codeHelp:`The reset code is printed in the agent console at boot (docker logs for a container) and kept in pairing-reset.txt in the agent data directory. It is renewed each time it is used.`,done:`Pairing reset: lockouts and pending requests are cleared.`,hide:`Hide pairing reset`,show:`Reset pairing lockout`,explain:`Use this when confirming is locked after wrong PINs, or a stuck request keeps the agent from accepting a new one. It cancels every pending pairing; the hub can then ask again.`,noCodeNeeded:`This page runs on the agent itself, so no reset code is needed.`,codeLabel:`Reset code`,codePlaceholder:`Reset code from the agent`,resetting:`Resetting…`,submit:`Reset pairing`},pairingApi:{httpStatus:`The agent answered HTTP {{status}}`,requestFailed:`The request failed`,refused:`The agent refused the request`,retryIn:`{{message}} (try again in {{wait}})`},addons:{title:`Addons`,empty:`No addons loaded`,readFailed:`Could not read the addons: {{error}}`,hubVersionsFailed:`The hub did not answer, so the versions this node should run are unknown.`,startFailed:`The update could not be started`,columns:{addon:`Addon`,version:`Version`,versionNotSortable:`A version cell can also say what is being updated.`,runner:`Runner`,cpu:`CPU`,memory:`Memory`,status:`Status`,actionsNotSortable:`Actions.`},runnerWithoutAddon:`runner without a known addon`,updateFailed:`Update failed: {{message}}`,updatingTo:`Updating to {{version}}…`,updatedTo:`Updated to {{version}}`,published:`{{version}} published`,publishedHint:`A newer release is published. It reaches this node once the hub runs it — update the hub first.`,inAgentProcess:`in the agent process`,shared_one:`shared with {{count}} other`,shared_other:`shared with {{count}} others`,updating:`Updating…`,updateTo:`Update to {{version}}`,restart:`Restart {{name}}`,hubVersionsUnpaired:`Addon versions follow the hub once this agent is paired.`},updates:{title:`Framework update`,bootMode:{dataRoot:`Updatable copy (runtime-updatable)`,baked:`Image copy (read-only)`,workspace:`Dev workspace`},restartWarning:`Applying downloads the release, then restarts this node to swap it in. Live streams and detection on this node stop for the restart, and this page goes unreachable until the agent comes back.`,state:{checking:`Checking the registry…`,staging:`Downloading and staging the release…`,pendingRestart:`Staged — restarting to apply`,pendingRestartVersion:`Staged v{{version}} — restarting to apply`,working:`Working…`},updateAvailable:`update available`,checking:`Checking…`,check:`Check for updates`,confirmApply:`Confirm — update and restart this node`,apply:`Update`,applyTo:`Update → v{{version}}`,running:`Running`,published:`Published (npm)`,notChecked:`not checked`,loadedFrom:`Code loaded from`,checkFailed:`Update check failed: {{error}}`,npmNote:`The framework installs from the npm registry — this works with the hub unreachable.`,readFailed:`Could not read update state: {{error}}`,checkRequestFailed:`Check failed`,applyFailed:`Update could not be started`}},it:{common:{unknownError:`Errore sconosciuto`,loading:`Caricamento…`,cancel:`Annulla`,save:`Salva`,saving:`Salvataggio…`},crash:{title:`L'interfaccia dell'agente CamStack si è interrotta`,body:`La dashboard ha incontrato un errore imprevisto durante la visualizzazione. L'agente continua a funzionare: riguarda solo l'interfaccia. Dettagli qui sotto (anche nel log dell'agente).`,startFailed:`Impossibile avviare l'interfaccia dell'agente CamStack`},dashboard:{defaultName:`Agente CamStack`,unlocking:`Sblocco dall'hub in corso…`,unreachable:`Non raggiungibile`,hub:{connected:`Hub connesso`,unconfigured:`Nessun hub configurato`,unpaired:`Non associato`,certificateRejected:`Certificato rifiutato`,disconnected:`Hub disconnesso`},overview:{title:`Panoramica`,cpu:`CPU`,memory:`Memoria`,addons:`Addon`,uptime:`Uptime`},resources:{title:`Risorse`,cpuCores:`CPU ({{cores}} core)`,cpuCoresModel:`CPU ({{cores}} core — {{model}})`,memory:`Memoria ({{used}} / {{total}} MB)`,memoryUnknown:`Memoria (non disponibile)`,unknown:`sconosciuto`},host:{title:`Sistema (host)`,platform:`Piattaforma`,hostname:`Nome host`,uptime:`Uptime host`,memory:`Memoria host`,ipv4:`IPv4`},process:{title:`Processo dell'agente`,pid:`PID`,uptime:`Uptime`,memory:`Memoria (RSS)`,heap:`Heap`},decode:{title:`Detection / Decodifica`,hwaccel:`Accelerazione hardware di decodifica`,driDevice:`Dispositivo DRI`,detectionDevices:`Dispositivi di detection`,software:`software / nessuno rilevato`},locked:{title:`Dashboard dell'agente bloccata`,body:`Questo agente è associato a un hub. Accedi all'hub come amministratore per sbloccare la dashboard.`,continue:`Continua con l'hub`,hubUnknown:`Indirizzo dell'hub sconosciuto: apri questo agente da Sistema → Cluster → Apri dashboard.`},version:{restartToUpdate:`Riavvia per aggiornare`,restartToUpdateTo:`Riavvia per aggiornare → v{{version}}`,downloading:`Download dell'aggiornamento…`,checking:`Controllo…`,check:`Cerca aggiornamenti`,checkFailed:`Controllo aggiornamenti non riuscito: {{error}}`,both:`{{product}} · server {{server}}`,serverOnly:`server {{version}}`}},hubConfig:{title:`Connessione all'hub`,connection:{connected:`Connesso`,unpaired:`Non associato`,unconfigured:`Non configurato`,certificateRejected:`Certificato rifiutato`,disconnected:`Disconnesso`},pairingState:{paired:`Associato`,requested:`Associazione richiesta`,unpaired:`Non associato`},certRejected:{title:`L'hub ha rifiutato il certificato di questo agente`,message:`Il certificato è stato revocato o emesso da un altro hub. Dimentica l'hub qui sotto, poi associa di nuovo questo agente dall'hub.`},unreachable:{title:`Hub non raggiungibile`,message:`Questo agente è associato ma ora non riesce a raggiungere l'hub. Verifica che l'hub sia in esecuzione e raggiungibile da questa macchina.`},hubAddress:`Indirizzo dell'hub`,pairing:`Associazione`,clusterNodes:`Nodi del cluster`,unsupported:`Questo agente è troppo vecchio per essere associato da qui. Aggiornalo dall'hub (Cluster → Nodi), poi associalo di nuovo.`,statusUnavailable:`Stato dell'associazione non disponibile`,emptyPairing:`Questo agente non è associato. Sull'hub apri Cluster → Nodi, trova questo agente in "Agenti trovati sulla rete" e avvia l'associazione; la richiesta compare qui.`,name:{label:`Nome dell'agente`,placeholder:`es. agent-kitchen`,rename:`Rinomina agente`,saveFailed:`Salvataggio non riuscito`,saveFailedWith:`Salvataggio non riuscito: {{error}}`,saved:`Nome salvato.`,remoteHint:`Il nome si cambia sulla macchina stessa.`}},paired:{pairedWith:`Associato a`,theHub:`L'hub`,hubUrl:`URL dell'hub`,caFingerprint:`Impronta della CA`,forget:`Dimentica questo hub`,forgetTitle:`Dimenticare questo hub?`,forgetDescription:`L'agente cancella il certificato emesso dall'hub e si disconnette. Le sue telecamere non vengono più servite da questo nodo finché un hub non lo associa di nuovo, cosa che richiede una nuova conferma su entrambe le schermate.`,forgetConfirm:`Dimentica hub`},requests:{pinHelp:`Il PIN monouso è mostrato solo sulla macchina dell'agente: nella console dell'agente (docker logs per un container), in pairing-pin.txt nella cartella dati dell'agente o nella finestra dell'app desktop. Usa il PIN stampato per questo hub.`,codeHelp:`Il codice di {{digits}} cifre che l'hub mostra per questa associazione. Digitalo dalla schermata dell'hub.`,pendingGroup:`Richieste di associazione in sospeso`,pickOne_one:`{{count}} hub ha chiesto di associarsi - scegli quello giusto`,pickOne_other:`{{count}} hub hanno chiesto di associarsi - scegli quello giusto`,requestFrom:`Richiesta di associazione da <b>{{node}}</b>`,caFingerprint:`Impronta della CA <mono>{{fingerprint}}</mono>`,timeLeft:`Tempo rimasto per confermare`,lockedTitle:`La conferma è bloccata`,lockedMessage:`Troppi PIN errati. Riprova tra {{wait}} oppure reimposta il blocco dell'associazione qui sotto.`,confirmedHere:`Confermato su questo agente`,confirmedHint:`Ora digita questo codice sull'hub. L'agente si associa non appena l'hub lo accetta.`,codeLabel:`Codice mostrato sull'hub`,pinLabel:`PIN locale`,pinPlaceholder:`PIN dalla macchina dell'agente`,noPinNeeded:`Sei sull'agente stesso, quindi non serve il PIN.`,confirm:`Conferma`,reject:`Rifiuta`,agentCodeLabel:`Codice su questo agente - digitalo sull'hub`,noCodeReturned:`L'agente ha confermato ma non ha restituito il suo codice. Rifiuta questa richiesta e avvia di nuovo l'associazione dall'hub.`},reset:{codeHelp:`Il codice di reimpostazione viene stampato nella console dell'agente all'avvio (docker logs per un container) e salvato in pairing-reset.txt nella cartella dati dell'agente. Viene rinnovato a ogni utilizzo.`,done:`Associazione reimpostata: blocchi e richieste in sospeso eliminati.`,hide:`Nascondi reimpostazione associazione`,show:`Reimposta blocco associazione`,explain:`Usalo quando la conferma è bloccata dopo PIN errati o quando una richiesta bloccata impedisce all'agente di accettarne una nuova. Annulla ogni associazione in sospeso; l'hub potrà poi chiederla di nuovo.`,noCodeNeeded:`Questa pagina è in esecuzione sull'agente stesso, quindi non serve il codice di reimpostazione.`,codeLabel:`Codice di reimpostazione`,codePlaceholder:`Codice di reimpostazione dall'agente`,resetting:`Reimpostazione…`,submit:`Reimposta associazione`},pairingApi:{httpStatus:`L'agente ha risposto HTTP {{status}}`,requestFailed:`La richiesta non è riuscita`,refused:`L'agente ha rifiutato la richiesta`,retryIn:`{{message}} (riprova tra {{wait}})`},addons:{title:`Addon`,empty:`Nessun addon caricato`,readFailed:`Impossibile leggere gli addon: {{error}}`,hubVersionsFailed:`L'hub non ha risposto, quindi le versioni che questo nodo deve eseguire sono sconosciute.`,startFailed:`Impossibile avviare l'aggiornamento`,columns:{addon:`Addon`,version:`Versione`,versionNotSortable:`Una cella di versione può anche indicare cosa si sta aggiornando.`,runner:`Runner`,cpu:`CPU`,memory:`Memoria`,status:`Stato`,actionsNotSortable:`Azioni.`},runnerWithoutAddon:`runner senza un addon noto`,updateFailed:`Aggiornamento non riuscito: {{message}}`,updatingTo:`Aggiornamento a {{version}}…`,updatedTo:`Aggiornato a {{version}}`,published:`{{version}} pubblicata`,publishedHint:`È stata pubblicata una versione più recente. Arriva su questo nodo quando l'hub la esegue: aggiorna prima l'hub.`,inAgentProcess:`nel processo dell'agente`,shared_one:`condiviso con {{count}} altro`,shared_other:`condiviso con altri {{count}}`,updating:`Aggiornamento…`,updateTo:`Aggiorna a {{version}}`,restart:`Riavvia {{name}}`,hubVersionsUnpaired:`Le versioni degli addon seguono l'hub una volta associato questo agente.`},updates:{title:`Aggiornamento del framework`,bootMode:{dataRoot:`Copia aggiornabile (aggiornabile a runtime)`,baked:`Copia dell'immagine (sola lettura)`,workspace:`Workspace di sviluppo`},restartWarning:`L'applicazione scarica la release e poi riavvia questo nodo per attivarla. Streaming live e detection su questo nodo si fermano durante il riavvio e questa pagina resta irraggiungibile finché l'agente non torna disponibile.`,state:{checking:`Controllo del registry…`,staging:`Download e preparazione della release…`,pendingRestart:`Preparata: riavvio per applicare`,pendingRestartVersion:`Preparata v{{version}}: riavvio per applicare`,working:`Elaborazione…`},updateAvailable:`aggiornamento disponibile`,checking:`Controllo…`,check:`Cerca aggiornamenti`,confirmApply:`Conferma: aggiorna e riavvia questo nodo`,apply:`Aggiorna`,applyTo:`Aggiorna → v{{version}}`,running:`In esecuzione`,published:`Pubblicata (npm)`,notChecked:`non controllato`,loadedFrom:`Codice caricato da`,checkFailed:`Controllo aggiornamenti non riuscito: {{error}}`,npmNote:`Il framework si installa dal registry npm: funziona anche con l'hub non raggiungibile.`,readFailed:`Impossibile leggere lo stato degli aggiornamenti: {{error}}`,checkRequestFailed:`Controllo non riuscito`,applyFailed:`Impossibile avviare l'aggiornamento`}}}),ebe={minHeight:`100vh`,margin:0,padding:`48px 32px`,background:`#0c0a09`,color:`#fafaf9`,fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif`},tbe={marginTop:16,padding:12,background:`#1c1917`,border:`1px solid #292524`,borderRadius:8,color:`#f87171`,fontSize:12,whiteSpace:`pre-wrap`,wordBreak:`break-word`};function B9(e){return e instanceof Error?e.stack??`${e.name}: ${e.message}`:String(e)}var nbe=class extends s.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[agent-ui] React render error: ${B9(e)}${t.componentStack??``}`)}render(){return this.state.error===null?this.props.children:(0,q.jsxs)(`div`,{style:ebe,children:[(0,q.jsx)(`h1`,{style:{fontSize:18,margin:0},children:z9(`crash.title`)}),(0,q.jsx)(`p`,{style:{color:`#a8a29e`,fontSize:13},children:z9(`crash.body`)}),(0,q.jsx)(`pre`,{style:tbe,children:B9(this.state.error)})]})}};function V9(e){let t=document.getElementById(`root`);if(!t||t.childElementCount>0)return;t.innerHTML=``;let n=document.createElement(`div`);n.setAttribute(`style`,`min-height:100vh;margin:0;padding:48px 32px;background:#0c0a09;color:#fafaf9;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif`);let r=document.createElement(`h1`);r.setAttribute(`style`,`font-size:18px;margin:0 0 8px`),r.textContent=z9(`crash.startFailed`);let i=document.createElement(`pre`);i.setAttribute(`style`,`margin-top:16px;padding:12px;background:#1c1917;border:1px solid #292524;border-radius:8px;color:#f87171;font-size:12px;white-space:pre-wrap;word-break:break-word`),i.textContent=e,n.appendChild(r),n.appendChild(i),t.appendChild(n)}function rbe(){window.addEventListener(`error`,e=>{console.error(`[agent-ui] uncaught error: ${B9(e.error??e.message)}`),V9(B9(e.error??e.message))}),window.addEventListener(`unhandledrejection`,e=>{console.error(`[agent-ui] unhandled rejection: ${B9(e.reason)}`),V9(B9(e.reason))})}function ibe(e){return e<1024*1024?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function abe(e){return e===`running`?`running`:e===`crashed`||e===`error`||e===`failed`?`error`:e===`stopped`?`stopped`:`unknown`}function obe(e){return Math.max(0,e.addonIds.length-1)}function sbe({row:e,update:t,t:n}){return e.kind===`runner`?(0,q.jsx)(`span`,{className:`text-foreground-subtle`,children:`—`}):(0,q.jsxs)(`span`,{className:`flex flex-col gap-0.5`,children:[(0,q.jsxs)(`span`,{className:`font-mono text-[11px]`,children:[t?.installedVersion??e.version??`—`,t?.behindHub===!0&&t.hubVersion!==null?` → ${t.hubVersion}`:``]}),t?.update?.status===`failed`&&(0,q.jsx)(`span`,{className:`max-w-[16rem] truncate text-[10px] text-danger`,title:t.update.message??``,children:n(`addons.updateFailed`,{message:t.update.message??``})}),t?.update?.status===`running`&&(0,q.jsx)(`span`,{className:`text-[10px] text-warning`,children:n(`addons.updatingTo`,{version:t.update.targetVersion})}),t?.update?.status===`done`&&t.behindHub===!1&&(0,q.jsx)(`span`,{className:`text-[10px] text-success`,children:n(`addons.updatedTo`,{version:t.update.targetVersion})}),t!==void 0&&!t.behindHub&&t.updateAvailable&&t.latestVersion!==null&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,title:n(`addons.publishedHint`),children:n(`addons.published`,{version:t.latestVersion})})]})}function cbe({runner:e,t}){if(e===null)return(0,q.jsx)(`span`,{className:`text-[11px] text-foreground-subtle`,children:t(`addons.inAgentProcess`)});let n=obe(e),r=n>0?t(`addons.shared`,{count:n}):null;return(0,q.jsxs)(`span`,{className:`flex flex-col gap-0.5`,children:[(0,q.jsxs)(`span`,{className:`font-mono text-[11px]`,children:[e.groupId,` · pid `,e.pid]}),r!==null&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,title:e.addonIds.join(`, `),children:r})]})}function lbe(e){return[{key:`addon`,header:e.t(`addons.columns.addon`),sortValue:e=>e.addonId??e.runner?.name??e.key,render:t=>(0,q.jsxs)(`span`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{className:`font-mono text-xs`,children:t.addonId??t.runner?.name}),t.kind===`runner`&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,children:e.t(`addons.runnerWithoutAddon`)}),t.packageName!==null&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,children:t.packageName})]})},{key:`version`,header:e.t(`addons.columns.version`),notSortableReason:e.t(`addons.columns.versionNotSortable`),render:t=>(0,q.jsx)(sbe,{row:t,update:e.updateFor(t),t:e.t})},{key:`runner`,header:e.t(`addons.columns.runner`),sortValue:e=>e.runner?.groupId??null,render:t=>(0,q.jsx)(cbe,{runner:t.runner,t:e.t})},{key:`cpu`,header:e.t(`addons.columns.cpu`),align:`right`,sortValue:e=>e.runner?.cpuPercent??null,render:e=>e.runner===null?`—`:`${e.runner.cpuPercent.toFixed(1)}%`},{key:`memory`,header:e.t(`addons.columns.memory`),align:`right`,sortValue:e=>e.runner?.memoryRss??null,render:e=>e.runner===null?`—`:ibe(e.runner.memoryRss)},{key:`status`,header:e.t(`addons.columns.status`),sortValue:e=>e.status,render:e=>(0,q.jsx)(Fye,{status:abe(e.status),label:e.status,size:`sm`})},{key:`actions`,header:``,align:`right`,notSortableReason:e.t(`addons.columns.actionsNotSortable`),render:t=>{let n=e.updateFor(t),r=n?.update?.status===`running`;return(0,q.jsxs)(`span`,{className:`flex items-center justify-end gap-1`,children:[n?.behindHub===!0&&t.packageName!==null&&(0,q.jsxs)(uQ,{type:`button`,variant:`outline`,size:`sm`,disabled:r,onClick:()=>e.onUpdate(t.packageName??``),children:[(0,q.jsx)(hG,{className:`h-3 w-3`}),r?e.t(`addons.updating`):e.t(`addons.updateTo`,{version:n.hubVersion??``})]}),t.kind===`addon`&&t.addonId!==null&&(0,q.jsx)(KZ,{type:`button`,variant:`ghost`,size:`sm`,icon:TG,"aria-label":e.t(`addons.restart`,{name:t.addonId}),onClick:()=>e.onRestartAddon(t.addonId??``)}),t.kind===`runner`&&t.runner!==null&&(0,q.jsx)(KZ,{type:`button`,variant:`ghost`,size:`sm`,icon:TG,"aria-label":e.t(`addons.restart`,{name:t.runner.name}),onClick:()=>e.onRestartRunner(t.runner?.name??``)})]})}}]}var ube=3e3,dbe=12e4,fbe=3e3;function pbe({locked:e,onUnauthorized:t}){let{t:n}=L9(),[r,i]=(0,s.useState)(null),[a,o]=(0,s.useState)(null),[c,l]=(0,s.useState)(null),[u,d]=(0,s.useState)(null),f=(0,s.useCallback)(e=>{e instanceof N9?t():l(e instanceof Error?e.message:z9(`common.unknownError`))},[t]),p=(0,s.useCallback)(async()=>{try{i(await F9(`/api/agent/addon-runtime`)),l(null)}catch(e){f(e)}},[f]),m=(0,s.useCallback)(async()=>{try{o(await F9(`/api/agent/addon-updates`))}catch(e){f(e)}},[f]);(0,s.useEffect)(()=>{if(e)return;p();let t=setInterval(()=>void p(),ube);return()=>clearInterval(t)},[e,p]);let h=a?.available===!0&&a.entries.some(e=>e.update?.status===`running`);(0,s.useEffect)(()=>{if(e)return;m();let t=setInterval(()=>void m(),h?fbe:dbe);return()=>clearInterval(t)},[e,m,h]);let g=(0,s.useMemo)(()=>new Map(a?.available===!0?a.entries.map(e=>[e.packageName,e]):[]),[a]),_=(0,s.useCallback)(async e=>{d(null);try{let t=await I9(`/api/agent/addon-updates/update`,{packageName:e});t.started||d(t.message??z9(`addons.startFailed`)),await m()}catch(e){e instanceof N9?t():d(e instanceof Error?e.message:z9(`addons.startFailed`))}},[m,t]),v=(0,s.useMemo)(()=>lbe({t:n,updateFor:e=>e.packageName===null?void 0:g.get(e.packageName),onRestartAddon:e=>void I9(`/api/agent/addon/restart`,{addonId:e}),onRestartRunner:e=>void I9(`/api/agent/process/restart`,{name:e}),onUpdate:e=>void _(e)}),[g,_,n]);return(0,q.jsx)(Q3,{headingId:`agent-addons`,title:n(`addons.title`),icon:hG,actions:(0,q.jsx)(cQ,{variant:`default`,className:`text-[10px]`,children:r?.length??0}),children:(0,q.jsxs)(`div`,{className:`${G3} space-y-3`,children:[c!==null&&(0,q.jsx)(y3,{message:n(`addons.readFailed`,{error:c})}),u!==null&&(0,q.jsx)(y3,{message:u}),a?.available===!0&&a.hubVersions===`unpaired`&&(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`addons.hubVersionsUnpaired`)}),a?.available===!0&&a.hubVersions===`unanswered`&&(0,q.jsx)(y3,{variant:`warning`,message:n(`addons.hubVersionsFailed`)}),a?.available===!0&&a.error!==null&&(0,q.jsx)(y3,{variant:`warning`,message:a.error}),(0,q.jsx)(Fpe,{columns:v,rows:r??[],rowKey:e=>e.key,minWidthPx:640,bordered:!1,emptyMessage:n(r===null?`common.loading`:`addons.empty`)})]})})}var mbe=`/api/agent/pairing/status`,hbe=`/api/agent/pairing/confirm`,gbe=`/api/agent/pairing/reject`,_be=`/api/agent/pairing/reset`,vbe=`/api/agent/pairing/forget`;function ybe(){return F9(mbe)}function H9(e){return e.some(e=>typeof e.pin==`string`)}function bbe(e){return e===`localhost`||e===`127.0.0.1`||e===`[::1]`}function xbe(e){return typeof e==`object`&&!!e&&typeof Reflect.get(e,`ok`)==`boolean`}async function U9(e,t){try{let n=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`,...P9()},body:JSON.stringify(t)}),r=await n.json().catch(()=>null);return xbe(r)?r:n.ok?{ok:!0}:{ok:!1,message:z9(`pairingApi.httpStatus`,{status:n.status})}}catch(e){return{ok:!1,message:e instanceof Error?e.message:z9(`pairingApi.requestFailed`)}}}function W9(e){let t=Math.max(1,Math.ceil(e/1e3));return t<90?`${t} s`:`${Math.ceil(t/60)} min`}function G9(e){let t=e.message??e.error??z9(`pairingApi.refused`);return e.retryAfterMs===void 0?t:z9(`pairingApi.retryIn`,{message:t,wait:W9(e.retryAfterMs)})}function Sbe(e,t){let n=Math.max(0,Math.ceil((e-t)/1e3));return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}function K9(e){return e.replace(/(.{4})/g,`$1 `).trim()}function Cbe(e){return e.replace(/(\d{3})(?=\d)/g,`$1 `)}async function wbe(){let e=await U9(vbe,{});if(!e.ok)throw Error(G9(e))}function Tbe({hub:e,hubName:t,onForgotten:n}){let{t:r}=L9();return(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsxs)(`div`,{className:`space-y-0`,children:[(0,q.jsx)(Z3,{label:r(`paired.pairedWith`),children:t??r(`paired.theHub`)}),e?.url!=null&&(0,q.jsx)(Z3,{label:r(`paired.hubUrl`),valueClassName:`font-mono break-all`,children:e.url}),e!==null&&(0,q.jsx)(Z3,{label:r(`paired.caFingerprint`),valueClassName:`font-mono break-all`,children:K9(e.caFingerprint)})]}),(0,q.jsx)(Xpe,{label:r(`paired.forget`),icon:oK,title:r(`paired.forgetTitle`),description:r(`paired.forgetDescription`),confirmLabel:r(`paired.forgetConfirm`),size:`sm`,action:wbe,onSuccess:()=>void n()})]})}var Ebe=new Set([`pin-locked`,`reset-locked`]);function q9(e){return e.hub.caFingerprint}function Dbe({pairing:e}){return(0,q.jsxs)(`div`,{className:`space-y-0.5 min-w-0`,children:[(0,q.jsx)(`div`,{className:`text-xs text-foreground`,children:(0,q.jsx)(R9,{i18nKey:`requests.requestFrom`,values:{node:e.hub.nodeId},components:{b:(0,q.jsx)(`span`,{className:`font-semibold`})}})}),(0,q.jsx)(`div`,{className:`text-[11px] font-mono text-foreground-subtle break-all`,children:e.hub.url}),(0,q.jsx)(`div`,{className:`text-[11px] text-foreground-subtle`,children:(0,q.jsx)(R9,{i18nKey:`requests.caFingerprint`,values:{fingerprint:K9(e.hub.caFingerprint)},components:{mono:(0,q.jsx)(`span`,{className:`font-mono break-all`})}})})]})}function Obe({pending:e,onChanged:t}){let{t:n}=L9(),[r,i]=(0,s.useState)(null),[a,o]=(0,s.useState)(``),[c,l]=(0,s.useState)(``),[u,d]=(0,s.useState)(!1),[f,p]=(0,s.useState)(null),[m,h]=(0,s.useState)(null),[g,_]=(0,s.useState)({}),[v,y]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{let e=setInterval(()=>y(Date.now()),1e3);return()=>clearInterval(e)},[]);let b=e.find(e=>q9(e)===r)??e[0],x=H9(e),S=m!==null&&m>v;if(b===void 0)return null;let ee=q9(b),C=g[ee]??(b.localConfirmed===!0?b.code??null:null),te=C!==null,ne=e=>{e!==ee&&(i(e),o(``),p(null))},re=()=>x?{pin:b.pin??``}:{pin:c.trim()},w=e=>{if(p(G9(e)),e.retryAfterMs!==void 0&&Ebe.has(e.error??``)){let t=Date.now();y(t),h(t+e.retryAfterMs)}},ie=async()=>{d(!0),p(null);let e=await U9(hbe,{...re(),code:a.trim()});if(d(!1),o(``),e.ok&&e.code!==void 0){let n=e.code;_(e=>({...e,[ee]:n})),l(``),await t();return}w(e.ok?{ok:!1,message:n(`requests.noCodeReturned`)}:e),await t()},ae=async()=>{d(!0),p(null);let e=await U9(gbe,re());d(!1),e.ok||w(e),o(``),await t()},oe=!u&&!S&&a.trim().length===6&&(x||c.trim().length===8),se=!u&&!S&&(x||c.trim().length===8);return(0,q.jsxs)(`div`,{className:`space-y-3`,children:[e.length>1&&(0,q.jsxs)(`div`,{className:`space-y-1`,role:`radiogroup`,"aria-label":n(`requests.pendingGroup`),children:[(0,q.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-foreground-subtle font-medium`,children:n(`requests.pickOne`,{count:e.length})}),e.map(e=>(0,q.jsx)(uQ,{type:`button`,role:`radio`,"aria-checked":q9(e)===ee,variant:q9(e)===ee?`primary`:`outline`,size:`sm`,className:`w-full justify-start text-left h-auto py-1.5`,onClick:()=>ne(q9(e)),children:(0,q.jsxs)(`span`,{className:`min-w-0 truncate`,children:[e.hub.nodeId,` · `,e.hub.url]})},q9(e)))]}),(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-2 min-w-0`,children:[(0,q.jsx)(RG,{className:`h-4 w-4 mt-0.5 shrink-0 text-warning`}),(0,q.jsx)(Dbe,{pairing:b})]}),(0,q.jsx)(cQ,{variant:`warning`,className:`shrink-0 font-mono`,title:n(`requests.timeLeft`),children:Sbe(b.expiresAt,v)})]}),S&&m!==null&&(0,q.jsx)(y3,{variant:`warning`,title:n(`requests.lockedTitle`),message:n(`requests.lockedMessage`,{wait:W9(m-v)})}),te?(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(cQ,{variant:`success`,icon:(0,q.jsx)(cW,{className:`h-3 w-3`}),children:n(`requests.confirmedHere`)}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`div`,{className:`text-[11px] text-foreground-subtle`,children:n(`requests.agentCodeLabel`)}),(0,q.jsx)(`div`,{className:`text-2xl font-mono tracking-widest text-foreground`,"data-testid":`agent-pairing-own-code`,children:Cbe(C)})]}),(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`requests.confirmedHint`)})]}):(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsx)(f9,{label:n(`requests.codeLabel`),description:n(`requests.codeHelp`,{digits:6}),children:(0,q.jsx)(JZ,{id:`agent-pairing-code`,"aria-label":n(`requests.codeLabel`),type:`text`,inputMode:`numeric`,autoComplete:`off`,maxLength:6,value:a,onChange:e=>o(e.target.value.replace(/\D/g,``)),placeholder:`000000`,className:`font-mono tracking-widest`,disabled:S})}),!x&&(0,q.jsx)(f9,{label:n(`requests.pinLabel`),description:n(`requests.pinHelp`),children:(0,q.jsx)(JZ,{id:`agent-pairing-pin`,"aria-label":n(`requests.pinLabel`),type:`text`,inputMode:`numeric`,autoComplete:`off`,maxLength:8,value:c,onChange:e=>l(e.target.value.replace(/\D/g,``)),placeholder:n(`requests.pinPlaceholder`),className:`font-mono tracking-widest`,disabled:S})}),x&&(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`requests.noPinNeeded`)})]}),f!==null&&(0,q.jsx)(`p`,{role:`alert`,className:`text-[11px] text-danger`,children:f}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!te&&(0,q.jsxs)(uQ,{type:`button`,variant:`primary`,size:`sm`,disabled:!oe,onClick:()=>void ie(),children:[(0,q.jsx)(cW,{className:`h-3 w-3`}),n(`requests.confirm`)]}),(0,q.jsxs)(uQ,{type:`button`,variant:`outline`,size:`sm`,disabled:!se,onClick:()=>void ae(),children:[(0,q.jsx)(_K,{className:`h-3 w-3`}),n(`requests.reject`)]})]})]})}function kbe({local:e,onReset:t}){let{t:n}=L9(),[r,i]=(0,s.useState)(!1),[a,o]=(0,s.useState)(``),[c,l]=(0,s.useState)(!1),[u,d]=(0,s.useState)(!1),f=!e||u,[p,m]=(0,s.useState)(null),h=async()=>{l(!0),m(null);let e=await U9(_be,f?{code:a.trim()}:{});if(l(!1),e.ok){o(``),m({ok:!0,text:n(`reset.done`)}),await t();return}e.error===`reset-code-required`&&d(!0),m({ok:!1,text:G9(e)})};return(0,q.jsxs)(`div`,{className:`border-t border-border pt-3 space-y-3`,children:[(0,q.jsxs)(uQ,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>i(e=>!e),children:[(0,q.jsx)(OG,{className:`h-3 w-3`}),n(r?`reset.hide`:`reset.show`)]}),r&&(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`reset.explain`)}),f?(0,q.jsx)(f9,{label:n(`reset.codeLabel`),description:n(`reset.codeHelp`),children:(0,q.jsx)(JZ,{id:`agent-pairing-reset-code`,"aria-label":n(`reset.codeLabel`),type:`text`,inputMode:`numeric`,autoComplete:`off`,maxLength:8,value:a,onChange:e=>o(e.target.value),placeholder:n(`reset.codePlaceholder`)})}):(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`reset.noCodeNeeded`)}),(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,disabled:c||f&&a.trim().length===0,onClick:()=>void h(),children:n(c?`reset.resetting`:`reset.submit`)}),p!==null&&(0,q.jsx)(`p`,{role:`status`,className:p.ok?`text-[11px] text-success`:`text-[11px] text-danger`,children:p.text})]})]})}var Abe=2e3;function jbe(e=Abe){let[t,n]=(0,s.useState)(null),[r,i]=(0,s.useState)(null),a=(0,s.useRef)(!0),o=(0,s.useRef)(async()=>void 0);return o.current=async()=>{try{let e=await ybe();if(!a.current)return;n(e),i(null)}catch(e){a.current&&i(e instanceof Error?e.message:z9(`common.unknownError`))}},(0,s.useEffect)(()=>{a.current=!0,o.current();let t=setInterval(()=>void o.current(),e);return()=>{a.current=!1,clearInterval(t)}},[e]),{view:t,error:r,refresh:()=>o.current()}}function Mbe({connectionState:e}){let{t}=L9();switch(e){case`connected`:return(0,q.jsx)(cQ,{variant:`success`,children:t(`hubConfig.connection.connected`)});case`unpaired`:return(0,q.jsx)(cQ,{variant:`warning`,children:t(`hubConfig.connection.unpaired`)});case`unconfigured`:return(0,q.jsx)(cQ,{variant:`default`,children:t(`hubConfig.connection.unconfigured`)});case`certificate-rejected`:return(0,q.jsx)(cQ,{variant:`danger`,children:t(`hubConfig.connection.certificateRejected`)});case`disconnected`:return(0,q.jsx)(cQ,{variant:`danger`,children:t(`hubConfig.connection.disconnected`)})}}function Nbe(e,t,n){return t?.state===`paired`||t===null&&n?e(`hubConfig.pairingState.paired`):t?.state===`pending`?e(`hubConfig.pairingState.requested`):e(`hubConfig.pairingState.unpaired`)}function Pbe({status:e,onSaved:t}){let[n,r]=(0,s.useState)(!1),[i,a]=(0,s.useState)(``),[o,c]=(0,s.useState)(!1),[l,u]=(0,s.useState)(null),{t:d}=L9();(0,s.useEffect)(()=>{n||a(e?.name??``)},[e?.name,n]);let f=(0,s.useCallback)(async()=>{let n=i.trim();if(n.length===0||n===e?.name){r(!1);return}c(!0),u(null);try{let e=await I9(`/api/agent/config`,{name:n});if(e.success===!1){u(e.error??d(`hubConfig.name.saveFailed`));return}r(!1),u(d(`hubConfig.name.saved`)),await t().catch(()=>void 0)}catch(e){u(d(`hubConfig.name.saveFailedWith`,{error:e instanceof Error?e.message:d(`common.unknownError`)}))}finally{c(!1)}},[i,e?.name,t,d]);return(0,q.jsxs)(`div`,{className:`border-t border-border pt-3 space-y-2`,children:[n?(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(K3,{htmlFor:`agent-name`,className:`text-[10px] text-foreground-subtle`,children:d(`hubConfig.name.label`)}),(0,q.jsx)(JZ,{id:`agent-name`,type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:d(`hubConfig.name.placeholder`)}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsxs)(uQ,{type:`button`,variant:`primary`,size:`sm`,onClick:()=>void f(),disabled:o,children:[(0,q.jsx)(jG,{className:`h-3 w-3`}),d(o?`common.saving`:`common.save`)]}),(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!1),disabled:o,children:d(`common.cancel`)})]})]}):(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!0),children:d(`hubConfig.name.rename`)}),l!==null&&(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:l})]})}function J9({status:e,onStatusRefresh:t}){let{t:n}=L9(),r=jbe(),i=r.view,a=e===null?`unpaired`:O9(e),o=e?.discoveredNodes??[],c=e?.hubAddress??e?.resolvedHubAddress??null,l=o.find(e=>e.isHub),u=l===void 0?null:k9(l,c).replace(/ \(hub\)$/,``),d=i?.state===`paired`||i===null&&e?.paired===!0,f=i?.pending??[],p=H9(f)||bbe(window.location.hostname),m=p||e!==null,h=i===null&&r.error!==null&&r.error.includes(`404`),g=(0,s.useCallback)(async()=>{await r.refresh(),await t().catch(()=>void 0)},[r,t]);return(0,q.jsx)(Q3,{headingId:`agent-hub-connection`,title:n(`hubConfig.title`),icon:PG,actions:(0,q.jsx)(Mbe,{connectionState:a}),children:(0,q.jsxs)(`div`,{className:`${G3} space-y-3`,children:[a===`certificate-rejected`&&(0,q.jsx)(y3,{variant:`warning`,title:n(`hubConfig.certRejected.title`),message:n(`hubConfig.certRejected.message`)}),a===`disconnected`&&d&&(0,q.jsx)(y3,{variant:`warning`,title:n(`hubConfig.unreachable.title`),message:n(`hubConfig.unreachable.message`)}),(0,q.jsxs)(`div`,{className:`space-y-0`,children:[c!==null&&(0,q.jsx)(Z3,{label:n(`hubConfig.hubAddress`),valueClassName:`font-mono`,children:c}),(0,q.jsx)(Z3,{label:n(`hubConfig.pairing`),children:Nbe(n,i,e?.paired===!0)}),o.length>0&&(0,q.jsx)(Z3,{label:n(`hubConfig.clusterNodes`),children:(0,q.jsx)(`span`,{className:`flex flex-wrap gap-1`,children:o.filter(e=>!e.id.includes(`/`)).map(e=>(0,q.jsx)(cQ,{variant:e.isHub?`info`:`default`,className:`text-[9px] font-mono`,title:e.id,children:k9(e,c)},e.id))})})]}),h&&(0,q.jsx)(y3,{variant:`warning`,message:n(`hubConfig.unsupported`)}),!h&&i===null&&r.error!==null&&(0,q.jsx)(y3,{variant:`warning`,title:n(`hubConfig.statusUnavailable`),message:r.error,onRetry:()=>void r.refresh()}),i!==null&&d&&(0,q.jsx)(Tbe,{hub:e?.pairedHub??null,hubName:u,onForgotten:g}),i!==null&&!d&&f.length>0&&(0,q.jsx)(Obe,{pending:f,onChanged:g}),i!==null&&!d&&f.length===0&&(0,q.jsx)(`p`,{className:`text-xs text-foreground-subtle`,children:n(`hubConfig.emptyPairing`)}),i!==null&&!d&&p&&i.lockedOut===!0&&(0,q.jsx)(kbe,{local:!0,onReset:g}),m?(0,q.jsx)(Pbe,{status:e,onSaved:t}):(0,q.jsx)(`p`,{className:`border-t border-border pt-3 text-[11px] text-foreground-subtle`,children:n(`hubConfig.name.remoteHint`)})]})})}function Fbe(e,t){switch(t){case`data-root`:return e(`updates.bootMode.dataRoot`);case`baked`:return e(`updates.bootMode.baked`);case`workspace`:return e(`updates.bootMode.workspace`);default:return t}}function Y9({text:e}){return(0,q.jsxs)(`div`,{className:`flex items-start gap-1.5 text-[11px] text-foreground-subtle`,children:[(0,q.jsx)(KW,{className:`h-3 w-3 shrink-0 mt-px`}),(0,q.jsx)(`span`,{children:e})]})}function Ibe(e,t,n){return t===`checking`?e(`updates.state.checking`):t===`staging`?e(`updates.state.staging`):t===`pending-restart`?n?e(`updates.state.pendingRestartVersion`,{version:n}):e(`updates.state.pendingRestart`):null}function Lbe({view:e,onCheck:t,onApply:n,checking:r,startError:i}){let[a,o]=(0,s.useState)(!1),{t:c}=L9(),{status:l,lastApply:u,applyInFlight:d,lastCheckError:f}=e,p=Ibe(c,l.updateState,l.pendingVersion),m=d||l.updateState===`staging`,h=l.updateState===`pending-restart`;return(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 flex-wrap`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,q.jsx)(`span`,{className:`text-xs font-mono truncate`,children:l.packageName}),l.updateAvailable&&(0,q.jsx)(cQ,{variant:`warning`,className:`text-[10px]`,children:c(`updates.updateAvailable`)})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,onClick:t,disabled:r||m,children:c(r?`updates.checking`:`updates.check`)}),!h&&l.updateAvailable&&(0,q.jsxs)(uQ,{type:`button`,variant:a?`danger`:`primary`,size:`sm`,onClick:()=>{if(!a){o(!0);return}o(!1),n()},disabled:m,children:[(0,q.jsx)(AW,{className:`h-3 w-3`}),a?c(`updates.confirmApply`):l.latestVersion?c(`updates.applyTo`,{version:l.latestVersion}):c(`updates.apply`)]})]})]}),(0,q.jsxs)(`div`,{className:`space-y-0`,children:[(0,q.jsx)(Z3,{label:c(`updates.running`),valueClassName:`font-mono`,children:l.runningVersion??`—`}),(0,q.jsx)(Z3,{label:c(`updates.published`),valueClassName:`font-mono`,children:l.latestVersion??c(`updates.notChecked`)}),(0,q.jsx)(Z3,{label:c(`updates.loadedFrom`),children:Fbe(c,l.bootMode)})]}),a&&!m&&(0,q.jsx)(y3,{message:c(`updates.restartWarning`),variant:`warning`}),m&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[11px] text-warning`,children:[(0,q.jsx)(TG,{className:`h-3 w-3 animate-spin`}),p??c(`updates.state.working`)]}),!m&&h&&p&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[11px] text-warning`,children:[(0,q.jsx)(TG,{className:`h-3 w-3 animate-spin`}),p]}),i!==null&&(0,q.jsx)(y3,{message:i}),u!==null&&!u.accepted&&(0,q.jsx)(y3,{message:u.message}),u!==null&&u.accepted&&(0,q.jsx)(Y9,{text:u.message}),f!==null&&(0,q.jsx)(y3,{message:c(`updates.checkFailed`,{error:f})}),(0,q.jsx)(Y9,{text:c(`updates.npmNote`)})]})}function Rbe({locked:e,onUnauthorized:t}){let{t:n}=L9(),[r,i]=(0,s.useState)(null),[a,o]=(0,s.useState)(null),[c,l]=(0,s.useState)(!1),[u,d]=(0,s.useState)(null),f=(0,s.useCallback)(e=>{if(e instanceof N9){t();return}o(e instanceof Error?e.message:z9(`common.unknownError`))},[t]),p=(0,s.useCallback)(async()=>{try{i(await F9(`/api/agent/server-update`)),o(null)}catch(e){f(e)}},[f]);(0,s.useEffect)(()=>{if(e)return;let t=!0,n=()=>{t&&p()};n();let r=setInterval(n,5e3);return()=>{t=!1,clearInterval(r)}},[e,p]);let m=(0,s.useCallback)(async()=>{l(!0);try{await I9(`/api/agent/server-update/check`,{}),await p()}catch(e){o(e instanceof Error?e.message:z9(`updates.checkRequestFailed`))}finally{l(!1)}},[p]),h=(0,s.useRef)(!1);(0,s.useEffect)(()=>{e||h.current||r===null||!r.available||r.status.latestVersion!==null||r.status.updateState!==`idle`||(h.current=!0,m())},[e,r,m]);let g=(0,s.useCallback)(async()=>{d(null);try{let e=await I9(`/api/agent/server-update/apply`,{});!e.started&&e.message!==null&&d(e.message),await p()}catch(e){d(e instanceof Error?e.message:z9(`updates.applyFailed`))}},[p]);return(0,q.jsx)(Q3,{headingId:`agent-updates`,title:n(`updates.title`),icon:AW,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-4`,children:[a!==null&&(0,q.jsx)(y3,{message:n(`updates.readFailed`,{error:a})}),r===null&&a===null&&(0,q.jsx)(`div`,{className:`text-[11px] text-foreground-subtle`,children:n(`common.loading`)}),r!==null&&(r.available?(0,q.jsx)(Lbe,{view:r,onCheck:()=>void m(),onApply:()=>void g(),checking:c,startError:u}):(0,q.jsx)(Y9,{text:r.reason}))]})})}function X9(e){let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t}d ${n}h ${r}m`:n>0?`${n}h ${r}m`:`${r}m`}function zbe({text:e}){let[t,n]=(0,s.useState)(!1);return(0,q.jsxs)(uQ,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>n(e=>!e),title:e,className:`h-auto py-0.5 px-1.5 text-[10px] text-danger hover:text-danger text-left max-w-[10rem] sm:max-w-[14rem] ${t?`whitespace-normal break-words`:``}`,children:[(0,q.jsx)(iK,{className:`h-3 w-3 shrink-0 mt-px`}),(0,q.jsx)(`span`,{className:t?`break-words`:`truncate`,children:e})]})}function Z9({label:e,value:t,icon:n,tone:r}){return(0,q.jsxs)(b3,{variant:`bordered`,className:`p-3 sm:p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 mb-2`,children:[(0,q.jsx)(n,{className:`h-4 w-4 ${r===`danger`?`text-danger`:r===`primary`?`text-primary`:`text-foreground-subtle`}`}),(0,q.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-foreground-subtle font-medium`,children:e})]}),(0,q.jsx)(`div`,{className:`text-xl font-bold text-foreground`,children:t})]})}function Bbe({productVersion:e,serverVersion:t,appVersion:n}){let{t:r}=L9(),i=typeof window<`u`?window.camstackAgentApp:void 0,[a,o]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!i)return;let e=!0;i.getUpdateState().then(t=>{e&&o(t)});let t=i.onUpdateState(e=>o(e));return()=>{e=!1,t()}},[i]);let c=Qye({productVersion:e??n??i?.version??null,serverVersion:t??null,fallbackVersion:n??i?.version??null}),l=c.kind===`both`?r(`dashboard.version.both`,{product:c.productLabel,server:c.serverVersion}):c.kind===`product`?c.productLabel:c.kind===`server`?r(`dashboard.version.serverOnly`,{version:c.serverVersion}):c.kind===`fallback`?`v${c.version}`:null;return l===null&&!i?null:(0,q.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0 max-w-full flex-wrap justify-end`,children:[l!==null&&(0,q.jsx)(`span`,{"data-testid":`release-identity`,className:`text-[10px] font-mono text-foreground-subtle`,children:l}),i&&a?.downloaded&&(0,q.jsxs)(uQ,{type:`button`,variant:`primary`,size:`sm`,onClick:()=>i.installUpdate(),children:[(0,q.jsx)(AW,{className:`h-3 w-3`}),a.version?r(`dashboard.version.restartToUpdateTo`,{version:a.version}):r(`dashboard.version.restartToUpdate`)]}),i&&a&&!a.downloaded&&a.available&&(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] text-warning`,children:[(0,q.jsx)(TG,{className:`h-3 w-3 animate-spin`}),r(`dashboard.version.downloading`)]}),i&&a&&!a.available&&!a.downloaded&&(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>void i.checkForUpdates(),disabled:a.checking,children:a.checking?r(`dashboard.version.checking`):r(`dashboard.version.check`)}),i&&a?.error!=null&&!a.checking&&(0,q.jsx)(zbe,{text:r(`dashboard.version.checkFailed`,{error:a.error})})]})}function Vbe({info:e}){let{t}=L9();return(0,q.jsx)(Q3,{headingId:`agent-process`,title:t(`dashboard.process.title`),icon:TW,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-0`,children:[(0,q.jsx)(Z3,{label:t(`dashboard.process.pid`),valueClassName:`font-mono`,children:e?.pid??`—`}),(0,q.jsx)(Z3,{label:t(`dashboard.process.uptime`),valueClassName:`font-mono`,children:e?X9(e.uptimeSeconds):`—`}),(0,q.jsx)(Z3,{label:t(`dashboard.process.memory`),valueClassName:`font-mono`,children:e?`${e.rssMB} MB`:`—`}),(0,q.jsx)(Z3,{label:t(`dashboard.process.heap`),valueClassName:`font-mono`,children:e?`${e.heapUsedMB} / ${e.heapTotalMB} MB`:`—`})]})})}function Q9({value:e,max:t,tone:n}){let r=t>0?Math.min(100,e/t*100):0;return(0,q.jsx)(`div`,{className:`h-2 bg-surface-hover rounded-full overflow-hidden`,children:(0,q.jsx)(`div`,{className:`h-full rounded-full transition-all ${n===`danger`?`bg-danger`:`bg-primary`}`,style:{width:`${r}%`}})})}function Hbe({status:e}){let{t}=L9(),n=e?.decode?.hwaccel??`—`,r=e?.decode?.driDevice??null,i=e?.detectionDevices??[];return(0,q.jsx)(Q3,{headingId:`agent-decode-detection`,title:t(`dashboard.decode.title`),icon:EW,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-0`,children:[(0,q.jsx)(Z3,{label:t(`dashboard.decode.hwaccel`),valueClassName:`font-mono`,children:n}),(0,q.jsx)(Z3,{label:t(`dashboard.decode.driDevice`),valueClassName:`font-mono`,children:r??`—`}),(0,q.jsx)(Z3,{label:t(`dashboard.decode.detectionDevices`),children:i.length>0?(0,q.jsx)(`span`,{className:`flex flex-wrap gap-1`,children:i.map(e=>(0,q.jsx)(cQ,{variant:`info`,className:`text-[10px] font-mono`,children:e},e))}):(0,q.jsx)(`span`,{className:`text-foreground-subtle`,children:t(`dashboard.decode.software`)})})]})})}function Ube({hubHttpsOrigin:e,nodeId:t}){let[n,r]=(0,s.useState)(e),[i,a]=(0,s.useState)(t),[o,c]=(0,s.useState)(!1),{t:l}=L9();(0,s.useEffect)(()=>{let e=!1;return fetch(`/api/agent/unlock-info`).then(e=>e.ok?e.json():null).then(t=>{e||t===null||(t.paired===!1&&c(!0),typeof t.hubHttpsOrigin==`string`&&r(t.hubHttpsOrigin),typeof t.nodeId==`string`&&a(t.nodeId))}).catch(()=>{}),()=>{e=!0}},[]);let u=e??n,d=t??i,f=(0,s.useCallback)(()=>{if(u===null||d===null)return;let e=`${window.location.origin}/`,t=new URL(`/system/nodes`,u);t.searchParams.set(`unlockNode`,d),t.searchParams.set(`returnTo`,e),window.location.assign(t.toString())},[u,d]);return o?(0,q.jsx)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,q.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,q.jsx)(p9,{icon:NG,title:l(`dashboard.defaultName`),subtitle:(0,q.jsx)(`span`,{className:`font-mono`,children:d??`...`}),children:(0,q.jsx)(J9,{status:null,onStatusRefresh:async()=>window.location.reload()})})})}):(0,q.jsx)(`div`,{className:`min-h-screen bg-background text-foreground flex items-center justify-center p-2 sm:p-4`,children:(0,q.jsxs)(b3,{variant:`bordered`,className:`w-full max-w-sm p-6 space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(NG,{className:`h-4 w-4 text-primary`}),(0,q.jsx)(`h1`,{className:`text-sm font-semibold`,children:l(`dashboard.locked.title`)})]}),(0,q.jsx)(`p`,{className:`text-xs text-foreground-subtle`,children:l(`dashboard.locked.body`)}),(0,q.jsx)(uQ,{type:`button`,variant:`primary`,className:`w-full`,disabled:u===null||d===null,onClick:f,children:l(`dashboard.locked.continue`)}),u===null&&(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:l(`dashboard.locked.hubUnknown`)})]})})}function Wbe(){let{t:e}=L9(),[t,n]=(0,s.useState)(null),[r,i]=(0,s.useState)(!1),[a,o]=(0,s.useState)(null),[c,l]=(0,s.useState)(!1),[u,d]=(0,s.useState)(`idle`),f=(0,s.useCallback)(async()=>{n(await F9(`/api/agent/status`)),i(!0),o(null)},[]);(0,s.useEffect)(()=>{let e=new URLSearchParams(window.location.search),t=e.get(`ticket`);if(t===null||t.length===0)return;let n=!1;return d(`redeeming`),$ye(t).then(()=>{if(n)return;e.delete(`ticket`);let t=e.toString();window.history.replaceState(null,``,t.length>0?`${window.location.pathname}?${t}`:window.location.pathname),d(`idle`),l(!1)}).catch(()=>{n||(d(`failed`),l(!0))}),()=>{n=!0}},[]),(0,s.useEffect)(()=>{if(c||u===`redeeming`)return;let e=!0,t=async()=>{try{let t=await F9(`/api/agent/status`);e&&(n(t),i(!0),o(null))}catch(t){if(e){if(t instanceof N9){l(!0);return}i(!1),o(t instanceof Error?t.message:z9(`common.unknownError`))}}};t();let r=setInterval(()=>void t(),3e3);return()=>{e=!1,clearInterval(r)}},[c,u]);let p=t&&t.freeMemoryMB!==null&&t.freeMemoryMB!==void 0?t.totalMemoryMB-t.freeMemoryMB:null,m=typeof t?.memoryPercent==`number`?Math.round(t.memoryPercent):null,h=m===null?e(`dashboard.resources.unknown`):`${m}%`,g=t?.cpuPercent??0;if(u===`redeeming`)return(0,q.jsx)(`div`,{className:`min-h-screen bg-background text-foreground flex items-center justify-center p-4 text-sm text-foreground-subtle`,children:e(`dashboard.unlocking`)});if(c)return(0,q.jsx)(Ube,{hubHttpsOrigin:t?.hubHttpsOrigin??null,nodeId:t?.nodeId??null});let _=O9(t),v=!r,y=v||_===`disconnected`||_===`certificate-rejected`?pK:mK,b=v?a??e(`dashboard.unreachable`):e(_===`connected`?`dashboard.hub.connected`:_===`unconfigured`?`dashboard.hub.unconfigured`:_===`unpaired`?`dashboard.hub.unpaired`:_===`certificate-rejected`?`dashboard.hub.certificateRejected`:`dashboard.hub.disconnected`),x=v?`danger`:_===`connected`?`success`:_===`unconfigured`||_===`unpaired`?`warning`:`danger`,S=(t?.localIps??[]).filter(e=>!e.includes(`:`)).join(`, `)||`—`;return(0,q.jsx)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,q.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,q.jsxs)(p9,{icon:NG,title:t?.name??e(`dashboard.defaultName`),subtitle:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`font-mono`,children:t?.nodeId??`...`}),t?.hostname&&(0,q.jsxs)(`span`,{className:`ml-2`,children:[`· `,t.hostname]}),S!==`—`&&(0,q.jsxs)(`span`,{className:`ml-2`,children:[`· `,S]})]}),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Bbe,{productVersion:t?.productVersion,serverVersion:t?.serverVersion,appVersion:t?.appVersion}),(0,q.jsxs)(cQ,{variant:x,className:`inline-flex items-center gap-1.5 shrink-0`,children:[(0,q.jsx)(y,{className:`h-3 w-3`}),(0,q.jsx)(`span`,{className:`max-w-[8rem] sm:max-w-none truncate`,children:b})]})]}),children:[(0,q.jsx)(Q3,{headingId:`agent-overview`,title:e(`dashboard.overview.title`),icon:YU,children:(0,q.jsxs)(`div`,{className:`${G3} grid grid-cols-2 md:grid-cols-4 gap-2 sm:gap-4`,children:[(0,q.jsx)(Z9,{icon:EW,label:e(`dashboard.overview.cpu`),value:`${g}%`,tone:g>80?`danger`:`primary`}),(0,q.jsx)(Z9,{icon:rG,label:e(`dashboard.overview.memory`),value:h,tone:m!==null&&m>90?`danger`:`primary`}),(0,q.jsx)(Z9,{icon:hG,label:e(`dashboard.overview.addons`),value:String(t?.addons.length??0)}),(0,q.jsx)(Z9,{icon:vW,label:e(`dashboard.overview.uptime`),value:t?X9(t.uptime):`—`})]})}),(0,q.jsx)(J9,{status:t,onStatusRefresh:f}),(0,q.jsx)(pbe,{locked:c,onUnauthorized:()=>l(!0)}),(0,q.jsx)(Rbe,{locked:c,onUnauthorized:()=>l(!0)}),(0,q.jsx)(Hbe,{status:t}),(0,q.jsx)(Q3,{headingId:`agent-resources`,title:e(`dashboard.resources.title`),icon:BW,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-4`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`flex justify-between text-xs text-foreground-subtle mb-1`,children:[(0,q.jsx)(`span`,{children:t?.cpuModel?e(`dashboard.resources.cpuCoresModel`,{cores:t.cpuCores??0,model:t.cpuModel}):e(`dashboard.resources.cpuCores`,{cores:t?.cpuCores??0})}),(0,q.jsxs)(`span`,{children:[g,`%`]})]}),(0,q.jsx)(Q9,{value:g,max:100,tone:g>80?`danger`:`primary`})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`flex justify-between text-xs text-foreground-subtle mb-1`,children:[(0,q.jsx)(`span`,{children:p===null?e(`dashboard.resources.memoryUnknown`):e(`dashboard.resources.memory`,{used:p,total:t?.totalMemoryMB??0})}),(0,q.jsx)(`span`,{children:h})]}),(0,q.jsx)(Q9,{value:m??0,max:100,tone:m!==null&&m>90?`danger`:`primary`})]})]})}),(0,q.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4 sm:gap-6`,children:[(0,q.jsx)(Q3,{headingId:`agent-system-host`,title:e(`dashboard.host.title`),icon:NG,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-0`,children:[(0,q.jsxs)(Z3,{label:e(`dashboard.host.platform`),valueClassName:`font-mono`,children:[t?.platform,` / `,t?.arch]}),(0,q.jsx)(Z3,{label:e(`dashboard.host.hostname`),valueClassName:`font-mono`,children:t?.hostname??`—`}),(0,q.jsx)(Z3,{label:e(`dashboard.host.uptime`),valueClassName:`font-mono`,children:t?X9(t.uptime):`—`}),(0,q.jsx)(Z3,{label:e(`dashboard.host.memory`),valueClassName:`font-mono`,children:t&&p!==null?`${p} / ${t.totalMemoryMB} MB`:`—`}),(0,q.jsx)(Z3,{label:e(`dashboard.host.ipv4`),valueClassName:`font-mono`,children:S})]})}),(0,q.jsx)(Vbe,{info:t?.agentProcess})]})]})})})}rbe();var $9=document.getElementById(`root`);$9&&(0,Lce.createRoot)($9).render((0,q.jsx)(nbe,{children:(0,q.jsx)(Wbe,{})}));export{NW as C,WW as S,K as T,qY as _,Jpe as a,OG as b,spe as c,h3 as d,g3 as f,nQ as g,pQ as h,Hpe as i,Vfe as l,Hce as m,$3 as n,Gpe as o,Uce as p,Kpe as r,e6 as s,Rye as t,Ife as u,rK as v,sW as w,aG as x,YG as y};
|
|
145
|
+
`,Lve={on:`border-success bg-success/15 text-success shadow-lg shadow-success/30`,standby:`border-warning bg-warning/10 text-warning`,off:`border-border bg-surface-hover text-foreground-subtle`,unknown:`border-dashed border-border bg-transparent text-foreground-subtle`};function Rve({power:e,onPress:t,label:n,busy:r}){let i=(0,q.jsx)(q.Fragment,{children:e===`unknown`?(0,q.jsx)(gW,{className:`h-7 w-7`,"aria-hidden":`true`}):(0,q.jsx)(SG,{className:`h-7 w-7`,"aria-hidden":`true`})}),a=Z(`relative z-10 inline-flex h-16 w-16 items-center justify-center rounded-full border-2`,`transition-all duration-500 motion-reduce:transition-none`,Lve[e]);return(0,q.jsxs)(`div`,{className:`relative flex h-20 w-20 items-center justify-center`,"data-power":e,children:[e===`on`&&(0,q.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`media-power-halo`,className:`mph-halo absolute h-16 w-16 rounded-full bg-success/25`}),t===void 0?(0,q.jsx)(`span`,{className:a,"data-testid":`media-power`,role:`img`,"aria-label":n,children:i}):(0,q.jsx)(`button`,{type:`button`,"aria-label":n,title:n,disabled:r,"data-testid":`media-power`,onClick:e=>{e.stopPropagation(),r||t()},className:Z(a,`hover:brightness-110 active:scale-95`,r&&`cursor-not-allowed opacity-40`),children:i})]})}var zve=[0,1,2,3];function Bve({running:e}){return e===`playing`?(0,q.jsx)(`span`,{className:`inline-flex h-4 items-end gap-0.5 text-primary`,"data-testid":`media-running`,"data-running":`playing`,"aria-hidden":`true`,children:zve.map(e=>(0,q.jsx)(`span`,{className:`mph-eq h-4 w-1 rounded-full bg-primary`},e))}):e===`buffering`?(0,q.jsx)(ZW,{className:`h-4 w-4 animate-spin text-foreground-muted motion-reduce:animate-none`,"data-testid":`media-running`,"data-running":`buffering`,"aria-hidden":`true`}):e===`paused`?(0,q.jsx)(gG,{className:`h-4 w-4 text-foreground-muted`,"data-testid":`media-running`,"data-running":`paused`,"aria-hidden":`true`}):null}function Vve(e){return e===`playing`||e===`buffering`?`pause`:`play`}function I7(e,t){return e===null||t===null||t<=0?0:Math.min(1,Math.max(0,e/t))}function L7(e){if(e===null)return`--:--`;let t=Math.floor(e/1e3);return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}var Hve={off:`all`,all:`one`,one:`off`};function Uve({url:e}){let[t,n]=(0,s.useState)(e),[r,i]=(0,s.useState)(null),[a,o]=(0,s.useState)(null),c=(0,s.useRef)(e);return(0,s.useEffect)(()=>{if(c.current===e)return;i(c.current),n(e),c.current=e;let t=setTimeout(()=>i(null),700);return()=>clearTimeout(t)},[e]),(0,q.jsxs)(`div`,{"data-testid":`media-artwork`,className:`relative h-40 w-40 overflow-hidden rounded-lg border border-border bg-surface-hover`,children:[r!==null&&(0,q.jsx)(`img`,{src:r,alt:``,className:`mph-fade-out absolute inset-0 h-full w-full object-cover`}),t!==null&&a!==t?(0,q.jsx)(`img`,{src:t,alt:``,"data-testid":`media-artwork-img`,className:`mph-fade-in absolute inset-0 h-full w-full object-cover`,onError:()=>o(t)},t):(0,q.jsx)(fG,{className:`absolute inset-0 m-auto h-8 w-8 text-foreground-subtle`,"aria-hidden":`true`})]})}function Wve({media:e,positionMs:n}){let r=t(),i=e.progress;return(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,"data-testid":`media-now-playing`,children:[e.artworkUrl===null?(0,q.jsx)(fG,{className:`h-6 w-6 text-foreground-subtle`,"aria-hidden":`true`}):(0,q.jsx)(Uve,{url:e.artworkUrl}),(0,q.jsx)(`span`,{className:`text-base font-semibold text-foreground line-clamp-1`,"data-testid":`media-title`,children:e.title??r(`uiLibrary.mediaPlayerHero.nothing`,`Nothing playing`)}),e.subtitle!==null&&(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle line-clamp-1`,"data-testid":`media-subtitle`,children:e.subtitle}),i!==null&&(0,q.jsxs)(`div`,{className:`flex w-full flex-col gap-1`,"data-testid":`media-progress`,children:[(0,q.jsx)(C8,{readOnly:!0,fraction:I7(n??i.positionMs,i.durationMs)}),(0,q.jsxs)(`div`,{className:`flex justify-between text-[11px] tabular-nums text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:L7(n??i.positionMs)}),(0,q.jsx)(`span`,{children:L7(i.durationMs)})]})]})]})}var Gve={off:`Off`,on:`On`,idle:`Idle`,playing:`Playing`,paused:`Paused`,buffering:`Buffering`,standby:`Standby`};function Kve({state:e,source:n,running:r}){let i=t();return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2 text-xs text-foreground-muted`,"data-testid":`media-state`,children:[r,e===void 0?(0,q.jsx)(`span`,{className:`font-medium text-foreground-subtle`,"data-testid":`media-state-unknown`,children:i(`uiLibrary.mediaPlayerHero.state.unknown`,`State unknown`)}):(0,q.jsx)(`span`,{className:`font-medium text-foreground`,children:i(`uiLibrary.mediaPlayerHero.state.${e}`,Gve[e])}),n!==``&&(0,q.jsx)(`span`,{"data-testid":`media-source`,children:n})]})}function R7({label:e,busy:t,onPress:n,children:r,primary:i,active:a,testId:o}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,"aria-pressed":a,title:e,disabled:t,"data-testid":o,onClick:e=>{e.stopPropagation(),t||n()},className:Z(`inline-flex items-center justify-center rounded-full transition-colors`,i?`h-12 w-12 bg-primary text-primary-foreground hover:bg-primary/90 shadow-md`:`h-10 w-10 text-foreground-muted hover:bg-surface-hover`,a===!0&&`bg-primary/15 text-primary`,t&&`opacity-40 cursor-not-allowed`),children:r})}function z7({label:e,active:t,testId:n,children:r}){return(0,q.jsx)(`span`,{role:`img`,"aria-label":e,title:e,"data-testid":n,"data-active":t,className:Z(`inline-flex h-8 w-8 items-center justify-center rounded-full`,t?`bg-primary/15 text-primary`:`text-foreground-subtle`),children:r})}function qve({trpc:e,deviceId:n,features:r,optimistic:i}){let a=t(),{cap:o,slice:c,available:l}=v3({trpc:e,deviceId:n,cap:e=>e.mediaPlayer,slice:e=>e.state.mediaPlayer}),{display:u,applyOptimisticAction:d}=j8(c,{enabled:i??!0}),f=CH(u),[p,m]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{if(!f)return;m(Date.now());let e=setInterval(()=>m(Date.now()),1e3);return()=>clearInterval(e)},[f]);let h=_3(e,n,e=>e.runningState);if(o===void 0)return null;let g=MH(u,r,{running:h?.running}),_=!l,v=u,y=v!==void 0&&g.power===`on`,b=Vve(v?.state??`off`),x=()=>{_||(g.power===`on`?d({state:`off`},()=>o.turnOff({})):d({state:`on`},()=>o.turnOn({})))},S=Jve(g.power,a),ee=()=>{_||(b===`play`?d({state:`playing`},()=>o.play({})):d({state:`paused`},()=>o.pause({})))},C=g.nowPlaying,te=v===void 0?null:xH(v,p),ne=y&&g.source!==null&&g.source.selectable,re=!ne&&g.power!==`off`&&g.power!==`standby`&&typeof v?.source==`string`?v.source.trim():``,w=v?.volumeLevel??null;return(0,q.jsxs)(`div`,{className:Z(`flex flex-col items-stretch gap-4 rounded-lg border bg-surface p-6`,`transition-colors duration-500 motion-reduce:transition-none`,g.power===`on`?`border-success/40`:`border-border`),"data-testid":`media-hero`,"data-power":g.power,children:[(0,q.jsx)(`style`,{children:Ive}),(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,q.jsx)(Rve,{power:g.power,label:S,busy:_,onPress:g.canSwitchPower?x:void 0}),(0,q.jsx)(Kve,{state:v?.state,source:re,running:(0,q.jsx)(Bve,{running:g.running})})]}),C!==null&&(0,q.jsx)(Wve,{media:C,positionMs:te}),ne&&g.source!==null&&(0,q.jsxs)(`div`,{"data-testid":`media-source-select`,className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle`,children:a(`uiLibrary.mediaPlayerHero.source`,`Source`)}),(0,q.jsx)(nQ,{"aria-label":a(`uiLibrary.mediaPlayerHero.source`,`Source`),value:g.source.current,disabled:_,wrapperClassName:`relative min-w-0 flex-1`,options:g.source.options.map(e=>({value:e,label:e})),onChange:e=>{_||d({source:e.target.value},()=>o.selectSource({source:e.target.value}))}})]}),y&&g.seek&&v!==void 0&&(0,q.jsxs)(`div`,{"data-testid":`media-seek`,className:`flex flex-col gap-1`,children:[(0,q.jsxs)(`label`,{className:`relative block`,children:[(0,q.jsx)(`span`,{className:`sr-only`,children:a(`uiLibrary.mediaPlayerHero.seek`,`Seek`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.mediaPlayerHero.seek`,`Seek`),type:`range`,min:0,max:v.duration??0,step:1e3,className:`absolute inset-0 h-4 w-full cursor-pointer opacity-0`,value:te??0,disabled:_,onChange:e=>{if(_)return;let t=Number(e.target.value);d(SH(v,t,Date.now()),()=>o.seek({position:t}))}}),(0,q.jsx)(`div`,{className:`pointer-events-none`,children:(0,q.jsx)(C8,{fraction:I7(te,v.duration)})})]}),(0,q.jsxs)(`div`,{className:`flex justify-between text-[11px] tabular-nums text-foreground-subtle`,children:[(0,q.jsx)(`span`,{children:L7(te)}),(0,q.jsx)(`span`,{children:L7(v.duration)})]})]}),y&&g.transport.playPause&&(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-4`,"data-testid":`media-transport`,children:[g.transport.previous&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.previous`,`Previous`),busy:_,onPress:()=>void o.previous({}),children:(0,q.jsx)(HG,{className:`h-5 w-5`,"aria-hidden":`true`})}),(0,q.jsx)(R7,{label:b===`play`?a(`uiLibrary.mediaPlayerHero.play`,`Play`):a(`uiLibrary.mediaPlayerHero.pause`,`Pause`),busy:_,onPress:ee,primary:!0,children:b===`play`?(0,q.jsx)(yG,{className:`h-6 w-6`,"aria-hidden":`true`}):(0,q.jsx)(gG,{className:`h-6 w-6`,"aria-hidden":`true`})}),g.transport.stop&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.stop`,`Stop`),busy:_,onPress:()=>void o.stop({}),children:(0,q.jsx)(YG,{className:`h-4 w-4`,"aria-hidden":`true`})}),g.transport.next&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.next`,`Next`),busy:_,onPress:()=>void o.next({}),children:(0,q.jsx)(UG,{className:`h-5 w-5`,"aria-hidden":`true`})})]}),y&&g.volume===`slider`&&(0,q.jsxs)(`div`,{"data-testid":`media-volume`,className:`flex items-center gap-2`,children:[g.mute&&(0,q.jsx)(`button`,{type:`button`,"aria-label":v?.isMuted===!0?a(`uiLibrary.mediaPlayerHero.unmute`,`Unmute`):a(`uiLibrary.mediaPlayerHero.mute`,`Mute`),title:v?.isMuted===!0?a(`uiLibrary.mediaPlayerHero.unmute`,`Unmute`):a(`uiLibrary.mediaPlayerHero.mute`,`Mute`),disabled:_,onClick:e=>{if(e.stopPropagation(),_)return;let t=v?.isMuted===null||v===void 0?!0:!v.isMuted;d({isMuted:t},()=>o.setMute({muted:t}))},className:Z(`inline-flex h-7 w-7 items-center justify-center rounded text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors`,_&&`opacity-40 cursor-not-allowed`),children:v?.isMuted===!0?(0,q.jsx)(uK,{className:`h-4 w-4`,"aria-hidden":`true`}):(0,q.jsx)(lK,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,q.jsxs)(`label`,{className:`relative block flex-1`,children:[(0,q.jsx)(`span`,{className:`sr-only`,children:a(`uiLibrary.mediaPlayerHero.volume`,`Volume`)}),(0,q.jsx)(`input`,{"aria-label":a(`uiLibrary.mediaPlayerHero.volume`,`Volume`),type:`range`,min:0,max:100,step:1,className:`absolute inset-0 h-4 w-full cursor-pointer opacity-0`,value:w??0,disabled:_,onChange:e=>{if(_)return;let t=Number(e.target.value);d({volumeLevel:t},()=>o.setVolume({volumeLevel:t}))}}),(0,q.jsx)(`div`,{className:`pointer-events-none`,children:(0,q.jsx)(`div`,{className:Z(w===null&&`opacity-40`),"data-testid":`media-volume-track`,"data-known":w!==null,children:(0,q.jsx)(C8,{fraction:v?.isMuted===!0||w===null?0:w/100})})})]}),(0,q.jsx)(`span`,{className:`w-9 text-right text-[11px] tabular-nums text-foreground-subtle`,children:w===null?`—`:`${w}%`})]}),y&&g.volume===`steps`&&(0,q.jsxs)(`div`,{"data-testid":`media-volume-steps`,className:`flex items-center justify-center gap-3 text-xs text-foreground-subtle`,children:[(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.volumeDown`,`Volume down`),busy:_,onPress:()=>void o.volumeDown({steps:1}),children:(0,q.jsx)(oG,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,q.jsx)(lK,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.volumeUp`,`Volume up`),busy:_,onPress:()=>void o.volumeUp({steps:1}),children:(0,q.jsx)(bG,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),v!==void 0&&(y&&(g.shuffle||g.repeat)||g.shuffleReadOnly||g.repeatReadOnly)&&(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-2`,"data-testid":`media-modes`,children:[g.shuffleReadOnly&&v.shuffle!==null&&(0,q.jsx)(z7,{label:a(`uiLibrary.mediaPlayerHero.shuffle`,`Shuffle`),active:v.shuffle,testId:`media-shuffle-flag`,children:(0,q.jsx)(BG,{className:`h-4 w-4`,"aria-hidden":`true`})}),g.repeatReadOnly&&v.repeat!==null&&(0,q.jsx)(z7,{label:a(`uiLibrary.mediaPlayerHero.repeat`,`Repeat`),active:v.repeat!==`off`,testId:`media-repeat-flag`,children:v.repeat===`one`?(0,q.jsx)(EG,{className:`h-4 w-4`,"aria-hidden":`true`}):(0,q.jsx)(DG,{className:`h-4 w-4`,"aria-hidden":`true`})}),y&&g.shuffle&&v.shuffle!==null&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.shuffle`,`Shuffle`),busy:_,active:v.shuffle,onPress:()=>{let e=!v.shuffle;d({shuffle:e},()=>o.setShuffle({shuffle:e}))},children:(0,q.jsx)(BG,{className:`h-4 w-4`,"aria-hidden":`true`})}),y&&g.repeat&&v.repeat!==null&&(0,q.jsx)(R7,{label:a(`uiLibrary.mediaPlayerHero.repeat`,`Repeat`),busy:_,active:v.repeat!==`off`,onPress:()=>{if(v.repeat===null)return;let e=Hve[v.repeat];d({repeat:e},()=>o.setRepeat({repeat:e}))},children:v.repeat===`one`?(0,q.jsx)(EG,{className:`h-4 w-4`,"aria-hidden":`true`}):(0,q.jsx)(DG,{className:`h-4 w-4`,"aria-hidden":`true`})})]})]})}function Jve(e,t){return e===`on`?t(`uiLibrary.mediaPlayerHero.turnOff`,`Turn off`):e===`unknown`?t(`uiLibrary.mediaPlayerHero.powerUnknown`,`Power state unknown`):t(`uiLibrary.mediaPlayerHero.turnOn`,`Turn on`)}var B7={disarmed:{colorClass:`border-border bg-surface-subtle text-foreground-subtle`,icon:`disarmed`},armed_home:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},armed_away:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},armed_night:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},armed_vacation:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},armed_custom_bypass:{colorClass:`border-success/30 bg-success/10 text-success`,icon:`armed`},arming:{colorClass:`border-warning/30 bg-warning/10 text-warning`,icon:`pending`},disarming:{colorClass:`border-warning/30 bg-warning/10 text-warning`,icon:`pending`},pending:{colorClass:`border-warning/30 bg-warning/10 text-warning`,icon:`pending`},triggered:{colorClass:`border-danger/30 bg-danger/10 text-danger`,icon:`triggered`}};function V7(e,t){switch(e){case`home`:return t(`uiLibrary.alarmHeroCard.modeHome`,`Home`);case`away`:return t(`uiLibrary.alarmHeroCard.modeAway`,`Away`);case`night`:return t(`uiLibrary.alarmHeroCard.modeNight`,`Night`);case`vacation`:return t(`uiLibrary.alarmHeroCard.modeVacation`,`Vacation`);case`custom_bypass`:return t(`uiLibrary.alarmHeroCard.modeBypass`,`Bypass`)}}function H7(e,t){switch(e){case`disarmed`:return t(`uiLibrary.alarmHeroCard.stateDisarmed`,`Disarmed`);case`armed_home`:return t(`uiLibrary.alarmHeroCard.stateArmedHome`,`Armed Home`);case`armed_away`:return t(`uiLibrary.alarmHeroCard.stateArmedAway`,`Armed Away`);case`armed_night`:return t(`uiLibrary.alarmHeroCard.stateArmedNight`,`Armed Night`);case`armed_vacation`:return t(`uiLibrary.alarmHeroCard.stateArmedVacation`,`Armed Vacation`);case`armed_custom_bypass`:return t(`uiLibrary.alarmHeroCard.stateArmedBypass`,`Armed (Bypass)`);case`arming`:return t(`uiLibrary.alarmHeroCard.stateArming`,`Arming…`);case`disarming`:return t(`uiLibrary.alarmHeroCard.stateDisarming`,`Disarming…`);case`pending`:return t(`uiLibrary.alarmHeroCard.statePending`,`Pending`);case`triggered`:return t(`uiLibrary.alarmHeroCard.stateTriggered`,`Triggered`)}}function U7(e){return e.startsWith(`armed_`)}function W7(e){return e===`arming`||e===`disarming`}function G7({icon:e,sizeClass:t=`h-8 w-8`}){return e===`disarmed`?(0,q.jsx)(LG,{className:t,"aria-hidden":`true`}):e===`triggered`?(0,q.jsx)(FG,{className:t,"aria-hidden":`true`}):e===`pending`?(0,q.jsx)(zG,{className:t,"aria-hidden":`true`}):(0,q.jsx)(IG,{className:t,"aria-hidden":`true`})}function K7({label:e,active:t,busy:n,onSelect:r}){return(0,q.jsx)(`button`,{type:`button`,"aria-label":e,"aria-pressed":t,disabled:n,onClick:e=>{e.stopPropagation(),n||r()},className:Z(`flex-1 rounded-md px-3 py-2 text-sm font-medium transition-colors`,t?`bg-primary text-primary-foreground shadow-sm`:`text-foreground-muted hover:bg-surface-hover`,n&&`opacity-40 cursor-not-allowed`),children:e})}function Yve({state:e,availableModes:n,busy:r,onDisarm:i,onArm:a}){let o=t(),s=U7(e),c=W7(e);return(0,q.jsxs)(`div`,{className:Z(`flex min-w-0 items-stretch gap-1 rounded-lg border border-border bg-surface-subtle p-1`),children:[(0,q.jsx)(K7,{label:o(`uiLibrary.alarmHeroCard.disarm`,`Disarm`),active:!s&&!c,busy:r,onSelect:i}),n.map(t=>(0,q.jsx)(K7,{label:V7(t,o),active:!c&&e===`armed_${t}`,busy:r,onSelect:()=>a(t)},t))]})}function q7(e){return e instanceof Error?e.message:String(e)}function J7(e,t,n){let{cap:r,slice:i,available:a}=v3({trpc:e,deviceId:t,cap:e=>e.alarmPanel,slice:e=>e.state.alarmPanel}),{display:o,applyOptimistic:c,rollback:l}=j8(i,{enabled:n??!0}),[u,d]=(0,s.useState)(null),f=()=>d(null),p=(0,s.useRef)(0);(0,s.useEffect)(()=>{d(null)},[i]);let m=!a;return{display:o,capPresent:r!==void 0,busy:m,handleDisarm:()=>{if(r===void 0||m)return;let e=++p.current;c({state:`disarming`}),r.disarm({}).catch(t=>{p.current===e&&(l(),d(q7(t)))})},handleArm:e=>{if(r===void 0||m)return;let t=++p.current;c({state:`arming`}),r.arm({mode:e}).catch(e=>{p.current===t&&(l(),d(q7(e)))})},error:u,clearError:f}}function Xve({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,handleDisarm:c,handleArm:l,error:u}=J7(e,n,r);if(!o||a===void 0)return null;let d=B7[a.state],f=U7(a.state)?a.state.replace(`armed_`,``):``;return(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsxs)(`span`,{className:Z(`inline-flex shrink-0 items-center gap-1 rounded-md border px-1.5 py-0.5 text-[11px] font-medium whitespace-nowrap`,d.colorClass,W7(a.state)&&`animate-pulse`),children:[(0,q.jsx)(G7,{icon:d.icon,sizeClass:`h-3 w-3`}),H7(a.state,i)]}),(0,q.jsxs)(nQ,{"aria-label":i(`uiLibrary.alarmHeroCard.alarmMode`,`Alarm mode`),disabled:s,value:f,onClick:e=>e.stopPropagation(),onChange:e=>{e.stopPropagation();let t=e.target.value;t===``?c():l(t)},className:Z(`min-w-0 shrink rounded-md border border-border bg-surface-subtle px-1.5 py-0.5 text-xs text-foreground-muted`,s&&`cursor-not-allowed opacity-40`),children:[(0,q.jsx)(`option`,{value:``,children:i(`uiLibrary.alarmHeroCard.disarm`,`Disarm`)}),a.availableModes.map(e=>(0,q.jsx)(`option`,{value:e,children:V7(e,i)},e))]}),u!==null&&(0,q.jsx)(`span`,{"data-testid":`alarm-inline-error`,role:`alert`,title:u,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full bg-danger/10 text-danger`,children:(0,q.jsx)(FG,{className:`h-3 w-3`,"aria-hidden":`true`})})]})}function Zve({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,handleDisarm:c,handleArm:l,error:u,clearError:d}=J7(e,n,r);if(!o||a===void 0)return null;let f=B7[a.state];return(0,q.jsxs)(`div`,{className:`flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,q.jsx)(`div`,{"data-testid":`alarm-state`,"data-state":a.state,className:Z(`flex h-16 w-16 items-center justify-center rounded-full border-2`,f.colorClass,W7(a.state)&&`animate-pulse`),children:(0,q.jsx)(G7,{icon:f.icon})}),(0,q.jsx)(`span`,{className:Z(`text-sm font-medium`,f.colorClass,`border-0 bg-transparent`),children:H7(a.state,i)})]}),(0,q.jsx)(Yve,{state:a.state,availableModes:a.availableModes,busy:s,onDisarm:c,onArm:l}),u!==null&&(0,q.jsxs)(`div`,{"data-testid":`alarm-error`,role:`alert`,className:`flex items-start justify-between gap-2 rounded-md border border-danger/30 bg-danger/10 px-3 py-2 text-sm text-danger`,children:[(0,q.jsx)(`span`,{children:u}),(0,q.jsx)(`button`,{type:`button`,"aria-label":i(`uiLibrary.alarmHeroCard.dismiss`,`Dismiss`),onClick:e=>{e.stopPropagation(),d()},className:`shrink-0 font-medium text-danger/80 hover:text-danger`,children:`×`})]})]})}function Qve(e,t,n=i){if(e<=0)return null;let r=Math.max(0,Math.round((t-e)/1e3));return r<60?n(`uiLibrary.scriptAutomationControls.justNow`,`just now`):r<3600?n(`uiLibrary.scriptAutomationControls.minAgo`,`{{count}} min ago`,{count:Math.floor(r/60)}):r<86400?n(`uiLibrary.scriptAutomationControls.hAgo`,`{{count}} h ago`,{count:Math.floor(r/3600)}):new Date(e).toLocaleDateString()}function Y7({atMs:e,neverLabel:n}){let r=t(),i=Qve(e,Date.now(),r);return(0,q.jsx)(`span`,{className:`text-xs text-foreground-subtle`,"data-testid":`last-run`,children:i===null?n:i})}function X7({error:e}){return e===null||e===``?null:(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs text-danger`,title:e,"data-testid":`last-error`,children:[(0,q.jsx)(iK,{className:`h-3 w-3 shrink-0`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`truncate`,children:e})]})}function Z7(e,t,n){let{cap:r,slice:i,available:a}=v3({trpc:e,deviceId:t,cap:e=>e.scriptRunner,slice:e=>e.state.scriptRunner}),{display:o,applyOptimisticAction:s}=j8(i,{enabled:n??!0}),c=!a,l=o?.isRunning===!0;return{display:o,capPresent:r!==void 0,busy:c,running:l,run:()=>{r===void 0||c||l||s({isRunning:!0},()=>r.run({}))},stop:()=>{r===void 0||c||!l||s({isRunning:!1},()=>r.stop({}))}}}function Q7({running:e,busy:n,large:r,onRun:i,onStop:a}){let o=t(),s=e?o(`uiLibrary.scriptAutomationControls.stop`,`Stop`):o(`uiLibrary.scriptAutomationControls.run`,`Run`);return(0,q.jsxs)(`button`,{type:`button`,"aria-label":s,title:s,disabled:n,"data-testid":`script-run`,"data-running":e?`true`:`false`,onClick:t=>{t.stopPropagation(),e?a():i()},className:Z(`inline-flex items-center gap-1 rounded transition-colors`,r?`h-10 px-4 text-sm`:`h-5 px-1.5 text-xs`,e?`bg-danger text-danger-foreground hover:bg-danger/90`:`bg-primary text-primary-foreground hover:bg-primary/90`,n&&`cursor-not-allowed opacity-40`),children:[e?(0,q.jsx)(_W,{className:r?`h-4 w-4`:`h-3 w-3`,"aria-hidden":`true`}):(0,q.jsx)(yG,{className:r?`h-4 w-4`:`h-3 w-3`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:s})]})}function $ve({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,running:c,run:l,stop:u}=Z7(e,n,r);return!o||a===void 0?null:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(Q7,{running:c,busy:s,large:!1,onRun:l,onStop:u}),(0,q.jsx)(Y7,{atMs:a.lastRunAt,neverLabel:i(`uiLibrary.scriptAutomationControls.neverRun`,`never run`)})]})}function eye({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,running:c,run:l,stop:u}=Z7(e,n,r);return!o||a===void 0?null:(0,q.jsxs)(`div`,{className:`flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,q.jsx)(`div`,{"data-testid":`script-state`,"data-running":c?`true`:`false`,className:Z(`flex h-16 w-16 items-center justify-center rounded-full border-2`,c?`border-primary text-primary animate-pulse`:`border-border text-foreground-subtle`),children:(0,q.jsx)(yG,{className:`h-8 w-8`,"aria-hidden":`true`})}),(0,q.jsx)(`span`,{className:`text-sm font-medium`,children:c?i(`uiLibrary.scriptAutomationControls.running`,`Running`):i(`uiLibrary.scriptAutomationControls.idle`,`Idle`)}),(0,q.jsx)(Y7,{atMs:a.lastRunAt,neverLabel:i(`uiLibrary.scriptAutomationControls.neverRun`,`never run`)}),(0,q.jsx)(X7,{error:a.lastError})]}),(0,q.jsx)(`div`,{className:`flex justify-center`,children:(0,q.jsx)(Q7,{running:c,busy:s,large:!0,onRun:l,onStop:u})})]})}function $7(e,t,n){let{cap:r,slice:i,available:a}=v3({trpc:e,deviceId:t,cap:e=>e.automationControl,slice:e=>e.state.automationControl}),{display:o,applyOptimisticAction:s}=j8(i,{enabled:n??!0}),c=!a;return{display:o,capPresent:r!==void 0,busy:c,setEnabled:e=>{r===void 0||c||s({enabled:e},()=>e?r.enable({}):r.disable({}))},trigger:()=>{r===void 0||c||r.trigger({})}}}function e9({enabled:e,busy:n,onToggle:r}){let i=t();return(0,q.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":i(`uiLibrary.scriptAutomationControls.automationEnabled`,`Automation enabled`),disabled:n,"data-testid":`automation-enabled`,onClick:t=>{t.stopPropagation(),r(!e)},className:Z(`inline-flex shrink-0 items-center gap-1 rounded-md border px-1.5 py-0.5`,`text-[11px] font-medium whitespace-nowrap transition-colors`,e?`border-success/40 bg-success/10 text-success`:`border-border bg-surface-subtle text-foreground-subtle`,n&&`cursor-not-allowed opacity-40`),children:e?i(`uiLibrary.scriptAutomationControls.enabled`,`Enabled`):i(`uiLibrary.scriptAutomationControls.disabled`,`Disabled`)})}function t9({busy:e,large:n,onTrigger:r}){let i=t();return(0,q.jsxs)(`button`,{type:`button`,"aria-label":i(`uiLibrary.scriptAutomationControls.trigger`,`Trigger`),title:i(`uiLibrary.scriptAutomationControls.runNow`,`Run this automation now`),disabled:e,"data-testid":`automation-trigger`,onClick:e=>{e.stopPropagation(),r()},className:Z(`inline-flex items-center gap-1 rounded transition-colors`,n?`h-10 px-4 text-sm`:`h-5 px-1.5 text-xs`,`bg-primary text-primary-foreground hover:bg-primary/90`,e&&`cursor-not-allowed opacity-40`),children:[(0,q.jsx)(vK,{className:n?`h-4 w-4`:`h-3 w-3`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(`uiLibrary.scriptAutomationControls.trigger`,`Trigger`)})]})}function tye({trpc:e,deviceId:t,optimistic:n}){let{display:r,capPresent:i,busy:a,setEnabled:o,trigger:s}=$7(e,t,n);return!i||r===void 0?null:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(e9,{enabled:r.enabled,busy:a,onToggle:o}),(0,q.jsx)(t9,{busy:a,large:!1,onTrigger:s})]})}function nye({trpc:e,deviceId:n,optimistic:r}){let i=t(),{display:a,capPresent:o,busy:s,setEnabled:c,trigger:l}=$7(e,n,r);return!o||a===void 0?null:(0,q.jsxs)(`div`,{className:`flex flex-col items-stretch gap-4 rounded-lg border border-border bg-surface p-6`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,q.jsx)(`div`,{"data-testid":`automation-state`,"data-enabled":a.enabled?`true`:`false`,className:Z(`flex h-16 w-16 items-center justify-center rounded-full border-2`,a.enabled?`border-success text-success`:`border-border text-foreground-subtle`),children:(0,q.jsx)(vK,{className:`h-8 w-8`,"aria-hidden":`true`})}),(0,q.jsx)(`span`,{className:`text-sm font-medium`,children:a.enabled?i(`uiLibrary.scriptAutomationControls.enabled`,`Enabled`):i(`uiLibrary.scriptAutomationControls.disabled`,`Disabled`)}),(0,q.jsx)(Y7,{atMs:a.lastTriggeredAt,neverLabel:i(`uiLibrary.scriptAutomationControls.neverTriggered`,`never triggered`)}),(0,q.jsx)(X7,{error:a.lastError})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-3`,children:[(0,q.jsx)(e9,{enabled:a.enabled,busy:s,onToggle:c}),(0,q.jsx)(t9,{busy:s,large:!0,onTrigger:l})]})]})}function rye({children:e}){return(0,q.jsx)(`div`,{className:`flex flex-col items-stretch gap-3 rounded-lg border border-border bg-surface p-4`,children:e})}function n9(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.switch,slice:e=>e.state.switch});return n!==void 0}function iye({trpc:e,deviceId:t,features:n,optimistic:r}){return n9(e,t)?(0,q.jsx)(M8,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function aye(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.lockControl,slice:e=>e.state.lockControl});return n!==void 0}function oye({trpc:e,deviceId:t,features:n,optimistic:r}){return aye(e,t)?(0,q.jsx)(Ehe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function sye({trpc:e,deviceId:t,features:n,optimistic:r}){return n9(e,t)?(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-2`,children:[(0,q.jsx)(M8,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}),(0,q.jsx)(Dhe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r})]}):null}function cye(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.fanControl,slice:e=>e.state.fanControl});return n!==void 0}function lye({trpc:e,deviceId:t,features:n,optimistic:r}){return cye(e,t)?(0,q.jsxs)(`div`,{className:`inline-flex items-center gap-2`,children:[(0,q.jsx)(M8,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}),(0,q.jsx)(Ohe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r})]}):null}function r9(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.climateControl,slice:e=>e.state.climateControl});return n!==void 0}function uye(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.heatingValve,slice:e=>e.state.heatingValve});return n!==void 0}function dye({trpc:e,deviceId:t,features:n,optimistic:r}){let i=r9(e,t),a=uye(e,t);return!i&&!a?null:(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[i?(0,q.jsx)(Nhe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null,a?(0,q.jsx)(S7,{trpc:e,deviceId:t,layout:`compact`}):null]})}function fye({trpc:e,deviceId:t,features:n,optimistic:r}){return r9(e,t)?(0,q.jsx)(c7,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function pye({trpc:e,deviceId:t,features:n,optimistic:r}){return r9(e,t)?(0,q.jsx)(c7,{trpc:e,deviceId:t,features:n,layout:`full`,optimistic:r}):null}function mye(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.mediaPlayer,slice:e=>e.state.mediaPlayer});return n!==void 0}function hye({trpc:e,deviceId:t,features:n,optimistic:r}){return mye(e,t)?(0,q.jsx)(zhe,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function i9(e,t){let{cap:n}=v3({trpc:e,deviceId:t,cap:e=>e.control,slice:e=>e.state.control});return n!==void 0}function gye({trpc:e,deviceId:t,features:n,optimistic:r}){return i9(e,t)?(0,q.jsx)(K8,{trpc:e,deviceId:t,features:n,layout:`compact`,optimistic:r}):null}function _ye({trpc:e,deviceId:t,features:n,optimistic:r}){return i9(e,t)?(0,q.jsx)(rye,{children:(0,q.jsx)(K8,{trpc:e,deviceId:t,features:n,layout:`full`,optimistic:r})}):null}var vye={cover:{InlineControl:sge,HeroCard:uge},valve:{InlineControl:Wge,HeroCard:Jge},humidifier:{InlineControl:Xge,HeroCard:Qge},"water-heater":{InlineControl:t_e,HeroCard:r_e},switch:{InlineControl:iye,HeroCard:Fve},light:{InlineControl:sye,HeroCard:jve},fan:{InlineControl:lye,HeroCard:Pve},sensor:{InlineControl:mge,HeroCard:Tge},thermostat:{InlineControl:dye,HeroCard:gve},climate:{InlineControl:fye,HeroCard:pye},button:{InlineControl:xhe,HeroCard:She},update:{InlineControl:Ege,HeroCard:Dge},lock:{InlineControl:oye,HeroCard:Tve},"media-player":{InlineControl:hye,HeroCard:qve},alarm:{InlineControl:Xve,HeroCard:Zve},control:{InlineControl:gye,HeroCard:_ye},weather:{InlineControl:a_e,HeroCard:c_e},vacuum:{InlineControl:Mge,HeroCard:Nge},"lawn-mower":{InlineControl:Vge,HeroCard:Hge},image:{InlineControl:l_e,HeroCard:u_e},"pet-feeder":{InlineControl:b_e,HeroCard:x_e},"pet-fountain":{InlineControl:P_e,HeroCard:F_e},heater:{InlineControl:X_e,HeroCard:Z_e},dishwasher:{InlineControl:ive,HeroCard:ave},appliance:{InlineControl:dve,HeroCard:uve},script:{InlineControl:$ve,HeroCard:eye},automation:{InlineControl:tye,HeroCard:nye},dummy:{InlineControl:dge,HeroCard:fge}};Object.fromEntries(Object.values(f).map(e=>[e,vye[bH[e]]])),f.Cover,f.Valve,f.Thermostat,f.Climate,f.Control,f.Button,f.MediaPlayer,f.AlarmPanel,f.Lock,f.Vacuum,f.LawnMower,f.Humidifier,f.Switch,f.Siren,f.Light,f.Fan,f.WaterHeater,f.Sensor,f.Presence,f.EventEmitter,f.Notifier,f.Script,f.Automation,f.Camera,f.Hub,f.Update,f.Generic,f.Weather,f.Container,f.Gateway,f.Image,f.PetFeeder,f.PetFountain,f.Heater,f.Dishwasher,f.Washer,f.Dryer,new Set(Object.values(f));var a9=1e3;24*(60*a9*60),30*a9,(0,s.createContext)(null),new Set([f.Sensor,f.Presence]),(0,s.createContext)({}),Object.freeze([]),GY(`camstack:device-quick-detail`,null),P({id:O(),name:O()}),P({id:k(),stableId:O(),addonId:O(),type:O(),name:O(),online:A(),disabled:A(),parentDeviceId:k().nullable(),role:O().nullable().optional(),integrationId:O().nullable().optional(),features:N(O()).optional(),isCamera:A().optional()}),P({id:O(),addonId:O(),name:O()});function o9(e){return e.deviceKey===void 0?e.agentNodeId:`${e.agentNodeId}::${e.deviceKey}`}function s9(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&e.agentNodeId===n.agentNodeId){let r=[...e.columns,n];t[t.length-1]={...e,columns:r,grouped:r.length>1}}else t.push({agentNodeId:n.agentNodeId,engineLabel:n.engineLabel,columns:[n],grouped:!1})}return t}function yye(e){let t=[],n=(e,r)=>{for(let i of e)t.push({node:i,depth:r}),n(i.children,r+1)};return n(e,0),t}function bye(e,t,n,r=208,i=t){return e<=0?!1:t<=1?e<n+r*i:e<n+r*2}var c9={detector:{labelKey:`uiLibrary.pipelineMatrix.slotDetector`,labelFallback:`detector`,className:`text-emerald-500`},cropper:{labelKey:`uiLibrary.pipelineMatrix.slotCropper`,labelFallback:`cropper`,className:`text-blue-500`},classifier:{labelKey:`uiLibrary.pipelineMatrix.slotClassifier`,labelFallback:`classifier`,className:`text-violet-500`},refiner:{labelKey:`uiLibrary.pipelineMatrix.slotRefiner`,labelFallback:`refiner`,className:`text-amber-500`},"audio-classifier":{labelKey:`uiLibrary.pipelineMatrix.slotAudioClassifier`,labelFallback:`audio classifier`,className:`text-pink-500`}};function xye({slot:e}){let n=t(),r=c9[e]??c9.classifier;return(0,q.jsx)(`span`,{className:Z(`text-[9px] font-semibold uppercase tracking-widest leading-none`,r.className),children:n(r.labelKey,r.labelFallback)})}var l9=`inline-flex items-center rounded bg-muted px-1.5 py-px text-[9px] font-medium text-foreground-subtle`;function Sye({inputs:e,outputs:t}){return e.length===0&&t.length===0?null:(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 flex-wrap`,children:[e.map(e=>(0,q.jsx)(`span`,{className:Z(l9,`bg-blue-500/10 text-blue-500`),children:e},`in-${e}`)),e.length>0&&t.length>0&&(0,q.jsx)(`span`,{className:`text-foreground-subtle/60 text-[9px]`,children:`→`}),t.map(e=>(0,q.jsx)(`span`,{className:Z(l9,`bg-emerald-500/10 text-emerald-500`),children:e},`out-${e}`))]})}function u9({column:e}){let n=t(),r=e.deviceLabel??e.deviceKey;return(0,q.jsxs)(q.Fragment,{children:[(r!==void 0||e.disabled===!0)&&(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[r!==void 0&&(0,q.jsx)(`span`,{className:`truncate text-[10px] font-medium text-foreground/90`,children:r}),e.disabled===!0&&(0,q.jsx)(`span`,{className:`shrink-0 rounded bg-muted px-1 text-[8px] font-semibold uppercase text-foreground-subtle`,children:n(`uiLibrary.pipelineMatrixShared.offWord`,`off`)})]}),(0,q.jsx)(`div`,{className:`truncate text-[9px] text-foreground-subtle`,children:e.engineLabel}),e.detail!==void 0&&(0,q.jsx)(`div`,{className:`truncate font-mono text-[9px] text-foreground-subtle`,title:e.detail,children:e.detail})]})}function Cye({group:e}){let t=e.columns[0]?.nodeLabel??e.agentNodeId;return(0,q.jsxs)(`div`,{role:`columnheader`,className:`sticky top-0 z-10 min-w-0 border-b border-l border-border bg-muted/60`,style:{gridColumn:`span ${e.columns.length}`},children:[(0,q.jsx)(`div`,{className:`truncate px-3 pt-2 pb-1 text-xs font-semibold text-foreground`,children:t}),(0,q.jsx)(`div`,{className:`mt-1 flex border-t border-border/50`,children:e.columns.map((e,t)=>(0,q.jsx)(`div`,{className:Z(`min-w-0 flex-1 px-3 py-1`,t>0&&`border-l border-border/50`,e.disabled===!0&&`opacity-70`),title:`${e.deviceLabel??e.deviceKey} · ${e.engineLabel}${e.detail?` · ${e.detail}`:``}`,children:(0,q.jsx)(u9,{column:e})},o9(e)))})]})}function wye({node:e}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0 flex-1`,children:[(0,q.jsx)(xye,{slot:e.slot}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,q.jsx)(`span`,{className:`font-semibold truncate`,children:e.addonName}),(0,q.jsx)(Sye,{inputs:e.inputClasses,outputs:e.outputClasses})]})]})}function Tye(e,t){return t.kind===`enabled`?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,title:t.overridden?e(`uiLibrary.pipelineMatrix.override`,`override`):void 0,children:[(0,q.jsx)(`span`,{className:Z(`h-1.5 w-1.5 rounded-full shrink-0`,t.overridden?`bg-amber-500`:`bg-emerald-500`)}),(0,q.jsx)(`span`,{className:`font-mono text-foreground truncate`,children:t.modelId}),t.suppliedByRoot!==void 0&&(0,q.jsx)(`span`,{className:`ml-auto shrink-0 truncate rounded bg-primary/10 px-1 text-[8px] font-semibold uppercase text-primary`,title:e(`uiLibrary.pipelineMatrix.rootModelTitle`,`Uses the root model {{model}} — this step's own model does not run here`,{model:t.suppliedByRoot}),children:e(`uiLibrary.pipelineMatrix.root`,`root`)}),t.clusterWide===!0&&(0,q.jsx)(`span`,{className:`ml-auto shrink-0 text-[8px] font-semibold uppercase text-primary`,title:e(`uiLibrary.pipelineMatrix.clusterTitle`,`One value for the whole cluster — this step writes into a shared vector index`),children:e(`uiLibrary.pipelineMatrix.cluster`,`cluster`)}),t.jumpTo!==void 0&&(0,q.jsxs)(`span`,{className:`ml-auto shrink-0 text-[8px] font-semibold text-sky-500`,title:e(`uiLibrary.pipelineMatrix.runsOn`,`runs on {{target}}`,{target:t.jumpTo}),children:[`→ `,t.jumpTo]}),t.overridden&&t.jumpTo===void 0&&(0,q.jsx)(`span`,{className:`ml-auto shrink-0 text-[8px] font-semibold uppercase text-amber-500`,children:e(`uiLibrary.pipelineMatrix.ovr`,`ovr`)})]}):t.kind===`disabled`?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-foreground-subtle`,title:t.overridden?e(`uiLibrary.pipelineMatrix.override`,`override`):void 0,children:[(0,q.jsx)(`span`,{className:Z(`h-1.5 w-1.5 rounded-full shrink-0`,t.overridden?`bg-amber-500`:`border border-foreground-subtle/60`)}),(0,q.jsx)(`span`,{className:`truncate`,children:e(`uiLibrary.pipelineMatrix.off`,`off`)}),t.overridden&&(0,q.jsx)(`span`,{className:`ml-auto shrink-0 text-[8px] font-semibold uppercase text-amber-500`,children:e(`uiLibrary.pipelineMatrix.ovr`,`ovr`)})]}):t.kind===`skip`?t.jumpTo===void 0?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-amber-500`,title:e(`uiLibrary.pipelineMatrix.skipTitle`,`Gated on for this camera, but no compatible model on this node — click to provision`),children:[(0,q.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-amber-500 shrink-0`}),(0,q.jsx)(`span`,{className:`truncate font-medium`,children:e(`uiLibrary.pipelineMatrix.skip`,`⚠ skip`)})]}):(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-sky-500`,title:e(`uiLibrary.pipelineMatrix.autoJump`,`no build for this device — auto-jumps to {{target}}`,{target:t.jumpTo}),children:[(0,q.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-sky-500 shrink-0`}),(0,q.jsxs)(`span`,{className:`truncate font-medium`,children:[`→ `,t.jumpTo]})]}):(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-foreground-subtle/70`,children:[(0,q.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-muted shrink-0`}),(0,q.jsx)(`span`,{className:`truncate`,children:`—`})]})}function Eye(e,t,n){return Z(`text-left text-xs hover:bg-muted/40`,e.kind===`enabled`&&`bg-emerald-500/5`,e.kind===`skip`&&`bg-amber-500/5`,e.kind===`na`&&`bg-muted/30`,t&&`ring-2 ring-primary ring-inset`,n)}var d9=18,Dye=d9*16,Oye=11;function kye(e,t,n,r){let i=(e,t)=>({r:Math.max(0,Math.min(n-1,e)),c:Math.max(0,Math.min(r-1,t))});switch(e){case`ArrowRight`:return i(t.r,t.c+1);case`ArrowLeft`:return i(t.r,t.c-1);case`ArrowDown`:return i(t.r+1,t.c);case`ArrowUp`:return i(t.r-1,t.c);case`Home`:return i(t.r,0);case`End`:return i(t.r,r-1);case`PageDown`:return i(n-1,t.c);case`PageUp`:return i(0,t.c);default:return null}}function Aye({node:e,depth:t,r:n,tabbable:r,selected:i,badge:a,onClick:o,sticky:s}){return(0,q.jsx)(`div`,{role:`rowheader`,className:Z(`min-w-0 border-b border-border bg-surface`,s&&`sticky left-0 z-10`),children:(0,q.jsxs)(`button`,{type:`button`,"data-r":n,"data-c":0,"data-step":e.addonId,"data-col":``,tabIndex:r?0:-1,"aria-current":i?`true`:void 0,onClick:o?e=>o(e.detail===0):void 0,className:Z(`flex h-full w-full min-w-0 items-start gap-2 px-3 py-2 text-left text-xs outline-none`,`hover:bg-muted/40 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`,i&&`bg-primary/10 shadow-[inset_3px_0_0_var(--color-primary)]`),style:{paddingLeft:`${12+t*14}px`},children:[(0,q.jsx)(wye,{node:e}),a]})})}function jye({nodes:e,selected:n,onSelect:r}){let i=t();return(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,role:`tablist`,"aria-label":i(`uiLibrary.deviceStepMatrix.node`,`Node`),children:[(0,q.jsx)(NG,{className:`h-3.5 w-3.5 text-foreground-subtle`}),(0,q.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-foreground-subtle`,children:i(`uiLibrary.deviceStepMatrix.node`,`Node`)}),(0,q.jsx)(`div`,{className:`flex overflow-hidden rounded-md border border-border text-[11px] font-medium`,children:e.map((e,t)=>{let i=e.agentNodeId===n;return(0,q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":i,onClick:()=>r(e.agentNodeId),title:`${e.columns[0]?.nodeLabel??e.agentNodeId} · ${e.engineLabel}`,className:Z(`px-2.5 py-1 transition-colors`,i?`bg-primary/15 text-primary`:`bg-transparent text-foreground-subtle hover:bg-surface-hover hover:text-foreground`,t>0&&`border-l border-border`),children:e.columns[0]?.nodeLabel??e.agentNodeId},e.agentNodeId)})})]})}var Mye=(0,s.forwardRef)(function({tree:e,agents:n,getCellState:r,onCellClick:i,onStepClick:a,stepBadge:o,selectedCell:c,single:l,reserveRightPx:u,label:d},f){let p=t(),m=(0,s.useMemo)(()=>yye(e),[e]),h=(0,s.useMemo)(()=>s9(n),[n]),g=(0,s.useRef)(null),_=l?Oye:d9,v=`${_}rem repeat(${n.length}, 13rem)`,y=n.length+1,[b,x]=(0,s.useState)(!0);(0,s.useLayoutEffect)(()=>{let e=g.current;if(!e||u<=0){x(!0);return}let t=()=>{let t=e.getBoundingClientRect().left;x(window.innerWidth-u-t>=_*16+208+24)};return t(),window.addEventListener(`resize`,t),()=>window.removeEventListener(`resize`,t)},[u,_]);let S=(0,s.useMemo)(()=>{if(c===null)return null;let e=m.findIndex(e=>e.node.addonId===c.addonId);if(e<0)return null;let t=n.findIndex(e=>o9(e)===o9(c));return{r:e,c:t<0?0:t+1}},[c,m,n]),[ee,C]=(0,s.useState)({r:0,c:0});(0,s.useEffect)(()=>{S!==null&&C(S)},[S]);let te=ee.r<m.length&&ee.c<y?ee:{r:0,c:0},ne=(e,t)=>{g.current?.querySelector(`[data-r="${e}"][data-c="${t}"]`)?.focus()};return(0,s.useImperativeHandle)(f,()=>({focusCell:(e,t)=>{let r=m.findIndex(t=>t.node.addonId===e);if(r<0)return;let i=t===null?-1:n.findIndex(e=>o9(e)===t),a=i<0?0:i+1;C({r,c:a}),ne(r,a)}}),[m,n]),(0,s.useLayoutEffect)(()=>{if(S===null)return;let e=g.current,t=e?.querySelector(`[data-r="${S.r}"][data-c="${S.c}"]`);if(!e||!t||(typeof t.scrollIntoView==`function`&&t.scrollIntoView({block:`nearest`,inline:`nearest`}),u<=0))return;let n=window.innerWidth-u-12,r=t.getBoundingClientRect().right;r>n&&(e.scrollLeft+=r-n)},[S,u,b]),(0,q.jsx)(`div`,{ref:g,className:`overflow-auto rounded border border-border`,children:(0,q.jsxs)(`div`,{className:`flex w-max`,children:[(0,q.jsxs)(`div`,{role:`grid`,"aria-label":d,"aria-rowcount":m.length+1,className:`grid w-max`,style:{gridTemplateColumns:v},onKeyDown:e=>{if(!(e.target instanceof HTMLElement)||e.target.dataset.r===void 0)return;let t={r:Number(e.target.dataset.r),c:Number(e.target.dataset.c)},n=kye(e.key,t,m.length,y);n!==null&&(e.preventDefault(),C(n),ne(n.r,n.c))},children:[(0,q.jsxs)(`div`,{role:`row`,className:`contents`,children:[(0,q.jsx)(`div`,{role:`columnheader`,className:Z(`top-0 z-20 border-b border-border bg-muted/60 px-3 py-2 text-[10px] uppercase tracking-widest text-foreground-subtle`,b?`sticky left-0`:`sticky`),children:p(`uiLibrary.deviceStepMatrix.step`,`Step`)}),h.map(e=>e.grouped?(0,q.jsx)(Cye,{group:e},e.agentNodeId):e.columns.map(e=>(0,q.jsxs)(`div`,{role:`columnheader`,className:Z(`sticky top-0 z-10 min-w-0 border-b border-l border-border bg-muted/60 px-3 py-2`,e.disabled===!0&&`opacity-70`),children:[(0,q.jsx)(`div`,{className:`truncate text-xs font-semibold text-foreground`,children:e.nodeLabel??e.agentNodeId}),(0,q.jsx)(u9,{column:e})]},o9(e))))]}),m.map(({node:e,depth:t},s)=>(0,q.jsxs)(`div`,{role:`row`,className:`contents`,children:[(0,q.jsx)(Aye,{node:e,depth:t,r:s,tabbable:te.r===s&&te.c===0,selected:c?.addonId===e.addonId,badge:o?.(e.addonId),onClick:a?t=>a(e.addonId,t):void 0,sticky:b}),n.map((t,n)=>{let a=r(e.addonId,t),o=c!==null&&c.addonId===e.addonId&&o9(c)===o9(t),l=a.kind===`enabled`||a.kind===`skip`;return(0,q.jsx)(`div`,{role:`gridcell`,className:`min-w-0 border-b border-l border-border`,children:(0,q.jsx)(`button`,{type:`button`,"data-r":s,"data-c":n+1,"data-step":e.addonId,"data-col":o9(t),tabIndex:te.r===s&&te.c===n+1?0:-1,"aria-disabled":!l,"aria-selected":o,onClick:n=>{l&&i(e.addonId,t,n.detail===0)},className:Eye(a,o,Z(`h-full w-full min-w-0 overflow-hidden px-3 py-2 outline-none`,`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary`,!l&&`cursor-default hover:bg-transparent`,t.disabled===!0&&`opacity-70`)),children:Tye(p,a)})},o9(t))})]},e.addonId))]}),u>0&&(0,q.jsx)(`div`,{"aria-hidden":!0,style:{width:u},className:`shrink-0`})]})})});(0,s.forwardRef)(function({tree:e,agents:t,getCellState:n,onCellClick:r,selectedCell:i,fallbackNodeId:a,onFallbackNodeChange:o,onStepClick:c,stepBadge:l,reserveRightPx:u=0,label:d=`Detection steps`},f){let p=(0,s.useRef)(null),[m,h]=(0,s.useState)(0);(0,s.useLayoutEffect)(()=>{let e=p.current;if(!e)return;let t=()=>h(e.getBoundingClientRect().width);t();let n=typeof ResizeObserver<`u`?new ResizeObserver(t):null;return n?.observe(e),()=>n?.disconnect()},[]);let g=(0,s.useMemo)(()=>s9(t),[t]),_=bye(m,g.length,Dye,208,t.length),v=(0,s.useMemo)(()=>g.length===0?null:g.find(e=>e.agentNodeId===a)??g[0]??null,[g,a]),y=i?.agentNodeId;(0,s.useEffect)(()=>{_&&y!==void 0&&y!==a&&o(y)},[_,y,a,o]);let b=_&&v?v.columns:t;return(0,q.jsxs)(`div`,{ref:p,className:`w-full space-y-2`,children:[_&&v&&g.length>1&&(0,q.jsx)(jye,{nodes:g,selected:v.agentNodeId,onSelect:o}),(0,q.jsx)(Mye,{ref:f,tree:e,agents:b,getCellState:n,onCellClick:r,onStepClick:c,stepBadge:l,selectedCell:i,single:_&&v!==null,reserveRightPx:u,label:d})]})});function f9({label:e,description:t,error:n,required:r,children:i,orientation:a=`vertical`,className:o}){let s=a===`horizontal`;return(0,q.jsxs)(`div`,{className:Z(`flex gap-2`,s?`flex-row items-center justify-between`:`flex-col`,o),children:[(0,q.jsxs)(`div`,{className:Z(s?`flex-1`:``),children:[(0,q.jsxs)(K3,{children:[e,r&&(0,q.jsx)(`span`,{className:`text-danger ml-0.5`,children:`*`})]}),t&&(0,q.jsx)(`p`,{className:`text-foreground-subtle text-xs mt-0.5`,children:t})]}),(0,q.jsx)(`div`,{className:Z(s?`shrink-0`:``),children:i}),n&&(0,q.jsx)(`p`,{className:`text-danger text-xs`,children:n})]})}var Nye=(0,s.createContext)(void 0);function p9({icon:e,title:t,subtitle:n,actions:r,nav:i,fill:a=!1,className:o,children:c}){let l=!!t||n!=null||r!=null,u=l||i!=null,[d,f]=(0,s.useState)(null);return(0,q.jsx)(Nye.Provider,{value:l?d:void 0,children:(0,q.jsxs)(`div`,{className:Z(`overflow-x-clip p-2 sm:p-4`,a?`flex h-full min-h-0 flex-col gap-4`:`space-y-4`,o),children:[u&&(0,q.jsxs)(`div`,{className:`shrink-0 space-y-3`,children:[l&&(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4`,children:[(0,q.jsxs)(`div`,{className:`min-w-0`,children:[t!==void 0&&t!==``&&(0,q.jsxs)(`h1`,{className:`flex items-center gap-2 text-lg font-semibold text-foreground`,children:[e!==void 0&&(0,q.jsx)(e,{className:`h-4 w-4 shrink-0 text-foreground-subtle`,"aria-hidden":!0}),t]}),n!=null&&(0,q.jsx)(`p`,{className:`mt-0.5 text-xs text-foreground-subtle`,children:n})]}),(0,q.jsx)(`div`,{ref:f,className:`flex shrink-0 flex-wrap items-center gap-2 empty:hidden`,children:r})]}),i]}),a?(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3`,children:c}):c]})})}Z(cpe,`min-w-0 max-w-full gap-1.5 py-1 pl-1 pr-2.5 text-xs font-normal`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40`),Z(lpe,`font-medium`);var Pye={online:{colorClass:`bg-success`,labelKey:`uiLibrary.statusBadge.online`,labelFallback:`Online`},offline:{colorClass:`bg-danger`,labelKey:`uiLibrary.statusBadge.offline`,labelFallback:`Offline`},degraded:{colorClass:`bg-warning`,labelKey:`uiLibrary.statusBadge.degraded`,labelFallback:`Degraded`},unknown:{colorClass:`bg-foreground-subtle`,labelKey:`uiLibrary.statusBadge.unknown`,labelFallback:`Unknown`},running:{colorClass:`bg-success`,labelKey:`uiLibrary.statusBadge.running`,labelFallback:`Running`},stopped:{colorClass:`bg-foreground-subtle`,labelKey:`uiLibrary.statusBadge.stopped`,labelFallback:`Stopped`},error:{colorClass:`bg-danger`,labelKey:`uiLibrary.statusBadge.error`,labelFallback:`Error`},idle:{colorClass:`bg-info`,labelKey:`uiLibrary.statusBadge.idle`,labelFallback:`Idle`},enabled:{colorClass:`bg-success`,labelKey:`uiLibrary.statusBadge.enabled`,labelFallback:`Enabled`},disabled:{colorClass:`bg-warning`,labelKey:`uiLibrary.statusBadge.disabled`,labelFallback:`Disabled`}};function Fye({status:e,label:n,showDot:r=!0,showLabel:i=!0,size:a=`sm`,className:o}){let s=t(),c=Pye[e];return(0,q.jsxs)(`span`,{className:Z(`inline-flex items-center gap-1.5`,a===`sm`?`text-xs`:`text-sm`,o),children:[r&&(0,q.jsx)(`span`,{className:Z(`h-1.5 w-1.5 shrink-0 rounded-full`,c.colorClass),"aria-hidden":`true`}),i&&(0,q.jsx)(`span`,{className:`text-foreground`,children:n??s(c.labelKey,c.labelFallback)})]})}function Iye({dirtyCount:e,saving:n,status:r,error:i,onSave:a,onDiscard:o,scope:s}){let c=t(),l=e>0,u=n?c(`uiLibrary.stepInspector.saving`,`Saving…`):l?c(`uiLibrary.stepInspector.unsaved`,{one:`{{count}} unsaved change`,other:`{{count}} unsaved changes`},{count:e}):r===`saved`?c(`uiLibrary.stepInspector.saved`,`Saved`):r===`error`?i??c(`uiLibrary.stepInspector.saveFailed`,`Save failed`):c(`uiLibrary.stepInspector.noChanges`,`No unsaved changes`);return(0,q.jsxs)(`footer`,{className:`shrink-0 space-y-2 border-t border-border bg-surface px-4 py-2 pb-[max(0.5rem,env(safe-area-inset-bottom))] md:pb-2`,children:[s!==void 0&&(0,q.jsx)(`div`,{"data-save-scope":!0,children:s}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{role:`status`,className:Z(`min-w-0 flex-1 truncate text-[11px]`,r===`error`&&!l?`text-danger`:l?`text-amber-500`:`text-foreground-subtle`),children:u}),(0,q.jsx)(uQ,{variant:`outline`,size:`md`,disabled:!l||n,onClick:o,children:c(`uiLibrary.stepInspector.discard`,`Discard`)}),(0,q.jsx)(uQ,{variant:`primary`,size:`md`,disabled:!l||n,onClick:a,children:c(`uiLibrary.stepInspector.save`,`Save`)})]})]})}(0,s.forwardRef)(function({title:e,subtitle:t,headerActions:n,headerExtra:r,leading:i,saveBar:a,onEscape:o,children:c,className:l},u){let d=(0,s.useId)();return(0,q.jsxs)(`section`,{"aria-labelledby":d,onKeyDown:e=>{e.key!==`Escape`||o===void 0||(e.stopPropagation(),o())},className:Z(`flex min-h-0 flex-1 flex-col overflow-hidden bg-surface`,l),children:[(0,q.jsxs)(`header`,{className:`shrink-0 space-y-2 border-b border-border px-4 py-2.5`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-start gap-x-3 gap-y-2`,children:[i,(0,q.jsxs)(`div`,{className:`min-w-[9rem] flex-1`,children:[(0,q.jsx)(`h2`,{id:d,ref:u,tabIndex:-1,title:e,className:`line-clamp-2 break-words text-sm font-semibold leading-snug text-foreground outline-none focus-visible:ring-2 focus-visible:ring-primary rounded`,children:e}),t!==void 0&&(0,q.jsx)(`div`,{className:`mt-0.5 text-[11px] text-foreground-subtle`,children:t})]}),n]}),r]}),(0,q.jsx)(`div`,{"data-inspector-body":!0,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-4 py-3`,children:c}),a!==void 0&&(0,q.jsx)(Iye,{...a})]})}),GY(`camstack:player-overlays-state`,null);var Lye=GY(`camstack:player-overlays-actions`,null);function Rye(e){let t=(0,s.useContext)(Lye);(0,s.useEffect)(()=>{if(!(!t||!e))return t.setLayer(e),()=>t.removeLayer(e.id)},[t,e])}var zye=[`24h`,`7d`,`30d`,`1y`,`custom`],m9=24*36e5;7*m9,30*m9,365*m9;var Bye=P({subject:I(`kind`,[P({kind:z(`device`),deviceId:k().int()}),P({kind:z(`node`),nodeId:O().min(1)})]),key:O().min(1),scope:O()}),Vye=R(zye),Hye=P({id:O().min(1),name:O().min(1).max(80),window:Vye,selection:N(Bye).max(24)});P({version:z(1),panels:N(Hye).max(50),hidden:L(O(),N(O()).max(200))}),GY(`camstack:zone-editing`,null);var h9=`en`,g9=new Map,_9=new Set,v9=0;function y9(e){let t=(e??``).trim().toLowerCase().split(/[-_]/)[0]??``;return t===``?h9:t}function b9(){if(typeof document<`u`){let e=document.documentElement.lang;if(e.trim()!==``)return y9(e)}return typeof navigator<`u`&&typeof navigator.language==`string`?y9(navigator.language):h9}function Uye(e,t,n){let r=y9(t),i=g9.get(e)??new Map;i.set(r,n),g9.set(e,i),v9+=1;for(let e of _9)e()}function Wye(e){_9.add(e);let t=null;return typeof document<`u`&&typeof MutationObserver<`u`&&(t=new MutationObserver(e),t.observe(document.documentElement,{attributes:!0,attributeFilter:[`lang`]})),()=>{_9.delete(e),t?.disconnect()}}function x9(){return`${b9()}#${v9}`}function S9(e,t){let n=e;for(let e of t){if(n===void 0||typeof n==`string`)return;n=n[e]}return typeof n==`string`?n:void 0}function Gye(e,t){try{return new Intl.PluralRules(e).select(t)}catch{return`other`}}function C9(e,t,n,r){let i=g9.get(e)?.get(t);if(i===void 0)return;let a=n.split(`.`);if(r!==void 0){let e=a[a.length-1]??n,o=a.slice(0,-1),s=S9(i,[...o,`${e}_${Gye(t,r)}`]);if(s!==void 0)return s;let c=S9(i,[...o,`${e}_other`]);if(c!==void 0)return c}return S9(i,a)}var Kye=/\{\{\s*([\w.]+)\s*\}\}/g;function w9(e,t){return t===void 0?e:e.replace(Kye,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function T9(e,t,n,r){let i=r?.count,a=typeof i==`number`?i:void 0;return w9(C9(e,t,n,a)??C9(e,h9,n,a)??n,r)}function qye(){return(0,s.useSyncExternalStore)(Wye,x9,x9)}function E9(e,t){let n=qye(),r=n.slice(0,n.indexOf(`#`)),i=t===void 0?r:y9(t);return{t:(0,s.useCallback)((t,n)=>T9(e,i,t,n),[e,i,n]),lang:i}}var Jye=/<(\/?)([A-Za-z][\w-]*)(\s*\/)?>/g;function D9(e,t,n,r){let i=e[t];return i===void 0?(0,q.jsx)(s.Fragment,{children:n},r):(0,s.cloneElement)(i,{key:r},...n)}function Yye(e,t,n){let r={name:``,children:[]},i=[r],a=0,o=0,s=()=>i[i.length-1]??r,c=e=>{e!==``&&s().children.push(w9(e,n))};for(let n of e.matchAll(Jye)){c(e.slice(a,n.index)),a=n.index+n[0].length;let r=n[1]===`/`,l=n[2]??``;if(o+=1,n[3]!==void 0)s().children.push(D9(t,l,[],`k${o}`));else if(!r)i.push({name:l,children:[]});else if(i.length>1&&s().name===l){let e=i.pop();e&&s().children.push(D9(t,l,e.children,`k${o}`))}}for(c(e.slice(a));i.length>1;){let e=i.pop();e&&s().children.push(...e.children)}return r.children}function Xye(e,t){for(let[n,r]of Object.entries(t))Uye(e,n,r);return{ns:e,useT:t=>E9(e,t),Trans:t=>{let{t:n}=E9(e),r=t.values?.count;return(0,q.jsx)(q.Fragment,{children:Yye(n(t.i18nKey,typeof r==`number`?{count:r}:void 0),t.components??{},t.values)})},translate:(t,n)=>T9(e,b9(),t,n)}}K(`RemoteControl`,[[`rect`,{x:`7`,y:`2`,width:`10`,height:`20`,rx:`3`,key:`body`}],[`circle`,{cx:`12`,cy:`8`,r:`2.5`,key:`top`}],[`path`,{d:`M10 14h.01`,key:`k1`}],[`path`,{d:`M14 14h.01`,key:`k2`}],[`path`,{d:`M10 18h.01`,key:`k3`}],[`path`,{d:`M14 18h.01`,key:`k4`}]]),(0,s.lazy)(()=>us(()=>import(`./MaskShapeCanvas-BTvl6Rin.js`).then(e=>({default:e.MaskShapeCanvas})),__vite__mapDeps([2,1]))),(0,s.lazy)(()=>us(()=>import(`./MotionZonesSettings-B7-Fixls.js`).then(e=>({default:e.MotionZonesSettings})),__vite__mapDeps([0,1,2]))),(0,s.lazy)(()=>us(()=>import(`./SceneMonitorEditor-CpiLKbGe.js`).then(e=>({default:e.SceneMonitorEditor})),__vite__mapDeps([4,1,2]))),(0,s.lazy)(()=>us(()=>import(`./PrivacyMaskSettings-DQjOSShv.js`).then(e=>({default:e.PrivacyMaskSettings})),__vite__mapDeps([3,1,2])));function O9(e){return e===null?`disconnected`:e.hubConnectionState===void 0?e.hubConnected===!0?`connected`:`disconnected`:e.hubConnectionState}function k9(e,t){let n=e.isHub&&t!==null&&Zye(e.displayName??e.hostname)?t:e.displayName??e.hostname;return e.isHub?`${n} (hub)`:n}function Zye(e){return/^[0-9a-f]{12}$|^[0-9a-f]{64}$/.test(e)}function A9(e){return e.split(`.`)[0]===`0`?`${e} beta`:e}function j9(e){if(e===null)return null;let t=e.trim();return t.length>0?t:null}function Qye(e){let t=j9(e.productVersion),n=j9(e.serverVersion),r=j9(e.fallbackVersion);return t!==null&&n!==null?{kind:`both`,productLabel:A9(t),serverVersion:n}:t===null?n===null?r===null?{kind:`none`}:{kind:`fallback`,version:r}:{kind:`server`,serverVersion:n}:{kind:`product`,productLabel:A9(t)}}var M9=`camstack_agent_ui_session`,N9=class extends Error{constructor(){super(`Unauthorized — unlock required`)}};function P9(){let e=sessionStorage.getItem(M9);return e?{Authorization:`Bearer ${e}`}:{}}async function $ye(e){let t=await fetch(`/api/agent/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({ticket:e})});if(!t.ok){let e=await t.json().catch(()=>null);throw Error(e?.error??`HTTP ${t.status}`)}let n=await t.json();if(typeof n.token!=`string`||n.token.length===0)throw Error(`unlock session missing token`);sessionStorage.setItem(M9,n.token)}async function F9(e){let t=await fetch(e,{headers:P9()});if(t.status===401)throw new N9;if(!t.ok)throw Error(`HTTP ${t.status}`);return t.json()}async function I9(e,t){let n=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`,...P9()},body:JSON.stringify(t)});if(n.status===401)throw new N9;return n.json()}var{useT:L9,Trans:R9,translate:z9}=Xye(`agent-ui`,{en:{common:{unknownError:`Unknown error`,loading:`Loading…`,cancel:`Cancel`,save:`Save`,saving:`Saving…`},crash:{title:`CamStack Agent UI crashed`,body:`The dashboard hit an unexpected error while rendering. The agent itself keeps running — this only affects the UI. Details below (also in the agent log).`,startFailed:`CamStack Agent UI failed to start`},dashboard:{defaultName:`CamStack Agent`,unlocking:`Unlocking from hub…`,unreachable:`Unreachable`,hub:{connected:`Hub Connected`,unconfigured:`No hub configured`,unpaired:`Not paired`,certificateRejected:`Certificate rejected`,disconnected:`Hub Disconnected`},overview:{title:`Overview`,cpu:`CPU`,memory:`Memory`,addons:`Addons`,uptime:`Uptime`},resources:{title:`Resources`,cpuCores:`CPU ({{cores}} cores)`,cpuCoresModel:`CPU ({{cores}} cores — {{model}})`,memory:`Memory ({{used}} / {{total}} MB)`,memoryUnknown:`Memory (unknown)`,unknown:`unknown`},host:{title:`System (host)`,platform:`Platform`,hostname:`Hostname`,uptime:`Host uptime`,memory:`Host memory`,ipv4:`IPv4`},process:{title:`Agent Process`,pid:`PID`,uptime:`Uptime`,memory:`Memory (RSS)`,heap:`Heap`},decode:{title:`Detection / Decoding`,hwaccel:`Decode hwaccel`,driDevice:`DRI device`,detectionDevices:`Detection devices`,software:`software / none detected`},locked:{title:`Agent dashboard locked`,body:`This agent is paired with a hub. Sign in on the hub as an admin to unlock this dashboard.`,continue:`Continue with hub`,hubUnknown:`Hub address unknown — open this agent from System → Cluster → Open dashboard.`},version:{restartToUpdate:`Restart to update`,restartToUpdateTo:`Restart to update → v{{version}}`,downloading:`Downloading update…`,checking:`Checking…`,check:`Check for updates`,checkFailed:`Update check failed: {{error}}`,both:`{{product}} · server {{server}}`,serverOnly:`server {{version}}`}},hubConfig:{title:`Hub Connection`,connection:{connected:`Connected`,unpaired:`Not paired`,unconfigured:`Not configured`,certificateRejected:`Certificate rejected`,disconnected:`Disconnected`},pairingState:{paired:`Paired`,requested:`Pairing requested`,unpaired:`Not paired`},certRejected:{title:`The hub refused this agent's certificate`,message:`The certificate was revoked or was issued by another hub. Forget the hub below, then pair this agent again from the hub.`},unreachable:{title:`Hub unreachable`,message:`This agent is paired but cannot reach the hub right now. Check that the hub is running and reachable from this machine.`},hubAddress:`Hub Address`,pairing:`Pairing`,clusterNodes:`Cluster nodes`,unsupported:`This agent is too old to pair from here. Update it from the hub (Cluster → Nodes), then pair it again.`,statusUnavailable:`Pairing status unavailable`,emptyPairing:`This agent is not paired. On the hub open Cluster → Nodes, find this agent under "Agents found on the network" and start pairing; the request appears here.`,name:{label:`Agent Name`,placeholder:`e.g. kitchen-agent`,rename:`Rename agent`,saveFailed:`Save failed`,saveFailedWith:`Save failed: {{error}}`,saved:`Name saved.`,remoteHint:`Renaming is done on the machine itself.`}},paired:{pairedWith:`Paired with`,theHub:`The hub`,hubUrl:`Hub URL`,caFingerprint:`CA fingerprint`,forget:`Forget this hub`,forgetTitle:`Forget this hub?`,forgetDescription:`This agent erases the certificate the hub issued and disconnects. Its cameras stop being served from this node until a hub pairs with it again, which needs a new confirmation on both screens.`,forgetConfirm:`Forget hub`},requests:{pinHelp:`The one-time PIN is shown only on the agent's own machine: in the agent console (docker logs for a container), in pairing-pin.txt in the agent data directory, or in the desktop app window. Use the PIN printed for this hub.`,codeHelp:`The {{digits}}-digit code the hub shows for this pairing. Type it from the hub screen.`,pendingGroup:`Pending pairing requests`,pickOne_one:`{{count}} hub asked to pair - pick the one you mean`,pickOne_other:`{{count}} hubs asked to pair - pick the one you mean`,requestFrom:`Pairing request from <b>{{node}}</b>`,caFingerprint:`CA fingerprint <mono>{{fingerprint}}</mono>`,timeLeft:`Time left to confirm`,lockedTitle:`Confirming is locked`,lockedMessage:`Too many wrong PINs. Try again in {{wait}}, or reset the pairing lockout below.`,confirmedHere:`Confirmed on this agent`,confirmedHint:`Now type this code on the hub. This agent pairs as soon as the hub accepts it.`,codeLabel:`Code shown on the hub`,pinLabel:`Local PIN`,pinPlaceholder:`PIN from the agent machine`,noPinNeeded:`You are on the agent itself, so no PIN is needed.`,confirm:`Confirm`,reject:`Reject`,agentCodeLabel:`Code on this agent - type it on the hub`,noCodeReturned:`The agent confirmed but did not return its code. Reject this request and start the pairing again from the hub.`},reset:{codeHelp:`The reset code is printed in the agent console at boot (docker logs for a container) and kept in pairing-reset.txt in the agent data directory. It is renewed each time it is used.`,done:`Pairing reset: lockouts and pending requests are cleared.`,hide:`Hide pairing reset`,show:`Reset pairing lockout`,explain:`Use this when confirming is locked after wrong PINs, or a stuck request keeps the agent from accepting a new one. It cancels every pending pairing; the hub can then ask again.`,noCodeNeeded:`This page runs on the agent itself, so no reset code is needed.`,codeLabel:`Reset code`,codePlaceholder:`Reset code from the agent`,resetting:`Resetting…`,submit:`Reset pairing`},pairingApi:{httpStatus:`The agent answered HTTP {{status}}`,requestFailed:`The request failed`,refused:`The agent refused the request`,retryIn:`{{message}} (try again in {{wait}})`},addons:{title:`Addons`,empty:`No addons loaded`,readFailed:`Could not read the addons: {{error}}`,hubVersionsFailed:`The hub did not answer, so the versions this node should run are unknown.`,startFailed:`The update could not be started`,columns:{addon:`Addon`,version:`Version`,versionNotSortable:`A version cell can also say what is being updated.`,runner:`Runner`,cpu:`CPU`,memory:`Memory`,status:`Status`,actionsNotSortable:`Actions.`},runnerWithoutAddon:`runner without a known addon`,updateFailed:`Update failed: {{message}}`,updatingTo:`Updating to {{version}}…`,updatedTo:`Updated to {{version}}`,published:`{{version}} published`,publishedHint:`A newer release is published. It reaches this node once the hub runs it — update the hub first.`,inAgentProcess:`in the agent process`,shared_one:`shared with {{count}} other`,shared_other:`shared with {{count}} others`,updating:`Updating…`,updateTo:`Update to {{version}}`,restart:`Restart {{name}}`,hubVersionsUnpaired:`Addon versions follow the hub once this agent is paired.`},updates:{title:`Framework update`,bootMode:{dataRoot:`Updatable copy (runtime-updatable)`,baked:`Image copy (read-only)`,workspace:`Dev workspace`},restartWarning:`Applying downloads the release, then restarts this node to swap it in. Live streams and detection on this node stop for the restart, and this page goes unreachable until the agent comes back.`,state:{checking:`Checking the registry…`,staging:`Downloading and staging the release…`,pendingRestart:`Staged — restarting to apply`,pendingRestartVersion:`Staged v{{version}} — restarting to apply`,working:`Working…`},updateAvailable:`update available`,checking:`Checking…`,check:`Check for updates`,confirmApply:`Confirm — update and restart this node`,apply:`Update`,applyTo:`Update → v{{version}}`,running:`Running`,published:`Published (npm)`,notChecked:`not checked`,loadedFrom:`Code loaded from`,checkFailed:`Update check failed: {{error}}`,npmNote:`The framework installs from the npm registry — this works with the hub unreachable.`,readFailed:`Could not read update state: {{error}}`,checkRequestFailed:`Check failed`,applyFailed:`Update could not be started`}},it:{common:{unknownError:`Errore sconosciuto`,loading:`Caricamento…`,cancel:`Annulla`,save:`Salva`,saving:`Salvataggio…`},crash:{title:`L'interfaccia dell'agente CamStack si è interrotta`,body:`La dashboard ha incontrato un errore imprevisto durante la visualizzazione. L'agente continua a funzionare: riguarda solo l'interfaccia. Dettagli qui sotto (anche nel log dell'agente).`,startFailed:`Impossibile avviare l'interfaccia dell'agente CamStack`},dashboard:{defaultName:`Agente CamStack`,unlocking:`Sblocco dall'hub in corso…`,unreachable:`Non raggiungibile`,hub:{connected:`Hub connesso`,unconfigured:`Nessun hub configurato`,unpaired:`Non associato`,certificateRejected:`Certificato rifiutato`,disconnected:`Hub disconnesso`},overview:{title:`Panoramica`,cpu:`CPU`,memory:`Memoria`,addons:`Addon`,uptime:`Uptime`},resources:{title:`Risorse`,cpuCores:`CPU ({{cores}} core)`,cpuCoresModel:`CPU ({{cores}} core — {{model}})`,memory:`Memoria ({{used}} / {{total}} MB)`,memoryUnknown:`Memoria (non disponibile)`,unknown:`sconosciuto`},host:{title:`Sistema (host)`,platform:`Piattaforma`,hostname:`Nome host`,uptime:`Uptime host`,memory:`Memoria host`,ipv4:`IPv4`},process:{title:`Processo dell'agente`,pid:`PID`,uptime:`Uptime`,memory:`Memoria (RSS)`,heap:`Heap`},decode:{title:`Detection / Decodifica`,hwaccel:`Accelerazione hardware di decodifica`,driDevice:`Dispositivo DRI`,detectionDevices:`Dispositivi di detection`,software:`software / nessuno rilevato`},locked:{title:`Dashboard dell'agente bloccata`,body:`Questo agente è associato a un hub. Accedi all'hub come amministratore per sbloccare la dashboard.`,continue:`Continua con l'hub`,hubUnknown:`Indirizzo dell'hub sconosciuto: apri questo agente da Sistema → Cluster → Apri dashboard.`},version:{restartToUpdate:`Riavvia per aggiornare`,restartToUpdateTo:`Riavvia per aggiornare → v{{version}}`,downloading:`Download dell'aggiornamento…`,checking:`Controllo…`,check:`Cerca aggiornamenti`,checkFailed:`Controllo aggiornamenti non riuscito: {{error}}`,both:`{{product}} · server {{server}}`,serverOnly:`server {{version}}`}},hubConfig:{title:`Connessione all'hub`,connection:{connected:`Connesso`,unpaired:`Non associato`,unconfigured:`Non configurato`,certificateRejected:`Certificato rifiutato`,disconnected:`Disconnesso`},pairingState:{paired:`Associato`,requested:`Associazione richiesta`,unpaired:`Non associato`},certRejected:{title:`L'hub ha rifiutato il certificato di questo agente`,message:`Il certificato è stato revocato o emesso da un altro hub. Dimentica l'hub qui sotto, poi associa di nuovo questo agente dall'hub.`},unreachable:{title:`Hub non raggiungibile`,message:`Questo agente è associato ma ora non riesce a raggiungere l'hub. Verifica che l'hub sia in esecuzione e raggiungibile da questa macchina.`},hubAddress:`Indirizzo dell'hub`,pairing:`Associazione`,clusterNodes:`Nodi del cluster`,unsupported:`Questo agente è troppo vecchio per essere associato da qui. Aggiornalo dall'hub (Cluster → Nodi), poi associalo di nuovo.`,statusUnavailable:`Stato dell'associazione non disponibile`,emptyPairing:`Questo agente non è associato. Sull'hub apri Cluster → Nodi, trova questo agente in "Agenti trovati sulla rete" e avvia l'associazione; la richiesta compare qui.`,name:{label:`Nome dell'agente`,placeholder:`es. agent-kitchen`,rename:`Rinomina agente`,saveFailed:`Salvataggio non riuscito`,saveFailedWith:`Salvataggio non riuscito: {{error}}`,saved:`Nome salvato.`,remoteHint:`Il nome si cambia sulla macchina stessa.`}},paired:{pairedWith:`Associato a`,theHub:`L'hub`,hubUrl:`URL dell'hub`,caFingerprint:`Impronta della CA`,forget:`Dimentica questo hub`,forgetTitle:`Dimenticare questo hub?`,forgetDescription:`L'agente cancella il certificato emesso dall'hub e si disconnette. Le sue telecamere non vengono più servite da questo nodo finché un hub non lo associa di nuovo, cosa che richiede una nuova conferma su entrambe le schermate.`,forgetConfirm:`Dimentica hub`},requests:{pinHelp:`Il PIN monouso è mostrato solo sulla macchina dell'agente: nella console dell'agente (docker logs per un container), in pairing-pin.txt nella cartella dati dell'agente o nella finestra dell'app desktop. Usa il PIN stampato per questo hub.`,codeHelp:`Il codice di {{digits}} cifre che l'hub mostra per questa associazione. Digitalo dalla schermata dell'hub.`,pendingGroup:`Richieste di associazione in sospeso`,pickOne_one:`{{count}} hub ha chiesto di associarsi - scegli quello giusto`,pickOne_other:`{{count}} hub hanno chiesto di associarsi - scegli quello giusto`,requestFrom:`Richiesta di associazione da <b>{{node}}</b>`,caFingerprint:`Impronta della CA <mono>{{fingerprint}}</mono>`,timeLeft:`Tempo rimasto per confermare`,lockedTitle:`La conferma è bloccata`,lockedMessage:`Troppi PIN errati. Riprova tra {{wait}} oppure reimposta il blocco dell'associazione qui sotto.`,confirmedHere:`Confermato su questo agente`,confirmedHint:`Ora digita questo codice sull'hub. L'agente si associa non appena l'hub lo accetta.`,codeLabel:`Codice mostrato sull'hub`,pinLabel:`PIN locale`,pinPlaceholder:`PIN dalla macchina dell'agente`,noPinNeeded:`Sei sull'agente stesso, quindi non serve il PIN.`,confirm:`Conferma`,reject:`Rifiuta`,agentCodeLabel:`Codice su questo agente - digitalo sull'hub`,noCodeReturned:`L'agente ha confermato ma non ha restituito il suo codice. Rifiuta questa richiesta e avvia di nuovo l'associazione dall'hub.`},reset:{codeHelp:`Il codice di reimpostazione viene stampato nella console dell'agente all'avvio (docker logs per un container) e salvato in pairing-reset.txt nella cartella dati dell'agente. Viene rinnovato a ogni utilizzo.`,done:`Associazione reimpostata: blocchi e richieste in sospeso eliminati.`,hide:`Nascondi reimpostazione associazione`,show:`Reimposta blocco associazione`,explain:`Usalo quando la conferma è bloccata dopo PIN errati o quando una richiesta bloccata impedisce all'agente di accettarne una nuova. Annulla ogni associazione in sospeso; l'hub potrà poi chiederla di nuovo.`,noCodeNeeded:`Questa pagina è in esecuzione sull'agente stesso, quindi non serve il codice di reimpostazione.`,codeLabel:`Codice di reimpostazione`,codePlaceholder:`Codice di reimpostazione dall'agente`,resetting:`Reimpostazione…`,submit:`Reimposta associazione`},pairingApi:{httpStatus:`L'agente ha risposto HTTP {{status}}`,requestFailed:`La richiesta non è riuscita`,refused:`L'agente ha rifiutato la richiesta`,retryIn:`{{message}} (riprova tra {{wait}})`},addons:{title:`Addon`,empty:`Nessun addon caricato`,readFailed:`Impossibile leggere gli addon: {{error}}`,hubVersionsFailed:`L'hub non ha risposto, quindi le versioni che questo nodo deve eseguire sono sconosciute.`,startFailed:`Impossibile avviare l'aggiornamento`,columns:{addon:`Addon`,version:`Versione`,versionNotSortable:`Una cella di versione può anche indicare cosa si sta aggiornando.`,runner:`Runner`,cpu:`CPU`,memory:`Memoria`,status:`Stato`,actionsNotSortable:`Azioni.`},runnerWithoutAddon:`runner senza un addon noto`,updateFailed:`Aggiornamento non riuscito: {{message}}`,updatingTo:`Aggiornamento a {{version}}…`,updatedTo:`Aggiornato a {{version}}`,published:`{{version}} pubblicata`,publishedHint:`È stata pubblicata una versione più recente. Arriva su questo nodo quando l'hub la esegue: aggiorna prima l'hub.`,inAgentProcess:`nel processo dell'agente`,shared_one:`condiviso con {{count}} altro`,shared_other:`condiviso con altri {{count}}`,updating:`Aggiornamento…`,updateTo:`Aggiorna a {{version}}`,restart:`Riavvia {{name}}`,hubVersionsUnpaired:`Le versioni degli addon seguono l'hub una volta associato questo agente.`},updates:{title:`Aggiornamento del framework`,bootMode:{dataRoot:`Copia aggiornabile (aggiornabile a runtime)`,baked:`Copia dell'immagine (sola lettura)`,workspace:`Workspace di sviluppo`},restartWarning:`L'applicazione scarica la release e poi riavvia questo nodo per attivarla. Streaming live e detection su questo nodo si fermano durante il riavvio e questa pagina resta irraggiungibile finché l'agente non torna disponibile.`,state:{checking:`Controllo del registry…`,staging:`Download e preparazione della release…`,pendingRestart:`Preparata: riavvio per applicare`,pendingRestartVersion:`Preparata v{{version}}: riavvio per applicare`,working:`Elaborazione…`},updateAvailable:`aggiornamento disponibile`,checking:`Controllo…`,check:`Cerca aggiornamenti`,confirmApply:`Conferma: aggiorna e riavvia questo nodo`,apply:`Aggiorna`,applyTo:`Aggiorna → v{{version}}`,running:`In esecuzione`,published:`Pubblicata (npm)`,notChecked:`non controllato`,loadedFrom:`Codice caricato da`,checkFailed:`Controllo aggiornamenti non riuscito: {{error}}`,npmNote:`Il framework si installa dal registry npm: funziona anche con l'hub non raggiungibile.`,readFailed:`Impossibile leggere lo stato degli aggiornamenti: {{error}}`,checkRequestFailed:`Controllo non riuscito`,applyFailed:`Impossibile avviare l'aggiornamento`}}}),ebe={minHeight:`100vh`,margin:0,padding:`48px 32px`,background:`#0c0a09`,color:`#fafaf9`,fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif`},tbe={marginTop:16,padding:12,background:`#1c1917`,border:`1px solid #292524`,borderRadius:8,color:`#f87171`,fontSize:12,whiteSpace:`pre-wrap`,wordBreak:`break-word`};function B9(e){return e instanceof Error?e.stack??`${e.name}: ${e.message}`:String(e)}var nbe=class extends s.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[agent-ui] React render error: ${B9(e)}${t.componentStack??``}`)}render(){return this.state.error===null?this.props.children:(0,q.jsxs)(`div`,{style:ebe,children:[(0,q.jsx)(`h1`,{style:{fontSize:18,margin:0},children:z9(`crash.title`)}),(0,q.jsx)(`p`,{style:{color:`#a8a29e`,fontSize:13},children:z9(`crash.body`)}),(0,q.jsx)(`pre`,{style:tbe,children:B9(this.state.error)})]})}};function V9(e){let t=document.getElementById(`root`);if(!t||t.childElementCount>0)return;t.innerHTML=``;let n=document.createElement(`div`);n.setAttribute(`style`,`min-height:100vh;margin:0;padding:48px 32px;background:#0c0a09;color:#fafaf9;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif`);let r=document.createElement(`h1`);r.setAttribute(`style`,`font-size:18px;margin:0 0 8px`),r.textContent=z9(`crash.startFailed`);let i=document.createElement(`pre`);i.setAttribute(`style`,`margin-top:16px;padding:12px;background:#1c1917;border:1px solid #292524;border-radius:8px;color:#f87171;font-size:12px;white-space:pre-wrap;word-break:break-word`),i.textContent=e,n.appendChild(r),n.appendChild(i),t.appendChild(n)}function rbe(){window.addEventListener(`error`,e=>{console.error(`[agent-ui] uncaught error: ${B9(e.error??e.message)}`),V9(B9(e.error??e.message))}),window.addEventListener(`unhandledrejection`,e=>{console.error(`[agent-ui] unhandled rejection: ${B9(e.reason)}`),V9(B9(e.reason))})}function ibe(e){return e<1024*1024?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function abe(e){return e===`running`?`running`:e===`crashed`||e===`error`||e===`failed`?`error`:e===`stopped`?`stopped`:`unknown`}function obe(e){return Math.max(0,e.addonIds.length-1)}function sbe({row:e,update:t,t:n}){return e.kind===`runner`?(0,q.jsx)(`span`,{className:`text-foreground-subtle`,children:`—`}):(0,q.jsxs)(`span`,{className:`flex flex-col gap-0.5`,children:[(0,q.jsxs)(`span`,{className:`font-mono text-[11px]`,children:[t?.installedVersion??e.version??`—`,t?.behindHub===!0&&t.hubVersion!==null?` → ${t.hubVersion}`:``]}),t?.update?.status===`failed`&&(0,q.jsx)(`span`,{className:`max-w-[16rem] truncate text-[10px] text-danger`,title:t.update.message??``,children:n(`addons.updateFailed`,{message:t.update.message??``})}),t?.update?.status===`running`&&(0,q.jsx)(`span`,{className:`text-[10px] text-warning`,children:n(`addons.updatingTo`,{version:t.update.targetVersion})}),t?.update?.status===`done`&&t.behindHub===!1&&(0,q.jsx)(`span`,{className:`text-[10px] text-success`,children:n(`addons.updatedTo`,{version:t.update.targetVersion})}),t!==void 0&&!t.behindHub&&t.updateAvailable&&t.latestVersion!==null&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,title:n(`addons.publishedHint`),children:n(`addons.published`,{version:t.latestVersion})})]})}function cbe({runner:e,t}){if(e===null)return(0,q.jsx)(`span`,{className:`text-[11px] text-foreground-subtle`,children:t(`addons.inAgentProcess`)});let n=obe(e),r=n>0?t(`addons.shared`,{count:n}):null;return(0,q.jsxs)(`span`,{className:`flex flex-col gap-0.5`,children:[(0,q.jsxs)(`span`,{className:`font-mono text-[11px]`,children:[e.groupId,` · pid `,e.pid]}),r!==null&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,title:e.addonIds.join(`, `),children:r})]})}function lbe(e){return[{key:`addon`,header:e.t(`addons.columns.addon`),sortValue:e=>e.addonId??e.runner?.name??e.key,render:t=>(0,q.jsxs)(`span`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{className:`font-mono text-xs`,children:t.addonId??t.runner?.name}),t.kind===`runner`&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,children:e.t(`addons.runnerWithoutAddon`)}),t.packageName!==null&&(0,q.jsx)(`span`,{className:`text-[10px] text-foreground-subtle`,children:t.packageName})]})},{key:`version`,header:e.t(`addons.columns.version`),notSortableReason:e.t(`addons.columns.versionNotSortable`),render:t=>(0,q.jsx)(sbe,{row:t,update:e.updateFor(t),t:e.t})},{key:`runner`,header:e.t(`addons.columns.runner`),sortValue:e=>e.runner?.groupId??null,render:t=>(0,q.jsx)(cbe,{runner:t.runner,t:e.t})},{key:`cpu`,header:e.t(`addons.columns.cpu`),align:`right`,sortValue:e=>e.runner?.cpuPercent??null,render:e=>e.runner===null?`—`:`${e.runner.cpuPercent.toFixed(1)}%`},{key:`memory`,header:e.t(`addons.columns.memory`),align:`right`,sortValue:e=>e.runner?.memoryRss??null,render:e=>e.runner===null?`—`:ibe(e.runner.memoryRss)},{key:`status`,header:e.t(`addons.columns.status`),sortValue:e=>e.status,render:e=>(0,q.jsx)(Fye,{status:abe(e.status),label:e.status,size:`sm`})},{key:`actions`,header:``,align:`right`,notSortableReason:e.t(`addons.columns.actionsNotSortable`),render:t=>{let n=e.updateFor(t),r=n?.update?.status===`running`;return(0,q.jsxs)(`span`,{className:`flex items-center justify-end gap-1`,children:[n?.behindHub===!0&&t.packageName!==null&&(0,q.jsxs)(uQ,{type:`button`,variant:`outline`,size:`sm`,disabled:r,onClick:()=>e.onUpdate(t.packageName??``),children:[(0,q.jsx)(hG,{className:`h-3 w-3`}),r?e.t(`addons.updating`):e.t(`addons.updateTo`,{version:n.hubVersion??``})]}),t.kind===`addon`&&t.addonId!==null&&(0,q.jsx)(KZ,{type:`button`,variant:`ghost`,size:`sm`,icon:TG,"aria-label":e.t(`addons.restart`,{name:t.addonId}),onClick:()=>e.onRestartAddon(t.addonId??``)}),t.kind===`runner`&&t.runner!==null&&(0,q.jsx)(KZ,{type:`button`,variant:`ghost`,size:`sm`,icon:TG,"aria-label":e.t(`addons.restart`,{name:t.runner.name}),onClick:()=>e.onRestartRunner(t.runner?.name??``)})]})}}]}var ube=3e3,dbe=12e4,fbe=3e3;function pbe({locked:e,onUnauthorized:t}){let{t:n}=L9(),[r,i]=(0,s.useState)(null),[a,o]=(0,s.useState)(null),[c,l]=(0,s.useState)(null),[u,d]=(0,s.useState)(null),f=(0,s.useCallback)(e=>{e instanceof N9?t():l(e instanceof Error?e.message:z9(`common.unknownError`))},[t]),p=(0,s.useCallback)(async()=>{try{i(await F9(`/api/agent/addon-runtime`)),l(null)}catch(e){f(e)}},[f]),m=(0,s.useCallback)(async()=>{try{o(await F9(`/api/agent/addon-updates`))}catch(e){f(e)}},[f]);(0,s.useEffect)(()=>{if(e)return;p();let t=setInterval(()=>void p(),ube);return()=>clearInterval(t)},[e,p]);let h=a?.available===!0&&a.entries.some(e=>e.update?.status===`running`);(0,s.useEffect)(()=>{if(e)return;m();let t=setInterval(()=>void m(),h?fbe:dbe);return()=>clearInterval(t)},[e,m,h]);let g=(0,s.useMemo)(()=>new Map(a?.available===!0?a.entries.map(e=>[e.packageName,e]):[]),[a]),_=(0,s.useCallback)(async e=>{d(null);try{let t=await I9(`/api/agent/addon-updates/update`,{packageName:e});t.started||d(t.message??z9(`addons.startFailed`)),await m()}catch(e){e instanceof N9?t():d(e instanceof Error?e.message:z9(`addons.startFailed`))}},[m,t]),v=(0,s.useMemo)(()=>lbe({t:n,updateFor:e=>e.packageName===null?void 0:g.get(e.packageName),onRestartAddon:e=>void I9(`/api/agent/addon/restart`,{addonId:e}),onRestartRunner:e=>void I9(`/api/agent/process/restart`,{name:e}),onUpdate:e=>void _(e)}),[g,_,n]);return(0,q.jsx)(Q3,{headingId:`agent-addons`,title:n(`addons.title`),icon:hG,actions:(0,q.jsx)(cQ,{variant:`default`,className:`text-[10px]`,children:r?.length??0}),children:(0,q.jsxs)(`div`,{className:`${G3} space-y-3`,children:[c!==null&&(0,q.jsx)(y3,{message:n(`addons.readFailed`,{error:c})}),u!==null&&(0,q.jsx)(y3,{message:u}),a?.available===!0&&a.hubVersions===`unpaired`&&(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`addons.hubVersionsUnpaired`)}),a?.available===!0&&a.hubVersions===`unanswered`&&(0,q.jsx)(y3,{variant:`warning`,message:n(`addons.hubVersionsFailed`)}),a?.available===!0&&a.error!==null&&(0,q.jsx)(y3,{variant:`warning`,message:a.error}),(0,q.jsx)(Fpe,{columns:v,rows:r??[],rowKey:e=>e.key,minWidthPx:640,bordered:!1,emptyMessage:n(r===null?`common.loading`:`addons.empty`)})]})})}var mbe=`/api/agent/pairing/status`,hbe=`/api/agent/pairing/confirm`,gbe=`/api/agent/pairing/reject`,_be=`/api/agent/pairing/reset`,vbe=`/api/agent/pairing/forget`;function ybe(){return F9(mbe)}function H9(e){return e.some(e=>typeof e.pin==`string`)}function bbe(e){return e===`localhost`||e===`127.0.0.1`||e===`[::1]`}function xbe(e){return typeof e==`object`&&!!e&&typeof Reflect.get(e,`ok`)==`boolean`}async function U9(e,t){try{let n=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`,...P9()},body:JSON.stringify(t)}),r=await n.json().catch(()=>null);return xbe(r)?r:n.ok?{ok:!0}:{ok:!1,message:z9(`pairingApi.httpStatus`,{status:n.status})}}catch(e){return{ok:!1,message:e instanceof Error?e.message:z9(`pairingApi.requestFailed`)}}}function W9(e){let t=Math.max(1,Math.ceil(e/1e3));return t<90?`${t} s`:`${Math.ceil(t/60)} min`}function G9(e){let t=e.message??e.error??z9(`pairingApi.refused`);return e.retryAfterMs===void 0?t:z9(`pairingApi.retryIn`,{message:t,wait:W9(e.retryAfterMs)})}function Sbe(e,t){let n=Math.max(0,Math.ceil((e-t)/1e3));return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}function K9(e){return e.replace(/(.{4})/g,`$1 `).trim()}function Cbe(e){return e.replace(/(\d{3})(?=\d)/g,`$1 `)}async function wbe(){let e=await U9(vbe,{});if(!e.ok)throw Error(G9(e))}function Tbe({hub:e,hubName:t,onForgotten:n}){let{t:r}=L9();return(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsxs)(`div`,{className:`space-y-0`,children:[(0,q.jsx)(Z3,{label:r(`paired.pairedWith`),children:t??r(`paired.theHub`)}),e?.url!=null&&(0,q.jsx)(Z3,{label:r(`paired.hubUrl`),valueClassName:`font-mono break-all`,children:e.url}),e!==null&&(0,q.jsx)(Z3,{label:r(`paired.caFingerprint`),valueClassName:`font-mono break-all`,children:K9(e.caFingerprint)})]}),(0,q.jsx)(Xpe,{label:r(`paired.forget`),icon:oK,title:r(`paired.forgetTitle`),description:r(`paired.forgetDescription`),confirmLabel:r(`paired.forgetConfirm`),size:`sm`,action:wbe,onSuccess:()=>void n()})]})}var Ebe=new Set([`pin-locked`,`reset-locked`]);function q9(e){return e.hub.caFingerprint}function Dbe({pairing:e}){return(0,q.jsxs)(`div`,{className:`space-y-0.5 min-w-0`,children:[(0,q.jsx)(`div`,{className:`text-xs text-foreground`,children:(0,q.jsx)(R9,{i18nKey:`requests.requestFrom`,values:{node:e.hub.nodeId},components:{b:(0,q.jsx)(`span`,{className:`font-semibold`})}})}),(0,q.jsx)(`div`,{className:`text-[11px] font-mono text-foreground-subtle break-all`,children:e.hub.url}),(0,q.jsx)(`div`,{className:`text-[11px] text-foreground-subtle`,children:(0,q.jsx)(R9,{i18nKey:`requests.caFingerprint`,values:{fingerprint:K9(e.hub.caFingerprint)},components:{mono:(0,q.jsx)(`span`,{className:`font-mono break-all`})}})})]})}function Obe({pending:e,onChanged:t}){let{t:n}=L9(),[r,i]=(0,s.useState)(null),[a,o]=(0,s.useState)(``),[c,l]=(0,s.useState)(``),[u,d]=(0,s.useState)(!1),[f,p]=(0,s.useState)(null),[m,h]=(0,s.useState)(null),[g,_]=(0,s.useState)({}),[v,y]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{let e=setInterval(()=>y(Date.now()),1e3);return()=>clearInterval(e)},[]);let b=e.find(e=>q9(e)===r)??e[0],x=H9(e),S=m!==null&&m>v;if(b===void 0)return null;let ee=q9(b),C=g[ee]??(b.localConfirmed===!0?b.code??null:null),te=C!==null,ne=e=>{e!==ee&&(i(e),o(``),p(null))},re=()=>x?{pin:b.pin??``}:{pin:c.trim()},w=e=>{if(p(G9(e)),e.retryAfterMs!==void 0&&Ebe.has(e.error??``)){let t=Date.now();y(t),h(t+e.retryAfterMs)}},ie=async()=>{d(!0),p(null);let e=await U9(hbe,{...re(),code:a.trim()});if(d(!1),o(``),e.ok&&e.code!==void 0){let n=e.code;_(e=>({...e,[ee]:n})),l(``),await t();return}w(e.ok?{ok:!1,message:n(`requests.noCodeReturned`)}:e),await t()},ae=async()=>{d(!0),p(null);let e=await U9(gbe,re());d(!1),e.ok||w(e),o(``),await t()},oe=!u&&!S&&a.trim().length===6&&(x||c.trim().length===8),se=!u&&!S&&(x||c.trim().length===8);return(0,q.jsxs)(`div`,{className:`space-y-3`,children:[e.length>1&&(0,q.jsxs)(`div`,{className:`space-y-1`,role:`radiogroup`,"aria-label":n(`requests.pendingGroup`),children:[(0,q.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-foreground-subtle font-medium`,children:n(`requests.pickOne`,{count:e.length})}),e.map(e=>(0,q.jsx)(uQ,{type:`button`,role:`radio`,"aria-checked":q9(e)===ee,variant:q9(e)===ee?`primary`:`outline`,size:`sm`,className:`w-full justify-start text-left h-auto py-1.5`,onClick:()=>ne(q9(e)),children:(0,q.jsxs)(`span`,{className:`min-w-0 truncate`,children:[e.hub.nodeId,` · `,e.hub.url]})},q9(e)))]}),(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-2 min-w-0`,children:[(0,q.jsx)(RG,{className:`h-4 w-4 mt-0.5 shrink-0 text-warning`}),(0,q.jsx)(Dbe,{pairing:b})]}),(0,q.jsx)(cQ,{variant:`warning`,className:`shrink-0 font-mono`,title:n(`requests.timeLeft`),children:Sbe(b.expiresAt,v)})]}),S&&m!==null&&(0,q.jsx)(y3,{variant:`warning`,title:n(`requests.lockedTitle`),message:n(`requests.lockedMessage`,{wait:W9(m-v)})}),te?(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(cQ,{variant:`success`,icon:(0,q.jsx)(cW,{className:`h-3 w-3`}),children:n(`requests.confirmedHere`)}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`div`,{className:`text-[11px] text-foreground-subtle`,children:n(`requests.agentCodeLabel`)}),(0,q.jsx)(`div`,{className:`text-2xl font-mono tracking-widest text-foreground`,"data-testid":`agent-pairing-own-code`,children:Cbe(C)})]}),(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`requests.confirmedHint`)})]}):(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsx)(f9,{label:n(`requests.codeLabel`),description:n(`requests.codeHelp`,{digits:6}),children:(0,q.jsx)(JZ,{id:`agent-pairing-code`,"aria-label":n(`requests.codeLabel`),type:`text`,inputMode:`numeric`,autoComplete:`off`,maxLength:6,value:a,onChange:e=>o(e.target.value.replace(/\D/g,``)),placeholder:`000000`,className:`font-mono tracking-widest`,disabled:S})}),!x&&(0,q.jsx)(f9,{label:n(`requests.pinLabel`),description:n(`requests.pinHelp`),children:(0,q.jsx)(JZ,{id:`agent-pairing-pin`,"aria-label":n(`requests.pinLabel`),type:`text`,inputMode:`numeric`,autoComplete:`off`,maxLength:8,value:c,onChange:e=>l(e.target.value.replace(/\D/g,``)),placeholder:n(`requests.pinPlaceholder`),className:`font-mono tracking-widest`,disabled:S})}),x&&(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`requests.noPinNeeded`)})]}),f!==null&&(0,q.jsx)(`p`,{role:`alert`,className:`text-[11px] text-danger`,children:f}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!te&&(0,q.jsxs)(uQ,{type:`button`,variant:`primary`,size:`sm`,disabled:!oe,onClick:()=>void ie(),children:[(0,q.jsx)(cW,{className:`h-3 w-3`}),n(`requests.confirm`)]}),(0,q.jsxs)(uQ,{type:`button`,variant:`outline`,size:`sm`,disabled:!se,onClick:()=>void ae(),children:[(0,q.jsx)(_K,{className:`h-3 w-3`}),n(`requests.reject`)]})]})]})}function kbe({local:e,onReset:t}){let{t:n}=L9(),[r,i]=(0,s.useState)(!1),[a,o]=(0,s.useState)(``),[c,l]=(0,s.useState)(!1),[u,d]=(0,s.useState)(!1),f=!e||u,[p,m]=(0,s.useState)(null),h=async()=>{l(!0),m(null);let e=await U9(_be,f?{code:a.trim()}:{});if(l(!1),e.ok){o(``),m({ok:!0,text:n(`reset.done`)}),await t();return}e.error===`reset-code-required`&&d(!0),m({ok:!1,text:G9(e)})};return(0,q.jsxs)(`div`,{className:`border-t border-border pt-3 space-y-3`,children:[(0,q.jsxs)(uQ,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>i(e=>!e),children:[(0,q.jsx)(OG,{className:`h-3 w-3`}),n(r?`reset.hide`:`reset.show`)]}),r&&(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`reset.explain`)}),f?(0,q.jsx)(f9,{label:n(`reset.codeLabel`),description:n(`reset.codeHelp`),children:(0,q.jsx)(JZ,{id:`agent-pairing-reset-code`,"aria-label":n(`reset.codeLabel`),type:`text`,inputMode:`numeric`,autoComplete:`off`,maxLength:8,value:a,onChange:e=>o(e.target.value),placeholder:n(`reset.codePlaceholder`)})}):(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:n(`reset.noCodeNeeded`)}),(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,disabled:c||f&&a.trim().length===0,onClick:()=>void h(),children:n(c?`reset.resetting`:`reset.submit`)}),p!==null&&(0,q.jsx)(`p`,{role:`status`,className:p.ok?`text-[11px] text-success`:`text-[11px] text-danger`,children:p.text})]})]})}var Abe=2e3;function jbe(e=Abe){let[t,n]=(0,s.useState)(null),[r,i]=(0,s.useState)(null),a=(0,s.useRef)(!0),o=(0,s.useRef)(async()=>void 0);return o.current=async()=>{try{let e=await ybe();if(!a.current)return;n(e),i(null)}catch(e){a.current&&i(e instanceof Error?e.message:z9(`common.unknownError`))}},(0,s.useEffect)(()=>{a.current=!0,o.current();let t=setInterval(()=>void o.current(),e);return()=>{a.current=!1,clearInterval(t)}},[e]),{view:t,error:r,refresh:()=>o.current()}}function Mbe({connectionState:e}){let{t}=L9();switch(e){case`connected`:return(0,q.jsx)(cQ,{variant:`success`,children:t(`hubConfig.connection.connected`)});case`unpaired`:return(0,q.jsx)(cQ,{variant:`warning`,children:t(`hubConfig.connection.unpaired`)});case`unconfigured`:return(0,q.jsx)(cQ,{variant:`default`,children:t(`hubConfig.connection.unconfigured`)});case`certificate-rejected`:return(0,q.jsx)(cQ,{variant:`danger`,children:t(`hubConfig.connection.certificateRejected`)});case`disconnected`:return(0,q.jsx)(cQ,{variant:`danger`,children:t(`hubConfig.connection.disconnected`)})}}function Nbe(e,t,n){return t?.state===`paired`||t===null&&n?e(`hubConfig.pairingState.paired`):t?.state===`pending`?e(`hubConfig.pairingState.requested`):e(`hubConfig.pairingState.unpaired`)}function Pbe({status:e,onSaved:t}){let[n,r]=(0,s.useState)(!1),[i,a]=(0,s.useState)(``),[o,c]=(0,s.useState)(!1),[l,u]=(0,s.useState)(null),{t:d}=L9();(0,s.useEffect)(()=>{n||a(e?.name??``)},[e?.name,n]);let f=(0,s.useCallback)(async()=>{let n=i.trim();if(n.length===0||n===e?.name){r(!1);return}c(!0),u(null);try{let e=await I9(`/api/agent/config`,{name:n});if(e.success===!1){u(e.error??d(`hubConfig.name.saveFailed`));return}r(!1),u(d(`hubConfig.name.saved`)),await t().catch(()=>void 0)}catch(e){u(d(`hubConfig.name.saveFailedWith`,{error:e instanceof Error?e.message:d(`common.unknownError`)}))}finally{c(!1)}},[i,e?.name,t,d]);return(0,q.jsxs)(`div`,{className:`border-t border-border pt-3 space-y-2`,children:[n?(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(K3,{htmlFor:`agent-name`,className:`text-[10px] text-foreground-subtle`,children:d(`hubConfig.name.label`)}),(0,q.jsx)(JZ,{id:`agent-name`,type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:d(`hubConfig.name.placeholder`)}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsxs)(uQ,{type:`button`,variant:`primary`,size:`sm`,onClick:()=>void f(),disabled:o,children:[(0,q.jsx)(jG,{className:`h-3 w-3`}),d(o?`common.saving`:`common.save`)]}),(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!1),disabled:o,children:d(`common.cancel`)})]})]}):(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(!0),children:d(`hubConfig.name.rename`)}),l!==null&&(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:l})]})}function J9({status:e,onStatusRefresh:t}){let{t:n}=L9(),r=jbe(),i=r.view,a=e===null?`unpaired`:O9(e),o=e?.discoveredNodes??[],c=e?.hubAddress??e?.resolvedHubAddress??null,l=o.find(e=>e.isHub),u=l===void 0?null:k9(l,c).replace(/ \(hub\)$/,``),d=i?.state===`paired`||i===null&&e?.paired===!0,f=i?.pending??[],p=H9(f)||bbe(window.location.hostname),m=p||e!==null,h=i===null&&r.error!==null&&r.error.includes(`404`),g=(0,s.useCallback)(async()=>{await r.refresh(),await t().catch(()=>void 0)},[r,t]);return(0,q.jsx)(Q3,{headingId:`agent-hub-connection`,title:n(`hubConfig.title`),icon:PG,actions:(0,q.jsx)(Mbe,{connectionState:a}),children:(0,q.jsxs)(`div`,{className:`${G3} space-y-3`,children:[a===`certificate-rejected`&&(0,q.jsx)(y3,{variant:`warning`,title:n(`hubConfig.certRejected.title`),message:n(`hubConfig.certRejected.message`)}),a===`disconnected`&&d&&(0,q.jsx)(y3,{variant:`warning`,title:n(`hubConfig.unreachable.title`),message:n(`hubConfig.unreachable.message`)}),(0,q.jsxs)(`div`,{className:`space-y-0`,children:[c!==null&&(0,q.jsx)(Z3,{label:n(`hubConfig.hubAddress`),valueClassName:`font-mono`,children:c}),(0,q.jsx)(Z3,{label:n(`hubConfig.pairing`),children:Nbe(n,i,e?.paired===!0)}),o.length>0&&(0,q.jsx)(Z3,{label:n(`hubConfig.clusterNodes`),children:(0,q.jsx)(`span`,{className:`flex flex-wrap gap-1`,children:o.filter(e=>!e.id.includes(`/`)).map(e=>(0,q.jsx)(cQ,{variant:e.isHub?`info`:`default`,className:`text-[9px] font-mono`,title:e.id,children:k9(e,c)},e.id))})})]}),h&&(0,q.jsx)(y3,{variant:`warning`,message:n(`hubConfig.unsupported`)}),!h&&i===null&&r.error!==null&&(0,q.jsx)(y3,{variant:`warning`,title:n(`hubConfig.statusUnavailable`),message:r.error,onRetry:()=>void r.refresh()}),i!==null&&d&&(0,q.jsx)(Tbe,{hub:e?.pairedHub??null,hubName:u,onForgotten:g}),i!==null&&!d&&f.length>0&&(0,q.jsx)(Obe,{pending:f,onChanged:g}),i!==null&&!d&&f.length===0&&(0,q.jsx)(`p`,{className:`text-xs text-foreground-subtle`,children:n(`hubConfig.emptyPairing`)}),i!==null&&!d&&p&&i.lockedOut===!0&&(0,q.jsx)(kbe,{local:!0,onReset:g}),m?(0,q.jsx)(Pbe,{status:e,onSaved:t}):(0,q.jsx)(`p`,{className:`border-t border-border pt-3 text-[11px] text-foreground-subtle`,children:n(`hubConfig.name.remoteHint`)})]})})}function Fbe(e,t){switch(t){case`data-root`:return e(`updates.bootMode.dataRoot`);case`baked`:return e(`updates.bootMode.baked`);case`workspace`:return e(`updates.bootMode.workspace`);default:return t}}function Y9({text:e}){return(0,q.jsxs)(`div`,{className:`flex items-start gap-1.5 text-[11px] text-foreground-subtle`,children:[(0,q.jsx)(KW,{className:`h-3 w-3 shrink-0 mt-px`}),(0,q.jsx)(`span`,{children:e})]})}function Ibe(e,t,n){return t===`checking`?e(`updates.state.checking`):t===`staging`?e(`updates.state.staging`):t===`pending-restart`?n?e(`updates.state.pendingRestartVersion`,{version:n}):e(`updates.state.pendingRestart`):null}function Lbe({view:e,onCheck:t,onApply:n,checking:r,startError:i}){let[a,o]=(0,s.useState)(!1),{t:c}=L9(),{status:l,lastApply:u,applyInFlight:d,lastCheckError:f}=e,p=Ibe(c,l.updateState,l.pendingVersion),m=d||l.updateState===`staging`,h=l.updateState===`pending-restart`;return(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 flex-wrap`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,q.jsx)(`span`,{className:`text-xs font-mono truncate`,children:l.packageName}),l.updateAvailable&&(0,q.jsx)(cQ,{variant:`warning`,className:`text-[10px]`,children:c(`updates.updateAvailable`)})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,onClick:t,disabled:r||m,children:c(r?`updates.checking`:`updates.check`)}),!h&&l.updateAvailable&&(0,q.jsxs)(uQ,{type:`button`,variant:a?`danger`:`primary`,size:`sm`,onClick:()=>{if(!a){o(!0);return}o(!1),n()},disabled:m,children:[(0,q.jsx)(AW,{className:`h-3 w-3`}),a?c(`updates.confirmApply`):l.latestVersion?c(`updates.applyTo`,{version:l.latestVersion}):c(`updates.apply`)]})]})]}),(0,q.jsxs)(`div`,{className:`space-y-0`,children:[(0,q.jsx)(Z3,{label:c(`updates.running`),valueClassName:`font-mono`,children:l.runningVersion??`—`}),(0,q.jsx)(Z3,{label:c(`updates.published`),valueClassName:`font-mono`,children:l.latestVersion??c(`updates.notChecked`)}),(0,q.jsx)(Z3,{label:c(`updates.loadedFrom`),children:Fbe(c,l.bootMode)})]}),a&&!m&&(0,q.jsx)(y3,{message:c(`updates.restartWarning`),variant:`warning`}),m&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[11px] text-warning`,children:[(0,q.jsx)(TG,{className:`h-3 w-3 animate-spin`}),p??c(`updates.state.working`)]}),!m&&h&&p&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[11px] text-warning`,children:[(0,q.jsx)(TG,{className:`h-3 w-3 animate-spin`}),p]}),i!==null&&(0,q.jsx)(y3,{message:i}),u!==null&&!u.accepted&&(0,q.jsx)(y3,{message:u.message}),u!==null&&u.accepted&&(0,q.jsx)(Y9,{text:u.message}),f!==null&&(0,q.jsx)(y3,{message:c(`updates.checkFailed`,{error:f})}),(0,q.jsx)(Y9,{text:c(`updates.npmNote`)})]})}function Rbe({locked:e,onUnauthorized:t}){let{t:n}=L9(),[r,i]=(0,s.useState)(null),[a,o]=(0,s.useState)(null),[c,l]=(0,s.useState)(!1),[u,d]=(0,s.useState)(null),f=(0,s.useCallback)(e=>{if(e instanceof N9){t();return}o(e instanceof Error?e.message:z9(`common.unknownError`))},[t]),p=(0,s.useCallback)(async()=>{try{i(await F9(`/api/agent/server-update`)),o(null)}catch(e){f(e)}},[f]);(0,s.useEffect)(()=>{if(e)return;let t=!0,n=()=>{t&&p()};n();let r=setInterval(n,5e3);return()=>{t=!1,clearInterval(r)}},[e,p]);let m=(0,s.useCallback)(async()=>{l(!0);try{await I9(`/api/agent/server-update/check`,{}),await p()}catch(e){o(e instanceof Error?e.message:z9(`updates.checkRequestFailed`))}finally{l(!1)}},[p]),h=(0,s.useRef)(!1);(0,s.useEffect)(()=>{e||h.current||r===null||!r.available||r.status.latestVersion!==null||r.status.updateState!==`idle`||(h.current=!0,m())},[e,r,m]);let g=(0,s.useCallback)(async()=>{d(null);try{let e=await I9(`/api/agent/server-update/apply`,{});!e.started&&e.message!==null&&d(e.message),await p()}catch(e){d(e instanceof Error?e.message:z9(`updates.applyFailed`))}},[p]);return(0,q.jsx)(Q3,{headingId:`agent-updates`,title:n(`updates.title`),icon:AW,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-4`,children:[a!==null&&(0,q.jsx)(y3,{message:n(`updates.readFailed`,{error:a})}),r===null&&a===null&&(0,q.jsx)(`div`,{className:`text-[11px] text-foreground-subtle`,children:n(`common.loading`)}),r!==null&&(r.available?(0,q.jsx)(Lbe,{view:r,onCheck:()=>void m(),onApply:()=>void g(),checking:c,startError:u}):(0,q.jsx)(Y9,{text:r.reason}))]})})}function X9(e){let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t}d ${n}h ${r}m`:n>0?`${n}h ${r}m`:`${r}m`}function zbe({text:e}){let[t,n]=(0,s.useState)(!1);return(0,q.jsxs)(uQ,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>n(e=>!e),title:e,className:`h-auto py-0.5 px-1.5 text-[10px] text-danger hover:text-danger text-left max-w-[10rem] sm:max-w-[14rem] ${t?`whitespace-normal break-words`:``}`,children:[(0,q.jsx)(iK,{className:`h-3 w-3 shrink-0 mt-px`}),(0,q.jsx)(`span`,{className:t?`break-words`:`truncate`,children:e})]})}function Z9({label:e,value:t,icon:n,tone:r}){return(0,q.jsxs)(b3,{variant:`bordered`,className:`p-3 sm:p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 mb-2`,children:[(0,q.jsx)(n,{className:`h-4 w-4 ${r===`danger`?`text-danger`:r===`primary`?`text-primary`:`text-foreground-subtle`}`}),(0,q.jsx)(`span`,{className:`text-[10px] uppercase tracking-wider text-foreground-subtle font-medium`,children:e})]}),(0,q.jsx)(`div`,{className:`text-xl font-bold text-foreground`,children:t})]})}function Bbe({productVersion:e,serverVersion:t,appVersion:n}){let{t:r}=L9(),i=typeof window<`u`?window.camstackAgentApp:void 0,[a,o]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!i)return;let e=!0;i.getUpdateState().then(t=>{e&&o(t)});let t=i.onUpdateState(e=>o(e));return()=>{e=!1,t()}},[i]);let c=Qye({productVersion:e??n??i?.version??null,serverVersion:t??null,fallbackVersion:n??i?.version??null}),l=c.kind===`both`?r(`dashboard.version.both`,{product:c.productLabel,server:c.serverVersion}):c.kind===`product`?c.productLabel:c.kind===`server`?r(`dashboard.version.serverOnly`,{version:c.serverVersion}):c.kind===`fallback`?`v${c.version}`:null;return l===null&&!i?null:(0,q.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0 max-w-full flex-wrap justify-end`,children:[l!==null&&(0,q.jsx)(`span`,{"data-testid":`release-identity`,className:`text-[10px] font-mono text-foreground-subtle`,children:l}),i&&a?.downloaded&&(0,q.jsxs)(uQ,{type:`button`,variant:`primary`,size:`sm`,onClick:()=>i.installUpdate(),children:[(0,q.jsx)(AW,{className:`h-3 w-3`}),a.version?r(`dashboard.version.restartToUpdateTo`,{version:a.version}):r(`dashboard.version.restartToUpdate`)]}),i&&a&&!a.downloaded&&a.available&&(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] text-warning`,children:[(0,q.jsx)(TG,{className:`h-3 w-3 animate-spin`}),r(`dashboard.version.downloading`)]}),i&&a&&!a.available&&!a.downloaded&&(0,q.jsx)(uQ,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>void i.checkForUpdates(),disabled:a.checking,children:a.checking?r(`dashboard.version.checking`):r(`dashboard.version.check`)}),i&&a?.error!=null&&!a.checking&&(0,q.jsx)(zbe,{text:r(`dashboard.version.checkFailed`,{error:a.error})})]})}function Vbe({info:e}){let{t}=L9();return(0,q.jsx)(Q3,{headingId:`agent-process`,title:t(`dashboard.process.title`),icon:TW,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-0`,children:[(0,q.jsx)(Z3,{label:t(`dashboard.process.pid`),valueClassName:`font-mono`,children:e?.pid??`—`}),(0,q.jsx)(Z3,{label:t(`dashboard.process.uptime`),valueClassName:`font-mono`,children:e?X9(e.uptimeSeconds):`—`}),(0,q.jsx)(Z3,{label:t(`dashboard.process.memory`),valueClassName:`font-mono`,children:e?`${e.rssMB} MB`:`—`}),(0,q.jsx)(Z3,{label:t(`dashboard.process.heap`),valueClassName:`font-mono`,children:e?`${e.heapUsedMB} / ${e.heapTotalMB} MB`:`—`})]})})}function Q9({value:e,max:t,tone:n}){let r=t>0?Math.min(100,e/t*100):0;return(0,q.jsx)(`div`,{className:`h-2 bg-surface-hover rounded-full overflow-hidden`,children:(0,q.jsx)(`div`,{className:`h-full rounded-full transition-all ${n===`danger`?`bg-danger`:`bg-primary`}`,style:{width:`${r}%`}})})}function Hbe({status:e}){let{t}=L9(),n=e?.decode?.hwaccel??`—`,r=e?.decode?.driDevice??null,i=e?.detectionDevices??[];return(0,q.jsx)(Q3,{headingId:`agent-decode-detection`,title:t(`dashboard.decode.title`),icon:EW,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-0`,children:[(0,q.jsx)(Z3,{label:t(`dashboard.decode.hwaccel`),valueClassName:`font-mono`,children:n}),(0,q.jsx)(Z3,{label:t(`dashboard.decode.driDevice`),valueClassName:`font-mono`,children:r??`—`}),(0,q.jsx)(Z3,{label:t(`dashboard.decode.detectionDevices`),children:i.length>0?(0,q.jsx)(`span`,{className:`flex flex-wrap gap-1`,children:i.map(e=>(0,q.jsx)(cQ,{variant:`info`,className:`text-[10px] font-mono`,children:e},e))}):(0,q.jsx)(`span`,{className:`text-foreground-subtle`,children:t(`dashboard.decode.software`)})})]})})}function Ube({hubHttpsOrigin:e,nodeId:t}){let[n,r]=(0,s.useState)(e),[i,a]=(0,s.useState)(t),[o,c]=(0,s.useState)(!1),{t:l}=L9();(0,s.useEffect)(()=>{let e=!1;return fetch(`/api/agent/unlock-info`).then(e=>e.ok?e.json():null).then(t=>{e||t===null||(t.paired===!1&&c(!0),typeof t.hubHttpsOrigin==`string`&&r(t.hubHttpsOrigin),typeof t.nodeId==`string`&&a(t.nodeId))}).catch(()=>{}),()=>{e=!0}},[]);let u=e??n,d=t??i,f=(0,s.useCallback)(()=>{if(u===null||d===null)return;let e=`${window.location.origin}/`,t=new URL(`/system/nodes`,u);t.searchParams.set(`unlockNode`,d),t.searchParams.set(`returnTo`,e),window.location.assign(t.toString())},[u,d]);return o?(0,q.jsx)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,q.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,q.jsx)(p9,{icon:NG,title:l(`dashboard.defaultName`),subtitle:(0,q.jsx)(`span`,{className:`font-mono`,children:d??`...`}),children:(0,q.jsx)(J9,{status:null,onStatusRefresh:async()=>window.location.reload()})})})}):(0,q.jsx)(`div`,{className:`min-h-screen bg-background text-foreground flex items-center justify-center p-2 sm:p-4`,children:(0,q.jsxs)(b3,{variant:`bordered`,className:`w-full max-w-sm p-6 space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(NG,{className:`h-4 w-4 text-primary`}),(0,q.jsx)(`h1`,{className:`text-sm font-semibold`,children:l(`dashboard.locked.title`)})]}),(0,q.jsx)(`p`,{className:`text-xs text-foreground-subtle`,children:l(`dashboard.locked.body`)}),(0,q.jsx)(uQ,{type:`button`,variant:`primary`,className:`w-full`,disabled:u===null||d===null,onClick:f,children:l(`dashboard.locked.continue`)}),u===null&&(0,q.jsx)(`p`,{className:`text-[11px] text-foreground-subtle`,children:l(`dashboard.locked.hubUnknown`)})]})})}function Wbe(){let{t:e}=L9(),[t,n]=(0,s.useState)(null),[r,i]=(0,s.useState)(!1),[a,o]=(0,s.useState)(null),[c,l]=(0,s.useState)(!1),[u,d]=(0,s.useState)(`idle`),f=(0,s.useCallback)(async()=>{n(await F9(`/api/agent/status`)),i(!0),o(null)},[]);(0,s.useEffect)(()=>{let e=new URLSearchParams(window.location.search),t=e.get(`ticket`);if(t===null||t.length===0)return;let n=!1;return d(`redeeming`),$ye(t).then(()=>{if(n)return;e.delete(`ticket`);let t=e.toString();window.history.replaceState(null,``,t.length>0?`${window.location.pathname}?${t}`:window.location.pathname),d(`idle`),l(!1)}).catch(()=>{n||(d(`failed`),l(!0))}),()=>{n=!0}},[]),(0,s.useEffect)(()=>{if(c||u===`redeeming`)return;let e=!0,t=async()=>{try{let t=await F9(`/api/agent/status`);e&&(n(t),i(!0),o(null))}catch(t){if(e){if(t instanceof N9){l(!0);return}i(!1),o(t instanceof Error?t.message:z9(`common.unknownError`))}}};t();let r=setInterval(()=>void t(),3e3);return()=>{e=!1,clearInterval(r)}},[c,u]);let p=t&&t.freeMemoryMB!==null&&t.freeMemoryMB!==void 0?t.totalMemoryMB-t.freeMemoryMB:null,m=typeof t?.memoryPercent==`number`?Math.round(t.memoryPercent):null,h=m===null?e(`dashboard.resources.unknown`):`${m}%`,g=t?.cpuPercent??0;if(u===`redeeming`)return(0,q.jsx)(`div`,{className:`min-h-screen bg-background text-foreground flex items-center justify-center p-4 text-sm text-foreground-subtle`,children:e(`dashboard.unlocking`)});if(c)return(0,q.jsx)(Ube,{hubHttpsOrigin:t?.hubHttpsOrigin??null,nodeId:t?.nodeId??null});let _=O9(t),v=!r,y=v||_===`disconnected`||_===`certificate-rejected`?pK:mK,b=v?a??e(`dashboard.unreachable`):e(_===`connected`?`dashboard.hub.connected`:_===`unconfigured`?`dashboard.hub.unconfigured`:_===`unpaired`?`dashboard.hub.unpaired`:_===`certificate-rejected`?`dashboard.hub.certificateRejected`:`dashboard.hub.disconnected`),x=v?`danger`:_===`connected`?`success`:_===`unconfigured`||_===`unpaired`?`warning`:`danger`,S=(t?.localIps??[]).filter(e=>!e.includes(`:`)).join(`, `)||`—`;return(0,q.jsx)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,q.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,q.jsxs)(p9,{icon:NG,title:t?.name??e(`dashboard.defaultName`),subtitle:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`font-mono`,children:t?.nodeId??`...`}),t?.hostname&&(0,q.jsxs)(`span`,{className:`ml-2`,children:[`· `,t.hostname]}),S!==`—`&&(0,q.jsxs)(`span`,{className:`ml-2`,children:[`· `,S]})]}),actions:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Bbe,{productVersion:t?.productVersion,serverVersion:t?.serverVersion,appVersion:t?.appVersion}),(0,q.jsxs)(cQ,{variant:x,className:`inline-flex items-center gap-1.5 shrink-0`,children:[(0,q.jsx)(y,{className:`h-3 w-3`}),(0,q.jsx)(`span`,{className:`max-w-[8rem] sm:max-w-none truncate`,children:b})]})]}),children:[(0,q.jsx)(Q3,{headingId:`agent-overview`,title:e(`dashboard.overview.title`),icon:YU,children:(0,q.jsxs)(`div`,{className:`${G3} grid grid-cols-2 md:grid-cols-4 gap-2 sm:gap-4`,children:[(0,q.jsx)(Z9,{icon:EW,label:e(`dashboard.overview.cpu`),value:`${g}%`,tone:g>80?`danger`:`primary`}),(0,q.jsx)(Z9,{icon:rG,label:e(`dashboard.overview.memory`),value:h,tone:m!==null&&m>90?`danger`:`primary`}),(0,q.jsx)(Z9,{icon:hG,label:e(`dashboard.overview.addons`),value:String(t?.addons.length??0)}),(0,q.jsx)(Z9,{icon:vW,label:e(`dashboard.overview.uptime`),value:t?X9(t.uptime):`—`})]})}),(0,q.jsx)(J9,{status:t,onStatusRefresh:f}),(0,q.jsx)(pbe,{locked:c,onUnauthorized:()=>l(!0)}),(0,q.jsx)(Rbe,{locked:c,onUnauthorized:()=>l(!0)}),(0,q.jsx)(Hbe,{status:t}),(0,q.jsx)(Q3,{headingId:`agent-resources`,title:e(`dashboard.resources.title`),icon:BW,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-4`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`flex justify-between text-xs text-foreground-subtle mb-1`,children:[(0,q.jsx)(`span`,{children:t?.cpuModel?e(`dashboard.resources.cpuCoresModel`,{cores:t.cpuCores??0,model:t.cpuModel}):e(`dashboard.resources.cpuCores`,{cores:t?.cpuCores??0})}),(0,q.jsxs)(`span`,{children:[g,`%`]})]}),(0,q.jsx)(Q9,{value:g,max:100,tone:g>80?`danger`:`primary`})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`flex justify-between text-xs text-foreground-subtle mb-1`,children:[(0,q.jsx)(`span`,{children:p===null?e(`dashboard.resources.memoryUnknown`):e(`dashboard.resources.memory`,{used:p,total:t?.totalMemoryMB??0})}),(0,q.jsx)(`span`,{children:h})]}),(0,q.jsx)(Q9,{value:m??0,max:100,tone:m!==null&&m>90?`danger`:`primary`})]})]})}),(0,q.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4 sm:gap-6`,children:[(0,q.jsx)(Q3,{headingId:`agent-system-host`,title:e(`dashboard.host.title`),icon:NG,children:(0,q.jsxs)(`div`,{className:`${G3} space-y-0`,children:[(0,q.jsxs)(Z3,{label:e(`dashboard.host.platform`),valueClassName:`font-mono`,children:[t?.platform,` / `,t?.arch]}),(0,q.jsx)(Z3,{label:e(`dashboard.host.hostname`),valueClassName:`font-mono`,children:t?.hostname??`—`}),(0,q.jsx)(Z3,{label:e(`dashboard.host.uptime`),valueClassName:`font-mono`,children:t?X9(t.uptime):`—`}),(0,q.jsx)(Z3,{label:e(`dashboard.host.memory`),valueClassName:`font-mono`,children:t&&p!==null?`${p} / ${t.totalMemoryMB} MB`:`—`}),(0,q.jsx)(Z3,{label:e(`dashboard.host.ipv4`),valueClassName:`font-mono`,children:S})]})}),(0,q.jsx)(Vbe,{info:t?.agentProcess})]})]})})})}rbe();var $9=document.getElementById(`root`);$9&&(0,Lce.createRoot)($9).render((0,q.jsx)(nbe,{children:(0,q.jsx)(Wbe,{})}));export{NW as C,WW as S,K as T,qY as _,Jpe as a,OG as b,spe as c,h3 as d,g3 as f,nQ as g,pQ as h,Hpe as i,Vfe as l,Hce as m,$3 as n,Gpe as o,Uce as p,Kpe as r,e6 as s,Rye as t,Ife as u,rK as v,sW as w,aG as x,YG as y};
|