@rr0/ufoathome 0.81.9 → 0.82.0

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.
Files changed (37) hide show
  1. package/{dist-embed-sighting/GLTFLoader-D3g0zZHB.js → dist-embed-scene/GLTFLoader-BiWo7Jv-.js} +1 -1
  2. package/dist-embed-scene/TraceSystem-CPyRzYo1.js +393 -0
  3. package/dist-embed-scene/UfoMessages_es-8Us-3wIq.js +1 -0
  4. package/dist-embed-scene/UfoMessages_fr-BMafKxyw.js +1 -0
  5. package/dist-embed-scene/UfoMessages_it-C7cNoyQt.js +1 -0
  6. package/dist-embed-scene/rr0-scene.mjs +312 -309
  7. package/{dist-embed-sighting-editor/sightingSchema-DOOSOVWK.js → dist-embed-scene/sightingSchema-DPmD0qU1.js} +1 -1
  8. package/{dist-embed-sighting-editor/GLTFLoader-DSbhUTN3.js → dist-embed-sighting/GLTFLoader-Chc8N3y_.js} +1 -1
  9. package/dist-embed-sighting/TraceSystem-D2JZ_egI.js +393 -0
  10. package/dist-embed-sighting/UfoMessages_es-8Us-3wIq.js +1 -0
  11. package/dist-embed-sighting/UfoMessages_fr-BMafKxyw.js +1 -0
  12. package/dist-embed-sighting/UfoMessages_it-C7cNoyQt.js +1 -0
  13. package/dist-embed-sighting/rr0-sighting.mjs +314 -311
  14. package/dist-embed-sighting/{sightingSchema-DOOSOVWK.js → sightingSchema-DPmD0qU1.js} +1 -1
  15. package/dist-embed-sighting-editor/GLTFLoader-Bw5fsIgy.js +1 -0
  16. package/dist-embed-sighting-editor/KmlImport-BsDWuc4E.js +1 -0
  17. package/dist-embed-sighting-editor/{SightingEditorMessages_es-CW9mOpGF.js → SightingEditorMessages_es-haya8de4.js} +1 -1
  18. package/dist-embed-sighting-editor/{SightingEditorMessages_fr-ChwN_TQe.js → SightingEditorMessages_fr-BvyDX5ao.js} +1 -1
  19. package/dist-embed-sighting-editor/{SightingEditorMessages_it-DQeVGyQG.js → SightingEditorMessages_it-YB4FEHYm.js} +1 -1
  20. package/dist-embed-sighting-editor/TraceSystem-zKycyfkp.js +393 -0
  21. package/dist-embed-sighting-editor/UfoMessages_es-8Us-3wIq.js +1 -0
  22. package/dist-embed-sighting-editor/UfoMessages_fr-BMafKxyw.js +1 -0
  23. package/dist-embed-sighting-editor/UfoMessages_it-C7cNoyQt.js +1 -0
  24. package/dist-embed-sighting-editor/browser-c3U3mMxj.js +1 -0
  25. package/dist-embed-sighting-editor/rr0-sighting-editor.mjs +296 -283
  26. package/{dist-embed-scene/sightingSchema-DOOSOVWK.js → dist-embed-sighting-editor/sightingSchema-DPmD0qU1.js} +1 -1
  27. package/package.json +1 -1
  28. package/dist-embed-scene/GLTFLoader-BumifFuq.js +0 -1
  29. package/dist-embed-scene/UfoMessages_es-Cm0EH1RY.js +0 -1
  30. package/dist-embed-scene/UfoMessages_fr-BnjRvJ7U.js +0 -1
  31. package/dist-embed-scene/UfoMessages_it-BsE5MTYw.js +0 -1
  32. package/dist-embed-sighting/UfoMessages_es-Cm0EH1RY.js +0 -1
  33. package/dist-embed-sighting/UfoMessages_fr-BnjRvJ7U.js +0 -1
  34. package/dist-embed-sighting/UfoMessages_it-BsE5MTYw.js +0 -1
  35. package/dist-embed-sighting-editor/UfoMessages_es-Cm0EH1RY.js +0 -1
  36. package/dist-embed-sighting-editor/UfoMessages_fr-BnjRvJ7U.js +0 -1
  37. package/dist-embed-sighting-editor/UfoMessages_it-BsE5MTYw.js +0 -1
