@rr0/ufoathome 0.137.0 → 0.139.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 (61) hide show
  1. package/dist-embed-scene/BeamSystem-Dp1WU1Zx.js +1 -0
  2. package/dist-embed-scene/ContrailGrowth-DwHS8If9.js +1 -0
  3. package/dist-embed-scene/ContrailSystem-GO0Hkyj3.js +1 -0
  4. package/dist-embed-scene/{SceneNames_es-D_98QraV.js → SceneNames_es-BS2ioieu.js} +1 -1
  5. package/dist-embed-scene/{SceneNames_fr-y6Z57BDf.js → SceneNames_fr-B-fRwUUu.js} +1 -1
  6. package/dist-embed-scene/{SceneNames_it-DQt9yIh1.js → SceneNames_it-B-QEwmuM.js} +1 -1
  7. package/dist-embed-scene/rr0-scene.mjs +346 -346
  8. package/dist-embed-scene/sightingSchema-Dn9Nacua.js +1 -0
  9. package/{dist-embed-sighting/trafficRuntime-sSIo5Lms.js → dist-embed-scene/trafficRuntime-BPEJW9KZ.js} +2 -2
  10. package/dist-embed-sighting/BeamSystem-Ddt2lTBT.js +1 -0
  11. package/dist-embed-sighting/ContrailGrowth-DwHS8If9.js +1 -0
  12. package/dist-embed-sighting/ContrailSystem-D_EBfThB.js +1 -0
  13. package/dist-embed-sighting/{SceneNames_es-Zb4vw-Vp.js → SceneNames_es-wkWHMHet.js} +1 -1
  14. package/dist-embed-sighting/{SceneNames_fr-C6_IIN2c.js → SceneNames_fr-DbbzZ1bB.js} +1 -1
  15. package/dist-embed-sighting/{SceneNames_it-D7GivBq2.js → SceneNames_it-BsxnweGu.js} +1 -1
  16. package/dist-embed-sighting/rr0-sighting.mjs +330 -330
  17. package/dist-embed-sighting/sightingSchema-Dn9Nacua.js +1 -0
  18. package/dist-embed-sighting/trafficRuntime-CfPqH9j0.js +2 -0
  19. package/dist-embed-sighting-editor/BeamSystem-B3qYVuHd.js +1 -0
  20. package/dist-embed-sighting-editor/ContrailGrowth-DwHS8If9.js +1 -0
  21. package/dist-embed-sighting-editor/ContrailSystem-D9rPfOBE.js +1 -0
  22. package/dist-embed-sighting-editor/{InterviewEditorElement-DHxRISPC.js → InterviewEditorElement-CJxgekiU.js} +2 -2
  23. package/dist-embed-sighting-editor/LaunchEditor-CPa-pltK.js +18 -0
  24. package/dist-embed-sighting-editor/LaunchEditorMessages_en-DH8gI1vo.js +1 -0
  25. package/dist-embed-sighting-editor/LaunchEditorMessages_es-WCfaY4uY.js +1 -0
  26. package/dist-embed-sighting-editor/LaunchEditorMessages_fr-CWCGUG_A.js +1 -0
  27. package/dist-embed-sighting-editor/LaunchEditorMessages_it-DxSSiAd7.js +1 -0
  28. package/dist-embed-sighting-editor/{SceneNames_es-7RR79EmC.js → SceneNames_es-umTyyCxN.js} +1 -1
  29. package/dist-embed-sighting-editor/{SceneNames_fr-Da_S9KXa.js → SceneNames_fr-BNgnxIHx.js} +1 -1
  30. package/dist-embed-sighting-editor/{SceneNames_it-BwFZROII.js → SceneNames_it-5UYhmJHo.js} +1 -1
  31. package/dist-embed-sighting-editor/SightingEditorMessages_es-UiUywEk4.js +12 -0
  32. package/dist-embed-sighting-editor/{SightingEditorMessages_fr-90Ojknvv.js → SightingEditorMessages_fr-D5pajHZd.js} +2 -2
  33. package/dist-embed-sighting-editor/SightingEditorMessages_it-9SduHYDB.js +12 -0
  34. package/dist-embed-sighting-editor/{SightingFileEditor-DcOCyimm.js → SightingFileEditor-CJX1-U4q.js} +1 -1
  35. package/dist-embed-sighting-editor/rr0-sighting-editor.mjs +458 -435
  36. package/dist-embed-sighting-editor/sightingSchema-Dn9Nacua.js +1 -0
  37. package/dist-embed-sighting-editor/surroundingsSources-BK1okKkz.js +1 -0
  38. package/dist-embed-sighting-editor/trafficRuntime-BAGbGiVc.js +2 -0
  39. package/package.json +1 -1
  40. package/dist-embed-scene/BeamSystem-DDqbr8Bb.js +0 -1
  41. package/dist-embed-scene/ContrailGrowth-CuAzwIoc.js +0 -1
  42. package/dist-embed-scene/ContrailSystem-CG5BhBF7.js +0 -1
  43. package/dist-embed-scene/sightingSchema-CNCtrneh.js +0 -1
  44. package/dist-embed-scene/trafficRuntime-CgM31CwB.js +0 -2
  45. package/dist-embed-sighting/BeamSystem-wkZ6I_8Y.js +0 -1
  46. package/dist-embed-sighting/ContrailGrowth-CuAzwIoc.js +0 -1
  47. package/dist-embed-sighting/ContrailSystem-XVzDvxFV.js +0 -1
  48. package/dist-embed-sighting/sightingSchema-CNCtrneh.js +0 -1
  49. package/dist-embed-sighting-editor/BeamSystem-YGYbbAkU.js +0 -1
  50. package/dist-embed-sighting-editor/ContrailGrowth-CuAzwIoc.js +0 -1
  51. package/dist-embed-sighting-editor/ContrailSystem-CyYvtUTV.js +0 -1
  52. package/dist-embed-sighting-editor/LaunchEditor-qoB8RSgQ.js +0 -13
  53. package/dist-embed-sighting-editor/LaunchEditorMessages_en-BzymQ_VU.js +0 -1
  54. package/dist-embed-sighting-editor/LaunchEditorMessages_es-DzI2xAcW.js +0 -1
  55. package/dist-embed-sighting-editor/LaunchEditorMessages_fr-BLOwKfkH.js +0 -1
  56. package/dist-embed-sighting-editor/LaunchEditorMessages_it-CuovusOf.js +0 -1
  57. package/dist-embed-sighting-editor/SightingEditorMessages_es-BFzjoSef.js +0 -12
  58. package/dist-embed-sighting-editor/SightingEditorMessages_it-BtQIjKie.js +0 -12
  59. package/dist-embed-sighting-editor/sightingSchema-CNCtrneh.js +0 -1
  60. package/dist-embed-sighting-editor/surroundingsSources-B1931yh4.js +0 -1
  61. package/dist-embed-sighting-editor/trafficRuntime-lbQ2eKSF.js +0 -2
@@ -0,0 +1,12 @@
1
+ const e={basisTitle:"Come è stato ottenuto questo valore",basisField:"Base",howField:"Come",rationaleField:"Giustificazione",basisReset:"Base riportata a «dichiarata»: il valore è stato riscritto (era: {basis}).",lawSources:"Fonti: {sources}",extrapolation:"Queste leggi sono misurate su osservazioni notturne: applicarle a un'osservazione diurna è un'estrapolazione.",sectionAccountConditions:"Condizioni della testimonianza",sectionViewing:"Condizioni di visione",sectionMoon:"Calibro Luna",sectionErrorParameters:"Parametri d'errore di questo testimone",errorModelField:"Modello d'errore",delayField:"Ritardo prima di questo racconto",delayUnit:"giorni",versionField:"Versione",wordField:"Parola usata",exposureField:"Esposizione",independenceField:"Indipendenza",independentYes:"senza aver parlato con gli altri testimoni",independentNo:"dopo aver parlato con gli altri testimoni",unknownChoice:"non si sa",darkAdapted:"Adattato al buio",correctedVision:"Vista corretta (occhiali, lenti)",glare:"Luce intensa poco prima",viewingNote:"Il vetro o il parabrezza e il binocolo si impostano in «Visione» qui sopra.",moonIntro:"Il testimone mostra la Luna piena come ha mostrato l'oggetto. Il rapporto dà il suo fattore di dimensione angolare: l'unica misura che rende individuale la legge generale. Da rilevare una volta per testimone.",moonField:"Luna come mostrata",moonHint:"A braccio teso, 1 cm ≈ 1°",moonNone:"Non ancora misurata: si applica la legge generale ({law}).",moonFactor:"Fattore ×{k}: sostituisce la legge generale in tutte le dimensioni angolari di questo testimone.",moonReal:"Luna reale · 0,52°",parametersIntro:"Gli errori di uno stesso testimone sono legati: lo stesso fattore su tutte le dimensioni, lo stesso scarto su tutte le ore. Calcolati, mai scritti: nessun margine «±» si inserisce a mano.",showMore:"Mostra",basis:{measured:"◆ misurata",stated:"dichiarata",derived:"dedotta",assumed:"supposta"},how:{clock:"letta su un orologio",anchored:"ancorata a un evento datato",estimated:"stimata","shown-on-the-spot":"mostrata sul posto","arm-length-gauge":"calibro a braccio teso","recalled-object":"riferita a un oggetto noto",instrument:"strumento",landmark:"riferimento del paesaggio",occlusion:"occultazione","known-size":"dimensione nota",triangulation:"triangolazione"},status:{consolidated:"consolidata",individual:"individuale",single:"studio unico",argued:"argomentata",contested:"contestata"},laws:{timeClock:"± {minutes} min (letta su un orologio)",timeAnchored:"± {minutes} min (ancorata a un evento datato)",timeEstimated:"± {minutes} min per 9 testimoni su 10 (stimata)",duration:"da {low} a {high}: ×/÷{factor} (log-normale)",elevationOver:"da {low} a {high}: altezza sovrastimata",measuredInstrument:"± {degrees}° (misurata)",measuredLandmark:"± {degrees}° (da un riferimento)",headingCross:"da {low} a {high}: ± {degrees}°, verso talvolta invertito",sizeMoon:"da {low} a {high}: fattore ×{factor} del calibro Luna",sizeShown:"da {low} a {high}: mostrata sul posto, da +2 a +17 %",sizeRecalled:"da {low} a {high}: riferita a un oggetto noto, ~30 % troppo grande",sizeArm:"da {low} a {high}: sovrastimata da ×{from} a ×{to} a braccio teso",sizeGauge:"da {low} a {high}: calibro, ± {percent} %",distanceAnchored:"Ancorata: il suo errore segue quello di ciò da cui è dedotta",distanceNotData:"Non è un dato: sbagliata di un fattore {factor} o più senza ancoraggio"},parameterNames:{clock:"Scarto dell'orologio",date:"Scarto di data",heading:"Rotazione della direzione",elevation:"Compressione delle altezze",size:"Fattore di dimensione angolare",duration:"Fattore di durata"},parameterScopes:{clock:"tutte le ore",date:"la data",heading:"tutte le direzioni",elevation:"tutte le altezze",size:"tutte le dimensioni angolari",duration:"la durata e la scala della timeline"},parameters:{clockClock:"± {minutes} min (orologio)",clockAnchored:"± {minutes} min (ancorata)",clockEstimated:"± {minutes} min (stimata)",dateShift:"±1 giorno, mese o anno; ora legale ({percent} % delle date)",headingRotation:"± {degrees}°, specchio possibile",elevationCompression:"sovrastimate, mai sottostimate",sizeMoon:"×{factor} (calibro Luna)",sizeArm:"da ×{from} a ×{to} a braccio teso",sizeShown:"da +2 a +17 % mostrata sul posto",durationFactor:"×/÷{factor} (log-normale)"},words:{light:"luce",object:"oggetto",craft:"velivolo",ufo:"ufo",other:"altro"},exposures:{none:"nessuna",press:"stampa",broadcast:"radio, televisione","other-witnesses":"altri testimoni",investigators:"investigatori"},models:{consolidated:"Letture consolidate (UFO@home)",keul:"Keul (dimensioni mostrate sul posto)"},candidates:{title:"Spiegazioni candidate",verdicts:{consolidated:"Compatibile con distorsioni consolidate",contested:"Solo invocando distorsioni contestate",incompatible:"Incompatibile anche ai limiti"},cost:"costo {x} σ",seeVariant:"Vedi questa variante",variantLabel:"Variante: {name}",backToAccount:"Torna al racconto",costNote:"Un costo non è una probabilità: dice quali distorsioni bisogna invocare, e di quanto.",scopeNote:"Matrice di Poher (1977) per la lista di partenza; la Luna, i pianeti, i passaggi di satelliti, i rientri, i bolidi registrati e gli aerei del tracciato sono calcolati e confrontati con il racconto.",fields:{time:"Ora",heading:"Azimut",elevation:"Altezza sull'orizzonte",size:"Larghezza apparente",duration:"Durata",sweep:"Percorso nel cielo"},biases:{clock:"scarto dell'orologio {x} min",heading:"rotazione della direzione {x}°",elevation:"altezza sovrastimata ×{x}",size:"dimensione sovrastimata ×{x}",duration:"durata stimata male ×{x}",sweep:"percorso stimato male {x}°"},reasons:{"never-seen":"Mai visibile da questo luogo nel margine dell'ora data.",direction:"Troppo lontano dalla direzione data, anche ai limiti delle leggi.",size:"Dimensione troppo diversa, anche ai limiti delle leggi.",motion:"Non si muove come dice il resoconto, e nulla fa leggere l'uno per l'altro.",growth:"Non cresce come dice il resoconto, né diventa più luminoso."},readingTitle:"Lettura",readings:{grouped:"luci lette come un solo corpo","still-seen-moving":"una luce ferma vista muoversi (effetto autocinetico, nuvole che scorrono)","moving-seen-still":"una luce in moto vista immobile (in arrivo di fronte)","brightening-as-approach":"una luminosità crescente letta come un avvicinamento"},notAgainst:"Non è un argomento contro il racconto.",noDirection:"Il racconto non colloca il fenomeno nel cielo: non c'è nulla da confrontare.",noSky:"Senza data, ora e luogo, nessun astro può essere collocato.",bodies:{Moon:"Luna",Venus:"Venere",Mars:"Marte",Jupiter:"Giove",Saturn:"Saturno"},aircraft:"Aeromobile {name}",interpretation:"Interpretazione: {name}",keepVariant:"Conserva questa variante",keptTitle:"Varianti conservate ({n})",seeKept:"Vedi",removeVariant:"Rimuovi",keptRecomputed:"ricalcolata: {verdict}, costo {x} σ",keptModel:"modello: {model}",reentry:"Rientro {name}",star:"Stella {name}",fireball:"Bolide {name}",poherLoading:"Caricamento della matrice di Poher…",poherFailed:"Non è stato possibile leggere la matrice di Poher: sono proposti solo gli astri.",poherTitle:"Secondo la matrice {version}",poherIntro:"Gli altri fenomeni noti della matrice, senza traiettoria calcolata qui: il loro punteggio è il giudizio di Poher, da confrontare a mano.",poherIntroRr0:"Gli altri fenomeni noti della matrice, senza traiettoria calcolata qui: ogni punteggio è quello di Poher, o quello di RR0 per ciò che RR0 aggiunge, con la sua ragione; da confrontare a mano.",poherVersion:"Matrice",poherVersions:{"poher-1977":"di Poher (1977)","rr0-2026":"di Poher estesa da RR0 (2026)"},poherAdded:"aggiunto da RR0",poherRr0Reason:"punteggio di RR0: {why}",poherPossible:"Possibili",poherExcluded:"Esclusi ({n})",poherExcludedBy:"escluso da: {list}",poherDoubted:"dubbio secondo stime: {list}",poherScore:"punteggio {x}",poherTag:"Poher: {state}",poherStatePossible:"possibile, punteggio {x}",poherStateExcluded:"escluso",answersTitle:"Risposte dedotte dalla registrazione ({n})",firm:"ferma",soft:"stima, da sola non esclude nulla"}},o={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à"},timeQualifierApproximate:"Approssimativa",timeQualifierUncertain:"Incerta",timeQualifierBoth:"Incerta e approssimativa",timeSeasonSpring:"Primavera",timeSeasonSummer:"Estate",timeSeasonAutumn:"Autunno",timeSeasonWinter:"Inverno",summaryGroups:{observation:"Osservazione",location:"Posizione",temporal:"Tempo",weather:"Meteo",sound:"Suono"},summaryGroup:"Riepilogo",summaryDescription:"Descrizione",closeDescription:"Chiudi la descrizione",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",rareIceCrystals:"Cristalli rari",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",filter:"Davanti",filterNone:"niente",filterSolarVisual:"un filtro solare per l'occhio (occhiali da eclissi, densità 5)",filterSolarPhoto:"una pellicola solare per fotocamera (densità 3,8)",decorAircraft:"Aeromobile",decorEntity:"Essere",decorAltitude:"Altitudine",decorLights:"Luci",decorLightsNone:"nessuna",decor:"Ambiente",decorBuilding:"Edificio",decorTree:"Albero",decorShrub:"Cespuglio",decorBridge:"Ponte",decorWire:"Linea aerea",decorCrop:"Filare di coltura",decorTerrace:"Terrazzamento",decorMound:"Mucchio di pietre",decorWall:"Muretto a secco",decorStreetlight:"Lampione",decorTrafficLight:"Semaforo",decorCrossing:"Attraversamento pedonale",decorRoadSign:"Segnale stradale",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",decorWidth:"Larghezza",decorLength:"Lunghezza",decorHeight:"Altezza",decorModel:"Modello 3D",decorModelAdvanced:"Modello da un indirizzo",decorModelUrl:"Indirizzo glTF/GLB",decorModelTitle:"Nome del modello",decorModelAuthor:"Autore",decorModelLicense:"Licenza",decorModelSource:"Provenienza",decorObserverSide:"Posizione dell'osservatore",decorObserverSideNone:"Non presente",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={...o,oval:"Ovale",polygon:"Poligono",modelTriangle:"Triangolo",modelSaucer:"Disco volante",modelCigar:"Sigaro",modelChevron:"Chevron",modelLight:"Luce",modelPartDisc:"disco",modelPartDome:"cupola",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",shapeRotation:"Rotazione",shapeRotationTitle:"Di quanto la forma è ruotata nel disegno, in senso orario, in gradi: ciò che regola la sua maniglia di rotazione",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",duplicate:"Duplica",bringToFront:"Porta in primo piano",sendToBack:"Porta in fondo",contextMenuDelete:"Elimina",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:"Salva",frozenTitle:"Dati congelati",frozenHint:"Ciò che la scena chiederebbe altrimenti a terzi a ogni riproduzione (rilievo, foto del suolo, strade, acqua, ferrovie, alta atmosfera), rilevato al salvataggio e conservato in file accanto alla registrazione, perché si riproduca uguale senza chiedere nulla a nessuno.",frozenLive:"Interrogare le fonti a ogni riproduzione (non congelare nulla)",frozenRelief:"Rilievo",frozenImagery:"Foto del suolo",frozenRoads:"Strade",frozenWater:"Acqua",frozenRailways:"Ferrovie",frozenUpperAir:"Alta atmosfera",frozenMap:"Foto della mappa",fileItemRecording:"Registrazione",fileItemWeather:"Meteo",fileItemPlace:"Luogo",fileItemLightPollution:"Inquinamento luminoso",fileItemDecor:"Scenografia",weatherStatedByObserver:"come l'ha data l'osservatore",annexSource:"File",annexStorageInline:"dentro la registrazione stessa",annexEditorLabel:"L'allegato come testo JSON",annexUnreadable:"Questo file non è un allegato di questo tipo: non è cambiato nulla.",frozenTakenOn:"rilevato il {date}",frozenPending:"rilevato al salvataggio",frozenLiveState:"chiesto in diretta",frozenRefresh:"Aggiorna",frozenTaking:"Rilevamento: {group}… {done}/{of}",frozenFailed:"{group}: la fonte non ha risposto, nulla è stato rilevato.",frozenMissing:"{file} illeggibile: lasciato fuori dall'archivio.",frozenExported:"Salvato con {count} allegati ({size}), in un archivio da decomprimere dove la registrazione è pubblicata.",identityHint:"Nomina qualcuno solo se vi ha acconsentito o ha pubblicato lui stesso la propria testimonianza; altrimenti bastano le iniziali.",identityAsk:"Questa registrazione nomina o colloca una persona. Rispondi di ciò che pubblichi: nomina qualcuno solo se vi ha acconsentito, o se ha pubblicato lui stesso la propria testimonianza. Altrimenti bastano le iniziali.",identityLastName:"Cognome: {value}",identityFirstNames:"Nome: {value}",identityNameInId:"Nome in un identificativo: {value}",identityNameInText:"Nome nel testo: {value}",identityAddress:"Indirizzo: {value}",identityEmail:"Indirizzo e-mail: {value}",identityPhone:"Numero di telefono: {value}",identityInitials:"Sostituisci con le iniziali",identityKeep:"Salva comunque",identityBack:"Torna indietro",importFile:"Carica un file di osservazione",paramSummaryTitle:"Ciò che indica la registrazione ({n})",wholeKeyframes:"Ogni fotogramma chiave per intero",wholeKeyframesHint:"Altrimenti un fotogramma chiave dice solo ciò che è cambiato dal precedente, come si scrive una registrazione a mano. Cambiare questa scelta svuota la cronologia di annullamento.",importUrlPlaceholder:"https://…/sighting.json",inputFileFromFile:"dal proprio disco",inputFileFromUrl:"da un indirizzo",inputFileModeHint:"Fare clic per darlo nell'altro modo: un proprio file o un indirizzo",inputFileLoad:"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.",formatVersionError:"Questo file indica la versione {found} del suo formato; questo UFO@home legge fino alla versione {supported}. Lo apra con un UFO@home più recente.",record:"Registra",stop:"Ferma",according:"secondo",sourceElevation:"Rilievo",sourceImagery:"Immagini",sourceAircraft:"Traffico aereo",sourceFile:"File",sourceKind:"Dati",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",utcOffsetNoZone:"Nessun fuso indica questo scarto quel giorno",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:"sconosciuto",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",launchesSubgroup:"Lanci",sky:"Cielo",dataSources:"Fonti dei dati",beamsSubgroup:"Fasci",soundGroup:"Suono",close:"Chiudi",editorKicker:"Editor di avvistamento",witnessError:e,expandTracks:"Espandi le tracce",collapseTracks:"Comprimi le tracce",addKeyframeHere:"Aggiungi un fotogramma chiave qui",keyframeHere:"Qui c'è un fotogramma chiave: modificarlo lo cambia",overlayHorizon:"Orizzonte · inclinazione {deg}°",overlayFov:"Campo visivo {v}° × {h}°",overlayWind:"Soffia verso {point} · {speed} m/s",sectionIdentity:"Identità",sectionProfile:"Profilo",sectionTestimony:"Testimonianza",sectionVision:"Visione",sectionPerception:"Percezione",sectionCoordinates:"Coordinate",sectionGaze:"Sguardo",sectionNightSky:"Cielo notturno",sectionPeriod:"Periodo",sectionSurvey:"Scenario da un rilievo",sectionHeard:"Ciò che è stato udito",sectionSoundRecording:"Registrazione",sectionPicture:"Foto",sectionPose:"Posa",sectionAppearance:"Aspetto",sectionSize:"Dimensioni e distanza",sectionPath:"Traiettoria",moreSettings:"Altre impostazioni ({n})",lessSettings:"Meno impostazioni",showSettings:"Mostra ({n} impostazioni)",showSettingsOne:"Mostra (1 impostazione)",showSettingsAny:"Mostra",hideSettings:"Nascondi",save:"Salva",stateNew:"Nuova registrazione",panelIntroObservation:"Cosa è successo, in poche righe, e cosa resta da completare.",panelIntroObserver:"Chi ha visto, e con cosa. Ogni osservatore ha il proprio punto di vista nella scena.",panelIntroLocation:"Da dove guardava l'osservatore, e in quale direzione.",panelIntroTemporal:"Quando è iniziato, quanto è durato, e i momenti del racconto.",panelIntroDecor:"Ciò che circondava l'osservatore: veicoli, edifici, vegetazione.",panelIntroWeather:"Il tempo che faceva, e ciò che attraversava il cielo senza essere il fenomeno: lanci, fasci.",panelIntroShape:"Ciò che è stato visto, disegnato nella scena dal punto di vista dell'osservatore.",panelIntroSound:"Ciò che è stato udito.",panelIntroReference:"Foto e schizzi, allineati alla scena per confrontarla.",panelIntroFile:"La registrazione completa, da salvare o ricaricare.",temporalGroup:"Data",fileGroup:"File",fileLoading:"Caricamento dell'editor…",weatherEditedAsk:"Questa modifica tocca il meteo, un dato letto dinamicamente da {source}. Vuoi smettere di leggerlo da {source}?",weatherEditedStop:"Smetti di leggerlo",weatherEditedKeep:"Continua a leggerlo (annulla la mia modifica)",fileEditorLabel:"La registrazione come testo JSON",fileSearchPhrases:{Find:"Cerca",Replace:"Sostituisci",next:"successivo",previous:"precedente",all:"tutti","match case":"maiuscole","by word":"parola intera",regexp:"regexp",replace:"sostituisci","replace all":"sostituisci tutto",close:"chiudi","current match":"corrispondenza corrente","on line":"alla riga","replaced $ matches":"$ corrispondenze sostituite","replaced match on line $":"corrispondenza sostituita alla riga $","Go to line":"Vai alla riga",go:"vai"},timeQualifierExact:"Esatta",durationPrecise:"precisa",durationIso:"imprecisa",durationModeTitle:"Dire la durata esattamente, o come è stata enunciata: circa, tra due durate",durationInvalid:"Non è una durata: PT10M, PT1H30M, PT5M/PT10M…",durationHelpTitle:"Che cosa accetta il testo (EDTF)",durationHelpLines:`PT45S — 45 secondi
2
+ PT10M — 10 minuti
3
+ PT1H30M — 1 ora 30 minuti
4
+ PT5M/PT10M — tra 5 e 10 minuti
5
+ Terminare con ? se incerto, ~ se approssimativo, % per entrambi
6
+ 1965-?07 — il dubbio può riguardare anche una parte`,durationChosen:"(simulata: {value})",accountView:"Resoconto",accountView2d:"2D · forme",accountView3d:"3D · corpi",accountViewHint:"Ciò che mostra il render e ciò che si modifica: le forme che l'osservatore ha disegnato, o i corpi che ha detto che fossero",datePrecise:"precisa",dateEdtf:"imprecisa",dateHelpTitle:"Che cosa accetta il testo (EDTF)",dateHelpLines:`1965 — un anno
7
+ 1965-07 — un mese
8
+ 1965-21 — una stagione (21 primavera, 22 estate, 23 autunno, 24 inverno)
9
+ 1965-07-01 — un giorno
10
+ 1965-07-01T05:00 — un giorno e un'ora
11
+ 05:00 — un'ora, data sconosciuta
12
+ Terminare con ? se incerto, ~ se approssimativo, % per entrambi`,edtfModeTitle:"Scrivi invece una data imprecisa: solo un anno, un mese, un'ora senza data",locationGroup:"Luogo",observerTab:"Testimone",observationGroup:"Riepilogo",weatherWhilePlaying:"Metti in pausa la registrazione per indicare il tempo — mentre scorre, l'istante in cui verrebbe scritto si sposta",weatherInferred:"Fonte",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",weatherNeedsDate:"Serve una data completa (anno, mese e giorno) per cercare i rilevamenti meteo",weatherNeedsPlace:"Serve un luogo con coordinate per cercare i rilevamenti meteo",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",instrumentCategoryEye:"Occhio nudo",instrumentCategoryCamera:"Fotocamere",instrumentCategoryDslr:"Reflex digitali",instrumentCategoryPhone:"Telefoni",instrumentCategoryBinoculars:"Binocoli",instrumentCategoryTelescope:"Telescopi",instrumentNotYetOnSale:"Non esisteva ancora nel {year} (in vendita dal {from})",instrumentNoLongerOnSale:"Non esisteva più nel {year} (in vendita fino al {to})",filterNotForInstrument:"Non utilizzabile con questo strumento",unitMillimetres:"mm",unitDegrees:"°",fieldOfViewReadout:"{deg}° di campo",soundSrcPlaceholder:"URL di una registrazione reale",referenceGroup:"Foto",reference:"Foto",referenceTitle:"Nome",referenceSrc:"Immagine",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:"Da un indirizzo",addReferenceFile:"Da 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",referenceStreetNoPlace:"Dai prima un luogo alla registrazione: le foto si cercano intorno",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",noMeteor:"Nessuna meteora visibile",noComet:"Nessuna cometa visibile",noNova:"Nessuna stella nuova visibile",noSatellite:"Nessun satellite visibile",noFireball:"Nessun bolide visibile",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",skyEclipsePartial:"Eclissi di Sole: la Luna nasconde il {percent} % del Sole alle {time}, a {altitude}° sopra l'orizzonte {bearing}",skyEclipseTotal:"Eclissi totale di Sole: il Sole è interamente nascosto dalle {time} per {duration}, a {altitude}° sopra l'orizzonte {bearing}",skySupermoon:"Luna piena a {distance} km: {diameter}° di larghezza, il {percent} % in più che alla distanza media — una «superluna», e non più grande all'orizzonte che in alto",skyMicromoon:"Luna piena a {distance} km: {diameter}° di larghezza, il {percent} % in meno che alla distanza media — una «microluna», e non più piccola all'orizzonte che in alto",skyRedMoon:"La «lune rousse»: la Luna piena della lunazione che segue la Pasqua, a {altitude}° sopra l'orizzonte {bearing} — bassa, quindi arrossata dall'aria che attraversa, e né più grande né più luminosa di un'altra",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",skyReentries:"rientri registrati: {list}",skyReentriesMore:"altri {count}",skyReentrySeen:"{name} è ricaduto alle {time}, visto da {place} (a {distance} km)",skyReentryObserved:"{name} è ricaduto alle {time}, visto",skyReentryOffset:", a {minutes} min dall'osservazione",skyReentryPredicted:"{name} è ricaduto verso le {time} ± {hours} h, non si sa dove",skyReentryDay:"{name} è ricaduto il {date} (UTC), senza ora né luogo noti",skyFireballs:"{count} bolidi registrati dalla Global Meteor Network, il più luminoso di magnitudine {magnitude} alle {time}, a {altitude}° di altezza {bearing}, a {distance} km ({stations} stazioni)",skyFireballsOne:"un bolide registrato dalla Global Meteor Network: magnitudine {magnitude} alle {time}, a {altitude}° di altezza {bearing}, a {distance} km ({stations} stazioni)",showFireball:"Mostrami il bolide",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",undo:"Annulla",redo:"Ripristina",viewAccount:"Vedi il resoconto",noObserverRecording:"Nessun URL di registrazione per questo osservatore",masks:"Nasconde",masksNone:"Nessun fenomeno da nascondere per ora",masksBodyFully:"nascosto da questo oggetto",masksBodyPartly:"nascosto al {share} % da questo oggetto",masksBodyNot:"non nascosto da questo oggetto",modelPickerTitle:"Scegliere un modello 3D",modelPickerClose:"Chiudere",modelPickerChoose:"Scegliere un modello 3D",modelPickerUse:"Usa questo modello",modelPickerIncomplete:"Non disegnato finché non sono indicati il nome e la licenza del modello",addObserver:"Aggiungi osservatore",surveyLabel:"Scenografia ricavata da un rilievo",surveySource:"Scenografia da",surveyDated:"Rilevato il: {dates}.",surveyLaserLabel:"laser",surveyPhotoLabel:"foto aerea",surveyMapLabel:"carta",surveyLampsLabel:"OpenStreetMap",surveyWarning:"⚠ Questa scenografia viene da rilievi del {survey}, successivi all'osservazione ({observation}): non è ciò che c'era allora. Teneteli come riferimento, o eliminateli.",surveyRadius:"Raggio",surveyRadiusTitle:"Fino a dove intorno all'osservatore si interroga il rilievo, in metri. Un raggio più ampio porta edifici, ponti e linee più lontani; gli alberi vengono dal laser, che si interroga solo entro 150 m.",surveySourceTitle:"Il rilievo da cui sono ricavati, da soli, gli alberi, gli edifici, i ponti e le linee aeree attorno al luogo quando date un luogo alla registrazione: sono messi nell'elenco, al loro posto, con altezza e larghezza misurate. Le coordinate del luogo sono inviate a quel servizio. Nessuno lascia la scenografia a voi soli. Ciò che avete collocato voi non viene mai toccato.",surveySourceNone:"Nessuno (tutto a mano)",surveyBusy:"Ricerca della scenografia attorno all'osservatore…",surveyDone:"Da {source}: alberi {trees}, edifici {buildings}, ponti {bridges}, linee elettriche {lines}. Sono quelli del giorno del rilievo, non della registrazione: teneteli, spostateli o eliminateli.",surveyNone:"Nessun albero, edificio, ponte né linea elettrica trovato entro {radius} m.",surveyKept:"Ciò che avete collocato voi resta com'è.",surveyUnreachable:"Impossibile raggiungere il rilievo. Riprovate più tardi.",surveyFurniturePending:"Illuminazione pubblica e semafori: in attesa di OpenStreetMap…",surveyFurnitureDone:"Da {source}: lampioni {lamps}, semafori {signals}, attraversamenti {crossings}, segnali {signs}.",surveyFurnitureUnavailable:"Illuminazione pubblica e semafori non disponibili per ora: OpenStreetMap non risponde.",surveyFurnitureRetry:"Riprova",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",observerBirth:"Nato il",observerPerception:{"color-vision":"Visione dei colori","color-vision.hint":"Come appaiono i colori a chi ha coni diversi (Machado et al. 2009). Ricolora soltanto: luminosità e risoluzione restano uguali.","color-vision.type":"Tipo","color-vision.type.normal":"Tipica","color-vision.type.protan":"Protan (rosso debole o cieco)","color-vision.type.deutan":"Deutan (verde debole o cieco)","color-vision.type.tritan":"Tritan (blu debole o cieco)","color-vision.severity":"Gravità",intoxication:"Alcol","intoxication.hint":"Riduce la sensibilità al contrasto di circa 0,9 dB a 0,08 % di alcol nel sangue (uno studio controllato; i risultati variano), mostrato fino a 0,1 % al massimo: un livello più alto viene registrato ma mostrato come 0,1 %, poiché oltre non è stato misurato nulla. Visione doppia, campo ristretto e altre droghe non sono modellati: nessuna fonte li quantifica.","intoxication.bloodAlcohol":"Alcolemia",fatigue:"Stanchezza","fatigue.hint":"Solo dichiarata: non è dimostrato che la mancanza di sonno cambi ciò che riceve un occhio sano, quindi l'immagine non cambia. Riguarda attenzione e memoria, non la vista.","fatigue.hoursAwake":"Sveglio da"},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",emptyDecor:"Nessun elemento della scenografia",emptyMilestones:"Nessun momento",emptyReferences:"Nessuna foto",emptyReferenceLandmarks:"Nessun punto di riferimento",emptyTraces:"Nessun tracciato dell'investigatore",emptyShapes:"Nessuna forma",addReference:"Aggiungi una foto",principalObserver:"Osservatore di questo resoconto",deleteObserver:"Elimina l'osservatore"};export{a as sightingEditorMessages_it};
@@ -1,4 +1,4 @@
1
- import{S as T,g as de,E as M,a as it,s as rt,b as O,P as ot,c as V,d as Le,F as me,e as pe,f as lt,h as at,V as Qe,D as P,R as _,i as ce,j as ct,C as L,k as Ee,l as b,r as ht,L as ut,m as ft,t as w,n as dt,o as mt,p as pt,q as ke,u as gt,v as xt,w as vt,x as We,y as Ie,z as bt,A as yt,G as Ne,W as Ot,B as wt,H as kt,I as Ce,J as Ct,K as St,M as Mt,N as Pt,O as Rt,Q as Tt,T as At,U as Lt,X as Qt,Y as Et,Z as Wt,_ as It,$ as Nt,a0 as Dt,a1 as Bt,a2 as $t,a3 as qt,a4 as Vt,a5 as Ht,a6 as Kt,a7 as jt,a8 as Xt,a9 as Gt,aa as zt,ab as Ft}from"./index-DSNA74v6.js";import Yt from"./sightingSchema-CNCtrneh.js";const Se=typeof String.prototype.normalize=="function"?i=>i.normalize("NFKD"):i=>i;class K{constructor(e,n,t=0,s=e.length,r,l){this.test=l,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(t,s),this.bufferStart=t,this.normalize=r?o=>r(Se(o)):Se,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return lt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=ct(e),t=this.bufferStart+this.bufferPos;this.bufferPos+=at(e);let s=this.normalize(n);if(s.length)for(let r=0,l=t,o=!0;;r++){let a=s.charCodeAt(r),c=this.match(a,l,o,this.bufferPos+this.bufferStart,r==s.length-1);if(c)return this.value=c,this;if(r==s.length-1)break;o&&r<n.length&&n.charCodeAt(r)==a?l++:o=!1}}}match(e,n,t,s,r){let l=null;for(let o=0;o<this.matches.length;){let a=this.matches[o],c=!1;this.query.charCodeAt(a.index)==e&&(a.index==this.query.length-1?l={from:a.from,to:s,precise:r&&a.precise}:(a.index++,c=!0)),c?o++:this.matches.splice(o,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?l={from:n,to:s,precise:t&&r}:this.matches.push({from:n,index:1,precise:t})),l&&this.test&&!this.test(l.from,l.to,this.buffer,this.bufferStart)&&(l=null),l}}typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this});const De={from:-1,to:-1,match:/.*/.exec(""),precise:!0},ge="gm"+(/x/.unicode==null?"":"u");class Be{constructor(e,n,t,s=0,r=e.length){if(this.text=e,this.to=r,this.curLine="",this.done=!1,this.value=De,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new $e(e,n,t,s,r);this.re=new RegExp(n,ge+(t?.ignoreCase?"i":"")),this.test=t?.test,this.iter=e.iter();let l=e.lineAt(s);this.curLineStart=l.from,this.matchPos=ee(e,s),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let t=this.curLineStart+n.index,s=t+n[0].length;if(this.matchPos=ee(this.text,s+(t==s?1:0)),t==this.curLineStart+this.curLine.length&&this.nextLine(),(t<s||t>this.value.to)&&(!this.test||this.test(t,s,n)))return this.value={from:t,to:s,precise:!0,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const le=new WeakMap;class ${constructor(e,n){this.from=e,this.text=n}get to(){return this.from+this.text.length}static get(e,n,t){let s=le.get(e);if(!s||s.from>=t||s.to<=n){let o=new $(n,e.sliceString(n,t));return le.set(e,o),o}if(s.from==n&&s.to==t)return s;let{text:r,from:l}=s;return l>n&&(r=e.sliceString(n,l)+r,l=n),s.to<t&&(r+=e.sliceString(s.to,t)),le.set(e,new $(l,r)),new $(n,r.slice(n-l,t-l))}}class $e{constructor(e,n,t,s,r){this.text=e,this.to=r,this.done=!1,this.value=De,this.matchPos=ee(e,s),this.re=new RegExp(n,ge+(t?.ignoreCase?"i":"")),this.test=t?.test,this.flat=$.get(e,s,this.chunkEnd(s+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let t=this.flat.from+n.index,s=t+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(t,s,n)))return this.value={from:t,to:s,precise:!0,match:n},this.matchPos=ee(this.text,s+(t==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=$.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Be.prototype[Symbol.iterator]=$e.prototype[Symbol.iterator]=function(){return this});function Zt(i){try{return new RegExp(i,ge),!0}catch{return!1}}function ee(i,e){if(e>=i.length)return e;let n=i.lineAt(e),t;for(;e<n.to&&(t=n.text.charCodeAt(e-n.from))>=56320&&t<57344;)e++;return e}const Ut=i=>{let e=it(i,"cm-goto-line");if(e){let l=e.dom.querySelector("input[type=text]");return l&&l.select(),!0}let{state:n}=i,t=String(n.doc.lineAt(i.state.selection.main.head).number),{close:s,result:r}=rt(i,{class:"cm-goto-line",label:n.phrase("Go to line"),input:{type:"text",name:"line",value:t},focus:!0,submitLabel:n.phrase("go")});return r.then(l=>{let o=l&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(l.elements.line.value);if(!o){i.dispatch({effects:s});return}let a=n.doc.lineAt(n.selection.main.head),[,c,u,h,f]=o,d=h?+h.slice(1):0,m=u?+u:a.number;if(u&&f){let S=m/100;c&&(S=S*(c=="-"?-1:1)+a.number/n.doc.lines),m=Math.round(n.doc.lines*S)}else u&&c&&(m=m*(c=="-"?-1:1)+a.number);let g=n.doc.line(Math.max(1,Math.min(n.doc.lines,m))),x=M.cursor(g.from+Math.max(0,Math.min(d,g.length)));i.dispatch({effects:[s,O.scrollIntoView(x.from,{y:"center"})],selection:x})}),!0},Jt=({state:i,dispatch:e})=>{let{selection:n}=i,t=M.create(n.ranges.map(s=>i.wordAt(s.head)||M.cursor(s.head)),n.mainIndex);return t.eq(n)?!1:(e(i.update({selection:t})),!0)};function _t(i,e){let{main:n,ranges:t}=i.selection,s=i.wordAt(n.head),r=s&&s.from==n.from&&s.to==n.to;for(let l=!1,o=new K(i.doc,e,t[t.length-1].to);;)if(o.next(),o.done){if(l)return null;o=new K(i.doc,e,0,Math.max(0,t[t.length-1].from-1)),l=!0}else{if(l&&t.some(a=>a.from==o.value.from))continue;if(r){let a=i.wordAt(o.value.from);if(!a||a.from!=o.value.from||a.to!=o.value.to)continue}return o.value}}const en=({state:i,dispatch:e})=>{let{ranges:n}=i.selection;if(n.some(r=>r.from===r.to))return Jt({state:i,dispatch:e});let t=i.sliceDoc(n[0].from,n[0].to);if(i.selection.ranges.some(r=>i.sliceDoc(r.from,r.to)!=t))return!1;let s=_t(i,t);return s?(e(i.update({selection:i.selection.addRange(M.range(s.from,s.to),!1),effects:O.scrollIntoView(s.to)})),!0):!1},I=me.define({combine(i){return pe(i,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new gn(e),scrollToMatch:e=>O.scrollIntoView(e)})}});function tn(i){return i?[I.of(i),ue]:ue}class qe{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||Zt(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,t)=>t=="n"?`
1
+ import{S as T,g as de,E as M,a as it,s as rt,b as O,P as ot,c as V,d as Le,F as me,e as pe,f as lt,h as at,V as Qe,D as P,R as _,i as ce,j as ct,C as L,k as Ee,l as b,r as ht,L as ut,m as ft,t as w,n as dt,o as mt,p as pt,q as ke,u as gt,v as xt,w as vt,x as We,y as Ie,z as bt,A as yt,G as Ne,W as Ot,B as wt,H as kt,I as Ce,J as Ct,K as St,M as Mt,N as Pt,O as Rt,Q as Tt,T as At,U as Lt,X as Qt,Y as Et,Z as Wt,_ as It,$ as Nt,a0 as Dt,a1 as Bt,a2 as $t,a3 as qt,a4 as Vt,a5 as Ht,a6 as Kt,a7 as jt,a8 as Xt,a9 as Gt,aa as zt,ab as Ft}from"./index-DSNA74v6.js";import Yt from"./sightingSchema-Dn9Nacua.js";const Se=typeof String.prototype.normalize=="function"?i=>i.normalize("NFKD"):i=>i;class K{constructor(e,n,t=0,s=e.length,r,l){this.test=l,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(t,s),this.bufferStart=t,this.normalize=r?o=>r(Se(o)):Se,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return lt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=ct(e),t=this.bufferStart+this.bufferPos;this.bufferPos+=at(e);let s=this.normalize(n);if(s.length)for(let r=0,l=t,o=!0;;r++){let a=s.charCodeAt(r),c=this.match(a,l,o,this.bufferPos+this.bufferStart,r==s.length-1);if(c)return this.value=c,this;if(r==s.length-1)break;o&&r<n.length&&n.charCodeAt(r)==a?l++:o=!1}}}match(e,n,t,s,r){let l=null;for(let o=0;o<this.matches.length;){let a=this.matches[o],c=!1;this.query.charCodeAt(a.index)==e&&(a.index==this.query.length-1?l={from:a.from,to:s,precise:r&&a.precise}:(a.index++,c=!0)),c?o++:this.matches.splice(o,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?l={from:n,to:s,precise:t&&r}:this.matches.push({from:n,index:1,precise:t})),l&&this.test&&!this.test(l.from,l.to,this.buffer,this.bufferStart)&&(l=null),l}}typeof Symbol<"u"&&(K.prototype[Symbol.iterator]=function(){return this});const De={from:-1,to:-1,match:/.*/.exec(""),precise:!0},ge="gm"+(/x/.unicode==null?"":"u");class Be{constructor(e,n,t,s=0,r=e.length){if(this.text=e,this.to=r,this.curLine="",this.done=!1,this.value=De,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new $e(e,n,t,s,r);this.re=new RegExp(n,ge+(t?.ignoreCase?"i":"")),this.test=t?.test,this.iter=e.iter();let l=e.lineAt(s);this.curLineStart=l.from,this.matchPos=ee(e,s),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let t=this.curLineStart+n.index,s=t+n[0].length;if(this.matchPos=ee(this.text,s+(t==s?1:0)),t==this.curLineStart+this.curLine.length&&this.nextLine(),(t<s||t>this.value.to)&&(!this.test||this.test(t,s,n)))return this.value={from:t,to:s,precise:!0,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const le=new WeakMap;class ${constructor(e,n){this.from=e,this.text=n}get to(){return this.from+this.text.length}static get(e,n,t){let s=le.get(e);if(!s||s.from>=t||s.to<=n){let o=new $(n,e.sliceString(n,t));return le.set(e,o),o}if(s.from==n&&s.to==t)return s;let{text:r,from:l}=s;return l>n&&(r=e.sliceString(n,l)+r,l=n),s.to<t&&(r+=e.sliceString(s.to,t)),le.set(e,new $(l,r)),new $(n,r.slice(n-l,t-l))}}class $e{constructor(e,n,t,s,r){this.text=e,this.to=r,this.done=!1,this.value=De,this.matchPos=ee(e,s),this.re=new RegExp(n,ge+(t?.ignoreCase?"i":"")),this.test=t?.test,this.flat=$.get(e,s,this.chunkEnd(s+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let t=this.flat.from+n.index,s=t+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(t,s,n)))return this.value={from:t,to:s,precise:!0,match:n},this.matchPos=ee(this.text,s+(t==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=$.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Be.prototype[Symbol.iterator]=$e.prototype[Symbol.iterator]=function(){return this});function Zt(i){try{return new RegExp(i,ge),!0}catch{return!1}}function ee(i,e){if(e>=i.length)return e;let n=i.lineAt(e),t;for(;e<n.to&&(t=n.text.charCodeAt(e-n.from))>=56320&&t<57344;)e++;return e}const Ut=i=>{let e=it(i,"cm-goto-line");if(e){let l=e.dom.querySelector("input[type=text]");return l&&l.select(),!0}let{state:n}=i,t=String(n.doc.lineAt(i.state.selection.main.head).number),{close:s,result:r}=rt(i,{class:"cm-goto-line",label:n.phrase("Go to line"),input:{type:"text",name:"line",value:t},focus:!0,submitLabel:n.phrase("go")});return r.then(l=>{let o=l&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(l.elements.line.value);if(!o){i.dispatch({effects:s});return}let a=n.doc.lineAt(n.selection.main.head),[,c,u,h,f]=o,d=h?+h.slice(1):0,m=u?+u:a.number;if(u&&f){let S=m/100;c&&(S=S*(c=="-"?-1:1)+a.number/n.doc.lines),m=Math.round(n.doc.lines*S)}else u&&c&&(m=m*(c=="-"?-1:1)+a.number);let g=n.doc.line(Math.max(1,Math.min(n.doc.lines,m))),x=M.cursor(g.from+Math.max(0,Math.min(d,g.length)));i.dispatch({effects:[s,O.scrollIntoView(x.from,{y:"center"})],selection:x})}),!0},Jt=({state:i,dispatch:e})=>{let{selection:n}=i,t=M.create(n.ranges.map(s=>i.wordAt(s.head)||M.cursor(s.head)),n.mainIndex);return t.eq(n)?!1:(e(i.update({selection:t})),!0)};function _t(i,e){let{main:n,ranges:t}=i.selection,s=i.wordAt(n.head),r=s&&s.from==n.from&&s.to==n.to;for(let l=!1,o=new K(i.doc,e,t[t.length-1].to);;)if(o.next(),o.done){if(l)return null;o=new K(i.doc,e,0,Math.max(0,t[t.length-1].from-1)),l=!0}else{if(l&&t.some(a=>a.from==o.value.from))continue;if(r){let a=i.wordAt(o.value.from);if(!a||a.from!=o.value.from||a.to!=o.value.to)continue}return o.value}}const en=({state:i,dispatch:e})=>{let{ranges:n}=i.selection;if(n.some(r=>r.from===r.to))return Jt({state:i,dispatch:e});let t=i.sliceDoc(n[0].from,n[0].to);if(i.selection.ranges.some(r=>i.sliceDoc(r.from,r.to)!=t))return!1;let s=_t(i,t);return s?(e(i.update({selection:i.selection.addRange(M.range(s.from,s.to),!1),effects:O.scrollIntoView(s.to)})),!0):!1},I=me.define({combine(i){return pe(i,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new gn(e),scrollToMatch:e=>O.scrollIntoView(e)})}});function tn(i){return i?[I.of(i),ue]:ue}class qe{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||Zt(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,t)=>t=="n"?`
2
2
  `:t=="r"?"\r":t=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new an(this):new rn(this)}getCursor(e,n=0,t){let s=e.doc?e:ce.create({doc:e});return t==null&&(t=s.doc.length),this.regexp?B(this,s,n,t):D(this,s,n,t)}}class Ve{constructor(e){this.spec=e}}function nn(i,e,n){return(t,s,r,l)=>{if(n&&!n(t,s,r,l))return!1;let o=t>=l&&s<=l+r.length?r.slice(t-l,s-l):e.doc.sliceString(t,s);return i(o,e,t,s)}}function D(i,e,n,t){let s;return i.wholeWord&&(s=sn(e.doc,e.charCategorizer(e.selection.main.head))),i.test&&(s=nn(i.test,e,s)),new K(e.doc,i.unquoted,n,t,i.caseSensitive?void 0:r=>r.toLowerCase(),s)}function sn(i,e){return(n,t,s,r)=>((r>n||r+s.length<t)&&(r=Math.max(0,n-2),s=i.sliceString(r,Math.min(i.length,t+2))),(e(te(s,n-r))!=L.Word||e(ne(s,n-r))!=L.Word)&&(e(ne(s,t-r))!=L.Word||e(te(s,t-r))!=L.Word))}class rn extends Ve{constructor(e){super(e)}nextMatch(e,n,t){let s=D(this.spec,e,t,e.doc.length).nextOverlapping();if(s.done){let r=Math.min(e.doc.length,n+this.spec.unquoted.length);s=D(this.spec,e,0,r).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==t?null:s.value}prevMatchInRange(e,n,t){for(let s=t;;){let r=Math.max(n,s-1e4-this.spec.unquoted.length),l=D(this.spec,e,r,s),o=null;for(;!l.nextOverlapping().done;)o=l.value;if(o)return o;if(r==n)return null;s-=1e4}}prevMatch(e,n,t){let s=this.prevMatchInRange(e,0,n);return s||(s=this.prevMatchInRange(e,Math.max(0,t-this.spec.unquoted.length),e.doc.length)),s&&(s.from!=n||s.to!=t)?s:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,n){let t=D(this.spec,e,0,e.doc.length),s=[];for(;!t.next().done;){if(s.length>=n)return null;s.push(t.value)}return s}highlight(e,n,t,s){let r=D(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(t+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}function on(i,e,n){return(t,s,r)=>(!n||n(t,s,r))&&i(r[0],e,t,s)}function B(i,e,n,t){let s;return i.wholeWord&&(s=ln(e.charCategorizer(e.selection.main.head))),i.test&&(s=on(i.test,e,s)),new Be(e.doc,i.search,{ignoreCase:!i.caseSensitive,test:s},n,t)}function te(i,e){return i.slice(Ee(i,e,!1),e)}function ne(i,e){return i.slice(e,Ee(i,e))}function ln(i){return(e,n,t)=>!t[0].length||(i(te(t.input,t.index))!=L.Word||i(ne(t.input,t.index))!=L.Word)&&(i(ne(t.input,t.index+t[0].length))!=L.Word||i(te(t.input,t.index+t[0].length))!=L.Word)}class an extends Ve{nextMatch(e,n,t){let s=B(this.spec,e,t,e.doc.length).next();return s.done&&(s=B(this.spec,e,0,n).next()),s.done?null:s.value}prevMatchInRange(e,n,t){for(let s=1;;s++){let r=Math.max(n,t-s*1e4),l=B(this.spec,e,r,t),o=null;for(;!l.next().done;)o=l.value;if(o&&(r==n||o.from>r+10))return o;if(r==n)return null}}prevMatch(e,n,t){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,t,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,t)=>{if(t=="&")return e.match[0];if(t=="$")return"$";for(let s=t.length;s>0;s--){let r=+t.slice(0,s);if(r>0&&r<e.match.length)return e.match[r]+t.slice(s)}return n})}matchAll(e,n){let t=B(this.spec,e,0,e.doc.length),s=[];for(;!t.next().done;){if(s.length>=n)return null;s.push(t.value)}return s}highlight(e,n,t,s){let r=B(this.spec,e,Math.max(0,n-250),Math.min(t+250,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}const j=T.define(),xe=T.define(),Q=V.define({create(i){return new ae(he(i).create(),null)},update(i,e){for(let n of e.effects)n.is(j)?i=new ae(n.value.create(),i.panel):n.is(xe)&&(i=new ae(i.query,n.value?ve:null));return i},provide:i=>Le.from(i,e=>e.panel)});class ae{constructor(e,n){this.query=e,this.panel=n}}const cn=P.mark({class:"cm-searchMatch"}),hn=P.mark({class:"cm-searchMatch cm-searchMatch-selected"}),un=Qe.fromClass(class{constructor(i){this.view=i,this.decorations=this.highlight(i.state.field(Q))}update(i){let e=i.state.field(Q);(e!=i.startState.field(Q)||i.docChanged||i.selectionSet||i.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:i,panel:e}){if(!e||!i.spec.valid)return P.none;let{view:n}=this,t=new _;for(let s=0,r=n.visibleRanges,l=r.length;s<l;s++){let{from:o,to:a}=r[s];for(;s<l-1&&a>r[s+1].from-500;)a=r[++s].to;i.highlight(n.state,o,a,(c,u)=>{let h=n.state.selection.ranges.some(f=>f.from==c&&f.to==u);t.add(c,u,h?hn:cn)})}return t.finish()}},{decorations:i=>i.decorations});function z(i){return e=>{let n=e.state.field(Q,!1);return n&&n.query.spec.valid?i(e,n):be(e)}}const se=z((i,{query:e})=>{let{to:n}=i.state.selection.main,t=e.nextMatch(i.state,n,n);if(!t)return!1;let s=M.single(t.from,t.to),r=i.state.facet(I);return i.dispatch({selection:s,effects:[ye(i,t),r.scrollToMatch(s.main,i)],userEvent:"select.search"}),Ke(i),!0}),ie=z((i,{query:e})=>{let{state:n}=i,{from:t}=n.selection.main,s=e.prevMatch(n,t,t);if(!s)return!1;let r=M.single(s.from,s.to),l=i.state.facet(I);return i.dispatch({selection:r,effects:[ye(i,s),l.scrollToMatch(r.main,i)],userEvent:"select.search"}),Ke(i),!0}),fn=z((i,{query:e})=>{let n=e.matchAll(i.state,1e3);return!n||!n.length?!1:(i.dispatch({selection:M.create(n.map(t=>M.range(t.from,t.to))),userEvent:"select.search.matches"}),!0)}),dn=({state:i,dispatch:e})=>{let n=i.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:t,to:s}=n.main,r=[],l=0;for(let o=new K(i.doc,i.sliceDoc(t,s));!o.next().done;){if(r.length>1e3)return!1;o.value.from==t&&(l=r.length),r.push(M.range(o.value.from,o.value.to))}return e(i.update({selection:M.create(r,l),userEvent:"select.search.matches"})),!0},Me=z((i,{query:e})=>{let{state:n}=i,{from:t,to:s}=n.selection.main;if(n.readOnly)return!1;let r=e.nextMatch(n,t,t);if(!r)return!1;let l=r,o=[],a,c,u=[];l.precise?l.from==t&&l.to==s&&(c=n.toText(e.getReplacement(l)),o.push({from:l.from,to:l.to,insert:c}),l=e.nextMatch(n,l.from,l.to),u.push(O.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(t).number)+"."))):l=e.nextMatch(n,l.from,l.to);let h=i.state.changes(o);return l&&(a=M.single(l.from,l.to).map(h),u.push(ye(i,l)),u.push(n.facet(I).scrollToMatch(a.main,i))),i.dispatch({changes:h,selection:a,effects:u,userEvent:"input.replace"}),!0}),mn=z((i,{query:e})=>{if(i.state.readOnly)return!1;let n=[];for(let s of e.matchAll(i.state,1e9)){let{from:r,to:l,precise:o}=s;o&&n.push({from:r,to:l,insert:e.getReplacement(s)})}if(!n.length)return!1;let t=i.state.phrase("replaced $ matches",n.length)+".";return i.dispatch({changes:n,effects:O.announce.of(t),userEvent:"input.replace.all"}),!0});function ve(i){return i.state.facet(I).createPanel(i)}function he(i,e){var n,t,s,r,l;let o=i.selection.main,a=o.empty||o.to>o.from+100?"":i.sliceDoc(o.from,o.to);if(e&&!a)return e;let c=i.facet(I);return new qe({search:((n=e?.literal)!==null&&n!==void 0?n:c.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(t=e?.caseSensitive)!==null&&t!==void 0?t:c.caseSensitive,literal:(s=e?.literal)!==null&&s!==void 0?s:c.literal,regexp:(r=e?.regexp)!==null&&r!==void 0?r:c.regexp,wholeWord:(l=e?.wholeWord)!==null&&l!==void 0?l:c.wholeWord})}function He(i){let e=de(i,ve);return e&&e.dom.querySelector("[main-field]")}function Ke(i){let e=He(i);e&&e==i.root.activeElement&&e.select()}const be=i=>{let e=i.state.field(Q,!1);if(e&&e.panel){let n=He(i);if(n&&n!=i.root.activeElement){let t=he(i.state,e.query.spec);t.valid&&i.dispatch({effects:j.of(t)}),n.focus(),n.select()}}else i.dispatch({effects:[xe.of(!0),e?j.of(he(i.state,e.query.spec)):T.appendConfig.of(ue)]});return!0},je=i=>{let e=i.state.field(Q,!1);if(!e||!e.panel)return!1;let n=de(i,ve);return n&&n.dom.contains(i.root.activeElement)&&i.focus(),i.dispatch({effects:xe.of(!1)}),!0},pn=[{key:"Mod-f",run:be,scope:"editor search-panel"},{key:"F3",run:se,shift:ie,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:se,shift:ie,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:je,scope:"editor search-panel"},{key:"Mod-Shift-l",run:dn},{key:"Mod-Alt-g",run:Ut},{key:"Mod-d",run:en,preventDefault:!0}];class gn{constructor(e){this.view=e;let n=this.query=e.state.field(Q).query.spec;this.commit=this.commit.bind(this),this.searchField=b("input",{value:n.search,placeholder:k(e,"Find"),"aria-label":k(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=b("input",{value:n.replace,placeholder:k(e,"Replace"),"aria-label":k(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=b("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=b("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=b("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function t(s,r,l){return b("button",{class:"cm-button",name:s,onclick:r,type:"button"},l)}this.dom=b("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,t("next",()=>se(e),[k(e,"next")]),t("prev",()=>ie(e),[k(e,"previous")]),t("select",()=>fn(e),[k(e,"all")]),b("label",null,[this.caseField,k(e,"match case")]),b("label",null,[this.reField,k(e,"regexp")]),b("label",null,[this.wordField,k(e,"by word")]),...e.state.readOnly?[]:[b("br"),this.replaceField,t("replace",()=>Me(e),[k(e,"replace")]),t("replaceAll",()=>mn(e),[k(e,"replace all")])],b("button",{name:"close",onclick:()=>je(e),"aria-label":k(e,"close"),type:"button"},["×"])])}commit(){let e=new qe({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:j.of(e)}))}keydown(e){ht(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ie:se)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Me(this.view))}update(e){for(let n of e.transactions)for(let t of n.effects)t.is(j)&&!t.value.eq(this.query)&&this.setQuery(t.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(I).top}}function k(i,e){return i.state.phrase(e)}const Y=30,Z=/[\s\.,:;?!]/;function ye(i,{from:e,to:n}){let t=i.state.doc.lineAt(e),s=i.state.doc.lineAt(n).to,r=Math.max(t.from,e-Y),l=Math.min(s,n+Y),o=i.state.sliceDoc(r,l);if(r!=t.from){for(let a=0;a<Y;a++)if(!Z.test(o[a+1])&&Z.test(o[a])){o=o.slice(a);break}}if(l!=s){for(let a=o.length-1;a>o.length-Y;a--)if(!Z.test(o[a-1])&&Z.test(o[a])){o=o.slice(0,a);break}}return O.announce.of(`${i.state.phrase("current match")}. ${o} ${i.state.phrase("on line")} ${t.number}.`)}const xn=O.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),ue=[Q,ot.low(un),xn],vn=ft({String:w.string,Number:w.number,"True False":w.bool,PropertyName:w.propertyName,Null:w.null,", :":w.separator,"[ ]":w.squareBracket,"{ }":w.brace}),bn=ut.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[vn],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),yn=()=>i=>{try{JSON.parse(i.state.doc.toString())}catch(e){if(!(e instanceof SyntaxError))throw e;const n=On(e,i.state.doc);return[{from:n,message:e.message,severity:"error",to:n}]}return[]};function On(i,e){let n;return(n=i.message.match(/at position (\d+)/))?Math.min(+n[1],e.length):(n=i.message.match(/at line (\d+) column (\d+)/))?Math.min(e.line(+n[1]).from+ +n[2]-1,e.length):0}const Xe=mt.define({name:"json",parser:bn.configure({props:[pt.add({Object:ke({except:/^\s*\}/}),Array:ke({except:/^\s*\]/})}),gt.add({"Object Array":xt})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function wn(){return new dt(Xe)}class Pe{constructor(e,n,t){this.from=e,this.to=n,this.diagnostic=t}}class W{constructor(e,n,t){this.diagnostics=e,this.panel=n,this.selected=t}static init(e,n,t){let s=t.facet(R).markerFilter;s&&(e=s(e,t));let r=e.slice().sort((d,m)=>d.from-m.from||d.to-m.to),l=new _,o=[],a=0,c=t.doc.iter(),u=0,h=t.doc.length;for(let d=0;;){let m=d==r.length?null:r[d];if(!m&&!o.length)break;let g,x;if(o.length)g=a,x=o.reduce((v,y)=>Math.min(v,y.to),m&&m.from>g?m.from:1e8);else{if(g=m.from,g>h)break;x=m.to,o.push(m),d++}for(;d<r.length;){let v=r[d];if(v.from==g&&(v.to>v.from||v.to==g))o.push(v),d++,x=Math.min(v.to,x);else{x=Math.min(v.from,x);break}}x=Math.min(x,h);let S=!1;if(o.some(v=>v.from==g&&(v.to==x||x==h))&&(S=g==x,!S&&x-g<10)){let v=g-(u+c.value.length);v>0&&(c.next(v),u=g);for(let y=g;;){if(y>=x){S=!0;break}if(!c.lineBreak&&u+c.value.length>y)break;y=u+c.value.length,u+=c.value.length,c.next()}}let N=_e(o);if(S)l.add(g,g,P.widget({widget:new Qn(N),diagnostics:o.slice()}));else{let v=o.reduce((y,F)=>F.markClass?y+" "+F.markClass:y,"");l.add(g,x,P.mark({class:"cm-lintRange cm-lintRange-"+N+v,diagnostics:o.slice(),inclusiveEnd:o.some(y=>y.to>x)}))}if(a=x,a==h)break;for(let v=0;v<o.length;v++)o[v].to<=a&&o.splice(v--,1)}let f=l.finish();return new W(f,n,E(f))}}function E(i,e=null,n=0){let t=null;return i.between(n,1e9,(s,r,{spec:l})=>{if(!(e&&l.diagnostics.indexOf(e)<0))if(!t)t=new Pe(s,r,e||l.diagnostics[0]);else{if(l.diagnostics.indexOf(t.diagnostic)<0)return!1;t=new Pe(t.from,r,t.diagnostic)}}),t}function Ge(i,e){let n=e.pos,t=e.end||n,s=i.state.facet(R).hideOn(i,n,t);if(s!=null)return s;let r=i.startState.doc.lineAt(e.pos);return!!(i.effects.some(l=>l.is(re))||i.changes.touchesRange(r.from,Math.max(r.to,t)))}function ze(i,e){return i.field(C,!1)?e:e.concat(T.appendConfig.of(st))}function kn(i,e){return{effects:ze(i,[re.of(e)])}}const re=T.define(),Oe=T.define(),Fe=T.define(),C=V.define({create(){return new W(P.none,null,null)},update(i,e){if(e.docChanged&&i.diagnostics.size){let n=i.diagnostics.map(e.changes),t=null,s=i.panel;if(i.selected){let r=e.changes.mapPos(i.selected.from,1);t=E(n,i.selected.diagnostic,r)||E(n,null,r)}!n.size&&s&&e.state.facet(R).autoPanel&&(s=null),i=new W(n,s,t)}for(let n of e.effects)if(n.is(re)){let t=e.state.facet(R).autoPanel?n.value.length?X.open:null:i.panel;i=W.init(n.value,t,e.state)}else n.is(Oe)?i=new W(i.diagnostics,n.value?X.open:null,i.selected):n.is(Fe)&&(i=new W(i.diagnostics,i.panel,n.value));return i},provide:i=>[Le.from(i,e=>e.panel),O.decorations.from(i,e=>e.diagnostics)]}),Cn=P.mark({class:"cm-lintRange cm-lintRange-active"});function Sn(i,e,n){let{diagnostics:t}=i.state.field(C),s,r=-1,l=-1;t.between(e-(n<0?1:0),e+(n>0?1:0),(a,c,{spec:u})=>{if(e>=a&&e<=c&&(a==c||(e>a||n>0)&&(e<c||n<0)))return s=u.diagnostics,r=a,l=c,!1});let o=i.state.facet(R).tooltipFilter;return s&&o&&(s=o(s,i.state)),s?{pos:r,end:l,above:!0,create(){return{dom:Ye(i,s)}}}:null}function Ye(i,e){return b("ul",{class:"cm-tooltip-lint"},e.map(n=>Je(i,n,!1)))}const Mn=i=>{let e=i.state.field(C,!1);(!e||!e.panel)&&i.dispatch({effects:ze(i.state,[Oe.of(!0)])});let n=de(i,X.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},Re=i=>{let e=i.state.field(C,!1);return!e||!e.panel?!1:(i.dispatch({effects:Oe.of(!1)}),!0)},Pn=i=>{let e=i.state.field(C,!1);if(!e)return!1;let n=i.state.selection.main,t=E(e.diagnostics,null,n.to+1);return!t&&(t=E(e.diagnostics,null,0),!t||t.from==n.from&&t.to==n.to)?!1:(i.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0}),vt(i,t.from,1,{tooltip:nt,until:s=>s.docChanged||s.newSelection.main.head<t.from||s.newSelection.main.head>t.to}),!0)},Rn=[{key:"Mod-Shift-m",run:Mn,preventDefault:!0},{key:"F8",run:Pn}],Ze=Qe.fromClass(class{constructor(i){this.view=i,this.timeout=-1,this.set=!0;let{delay:e}=i.state.facet(R);this.lintTime=Date.now()+e,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,e)}run(){clearTimeout(this.timeout);let i=Date.now();if(i<this.lintTime-10)this.timeout=setTimeout(this.run,this.lintTime-i);else{this.set=!1;let{state:e}=this.view,{sources:n}=e.facet(R);n.length&&Tn(n.map(t=>Promise.resolve(t(this.view))),t=>{this.view.state.doc==e.doc&&this.view.dispatch(kn(this.view.state,t.reduce((s,r)=>s.concat(r))))},t=>{wt(this.view.state,t)})}}update(i){let e=i.state.facet(R);(i.docChanged||e!=i.startState.facet(R)||e.needsRefresh&&e.needsRefresh(i))&&(this.lintTime=Date.now()+e.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,e.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}});function Tn(i,e,n){let t=[],s=-1;for(let r of i)r.then(l=>{t.push(l),clearTimeout(s),t.length==i.length?e(t):s=setTimeout(()=>e(t),200)},n)}const R=me.define({combine(i){return{sources:i.map(e=>e.source).filter(e=>e!=null),...pe(i.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Te,tooltipFilter:Te,needsRefresh:(e,n)=>e?n?t=>e(t)||n(t):e:n,hideOn:(e,n)=>e?n?(t,s,r)=>e(t,s,r)||n(t,s,r):e:n,autoPanel:(e,n)=>e||n})}}});function Te(i,e){return i?e?(n,t)=>e(i(n,t),t):i:e}function An(i,e={}){return[R.of({source:i,config:e}),Ze,st]}function Ln(i){let e=i.plugin(Ze);e&&e.force()}function Ue(i){let e=[];if(i)e:for(let{name:n}of i){for(let t=0;t<n.length;t++){let s=n[t];if(/[a-zA-Z]/.test(s)&&!e.some(r=>r.toLowerCase()==s.toLowerCase())){e.push(s);continue e}}e.push("")}return e}function Je(i,e,n){var t;let s=n?Ue(e.actions):[];return b("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},b("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(i):e.message),(t=e.actions)===null||t===void 0?void 0:t.map((r,l)=>{let o=!1,a=d=>{if(d.preventDefault(),o)return;o=!0;let m=E(i.state.field(C).diagnostics,e);m&&r.apply(i,m.from,m.to)},{name:c}=r,u=s[l]?c.indexOf(s[l]):-1,h=u<0?c:[c.slice(0,u),b("u",c.slice(u,u+1)),c.slice(u+1)],f=r.markClass?" "+r.markClass:"";return b("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:a,onmousedown:a,"aria-label":` Action: ${c}${u<0?"":` (access key "${s[l]})"`}.`},h)}),e.source&&b("div",{class:"cm-diagnosticSource"},e.source))}class Qn extends Ot{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return b("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Ae{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Je(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class X{constructor(e){this.view=e,this.items=[];let n=s=>{if(!(s.ctrlKey||s.altKey||s.metaKey)){if(s.keyCode==27)Re(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:r}=this.items[this.selectedIndex],l=Ue(r.actions);for(let o=0;o<l.length;o++)if(l[o].toUpperCase().charCodeAt(0)==s.keyCode){let a=E(this.view.state.field(C).diagnostics,r);a&&r.actions[o].apply(e,a.from,a.to)}}else return;s.preventDefault()}},t=s=>{for(let r=0;r<this.items.length;r++)this.items[r].dom.contains(s.target)&&this.moveSelection(r)};this.list=b("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:t}),this.dom=b("div",{class:"cm-panel-lint"},this.list,b("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Re(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(C).selected;if(!e)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==e.diagnostic)return n;return-1}update(){let{diagnostics:e,selected:n}=this.view.state.field(C),t=0,s=!1,r=null,l=new Set;for(e.between(0,this.view.state.doc.length,(o,a,{spec:c})=>{for(let u of c.diagnostics){if(l.has(u))continue;l.add(u);let h=-1,f;for(let d=t;d<this.items.length;d++)if(this.items[d].diagnostic==u){h=d;break}h<0?(f=new Ae(this.view,u),this.items.splice(t,0,f),s=!0):(f=this.items[h],h>t&&(this.items.splice(t,h-t),s=!0)),n&&f.diagnostic==n.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),r=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),t++}});t<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new Ae(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),r?(this.list.setAttribute("aria-activedescendant",r.id),this.view.requestMeasure({key:this,read:()=>({sel:r.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:a})=>{let c=a.height/this.list.offsetHeight;o.top<a.top?this.list.scrollTop-=(a.top-o.top)/c:o.bottom>a.bottom&&(this.list.scrollTop+=(o.bottom-a.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let e=this.list.firstChild;function n(){let t=e;e=t.nextSibling,t.remove()}for(let t of this.items)if(t.dom.parentNode==this.list){for(;e!=t.dom;)n();e=t.dom.nextSibling}else this.list.insertBefore(t.dom,e);for(;e;)n()}moveSelection(e){if(this.selectedIndex<0)return;let n=this.view.state.field(C),t=E(n.diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Fe.of(t)})}static open(e){return new X(e)}}function J(i,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(i)}</svg>')`}function U(i){return J(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${i}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const En=O.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:U("#f11")},".cm-lintRange-warning":{backgroundImage:U("orange")},".cm-lintRange-info":{backgroundImage:U("#999")},".cm-lintRange-hint":{backgroundImage:U("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function Wn(i){return i=="error"?4:i=="warning"?3:i=="info"?2:1}function _e(i){let e="hint",n=1;for(let t of i){let s=Wn(t.severity);s>n&&(n=s,e=t.severity)}return e}class et extends Ne{constructor(e){super(),this.diagnostics=e,this.severity=_e(e)}toDOM(e){let n=document.createElement("div");n.className="cm-lint-marker cm-lint-marker-"+this.severity;let t=this.diagnostics,s=e.state.facet(oe).tooltipFilter;return s&&(t=s(t,e.state)),t.length&&(n.onmouseover=()=>Nn(e,n,t)),n}}function In(i,e){let n=t=>{let s=e.getBoundingClientRect();if(!(t.clientX>s.left-10&&t.clientX<s.right+10&&t.clientY>s.top-10&&t.clientY<s.bottom+10)){for(let r=t.target;r;r=r.parentNode)if(r.nodeType==1&&r.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",n),i.state.field(tt)&&i.dispatch({effects:we.of(null)})}};window.addEventListener("mousemove",n)}function Nn(i,e,n){function t(){let l=i.elementAtHeight(e.getBoundingClientRect().top+5-i.documentTop);i.coordsAtPos(l.from)&&i.dispatch({effects:we.of({pos:l.from,above:!1,clip:!1,create(){return{dom:Ye(i,n),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,In(i,e)}let{hoverTime:s}=i.state.facet(oe),r=setTimeout(t,s);e.onmouseout=()=>{clearTimeout(r),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(r),r=setTimeout(t,s)}}function Dn(i,e){let n=Object.create(null);for(let s of e){let r=i.lineAt(s.from);(n[r.from]||(n[r.from]=[])).push(s)}let t=[];for(let s in n)t.push(new et(n[s]).range(+s));return We.of(t,!0)}const Bn=Ie({class:"cm-gutter-lint",markers:i=>i.state.field(fe),widgetMarker:(i,e,n)=>{let t=[];return i.state.field(fe).between(n.from,n.to,(s,r,l)=>{s>n.from&&s<n.to&&t.push(...l.diagnostics)}),t.length?new et(t):null}}),fe=V.define({create(){return We.empty},update(i,e){i=i.map(e.changes);let n=e.state.facet(oe).markerFilter;for(let t of e.effects)if(t.is(re)){let s=t.value;n&&(s=n(s||[],e.state)),i=Dn(e.state.doc,s.slice(0))}return i}}),we=T.define(),tt=V.define({create(){return null},update(i,e){return i&&e.docChanged&&(i=Ge(e,i)?null:{...i,pos:e.changes.mapPos(i.pos)}),e.effects.reduce((n,t)=>t.is(we)?t.value:n,i)},provide:i=>bt.from(i)}),$n=O.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:J('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:J('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:J('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),nt=yt(Sn,{hideOn:Ge}),st=[C,O.decorations.compute([C],i=>{let{selected:e,panel:n}=i.field(C);return!e||!n||e.from==e.to?P.none:P.set([Cn.range(e.from,e.to)])}),nt,En],oe=me.define({combine(i){return pe(i,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function qn(i={}){return[oe.of(i),fe,Bn,$n,tt]}class H{constructor(e=[],n=H.FIELDS){this.at=e,this.format=n}static FIELDS=Yt;fieldsAt(e){let n=this.format;for(const t of e)n=n?.[t]?.fields;return n}pathTo(e,n){const t=[];for(let s=e;s;s=s.parent)if(s.name==="Property"){const r=s.getChild("PropertyName");r&&t.unshift(n.slice(r.from,r.to).replace(/^"|"$/g,""))}return[...this.at,...t]}keyCompletions(e){return Object.entries(e).map(([n,t])=>({label:`"${n}"`,apply:`"${n}": `,type:t.type==="enum"?"enum":t.type==="object"||t.type==="array"?"class":"property",detail:t.type==="enum"?t.values?.join(" | "):t.type,...t.doc===void 0?{}:{info:t.doc}}))}valueCompletions(e){return(e.values??e.suggest??[]).map(n=>({label:`"${n}"`,apply:`"${n}"`,type:"enum"}))}get source(){return e=>{const n=e.state.doc.toString(),t=kt(e.state).resolveInner(e.pos,-1),s=n.slice(0,e.pos);if(t.name==="PropertyName")return this.keys(this.pathTo(t.parent?.parent??null,n),t.from,t.to);if(t.name==="String"&&t.parent?.name==="Property")return this.values(this.fieldAt(this.pathTo(t.parent,n)),t.from,t.to);if(/:\s*$/.test(s)){const l=t.name==="Property"?t:this.propertyBefore(t,e.pos);return this.values(l?this.fieldAt(this.pathTo(l,n)):void 0,e.pos)}if(!e.explicit&&!/[{,[]\s*$/.test(s))return null;const r=t.name==="Object"?t:t.parent?.name==="Object"?t.parent:t;return this.keys(this.pathTo(r,n),e.pos)}}keys(e,n,t){const s=this.fieldsAt(e);return s===void 0?null:{from:n,...t===void 0?{}:{to:t},options:this.keyCompletions(s),validFor:H.WORD}}values(e,n,t){return e?.values===void 0&&e?.suggest===void 0?null:{from:n,...t===void 0?{}:{to:t},options:this.valueCompletions(e),validFor:H.WORD}}static WORD=/^"?[\w-]*"?$/;fieldAt(e){return this.fieldsAt(e.slice(0,-1))?.[e[e.length-1]]}propertyBefore(e,n){let t;for(let s=e.firstChild;s;s=s.nextSibling)s.name==="Property"&&s.from<n&&(t=s);return t}}class q{static at(e,n){const t=Ce(e,e.doc.length,50);if(t===null)return[];const s=[];let r=null;for(let l=t.resolveInner(n,-1);l!==null;r=l,l=l.parent)if(l.name==="Property"){const o=l.getChild("PropertyName");o!==null&&s.unshift(JSON.parse(e.sliceDoc(o.from,o.to)))}else l.name==="Array"&&r!==null&&s.unshift(q.indexOf(l,r));return s}static range(e,n){const t=Ce(e,e.doc.length,50);if(t===null)return;let s=t.topNode.firstChild,r;for(const l of n){if(s===null)return;if(typeof l=="number"){if(s.name!=="Array"||(s=q.elements(s)[l]??null,s===null))return;r={from:s.from,to:s.to}}else{if(s.name!=="Object")return;let o=null;for(let a=s.firstChild;a!==null;a=a.nextSibling){if(a.name!=="Property")continue;const c=a.getChild("PropertyName");if(c!==null&&JSON.parse(e.sliceDoc(c.from,c.to))===l){o=a;break}}if(o===null)return;r={from:o.from,to:o.to},s=o.lastChild}}return r}static elements(e){const n=[];for(let t=e.firstChild;t!==null;t=t.nextSibling)["[","]",",","LineComment","BlockComment"].includes(t.name)||n.push(t);return n}static indexOf(e,n){return q.elements(e).findIndex(t=>t.from===n.from&&t.to===n.to)}}class A{static MAX_EDITS=1500;static MAX_WORK=1e6;static changed(e,n){return A.compare(e,n).changed}static compare(e,n){let t=0;for(;t<e.length&&t<n.length&&e[t]===n[t];)t++;let s=e.length,r=n.length;for(;s>t&&r>t&&e[s-1]===n[r-1];)s--,r--;const l=e.slice(t,s),o=n.slice(t,r),a=(g,x)=>Array.from({length:Math.max(0,x-g)},(S,N)=>g+N);if(l.length===0)return{changed:a(t,t+o.length),removed:[]};if(o.length===0)return{changed:[],removed:[t]};const c=A.matchedOf(l,o);if(c===void 0){const g=A.nearOf(l,o);return{changed:g.changed.map(x=>t+x),removed:g.removed.map(x=>t+x)}}const u=[],h=[];let f=-1,d=-1;const m=(g,x)=>{g-f-1>x-d-1&&h.push(t+x)};for(let g=0;g<o.length;g++){const x=c.get(g);if(x===void 0){u.push(t+g);continue}m(x,g),f=x,d=g}return m(l.length,o.length),{changed:u,removed:h}}static LOOKAHEAD=64;static nearOf(e,n){const t=[],s=[];let r=0,l=0;const o=(a,c,u)=>{for(let h=1;h<=A.LOOKAHEAD&&c+h<a.length;h++)if(a[c+h]===u)return h;return 0};for(;r<e.length&&l<n.length;){if(e[r]===n[l]){r++,l++;continue}const a=o(n,l,e[r]),c=o(e,r,n[l]);if(a>0&&(c===0||a<=c)){for(let u=0;u<a;u++)t.push(l+u);l+=a}else c>0?(s.push(l),r+=c):(t.push(l),r++,l++)}for(;l<n.length;l++)t.push(l);return r<e.length&&s.push(n.length),{changed:t,removed:s}}static matchedOf(e,n){const t=e.length,s=n.length,r=Math.min(t+s,A.MAX_EDITS),l=r+1,o=new Int32Array(2*r+3),a=[];let c=0;for(let u=0;u<=r;u++){a.push(o.slice());for(let h=-u;h<=u;h+=2){const f=h===-u||h!==u&&o[l+h-1]<o[l+h+1];let d=f?o[l+h+1]:o[l+h-1]+1,m=d-h;for(;d<t&&m<s&&e[d]===n[m];)d++,m++;if(c+=1+d-(f?o[l+h+1]:o[l+h-1]+1),c>A.MAX_WORK)return;if(o[l+h]=d,d>=t&&m>=s)return A.walkBack(a,u,t,s,l)}}}static walkBack(e,n,t,s,r){const l=new Map;let o=t,a=s;for(let c=n;c>0;c--){const u=e[c],h=o-a,d=h===-c||h!==c&&u[r+h-1]<u[r+h+1]?h+1:h-1,m=u[r+d],g=m-d;for(;o>m&&a>g;)o--,a--,l.set(a,o);o=m,a=g}for(;o>0&&a>0;)o--,a--,l.set(a,o);return l}}class G{static CHUNK=65536;static commonPrefix(e,n){const t=Math.min(e.length,n.length),s=G.CHUNK;let r=0;for(;r+s<=t&&e.slice(r,r+s)===n.slice(r,r+s);)r+=s;for(;r<t&&e.charCodeAt(r)===n.charCodeAt(r);)r++;return r}static commonSuffix(e,n,t){const s=G.CHUNK;let r=0;for(;r+s<=t&&e.slice(e.length-r-s,e.length-r)===n.slice(n.length-r-s,n.length-r);)r+=s;for(;r<t&&e.charCodeAt(e.length-1-r)===n.charCodeAt(n.length-1-r);)r++;return r}}class p{static COLOURS=Ct.define([{tag:w.propertyName,color:"var(--file-key)"},{tag:[w.string,w.attributeValue],color:"var(--file-string)"},{tag:[w.number,w.bool,w.null],color:"var(--file-literal)"},{tag:w.invalid,color:"var(--rr0-alert)"}]);view;placement;changing=!1;cachedText;editedSinceWritten=!1;changedField;silent=!1;static SET_BASELINE=T.define();static WHOLE_TEXT=St.define();static marker(e,n){return new class extends Ne{toDOM(){const t=document.createElement("div");if(t.className=e?"cm-changed-bar":"cm-changed-none",n){const s=document.createElement("div");s.className="cm-removed-tick",t.appendChild(s)}return t}}}static JSON_LINT=yn();static CHANGED_MARKER=p.marker(!0,!1);static REMOVED_MARKER=p.marker(!1,!0);static BOTH_MARKER=p.marker(!0,!0);static REVEAL=T.define();static revealed=V.define({create:()=>null,update:(e,n)=>{for(const t of n.effects)if(t.is(p.REVEAL))return t.value;return e===null?null:{from:n.changes.mapPos(e.from,1),to:n.changes.mapPos(e.to,-1)}},provide:e=>O.decorations.compute([e],n=>{const t=n.field(e),s=new _;if(t!==null)for(let r=n.doc.lineAt(t.from).number;r<=n.doc.lineAt(Math.min(t.to,n.doc.length)).number;r++)s.add(n.doc.line(r).from,n.doc.line(r).from,P.line({class:"cm-revealed-line"}));return s.finish()})});static removedLines(e,n){return new Set([...n].map(t=>Math.min(t,e.doc.lines-1)))}static changeMarks(e){const n=o=>({text:o,doc:Ft.of(o.split(`
3
3
  `))}),t=(o,a,c)=>{const u=c??a.doc.toString(),h=p.commonPrefix(o.text,u);if(h===o.text.length&&h===u.length)return{baseline:o,changed:new Set,removed:new Set};const f=p.commonSuffix(o.text,u,Math.min(o.text.length,u.length)-h),d=a.doc.lineAt(h).number,m=o.doc.lineAt(o.text.length-f).number,g=a.doc.lineAt(u.length-f).number,x=(y,F)=>y.sliceString(y.line(d).from,y.line(F).to).split(`
4
4
  `),{changed:S,removed:N}=A.compare(x(o.doc,m),x(a.doc,g)),v=d-1;return{baseline:o,changed:new Set(S.map(y=>y+v)),removed:new Set(N.map(y=>y+v))}},s=V.define({create:o=>t(n(e),o),update:(o,a)=>{let c=o.baseline;for(const u of a.effects)u.is(p.SET_BASELINE)&&(c=n(u.value));return!a.docChanged&&c===o.baseline?o:t(c,a.state,a.annotation(p.WHOLE_TEXT))}}),r=O.decorations.compute([s],o=>{const a=o.field(s),c=p.removedLines(o,a.removed),u=new Set([...a.changed,...c]),h=new _;for(const f of[...u].sort((d,m)=>d-m)){if(f>=o.doc.lines)continue;const d=[a.changed.has(f)?"cm-changed-line":"",[...a.removed].some(m=>m===f)?"cm-removed-above":"",[...a.removed].some(m=>m>=o.doc.lines)&&f===o.doc.lines-1?"cm-removed-below":""].filter(Boolean).join(" ");h.add(o.doc.line(f+1).from,o.doc.line(f+1).from,P.line({class:d}))}return h.finish()}),l=Ie({class:"cm-changed-gutter",lineMarker:(o,a)=>{const c=o.state.field(s),u=o.state.doc.lineAt(a.from).number-1,h=c.changed.has(u),f=p.removedLines(o.state,c.removed).has(u);return h&&f?p.BOTH_MARKER:h?p.CHANGED_MARKER:f?p.REMOVED_MARKER:null},lineMarkerChange:o=>o.docChanged||o.transactions.some(a=>a.effects.some(c=>c.is(p.SET_BASELINE))),initialSpacer:()=>p.CHANGED_MARKER});return{field:s,extensions:[s,r,l]}}constructor(e,n,t,s,r={}){const l=[...Nt,...Dt,...Bt,...$t,...qt,...Rn,...pn,Vt],o=p.changeMarks(r.baseline??n);this.changedField=o.field,l.unshift({key:"F7",run:()=>this.gotoChange(1),preventDefault:!0},{key:"Shift-F7",run:()=>this.gotoChange(-1),preventDefault:!0}),this.view=new O({...p.rootOf(e),doc:n,extensions:[...o.extensions,p.revealed,Mt(),tn({top:!0}),ce.phrases.of(r.phrases??{}),Pt(),Rt(),Tt(),At(),Lt(),Qt(),Et(),Wt(),It.of(l),ce.tabSize.of(2),Ht(p.COLOURS,{fallback:!0}),wn(),Xe.data.of({autocomplete:new H([],r.schema).source}),qn(),An(a=>a.dom.isConnected?p.JSON_LINT(a):[]),O.contentAttributes.of({"aria-label":s}),O.theme({"&":{maxHeight:"28rem",fontSize:"0.82em",border:"1px solid color-mix(in srgb, currentColor 25%, transparent)",borderRadius:"4px"},"&.cm-focused":{outline:"2px solid color-mix(in srgb, currentColor 45%, transparent)"},".cm-scroller":{overflow:"auto",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace"},".cm-tooltip":{backgroundColor:"Canvas",color:"CanvasText",border:"1px solid color-mix(in srgb, CanvasText 30%, transparent)"},".cm-tooltip-autocomplete > ul > li[aria-selected]":{backgroundColor:"Highlight",color:"HighlightText"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"currentColor"},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:"color-mix(in srgb, currentColor 22%, transparent)"},".cm-gutters":{backgroundColor:"transparent",color:"color-mix(in srgb, currentColor 55%, transparent)",border:"none"},".cm-changed-gutter":{width:"4px"},".cm-changed-bar":{width:"3px",height:"100%",backgroundColor:"#2f81f7"},".cm-changed-gutter .cm-gutterElement":{position:"relative"},".cm-changed-none":{width:"3px",height:"100%"},".cm-removed-tick":{position:"absolute",left:"0",top:"0",width:"0",height:"0",borderTop:"4px solid transparent",borderBottom:"4px solid transparent",borderLeft:"6px solid #e5534b"},".cm-removed-above":{boxShadow:"inset 0 2px 0 #e5534b"},".cm-removed-below":{boxShadow:"inset 0 -2px 0 #e5534b"},".cm-changed-line":{backgroundColor:"color-mix(in srgb, #2f81f7 13%, transparent)"},".cm-revealed-line":{backgroundColor:"color-mix(in srgb, #f2cc60 30%, transparent)",boxShadow:"inset 3px 0 0 #f2cc60"},".cm-panels":{backgroundColor:"color-mix(in srgb, currentColor 6%, transparent)",color:"inherit",borderColor:"color-mix(in srgb, currentColor 25%, transparent)"},".cm-panel.cm-search input, .cm-panel.cm-search button":{fontSize:"inherit",color:"inherit"},".cm-panel.cm-search input[type=text], .cm-panel.cm-search input:not([type])":{backgroundColor:"color-mix(in srgb, currentColor 8%, transparent)",border:"1px solid color-mix(in srgb, currentColor 35%, transparent)",borderRadius:"3px",padding:"2px 5px"},".cm-panel.cm-search button":{backgroundImage:"none",backgroundColor:"color-mix(in srgb, currentColor 12%, transparent)",border:"1px solid color-mix(in srgb, currentColor 35%, transparent)",borderRadius:"3px"},".cm-panel.cm-search label, .cm-panel.cm-search [name=close]":{color:"inherit"},".cm-searchMatch":{backgroundColor:"color-mix(in srgb, #f2cc60 40%, transparent)"},".cm-searchMatch-selected":{backgroundColor:"color-mix(in srgb, #f2cc60 75%, transparent)"}}),O.updateListener.of(a=>{a.docChanged&&(this.cachedText=void 0),a.docChanged&&!this.changing&&(this.editedSinceWritten=!0,t(this.text)),a.selectionSet&&!this.silent&&!this.changing&&a.view.hasFocus&&(a.state.field(p.revealed)!==null&&queueMicrotask(()=>this.view.dispatch({effects:p.REVEAL.of(null)})),r.caretMoved?.(q.at(a.state,a.state.selection.main.head)))})]}),this.placement=this.placeWhileShown(e)}placeWhileShown(e){const n=()=>{e.append(this.view.dom),Ln(this.view);const{root:s}=p.rootOf(e);s&&s!==this.view.root&&this.view.setRoot(s)};if((typeof e.checkVisibility!="function"||e.checkVisibility())&&n(),typeof ResizeObserver>"u")return;const t=new ResizeObserver(s=>{const r=s[s.length-1].contentRect.width>0;r&&!this.view.dom.isConnected?(n(),this.view.requestMeasure()):!r&&this.view.dom.isConnected&&this.view.dom.remove()});return t.observe(e),t}get text(){return this.cachedText??=this.view.state.doc.toString()}get edited(){return this.editedSinceWritten}set text(e){this.replaceText(e,!1)}replaceText(e,n){const t=this.text;if(e!==t){this.changing=!0;try{const s=Math.min(this.view.state.selection.main.head,e.length);this.view.dispatch({changes:p.changesBetween(t,e),selection:{anchor:s},annotations:[Kt.of("full"),p.WHOLE_TEXT.of(e)]})}finally{this.changing=!1}this.cachedText=e,this.editedSinceWritten=!1,n&&this.revealChange(t,p.MOST_LINES_SHOWN)}}static rootOf(e){const n=e.getRootNode();return n instanceof Document||n instanceof ShadowRoot?{root:n}:{}}static changeBetween(e,n){const t=p.commonPrefix(e,n),s=p.commonSuffix(e,n,Math.min(e.length,n.length)-t);return{from:t,to:e.length-s,insert:n.slice(t,n.length-s)}}static changesBetween(e,n){const t=p.commonPrefix(e,n);if(t===e.length&&t===n.length)return[];const s=p.commonSuffix(e,n,Math.min(e.length,n.length)-t),r=e.lastIndexOf(`