@@ -1 +1 @@
1
- const e={color:"Colore",transparency:"Trasparenza",halo:"Alone",blur:"Sfocatura",brightness:"Brillantezza",shapeTitle:"Nome",utcOffset:"Fuso orario",cloudBase:"Base delle nuvole",elevation:"Altitudine",heightAboveGround:"Altezza dal suolo",duration:"Durata",placeName:"Luogo",latitude:"Latitudine",longitude:"Longitudine",heading:"Orientamento",pitch:"Inclinazione",roll:"Rollio",sway:"Oscillazione a riposo",swayTitle:"Quanto il corpo che regge lo strumento muove la vista quando non cammina: 1 per una persona in piedi, 0 per un treppiede. Vuoto: 1 (0 se il resoconto dice che l'osservatore era paralizzato)",lightPollution:"Cielo notturno",lightPollutionTitle:"Lo zenit di una notte senza Luna in questo luogo, in magnitudini per secondo d'arco quadrato, come lo legge uno Sky Quality Meter o lo dà l'atlante mondiale della brillanza artificiale del cielo (Falchi et al. 2016, lightpollutionmap.info, «SQM»). 22 è un cielo naturale; una periferia è intorno a 19, un centro città a 17. Vuoto: un cielo naturale",observationTime:"Inizio dell'osservazione",observationEndTime:"Fine dell'osservazione",assessmentGroup:"Valutazione",assessmentNames:{coverage:"Dati dell'osservatore"},assessmentVerdicts:{"hynek.nl":"NL — luce notturna","hynek.dd":"DD — disco diurno","hynek.rv":"RV — radar-visivo","hynek.ce1":"IR1 — incontro ravvicinato","hynek.ce2":"IR2 — con traccia fisica","hynek.ce3":"IR3 — con entità"},observerGroup:"Osservatore",observerId:"ID",observerTitle:"Titolo",observerLastName:"Cognome",observerFirstNames:"Nomi",sightingId:"ID",tags:"Etichette",cloudCover:"Copertura nuvolosa",highCloudCover:"Nubi di ghiaccio (cirri)",focalLength:"Lunghezza focale",fieldOfView:"Campo visivo",aperture:"Apertura",exposure:"Esposizione",focusDistance:"Messa a fuoco a",iceCrystalAlignment:"Allineamento dei cristalli",cloudDarkness:"Oscurità delle nuvole",precipitationType:"Precipitazioni",precipitationNone:"Nessuna",precipitationRain:"Pioggia",precipitationSnow:"Neve",precipitationHail:"Grandine",precipitationIntensity:"Intensità",windDirection:"Direzione del vento",windSpeed:"Velocità del vento",storm:"Temporale",cloudsGroup:"Nuvole",precipitationGroup:"Precipitazioni",windGroup:"Vento",soundKind:"Suono",soundNone:"Nessuno (silenzioso)",soundHum:"Ronzio",soundWhistle:"Fischio",soundRumble:"Rombo",soundCrackle:"Crepitio",soundVolume:"Volume",soundPitch:"Tono",soundSrc:"Registrazione",instrument:"Osservato con",decorAircraft:"Aeromobile",decorEntity:"Essere",decorAltitude:"Altitudine",decorLights:"Luci",decorLightsNone:"nessuna",decor:"Ambiente",decorBuilding:"Edificio",decorTree:"Albero",decorShrub:"Cespuglio",decorBridge:"Ponte",decorCrop:"Filare di coltura",decorMound:"Mucchio di pietre",decorStreetlight:"Lampione",decorVehicle:"Veicolo",decorObserver:"Altro osservatore",decorEast:"Distanza a est",decorNorth:"Distanza a nord",decorHeading:"Orientamento",decorColor:"Colore",decorLit:"Acceso",decorTitle:"Nome",milestones:"Momenti",milestoneLabel:"Etichetta",milestoneNote:"Cosa succede",addMilestone:"Dai un nome a questo momento",deleteMilestone:"Elimina momento",goToMilestone:"Vai a questo momento",confirmAccept:"Elimina",confirmDecline:"Annulla",decorWidth:"Larghezza",decorLength:"Lunghezza",decorHeight:"Altezza",decorModel:"Modello 3D",decorModelNone:"Forma integrata",decorModelAdvanced:"Modello da un indirizzo",decorModelFromCatalogue:"Dal catalogo, con cui la registrazione lo nomina. Modifica un campo e diventerà l'indirizzo proprio di questa registrazione.",decorModelUrl:"Indirizzo glTF/GLB",decorModelTitle:"Nome del modello",decorModelAuthor:"Autore",decorModelLicense:"Licenza",decorModelSource:"Provenienza",decorFloors:"Piani",decorOccupiedFloor:"Piano occupato",decorObserverSide:"Posizione dell'osservatore",decorObserverSideNone:"Non presente",decorWindows:"Finestre",decorSideFront:"Davanti",decorSideBehind:"Dietro",decorSideLeft:"Sinistra",decorSideRight:"Destra",decorSideFrontLeft:"Davanti a sinistra",decorSideFrontRight:"Davanti a destra",decorSideBehindLeft:"Dietro a sinistra",decorSideBehindRight:"Dietro a destra"},a={...e,oval:"Ovale",polygon:"Poligono",addVertex:"Aggiungi vertice",deleteVertex:"Elimina vertice",notAPolygon:"Seleziona una sola forma poligonale",tooFewVertices:"Una forma ha bisogno di almeno 3 punti",shape:"Forma",apparentWidth:"Larghezza apparente",realWidth:"Larghezza reale",distance:"Distanza",sizeLock:"Mantieni",lockNone:"niente",lockApparent:"la larghezza apparente",lockReal:"la larghezza reale",lockDistance:"la distanza",apparentSize:"{moons}× la Luna",utcOffsetPlaceholder:"dalla longitudine",realSizeBetween:"La scena delimita quella larghezza: tra {min} e {max} m, in base a ciò che attraversa",realSizeAtLeast:"La scena delimita quella larghezza: almeno {min} m, in base a ciò dietro cui passa",realSizeAtMost:"La scena delimita quella larghezza: al massimo {max} m, in base a ciò davanti a cui passa",realSizeUnknown:"Nulla nella scena delimita quella larghezza: è solo ciò che la distanza implica",realSizeOutside:" — la larghezza qui sopra ne è fuori",blurBound:"Sfocato attraverso questo obiettivo: più vicino di {max} m",blurBoundNoInstrument:"La sfocatura a occhio nudo non delimita alcuna distanza — un occhio non ha un diaframma con cui andare fuori fuoco",blurBoundNotAtInfinity:"La sfocatura delimita una distanza solo per un obiettivo messo a fuoco all'infinito: questo è a fuoco a {focus} m, il che sfoca da entrambi i lati",realSizeContradiction:"Contraddizione: gli attraversamenti dichiarati non possono essere tutti veri",realDistanceHere:" — cioè qui tra {min} e {max} m",clearDistanceHypothesis:"Ritira l'ipotesi di distanza",clearDistanceHypothesisTitle:"Torna a ciò che la registrazione stabilisce",depthStated:"Disegnato a {m} m, come dichiara la registrazione",depthHypothesis:"Disegnato a {m} m: la tua ipotesi — ciò che la scenografia ne nasconde è ciò che perderebbe una cosa così lontana",depthDerived:"Disegnato a {m} m, in base alla camminata stessa dell'osservatore",depthBounded:"Disegnato a {m} m, in base a ciò dietro e davanti a cui passa",depthConventional:"Disegnato a {m} m per convenzione: nulla nella registrazione stabilisce una distanza",addShape:"Aggiungi forma",deleteShape:"Elimina forma",play:"Riproduci",pause:"Pausa",noDuration:"Nessuna durata di osservazione",previousKeyframe:"Fotogramma chiave precedente",nextKeyframe:"Fotogramma chiave successivo",keyframeMark:"Fotogramma chiave",shapesTrack:"forme",observerTrack:"osservatore",weatherTrack:"meteo",soundTrack:"suono",group:"Raggruppa",ungroup:"Separa",bringToFront:"Porta in primo piano",sendToBack:"Porta in fondo",contextMenuDelete:"Elimina",confirmDeleteShape:"Eliminare {name}? L'operazione è irreversibile.",confirmDeleteShapes:"Eliminare {count} forme? L'operazione è irreversibile.",confirmDeleteMilestone:"Smettere di nominare il momento {name}? La registrazione in sé non cambia.",onlyOneShape:"C'è una sola forma",alreadyAtFront:"Questa forma è già in primo piano",alreadyAtBack:"Questa forma è già in fondo",needTwoShapesToGroup:"Seleziona almeno due forme per raggrupparle",notGrouped:"Questa forma non fa parte di un gruppo",multipleShapesSelected:"Più forme selezionate — selezionane una sola per modificare questo",samplingRate:"Frequenza di campionamento",currentPosition:"Posizione attuale",switchToElapsed:"clicca per mostrare il tempo trascorso",switchToClockTime:"clicca per mostrare l'ora del giorno",durationPlaceholder:"durata dell'osservazione",durationImprecise:"Queste date non determinano con sufficiente precisione una durata — inseriscila manualmente.",export:"Esporta",importFile:"Carica file JSON",importUrl:"Oppure carica da URL",importUrlPlaceholder:"https://…/sighting.json",importButton:"Carica",importError:"Impossibile caricare questa registrazione — controlla il file o l'URL e riprova.",importErrorCors:`Questo indirizzo risponde, ma il browser non ha il permesso di leggerlo da questa pagina. Il file in sé va bene: è il suo server che deve inviarlo con l'intestazione "Access-Control-Allow-Origin: *". Se il server non è tuo, è questo che devi chiedere al suo amministratore.`,importErrorMixedContent:"Una pagina sicura non può caricare un indirizzo che inizia con http://. Usa https:// se quel server lo offre.",importErrorUnreachable:"Nulla ha risposto a questo indirizzo. Controlla come è scritto e di essere connesso.",importErrorStatus:"Quel server ha risposto con un errore ({status}). Probabilmente l'indirizzo è sbagliato o il file è stato spostato.",importErrorMalformed:"Questo indirizzo ha risposto, ma ciò che è tornato non è una registrazione.",record:"Registra",stop:"Ferma",according:"secondo",sourceElevation:"Rilievo",sourceImagery:"Immagini",placeNamePlaceholder:"Valensole, Francia",searchPlace:"Localizza",placeMatch:"Corrispondenze",placeSearching:"Ricerca del luogo…",placeMatchFound:"luogo trovato",placeMatchesFound:"luoghi trovati",placeNotFound:"Nessun luogo con questo nome",placeSearchFailed:"Ricerca dei luoghi momentaneamente non disponibile",utcOffsetImplausible:"Questo fuso orario non corrisponde alla longitudine inserita, la cui ora solare è UTC{solar} — eppure la scena e il rilevamento meteo obbediscono a ciò che è dichiarato qui. Svuota il campo per ricavarlo dalla longitudine.",timeZoneManual:"scarto inserito",altitudeAboveSeaLevel:"Altitudine dell'osservatore sul livello del mare — il suolo del luogo inserito ne fissa il minimo: un osservatore sulle Alpi non è a 0 m.",groundAt:"suolo a {m} m",headingPlaceholder:"sconosciuto",edtfInvalid:"Data/ora EDTF non valida (es. 1965-07-01T05:00, 2025-06?, 2025~).",edtfPlaceholder:"AAAA-MM-GGThh:mm[?~%] o hh:mm",observationTimeHint:"EDTF — es. 1965-07-01T05:00, 2025-06? (incerto), 2025~ (approssimativo), o solo 05:00 se la data non è nota",observationEndTimeHint:"EDTF — es. 1965-07-01T05:10, 2025-06? (incerto), 2025~ (approssimativo), o solo 05:10 se la data non è nota",presetsGroupLabel:"Forma dell'UFO",description:"Descrizione",tagsPlaceholder:"separati da virgole",weather:"Meteo",shapeGroup:"Fenomeno",shapesSubgroup:"Forme",bodiesSubgroup:"Corpi",soundGroup:"Suono",temporalGroup:"Momento",timeQualifierExact:"Esatta",timeQualifierApproximate:"Approssimativa",timeQualifierUncertain:"Incerta",timeQualifierBoth:"Incerta e approssimativa",edtfModeTitle:"Scrivi invece una data imprecisa: solo un anno, un mese, un'ora senza data",locationGroup:"Luogo",observationGroup:"Osservazione",weatherWhilePlaying:"Metti in pausa la registrazione per indicare il tempo — mentre scorre, l'istante in cui verrebbe scritto si sposta",weatherInferred:"Dai rilevamenti",weatherInferredTitle:"Il meteo non è un resoconto: è un fatto misurabile, rilevato per la data, l'ora e il luogo dell'osservazione. Deseleziona per indicare le condizioni riferite dall'osservatore, che allora prevalgono sul rilevamento.",weatherLookingUp:"Ricerca del rilevamento…",weatherNeedsDateAndPlace:"Servono una data completa e un luogo per cercare il rilevamento",weatherNoRecord:"Nessun rilevamento per questa data e questo luogo",weatherLookupFailed:"Rilevamenti meteo momentaneamente irraggiungibili",lightPollutionLookingUp:"Consultazione dell'atlante…",lightPollutionFound:"{artificial} µcd/m² di luce artificiale,",lightPollutionNatural:"Nessuna luce artificiale qui,",lightPollutionOutside:"Fuori dall'atlante (da 85°N a 60°S),",lightPollutionFailed:"Atlante al momento irraggiungibile",lightPollutionTooEarly:"L'atlante descrive il {atlasYear}; il cielo del {year} era più buio, indicarlo se è noto",instrumentOutOfPeriod:"{name} — non di quest'epoca",unitMillimetres:"mm",unitDegrees:"°",fieldOfViewReadout:"{deg}° di campo",soundSrcPlaceholder:"URL di una registrazione reale",referenceGroup:"Foto",reference:"Foto",referenceTitle:"Nome",referenceSrc:"Indirizzo",referenceSrcPlaceholder:"https://…/photo.jpg",referenceKind:"Tipo",referencePhoto:"Foto",referencePanorama:"Panorama (360°)",referenceCredit:"Crediti",referenceCreditUrl:"Link dei crediti",referenceT:"Scattata a",referenceDrawing:"Disegno sopra",referenceOpacity:"Opacità",referenceHeading:"Direzione",referencePitch:"Beccheggio",referenceRoll:"Rollio",referenceFov:"Campo verticale",referenceUsePose:"Usa la posa dell'osservatore",addReferenceUrl:"Aggiungi da un indirizzo",addReferenceFile:"Aggiungi un file",deleteReference:"Elimina foto",referenceEmbedded:"{kb} kB incorporati nella registrazione — un indirizzo la terrebbe leggera",referenceUnreachable:"Impossibile caricare la foto: controlla l'indirizzo e che il suo sito permetta ad altri siti di leggerla",referenceRegisterHint:"Trascina per ruotare la foto, rotellina per cambiarne il campo; «Aggiungi un punto di riferimento» per indicare un dettaglio sulla foto, poi lo stesso nel rendering",referenceLandmarkPicture:"Punto di riferimento {n}: clicca il punto sulla foto",referenceLandmarkScene:"Punto di riferimento {n}: clicca lo stesso punto nel rendering",referenceLandmarkOffPicture:"Questo clic non cade sulla foto",referenceNotLoaded:"La foto non è ancora arrivata",referenceLandmarksFit:"{n} punti di riferimento — scarto medio di {deg}°",referenceLandmarks:"Punti di riferimento",addReferenceLandmark:"Aggiungi un punto di riferimento",deleteReferenceLandmark:"Elimina punto di riferimento",referenceLandmarkLabel:"Nome",referenceLandmarkLabelPlaceholder:"Albero che copre, recinzione…",referenceAdoptPose:"Adotta come posa dell'osservatore",referenceAdoptRationale:"Misurato sulla foto «{title}»: {n} punti di riferimento allineati, {deg}° di scarto residuo",referenceStreetSearch:"Foto stradali nei dintorni",referenceStreetSearching:"Ricerca di foto scattate nei dintorni…",referenceStreetNone:"Nessuna foto stradale entro {m} m (Panoramax)",referenceStreetFailed:"Impossibile raggiungere Panoramax",referenceStreetAdd:"Aggiungi",referenceStreetItem:"{distance} m a {bearing}°, {date}{panorama}",referenceStreetPanorama:" — 360°",referenceStreetTitle:"Foto stradale a {distance} m a {bearing}°, {date}",skyLine:"Cielo: {parts}",skyStarsEye:"stelle fino alla magnitudine {limit}, il limite che un occhio raggiungeva sotto questo cielo",skyStarsDeeper:"stelle fino alla magnitudine {limit} attraverso un {device} — {gain} magnitudini oltre le {eye} raggiunte dagli occhi dell'osservatore",skyStarsShallower:"stelle fino alla magnitudine {limit} attraverso un {device} — {gain} magnitudini al di qua delle {eye} raggiunte dagli occhi dell'osservatore",skyStarsCatalogue:", disegnate fino a {catalogue}, dove si ferma il catalogo di questo progetto",skyStarsNone:"nessuna stella si distingueva in un cielo così chiaro",skyDetails:"Mostra i rilevamenti completi",skyDetailsHide:"Nascondi i rilevamenti",skyShowerActive:"{name} — radiante a {altitude}° sopra l'orizzonte, {bearing} — circa {rate}/h sotto questo cielo, su un fondo sporadico di {sporadic}/h",skyShowerBelowHorizon:"{name} è attivo, ma il suo radiante è sotto l'orizzonte — non ha potuto produrre nulla",skyNothingActive:"nessuno sciame meteorico attivo in questa data — un fondo sporadico di circa {sporadic}/h",showMeteor:"Mostrami una meteora",skyComet:"La {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing}, coda lunga {tail}°",skyCometNoTail:"La {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing}",skyCometBelowHorizon:"La {name} c'era, di magnitudine {magnitude}, ma sotto l'orizzonte — nessuno qui l'ha vista",skyCometInDaylight:"La {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing} — ma a soli {elongation}° dal Sole",showComet:"Mostrami la cometa",skyNova:"La {name}, una stella nuova di magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing}",skyNovaBelowHorizon:"La {name} brillava di magnitudine {magnitude}, ma sotto l'orizzonte: nessuno qui l'ha vista",showNova:"Mostrami la stella nuova",skySatellitePasses:"{count} satelliti hanno attraversato questo cielo abbastanza luminosi da essere visti, il più luminoso {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing} alle {time}",skySatellitePassesOne:"un satellite ha attraversato questo cielo abbastanza luminoso da essere visto: {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing} alle {time}",skySatelliteTrain:"tra cui un treno di {count} Starlink lanciati il {date}",skySatellitePassesNone:"secondo gli elementi orbitali archiviati per quella data, nessun satellite illuminato ha attraversato questo cielo abbastanza luminoso da essere visto",skySatelliteElementsGap:"nessun elemento orbitale archiviato vicino a quella data",showSatellite:"Mostrami un satellite",skyOpticsPossible:"nubi di ghiaccio sufficienti, intorno {source}, per {forms}",skyOpticsAlignment:" — tutto tranne gli anelli richiede cristalli che cadono orizzontali, qui supposti allineati al {alignment}%, poiché nessun rilevamento lo indica",skyOpticsHalo22:"un anello di {angle}°",skyOpticsHalo46:"un anello di {angle}°",skyOpticsParhelia:"pareli a {angle}° da entrambi i lati",skyOpticsTangentArc:"un arco tangente sopra",skyOpticsParhelicCircle:"un cerchio bianco che fa il giro del cielo alla sua stessa altezza",skyOpticsCircumzenithal:"un arco circumzenitale a {angle}° di altezza",skyOpticsCircumhorizontal:"un arco circumorizzontale molto più in basso",skyOpticsPillar:"una colonna eretta sopra",skyOpticsNoIce:"nessuna nube di ghiaccio: né alone né pareli",skyOpticsHidden:"nubi di ghiaccio in quota, ma uno strato più basso tra loro e l'osservatore",skyOpticsSun:"al Sole",skyOpticsMoon:"alla Luna",skyBowPossible:"pioggia e sole sufficienti per {forms}",skyBowMoon:"pioggia sotto una Luna illuminata al {lit}%, sufficiente per {forms} — un arcobaleno lunare, che l'occhio vede come un arco bianco",skyGlowBand:"la Via Lattea a {contrast}× il fondo del cielo, a {altitude}° di altezza {bearing}",skyGlowCone:"la luce zodiacale a {contrast}× il fondo del cielo, a {altitude}° di altezza {bearing}, a {elongation}° dal Sole — un tenue cono di luce inclinato, dai bordi sfumati, svanito entro un'ora",skyGlowZodiacalBand:"la banda zodiacale a {contrast}× il fondo del cielo, a {altitude}° di altezza {bearing} — tutta l'eclittica debolmente accesa, che non è ciò che la gente riferisce",skyGlowMoon:"né Via Lattea né luce zodiacale: una Luna illuminata al {lit}% teneva il cielo a {sky} magnitudini per secondo d'arco quadrato, dove ne servono 22",skyGlowTwilight:"né Via Lattea né luce zodiacale: il crepuscolo teneva ancora il cielo a {sky} magnitudini per secondo d'arco quadrato, dove ne servono 22",skyGlowTowns:"né Via Lattea né luce zodiacale: il bagliore delle città teneva il cielo a {sky} magnitudini per secondo d'arco quadrato, dove ne servono 22",skyGlowNothingUp:"cielo abbastanza buio ({sky} magnitudini per secondo d'arco quadrato), ma né il piano galattico né l'eclittica vi stavano abbastanza in alto",skyBowPrimary:"un arco di {radius}° di raggio, con la sommità a {top}° di altezza",skyBowSecondary:"un secondo, più tenue, a {radius}°, con i colori invertiti",skyBowSourceTooHigh:"pioggia, ma con l'astro a {altitude}° di altezza nessun arco poteva superare l'orizzonte: si trovano a {radius}° dal punto opposto",skyBowHidden:"pioggia, ma uno strato continuo tra essa e la luce: nessun arco",skyBowNoSource:"pioggia, e niente di illuminato per farne un arco",skySatellitesLit:"l'ombra della Terra era a {height} km sopra l'osservatore, quindi l'orbita bassa era ancora al sole — {count} oggetti catalogati erano in orbita quel mese",skySatellitesLitWith:"l'ombra della Terra era a {height} km sopra l'osservatore, quindi l'orbita bassa era ancora al sole — {count} oggetti catalogati erano in orbita quel mese, tra cui {eras}",skySatellitesShadowed:"l'ombra della Terra era a {height} km sopra l'osservatore: dei {count} oggetti catalogati in orbita quel mese, niente in orbita bassa era illuminato",skySatellitesNotYet:"non era ancora stato messo niente in orbita",skySatellitesDaylight:"tutto ciò che era in orbita era illuminato, come sempre di giorno, e {eras} potevano superare in luminosità persino questo cielo",skySatellitesDaylightOne:"tutto ciò che era in orbita era illuminato, come sempre di giorno, e {eras} poteva superare in luminosità persino questo cielo",skyUnknown:"non determinabile senza una data e un luogo",lookAtDecor:"Guardalo",addDecor:"Aggiungi",deleteDecor:"Elimina elemento della scenografia",decorSightingUrl:"URL della sua registrazione",viewAccount:"Vedi il resoconto",noObserverRecording:"Nessun URL di registrazione per questo osservatore",masks:"Nasconde",addObserver:"Aggiungi osservatore",narrativePlaceholder:"Ciò che l'osservatore ha riferito, con parole sue",narrativeSource:"Redatto da",narrativeNeedsSetting:'Compila "{setting}" ({source}) per generare una ricostruzione dal resoconto',narrativeNeedsAsk:"Ancora niente da inviare",narrativeRemember:"Ricorda su questo dispositivo",narrativeDraft:"Genera ricostruzione",narrativeStop:"Ferma",narrativeWorking:"Lettura del resoconto…",narrativeApplied:"{count} campi scritti nell'editor",narrativeUnchanged:"Il resoconto non dice ancora nulla che la registrazione possa contenere",narrativeStated:"Ciò che l'osservatore ha detto",narrativeDerived:"Ricavato dal resoconto",narrativeAssumed:"Supposto, perché la ricostruzione funzioni — da verificare",narrativeGaps:"Ciò che niente ha potuto stabilire",narrativeErrorCredential:"Nessuna chiave, o una chiave rifiutata — controllala su console.anthropic.com",narrativeErrorRateLimited:"Troppe richieste sul tuo account: aspetta un momento e richiedi",narrativeErrorRefused:"Il resoconto non ha avuto risposta. Riformularlo può aiutare; richiederlo no",narrativeErrorMalformed:"La risposta non era una bozza utilizzabile — vale la pena richiederla ancora una volta",narrativeErrorUnreachable:"Nulla ha risposto: controlla la connessione",narrativeErrorRejected:"Rifiutato: {detail}",observerAge:"Età allora",observerOccupation:"Professione",accountSource:"Resoconto raccolto",accountUrl:"Fonte (URL)",accountSourceUnknown:"sconosciuto",accountSourceOnSite:"indagine sul posto",accountSourceInterview:"colloquio di persona",accountSourceTelephone:"per telefono",accountSourceQuestionnaire:"questionario",accountSourceLetter:"l'ha scritto l'osservatore",accountSourceSocialMedia:"l'ha pubblicato l'osservatore in rete",accountSourcePress:"stampa o radiotelevisione",accountFollowedUp:"Ricontattato",accountUnknown:"sconosciuto",accountYes:"sì",accountNo:"no",questionUnanswered:"Nulla in questa registrazione risponde a una delle domande che una ricostruzione deve risolvere",durationRequired:"L'osservazione ha bisogno di una durata per poter essere riprodotta — indicala, o un'ora di fine, che può essere approssimativa",questionsUnanswered:"{count} delle domande a cui risponde una ricostruzione completa restano qui senza risposta"};export{a as sightingEditorMessages_it};
1
+ const e={color:"Colore",transparency:"Trasparenza",halo:"Alone",blur:"Sfocatura",brightness:"Brillantezza",shapeTitle:"Nome",utcOffset:"Fuso orario",cloudBase:"Base delle nuvole",elevation:"Altitudine",heightAboveGround:"Altezza dal suolo",duration:"Durata",placeName:"Luogo",latitude:"Latitudine",longitude:"Longitudine",heading:"Orientamento",pitch:"Inclinazione",roll:"Rollio",sway:"Oscillazione a riposo",swayTitle:"Quanto il corpo che regge lo strumento muove la vista quando non cammina: 1 per una persona in piedi, 0 per un treppiede. Vuoto: 1 (0 se il resoconto dice che l'osservatore era paralizzato)",lightPollution:"Cielo notturno",lightPollutionTitle:"Lo zenit di una notte senza Luna in questo luogo, in magnitudini per secondo d'arco quadrato, come lo legge uno Sky Quality Meter o lo dà l'atlante mondiale della brillanza artificiale del cielo (Falchi et al. 2016, lightpollutionmap.info, «SQM»). 22 è un cielo naturale; una periferia è intorno a 19, un centro città a 17. Vuoto: un cielo naturale",observationTime:"Inizio dell'osservazione",observationEndTime:"Fine dell'osservazione",assessmentGroup:"Valutazione",assessmentNames:{coverage:"Dati dell'osservatore"},assessmentVerdicts:{"hynek.nl":"NL — luce notturna","hynek.dd":"DD — disco diurno","hynek.rv":"RV — radar-visivo","hynek.ce1":"IR1 — incontro ravvicinato","hynek.ce2":"IR2 — con traccia fisica","hynek.ce3":"IR3 — con entità"},observerGroup:"Osservatore",observerId:"ID",observerTitle:"Titolo",observerLastName:"Cognome",observerFirstNames:"Nomi",sightingId:"ID",tags:"Etichette",cloudCover:"Copertura nuvolosa",highCloudCover:"Nubi di ghiaccio (cirri)",focalLength:"Lunghezza focale",fieldOfView:"Campo visivo",aperture:"Apertura",exposure:"Esposizione",focusDistance:"Messa a fuoco a",iceCrystalAlignment:"Allineamento dei cristalli",cloudDarkness:"Oscurità delle nuvole",precipitationType:"Precipitazioni",precipitationNone:"Nessuna",precipitationRain:"Pioggia",precipitationSnow:"Neve",precipitationHail:"Grandine",precipitationIntensity:"Intensità",windDirection:"Direzione del vento",windSpeed:"Velocità del vento",storm:"Temporale",cloudsGroup:"Nuvole",precipitationGroup:"Precipitazioni",windGroup:"Vento",soundKind:"Suono",soundNone:"Nessuno (silenzioso)",soundHum:"Ronzio",soundWhistle:"Fischio",soundRumble:"Rombo",soundCrackle:"Crepitio",soundVolume:"Volume",soundPitch:"Tono",soundSrc:"Registrazione",instrument:"Osservato con",decorAircraft:"Aeromobile",decorEntity:"Essere",decorAltitude:"Altitudine",decorLights:"Luci",decorLightsNone:"nessuna",decor:"Ambiente",decorBuilding:"Edificio",decorTree:"Albero",decorShrub:"Cespuglio",decorBridge:"Ponte",decorCrop:"Filare di coltura",decorMound:"Mucchio di pietre",decorStreetlight:"Lampione",decorVehicle:"Veicolo",decorObserver:"Altro osservatore",decorEast:"Distanza a est",decorNorth:"Distanza a nord",decorHeading:"Orientamento",decorColor:"Colore",decorLit:"Acceso",decorTitle:"Nome",milestones:"Momenti",milestoneLabel:"Etichetta",milestoneNote:"Cosa succede",addMilestone:"Dai un nome a questo momento",deleteMilestone:"Elimina momento",goToMilestone:"Vai a questo momento",confirmAccept:"Elimina",confirmDecline:"Annulla",decorWidth:"Larghezza",decorLength:"Lunghezza",decorHeight:"Altezza",decorModel:"Modello 3D",decorModelNone:"Forma integrata",decorModelAdvanced:"Modello da un indirizzo",decorModelFromCatalogue:"Dal catalogo, con cui la registrazione lo nomina. Modifica un campo e diventerà l'indirizzo proprio di questa registrazione.",decorModelUrl:"Indirizzo glTF/GLB",decorModelTitle:"Nome del modello",decorModelAuthor:"Autore",decorModelLicense:"Licenza",decorModelSource:"Provenienza",decorFloors:"Piani",decorOccupiedFloor:"Piano occupato",decorObserverSide:"Posizione dell'osservatore",decorObserverSideNone:"Non presente",decorWindows:"Finestre",decorSideFront:"Davanti",decorSideBehind:"Dietro",decorSideLeft:"Sinistra",decorSideRight:"Destra",decorSideFrontLeft:"Davanti a sinistra",decorSideFrontRight:"Davanti a destra",decorSideBehindLeft:"Dietro a sinistra",decorSideBehindRight:"Dietro a destra"},a={...e,oval:"Ovale",polygon:"Poligono",addVertex:"Aggiungi vertice",deleteVertex:"Elimina vertice",notAPolygon:"Seleziona una sola forma poligonale",tooFewVertices:"Una forma ha bisogno di almeno 3 punti",shape:"Forma",apparentWidth:"Larghezza apparente",realWidth:"Larghezza reale",distance:"Distanza",sizeLock:"Mantieni",lockNone:"niente",lockApparent:"la larghezza apparente",lockReal:"la larghezza reale",lockDistance:"la distanza",apparentSize:"{moons}× la Luna",utcOffsetPlaceholder:"dalla longitudine",realSizeBetween:"La scena delimita quella larghezza: tra {min} e {max} m, in base a ciò che attraversa",realSizeAtLeast:"La scena delimita quella larghezza: almeno {min} m, in base a ciò dietro cui passa",realSizeAtMost:"La scena delimita quella larghezza: al massimo {max} m, in base a ciò davanti a cui passa",realSizeUnknown:"Nulla nella scena delimita quella larghezza: è solo ciò che la distanza implica",realSizeOutside:" — la larghezza qui sopra ne è fuori",blurBound:"Sfocato attraverso questo obiettivo: più vicino di {max} m",blurBoundNoInstrument:"La sfocatura a occhio nudo non delimita alcuna distanza — un occhio non ha un diaframma con cui andare fuori fuoco",blurBoundNotAtInfinity:"La sfocatura delimita una distanza solo per un obiettivo messo a fuoco all'infinito: questo è a fuoco a {focus} m, il che sfoca da entrambi i lati",realSizeContradiction:"Contraddizione: gli attraversamenti dichiarati non possono essere tutti veri",realDistanceHere:" — cioè qui tra {min} e {max} m",clearDistanceHypothesis:"Ritira l'ipotesi di distanza",clearDistanceHypothesisTitle:"Torna a ciò che la registrazione stabilisce",depthStated:"Disegnato a {m} m, come dichiara la registrazione",depthHypothesis:"Disegnato a {m} m: la tua ipotesi — ciò che la scenografia ne nasconde è ciò che perderebbe una cosa così lontana",depthDerived:"Disegnato a {m} m, in base alla camminata stessa dell'osservatore",depthBounded:"Disegnato a {m} m, in base a ciò dietro e davanti a cui passa",depthConventional:"Disegnato a {m} m per convenzione: nulla nella registrazione stabilisce una distanza",addShape:"Aggiungi forma",deleteShape:"Elimina forma",play:"Riproduci",pause:"Pausa",noDuration:"Nessuna durata di osservazione",previousKeyframe:"Fotogramma chiave precedente",nextKeyframe:"Fotogramma chiave successivo",keyframeMark:"Fotogramma chiave",shapesTrack:"forme",observerTrack:"osservatore",weatherTrack:"meteo",soundTrack:"suono",group:"Raggruppa",ungroup:"Separa",bringToFront:"Porta in primo piano",sendToBack:"Porta in fondo",contextMenuDelete:"Elimina",confirmDeleteShape:"Eliminare {name}? L'operazione è irreversibile.",confirmDeleteShapes:"Eliminare {count} forme? L'operazione è irreversibile.",confirmDeleteMilestone:"Smettere di nominare il momento {name}? La registrazione in sé non cambia.",onlyOneShape:"C'è una sola forma",alreadyAtFront:"Questa forma è già in primo piano",alreadyAtBack:"Questa forma è già in fondo",needTwoShapesToGroup:"Seleziona almeno due forme per raggrupparle",notGrouped:"Questa forma non fa parte di un gruppo",multipleShapesSelected:"Più forme selezionate — selezionane una sola per modificare questo",samplingRate:"Frequenza di campionamento",currentPosition:"Posizione attuale",switchToElapsed:"clicca per mostrare il tempo trascorso",switchToClockTime:"clicca per mostrare l'ora del giorno",durationPlaceholder:"durata dell'osservazione",durationImprecise:"Queste date non determinano con sufficiente precisione una durata — inseriscila manualmente.",export:"Esporta",importFile:"Carica file JSON",importUrl:"Oppure carica da URL",importUrlPlaceholder:"https://…/sighting.json",importButton:"Carica",importError:"Impossibile caricare questa registrazione — controlla il file o l'URL e riprova.",importErrorCors:`Questo indirizzo risponde, ma il browser non ha il permesso di leggerlo da questa pagina. Il file in sé va bene: è il suo server che deve inviarlo con l'intestazione "Access-Control-Allow-Origin: *". Se il server non è tuo, è questo che devi chiedere al suo amministratore.`,importErrorMixedContent:"Una pagina sicura non può caricare un indirizzo che inizia con http://. Usa https:// se quel server lo offre.",importErrorUnreachable:"Nulla ha risposto a questo indirizzo. Controlla come è scritto e di essere connesso.",importErrorStatus:"Quel server ha risposto con un errore ({status}). Probabilmente l'indirizzo è sbagliato o il file è stato spostato.",importErrorMalformed:"Questo indirizzo ha risposto, ma ciò che è tornato non è una registrazione.",record:"Registra",stop:"Ferma",according:"secondo",sourceElevation:"Rilievo",sourceImagery:"Immagini",placeNamePlaceholder:"Valensole, Francia",searchPlace:"Localizza",placeMatch:"Corrispondenze",placeSearching:"Ricerca del luogo…",placeMatchFound:"luogo trovato",placeMatchesFound:"luoghi trovati",placeNotFound:"Nessun luogo con questo nome",placeSearchFailed:"Ricerca dei luoghi momentaneamente non disponibile",utcOffsetImplausible:"Questo fuso orario non corrisponde alla longitudine inserita, la cui ora solare è UTC{solar} — eppure la scena e il rilevamento meteo obbediscono a ciò che è dichiarato qui. Svuota il campo per ricavarlo dalla longitudine.",timeZoneManual:"scarto inserito",altitudeAboveSeaLevel:"Altitudine dell'osservatore sul livello del mare — il suolo del luogo inserito ne fissa il minimo: un osservatore sulle Alpi non è a 0 m.",groundAt:"suolo a {m} m",headingPlaceholder:"sconosciuto",edtfInvalid:"Data/ora EDTF non valida (es. 1965-07-01T05:00, 2025-06?, 2025~).",edtfPlaceholder:"AAAA-MM-GGThh:mm[?~%] o hh:mm",observationTimeHint:"EDTF — es. 1965-07-01T05:00, 2025-06? (incerto), 2025~ (approssimativo), o solo 05:00 se la data non è nota",observationEndTimeHint:"EDTF — es. 1965-07-01T05:10, 2025-06? (incerto), 2025~ (approssimativo), o solo 05:10 se la data non è nota",presetsGroupLabel:"Forma dell'UFO",description:"Descrizione",tagsPlaceholder:"separati da virgole",weather:"Meteo",shapeGroup:"Fenomeno",shapesSubgroup:"Forme",bodiesSubgroup:"Corpi",soundGroup:"Suono",temporalGroup:"Momento",timeQualifierExact:"Esatta",timeQualifierApproximate:"Approssimativa",timeQualifierUncertain:"Incerta",timeQualifierBoth:"Incerta e approssimativa",edtfModeTitle:"Scrivi invece una data imprecisa: solo un anno, un mese, un'ora senza data",locationGroup:"Luogo",observationGroup:"Osservazione",weatherWhilePlaying:"Metti in pausa la registrazione per indicare il tempo — mentre scorre, l'istante in cui verrebbe scritto si sposta",weatherInferred:"Dai rilevamenti",weatherInferredTitle:"Il meteo non è un resoconto: è un fatto misurabile, rilevato per la data, l'ora e il luogo dell'osservazione. Deseleziona per indicare le condizioni riferite dall'osservatore, che allora prevalgono sul rilevamento.",weatherLookingUp:"Ricerca del rilevamento…",weatherNeedsDateAndPlace:"Servono una data completa e un luogo per cercare il rilevamento",weatherNoRecord:"Nessun rilevamento per questa data e questo luogo",weatherLookupFailed:"Rilevamenti meteo momentaneamente irraggiungibili",lightPollutionLookingUp:"Consultazione dell'atlante…",lightPollutionFound:"{artificial} µcd/m² di luce artificiale,",lightPollutionNatural:"Nessuna luce artificiale qui,",lightPollutionOutside:"Fuori dall'atlante (da 85°N a 60°S),",lightPollutionFailed:"Atlante al momento irraggiungibile",lightPollutionTooEarly:"L'atlante descrive il {atlasYear}; il cielo del {year} era più buio, indicarlo se è noto",instrumentOutOfPeriod:"{name} — non di quest'epoca",unitMillimetres:"mm",unitDegrees:"°",fieldOfViewReadout:"{deg}° di campo",soundSrcPlaceholder:"URL di una registrazione reale",referenceGroup:"Foto",reference:"Foto",referenceTitle:"Nome",referenceSrc:"Indirizzo",referenceSrcPlaceholder:"https://…/photo.jpg",referenceKind:"Tipo",referencePhoto:"Foto",referencePanorama:"Panorama (360°)",referenceCredit:"Crediti",referenceCreditUrl:"Link dei crediti",referenceT:"Scattata a",referenceDrawing:"Disegno sopra",referenceOpacity:"Opacità",referenceHeading:"Direzione",referencePitch:"Beccheggio",referenceRoll:"Rollio",referenceFov:"Campo verticale",referenceUsePose:"Usa la posa dell'osservatore",addReferenceUrl:"Aggiungi da un indirizzo",addReferenceFile:"Aggiungi un file",deleteReference:"Elimina foto",referenceEmbedded:"{kb} kB incorporati nella registrazione — un indirizzo la terrebbe leggera",referenceUnreachable:"Impossibile caricare la foto: controlla l'indirizzo e che il suo sito permetta ad altri siti di leggerla",referenceRegisterHint:"Trascina per ruotare la foto, rotellina per cambiarne il campo; «Aggiungi un punto di riferimento» per indicare un dettaglio sulla foto, poi lo stesso nel rendering",referenceLandmarkPicture:"Punto di riferimento {n}: clicca il punto sulla foto",referenceLandmarkScene:"Punto di riferimento {n}: clicca lo stesso punto nel rendering",referenceLandmarkOffPicture:"Questo clic non cade sulla foto",referenceNotLoaded:"La foto non è ancora arrivata",referenceLandmarksFit:"{n} punti di riferimento — scarto medio di {deg}°",referenceLandmarks:"Punti di riferimento",addReferenceLandmark:"Aggiungi un punto di riferimento",deleteReferenceLandmark:"Elimina punto di riferimento",referenceLandmarkLabel:"Nome",referenceLandmarkLabelPlaceholder:"Albero che copre, recinzione…",referenceAdoptPose:"Adotta come posa dell'osservatore",referenceAdoptRationale:"Misurato sulla foto «{title}»: {n} punti di riferimento allineati, {deg}° di scarto residuo",referenceStreetSearch:"Foto stradali nei dintorni",referenceStreetSearching:"Ricerca di foto scattate nei dintorni…",referenceStreetNone:"Nessuna foto stradale entro {m} m (Panoramax)",referenceStreetFailed:"Impossibile raggiungere Panoramax",referenceStreetAdd:"Aggiungi",traceImport:"Tracciati dell'investigatore (KML, KMZ)",trace:"Tracciato",deleteTrace:"Elimina il tracciato",traceTitle:"Nome",traceSource:"Fonte",traceImported:"{n} importato/i da {name}.",traceSkipped:"Escluso: {what}.",traceNone:"Nessuna linea, luogo o contorno in questo file.",traceFailed:"Impossibile leggere questo file.",traceKindPoint:"luogo",traceKindLine:"linea",traceKindPolygon:"contorno",referenceStreetItem:"{distance} m a {bearing}°, {date}{panorama}",referenceStreetPanorama:" — 360°",referenceStreetTitle:"Foto stradale a {distance} m a {bearing}°, {date}",skyLine:"Cielo: {parts}",skyStarsEye:"stelle fino alla magnitudine {limit}, il limite che un occhio raggiungeva sotto questo cielo",skyStarsDeeper:"stelle fino alla magnitudine {limit} attraverso un {device} — {gain} magnitudini oltre le {eye} raggiunte dagli occhi dell'osservatore",skyStarsShallower:"stelle fino alla magnitudine {limit} attraverso un {device} — {gain} magnitudini al di qua delle {eye} raggiunte dagli occhi dell'osservatore",skyStarsCatalogue:", disegnate fino a {catalogue}, dove si ferma il catalogo di questo progetto",skyStarsNone:"nessuna stella si distingueva in un cielo così chiaro",skyDetails:"Mostra i rilevamenti completi",skyDetailsHide:"Nascondi i rilevamenti",skyShowerActive:"{name} — radiante a {altitude}° sopra l'orizzonte, {bearing} — circa {rate}/h sotto questo cielo, su un fondo sporadico di {sporadic}/h",skyShowerBelowHorizon:"{name} è attivo, ma il suo radiante è sotto l'orizzonte — non ha potuto produrre nulla",skyNothingActive:"nessuno sciame meteorico attivo in questa data — un fondo sporadico di circa {sporadic}/h",showMeteor:"Mostrami una meteora",skyComet:"La {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing}, coda lunga {tail}°",skyCometNoTail:"La {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing}",skyCometBelowHorizon:"La {name} c'era, di magnitudine {magnitude}, ma sotto l'orizzonte — nessuno qui l'ha vista",skyCometInDaylight:"La {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing} — ma a soli {elongation}° dal Sole",showComet:"Mostrami la cometa",skyNova:"La {name}, una stella nuova di magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing}",skyNovaBelowHorizon:"La {name} brillava di magnitudine {magnitude}, ma sotto l'orizzonte: nessuno qui l'ha vista",showNova:"Mostrami la stella nuova",skySatellitePasses:"{count} satelliti hanno attraversato questo cielo abbastanza luminosi da essere visti, il più luminoso {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing} alle {time}",skySatellitePassesOne:"un satellite ha attraversato questo cielo abbastanza luminoso da essere visto: {name}, magnitudine {magnitude}, a {altitude}° sopra l'orizzonte {bearing} alle {time}",skySatelliteTrain:"tra cui un treno di {count} Starlink lanciati il {date}",skySatellitePassesNone:"secondo gli elementi orbitali archiviati per quella data, nessun satellite illuminato ha attraversato questo cielo abbastanza luminoso da essere visto",skySatelliteElementsGap:"nessun elemento orbitale archiviato vicino a quella data",showSatellite:"Mostrami un satellite",skyOpticsPossible:"nubi di ghiaccio sufficienti, intorno {source}, per {forms}",skyOpticsAlignment:" — tutto tranne gli anelli richiede cristalli che cadono orizzontali, qui supposti allineati al {alignment}%, poiché nessun rilevamento lo indica",skyOpticsHalo22:"un anello di {angle}°",skyOpticsHalo46:"un anello di {angle}°",skyOpticsParhelia:"pareli a {angle}° da entrambi i lati",skyOpticsTangentArc:"un arco tangente sopra",skyOpticsParhelicCircle:"un cerchio bianco che fa il giro del cielo alla sua stessa altezza",skyOpticsCircumzenithal:"un arco circumzenitale a {angle}° di altezza",skyOpticsCircumhorizontal:"un arco circumorizzontale molto più in basso",skyOpticsPillar:"una colonna eretta sopra",skyOpticsNoIce:"nessuna nube di ghiaccio: né alone né pareli",skyOpticsHidden:"nubi di ghiaccio in quota, ma uno strato più basso tra loro e l'osservatore",skyOpticsSun:"al Sole",skyOpticsMoon:"alla Luna",skyBowPossible:"pioggia e sole sufficienti per {forms}",skyBowMoon:"pioggia sotto una Luna illuminata al {lit}%, sufficiente per {forms} — un arcobaleno lunare, che l'occhio vede come un arco bianco",skyGlowBand:"la Via Lattea a {contrast}× il fondo del cielo, a {altitude}° di altezza {bearing}",skyGlowCone:"la luce zodiacale a {contrast}× il fondo del cielo, a {altitude}° di altezza {bearing}, a {elongation}° dal Sole — un tenue cono di luce inclinato, dai bordi sfumati, svanito entro un'ora",skyGlowZodiacalBand:"la banda zodiacale a {contrast}× il fondo del cielo, a {altitude}° di altezza {bearing} — tutta l'eclittica debolmente accesa, che non è ciò che la gente riferisce",skyGlowMoon:"né Via Lattea né luce zodiacale: una Luna illuminata al {lit}% teneva il cielo a {sky} magnitudini per secondo d'arco quadrato, dove ne servono 22",skyGlowTwilight:"né Via Lattea né luce zodiacale: il crepuscolo teneva ancora il cielo a {sky} magnitudini per secondo d'arco quadrato, dove ne servono 22",skyGlowTowns:"né Via Lattea né luce zodiacale: il bagliore delle città teneva il cielo a {sky} magnitudini per secondo d'arco quadrato, dove ne servono 22",skyGlowNothingUp:"cielo abbastanza buio ({sky} magnitudini per secondo d'arco quadrato), ma né il piano galattico né l'eclittica vi stavano abbastanza in alto",skyBowPrimary:"un arco di {radius}° di raggio, con la sommità a {top}° di altezza",skyBowSecondary:"un secondo, più tenue, a {radius}°, con i colori invertiti",skyBowSourceTooHigh:"pioggia, ma con l'astro a {altitude}° di altezza nessun arco poteva superare l'orizzonte: si trovano a {radius}° dal punto opposto",skyBowHidden:"pioggia, ma uno strato continuo tra essa e la luce: nessun arco",skyBowNoSource:"pioggia, e niente di illuminato per farne un arco",skySatellitesLit:"l'ombra della Terra era a {height} km sopra l'osservatore, quindi l'orbita bassa era ancora al sole — {count} oggetti catalogati erano in orbita quel mese",skySatellitesLitWith:"l'ombra della Terra era a {height} km sopra l'osservatore, quindi l'orbita bassa era ancora al sole — {count} oggetti catalogati erano in orbita quel mese, tra cui {eras}",skySatellitesShadowed:"l'ombra della Terra era a {height} km sopra l'osservatore: dei {count} oggetti catalogati in orbita quel mese, niente in orbita bassa era illuminato",skySatellitesNotYet:"non era ancora stato messo niente in orbita",skySatellitesDaylight:"tutto ciò che era in orbita era illuminato, come sempre di giorno, e {eras} potevano superare in luminosità persino questo cielo",skySatellitesDaylightOne:"tutto ciò che era in orbita era illuminato, come sempre di giorno, e {eras} poteva superare in luminosità persino questo cielo",skyUnknown:"non determinabile senza una data e un luogo",lookAtDecor:"Guardalo",addDecor:"Aggiungi",deleteDecor:"Elimina elemento della scenografia",decorSightingUrl:"URL della sua registrazione",viewAccount:"Vedi il resoconto",noObserverRecording:"Nessun URL di registrazione per questo osservatore",masks:"Nasconde",addObserver:"Aggiungi osservatore",narrativePlaceholder:"Ciò che l'osservatore ha riferito, con parole sue",narrativeSource:"Redatto da",narrativeNeedsSetting:'Compila "{setting}" ({source}) per generare una ricostruzione dal resoconto',narrativeNeedsAsk:"Ancora niente da inviare",narrativeRemember:"Ricorda su questo dispositivo",narrativeDraft:"Genera ricostruzione",narrativeStop:"Ferma",narrativeWorking:"Lettura del resoconto…",narrativeApplied:"{count} campi scritti nell'editor",narrativeUnchanged:"Il resoconto non dice ancora nulla che la registrazione possa contenere",narrativeStated:"Ciò che l'osservatore ha detto",narrativeDerived:"Ricavato dal resoconto",narrativeAssumed:"Supposto, perché la ricostruzione funzioni — da verificare",narrativeGaps:"Ciò che niente ha potuto stabilire",narrativeErrorCredential:"Nessuna chiave, o una chiave rifiutata — controllala su console.anthropic.com",narrativeErrorRateLimited:"Troppe richieste sul tuo account: aspetta un momento e richiedi",narrativeErrorRefused:"Il resoconto non ha avuto risposta. Riformularlo può aiutare; richiederlo no",narrativeErrorMalformed:"La risposta non era una bozza utilizzabile — vale la pena richiederla ancora una volta",narrativeErrorUnreachable:"Nulla ha risposto: controlla la connessione",narrativeErrorRejected:"Rifiutato: {detail}",observerAge:"Età allora",observerOccupation:"Professione",accountSource:"Resoconto raccolto",accountUrl:"Fonte (URL)",accountSourceUnknown:"sconosciuto",accountSourceOnSite:"indagine sul posto",accountSourceInterview:"colloquio di persona",accountSourceTelephone:"per telefono",accountSourceQuestionnaire:"questionario",accountSourceLetter:"l'ha scritto l'osservatore",accountSourceSocialMedia:"l'ha pubblicato l'osservatore in rete",accountSourcePress:"stampa o radiotelevisione",accountFollowedUp:"Ricontattato",accountUnknown:"sconosciuto",accountYes:"sì",accountNo:"no",questionUnanswered:"Nulla in questa registrazione risponde a una delle domande che una ricostruzione deve risolvere",durationRequired:"L'osservazione ha bisogno di una durata per poter essere riprodotta — indicala, o un'ora di fine, che può essere approssimativa",questionsUnanswered:"{count} delle domande a cui risponde una ricostruzione completa restano qui senza risposta"};export{a as sightingEditorMessages_it};
@@ -0,0 +1,393 @@
1
+ import{I as Y,F as H,a as j,b as A,W as ee,d as G,e as Z,V as E,f as te,g as O,h as $,i as ie,j as I,M as ne,k as B,L as se,m as oe,n as re,G as ae,C as le,D as de,o as ce,P as fe,q as ue,r as pe}from"./rr0-sighting-editor.mjs";const V=new G,P=new E;class J extends Y{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";const e=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],i=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],n=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(n),this.setAttribute("position",new H(e,3)),this.setAttribute("uv",new H(i,2))}applyMatrix4(e){const i=this.attributes.instanceStart,n=this.attributes.instanceEnd;return i!==void 0&&(i.applyMatrix4(e),n.applyMatrix4(e),i.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(e){let i;e instanceof Float32Array?i=e:Array.isArray(e)&&(i=new Float32Array(e));const n=new j(i,6,1);return this.setAttribute("instanceStart",new A(n,3,0)),this.setAttribute("instanceEnd",new A(n,3,3)),this.instanceCount=this.attributes.instanceStart.count,this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(e){let i;e instanceof Float32Array?i=e:Array.isArray(e)&&(i=new Float32Array(e));const n=new j(i,6,1);return this.setAttribute("instanceColorStart",new A(n,3,0)),this.setAttribute("instanceColorEnd",new A(n,3,3)),this}fromWireframeGeometry(e){return this.setPositions(e.attributes.position.array),this}fromEdgesGeometry(e){return this.setPositions(e.attributes.position.array),this}fromMesh(e){return this.fromWireframeGeometry(new ee(e.geometry)),this}fromLineSegments(e){const i=e.geometry;return this.setPositions(i.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new G);const e=this.attributes.instanceStart,i=this.attributes.instanceEnd;e!==void 0&&i!==void 0&&(this.boundingBox.setFromBufferAttribute(e),V.setFromBufferAttribute(i),this.boundingBox.union(V))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Z),this.boundingBox===null&&this.computeBoundingBox();const e=this.attributes.instanceStart,i=this.attributes.instanceEnd;if(e!==void 0&&i!==void 0){const n=this.boundingSphere.center;this.boundingBox.getCenter(n);let t=0;for(let a=0,o=e.count;a<o;a++)P.fromBufferAttribute(e,a),t=Math.max(t,n.distanceToSquared(P)),P.fromBufferAttribute(i,a),t=Math.max(t,n.distanceToSquared(P));this.boundingSphere.radius=Math.sqrt(t),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}}I.line={worldUnits:{value:1},linewidth:{value:1},resolution:{value:new ie},dashOffset:{value:0},dashScale:{value:1},dashSize:{value:1},gapSize:{value:1}};O.line={uniforms:$.merge([I.common,I.fog,I.line]),vertexShader:`
2
+ #include <common>
3
+ #include <color_pars_vertex>
4
+ #include <fog_pars_vertex>
5
+ #include <logdepthbuf_pars_vertex>
6
+ #include <clipping_planes_pars_vertex>
7
+
8
+ uniform float linewidth;
9
+ uniform vec2 resolution;
10
+
11
+ attribute vec3 instanceStart;
12
+ attribute vec3 instanceEnd;
13
+
14
+ attribute vec3 instanceColorStart;
15
+ attribute vec3 instanceColorEnd;
16
+
17
+ #ifdef WORLD_UNITS
18
+
19
+ varying vec4 worldPos;
20
+ varying vec3 worldStart;
21
+ varying vec3 worldEnd;
22
+
23
+ #ifdef USE_DASH
24
+
25
+ varying vec2 vUv;
26
+
27
+ #endif
28
+
29
+ #else
30
+
31
+ varying vec2 vUv;
32
+
33
+ #endif
34
+
35
+ #ifdef USE_DASH
36
+
37
+ uniform float dashScale;
38
+ attribute float instanceDistanceStart;
39
+ attribute float instanceDistanceEnd;
40
+ varying float vLineDistance;
41
+
42
+ #endif
43
+
44
+ float trimSegmentAlpha( const in vec4 start, const in vec4 end ) {
45
+
46
+ // compute the interpolation factor needed to trim the segment so it terminates
47
+ // between the camera plane and the near plane
48
+
49
+ // conservative estimate of the near plane
50
+ float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column
51
+ float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column
52
+
53
+ // we need different nearEstimate formula for reversed and default depth buffer
54
+ // a is positive with a reversed depth buffer so it can be used for controlling the code flow
55
+ float nearEstimate = ( a > 0.0 ) ? ( - b / ( a + 1.0 ) ) : ( - 0.5 * b / a );
56
+
57
+ return ( nearEstimate - start.z ) / ( end.z - start.z );
58
+
59
+ }
60
+
61
+ void main() {
62
+
63
+ #ifdef USE_COLOR
64
+
65
+ vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;
66
+
67
+ #endif
68
+
69
+ float aspect = resolution.x / resolution.y;
70
+
71
+ // camera space
72
+ vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );
73
+ vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );
74
+
75
+ #ifdef USE_DASH
76
+
77
+ float lineDistanceStart = dashScale * instanceDistanceStart;
78
+ float lineDistanceEnd = dashScale * instanceDistanceEnd;
79
+
80
+ #endif
81
+
82
+ #ifdef WORLD_UNITS
83
+
84
+ worldStart = start.xyz;
85
+ worldEnd = end.xyz;
86
+
87
+ #else
88
+
89
+ vUv = uv;
90
+
91
+ #endif
92
+
93
+ // special case for perspective projection, and segments that terminate either in, or behind, the camera plane
94
+ // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space
95
+ // but we need to perform ndc-space calculations in the shader, so we must address this issue directly
96
+ // perhaps there is a more elegant solution -- WestLangley
97
+
98
+ bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column
99
+
100
+ if ( perspective ) {
101
+
102
+ if ( start.z < 0.0 && end.z >= 0.0 ) {
103
+
104
+ float alpha = trimSegmentAlpha( start, end );
105
+ end.xyz = mix( start.xyz, end.xyz, alpha );
106
+
107
+ #ifdef USE_DASH
108
+
109
+ lineDistanceEnd = mix( lineDistanceStart, lineDistanceEnd, alpha );
110
+
111
+ #endif
112
+
113
+ } else if ( end.z < 0.0 && start.z >= 0.0 ) {
114
+
115
+ float alpha = trimSegmentAlpha( end, start );
116
+ start.xyz = mix( end.xyz, start.xyz, alpha );
117
+
118
+ #ifdef USE_DASH
119
+
120
+ lineDistanceStart = mix( lineDistanceEnd, lineDistanceStart, alpha );
121
+
122
+ #endif
123
+
124
+ }
125
+
126
+ }
127
+
128
+ #ifdef USE_DASH
129
+
130
+ vLineDistance = ( position.y < 0.5 ) ? lineDistanceStart : lineDistanceEnd;
131
+ vUv = uv;
132
+
133
+ #endif
134
+
135
+ // clip space
136
+ vec4 clipStart = projectionMatrix * start;
137
+ vec4 clipEnd = projectionMatrix * end;
138
+
139
+ // ndc space
140
+ vec3 ndcStart = clipStart.xyz / clipStart.w;
141
+ vec3 ndcEnd = clipEnd.xyz / clipEnd.w;
142
+
143
+ // direction
144
+ vec2 dir = ndcEnd.xy - ndcStart.xy;
145
+
146
+ // account for clip-space aspect ratio
147
+ dir.x *= aspect;
148
+ dir = normalize( dir );
149
+
150
+ #ifdef WORLD_UNITS
151
+
152
+ vec3 worldDir = normalize( end.xyz - start.xyz );
153
+ vec3 tmpFwd = normalize( mix( start.xyz, end.xyz, 0.5 ) );
154
+ vec3 worldUp = normalize( cross( worldDir, tmpFwd ) );
155
+ vec3 worldFwd = cross( worldDir, worldUp );
156
+ worldPos = position.y < 0.5 ? start: end;
157
+
158
+ // height offset
159
+ float hw = linewidth * 0.5;
160
+ worldPos.xyz += position.x < 0.0 ? hw * worldUp : - hw * worldUp;
161
+
162
+ // don't extend the line if we're rendering dashes because we
163
+ // won't be rendering the endcaps
164
+ #ifndef USE_DASH
165
+
166
+ // cap extension
167
+ worldPos.xyz += position.y < 0.5 ? - hw * worldDir : hw * worldDir;
168
+
169
+ // add width to the box
170
+ worldPos.xyz += worldFwd * hw;
171
+
172
+ // endcaps
173
+ if ( position.y > 1.0 || position.y < 0.0 ) {
174
+
175
+ worldPos.xyz -= worldFwd * 2.0 * hw;
176
+
177
+ }
178
+
179
+ #endif
180
+
181
+ // project the worldpos
182
+ vec4 clip = projectionMatrix * worldPos;
183
+
184
+ // shift the depth of the projected points so the line
185
+ // segments overlap neatly
186
+ vec3 clipPose = ( position.y < 0.5 ) ? ndcStart : ndcEnd;
187
+ clip.z = clipPose.z * clip.w;
188
+
189
+ #else
190
+
191
+ vec2 offset = vec2( dir.y, - dir.x );
192
+ // undo aspect ratio adjustment
193
+ dir.x /= aspect;
194
+ offset.x /= aspect;
195
+
196
+ // sign flip
197
+ if ( position.x < 0.0 ) offset *= - 1.0;
198
+
199
+ // endcaps
200
+ if ( position.y < 0.0 ) {
201
+
202
+ offset += - dir;
203
+
204
+ } else if ( position.y > 1.0 ) {
205
+
206
+ offset += dir;
207
+
208
+ }
209
+
210
+ // adjust for linewidth
211
+ offset *= linewidth;
212
+
213
+ // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...
214
+ offset /= resolution.y;
215
+
216
+ // select end
217
+ vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;
218
+
219
+ // back to clip space
220
+ offset *= clip.w;
221
+
222
+ clip.xy += offset;
223
+
224
+ #endif
225
+
226
+ gl_Position = clip;
227
+
228
+ vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation
229
+
230
+ #include <logdepthbuf_vertex>
231
+ #include <clipping_planes_vertex>
232
+ #include <fog_vertex>
233
+
234
+ }
235
+ `,fragmentShader:`
236
+ uniform vec3 diffuse;
237
+ uniform float opacity;
238
+ uniform float linewidth;
239
+
240
+ #ifdef USE_DASH
241
+
242
+ uniform float dashOffset;
243
+ uniform float dashSize;
244
+ uniform float gapSize;
245
+
246
+ #endif
247
+
248
+ varying float vLineDistance;
249
+
250
+ #ifdef WORLD_UNITS
251
+
252
+ varying vec4 worldPos;
253
+ varying vec3 worldStart;
254
+ varying vec3 worldEnd;
255
+
256
+ #ifdef USE_DASH
257
+
258
+ varying vec2 vUv;
259
+
260
+ #endif
261
+
262
+ #else
263
+
264
+ varying vec2 vUv;
265
+
266
+ #endif
267
+
268
+ #include <common>
269
+ #include <color_pars_fragment>
270
+ #include <fog_pars_fragment>
271
+ #include <logdepthbuf_pars_fragment>
272
+ #include <clipping_planes_pars_fragment>
273
+
274
+ vec2 closestLineToLine(vec3 p1, vec3 p2, vec3 p3, vec3 p4) {
275
+
276
+ float mua;
277
+ float mub;
278
+
279
+ vec3 p13 = p1 - p3;
280
+ vec3 p43 = p4 - p3;
281
+
282
+ vec3 p21 = p2 - p1;
283
+
284
+ float d1343 = dot( p13, p43 );
285
+ float d4321 = dot( p43, p21 );
286
+ float d1321 = dot( p13, p21 );
287
+ float d4343 = dot( p43, p43 );
288
+ float d2121 = dot( p21, p21 );
289
+
290
+ float denom = d2121 * d4343 - d4321 * d4321;
291
+
292
+ float numer = d1343 * d4321 - d1321 * d4343;
293
+
294
+ mua = numer / denom;
295
+ mua = clamp( mua, 0.0, 1.0 );
296
+ mub = ( d1343 + d4321 * ( mua ) ) / d4343;
297
+ mub = clamp( mub, 0.0, 1.0 );
298
+
299
+ return vec2( mua, mub );
300
+
301
+ }
302
+
303
+ void main() {
304
+
305
+ float alpha = opacity;
306
+ vec4 diffuseColor = vec4( diffuse, alpha );
307
+
308
+ #include <clipping_planes_fragment>
309
+
310
+ #ifdef USE_DASH
311
+
312
+ if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps
313
+
314
+ if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX
315
+
316
+ #endif
317
+
318
+ #ifdef WORLD_UNITS
319
+
320
+ // Find the closest points on the view ray and the line segment
321
+ vec3 rayEnd = normalize( worldPos.xyz ) * 1e5;
322
+ vec3 lineDir = worldEnd - worldStart;
323
+ vec2 params = closestLineToLine( worldStart, worldEnd, vec3( 0.0, 0.0, 0.0 ), rayEnd );
324
+
325
+ vec3 p1 = worldStart + lineDir * params.x;
326
+ vec3 p2 = rayEnd * params.y;
327
+ vec3 delta = p1 - p2;
328
+ float len = length( delta );
329
+ float norm = len / linewidth;
330
+
331
+ #ifndef USE_DASH
332
+
333
+ #ifdef USE_ALPHA_TO_COVERAGE
334
+
335
+ float dnorm = fwidth( norm );
336
+ alpha = 1.0 - smoothstep( 0.5 - dnorm, 0.5 + dnorm, norm );
337
+
338
+ #else
339
+
340
+ if ( norm > 0.5 ) {
341
+
342
+ discard;
343
+
344
+ }
345
+
346
+ #endif
347
+
348
+ #endif
349
+
350
+ #else
351
+
352
+ #ifdef USE_ALPHA_TO_COVERAGE
353
+
354
+ // artifacts appear on some hardware if a derivative is taken within a conditional
355
+ float a = vUv.x;
356
+ float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
357
+ float len2 = a * a + b * b;
358
+ float dlen = fwidth( len2 );
359
+
360
+ if ( abs( vUv.y ) > 1.0 ) {
361
+
362
+ alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );
363
+
364
+ }
365
+
366
+ #else
367
+
368
+ if ( abs( vUv.y ) > 1.0 ) {
369
+
370
+ float a = vUv.x;
371
+ float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;
372
+ float len2 = a * a + b * b;
373
+
374
+ if ( len2 > 1.0 ) discard;
375
+
376
+ }
377
+
378
+ #endif
379
+
380
+ #endif
381
+
382
+ #include <logdepthbuf_fragment>
383
+ #include <color_fragment>
384
+
385
+ gl_FragColor = vec4( diffuseColor.rgb, alpha );
386
+
387
+ #include <tonemapping_fragment>
388
+ #include <colorspace_fragment>
389
+ #include <fog_fragment>
390
+ #include <premultiplied_alpha_fragment>
391
+
392
+ }
393
+ `};class N extends te{constructor(e){super({type:"LineMaterial",uniforms:$.clone(O.line.uniforms),vertexShader:O.line.vertexShader,fragmentShader:O.line.fragmentShader,clipping:!0}),this.isLineMaterial=!0,this.setValues(e)}get color(){return this.uniforms.diffuse.value}set color(e){this.uniforms.diffuse.value=e}get worldUnits(){return"WORLD_UNITS"in this.defines}set worldUnits(e){e===!0!==this.worldUnits&&(this.needsUpdate=!0),e===!0?this.defines.WORLD_UNITS="":delete this.defines.WORLD_UNITS}get linewidth(){return this.uniforms.linewidth.value}set linewidth(e){this.uniforms.linewidth&&(this.uniforms.linewidth.value=e)}get dashed(){return"USE_DASH"in this.defines}set dashed(e){e===!0!==this.dashed&&(this.needsUpdate=!0),e===!0?this.defines.USE_DASH="":delete this.defines.USE_DASH}get dashScale(){return this.uniforms.dashScale.value}set dashScale(e){this.uniforms.dashScale.value=e}get dashSize(){return this.uniforms.dashSize.value}set dashSize(e){this.uniforms.dashSize.value=e}get dashOffset(){return this.uniforms.dashOffset.value}set dashOffset(e){this.uniforms.dashOffset.value=e}get gapSize(){return this.uniforms.gapSize.value}set gapSize(e){this.uniforms.gapSize.value=e}get opacity(){return this.uniforms.opacity.value}set opacity(e){this.uniforms&&(this.uniforms.opacity.value=e)}get resolution(){return this.uniforms.resolution.value}set resolution(e){this.uniforms.resolution.value.copy(e)}get alphaToCoverage(){return"USE_ALPHA_TO_COVERAGE"in this.defines}set alphaToCoverage(e){this.defines&&(e===!0!==this.alphaToCoverage&&(this.needsUpdate=!0),e===!0?this.defines.USE_ALPHA_TO_COVERAGE="":delete this.defines.USE_ALPHA_TO_COVERAGE)}}const W=new B,k=new E,q=new E,f=new B,u=new B,w=new B,R=new E,F=new oe,p=new se,X=new E,T=new G,C=new Z,S=new B;let x,z;function K(h,e,i){return S.set(0,0,-e,1).applyMatrix4(h.projectionMatrix),S.multiplyScalar(1/S.w),S.x=z/i.width,S.y=z/i.height,S.applyMatrix4(h.projectionMatrixInverse),S.multiplyScalar(1/S.w),Math.abs(Math.max(S.x,S.y))}function he(h,e){const i=h.matrixWorld,n=h.geometry,t=n.attributes.instanceStart,a=n.attributes.instanceEnd,o=Math.min(n.instanceCount,t.count);for(let s=0,m=o;s<m;s++){p.start.fromBufferAttribute(t,s),p.end.fromBufferAttribute(a,s),p.applyMatrix4(i);const l=new E,d=new E;x.distanceSqToSegment(p.start,p.end,d,l),d.distanceTo(l)<z*.5&&e.push({point:d,pointOnLine:l,distance:x.origin.distanceTo(d),object:h,face:null,faceIndex:s,uv:null,uv1:null})}}function me(h,e,i){const n=e.projectionMatrix,a=h.material.resolution,o=h.matrixWorld,s=h.geometry,m=s.attributes.instanceStart,l=s.attributes.instanceEnd,d=Math.min(s.instanceCount,m.count),r=-e.near;x.at(1,w),w.w=1,w.applyMatrix4(e.matrixWorldInverse),w.applyMatrix4(n),w.multiplyScalar(1/w.w),w.x*=a.x/2,w.y*=a.y/2,w.z=0,R.copy(w),F.multiplyMatrices(e.matrixWorldInverse,o);for(let b=0,c=d;b<c;b++){if(f.fromBufferAttribute(m,b),u.fromBufferAttribute(l,b),f.w=1,u.w=1,f.applyMatrix4(F),u.applyMatrix4(F),f.z>r&&u.z>r)continue;if(f.z>r){const _=f.z-u.z,y=(f.z-r)/_;f.lerp(u,y)}else if(u.z>r){const _=u.z-f.z,y=(u.z-r)/_;u.lerp(f,y)}f.applyMatrix4(n),u.applyMatrix4(n),f.multiplyScalar(1/f.w),u.multiplyScalar(1/u.w),f.x*=a.x/2,f.y*=a.y/2,u.x*=a.x/2,u.y*=a.y/2,p.start.copy(f),p.start.z=0,p.end.copy(u),p.end.z=0;const v=p.closestPointToPointParameter(R,!0);p.at(v,X);const M=re.lerp(f.z,u.z,v),U=M>=-1&&M<=1,L=R.distanceTo(X)<z*.5;if(U&&L){p.start.fromBufferAttribute(m,b),p.end.fromBufferAttribute(l,b),p.start.applyMatrix4(o),p.end.applyMatrix4(o);const _=new E,y=new E;x.distanceSqToSegment(p.start,p.end,y,_),i.push({point:y,pointOnLine:_,distance:x.origin.distanceTo(y),object:h,face:null,faceIndex:b,uv:null,uv1:null})}}}class ge extends ne{constructor(e=new J,i=new N({color:Math.random()*16777215})){super(e,i),this.isLineSegments2=!0,this.type="LineSegments2"}computeLineDistances(){const e=this.geometry,i=e.attributes.instanceStart,n=e.attributes.instanceEnd,t=new Float32Array(2*i.count);for(let o=0,s=0,m=i.count;o<m;o++,s+=2)k.fromBufferAttribute(i,o),q.fromBufferAttribute(n,o),t[s]=s===0?0:t[s-1],t[s+1]=t[s]+k.distanceTo(q);const a=new j(t,2,1);return e.setAttribute("instanceDistanceStart",new A(a,1,0)),e.setAttribute("instanceDistanceEnd",new A(a,1,1)),this}raycast(e,i){const n=this.material.worldUnits,t=e.camera;if(t===null&&!n&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2 while worldUnits is set to false.'),n===!1&&(this.material.resolution.x===0||this.material.resolution.y===0))return;const a=e.params.Line2!==void 0&&e.params.Line2.threshold||0;x=e.ray;const o=this.matrixWorld,s=this.geometry,m=this.material;z=m.linewidth+a,s.boundingSphere===null&&s.computeBoundingSphere(),C.copy(s.boundingSphere).applyMatrix4(o);let l;if(n)l=z*.5;else{const r=Math.max(t.near,C.distanceToPoint(x.origin));l=K(t,r,m.resolution)}if(C.radius+=l,x.intersectsSphere(C)===!1)return;s.boundingBox===null&&s.computeBoundingBox(),T.copy(s.boundingBox).applyMatrix4(o);let d;if(n)d=z*.5;else{const r=Math.max(t.near,T.distanceToPoint(x.origin));d=K(t,r,m.resolution)}T.expandByScalar(d),x.intersectsBox(T)!==!1&&(n?he(this,i):me(this,t,i))}onBeforeRender(e){const i=this.material.uniforms;i&&i.resolution&&(e.getViewport(W),this.material.uniforms.resolution.value.set(W.z,W.w))}}class Q extends J{constructor(){super(),this.isLineGeometry=!0,this.type="LineGeometry"}setPositions(e){const i=e.length-3,n=new Float32Array(2*i);for(let t=0;t<i;t+=3)n[2*t]=e[t],n[2*t+1]=e[t+1],n[2*t+2]=e[t+2],n[2*t+3]=e[t+3],n[2*t+4]=e[t+4],n[2*t+5]=e[t+5];return super.setPositions(n),this}setColors(e){const i=e.length-3,n=new Float32Array(2*i);for(let t=0;t<i;t+=3)n[2*t]=e[t],n[2*t+1]=e[t+1],n[2*t+2]=e[t+2],n[2*t+3]=e[t+3],n[2*t+4]=e[t+4],n[2*t+5]=e[t+5];return super.setColors(n),this}setFromPoints(e){const i=e.length-1,n=new Float32Array(6*i);for(let t=0;t<i;t++)n[6*t]=e[t].x,n[6*t+1]=e[t].y,n[6*t+2]=e[t].z||0,n[6*t+3]=e[t+1].x,n[6*t+4]=e[t+1].y,n[6*t+5]=e[t+1].z||0;return super.setPositions(n),this}fromLine(e){const i=e.geometry;return this.setPositions(i.attributes.position.array),this}}class ve extends ge{constructor(e=new Q,i=new N({color:Math.random()*16777215})){super(e,i),this.isLine2=!0,this.type="Line2"}}class D{constructor(e){this.layer=e,this.group.name="traces"}static LINE_WIDTH_PX=2.5;static MARKER_SIZE_PX=9;static STEP_M=15;static LIFT_M=.3;group=new ae;materials=[];pointsMaterials=[];set(e,i,n,t,a){this.empty();for(const o of e){const s=this.positions(o,i,n,t,a),m=new le(o.color??de);if(o.kind==="point"){const l=new ce;l.setAttribute("position",new H(s.slice(0,3),3));const d=new fe({color:m,size:D.MARKER_SIZE_PX,sizeAttenuation:!1,depthTest:!1,fog:!1});this.pointsMaterials.push(d);const r=new ue(l,d);r.name="trace point",r.frustumCulled=!1,r.layers.set(this.layer),this.group.add(r)}else if(s.length>=6){const l=new Q;l.setPositions(o.kind==="polygon"?[...s,s[0],s[1],s[2]]:s);const d=new N({color:m.getHex(),linewidth:D.LINE_WIDTH_PX,worldUnits:!1,transparent:!0,opacity:.92,depthTest:!1,fog:!1});this.materials.push(d);const r=new ve(l,d);r.name=`trace ${o.kind}`,r.frustumCulled=!1,r.layers.set(this.layer),this.group.add(r)}}}setResolution(e){for(const i of this.materials)i.resolution.copy(e)}get any(){return this.group.children.length>0}dispose(){this.empty()}empty(){for(const e of[...this.group.children])this.group.remove(e),e.geometry.dispose();for(const e of this.materials.splice(0))e.dispose();for(const e of this.pointsMaterials.splice(0))e.dispose()}positions(e,i,n,t,a){const o=e.altitude??"ground",s=e.points.map(c=>{const{x:g,z:v}=pe(c.lat,c.lng,i,n);return{x:g,z:v,altM:c.altM??0}}),m=o!=="absolute",l=[],d=(c,g,v)=>o==="absolute"?v-t:a(c,g)+(o==="relative"?v:0)+D.LIFT_M,r=e.kind==="polygon",b=r?s.length:s.length-1;for(let c=0;c<Math.max(b,1);c++){const g=s[c],v=s[(c+1)%s.length],M=m&&e.kind!=="point"?Math.max(1,Math.ceil(Math.hypot(v.x-g.x,v.z-g.z)/D.STEP_M)):1;for(let U=0;U<M;U++){const L=U/M,_=g.x+(v.x-g.x)*L,y=g.z+(v.z-g.z)*L;l.push(_,d(_,y,g.altM+(v.altM-g.altM)*L),y)}}if(!r&&e.kind!=="point"){const c=s[s.length-1];l.push(c.x,d(c.x,c.z,c.altM),c.z)}return l}}export{D as TraceSystem};
@@ -0,0 +1 @@
1
+ const e={play:"Reproducir",pause:"Pausa",noDuration:"Sin duración de observación",currentPosition:"Posición actual",duration:"Duración",switchToElapsed:"haz clic para mostrar el tiempo transcurrido",switchToClockTime:"haz clic para mostrar la hora del día",fullscreen:"Pantalla completa",exitFullscreen:"Salir de pantalla completa",mute:"Silenciar",unmute:"Activar el sonido",moments:"Momentos",moreControls:"Más controles",fewerControls:"Menos controles",showObserverMap:"Ver dónde estaba el observador",hideObserverMap:"Ocultar dónde estaba el observador",mapImageryUnavailable:"Vista aérea no disponible",zoomMapIn:"Acercar",zoomMapOut:"Alejar",fitMap:"Volver al trayecto completo",placeObserverHere:"Poner al observador aquí",showReferences:"Ver las fotos del lugar",hideReferences:"Ocultar las fotos del lugar",showTraces:"Ver los trazos del investigador",hideTraces:"Ocultar los trazos del investigador",referenceOpacity:"Opacidad de las fotos",showMilestones:"Ver los momentos del relato",hideMilestones:"Ocultar los momentos del relato",observerHere:"El observador, aquí",decorHere:"Elemento del decorado",recordingIssues:"{count} problema(s) en esta grabación: puede que no se reproduzca como su autor quería",issueTemplates:{"unknown-key":"{path}: clave desconocida, ignorada","wrong-type":"{path}: se esperaba {expected}, se encontró {found}","not-in-list":"{path}: {found} no es uno de {expected}",defaulted:"{path}: ausente, se usa {expected}",unplaced:"{path}: sin aim (ni bounds), dibujado en el centro de la vista",unsized:"{path}: sin tamaño angular (ni bounds), dibujado de un píxel de ancho","pixels-over-angles":"{path}: bounds repetido sin aim ni angular, así que la forma sigue los píxeles"}};export{e as ufoMessages_es};
@@ -0,0 +1 @@
1
+ const e={play:"Lecture",pause:"Pause",noDuration:"Aucune durée d'observation",currentPosition:"Position actuelle",duration:"Durée",switchToElapsed:"cliquer pour afficher la durée écoulée",switchToClockTime:"cliquer pour afficher l'heure de l'observation",fullscreen:"Plein écran",exitFullscreen:"Quitter le plein écran",mute:"Couper le son",unmute:"Rétablir le son",moments:"Moments",moreControls:"Plus de commandes",fewerControls:"Moins de commandes",showObserverMap:"Voir où était l'observateur",hideObserverMap:"Masquer où était l'observateur",mapImageryUnavailable:"Vue aérienne indisponible",zoomMapIn:"Zoomer",zoomMapOut:"Dézoomer",fitMap:"Revenir au trajet entier",placeObserverHere:"Placer l'observateur ici",showReferences:"Voir les photos des lieux",hideReferences:"Masquer les photos des lieux",showTraces:"Voir les tracés d'enquêteur",hideTraces:"Masquer les tracés d'enquêteur",referenceOpacity:"Opacité des photos",showMilestones:"Voir les moments du récit",hideMilestones:"Masquer les moments du récit",observerHere:"L'observateur, ici",decorHere:"Élément de décor",recordingIssues:"{count} problème(s) dans cet enregistrement : il peut ne pas jouer ce que son auteur voulait",issueTemplates:{"unknown-key":"{path} : clé inconnue, ignorée","wrong-type":"{path} : {expected} attendu, {found} trouvé","not-in-list":"{path} : {found} ne fait pas partie de {expected}",defaulted:"{path} : absent, {expected} utilisé",unplaced:"{path} : ni aim ni bounds, dessiné au milieu de la vue",unsized:"{path} : ni taille angulaire ni bounds, dessiné large d'un pixel","pixels-over-angles":"{path} : bounds redonné sans aim ni angular, la forme suit les pixels"}};export{e as ufoMessages_fr};
@@ -0,0 +1 @@
1
+ const e={play:"Riproduci",pause:"Pausa",noDuration:"Nessuna durata di osservazione",currentPosition:"Posizione attuale",duration:"Durata",switchToElapsed:"fai clic per mostrare il tempo trascorso",switchToClockTime:"fai clic per mostrare l'ora del giorno",fullscreen:"Schermo intero",exitFullscreen:"Esci dallo schermo intero",mute:"Disattiva audio",unmute:"Attiva audio",moments:"Momenti",moreControls:"Altri controlli",fewerControls:"Meno controlli",showObserverMap:"Mostra dove si trovava l'osservatore",hideObserverMap:"Nascondi dove si trovava l'osservatore",mapImageryUnavailable:"Vista aerea non disponibile",zoomMapIn:"Ingrandisci",zoomMapOut:"Riduci",fitMap:"Torna all'intero percorso",placeObserverHere:"Metti qui l'osservatore",showReferences:"Mostra le foto del luogo",hideReferences:"Nascondi le foto del luogo",showTraces:"Mostra i tracciati dell'investigatore",hideTraces:"Nascondi i tracciati dell'investigatore",referenceOpacity:"Opacità delle foto",showMilestones:"Mostra i momenti del resoconto",hideMilestones:"Nascondi i momenti del resoconto",observerHere:"L'osservatore, qui",decorHere:"Elemento della scenografia",recordingIssues:"{count} problema/i in questa registrazione: potrebbe non essere riprodotta come voleva il suo autore",issueTemplates:{"unknown-key":"{path}: chiave sconosciuta, ignorata","wrong-type":"{path}: atteso {expected}, trovato {found}","not-in-list":"{path}: {found} non è tra {expected}",defaulted:"{path}: assente, usato {expected}",unplaced:"{path}: nessun aim (né bounds), disegnato al centro della vista",unsized:"{path}: nessuna dimensione angolare (né bounds), disegnato largo un pixel","pixels-over-angles":"{path}: bounds ripetuto senza aim né angular, quindi la forma segue i pixel"}};export{e as ufoMessages_it};
@@ -0,0 +1 @@
1
+ var C=Uint8Array,M=Uint16Array,xr=Int32Array,or=new C([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),lr=new C([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Fr=new C([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ur=function(r,e){for(var n=new M(31),a=0;a<31;++a)n[a]=e+=1<<r[a-1];for(var f=new xr(n[30]),a=1;a<30;++a)for(var l=n[a];l<n[a+1];++l)f[l]=l-n[a]<<5|a;return{b:n,r:f}},tr=ur(or,2),hr=tr.b,Sr=tr.r;hr[28]=258,Sr[258]=28;var kr=ur(lr,0),yr=kr.b,Z=new M(32768);for(var o=0;o<32768;++o){var z=(o&43690)>>1|(o&21845)<<1;z=(z&52428)>>2|(z&13107)<<2,z=(z&61680)>>4|(z&3855)<<4,Z[o]=((z&65280)>>8|(z&255)<<8)>>1}var O=(function(r,e,n){for(var a=r.length,f=0,l=new M(e);f<a;++f)r[f]&&++l[r[f]-1];var t=new M(e);for(f=1;f<e;++f)t[f]=t[f-1]+l[f-1]<<1;var u;if(n){u=new M(1<<e);var w=15-e;for(f=0;f<a;++f)if(r[f])for(var g=f<<4|r[f],h=e-r[f],v=t[r[f]-1]++<<h,i=v|(1<<h)-1;v<=i;++v)u[Z[v]>>w]=g}else for(u=new M(a),f=0;f<a;++f)r[f]&&(u[f]=Z[t[r[f]-1]++]>>15-r[f]);return u}),q=new C(288);for(var o=0;o<144;++o)q[o]=8;for(var o=144;o<256;++o)q[o]=9;for(var o=256;o<280;++o)q[o]=7;for(var o=280;o<288;++o)q[o]=8;var wr=new C(32);for(var o=0;o<32;++o)wr[o]=5;var pr=O(q,9,1),Ar=O(wr,5,1),W=function(r){for(var e=r[0],n=1;n<r.length;++n)r[n]>e&&(e=r[n]);return e},x=function(r,e,n){var a=e/8|0;return(r[a]|r[a+1]<<8)>>(e&7)&n},X=function(r,e){var n=e/8|0;return(r[n]|r[n+1]<<8|r[n+2]<<16)>>(e&7)},zr=function(r){return(r+7)/8|0},j=function(r,e,n){return(e==null||e<0)&&(e=0),(n==null||n>r.length)&&(n=r.length),new C(r.subarray(e,n))},Tr=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],c=function(r,e,n){var a=new Error(e||Tr[r]);if(a.code=r,Error.captureStackTrace&&Error.captureStackTrace(a,c),!n)throw a;return a},Br=function(r,e,n,a){var f=r.length,l=a?a.length:0;if(!f||e.f&&!e.l)return n||new C(0);var t=!n,u=t||e.i!=2,w=e.i;t&&(n=new C(f*3));var g=function(fr){var vr=n.length;if(fr>vr){var ir=new C(Math.max(vr*2,fr));ir.set(n),n=ir}},h=e.f||0,v=e.p||0,i=e.b||0,F=e.l,y=e.d,T=e.m,B=e.n,p=f*8;do{if(!F){h=x(r,v,1);var H=x(r,v+1,3);if(v+=3,H)if(H==1)F=pr,y=Ar,T=9,B=5;else if(H==2){var N=x(r,v,31)+257,L=x(r,v+10,15)+4,_=N+x(r,v+5,31)+1;v+=14;for(var D=new C(_),P=new C(19),m=0;m<L;++m)P[Fr[m]]=x(r,v+m*3,7);v+=L*3;for(var b=W(P),gr=(1<<b)-1,cr=O(P,b,1),m=0;m<_;){var d=cr[x(r,v,gr)];v+=d&15;var S=d>>4;if(S<16)D[m++]=S;else{var E=0,G=0;for(S==16?(G=3+x(r,v,3),v+=2,E=D[m-1]):S==17?(G=3+x(r,v,7),v+=3):S==18&&(G=11+x(r,v,127),v+=7);G--;)D[m++]=E}}var rr=D.subarray(0,N),A=D.subarray(N);T=W(rr),B=W(A),F=O(rr,T,1),y=O(A,B,1)}else c(1);else{var S=zr(v)+4,J=r[S-4]|r[S-3]<<8,K=S+J;if(K>f){w&&c(0);break}u&&g(i+J),n.set(r.subarray(S,K),i),e.b=i+=J,e.p=v=K*8,e.f=h;continue}if(v>p){w&&c(0);break}}u&&g(i+131072);for(var Cr=(1<<T)-1,mr=(1<<B)-1,Q=v;;Q=v){var E=F[X(r,v)&Cr],U=E>>4;if(v+=E&15,v>p){w&&c(0);break}if(E||c(2),U<256)n[i++]=U;else if(U==256){Q=v,F=null;break}else{var er=U-254;if(U>264){var m=U-257,I=or[m];er=x(r,v,(1<<I)-1)+hr[m],v+=I}var R=y[X(r,v)&mr],V=R>>4;R||c(3),v+=R&15;var A=yr[V];if(V>3){var I=lr[V];A+=X(r,v)&(1<<I)-1,v+=I}if(v>p){w&&c(0);break}u&&g(i+131072);var nr=i+er;if(i<A){var ar=l-A,sr=Math.min(A,nr);for(ar+i<0&&c(3);i<sr;++i)n[i]=a[ar+i]}for(;i<nr;++i)n[i]=n[i-A]}}e.l=F,e.p=Q,e.b=i,e.f=h,F&&(h=1,e.m=T,e.d=y,e.n=B)}while(!h);return i!=n.length&&t?j(n,0,i):n.subarray(0,i)},Er=new C(0),k=function(r,e){return r[e]|r[e+1]<<8},s=function(r,e){return(r[e]|r[e+1]<<8|r[e+2]<<16|r[e+3]<<24)>>>0},Y=function(r,e){return s(r,e)+s(r,e+4)*4294967296};function Ur(r,e){return Br(r,{i:2},e&&e.out,e&&e.dictionary)}var $=typeof TextDecoder<"u"&&new TextDecoder,Mr=0;try{$.decode(Er,{stream:!0}),Mr=1}catch{}var Dr=function(r){for(var e="",n=0;;){var a=r[n++],f=(a>127)+(a>223)+(a>239);if(n+f>r.length)return{s:e,r:j(r,n-1)};f?f==3?(a=((a&15)<<18|(r[n++]&63)<<12|(r[n++]&63)<<6|r[n++]&63)-65536,e+=String.fromCharCode(55296|a>>10,56320|a&1023)):f&1?e+=String.fromCharCode((a&31)<<6|r[n++]&63):e+=String.fromCharCode((a&15)<<12|(r[n++]&63)<<6|r[n++]&63):e+=String.fromCharCode(a)}};function Ir(r,e){if(e){for(var n="",a=0;a<r.length;a+=16384)n+=String.fromCharCode.apply(null,r.subarray(a,a+16384));return n}else{if($)return $.decode(r);var f=Dr(r),l=f.s,n=f.r;return n.length&&c(8),l}}var Or=function(r,e){return e+30+k(r,e+26)+k(r,e+28)},qr=function(r,e,n){var a=k(r,e+28),f=k(r,e+30),l=Ir(r.subarray(e+46,e+46+a),!(k(r,e+8)&2048)),t=e+46+a,u=Gr(r,t,f,n,s(r,e+20),s(r,e+24),s(r,e+42)),w=u[0],g=u[1],h=u[2];return[k(r,e+10),w,g,l,t+f+k(r,e+32),h]},Gr=function(r,e,n,a,f,l,t){var u=f==4294967295,w=l==4294967295,g=t==4294967295,h=e+n,v=u+w+g;if(a&&v){for(;e+4<h;e+=4+k(r,e+2))if(k(r,e)==1)return[u?Y(r,e+4+8*w):f,w?Y(r,e+4):l,g?Y(r,e+4+8*(w+u)):t,1];a<2&&c(13)}return[f,l,t,0]};function Hr(r,e){for(var n={},a=r.length-22;s(r,a)!=101010256;--a)(!a||r.length-a>65558)&&c(13);var f=k(r,a+8);if(!f)return{};var l=s(r,a+16),t=s(r,a-20)==117853008;if(t){var u=s(r,a-12);t=s(r,u)==101075792,t&&(f=s(r,u+32),l=s(r,u+48))}for(var w=e&&e.filter,g=0;g<f;++g){var h=qr(r,l,t),v=h[0],i=h[1],F=h[2],y=h[3],T=h[4],B=h[5],p=Or(r,B);l=T,(!w||w({name:y,size:i,originalSize:F,compression:v}))&&(v?v==8?n[y]=Ur(r.subarray(p,p+i),{out:new C(F)}):c(14,"unknown compression type "+v):n[y]=j(r,p,p+i))}return n}export{Ur as inflateSync,Ir as strFromU8,Hr as unzipSync};