diff --git a/Docs/BuiltinIndex.md b/Docs/BuiltinIndex.md index 20939dddb..c82e6a17b 100644 --- a/Docs/BuiltinIndex.md +++ b/Docs/BuiltinIndex.md @@ -17,7 +17,7 @@ + [phone](#phone) + [email](#email) + [wikipedia](#wikipedia) - + [bench.*bench-questions](#bench*bench-questions) + + [bench.bench-questions](#benchbench-questions) + [opening_hours_24_7](#opening_hours_24_7) + [artwork.*artwork-question](#artwork*artwork-question) + [description](#description) @@ -65,6 +65,7 @@ + [single_level](#single_level) + [survey_date](#survey_date) + [id_presets.shop_types](#id_presetsshop_types) + + [elongated_coin.designs](#elongated_coindesigns) + [school.capacity](#schoolcapacity) + [school.gender](#schoolgender) + [toilet.toilets-type](#toilettoilets-type) @@ -148,9 +149,11 @@ - ice_cream - indoors - information_board + - item_with_image - kerbs - love_hotel - map + - memorial - mountain_rescue - nature_reserve - observation_tower @@ -163,6 +166,7 @@ - picnic_table - play_forest - playground + - playground_equipment - postboxes - postoffices - public_bookcase @@ -170,10 +174,13 @@ - reception_desk - recycling - route_marker + - shelter - shops - shower - ski_piste - slow_roads + - souvenir_coin + - souvenir_note - sport_pitch - sports_centre - stairs @@ -305,6 +312,8 @@ - recycling - school - shops + - souvenir_coin + - souvenir_note - sports_centre - tertiary_education - vending_machine @@ -399,13 +408,14 @@ -### bench.*bench-questions +### bench.bench-questions - artwork + - memorial @@ -427,6 +437,8 @@ - hackerspace - parcel_lockers - recycling + - souvenir_coin + - souvenir_note - toilet - vending_machine @@ -503,6 +515,8 @@ - elongated_coin - parking_ticket_machine - shower + - souvenir_coin + - souvenir_note - ticket_machine - toilet - vending_machine @@ -531,6 +545,8 @@ - reception_desk - shops - shower + - souvenir_coin + - souvenir_note - ticket_machine - ticket_validator - toilet @@ -592,6 +608,7 @@ - hotel - ice_cream - observation_tower + - playground_equipment - sports_centre - transit_stops @@ -841,6 +858,8 @@ - elongated_coin - parking_ticket_machine + - souvenir_coin + - souvenir_note - ticket_machine - vending_machine @@ -855,6 +874,8 @@ - elongated_coin - playground + - souvenir_coin + - souvenir_note @@ -866,6 +887,7 @@ - fixme + - summary @@ -1029,6 +1051,17 @@ +### elongated_coin.designs + + + + + + - souvenir_coin + + + + ### school.capacity diff --git a/Docs/BuiltinQuestions.md b/Docs/BuiltinQuestions.md index 8ad246857..d01310d57 100644 --- a/Docs/BuiltinQuestions.md +++ b/Docs/BuiltinQuestions.md @@ -101,7 +101,7 @@ attribute | type | values which are supported by this layer [](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) | [](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) -[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | ["by appointment"](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D"by appointment") +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [](https://taginfo.openstreetmap.org/keys/service:electricity#values) [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno) [](https://taginfo.openstreetmap.org/keys/payment:coins:denominations#values) [payment:coins:denominations](https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations) | Multiple choice | [0.01 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.01 EUR) [0.02 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.02 EUR) [0.05 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 EUR) [0.10 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 EUR) [0.20 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 EUR) [0.50 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 EUR) [1 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 EUR) [2 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 EUR) [0.05 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 CHF) [0.10 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 CHF) [0.20 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 CHF) [0.50 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 CHF) [1 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 CHF) [2 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 CHF) [5 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D5 CHF) [](https://taginfo.openstreetmap.org/keys/payment:notes:denominations#values) [payment:notes:denominations](https://wiki.openstreetmap.org/wiki/Key:payment:notes:denominations) | Multiple choice | [5 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D5 EUR) [10 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D10 EUR) [20 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D20 EUR) [50 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D50 EUR) [100 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D100 EUR) [200 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D200 EUR) [500 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D500 EUR) [10 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D10 CHF) [20 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D20 CHF) [50 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D50 CHF) [100 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D100 CHF) [200 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D200 CHF) [1000 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:notes:denominations%3D1000 CHF) @@ -364,6 +364,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### opening_hours_24_7 @@ -375,6 +381,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ @@ -390,6 +398,7 @@ This rendering asks information about the property [opening_hours](https://wiki - *Only by appointment* corresponds with opening_hours="by appointment" + - _This option cannot be chosen as answer_ - *Only by appointment* corresponds with opening_hours~^("by appointment"|by appointment)$ - _This option cannot be chosen as answer_ diff --git a/Docs/ChangesetMeta.md b/Docs/ChangesetMeta.md new file mode 100644 index 000000000..5fea91c58 --- /dev/null +++ b/Docs/ChangesetMeta.md @@ -0,0 +1,36 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + Metatags on a changeset +========================= + + + +## Table of contents + +1. [Metatags on a changeset](#metatags-on-a-changeset) + + + +You might encounter the following metatags on a changeset: + + + +key | value | explanation | source +----- | ------- | ------------- | -------- +comment | | The changeset comment. Will be a fixed string, mentioning the theme | default +theme | | The name of the theme that was used to create this change. | default +source | survey | The contributor had their geolocation enabled while making changes | default +change_within_{distance} | | If the contributor enabled their geolocation, this will hint how far away they were from the objects they edited. This gives an indication of proximity and if they truly surveyed or were armchair-mapping | default +change_over_{distance} | | If the contributor enabled their geolocation, this will hint how far away they were from the objects they edited. If they were over 5000m away, the might have been armchair-mapping | default +created_by | MapComplete | The piece of software used to create this changeset; will always start with MapComplete, followed by the version number | default +locale | en\|nl\|de\|... | The code of the language that the contributor used MapComplete in. Hints what language the user speaks. | default +host | https://mapcomplete.org/ | The URL that the contributor used to make changes. One can see the used instance with this | default +imagery | | The identifier of the used background layer, this will probably be an identifier from the [editor layer index](https://github.com/osmlab/editor-layer-index) | default +move | relocated\|improve_accuraccy\|... | Will appear if the This might give a reason per modified node or way | ChangeLocation +answer | | Indicates the number of questions that have been answered | ChangeTag +soft-delete | | Indicates the number of soft-deleted items | ChangeTag +add-image | | Indicates the number of images that have been added in this changeset | ChangeTag +link-image | | Indicates the number of images that have been linked in this changeset | ChangeTag + + +This document is autogenerated from [src/Logic/Osm/Changes.ts](https://github.com/pietervdvn/MapComplete/blob/develop/src/Logic/Osm/Changes.ts), [src/Logic/Osm/ChangesetHandler.ts](https://github.com/pietervdvn/MapComplete/blob/develop/src/Logic/Osm/ChangesetHandler.ts) diff --git a/Docs/Layers/address.md b/Docs/Layers/address.md index 5827934ec..25e3dcd30 100644 --- a/Docs/Layers/address.md +++ b/Docs/Layers/address.md @@ -20,6 +20,18 @@ Addresses +#### Themes using this layer + + + + + + - [grb](https://mapcomplete.org/grb) + - [uk_addresses](https://mapcomplete.org/uk_addresses) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/advertising_wall_paintings.md b/Docs/Layers/advertising_wall_paintings.md new file mode 100644 index 000000000..a6233df87 --- /dev/null +++ b/Docs/Layers/advertising_wall_paintings.md @@ -0,0 +1,352 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + advertising_wall_paintings +============================ + + + + + +We will complete data from advertising features with reference, operator and lit + + + + + + + - This layer is shown at zoomlevel **18** and higher + + + + +#### Themes using this layer + + + + + + - [ghostsigns](https://mapcomplete.org/ghostsigns) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must match the expression **advertising=wall_painting** + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22advertising%22%3D%22wall_painting%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/historic#values) [historic](https://wiki.openstreetmap.org/wiki/Key:historic) | Multiple choice | [advertising](https://wiki.openstreetmap.org/wiki/Tag:historic%3Dadvertising) [](https://wiki.openstreetmap.org/wiki/Tag:historic%3D) +[](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | +[](https://taginfo.openstreetmap.org/keys/advertising#values) [advertising](https://wiki.openstreetmap.org/wiki/Key:advertising) | [string](../SpecialInputElements.md#string) | [billboard](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dbillboard) [board](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dboard) [column](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dcolumn) [flag](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dflag) [poster_box](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dposter_box) [screen](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dscreen) [sculpture](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dsculpture) [sign](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dsign) [tarp](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dtarp) [totem](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dtotem) [wall_painting](https://wiki.openstreetmap.org/wiki/Tag:advertising%3Dwall_painting) +[](https://taginfo.openstreetmap.org/keys/animated#values) [animated](https://wiki.openstreetmap.org/wiki/Key:animated) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:animated%3Dno) [digital_display](https://wiki.openstreetmap.org/wiki/Tag:animated%3Ddigital_display) [trivision_blades](https://wiki.openstreetmap.org/wiki/Tag:animated%3Dtrivision_blades) [winding_posters](https://wiki.openstreetmap.org/wiki/Tag:animated%3Dwinding_posters) [revolving](https://wiki.openstreetmap.org/wiki/Tag:animated%3Drevolving) +[](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/sides#values) [sides](https://wiki.openstreetmap.org/wiki/Key:sides) | Multiple choice | [1](https://wiki.openstreetmap.org/wiki/Tag:sides%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:sides%3D2) +[](https://taginfo.openstreetmap.org/keys/ref#values) [ref](https://wiki.openstreetmap.org/wiki/Key:ref) | [string](../SpecialInputElements.md#string) | + + + + +### historic + + + +The question is *Is this a ghost sign?* + + + + + + - *This is a ghost sign* corresponds with historic=advertising + - *This is not a ghost sign* corresponds with historic= + + + + +### just_created + + + +This element shows a 'thank you' that the contributor has recently created this element + +This tagrendering has no question and is thus read-only + + + + + + - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with id~.+ + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:passed_time<300 & (_version_number= | _version_number=1) & _backend~.+` + +This tagrendering has labels `added_by_default` + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### type + + + +The question is *Which type of advertising feature is this?* + +This rendering asks information about the property [advertising](https://wiki.openstreetmap.org/wiki/Key:advertising) This is rendered with `This is a {advertising}` + + + + - *This is a billboard* corresponds with advertising=billboard + - *This is a board* corresponds with advertising=board + - *This is a column* corresponds with advertising=column + - *This is a flag* corresponds with advertising=flag + - *This is a poster Box* corresponds with advertising=poster_box + - *This is a screen* corresponds with advertising=screen + - *This is a sculpture* corresponds with advertising=sculpture + - *This is a sign* corresponds with advertising=sign + - *This is a tarp (a weatherproof piece of textile with an advertising message)* corresponds with advertising=tarp + - *This is a totem* corresponds with advertising=totem + - *This is a wall painting* corresponds with advertising=wall_painting + + + + +### animated + + + +The question is *Does this advertisement cycle through multiple messages?* + + + + + + - *Static, always shows the same message* corresponds with animated=no + - *This object has a built-in digital display to show prices or some other message* corresponds with animated=digital_display + - *Trivision - the billboard consists of many triangular prisms which regularly rotate* corresponds with animated=trivision_blades + - *Scrolling posters* corresponds with animated=winding_posters + - *Rotates on itself* corresponds with animated=revolving + + + + +### luminous_or_lit_advertising + + + +The question is *Is this object lit or does it emit light?* + + + + + + - *This is a neon-tube light* corresponds with luminous=neon + - *This object both emits light and is lighted by an external light source* corresponds with lit=yes & luminous=yes + - *This object emits light* corresponds with luminous=yes + - *This object is lit externally, e.g. by a spotlight or other lights* corresponds with lit=yes + - *This object does not emit light and is not lighted by externally* corresponds with lit=no & luminous=no + + + + +### operator + + + +The question is *Who operates this feature?* + +This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator) This is rendered with `Operated by {operator}` + + + +### message_type + + + +The question is *What kind of message is shown?* + + + + + + - *Commercial message* corresponds with message=commercial + - Unselecting this answer will add message= + - *Local information* corresponds with message=local + - Unselecting this answer will add message= + - *Security information* corresponds with message=safety + - Unselecting this answer will add message= + - *Electoral advertising* corresponds with message=political + - Unselecting this answer will add message= + - *Information related to theatre, concerts, …* corresponds with message=showbiz + - Unselecting this answer will add message= + - *Message from non-profit organizations* corresponds with message=non_profit + - Unselecting this answer will add message= + - *To express your opinion* corresponds with message=opinion + - Unselecting this answer will add message= + - *Religious message* corresponds with message=religion + - Unselecting this answer will add message= + - *Funding sign* corresponds with message=funding + - Unselecting this answer will add message= + - *A map* corresponds with information=map + - Unselecting this answer will add information= + + + + +### Sides + + + +The question is *From how many sides you can watch advertisments?* + + + + + + - *This object has advertisements on a single side* corresponds with sides=1 + - *This object has advertisements on both sides* corresponds with sides=2 + + +This tagrendering is only visible in the popup if the following condition is met: `_referencing_ways= & (advertising=poster_box | advertising=screen | advertising=billboard)` + + + +### ref + + + +The question is *Wich is the reference number?* + +This rendering asks information about the property [ref](https://wiki.openstreetmap.org/wiki/Key:ref) This is rendered with `Reference number is {ref}` + + + +### leftover-questions + + + +This tagrendering has no question and is thus read-only + + + + + +### minimap + + + +Shows a small map with the feature. Added by default to every popup + +This tagrendering has no question and is thus read-only + + + + + +### move-button + + + +This tagrendering has no question and is thus read-only + + + + + +### delete-button + + + +This tagrendering has no question and is thus read-only + + + + + +### last_edit + + + +Gives some metainfo about the last edit and who did edit it - rendering only + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:changeset~.+ & _last_edit:contributor~.+` + +This tagrendering has labels `added_by_default` + + + +### favourite_status + + + +This tagrendering has no question and is thus read-only + + + + + +### qr_code + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### share + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### all-tags + + + +This tagrendering has no question and is thus read-only + + + +This document is autogenerated from [assets/themes/ghostsigns/ghostsigns.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/ghostsigns/ghostsigns.json) diff --git a/Docs/Layers/aerialway.md b/Docs/Layers/aerialway.md index 13624db1c..a7b6802a5 100644 --- a/Docs/Layers/aerialway.md +++ b/Docs/Layers/aerialway.md @@ -158,6 +158,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### oneway diff --git a/Docs/Layers/all_streets.md b/Docs/Layers/all_streets.md index 51b8d92d8..70c9c6360 100644 --- a/Docs/Layers/all_streets.md +++ b/Docs/Layers/all_streets.md @@ -7,14 +7,13 @@ -Layer to mark any street as cyclestreet - - This layer is shown at zoomlevel **18** and higher + - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` @@ -25,7 +24,6 @@ Layer to mark any street as cyclestreet - - [cyclestreets](https://mapcomplete.org/cyclestreets) - [street_lighting](https://mapcomplete.org/street_lighting) @@ -36,13 +34,13 @@ Layer to mark any street as cyclestreet -Elements must match **any** of the following expressions: +Elements must match **all** of the following expressions: - - highway=residential - - highway=tertiary - - highway=unclassified +0. highway~.+ +1. highway!=platform +2. service!=driveway -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22highway%22%3D%22residential%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22highway%22%3D%22tertiary%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22highway%22%3D%22unclassified%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22highway%22%5D%5B%22highway%22!%3D%22platform%22%5D%5B%22service%22!%3D%22driveway%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) @@ -59,68 +57,12 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ -[](https://taginfo.openstreetmap.org/keys/traffic_sign#values) [traffic_sign](https://wiki.openstreetmap.org/wiki/Key:traffic_sign) | Multiple choice | [DE:244.1,1020-30](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1,1020-30) [DE:244.1,1022-12,1024-10](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1,1022-12,1024-10) [DE:244.1,1022-12](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1,1022-12) [DE:244.1,1024-10](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1,1024-10) [DE:244.1](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1) -[](https://taginfo.openstreetmap.org/keys/cyclestreet:start_date#values) [cyclestreet:start_date](https://wiki.openstreetmap.org/wiki/Key:cyclestreet:start_date) | [date](../SpecialInputElements.md#date) | [](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | +[](https://taginfo.openstreetmap.org/keys/lit#values) [lit](https://wiki.openstreetmap.org/wiki/Key:lit) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:lit%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:lit%3Dno) [24/7](https://wiki.openstreetmap.org/wiki/Tag:lit%3D24/7) -### is_cyclestreet - - - -The question is *Is the street {name} a cyclestreet?* - - - - - - - *This street is a cyclestreet (and has a speed limit of 30 km/h)* corresponds with cyclestreet=yes & maxspeed=30 & overtaking:motor_vehicle=no & proposed:cyclestreet= - - *This street is a bicycle road* corresponds with bicycle_road=yes - - _This option cannot be chosen as answer_ - - *This street is a bicycle road (has a speed limit of 30 km/h and vehicles are not allowed) (sign will be asked later)* corresponds with bicycle_road=yes & proposed:bicycle_road= & maxspeed=30 & source:maxspeed=DE:bicycle_road & vehicle=no & bicycle=designated - - *This street is a cyclestreet* corresponds with cyclestreet=yes & proposed:cyclestreet= - - *This street will become a cyclestreet soon* corresponds with cyclestreet= & proposed:cyclestreet=yes - - *This street will become a bicycle road soon* corresponds with bicycle_road= & proposed:bicycle_road=yes - - *This street is not a cyclestreet* corresponds with cyclestreet= & proposed:cyclestreet= & bicycle_road= & proposed:bicycle_road= & overtaking:motor_vehicle= - - - - -### supplementary_sign - - - -The question is *What sign does this bicycle road have?* - - - - - - - *Residents allowed* corresponds with traffic_sign=DE:244.1,1020-30 - - *Motor vehicles allowed* corresponds with traffic_sign=DE:244.1,1022-12,1024-10 - - *Motorcycles allowed* corresponds with traffic_sign=DE:244.1,1022-12 - - *Cars allowed* corresponds with traffic_sign=DE:244.1,1024-10 - - *There are no supplementary signs at this bicycle road.* corresponds with traffic_sign=DE:244.1 - - -This tagrendering is only visible in the popup if the following condition is met: `_country=de & bicycle_road=yes` - - - -### future_cyclestreet - - - -The question is *When will this street become a cyclestreet?* - -This rendering asks information about the property [cyclestreet:start_date](https://wiki.openstreetmap.org/wiki/Key:cyclestreet:start_date) This is rendered with `This street will become a cyclestreet at {cyclestreet:start_date}` - -This tagrendering is only visible in the popup if the following condition is met: `proposed:cyclestreet=yes` - - - ### just_created @@ -154,6 +96,25 @@ This tagrendering has no question and is thus read-only +### lit + + + +The question is *Is this street lit?* + + + + + + - *This street is lit* corresponds with lit=yes + - *This street is not lit* corresponds with lit=no + - *This street is lit at night* corresponds with lit=sunset-sunrise + - _This option cannot be chosen as answer_ + - *This street is lit 24/7* corresponds with lit=24/7 + + + + ### leftover-questions @@ -176,6 +137,16 @@ This tagrendering has no question and is thus read-only +### split-button + + + +This tagrendering has no question and is thus read-only + + + + + ### last_edit @@ -232,16 +203,6 @@ This tagrendering has labels `added_by_default` This tagrendering has no question and is thus read-only - - - - -### split-button - - - -This tagrendering has no question and is thus read-only - -This document is autogenerated from [assets/themes/cyclestreets/cyclestreets.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/cyclestreets/cyclestreets.json) +This document is autogenerated from [assets/themes/street_lighting/street_lighting.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/street_lighting/street_lighting.json) diff --git a/Docs/Layers/all_vending_machine.md b/Docs/Layers/all_vending_machine.md index c2fd0bc67..09cf8bfe0 100644 --- a/Docs/Layers/all_vending_machine.md +++ b/Docs/Layers/all_vending_machine.md @@ -157,6 +157,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/animal_shelter.md b/Docs/Layers/animal_shelter.md index ccf94e84b..829ed5f4b 100644 --- a/Docs/Layers/animal_shelter.md +++ b/Docs/Layers/animal_shelter.md @@ -17,6 +17,8 @@ An animal shelter is a facility where animals in trouble are brought and facilit - This layer is shown at zoomlevel **0** and higher +No themes use this layer + Basic tags for this layer diff --git a/Docs/Layers/atm.md b/Docs/Layers/atm.md index 965896c49..72a84e4f9 100644 --- a/Docs/Layers/atm.md +++ b/Docs/Layers/atm.md @@ -27,6 +27,7 @@ ATMs to withdraw money - [atm](https://mapcomplete.org/atm) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) @@ -143,6 +144,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/bench.md b/Docs/Layers/bench.md index be691331d..d196fca9c 100644 --- a/Docs/Layers/bench.md +++ b/Docs/Layers/bench.md @@ -26,9 +26,12 @@ A bench is a wooden, metal, stone, … surface where a human can sit. This layer - [benches](https://mapcomplete.org/benches) + - [memorials](https://mapcomplete.org/memorials) - [nature](https://mapcomplete.org/nature) - [personal](https://mapcomplete.org/personal) - [playgrounds](https://mapcomplete.org/playgrounds) + - [stations](https://mapcomplete.org/stations) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) diff --git a/Docs/Layers/bicycle_library.md b/Docs/Layers/bicycle_library.md index 044d98141..09525e44e 100644 --- a/Docs/Layers/bicycle_library.md +++ b/Docs/Layers/bicycle_library.md @@ -176,6 +176,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### bicycle_library-charge diff --git a/Docs/Layers/bicycle_rental.md b/Docs/Layers/bicycle_rental.md index 024ada841..71d0c36b0 100644 --- a/Docs/Layers/bicycle_rental.md +++ b/Docs/Layers/bicycle_rental.md @@ -28,6 +28,9 @@ Bicycle rental stations - [bicycle_rental](https://mapcomplete.org/bicycle_rental) - [cyclofix](https://mapcomplete.org/cyclofix) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) + - [velopark](https://mapcomplete.org/velopark) @@ -195,6 +198,12 @@ The question is *What are the opening hours of {title()}?* This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` + + + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + This tagrendering is only visible in the popup if the following condition is met: `opening_hours~.+ | shop~.+` diff --git a/Docs/Layers/bicycle_rental_non_docking.md b/Docs/Layers/bicycle_rental_non_docking.md index 9cc0fd715..313d00991 100644 --- a/Docs/Layers/bicycle_rental_non_docking.md +++ b/Docs/Layers/bicycle_rental_non_docking.md @@ -26,6 +26,7 @@ Bicycle rental stations - [cyclofix](https://mapcomplete.org/cyclofix) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) @@ -191,6 +192,12 @@ The question is *What are the opening hours of {title()}?* This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` + + + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + This tagrendering is only visible in the popup if the following condition is met: `opening_hours~.+ | shop~.+` diff --git a/Docs/Layers/bike_cafe.md b/Docs/Layers/bike_cafe.md index f58f15d9c..dee272e7c 100644 --- a/Docs/Layers/bike_cafe.md +++ b/Docs/Layers/bike_cafe.md @@ -226,6 +226,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### leftover-questions diff --git a/Docs/Layers/bike_parking.md b/Docs/Layers/bike_parking.md index 75422b751..7385fd3f9 100644 --- a/Docs/Layers/bike_parking.md +++ b/Docs/Layers/bike_parking.md @@ -25,9 +25,12 @@ A layer showing where you can park your bike + - [bicycle_parkings](https://mapcomplete.org/bicycle_parkings) - [cyclofix](https://mapcomplete.org/cyclofix) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) - [transit](https://mapcomplete.org/transit) + - [velopark](https://mapcomplete.org/velopark) @@ -165,7 +168,7 @@ The question is *Is this parking covered? Also select "covered" for indoor park -The question is *How many bicycles fit in this bicycle parking (including possible cargo bicycles)?* +The question is *How many bicycles fit in this bicycle parking?* This rendering asks information about the property [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) This is rendered with `Place for {capacity} bikes` @@ -215,6 +218,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/bike_repair_station.md b/Docs/Layers/bike_repair_station.md index 7d0f44802..91032cc08 100644 --- a/Docs/Layers/bike_repair_station.md +++ b/Docs/Layers/bike_repair_station.md @@ -27,6 +27,8 @@ A layer showing bicycle pumps and bicycle repair tool stands - [cyclofix](https://mapcomplete.org/cyclofix) - [personal](https://mapcomplete.org/personal) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) + - [velopark](https://mapcomplete.org/velopark) @@ -152,6 +154,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/bike_shop.md b/Docs/Layers/bike_shop.md index 3ac6790f3..0b61d55e0 100644 --- a/Docs/Layers/bike_shop.md +++ b/Docs/Layers/bike_shop.md @@ -211,6 +211,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### bike_shop-access diff --git a/Docs/Layers/bike_themed_object.md b/Docs/Layers/bike_themed_object.md index 1585150db..3c66c849d 100644 --- a/Docs/Layers/bike_themed_object.md +++ b/Docs/Layers/bike_themed_object.md @@ -182,6 +182,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### leftover-questions diff --git a/Docs/Layers/brothel.md b/Docs/Layers/brothel.md index 445c59a8f..dc5dc9773 100644 --- a/Docs/Layers/brothel.md +++ b/Docs/Layers/brothel.md @@ -19,6 +19,17 @@ An establishment specifically dedicated to prostitution. +#### Themes using this layer + + + + + + - [openlovemap](https://mapcomplete.org/openlovemap) + + + + Basic tags for this layer --------------------------- @@ -118,6 +129,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### phone diff --git a/Docs/Layers/cafe_pub.md b/Docs/Layers/cafe_pub.md index a4ae55b79..9ecec85c2 100644 --- a/Docs/Layers/cafe_pub.md +++ b/Docs/Layers/cafe_pub.md @@ -28,6 +28,7 @@ A layer showing cafés and pubs where one can gather around a drink. The layer a - [cafes_and_pubs](https://mapcomplete.org/cafes_and_pubs) - [onwheels](https://mapcomplete.org/onwheels) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) @@ -191,6 +192,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### website diff --git a/Docs/Layers/car_rental.md b/Docs/Layers/car_rental.md index 62b013439..22e97d099 100644 --- a/Docs/Layers/car_rental.md +++ b/Docs/Layers/car_rental.md @@ -19,6 +19,17 @@ Places where you can rent a car +#### Themes using this layer + + + + + + - [stations](https://mapcomplete.org/stations) + + + + Basic tags for this layer --------------------------- @@ -165,6 +176,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### leftover-questions diff --git a/Docs/Layers/charging_station.md b/Docs/Layers/charging_station.md index 4bf616ccb..1f0a92f28 100644 --- a/Docs/Layers/charging_station.md +++ b/Docs/Layers/charging_station.md @@ -29,6 +29,7 @@ A charging station - [cyclofix](https://mapcomplete.org/cyclofix) - [parkings](https://mapcomplete.org/parkings) - [personal](https://mapcomplete.org/personal) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) @@ -1461,6 +1462,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/charging_station_ebikes.md b/Docs/Layers/charging_station_ebikes.md index 083965aab..ef973b6b2 100644 --- a/Docs/Layers/charging_station_ebikes.md +++ b/Docs/Layers/charging_station_ebikes.md @@ -26,6 +26,7 @@ A charging station - [cyclofix](https://mapcomplete.org/cyclofix) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) @@ -1456,6 +1457,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/cinema.md b/Docs/Layers/cinema.md index 2fb115151..b8dcfbdfc 100644 --- a/Docs/Layers/cinema.md +++ b/Docs/Layers/cinema.md @@ -19,6 +19,17 @@ +#### Themes using this layer + + + + + + - [openlovemap](https://mapcomplete.org/openlovemap) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/climbing_club.md b/Docs/Layers/climbing_club.md index ecfdc4e1c..8dc90d778 100644 --- a/Docs/Layers/climbing_club.md +++ b/Docs/Layers/climbing_club.md @@ -163,6 +163,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### leftover-questions diff --git a/Docs/Layers/climbing_gym.md b/Docs/Layers/climbing_gym.md index a696926ed..04f97c492 100644 --- a/Docs/Layers/climbing_gym.md +++ b/Docs/Layers/climbing_gym.md @@ -226,6 +226,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### reviews diff --git a/Docs/Layers/clock.md b/Docs/Layers/clock.md index 6af137844..ea3a17cc1 100644 --- a/Docs/Layers/clock.md +++ b/Docs/Layers/clock.md @@ -28,6 +28,7 @@ Layer with public clocks - [clock](https://mapcomplete.org/clock) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) diff --git a/Docs/Layers/crab_address.md b/Docs/Layers/crab_address.md index 45a40f103..bad7e4a7c 100644 --- a/Docs/Layers/crab_address.md +++ b/Docs/Layers/crab_address.md @@ -20,6 +20,17 @@ Address data for Flanders by the governement, suited for import into OpenStreetM +#### Themes using this layer + + + + + + - [grb](https://mapcomplete.org/grb) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/crossings.md b/Docs/Layers/crossings.md index 1afcececd..7b8956f5a 100644 --- a/Docs/Layers/crossings.md +++ b/Docs/Layers/crossings.md @@ -29,7 +29,6 @@ Crossings for pedestrians and cyclists - [blind_osm](https://mapcomplete.org/blind_osm) - [cycle_infra](https://mapcomplete.org/cycle_infra) - - [kerbs_and_crossings](https://mapcomplete.org/kerbs_and_crossings) - [personal](https://mapcomplete.org/personal) diff --git a/Docs/Layers/crossings_no_traffic_lights.md b/Docs/Layers/crossings_no_traffic_lights.md new file mode 100644 index 000000000..da5088f68 --- /dev/null +++ b/Docs/Layers/crossings_no_traffic_lights.md @@ -0,0 +1,429 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + crossings_no_traffic_lights +============================= + + + + + +Crossings for pedestrians and cyclists + + + + + + + - This layer is shown at zoomlevel **17** and higher + - This layer will automatically load [cycleways_and_roads](./cycleways_and_roads.md) into the layout as it depends on it: a preset snaps to this layer (presets[0]) + + + + +#### Themes using this layer + + + + + + - [kerbs_and_crossings](https://mapcomplete.org/kerbs_and_crossings) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must match the expression **highway=crossing** + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22highway%22%3D%22crossing%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | +[](https://taginfo.openstreetmap.org/keys/crossing#values) [crossing](https://wiki.openstreetmap.org/wiki/Key:crossing) | Multiple choice | [uncontrolled](https://wiki.openstreetmap.org/wiki/Tag:crossing%3Duncontrolled) [traffic_signals](https://wiki.openstreetmap.org/wiki/Tag:crossing%3Dtraffic_signals) [unmarked](https://wiki.openstreetmap.org/wiki/Tag:crossing%3Dunmarked) +[](https://taginfo.openstreetmap.org/keys/crossing_ref#values) [crossing_ref](https://wiki.openstreetmap.org/wiki/Key:crossing_ref) | Multiple choice | [zebra](https://wiki.openstreetmap.org/wiki/Tag:crossing_ref%3Dzebra) [](https://wiki.openstreetmap.org/wiki/Tag:crossing_ref%3D) +[](https://taginfo.openstreetmap.org/keys/bicycle#values) [bicycle](https://wiki.openstreetmap.org/wiki/Key:bicycle) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dno) +[](https://taginfo.openstreetmap.org/keys/crossing:island#values) [crossing:island](https://wiki.openstreetmap.org/wiki/Key:crossing:island) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:crossing:island%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:crossing:island%3Dno) +[](https://taginfo.openstreetmap.org/keys/tactile_paving#values) [tactile_paving](https://wiki.openstreetmap.org/wiki/Key:tactile_paving) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:tactile_paving%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:tactile_paving%3Dno) +[](https://taginfo.openstreetmap.org/keys/button_operated#values) [button_operated](https://wiki.openstreetmap.org/wiki/Key:button_operated) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:button_operated%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:button_operated%3Dno) +[](https://taginfo.openstreetmap.org/keys/traffic_signals:sound#values) [traffic_signals:sound](https://wiki.openstreetmap.org/wiki/Key:traffic_signals:sound) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:sound%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:sound%3Dno) [locate](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:sound%3Dlocate) [walk](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:sound%3Dwalk) +[](https://taginfo.openstreetmap.org/keys/traffic_signals:vibration#values) [traffic_signals:vibration](https://wiki.openstreetmap.org/wiki/Key:traffic_signals:vibration) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:vibration%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:vibration%3Dno) +[](https://taginfo.openstreetmap.org/keys/traffic_signals:arrow#values) [traffic_signals:arrow](https://wiki.openstreetmap.org/wiki/Key:traffic_signals:arrow) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:arrow%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:arrow%3Dno) +[](https://taginfo.openstreetmap.org/keys/traffic_signals:minimap#values) [traffic_signals:minimap](https://wiki.openstreetmap.org/wiki/Key:traffic_signals:minimap) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:minimap%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:traffic_signals:minimap%3Dno) +[](https://taginfo.openstreetmap.org/keys/red_turn:right:bicycle#values) [red_turn:right:bicycle](https://wiki.openstreetmap.org/wiki/Key:red_turn:right:bicycle) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:red_turn:right:bicycle%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:red_turn:right:bicycle%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:red_turn:right:bicycle%3Dno) +[](https://taginfo.openstreetmap.org/keys/red_turn:straight:bicycle#values) [red_turn:straight:bicycle](https://wiki.openstreetmap.org/wiki/Key:red_turn:straight:bicycle) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:red_turn:straight:bicycle%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:red_turn:straight:bicycle%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:red_turn:straight:bicycle%3Dno) + + + + +### just_created + + + +This element shows a 'thank you' that the contributor has recently created this element + +This tagrendering has no question and is thus read-only + + + + + + - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with id~.+ + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:passed_time<300 & (_version_number= | _version_number=1) & _backend~.+` + +This tagrendering has labels `added_by_default` + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### crossing-type + + + +The question is *What kind of crossing is this?* + + + + + + - *Crossing, without traffic lights* corresponds with crossing=uncontrolled + - *Crossing with traffic signals* corresponds with crossing=traffic_signals + - *Zebra crossing* corresponds with crossing=zebra + - _This option cannot be chosen as answer_ + - *Crossing without crossing markings* corresponds with crossing=unmarked + + +This tagrendering is only visible in the popup if the following condition is met: `highway=crossing` + + + +### crossing-is-zebra + + + +The question is *Is this is a zebra crossing?* + + + + + + - *This is a zebra crossing* corresponds with crossing_ref=zebra + - *This is not a zebra crossing* corresponds with crossing_ref= + + +This tagrendering is only visible in the popup if the following condition is met: `crossing=uncontrolled` + + + +### crossing-bicycle-allowed + + + +The question is *Is this crossing also for bicycles?* + + + + + + - *A cyclist can use this crossing* corresponds with bicycle=yes + - *A cyclist can not use this crossing* corresponds with bicycle=no + + +This tagrendering is only visible in the popup if the following condition is met: `highway=crossing` + + + +### crossing-has-island + + + +The question is *Does this crossing have an island in the middle?* + + + + + + - *This crossing has an island in the middle* corresponds with crossing:island=yes + - *This crossing does not have an island in the middle* corresponds with crossing:island=no + + +This tagrendering is only visible in the popup if the following condition is met: `highway=crossing` + + + +### crossing-tactile + + + +The question is *Does this crossing have tactile paving?* + + + + + + - *This crossing has tactile paving* corresponds with tactile_paving=yes + - *This crossing does not have tactile paving* corresponds with tactile_paving=no + - *This crossing has tactile paving, but is not correct* corresponds with tactile_paving=incorrect + - _This option cannot be chosen as answer_ + + +This tagrendering is only visible in the popup if the following condition is met: `highway=crossing` + + + +### crossing-button + + + +The question is *Does this traffic light have a button to request green light?* + + + + + + - *This traffic light has a button to request green light* corresponds with button_operated=yes + - *This traffic light does not have a button to request green light* corresponds with button_operated=no + + +This tagrendering is only visible in the popup if the following condition is met: `crossing=traffic_signals | highway=traffic_signals` + + + +### crossing-sound + + + +The question is *Does this traffic light have sound signals to aid crossing?* + + + + + + - *This traffic light has sound signals to help crossing, both for finding the crossing and for crossing.* corresponds with traffic_signals:sound=yes + - *This traffic light does not have sound signals to help crossing.* corresponds with traffic_signals:sound=no + - *This traffic light has a sound signal to help locate the pole, but no signal to sign that it is safe to cross.* corresponds with traffic_signals:sound=locate + - *This traffic light has a sound signal to sign that it is safe to cross, but no signal to help locate the pole.* corresponds with traffic_signals:sound=walk + + +This tagrendering is only visible in the popup if the following condition is met: `crossing=traffic_signals` + + + +### crossing-vibration + + + +The question is *Does this traffic light have vibration signals to aid crossing? (usually located at the bottom of the crossing button)* + + + + + + - *The button for this traffic light has a vibration signal to indicate that it is safe to cross.* corresponds with traffic_signals:vibration=yes + - *The button for this traffic light does not have a vibration signal to indicate that it is safe to cross.* corresponds with traffic_signals:vibration=no + + +This tagrendering is only visible in the popup if the following condition is met: `button_operated=yes & crossing=traffic_signals` + + + +### crossing-arrow + + + +The question is *Does this traffic light have an arrow pointing in the direction of crossing?* + + + + + + - *This traffic light has an arrow pointing in the direction of crossing.* corresponds with traffic_signals:arrow=yes + - *This traffic light does not have an arrow pointing in the direction of crossing.* corresponds with traffic_signals:arrow=no + + +This tagrendering is only visible in the popup if the following condition is met: `crossing=traffic_signals` + + + +### crossing-minimap + + + +The question is *Does this traffic light have a tactile map showing the layout of the crossing?* + + + + + + - *This traffic light has a tactile map showing the layout of the crossing.* corresponds with traffic_signals:minimap=yes + - *This traffic light does not have a tactile map showing the layout of the crossing.* corresponds with traffic_signals:minimap=no + + +This tagrendering is only visible in the popup if the following condition is met: `crossing=traffic_signals` + + + +### crossing-right-turn-through-red + + + +The question is *Can a cyclist turn right when the light is red?* + + + + + + - *A cyclist can turn right if the light is red* corresponds with red_turn:right:bicycle=yes + - *A cyclist can turn right if the light is red* corresponds with red_turn:right:bicycle=yes + - *A cyclist can not turn right if the light is red* corresponds with red_turn:right:bicycle=no + + +This tagrendering is only visible in the popup if the following condition is met: `highway=traffic_signals` + + + +### crossing-continue-through-red + + + +The question is *Can a cyclist go straight on when the light is red?* + + + + + + - *A cyclist can go straight on if the light is red* corresponds with red_turn:straight:bicycle=yes + - *A cyclist can go straight on if the light is red* corresponds with red_turn:straight:bicycle=yes + - *A cyclist can not go straight on if the light is red* corresponds with red_turn:straight:bicycle=no + + +This tagrendering is only visible in the popup if the following condition is met: `highway=traffic_signals` + + + +### leftover-questions + + + +This tagrendering has no question and is thus read-only + + + + + +### minimap + + + +Shows a small map with the feature. Added by default to every popup + +This tagrendering has no question and is thus read-only + + + + + +### last_edit + + + +Gives some metainfo about the last edit and who did edit it - rendering only + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:changeset~.+ & _last_edit:contributor~.+` + +This tagrendering has labels `added_by_default` + + + +### favourite_status + + + +This tagrendering has no question and is thus read-only + + + + + +### qr_code + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### share + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### all-tags + + + +This tagrendering has no question and is thus read-only + + + + + +#### Filters + + + + + +id | question | osmTags +---- | ---------- | --------- +tactile_paving_advanced.0 | With or without tactile paving (default) | +tactile_paving_advanced.1 | With tactile paving | tactile_paving=yes +tactile_paving_advanced.2 | Without tactile paving | tactile_paving=no +tactile_paving_advanced.3 | No information about tactile paving | tactile_paving= + + +This document is autogenerated from [assets/themes/kerbs_and_crossings/kerbs_and_crossings.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/kerbs_and_crossings/kerbs_and_crossings.json) diff --git a/Docs/Layers/cycleways_and_roads.md b/Docs/Layers/cycleways_and_roads.md index 0b8270394..0d74435da 100644 --- a/Docs/Layers/cycleways_and_roads.md +++ b/Docs/Layers/cycleways_and_roads.md @@ -19,6 +19,7 @@ All infrastructure that someone can cycle over, accompanied with questions about - This layer is needed as dependency for layer [crossings](#crossings) - This layer is needed as dependency for layer [kerbs](#kerbs) - This layer is needed as dependency for layer [rainbow_crossings](#rainbow_crossings) + - This layer is needed as dependency for layer [crossings_no_traffic_lights](#crossings_no_traffic_lights) @@ -31,10 +32,12 @@ All infrastructure that someone can cycle over, accompanied with questions about - [blind_osm](https://mapcomplete.org/blind_osm) - [cycle_infra](https://mapcomplete.org/cycle_infra) + - [cyclenodes](https://mapcomplete.org/cyclenodes) - [kerbs_and_crossings](https://mapcomplete.org/kerbs_and_crossings) - [onwheels](https://mapcomplete.org/onwheels) - [personal](https://mapcomplete.org/personal) - [rainbow_crossings](https://mapcomplete.org/rainbow_crossings) + - [walkingnodes](https://mapcomplete.org/walkingnodes) diff --git a/Docs/Layers/defibrillator.md b/Docs/Layers/defibrillator.md index 2deacefa3..15104072e 100644 --- a/Docs/Layers/defibrillator.md +++ b/Docs/Layers/defibrillator.md @@ -274,6 +274,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/dentist.md b/Docs/Layers/dentist.md index 31120b63e..28fd25964 100644 --- a/Docs/Layers/dentist.md +++ b/Docs/Layers/dentist.md @@ -108,6 +108,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### phone diff --git a/Docs/Layers/direction.md b/Docs/Layers/direction.md index 55ef221b2..642bb85a7 100644 --- a/Docs/Layers/direction.md +++ b/Docs/Layers/direction.md @@ -18,6 +18,8 @@ This layer visualizes directions - Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable. +No themes use this layer + Basic tags for this layer diff --git a/Docs/Layers/doctors.md b/Docs/Layers/doctors.md index 9f180523a..6965610c8 100644 --- a/Docs/Layers/doctors.md +++ b/Docs/Layers/doctors.md @@ -58,7 +58,7 @@ attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | [](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | ["by appointment"](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D"by appointment") +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | [](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | [](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | @@ -121,6 +121,7 @@ This rendering asks information about the property [opening_hours](https://wiki - *Only by appointment* corresponds with opening_hours="by appointment" + - _This option cannot be chosen as answer_ - *Only by appointment* corresponds with opening_hours~^("by appointment"|by appointment)$ - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/dogfoodb.md b/Docs/Layers/dogfoodb.md index c7361dc81..96855ec12 100644 --- a/Docs/Layers/dogfoodb.md +++ b/Docs/Layers/dogfoodb.md @@ -160,6 +160,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### website diff --git a/Docs/Layers/dogshop.md b/Docs/Layers/dogshop.md index 1f7df4b67..a755ebf5e 100644 --- a/Docs/Layers/dogshop.md +++ b/Docs/Layers/dogshop.md @@ -327,6 +327,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### website diff --git a/Docs/Layers/drinking_water.md b/Docs/Layers/drinking_water.md index 4b9e7bb4a..6256b4e9d 100644 --- a/Docs/Layers/drinking_water.md +++ b/Docs/Layers/drinking_water.md @@ -33,6 +33,7 @@ A layer showing drinking water fountains - [nature](https://mapcomplete.org/nature) - [personal](https://mapcomplete.org/personal) - [ski](https://mapcomplete.org/ski) + - [stations](https://mapcomplete.org/stations) @@ -210,6 +211,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *This drinking water fountain is closed this season. As such, the opening hours are not shown.* corresponds with seasonal!=no & seasonal~.+ & ((seasonal!~^(.*winter.*)$ & _now:date~^(....-(12|01|02)-..)$) | (seasonal!~^(.*spring.*)$ & _now:date~^(....-(03|04|05)-..)$) | (seasonal!~^(.*summer.*)$ & _now:date~^(....-(06|07|08)-..)$) | (seasonal!~^(.*autumn.*)$ & _now:date~^(....-(09|10|11)-..)$)) - _This option cannot be chosen as answer_ - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/elevator.md b/Docs/Layers/elevator.md index 33a8ccf8e..724e97741 100644 --- a/Docs/Layers/elevator.md +++ b/Docs/Layers/elevator.md @@ -29,6 +29,7 @@ This layer show elevators and asks for operational status and elevator dimension - [indoors](https://mapcomplete.org/indoors) - [onwheels](https://mapcomplete.org/onwheels) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) diff --git a/Docs/Layers/elongated_coin.md b/Docs/Layers/elongated_coin.md index eec6083e7..04769b6fa 100644 --- a/Docs/Layers/elongated_coin.md +++ b/Docs/Layers/elongated_coin.md @@ -39,10 +39,10 @@ Layer showing penny presses. Elements must match **all** of the following expressions: -0. vending=elongated_coin -1. amenity=vending_machine +0. amenity=vending_machine +1. vending~^(.*elongated_coin.*)$ -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22vending%22%3D%22elongated_coin%22%5D%5B%22amenity%22%3D%22vending_machine%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22amenity%22%3D%22vending_machine%22%5D%5B%22vending%22~%22%5E%28.*elongated_coin.*%29%24%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) @@ -118,6 +118,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/entrance.md b/Docs/Layers/entrance.md index 0ddc58d7e..41d7ed698 100644 --- a/Docs/Layers/entrance.md +++ b/Docs/Layers/entrance.md @@ -32,6 +32,8 @@ A layer showing entrances and offering capabilities to survey some advanced data - [indoors](https://mapcomplete.org/indoors) - [onwheels](https://mapcomplete.org/onwheels) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) + - [walls_and_buildings](https://mapcomplete.org/walls_and_buildings) diff --git a/Docs/Layers/fitness_centre.md b/Docs/Layers/fitness_centre.md index 0b17674b7..67db46a1d 100644 --- a/Docs/Layers/fitness_centre.md +++ b/Docs/Layers/fitness_centre.md @@ -179,6 +179,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### wheelchair-access diff --git a/Docs/Layers/fitness_station.md b/Docs/Layers/fitness_station.md index 93d4d6842..c76160284 100644 --- a/Docs/Layers/fitness_station.md +++ b/Docs/Layers/fitness_station.md @@ -172,6 +172,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/food.md b/Docs/Layers/food.md index e9a06179f..85e89ce81 100644 --- a/Docs/Layers/food.md +++ b/Docs/Layers/food.md @@ -31,6 +31,7 @@ A layer showing restaurants and fast-food amenities (with a special rendering fo - [personal](https://mapcomplete.org/personal) - [pets](https://mapcomplete.org/pets) - [ski](https://mapcomplete.org/ski) + - [stations](https://mapcomplete.org/stations) @@ -165,6 +166,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### website diff --git a/Docs/Layers/friture.md b/Docs/Layers/friture.md index 17a29ac4e..11d94b203 100644 --- a/Docs/Layers/friture.md +++ b/Docs/Layers/friture.md @@ -160,6 +160,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### website diff --git a/Docs/Layers/ghost_bike.md b/Docs/Layers/ghost_bike.md index c14349e66..cdb4405ad 100644 --- a/Docs/Layers/ghost_bike.md +++ b/Docs/Layers/ghost_bike.md @@ -26,6 +26,7 @@ A layer showing memorials for cyclists, killed in road accidents - [ghostbikes](https://mapcomplete.org/ghostbikes) + - [memorials](https://mapcomplete.org/memorials) - [personal](https://mapcomplete.org/personal) diff --git a/Docs/Layers/ghostsigns.md b/Docs/Layers/ghostsigns.md new file mode 100644 index 000000000..d388a780a --- /dev/null +++ b/Docs/Layers/ghostsigns.md @@ -0,0 +1,230 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + ghostsigns +============ + + + + + +Layer showing disused signs on buildings + + + + + + + - This layer is shown at zoomlevel **10** and higher + - This layer will automatically load [walls_and_buildings](./walls_and_buildings.md) into the layout as it depends on it: a preset snaps to this layer (presets[0]) + + + + +#### Themes using this layer + + + + + + - [ghostsigns](https://mapcomplete.org/ghostsigns) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must match **all** of the following expressions: + +0. advertising=wall_painting +1. historic~.+ + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22advertising%22%3D%22wall_painting%22%5D%5B%22historic%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | +[](https://taginfo.openstreetmap.org/keys/historic#values) [historic](https://wiki.openstreetmap.org/wiki/Key:historic) | Multiple choice | [advertising](https://wiki.openstreetmap.org/wiki/Tag:historic%3Dadvertising) [](https://wiki.openstreetmap.org/wiki/Tag:historic%3D) +[](https://taginfo.openstreetmap.org/keys/inscription#values) [inscription](https://wiki.openstreetmap.org/wiki/Key:inscription) | [string](../SpecialInputElements.md#string) | +[](https://taginfo.openstreetmap.org/keys/brand#values) [brand](https://wiki.openstreetmap.org/wiki/Key:brand) | [string](../SpecialInputElements.md#string) | + + + + +### just_created + + + +This element shows a 'thank you' that the contributor has recently created this element + +This tagrendering has no question and is thus read-only + + + + + + - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with id~.+ + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:passed_time<300 & (_version_number= | _version_number=1) & _backend~.+` + +This tagrendering has labels `added_by_default` + + + +### historic + + + +The question is *Is this a ghost sign?* + + + + + + - *This is a ghost sign* corresponds with historic=advertising + - *This is not a ghost sign, answering this will hide the sign from the map* corresponds with historic= + + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### name + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `name~.+` + + + +### inscription + + + +The question is *What is the text on the sign?* + +This rendering asks information about the property [inscription](https://wiki.openstreetmap.org/wiki/Key:inscription) This is rendered with `The text on the sign is: {inscription}` + + + +### brand + + + +The question is *For what business was this sign made?* + +This rendering asks information about the property [brand](https://wiki.openstreetmap.org/wiki/Key:brand) This is rendered with `This sign was made for: {brand}` + + + +### leftover-questions + + + +This tagrendering has no question and is thus read-only + + + + + +### minimap + + + +Shows a small map with the feature. Added by default to every popup + +This tagrendering has no question and is thus read-only + + + + + +### last_edit + + + +Gives some metainfo about the last edit and who did edit it - rendering only + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:changeset~.+ & _last_edit:contributor~.+` + +This tagrendering has labels `added_by_default` + + + +### favourite_status + + + +This tagrendering has no question and is thus read-only + + + + + +### qr_code + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### share + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### all-tags + + + +This tagrendering has no question and is thus read-only + + + +This document is autogenerated from [assets/themes/ghostsigns/ghostsigns.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/ghostsigns/ghostsigns.json) diff --git a/Docs/Layers/hackerspace.md b/Docs/Layers/hackerspace.md index c2c1bc18b..78ad8d70b 100644 --- a/Docs/Layers/hackerspace.md +++ b/Docs/Layers/hackerspace.md @@ -253,6 +253,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/hotel.md b/Docs/Layers/hotel.md index e6ffc5794..1613fbebc 100644 --- a/Docs/Layers/hotel.md +++ b/Docs/Layers/hotel.md @@ -27,6 +27,7 @@ Layer showing all hotels - [hotels](https://mapcomplete.org/hotels) - [onwheels](https://mapcomplete.org/onwheels) + - [openlovemap](https://mapcomplete.org/openlovemap) - [personal](https://mapcomplete.org/personal) diff --git a/Docs/Layers/ice_cream.md b/Docs/Layers/ice_cream.md index 995a1ac4e..3c18a6388 100644 --- a/Docs/Layers/ice_cream.md +++ b/Docs/Layers/ice_cream.md @@ -14,7 +14,7 @@ A place where ice cream is sold over the counter - - This layer is shown at zoomlevel **0** and higher + - This layer is shown at zoomlevel **14** and higher @@ -125,6 +125,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### phone diff --git a/Docs/Layers/indoors.md b/Docs/Layers/indoors.md index 0691e0e27..6c64d4edf 100644 --- a/Docs/Layers/indoors.md +++ b/Docs/Layers/indoors.md @@ -29,6 +29,8 @@ Basic indoor mapping: shows room outlines - [indoors](https://mapcomplete.org/indoors) - [onwheels](https://mapcomplete.org/onwheels) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) + - [walls_and_buildings](https://mapcomplete.org/walls_and_buildings) @@ -352,6 +354,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ This tagrendering is only visible in the popup if the following condition is met: `amenity=toilets & access!=no` diff --git a/Docs/Layers/item_with_image.md b/Docs/Layers/item_with_image.md new file mode 100644 index 000000000..2b81fda03 --- /dev/null +++ b/Docs/Layers/item_with_image.md @@ -0,0 +1,183 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + item_with_image +================= + + + + + +All items with an image. All alone, not a layer which is relevant for any MapComplete theme, as it is a random collection of items. However, when put into the databank, this allows to quickly fetch (the URL of) pictures nearby a different object, to quickly link this + + + + + + + - This layer is shown at zoomlevel **14** and higher + + + + +#### Themes using this layer + + + + + + - [items_with_image](https://mapcomplete.org/items_with_image) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must match **any** of the following expressions: + + - image~.+ + - image:0~.+ + - image:1~.+ + - image:2~.+ + - image:3~.+ + - image:4~.+ + - image:5~.+ + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22image%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22image%3A0%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22image%3A1%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22image%3A2%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22image%3A3%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22image%3A4%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22image%3A5%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | + + + + +### just_created + + + +This element shows a 'thank you' that the contributor has recently created this element + +This tagrendering has no question and is thus read-only + + + + + + - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with id~.+ + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:passed_time<300 & (_version_number= | _version_number=1) & _backend~.+` + +This tagrendering has labels `added_by_default` + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### leftover-questions + + + +This tagrendering has no question and is thus read-only + + + + + +### minimap + + + +Shows a small map with the feature. Added by default to every popup + +This tagrendering has no question and is thus read-only + + + + + +### last_edit + + + +Gives some metainfo about the last edit and who did edit it - rendering only + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:changeset~.+ & _last_edit:contributor~.+` + +This tagrendering has labels `added_by_default` + + + +### favourite_status + + + +This tagrendering has no question and is thus read-only + + + + + +### qr_code + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### share + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### all-tags + + + +This tagrendering has no question and is thus read-only + + + +This document is autogenerated from [assets/layers/item_with_image/item_with_image.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/item_with_image/item_with_image.json) diff --git a/Docs/Layers/kindergarten_childcare.md b/Docs/Layers/kindergarten_childcare.md index 732959bcf..9efb5e92d 100644 --- a/Docs/Layers/kindergarten_childcare.md +++ b/Docs/Layers/kindergarten_childcare.md @@ -180,6 +180,12 @@ The question is *When is this childcare opened?* This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` + + + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + This tagrendering is only visible in the popup if the following condition is met: `amenity=childcare` diff --git a/Docs/Layers/love_hotel.md b/Docs/Layers/love_hotel.md index b3d988d29..02b3f8cd9 100644 --- a/Docs/Layers/love_hotel.md +++ b/Docs/Layers/love_hotel.md @@ -26,6 +26,7 @@ A love hotel is a type of short-stay hotel found around the world operated prima - [hotels](https://mapcomplete.org/hotels) + - [openlovemap](https://mapcomplete.org/openlovemap) - [personal](https://mapcomplete.org/personal) diff --git a/Docs/Layers/maproulette.md b/Docs/Layers/maproulette.md index fd08526ea..435a9e21d 100644 --- a/Docs/Layers/maproulette.md +++ b/Docs/Layers/maproulette.md @@ -20,6 +20,17 @@ Layer showing all tasks in MapRoulette +#### Themes using this layer + + + + + + - [maproulette](https://mapcomplete.org/maproulette) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/maproulette_challenge.md b/Docs/Layers/maproulette_challenge.md index 6165367fd..26d96a912 100644 --- a/Docs/Layers/maproulette_challenge.md +++ b/Docs/Layers/maproulette_challenge.md @@ -30,6 +30,7 @@ Layer showing tasks of a single MapRoulette challenge. This layer is intended to - [atm](https://mapcomplete.org/atm) - [onwheels](https://mapcomplete.org/onwheels) - [personal](https://mapcomplete.org/personal) + - [street_lighting_assen](https://mapcomplete.org/street_lighting_assen) diff --git a/Docs/Layers/medical-shops.md b/Docs/Layers/medical_shops.md similarity index 99% rename from Docs/Layers/medical-shops.md rename to Docs/Layers/medical_shops.md index ecbe3ed90..9e95e2d63 100644 --- a/Docs/Layers/medical-shops.md +++ b/Docs/Layers/medical_shops.md @@ -1,6 +1,6 @@ [//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) - medical-shops + medical_shops =============== @@ -327,6 +327,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### website diff --git a/Docs/Layers/memorial.md b/Docs/Layers/memorial.md index 0651a05fc..305d9c196 100644 --- a/Docs/Layers/memorial.md +++ b/Docs/Layers/memorial.md @@ -14,8 +14,19 @@ Layer showing memorial plaques, based upon a unofficial theme. Can be expanded t - - This layer is shown at zoomlevel **0** and higher - - Not visible in the layer selection by default. If you want to make this layer toggable, override `name` + - This layer is shown at zoomlevel **9** and higher + + + + +#### Themes using this layer + + + + + + - [memorials](https://mapcomplete.org/memorials) + - [personal](https://mapcomplete.org/personal) @@ -25,9 +36,12 @@ Layer showing memorial plaques, based upon a unofficial theme. Can be expanded t -Elements must match the expression **memorial=plaque** +Elements must match **any** of the following expressions: -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22memorial%22%3D%22plaque%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + - historic=memorial + - memorial~.+ + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22historic%22%3D%22memorial%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22memorial%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) @@ -45,7 +59,19 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | +[](https://taginfo.openstreetmap.org/keys/memorial#values) [memorial](https://wiki.openstreetmap.org/wiki/Key:memorial) | Multiple choice | [statue](https://wiki.openstreetmap.org/wiki/Tag:memorial%3Dstatue) [plaque](https://wiki.openstreetmap.org/wiki/Tag:memorial%3Dplaque) [bench](https://wiki.openstreetmap.org/wiki/Tag:memorial%3Dbench) [ghost_bike](https://wiki.openstreetmap.org/wiki/Tag:memorial%3Dghost_bike) [](https://taginfo.openstreetmap.org/keys/inscription#values) [inscription](https://wiki.openstreetmap.org/wiki/Key:inscription) | [text](../SpecialInputElements.md#text) | +[](https://taginfo.openstreetmap.org/keys/wikidata#values) [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) | [wikidata](../SpecialInputElements.md#wikidata) | +[](https://taginfo.openstreetmap.org/keys/subject:wikidata#values) [subject:wikidata](https://wiki.openstreetmap.org/wiki/Key:subject:wikidata) | [wikidata](../SpecialInputElements.md#wikidata) | +[](https://taginfo.openstreetmap.org/keys/start_date#values) [start_date](https://wiki.openstreetmap.org/wiki/Key:start_date) | [date](../SpecialInputElements.md#date) | +[](https://taginfo.openstreetmap.org/keys/backrest#values) [backrest](https://wiki.openstreetmap.org/wiki/Key:backrest) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dno) +[](https://taginfo.openstreetmap.org/keys/seats#values) [seats](https://wiki.openstreetmap.org/wiki/Key:seats) | [nat](../SpecialInputElements.md#nat) | +[](https://taginfo.openstreetmap.org/keys/material#values) [material](https://wiki.openstreetmap.org/wiki/Key:material) | [string](../SpecialInputElements.md#string) | [wood](https://wiki.openstreetmap.org/wiki/Tag:material%3Dwood) [metal](https://wiki.openstreetmap.org/wiki/Tag:material%3Dmetal) [stone](https://wiki.openstreetmap.org/wiki/Tag:material%3Dstone) [concrete](https://wiki.openstreetmap.org/wiki/Tag:material%3Dconcrete) [plastic](https://wiki.openstreetmap.org/wiki/Tag:material%3Dplastic) [steel](https://wiki.openstreetmap.org/wiki/Tag:material%3Dsteel) +[](https://taginfo.openstreetmap.org/keys/direction#values) [direction](https://wiki.openstreetmap.org/wiki/Key:direction) | [direction](../SpecialInputElements.md#direction) | +[](https://taginfo.openstreetmap.org/keys/colour#values) [colour](https://wiki.openstreetmap.org/wiki/Key:colour) | [color](../SpecialInputElements.md#color) | [brown](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dbrown) [green](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgreen) [gray](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgray) [white](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dwhite) [red](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dred) [black](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblack) [blue](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblue) [yellow](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dyellow) +[](https://taginfo.openstreetmap.org/keys/survey:date#values) [survey:date](https://wiki.openstreetmap.org/wiki/Key:survey:date) | [date](../SpecialInputElements.md#date) | [](https://wiki.openstreetmap.org/wiki/Tag:survey:date%3D) +[](https://taginfo.openstreetmap.org/keys/inscription#values) [inscription](https://wiki.openstreetmap.org/wiki/Key:inscription) | [text](../SpecialInputElements.md#text) | +[](https://taginfo.openstreetmap.org/keys/historic#values) [historic](https://wiki.openstreetmap.org/wiki/Key:historic) | Multiple choice | [memorial](https://wiki.openstreetmap.org/wiki/Tag:historic%3Dmemorial) [](https://wiki.openstreetmap.org/wiki/Tag:historic%3D) @@ -71,6 +97,36 @@ This tagrendering has labels `added_by_default` +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### memorial-type + + + +The question is *What type of memorial is this?* + + + + + + - *This is a statue* corresponds with memorial=statue + - *This is a plaque* corresponds with memorial=plaque + - *This is a commemorative bench* corresponds with memorial=bench + - *This is a ghost bike - a bicycle painted white to remember a cyclist whom deceased because of a car crash* corresponds with memorial=ghost_bike + + + + ### inscription @@ -81,6 +137,205 @@ This rendering asks information about the property [inscription](https://wiki.o + - *This memorial does not have an inscription* corresponds with not:inscription=yes + + + + +### memorial-wikidata + + + +The question is *What is the Wikipedia page about this memorial?* + +This rendering asks information about the property [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) This is rendered with `

Wikipedia page about the memorial

{wikipedia(wikidata)}` + + + +### subject-wikidata + + + +The question is *What is the Wikipedia page about the person or event that is remembered here?* + +This rendering asks information about the property [subject:wikidata](https://wiki.openstreetmap.org/wiki/Key:subject:wikidata) This is rendered with `

Wikipedia page about the remembered event or person

{wikipedia(subject:wikidata)}` + + + +### start_date + + + +The question is *When was this memorial installed?* + +This rendering asks information about the property [start_date](https://wiki.openstreetmap.org/wiki/Key:start_date) This is rendered with `Placed on {start_date}` + + + +### bench-backrest + + + +The question is *Does this bench have a backrest?* + + + + + + - *This bench is two-sided and shares the backrest* corresponds with backrest=yes & two_sided=yes + - *Does have a backrest* corresponds with backrest=yes + - *Does not have a backrest* corresponds with backrest=no + + +This tagrendering is only visible in the popup if the following condition is met: `amenity=bench` + +This tagrendering has labels `bench-questions` + + + +### bench-seats + + + +The question is *How many seats does this bench have?* + +This rendering asks information about the property [seats](https://wiki.openstreetmap.org/wiki/Key:seats) This is rendered with `{seats} seats` + + + + - *This bench does not have separated seats* corresponds with seats:separated=no + + +This tagrendering is only visible in the popup if the following condition is met: `amenity=bench` + +This tagrendering has labels `bench-questions` + + + +### bench-material + + + +The question is *What is the bench (seating) made from?* + +This rendering asks information about the property [material](https://wiki.openstreetmap.org/wiki/Key:material) This is rendered with `Material: {material}` + + + + - *The seating is made from wood* corresponds with material=wood + - *The seating is made from metal* corresponds with material=metal + - *The seating is made from stone* corresponds with material=stone + - *The seating is made from concrete* corresponds with material=concrete + - *The seating is made from plastic* corresponds with material=plastic + - *The seating is made from steel* corresponds with material=steel + + +This tagrendering is only visible in the popup if the following condition is met: `amenity=bench` + +This tagrendering has labels `bench-questions` + + + +### bench-direction + + + +The question is *In which direction are you looking when sitting on the bench?* + +This rendering asks information about the property [direction](https://wiki.openstreetmap.org/wiki/Key:direction) This is rendered with `When sitting on the bench, one looks towards {direction}°.` + +This tagrendering is only visible in the popup if the following condition is met: `amenity=bench & two_sided!=yes` + +This tagrendering has labels `bench-questions` + + + +### bench-colour + + + +The question is *Which colour does this bench have?* + +This rendering asks information about the property [colour](https://wiki.openstreetmap.org/wiki/Key:colour) This is rendered with `Colour: {colour}` + + + + - *Colour: brown* corresponds with colour=brown + - *Colour: green* corresponds with colour=green + - *Colour: gray* corresponds with colour=gray + - *Colour: white* corresponds with colour=white + - *Colour: red* corresponds with colour=red + - *Colour: black* corresponds with colour=black + - *Colour: blue* corresponds with colour=blue + - *Colour: yellow* corresponds with colour=yellow + + +This tagrendering is only visible in the popup if the following condition is met: `amenity=bench` + +This tagrendering has labels `bench-questions` + + + +### bench-survey:date + + + +The question is *When was this bench last surveyed?* + +This rendering asks information about the property [survey:date](https://wiki.openstreetmap.org/wiki/Key:survey:date) This is rendered with `This bench was last surveyed on {survey:date}` + + + + - *Surveyed today!* corresponds with survey:date= + + +This tagrendering is only visible in the popup if the following condition is met: `amenity=bench` + +This tagrendering has labels `bench-questions` + + + +### bench-inscription + + + +The question is *Does this bench have an inscription?* + +This rendering asks information about the property [inscription](https://wiki.openstreetmap.org/wiki/Key:inscription) This is rendered with `This bench does have the following inscription:

{inscription}

` + + + + - *This bench does not have an inscription* corresponds with not:inscription=yes + - *This bench does (probably) not have an inscription* corresponds with inscription= + - _This option cannot be chosen as answer_ + + +This tagrendering is only visible in the popup if the following condition is met: `amenity=bench` + +This tagrendering has labels `bench-questions` + + + +### bench-memorial + + + +The question is *Does this bench act as memorial for someone or something?* + + + + + + - *This bench is a memorial for someone or something* corresponds with historic=memorial + - *This bench is a not a memorial for someone or something* corresponds with historic= & not:historic=memorial + + +This tagrendering is only visible in the popup if the following condition is met: `amenity=bench & (historic=memorial | memorial=bench | tourism=artwork | inscription~.+)` + +This tagrendering has labels `bench-questions` + + + ### leftover-questions diff --git a/Docs/Layers/named_streets.md b/Docs/Layers/named_streets.md index 35da536dd..28caf22f8 100644 --- a/Docs/Layers/named_streets.md +++ b/Docs/Layers/named_streets.md @@ -25,6 +25,18 @@ Hidden layer with all streets which have a name. Useful to detect addresses +#### Themes using this layer + + + + + + - [grb](https://mapcomplete.org/grb) + - [uk_addresses](https://mapcomplete.org/uk_addresses) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/not_cyclestreets.md b/Docs/Layers/not_cyclestreets.md new file mode 100644 index 000000000..0220a4bf2 --- /dev/null +++ b/Docs/Layers/not_cyclestreets.md @@ -0,0 +1,246 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + not_cyclestreets +================== + + + + + +Layer to mark any street as cyclestreet + + + + + + + - This layer is shown at zoomlevel **18** and higher + + + + +#### Themes using this layer + + + + + + - [cyclestreets](https://mapcomplete.org/cyclestreets) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must match **any** of the following expressions: + + - highway=residential + - highway=tertiary + - highway=unclassified + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22highway%22%3D%22residential%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22highway%22%3D%22tertiary%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22highway%22%3D%22unclassified%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/traffic_sign#values) [traffic_sign](https://wiki.openstreetmap.org/wiki/Key:traffic_sign) | Multiple choice | [DE:244.1,1020-30](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1,1020-30) [DE:244.1,1022-12,1024-10](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1,1022-12,1024-10) [DE:244.1,1022-12](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1,1022-12) [DE:244.1,1024-10](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1,1024-10) [DE:244.1](https://wiki.openstreetmap.org/wiki/Tag:traffic_sign%3DDE:244.1) +[](https://taginfo.openstreetmap.org/keys/cyclestreet:start_date#values) [cyclestreet:start_date](https://wiki.openstreetmap.org/wiki/Key:cyclestreet:start_date) | [date](../SpecialInputElements.md#date) | +[](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | + + + + +### is_cyclestreet + + + +The question is *Is the street {name} a cyclestreet?* + + + + + + - *This street is a cyclestreet (and has a speed limit of 30 km/h)* corresponds with cyclestreet=yes & maxspeed=30 & overtaking:motor_vehicle=no & proposed:cyclestreet= + - *This street is a bicycle road* corresponds with bicycle_road=yes + - _This option cannot be chosen as answer_ + - *This street is a bicycle road (has a speed limit of 30 km/h and vehicles are not allowed) (sign will be asked later)* corresponds with bicycle_road=yes & proposed:bicycle_road= & maxspeed=30 & source:maxspeed=DE:bicycle_road & vehicle=no & bicycle=designated + - *This street is a cyclestreet* corresponds with cyclestreet=yes & proposed:cyclestreet= + - *This street will become a cyclestreet soon* corresponds with cyclestreet= & proposed:cyclestreet=yes + - *This street will become a bicycle road soon* corresponds with bicycle_road= & proposed:bicycle_road=yes + - *This street is not a cyclestreet* corresponds with cyclestreet= & proposed:cyclestreet= & bicycle_road= & proposed:bicycle_road= & overtaking:motor_vehicle= + + + + +### supplementary_sign + + + +The question is *What sign does this bicycle road have?* + + + + + + - *Residents allowed* corresponds with traffic_sign=DE:244.1,1020-30 + - *Motor vehicles allowed* corresponds with traffic_sign=DE:244.1,1022-12,1024-10 + - *Motorcycles allowed* corresponds with traffic_sign=DE:244.1,1022-12 + - *Cars allowed* corresponds with traffic_sign=DE:244.1,1024-10 + - *There are no supplementary signs at this bicycle road.* corresponds with traffic_sign=DE:244.1 + + +This tagrendering is only visible in the popup if the following condition is met: `_country=de & bicycle_road=yes` + + + +### future_cyclestreet + + + +The question is *When will this street become a cyclestreet?* + +This rendering asks information about the property [cyclestreet:start_date](https://wiki.openstreetmap.org/wiki/Key:cyclestreet:start_date) This is rendered with `This street will become a cyclestreet at {cyclestreet:start_date}` + +This tagrendering is only visible in the popup if the following condition is met: `proposed:cyclestreet=yes` + + + +### just_created + + + +This element shows a 'thank you' that the contributor has recently created this element + +This tagrendering has no question and is thus read-only + + + + + + - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with id~.+ + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:passed_time<300 & (_version_number= | _version_number=1) & _backend~.+` + +This tagrendering has labels `added_by_default` + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### leftover-questions + + + +This tagrendering has no question and is thus read-only + + + + + +### minimap + + + +Shows a small map with the feature. Added by default to every popup + +This tagrendering has no question and is thus read-only + + + + + +### last_edit + + + +Gives some metainfo about the last edit and who did edit it - rendering only + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:changeset~.+ & _last_edit:contributor~.+` + +This tagrendering has labels `added_by_default` + + + +### favourite_status + + + +This tagrendering has no question and is thus read-only + + + + + +### qr_code + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### share + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### all-tags + + + +This tagrendering has no question and is thus read-only + + + + + +### split-button + + + +This tagrendering has no question and is thus read-only + + + +This document is autogenerated from [assets/themes/cyclestreets/cyclestreets.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/cyclestreets/cyclestreets.json) diff --git a/Docs/Layers/observation_tower.md b/Docs/Layers/observation_tower.md index b8a4c8c82..a44713ba3 100644 --- a/Docs/Layers/observation_tower.md +++ b/Docs/Layers/observation_tower.md @@ -27,6 +27,7 @@ Towers with a panoramic view - [observation_towers](https://mapcomplete.org/observation_towers) - [personal](https://mapcomplete.org/personal) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) diff --git a/Docs/Layers/parcel_lockers.md b/Docs/Layers/parcel_lockers.md index cf60d55ae..bee0dff1d 100644 --- a/Docs/Layers/parcel_lockers.md +++ b/Docs/Layers/parcel_lockers.md @@ -141,6 +141,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/parking_spaces.md b/Docs/Layers/parking_spaces.md index 320a5f79c..ad8078364 100644 --- a/Docs/Layers/parking_spaces.md +++ b/Docs/Layers/parking_spaces.md @@ -56,7 +56,7 @@ this quick overview is incomplete attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | -[](https://taginfo.openstreetmap.org/keys/parking_space#values) [parking_space](https://wiki.openstreetmap.org/wiki/Key:parking_space) | Multiple choice | [normal](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dnormal) [disabled](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Ddisabled) [private](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dprivate) [charging](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dcharging) [delivery](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Ddelivery) [hgv](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dhgv) [caravan](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dcaravan) [bus](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dbus) [motorcycle](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dmotorcycle) [parent](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dparent) [staff](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dstaff) [taxi](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dtaxi) [trailer](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dtrailer) [car_sharing](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dcar_sharing) +[](https://taginfo.openstreetmap.org/keys/parking_space#values) [parking_space](https://wiki.openstreetmap.org/wiki/Key:parking_space) | Multiple choice | [normal](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dnormal) [disabled](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Ddisabled) [charging](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dcharging) [delivery](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Ddelivery) [hgv](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dhgv) [caravan](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dcaravan) [bus](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dbus) [motorcycle](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dmotorcycle) [parent](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dparent) [staff](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dstaff) [taxi](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dtaxi) [trailer](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dtrailer) [car_sharing](https://wiki.openstreetmap.org/wiki/Tag:parking_space%3Dcar_sharing) [](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | Multiple choice | [1](https://wiki.openstreetmap.org/wiki/Tag:capacity%3D1) @@ -109,7 +109,6 @@ The question is *What kind of parking space is this?* - _This option cannot be chosen as answer_ - *This is a normal parking space.* corresponds with parking_space=normal - *This is a disabled parking space.* corresponds with parking_space=disabled - - *This is a private parking space.* corresponds with parking_space=private - *This is parking space reserved for charging vehicles.* corresponds with parking_space=charging - *This is parking space reserved for deliveries.* corresponds with parking_space=delivery - *This is parking space reserved for heavy goods vehicles.* corresponds with parking_space=hgv diff --git a/Docs/Layers/pedestrian_path.md b/Docs/Layers/pedestrian_path.md index f741cbea0..3de5695a3 100644 --- a/Docs/Layers/pedestrian_path.md +++ b/Docs/Layers/pedestrian_path.md @@ -30,6 +30,8 @@ Pedestrian footpaths, especially used for indoor navigation and snapping entranc - [indoors](https://mapcomplete.org/indoors) - [onwheels](https://mapcomplete.org/onwheels) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) + - [walls_and_buildings](https://mapcomplete.org/walls_and_buildings) diff --git a/Docs/Layers/pharmacy.md b/Docs/Layers/pharmacy.md index 3db03831d..9c864c8ce 100644 --- a/Docs/Layers/pharmacy.md +++ b/Docs/Layers/pharmacy.md @@ -133,6 +133,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### phone diff --git a/Docs/Layers/physiotherapist.md b/Docs/Layers/physiotherapist.md index bb257c368..6d2a10fa2 100644 --- a/Docs/Layers/physiotherapist.md +++ b/Docs/Layers/physiotherapist.md @@ -57,7 +57,7 @@ attribute | type | values which are supported by this layer ----------- | ------ | ------------------------------------------ [](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | [](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | -[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | ["by appointment"](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D"by appointment") +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | [](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | [](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | @@ -119,6 +119,7 @@ This rendering asks information about the property [opening_hours](https://wiki - *Only by appointment* corresponds with opening_hours="by appointment" + - _This option cannot be chosen as answer_ - *Only by appointment* corresponds with opening_hours~^("by appointment"|by appointment)$ - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/picnic_table.md b/Docs/Layers/picnic_table.md index 12190c2cc..a2dc79b39 100644 --- a/Docs/Layers/picnic_table.md +++ b/Docs/Layers/picnic_table.md @@ -29,6 +29,7 @@ The layer showing picnic tables - [nature](https://mapcomplete.org/nature) - [personal](https://mapcomplete.org/personal) - [playgrounds](https://mapcomplete.org/playgrounds) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) diff --git a/Docs/Layers/play_forest.md b/Docs/Layers/play_forest.md index 93085ab72..3407eb7ce 100644 --- a/Docs/Layers/play_forest.md +++ b/Docs/Layers/play_forest.md @@ -19,6 +19,18 @@ Een speelbos is een vrij toegankelijke zone in een bos +#### Themes using this layer + + + + + + - [play_forests](https://mapcomplete.org/play_forests) + - [speelplekken](https://mapcomplete.org/speelplekken) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/playground.md b/Docs/Layers/playground.md index bd51084c1..d8d860d9c 100644 --- a/Docs/Layers/playground.md +++ b/Docs/Layers/playground.md @@ -27,6 +27,8 @@ Playgrounds - [personal](https://mapcomplete.org/personal) - [playgrounds](https://mapcomplete.org/playgrounds) + - [speelplekken](https://mapcomplete.org/speelplekken) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) diff --git a/Docs/Layers/playground_equipment.md b/Docs/Layers/playground_equipment.md new file mode 100644 index 000000000..dcfbf08a1 --- /dev/null +++ b/Docs/Layers/playground_equipment.md @@ -0,0 +1,242 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + playground_equipment +====================== + + + + + +Layer showing playground equipment + + + + + + + - This layer is shown at zoomlevel **18** and higher + + + + +#### Themes using this layer + + + + + + - [personal](https://mapcomplete.org/personal) + - [playgrounds](https://mapcomplete.org/playgrounds) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must match the expression **playground~.+** + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22playground%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | +[](https://taginfo.openstreetmap.org/keys/playground#values) [playground](https://wiki.openstreetmap.org/wiki/Key:playground) | [string](../SpecialInputElements.md#string) | [swing](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dswing) [structure](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dstructure) [slide](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dslide) [sandpit](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dsandpit) [springy](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dspringy) [climbingframe](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dclimbingframe) [seesaw](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dseesaw) [playhouse](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dplayhouse) [roundabout](https://wiki.openstreetmap.org/wiki/Tag:playground%3Droundabout) [basketswing](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dbasketswing) [zipwire](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dzipwire) [horizontal_bar](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dhorizontal_bar) [hopscotch](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dhopscotch) [splash_pad](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dsplash_pad) [climbingwall](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dclimbingwall) [map](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dmap) [bridge](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dbridge) [cushion](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dcushion) [activitypanel](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dactivitypanel) [teenshelter](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dteenshelter) [funnel_ball](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dfunnel_ball) [spinning_circle](https://wiki.openstreetmap.org/wiki/Tag:playground%3Dspinning_circle) +[](https://taginfo.openstreetmap.org/keys/wheelchair#values) [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) + + + + +### just_created + + + +This element shows a 'thank you' that the contributor has recently created this element + +This tagrendering has no question and is thus read-only + + + + + + - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with id~.+ + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:passed_time<300 & (_version_number= | _version_number=1) & _backend~.+` + +This tagrendering has labels `added_by_default` + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### type + + + +The question is *What kind of device is this?* + +This rendering asks information about the property [playground](https://wiki.openstreetmap.org/wiki/Key:playground) This is rendered with `This is a {playground}` + + + + - *This is a swing* corresponds with playground=swing + - *This is a structure consisting of several connected playground devices* corresponds with playground=structure + - *This is a slide* corresponds with playground=slide + - *This is a sand pit* corresponds with playground=sandpit + - *This is a spring rider* corresponds with playground=springy + - *This is a climbing frame* corresponds with playground=climbingframe + - *This is a seesaw* corresponds with playground=seesaw + - *This is a playhouse* corresponds with playground=playhouse + - *This is a roundabout* corresponds with playground=roundabout + - *This is a basket swing* corresponds with playground=basketswing + - *This is a zip wire* corresponds with playground=zipwire + - *This is a horizontal bar* corresponds with playground=horizontal_bar + - *This is a hopscotch* corresponds with playground=hopscotch + - *This is a splash pad* corresponds with playground=splash_pad + - *This is a climbing wall* corresponds with playground=climbingwall + - *This is a map* corresponds with playground=map + - *This is a bridge (either as a standalone device or as part of a larger structure)* corresponds with playground=bridge + - *This is a bouncy cushion* corresponds with playground=cushion + - *This is an activity panel* corresponds with playground=activitypanel + - *This is a teen shelter* corresponds with playground=teenshelter + - *This is a funnel used to play with funnel ball* corresponds with playground=funnel_ball + - *This is a spinning circle* corresponds with playground=spinning_circle + + + + +### wheelchair-access + + + +The question is *Is this device accessible by wheelchair?* + + + + + + - *This place is specially adapted for wheelchair users* corresponds with wheelchair=designated + - *This place is easily reachable with a wheelchair* corresponds with wheelchair=yes + - *It is possible to reach this place in a wheelchair, but it is not easy* corresponds with wheelchair=limited + - *This place is not reachable with a wheelchair* corresponds with wheelchair=no + + + + +### leftover-questions + + + +This tagrendering has no question and is thus read-only + + + + + +### minimap + + + +Shows a small map with the feature. Added by default to every popup + +This tagrendering has no question and is thus read-only + + + + + +### move-button + + + +This tagrendering has no question and is thus read-only + + + + + +### last_edit + + + +Gives some metainfo about the last edit and who did edit it - rendering only + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:changeset~.+ & _last_edit:contributor~.+` + +This tagrendering has labels `added_by_default` + + + +### favourite_status + + + +This tagrendering has no question and is thus read-only + + + + + +### qr_code + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### share + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### all-tags + + + +This tagrendering has no question and is thus read-only + + + +This document is autogenerated from [assets/layers/playground_equipment/playground_equipment.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/playground_equipment/playground_equipment.json) diff --git a/Docs/Layers/post_offices_with_atm.md b/Docs/Layers/post_offices_with_atm.md index 6453ef79f..ac66f177b 100644 --- a/Docs/Layers/post_offices_with_atm.md +++ b/Docs/Layers/post_offices_with_atm.md @@ -124,6 +124,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### post_partner @@ -342,6 +348,41 @@ This tagrendering has no question and is thus read-only id | question | osmTags ---- | ---------- | --------- open_now.0 | Open now | _isOpen=yes + + + + +id | question | osmTags +---- | ---------- | --------- +letter_from.0 | Offers letter posting | post_office:letter_from~.+ & post_office:letter_from!~^(no)$ + + + + +id | question | osmTags +---- | ---------- | --------- +parcel_from.0 | Offers parcel posting | post_office:parcel_from~.+ & post_office:parcel_from!~^(no)$ + + + + +id | question | osmTags +---- | ---------- | --------- +parcel_pickup.0 | Offers pickup of missed parcels | post_office:parcel_pickup~.+ & post_office:parcel_pickup!~^(no)$ + + + + +id | question | osmTags +---- | ---------- | --------- +parcel_to.0 | Accepts pickup of parcels sent here | post_office:parcel_to~.+ & post_office:parcel_to!~^(no)$ + + + + +id | question | osmTags +---- | ---------- | --------- +stamps.0 | Sells stamps | post_office:stamps~.+ & post_office:stamps!~^(no)$ This document is autogenerated from [assets/themes/atm/atm.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/atm/atm.json) diff --git a/Docs/Layers/postoffices.md b/Docs/Layers/postoffices.md index d3540a0a0..4df39adab 100644 --- a/Docs/Layers/postoffices.md +++ b/Docs/Layers/postoffices.md @@ -126,6 +126,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### post_partner @@ -344,6 +350,41 @@ This tagrendering has no question and is thus read-only id | question | osmTags ---- | ---------- | --------- open_now.0 | Open now | _isOpen=yes + + + + +id | question | osmTags +---- | ---------- | --------- +letter_from.0 | Offers letter posting | post_office:letter_from~.+ & post_office:letter_from!~^(no)$ + + + + +id | question | osmTags +---- | ---------- | --------- +parcel_from.0 | Offers parcel posting | post_office:parcel_from~.+ & post_office:parcel_from!~^(no)$ + + + + +id | question | osmTags +---- | ---------- | --------- +parcel_pickup.0 | Offers pickup of missed parcels | post_office:parcel_pickup~.+ & post_office:parcel_pickup!~^(no)$ + + + + +id | question | osmTags +---- | ---------- | --------- +parcel_to.0 | Accepts pickup of parcels sent here | post_office:parcel_to~.+ & post_office:parcel_to!~^(no)$ + + + + +id | question | osmTags +---- | ---------- | --------- +stamps.0 | Sells stamps | post_office:stamps~.+ & post_office:stamps!~^(no)$ This document is autogenerated from [assets/layers/postoffices/postoffices.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/postoffices/postoffices.json) diff --git a/Docs/Layers/pt_shelter.md b/Docs/Layers/pt_shelter.md new file mode 100644 index 000000000..860156ae5 --- /dev/null +++ b/Docs/Layers/pt_shelter.md @@ -0,0 +1,188 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + pt_shelter +============ + + + + + +Layer showing shelter structures + + + + + + + - This layer is shown at zoomlevel **18** and higher + + + + +#### Themes using this layer + + + + + + - [transit](https://mapcomplete.org/transit) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must match **all** of the following expressions: + +0. amenity=shelter +1. shelter_type=public_transport + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22amenity%22%3D%22shelter%22%5D%5B%22shelter_type%22%3D%22public_transport%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | + + + + +### just_created + + + +This element shows a 'thank you' that the contributor has recently created this element + +This tagrendering has no question and is thus read-only + + + + + + - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with id~.+ + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:passed_time<300 & (_version_number= | _version_number=1) & _backend~.+` + +This tagrendering has labels `added_by_default` + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### leftover-questions + + + +This tagrendering has no question and is thus read-only + + + + + +### minimap + + + +Shows a small map with the feature. Added by default to every popup + +This tagrendering has no question and is thus read-only + + + + + +### move-button + + + +This tagrendering has no question and is thus read-only + + + + + +### last_edit + + + +Gives some metainfo about the last edit and who did edit it - rendering only + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:changeset~.+ & _last_edit:contributor~.+` + +This tagrendering has labels `added_by_default` + + + +### favourite_status + + + +This tagrendering has no question and is thus read-only + + + + + +### qr_code + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### share + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### all-tags + + + +This tagrendering has no question and is thus read-only + + + +This document is autogenerated from [assets/themes/transit/transit.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/transit/transit.json) diff --git a/Docs/Layers/railway_platforms.md b/Docs/Layers/railway_platforms.md index faa1be3e2..4faccbace 100644 --- a/Docs/Layers/railway_platforms.md +++ b/Docs/Layers/railway_platforms.md @@ -19,6 +19,17 @@ Find every platform in the station, and the train routes that use them. +#### Themes using this layer + + + + + + - [stations](https://mapcomplete.org/stations) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/recycling.md b/Docs/Layers/recycling.md index 93358e802..0c1ee0adc 100644 --- a/Docs/Layers/recycling.md +++ b/Docs/Layers/recycling.md @@ -27,6 +27,7 @@ A layer with recycling containers and centres - [personal](https://mapcomplete.org/personal) - [waste](https://mapcomplete.org/waste) + - [waste_assen](https://mapcomplete.org/waste_assen) @@ -304,6 +305,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/route_marker.md b/Docs/Layers/route_marker.md index 3e3eed915..f2bd139d6 100644 --- a/Docs/Layers/route_marker.md +++ b/Docs/Layers/route_marker.md @@ -19,6 +19,18 @@ Route markers are small markers often found along official hiking/cycling/riding +#### Themes using this layer + + + + + + - [cyclenodes](https://mapcomplete.org/cyclenodes) + - [walkingnodes](https://mapcomplete.org/walkingnodes) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/shelter.md b/Docs/Layers/shelter.md index 957b8b7ed..ab5d1bb9d 100644 --- a/Docs/Layers/shelter.md +++ b/Docs/Layers/shelter.md @@ -27,7 +27,6 @@ Layer showing shelter structures - [nature](https://mapcomplete.org/nature) - [personal](https://mapcomplete.org/personal) - - [transit](https://mapcomplete.org/transit) @@ -83,6 +82,18 @@ This tagrendering has labels `added_by_default` +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + ### shelter-type @@ -126,6 +137,16 @@ This tagrendering has no question and is thus read-only +### move-button + + + +This tagrendering has no question and is thus read-only + + + + + ### last_edit diff --git a/Docs/Layers/shops.md b/Docs/Layers/shops.md index 5efd9ac56..1687b8e81 100644 --- a/Docs/Layers/shops.md +++ b/Docs/Layers/shops.md @@ -28,9 +28,12 @@ A shop - [climbing](https://mapcomplete.org/climbing) - [healthcare](https://mapcomplete.org/healthcare) - [onwheels](https://mapcomplete.org/onwheels) + - [openlovemap](https://mapcomplete.org/openlovemap) - [personal](https://mapcomplete.org/personal) - [pets](https://mapcomplete.org/pets) + - [postboxes](https://mapcomplete.org/postboxes) - [shops](https://mapcomplete.org/shops) + - [stations](https://mapcomplete.org/stations) @@ -332,6 +335,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### website diff --git a/Docs/Layers/shops_with_climbing_shoe_repair.md b/Docs/Layers/shops_with_climbing_shoe_repair.md index 5230a2c08..075ea566a 100644 --- a/Docs/Layers/shops_with_climbing_shoe_repair.md +++ b/Docs/Layers/shops_with_climbing_shoe_repair.md @@ -344,6 +344,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### website diff --git a/Docs/Layers/shower.md b/Docs/Layers/shower.md index 5958ee0e1..61b95aad8 100644 --- a/Docs/Layers/shower.md +++ b/Docs/Layers/shower.md @@ -14,7 +14,7 @@ A layer showing (public) showers - - This layer is shown at zoomlevel **12** and higher + - This layer is shown at zoomlevel **8** and higher @@ -191,6 +191,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### hot_water diff --git a/Docs/Layers/slow_roads.md b/Docs/Layers/slow_roads.md index 162621d76..bab594a0f 100644 --- a/Docs/Layers/slow_roads.md +++ b/Docs/Layers/slow_roads.md @@ -19,6 +19,17 @@ All carfree roads +#### Themes using this layer + + + + + + - [speelplekken](https://mapcomplete.org/speelplekken) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/souvenir_coin.md b/Docs/Layers/souvenir_coin.md new file mode 100644 index 000000000..16bc73dc4 --- /dev/null +++ b/Docs/Layers/souvenir_coin.md @@ -0,0 +1,431 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + souvenir_coin +=============== + + + + + +Layer showing machines selling souvenir coins + + + + + + + - This layer is shown at zoomlevel **0** and higher + + + + +#### Themes using this layer + + + + + + - [elongated_coin](https://mapcomplete.org/elongated_coin) + - [personal](https://mapcomplete.org/personal) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must match **all** of the following expressions: + +0. amenity=vending_machine +1. vending~^(.*souvenir_coins.*)$ + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22amenity%22%3D%22vending_machine%22%5D%5B%22vending%22~%22%5E%28.*souvenir_coins.*%29%24%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) +[](https://taginfo.openstreetmap.org/keys/coin:design_count#values) [coin:design_count](https://wiki.openstreetmap.org/wiki/Key:coin:design_count) | [pnat](../SpecialInputElements.md#pnat) | [1](https://wiki.openstreetmap.org/wiki/Tag:coin:design_count%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:coin:design_count%3D2) [3](https://wiki.openstreetmap.org/wiki/Tag:coin:design_count%3D3) [4](https://wiki.openstreetmap.org/wiki/Tag:coin:design_count%3D4) +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | +[](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [2 EUR](https://wiki.openstreetmap.org/wiki/Tag:charge%3D2 EUR) +[](https://taginfo.openstreetmap.org/keys/payment:coins:denominations#values) [payment:coins:denominations](https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations) | Multiple choice | [0.01 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.01 EUR) [0.02 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.02 EUR) [0.05 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 EUR) [0.10 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 EUR) [0.20 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 EUR) [0.50 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 EUR) [1 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 EUR) [2 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 EUR) [0.05 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 CHF) [0.10 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 CHF) [0.20 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 CHF) [0.50 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 CHF) [1 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 CHF) [2 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 CHF) [5 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D5 CHF) +[](https://taginfo.openstreetmap.org/keys/indoor#values) [indoor](https://wiki.openstreetmap.org/wiki/Key:indoor) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dno) +[](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) +[](https://taginfo.openstreetmap.org/keys/check_date#values) [check_date](https://wiki.openstreetmap.org/wiki/Key:check_date) | [date](../SpecialInputElements.md#date) | [](https://wiki.openstreetmap.org/wiki/Tag:check_date%3D) + + + + +### just_created + + + +This element shows a 'thank you' that the contributor has recently created this element + +This tagrendering has no question and is thus read-only + + + + + + - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with id~.+ + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:passed_time<300 & (_version_number= | _version_number=1) & _backend~.+` + +This tagrendering has labels `added_by_default` + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### opening_hours_24_7 + + + +The question is *What are the opening hours of {title()}?* + +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` + + + + - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + +### designs + + + +The question is *How many designs are available?* + +This rendering asks information about the property [coin:design_count](https://wiki.openstreetmap.org/wiki/Key:coin:design_count) This is rendered with `This machine has {coin:design_count} designs available` + + + + - *This machine has one design available* corresponds with coin:design_count=1 + - *This machine has two designs available* corresponds with coin:design_count=2 + - *This machine has three designs available* corresponds with coin:design_count=3 + - *This machine has four designs available* corresponds with coin:design_count=4 + + + + +### payment-options-split + + + +The question is *Which methods of payment are accepted here?* + + + + + + - *Cash is accepted here* corresponds with payment:cash=yes + - _This option cannot be chosen as answer_ + - Unselecting this answer will add payment:cash= + - *Payment cards are accepted here* corresponds with payment:cards=yes + - _This option cannot be chosen as answer_ + - Unselecting this answer will add payment:cards= + - *Payment by QR-code is possible here* corresponds with payment:qr_code=yes + - Unselecting this answer will add payment:qr_code=no + - *Coins are accepted here* corresponds with payment:coins=yes + - Unselecting this answer will add payment:coins=no + - *Bank notes are accepted here* corresponds with payment:notes=yes + - Unselecting this answer will add payment:notes=no + - *Debit cards are accepted here* corresponds with payment:debit_cards=yes + - Unselecting this answer will add payment:debit_cards=no + - *Credit cards are accepted here* corresponds with payment:credit_cards=yes + - Unselecting this answer will add payment:credit_cards=no + + + + +### website + + + +The question is *What is the website of {title()}?* + +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `{website}` + + + + - *{contact:website}* corresponds with contact:website~.+ + - _This option cannot be chosen as answer_ + + +This tagrendering has labels `contact` + + + +### charge + + + +The question is *How much does a souvenir coin cost?* + +This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) This is rendered with `A souvenir coins costs {charge}` + + + + - *A souvenir coin costs 2 euro* corresponds with charge=2 EUR + + + + +### denominations-coins + + + +The question is *What coins can you use to pay here?* + + + + + + - *1 cent coins are accepted* corresponds with payment:coins:denominations=0.01 EUR + - *2 cent coins are accepted* corresponds with payment:coins:denominations=0.02 EUR + - *5 cent coins are accepted* corresponds with payment:coins:denominations=0.05 EUR + - *10 cent coins are accepted* corresponds with payment:coins:denominations=0.10 EUR + - *20 cent coins are accepted* corresponds with payment:coins:denominations=0.20 EUR + - *50 cent coins are accepted* corresponds with payment:coins:denominations=0.50 EUR + - *1 euro coins are accepted* corresponds with payment:coins:denominations=1 EUR + - *2 euro coins are accepted* corresponds with payment:coins:denominations=2 EUR + - *5 centimes coins are accepted* corresponds with payment:coins:denominations=0.05 CHF + - *10 centimes coins are accepted* corresponds with payment:coins:denominations=0.10 CHF + - *20 centimes coins are accepted* corresponds with payment:coins:denominations=0.20 CHF + - *½ franc coins are accepted* corresponds with payment:coins:denominations=0.50 CHF + - *1 franc coins are accepted* corresponds with payment:coins:denominations=1 CHF + - *2 francs coins are accepted* corresponds with payment:coins:denominations=2 CHF + - *5 francs coins are accepted* corresponds with payment:coins:denominations=5 CHF + + +This tagrendering is only visible in the popup if the following condition is met: `(payment:cash=yes | payment:coins=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$)` + + + +### indoor + + + +The question is *Is this machine located indoors?* + + + + + + - *This machine is located indoors.* corresponds with indoor=yes + - *This machine is located outdoors.* corresponds with indoor=no + + + + +### repeated + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `repeat_on~.+` + +This tagrendering has labels `level` + + + +### single_level + + + +The question is *On what level is this feature located?* + +This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level) This is rendered with `Located on the {level}th floor` + + + + - *Located underground* corresponds with location=underground + - _This option cannot be chosen as answer_ + - *Located on the ground floor* corresponds with level=0 + - *Located on the ground floor* corresponds with level= + - _This option cannot be chosen as answer_ + - *Located on the first floor* corresponds with level=1 + - *Located on the first basement level* corresponds with level=-1 + + +This tagrendering has labels `level` + + + +### check_date + + + +The question is *When was this object last checked?* + +This rendering asks information about the property [check_date](https://wiki.openstreetmap.org/wiki/Key:check_date) This is rendered with `This object was last checked on {check_date}` + + + + - *This object was last checked today* corresponds with check_date= + + + + +### leftover-questions + + + +This tagrendering has no question and is thus read-only + + + + + +### minimap + + + +Shows a small map with the feature. Added by default to every popup + +This tagrendering has no question and is thus read-only + + + + + +### move-button + + + +This tagrendering has no question and is thus read-only + + + + + +### delete-button + + + +This tagrendering has no question and is thus read-only + + + + + +### last_edit + + + +Gives some metainfo about the last edit and who did edit it - rendering only + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:changeset~.+ & _last_edit:contributor~.+` + +This tagrendering has labels `added_by_default` + + + +### favourite_status + + + +This tagrendering has no question and is thus read-only + + + + + +### qr_code + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### share + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### all-tags + + + +This tagrendering has no question and is thus read-only + + + + + +#### Filters + + + + + +id | question | osmTags +---- | ---------- | --------- +open_now.0 | Open now | _isOpen=yes + + + + +id | question | osmTags +---- | ---------- | --------- +accepts_debit_cards.0 | Accepts debit cards | payment:debit_cards=yes + + + + +id | question | osmTags +---- | ---------- | --------- +accepts_credit_cards.0 | Accepts credit cards | payment:credit_cards=yes + + +This document is autogenerated from [assets/layers/souvenir_coin/souvenir_coin.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/souvenir_coin/souvenir_coin.json) diff --git a/Docs/Layers/souvenir_note.md b/Docs/Layers/souvenir_note.md new file mode 100644 index 000000000..907c70d21 --- /dev/null +++ b/Docs/Layers/souvenir_note.md @@ -0,0 +1,432 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + souvenir_note +=============== + + + + + +Layer showing machines selling souvenir banknotes + + + + + + + - This layer is shown at zoomlevel **0** and higher + + + + +#### Themes using this layer + + + + + + - [elongated_coin](https://mapcomplete.org/elongated_coin) + - [personal](https://mapcomplete.org/personal) + + + + + Basic tags for this layer +--------------------------- + + + +Elements must match **all** of the following expressions: + +0. amenity=vending_machine +1. vending~^(.*souvenir_notes.*)$ + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22amenity%22%3D%22vending_machine%22%5D%5B%22vending%22~%22%5E%28.*souvenir_notes.*%29%24%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + + + + Supported attributes +---------------------- + + + +Warning: + +this quick overview is incomplete + + + +attribute | type | values which are supported by this layer +----------- | ------ | ------------------------------------------ +[](https://taginfo.openstreetmap.org/keys/id#values) [id](https://wiki.openstreetmap.org/wiki/Key:id) | Multiple choice | +[](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) +[](https://taginfo.openstreetmap.org/keys/note:design_count#values) [note:design_count](https://wiki.openstreetmap.org/wiki/Key:note:design_count) | [pnat](../SpecialInputElements.md#pnat) | [1](https://wiki.openstreetmap.org/wiki/Tag:note:design_count%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:note:design_count%3D2) [3](https://wiki.openstreetmap.org/wiki/Tag:note:design_count%3D3) [4](https://wiki.openstreetmap.org/wiki/Tag:note:design_count%3D4) +[](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | +[](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [2 EUR](https://wiki.openstreetmap.org/wiki/Tag:charge%3D2 EUR) [3 EUR](https://wiki.openstreetmap.org/wiki/Tag:charge%3D3 EUR) +[](https://taginfo.openstreetmap.org/keys/payment:coins:denominations#values) [payment:coins:denominations](https://wiki.openstreetmap.org/wiki/Key:payment:coins:denominations) | Multiple choice | [0.01 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.01 EUR) [0.02 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.02 EUR) [0.05 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 EUR) [0.10 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 EUR) [0.20 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 EUR) [0.50 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 EUR) [1 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 EUR) [2 EUR](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 EUR) [0.05 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.05 CHF) [0.10 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.10 CHF) [0.20 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.20 CHF) [0.50 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D0.50 CHF) [1 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D1 CHF) [2 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D2 CHF) [5 CHF](https://wiki.openstreetmap.org/wiki/Tag:payment:coins:denominations%3D5 CHF) +[](https://taginfo.openstreetmap.org/keys/indoor#values) [indoor](https://wiki.openstreetmap.org/wiki/Key:indoor) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:indoor%3Dno) +[](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) +[](https://taginfo.openstreetmap.org/keys/check_date#values) [check_date](https://wiki.openstreetmap.org/wiki/Key:check_date) | [date](../SpecialInputElements.md#date) | [](https://wiki.openstreetmap.org/wiki/Tag:check_date%3D) + + + + +### just_created + + + +This element shows a 'thank you' that the contributor has recently created this element + +This tagrendering has no question and is thus read-only + + + + + + - *You just created this element! Thanks for sharing this info with the world and helping people worldwide.* corresponds with id~.+ + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:passed_time<300 & (_version_number= | _version_number=1) & _backend~.+` + +This tagrendering has labels `added_by_default` + + + +### images + + + +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images + +This tagrendering has no question and is thus read-only + + + + + +### opening_hours_24_7 + + + +The question is *What are the opening hours of {title()}?* + +This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) This is rendered with `

Opening hours

{opening_hours_table(opening_hours)}` + + + + - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + +### designs + + + +The question is *How many designs are available?* + +This rendering asks information about the property [note:design_count](https://wiki.openstreetmap.org/wiki/Key:note:design_count) This is rendered with `This machine has {note:design_count} designs available.` + + + + - *This machine has one design available.* corresponds with note:design_count=1 + - *This machine has two designs available.* corresponds with note:design_count=2 + - *This machine has three designs available.* corresponds with note:design_count=3 + - *This machine has four designs available.* corresponds with note:design_count=4 + + + + +### payment-options-split + + + +The question is *Which methods of payment are accepted here?* + + + + + + - *Cash is accepted here* corresponds with payment:cash=yes + - _This option cannot be chosen as answer_ + - Unselecting this answer will add payment:cash= + - *Payment cards are accepted here* corresponds with payment:cards=yes + - _This option cannot be chosen as answer_ + - Unselecting this answer will add payment:cards= + - *Payment by QR-code is possible here* corresponds with payment:qr_code=yes + - Unselecting this answer will add payment:qr_code=no + - *Coins are accepted here* corresponds with payment:coins=yes + - Unselecting this answer will add payment:coins=no + - *Bank notes are accepted here* corresponds with payment:notes=yes + - Unselecting this answer will add payment:notes=no + - *Debit cards are accepted here* corresponds with payment:debit_cards=yes + - Unselecting this answer will add payment:debit_cards=no + - *Credit cards are accepted here* corresponds with payment:credit_cards=yes + - Unselecting this answer will add payment:credit_cards=no + + + + +### website + + + +The question is *What is the website of {title()}?* + +This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website) This is rendered with `{website}` + + + + - *{contact:website}* corresponds with contact:website~.+ + - _This option cannot be chosen as answer_ + + +This tagrendering has labels `contact` + + + +### charge + + + +The question is *How much does a souvenir note cost?* + +This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge) This is rendered with `A souvenir note costs {charge}` + + + + - *A souvenir note costs 2 euro* corresponds with charge=2 EUR + - *A souvenir note costs 3 euro* corresponds with charge=3 EUR + + + + +### denominations-coins + + + +The question is *What coins can you use to pay here?* + + + + + + - *1 cent coins are accepted* corresponds with payment:coins:denominations=0.01 EUR + - *2 cent coins are accepted* corresponds with payment:coins:denominations=0.02 EUR + - *5 cent coins are accepted* corresponds with payment:coins:denominations=0.05 EUR + - *10 cent coins are accepted* corresponds with payment:coins:denominations=0.10 EUR + - *20 cent coins are accepted* corresponds with payment:coins:denominations=0.20 EUR + - *50 cent coins are accepted* corresponds with payment:coins:denominations=0.50 EUR + - *1 euro coins are accepted* corresponds with payment:coins:denominations=1 EUR + - *2 euro coins are accepted* corresponds with payment:coins:denominations=2 EUR + - *5 centimes coins are accepted* corresponds with payment:coins:denominations=0.05 CHF + - *10 centimes coins are accepted* corresponds with payment:coins:denominations=0.10 CHF + - *20 centimes coins are accepted* corresponds with payment:coins:denominations=0.20 CHF + - *½ franc coins are accepted* corresponds with payment:coins:denominations=0.50 CHF + - *1 franc coins are accepted* corresponds with payment:coins:denominations=1 CHF + - *2 francs coins are accepted* corresponds with payment:coins:denominations=2 CHF + - *5 francs coins are accepted* corresponds with payment:coins:denominations=5 CHF + + +This tagrendering is only visible in the popup if the following condition is met: `(payment:cash=yes | payment:coins=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$)` + + + +### indoor + + + +The question is *Is this machine located indoors?* + + + + + + - *This machine is located indoors.* corresponds with indoor=yes + - *This machine is located outdoors.* corresponds with indoor=no + + + + +### repeated + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `repeat_on~.+` + +This tagrendering has labels `level` + + + +### single_level + + + +The question is *On what level is this feature located?* + +This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level) This is rendered with `Located on the {level}th floor` + + + + - *Located underground* corresponds with location=underground + - _This option cannot be chosen as answer_ + - *Located on the ground floor* corresponds with level=0 + - *Located on the ground floor* corresponds with level= + - _This option cannot be chosen as answer_ + - *Located on the first floor* corresponds with level=1 + - *Located on the first basement level* corresponds with level=-1 + + +This tagrendering has labels `level` + + + +### check_date + + + +The question is *When was this object last checked?* + +This rendering asks information about the property [check_date](https://wiki.openstreetmap.org/wiki/Key:check_date) This is rendered with `This object was last checked on {check_date}` + + + + - *This object was last checked today* corresponds with check_date= + + + + +### leftover-questions + + + +This tagrendering has no question and is thus read-only + + + + + +### minimap + + + +Shows a small map with the feature. Added by default to every popup + +This tagrendering has no question and is thus read-only + + + + + +### move-button + + + +This tagrendering has no question and is thus read-only + + + + + +### delete-button + + + +This tagrendering has no question and is thus read-only + + + + + +### last_edit + + + +Gives some metainfo about the last edit and who did edit it - rendering only + +This tagrendering has no question and is thus read-only + + + +This tagrendering is only visible in the popup if the following condition is met: `_last_edit:changeset~.+ & _last_edit:contributor~.+` + +This tagrendering has labels `added_by_default` + + + +### favourite_status + + + +This tagrendering has no question and is thus read-only + + + + + +### qr_code + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### share + + + +This tagrendering has no question and is thus read-only + + + +This tagrendering has labels `added_by_default` + + + +### all-tags + + + +This tagrendering has no question and is thus read-only + + + + + +#### Filters + + + + + +id | question | osmTags +---- | ---------- | --------- +open_now.0 | Open now | _isOpen=yes + + + + +id | question | osmTags +---- | ---------- | --------- +accepts_debit_cards.0 | Accepts debit cards | payment:debit_cards=yes + + + + +id | question | osmTags +---- | ---------- | --------- +accepts_credit_cards.0 | Accepts credit cards | payment:credit_cards=yes + + +This document is autogenerated from [assets/layers/souvenir_note/souvenir_note.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/souvenir_note/souvenir_note.json) diff --git a/Docs/Layers/sport_pitch.md b/Docs/Layers/sport_pitch.md index 84122bbe0..a0c62dc93 100644 --- a/Docs/Layers/sport_pitch.md +++ b/Docs/Layers/sport_pitch.md @@ -26,6 +26,7 @@ A sport pitch - [personal](https://mapcomplete.org/personal) + - [speelplekken](https://mapcomplete.org/speelplekken) - [sport_pitches](https://mapcomplete.org/sport_pitches) - [sports](https://mapcomplete.org/sports) diff --git a/Docs/Layers/sport_shops.md b/Docs/Layers/sport_shops.md index 2fb35d8a5..156ff7d4b 100644 --- a/Docs/Layers/sport_shops.md +++ b/Docs/Layers/sport_shops.md @@ -324,6 +324,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### website diff --git a/Docs/Layers/sports_centre.md b/Docs/Layers/sports_centre.md index 82bca1178..604c17686 100644 --- a/Docs/Layers/sports_centre.md +++ b/Docs/Layers/sports_centre.md @@ -108,6 +108,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### phone diff --git a/Docs/Layers/stairs.md b/Docs/Layers/stairs.md index 4cf55ba08..7deb9730b 100644 --- a/Docs/Layers/stairs.md +++ b/Docs/Layers/stairs.md @@ -27,6 +27,7 @@ Layer showing stairs and escalators - [blind_osm](https://mapcomplete.org/blind_osm) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) diff --git a/Docs/Layers/street_lamps.md b/Docs/Layers/street_lamps.md index 59fdac536..1753918c4 100644 --- a/Docs/Layers/street_lamps.md +++ b/Docs/Layers/street_lamps.md @@ -27,6 +27,7 @@ A layer showing street lights - [personal](https://mapcomplete.org/personal) - [street_lighting](https://mapcomplete.org/street_lighting) + - [street_lighting_assen](https://mapcomplete.org/street_lighting_assen) diff --git a/Docs/Layers/stripclub.md b/Docs/Layers/stripclub.md index 85a219692..b44339225 100644 --- a/Docs/Layers/stripclub.md +++ b/Docs/Layers/stripclub.md @@ -19,6 +19,17 @@ A venue where erotic dance, striptease, or lap dances are performed commercially +#### Themes using this layer + + + + + + - [openlovemap](https://mapcomplete.org/openlovemap) + + + + Basic tags for this layer --------------------------- @@ -118,6 +129,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### phone diff --git a/Docs/Layers/ticket_machine.md b/Docs/Layers/ticket_machine.md index 629b1ab4b..ee92064a8 100644 --- a/Docs/Layers/ticket_machine.md +++ b/Docs/Layers/ticket_machine.md @@ -26,6 +26,7 @@ Find ticket machines for public transport tickets - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) - [vending_machine](https://mapcomplete.org/vending_machine) diff --git a/Docs/Layers/ticket_validator.md b/Docs/Layers/ticket_validator.md index b3f69c157..741038021 100644 --- a/Docs/Layers/ticket_validator.md +++ b/Docs/Layers/ticket_validator.md @@ -19,6 +19,17 @@ Find ticket validators to validate public transport tickets +#### Themes using this layer + + + + + + - [stations](https://mapcomplete.org/stations) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/toilet.md b/Docs/Layers/toilet.md index 19460db3e..1969540fe 100644 --- a/Docs/Layers/toilet.md +++ b/Docs/Layers/toilet.md @@ -30,7 +30,10 @@ A layer showing (public) toilets - [onwheels](https://mapcomplete.org/onwheels) - [personal](https://mapcomplete.org/personal) - [ski](https://mapcomplete.org/ski) + - [stations](https://mapcomplete.org/stations) + - [toerisme_vlaanderen](https://mapcomplete.org/toerisme_vlaanderen) - [toilets](https://mapcomplete.org/toilets) + - [velopark](https://mapcomplete.org/velopark) @@ -249,6 +252,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ This tagrendering has labels `relevant-questions` diff --git a/Docs/Layers/toilet_at_amenity.md b/Docs/Layers/toilet_at_amenity.md index 37708c0fd..7d2138442 100644 --- a/Docs/Layers/toilet_at_amenity.md +++ b/Docs/Layers/toilet_at_amenity.md @@ -203,6 +203,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### toilets-wheelchair diff --git a/Docs/Layers/trail.md b/Docs/Layers/trail.md index 7f7e01c59..be4b52dd3 100644 --- a/Docs/Layers/trail.md +++ b/Docs/Layers/trail.md @@ -17,6 +17,8 @@ Waymarked trails - This layer is shown at zoomlevel **12** and higher +No themes use this layer + Basic tags for this layer diff --git a/Docs/Layers/vending_machine.md b/Docs/Layers/vending_machine.md index 6336e3e8a..22dbf3ee0 100644 --- a/Docs/Layers/vending_machine.md +++ b/Docs/Layers/vending_machine.md @@ -25,6 +25,7 @@ Layer showing vending machines + - [openlovemap](https://mapcomplete.org/openlovemap) - [personal](https://mapcomplete.org/personal) - [vending_machine](https://mapcomplete.org/vending_machine) @@ -157,6 +158,8 @@ This rendering asks information about the property [opening_hours](https://wiki - *24/7 opened (including holidays)* corresponds with opening_hours=24/7 + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ diff --git a/Docs/Layers/veterinary.md b/Docs/Layers/veterinary.md index 5c4e89db4..816ba1deb 100644 --- a/Docs/Layers/veterinary.md +++ b/Docs/Layers/veterinary.md @@ -143,6 +143,12 @@ This rendering asks information about the property [opening_hours](https://wiki + - *Marked as closed for an unspecified time* corresponds with opening_hours=closed + - _This option cannot be chosen as answer_ + + + + ### vetName diff --git a/Docs/Layers/viewpoint.md b/Docs/Layers/viewpoint.md index 774c915b3..578e26a78 100644 --- a/Docs/Layers/viewpoint.md +++ b/Docs/Layers/viewpoint.md @@ -25,6 +25,7 @@ A nice viewpoint or nice view. Ideal to add an image if no other category fits + - [buurtnatuur](https://mapcomplete.org/buurtnatuur) - [personal](https://mapcomplete.org/personal) - [ski](https://mapcomplete.org/ski) diff --git a/Docs/Layers/village_green.md b/Docs/Layers/village_green.md index 68de42684..eb40fd4de 100644 --- a/Docs/Layers/village_green.md +++ b/Docs/Layers/village_green.md @@ -19,6 +19,17 @@ A layer showing village-green (which are communal green areas, but not quite par +#### Themes using this layer + + + + + + - [speelplekken](https://mapcomplete.org/speelplekken) + + + + Basic tags for this layer --------------------------- diff --git a/Docs/Layers/visitor_information_centre.md b/Docs/Layers/visitor_information_centre.md index 6c66a79e1..84ed649a7 100644 --- a/Docs/Layers/visitor_information_centre.md +++ b/Docs/Layers/visitor_information_centre.md @@ -17,6 +17,8 @@ A visitor center offers information about a specific attraction or place of inte - This layer is shown at zoomlevel **12** and higher +No themes use this layer + Basic tags for this layer diff --git a/Docs/Layers/walls_and_buildings.md b/Docs/Layers/walls_and_buildings.md index 17ac926fc..3351ba4a4 100644 --- a/Docs/Layers/walls_and_buildings.md +++ b/Docs/Layers/walls_and_buildings.md @@ -27,6 +27,7 @@ Special builtin layer providing all walls and buildings. This layer is useful in - This layer is needed as dependency for layer [entrance](#entrance) - This layer is needed as dependency for layer [surveillance_camera](#surveillance_camera) - This layer is needed as dependency for layer [facadegardens](#facadegardens) + - This layer is needed as dependency for layer [ghostsigns](#ghostsigns) - This layer is needed as dependency for layer [parking_spaces_disabled](#parking_spaces_disabled) @@ -43,10 +44,13 @@ Special builtin layer providing all walls and buildings. This layer is useful in - [artwork](https://mapcomplete.org/artwork) - [clock](https://mapcomplete.org/clock) - [facadegardens](https://mapcomplete.org/facadegardens) + - [ghostsigns](https://mapcomplete.org/ghostsigns) - [indoors](https://mapcomplete.org/indoors) - [onwheels](https://mapcomplete.org/onwheels) - [personal](https://mapcomplete.org/personal) + - [stations](https://mapcomplete.org/stations) - [surveillance](https://mapcomplete.org/surveillance) + - [walls_and_buildings](https://mapcomplete.org/walls_and_buildings) diff --git a/Docs/Layers/waste_basket.md b/Docs/Layers/waste_basket.md index 580168f62..46a8e54e5 100644 --- a/Docs/Layers/waste_basket.md +++ b/Docs/Layers/waste_basket.md @@ -27,7 +27,9 @@ This is a public waste basket, thrash can, where you can throw away your thrash. - [personal](https://mapcomplete.org/personal) - [pets](https://mapcomplete.org/pets) + - [stations](https://mapcomplete.org/stations) - [waste](https://mapcomplete.org/waste) + - [waste_assen](https://mapcomplete.org/waste_assen) - [waste_basket](https://mapcomplete.org/waste_basket) diff --git a/Docs/Layers/waste_disposal.md b/Docs/Layers/waste_disposal.md index afc6b1be1..6e0fac9ab 100644 --- a/Docs/Layers/waste_disposal.md +++ b/Docs/Layers/waste_disposal.md @@ -27,6 +27,7 @@ Waste Disposal Bin, medium to large bin for disposal of (household) waste - [personal](https://mapcomplete.org/personal) - [waste](https://mapcomplete.org/waste) + - [waste_assen](https://mapcomplete.org/waste_assen) diff --git a/Docs/SettingUpPSQL.md b/Docs/SettingUpPSQL.md index 6a7f79c9a..7b19dccad 100644 --- a/Docs/SettingUpPSQL.md +++ b/Docs/SettingUpPSQL.md @@ -26,8 +26,12 @@ Use `vite-node ./scripts/osm2pgsql/generateBuildDbScript.ts` ## Importing data Install osm2pgsql (hint: compile from source is painless) -To seed the database: +Download the latest with: +`nohup transmission-cli https://planet.osm.org/pbf/planet-latest.osm.pbf.torrent &>nohup_transmission.log &` +which will download the data to `~/Downloads` + +To seed the database: ```` osm2pgsql -O flex -S build_db.lua -s --flat-nodes=import-help-file -d postgresql://user:password@localhost:5444/osm-poi .osm.pbf ```` @@ -49,6 +53,7 @@ HP ProLiant DL360 G7 (1U): 2Rx4 DDR3-memory (PC3) ## Updating data + `osm2pgsql-replication update -d postgresql://user:password@localhost:5444/osm-poi -- -O flex -S build_db.lua -s --flat-nodes=import-help-file` diff --git a/Docs/SpecialInputElements.md b/Docs/SpecialInputElements.md index 363d51820..af4b22c50 100644 --- a/Docs/SpecialInputElements.md +++ b/Docs/SpecialInputElements.md @@ -113,7 +113,7 @@ A wikidata identifier, e.g. Q42. name | doc ------ | ----- -key | the value of this tag will initialize search (default: name) +key | the value of this tag will initialize search (default: name). This can be a ';'-separated list in which case every key will be inspected. The non-null value will be used as search options | A JSON-object of type `{ removePrefixes: string[], removePostfixes: string[] }`. subarg \| doc diff --git a/Docs/SpecialRenderings.md b/Docs/SpecialRenderings.md index 154d443b0..abd8eb87f 100644 --- a/Docs/SpecialRenderings.md +++ b/Docs/SpecialRenderings.md @@ -116,6 +116,8 @@ In other words: use `{ "before": ..., "after": ..., "special": {"type": ..., "ar * [Example usage of create_review](#example-usage-of-create_review) + [list_reviews](#list_reviews) * [Example usage of list_reviews](#example-usage-of-list_reviews) + + [import_mangrove_key](#import_mangrove_key) + * [Example usage of import_mangrove_key](#example-usage-of-import_mangrove_key) + [opening_hours_table](#opening_hours_table) * [Example usage of opening_hours_table](#example-usage-of-opening_hours_table) + [opening_hours_state](#opening_hours_state) @@ -831,6 +833,21 @@ fallback | _undefined_ | The identifier to use, if tags[subjectKey] as sp +### import_mangrove_key + + Only makes sense in the usersettings. Allows to import a mangrove public key and to use this to make reviews + +name | default | description +------ | --------- | ------------- +text | _undefined_ | The text that is shown on the button + + +#### Example usage of import_mangrove_key + + `{import_mangrove_key()}` + + + ### opening_hours_table Creates an opening-hours table. Usage: {opening_hours_table(opening_hours)} to create a table of the tag 'opening_hours'. diff --git a/Docs/TagInfo/mapcomplete_aed.json b/Docs/TagInfo/mapcomplete_aed.json index 86a0af01f..e84bc4cd3 100644 --- a/Docs/TagInfo/mapcomplete_aed.json +++ b/Docs/TagInfo/mapcomplete_aed.json @@ -160,6 +160,11 @@ "description": "Layer 'Defibrillators' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Defibrillators')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Defibrillators' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Defibrillators')", + "value": "closed" + }, { "key": "description", "description": "Layer 'Defibrillators' shows and asks freeform values for key 'description' (in the mapcomplete.org theme 'Defibrillators')" diff --git a/Docs/TagInfo/mapcomplete_atm.json b/Docs/TagInfo/mapcomplete_atm.json index 99bb1b582..dfb9ed394 100644 --- a/Docs/TagInfo/mapcomplete_atm.json +++ b/Docs/TagInfo/mapcomplete_atm.json @@ -52,6 +52,11 @@ "description": "Layer 'ATMs' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'ATM Machines')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'ATMs' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'ATM Machines')", + "value": "closed" + }, { "key": "cash_out", "description": "Layer 'ATMs' shows cash_out= with a fixed text, namely 'You can withdraw cash from this ATM' (in the mapcomplete.org theme 'ATM Machines') Picking this answer will delete the key cash_out.", @@ -211,6 +216,11 @@ "key": "opening_hours", "description": "Layer 'Post offices' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'ATM Machines')" }, + { + "key": "opening_hours", + "description": "Layer 'Post offices' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'ATM Machines')", + "value": "closed" + }, { "key": "post_office", "description": "Layer 'Post offices' shows post_office=post_partner with a fixed text, namely 'This shop is a post partner' and allows to pick this as a default answer (in the mapcomplete.org theme 'ATM Machines') (This is only shown if post_office=post_partner)", diff --git a/Docs/TagInfo/mapcomplete_benches.json b/Docs/TagInfo/mapcomplete_benches.json index e1a35fda3..8f98a2778 100644 --- a/Docs/TagInfo/mapcomplete_benches.json +++ b/Docs/TagInfo/mapcomplete_benches.json @@ -259,17 +259,17 @@ }, { "key": "historic", - "description": "Layer 'Benches' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Benches') (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Benches') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "memorial" }, { "key": "historic", - "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Benches') Picking this answer will delete the key historic. (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Benches') Picking this answer will delete the key historic. (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "" }, { "key": "not:historic", - "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Benches') (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Benches') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "memorial" }, { diff --git a/Docs/TagInfo/mapcomplete_bicycle_parkings.json b/Docs/TagInfo/mapcomplete_bicycle_parkings.json new file mode 100644 index 000000000..b67388c34 --- /dev/null +++ b/Docs/TagInfo/mapcomplete_bicycle_parkings.json @@ -0,0 +1,191 @@ +{ + "data_format": 1, + "project": { + "name": "MapComplete Bicycle parkings", + "description": "A map showing all types of bicycle parkings", + "project_url": "https://mapcomplete.org/bicycle_parkings", + "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", + "icon_url": "https://mapcomplete.org/assets/themes/bicycle_parkings/logo.svg", + "contact_name": "Pieter Vander Vennet", + "contact_email": "pietervdvn@posteo.net" + }, + "tags": [ + { + "key": "amenity", + "description": "The MapComplete theme Bicycle parkings has a layer Bike parking showing features with this tag", + "value": "bicycle_parking" + }, + { + "key": "id", + "description": "Layer 'Bike parking' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Bicycle parkings') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Bike parking allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Bike parking allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Bike parking allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Bike parking allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "bicycle_parking", + "description": "Layer 'Bike parking' shows and asks freeform values for key 'bicycle_parking' (in the mapcomplete.org theme 'Bicycle parkings')" + }, + { + "key": "bicycle_parking", + "description": "Layer 'Bike parking' shows bicycle_parking=stands with a fixed text, namely 'Stands' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "stands" + }, + { + "key": "bicycle_parking", + "description": "Layer 'Bike parking' shows bicycle_parking=wall_loops with a fixed text, namely 'Wheelbenders / rack' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "wall_loops" + }, + { + "key": "bicycle_parking", + "description": "Layer 'Bike parking' shows bicycle_parking=handlebar_holder with a fixed text, namely 'Handlebar holder' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "handlebar_holder" + }, + { + "key": "bicycle_parking", + "description": "Layer 'Bike parking' shows bicycle_parking=rack with a fixed text, namely 'Rack' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "rack" + }, + { + "key": "bicycle_parking", + "description": "Layer 'Bike parking' shows bicycle_parking=two_tier with a fixed text, namely 'Two-tiered' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "two_tier" + }, + { + "key": "bicycle_parking", + "description": "Layer 'Bike parking' shows bicycle_parking=shed with a fixed text, namely 'Shed' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "shed" + }, + { + "key": "bicycle_parking", + "description": "Layer 'Bike parking' shows bicycle_parking=bollard with a fixed text, namely 'Bollard' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "bollard" + }, + { + "key": "bicycle_parking", + "description": "Layer 'Bike parking' shows bicycle_parking=floor with a fixed text, namely 'An area on the floor which is marked for bicycle parking' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "floor" + }, + { + "key": "location", + "description": "Layer 'Bike parking' shows location=underground with a fixed text, namely 'Underground parking' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "underground" + }, + { + "key": "location", + "description": "Layer 'Bike parking' shows location=surface with a fixed text, namely 'Surface level parking' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "surface" + }, + { + "key": "location", + "description": "Layer 'Bike parking' shows location=rooftop with a fixed text, namely 'Rooftop parking' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "rooftop" + }, + { + "key": "location", + "description": "Layer 'Bike parking' shows location= with a fixed text, namely 'Surface level parking' (in the mapcomplete.org theme 'Bicycle parkings') Picking this answer will delete the key location.", + "value": "" + }, + { + "key": "covered", + "description": "Layer 'Bike parking' shows covered=yes with a fixed text, namely 'This parking is covered (it has a roof)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings') (This is only shown if bicycle_parking!=shed & location!=underground)", + "value": "yes" + }, + { + "key": "covered", + "description": "Layer 'Bike parking' shows covered=no with a fixed text, namely 'This parking is not covered' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings') (This is only shown if bicycle_parking!=shed & location!=underground)", + "value": "no" + }, + { + "key": "capacity", + "description": "Layer 'Bike parking' shows and asks freeform values for key 'capacity' (in the mapcomplete.org theme 'Bicycle parkings')" + }, + { + "key": "access", + "description": "Layer 'Bike parking' shows and asks freeform values for key 'access' (in the mapcomplete.org theme 'Bicycle parkings')" + }, + { + "key": "access", + "description": "Layer 'Bike parking' shows access=yes with a fixed text, namely 'Publicly accessible' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "yes" + }, + { + "key": "access", + "description": "Layer 'Bike parking' shows access=customers with a fixed text, namely 'Access is primarily for visitors to a business' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "customers" + }, + { + "key": "access", + "description": "Layer 'Bike parking' shows access=private with a fixed text, namely 'Access is limited to members of a school, company or organisation' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "private" + }, + { + "key": "fee", + "description": "Layer 'Bike parking' shows fee=yes with a fixed text, namely 'One has to pay to use this bicycle parking' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "yes" + }, + { + "key": "fee", + "description": "Layer 'Bike parking' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "no" + }, + { + "key": "opening_hours", + "description": "Layer 'Bike parking' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Bicycle parkings')" + }, + { + "key": "opening_hours", + "description": "Layer 'Bike parking' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "24/7" + }, + { + "key": "opening_hours", + "description": "Layer 'Bike parking' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "closed" + }, + { + "key": "operator:phone", + "description": "Layer 'Bike parking' shows and asks freeform values for key 'operator:phone' (in the mapcomplete.org theme 'Bicycle parkings')" + }, + { + "key": "phone", + "description": "Layer 'Bike parking' shows phone~.+ with a fixed text, namely '{phone}' (in the mapcomplete.org theme 'Bicycle parkings')" + }, + { + "key": "contact:phone", + "description": "Layer 'Bike parking' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Bicycle parkings')" + }, + { + "key": "cargo_bike", + "description": "Layer 'Bike parking' shows cargo_bike=yes with a fixed text, namely 'This parking has room for cargo bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "yes" + }, + { + "key": "cargo_bike", + "description": "Layer 'Bike parking' shows cargo_bike=designated with a fixed text, namely 'This parking has designated (official) spots for cargo bikes.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "designated" + }, + { + "key": "cargo_bike", + "description": "Layer 'Bike parking' shows cargo_bike=no with a fixed text, namely 'You're not allowed to park cargo bikes' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle parkings')", + "value": "no" + }, + { + "key": "capacity:cargo_bike", + "description": "Layer 'Bike parking' shows and asks freeform values for key 'capacity:cargo_bike' (in the mapcomplete.org theme 'Bicycle parkings') (This is only shown if cargo_bike~^(designated|yes)$)" + } + ] +} \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_bicycle_rental.json b/Docs/TagInfo/mapcomplete_bicycle_rental.json index 4f697dbd5..50e4e8332 100644 --- a/Docs/TagInfo/mapcomplete_bicycle_rental.json +++ b/Docs/TagInfo/mapcomplete_bicycle_rental.json @@ -116,6 +116,11 @@ "key": "opening_hours", "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Bicycle rental') (This is only shown if shop~.+ | opening_hours~.+)" }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle rental' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Bicycle rental') (This is only shown if shop~.+ | opening_hours~.+)", + "value": "closed" + }, { "key": "payment:cash", "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bicycle rental') (This is only shown if shop~.+)", diff --git a/Docs/TagInfo/mapcomplete_bicyclelib.json b/Docs/TagInfo/mapcomplete_bicyclelib.json index 73d80d30d..a8e9f5d7b 100644 --- a/Docs/TagInfo/mapcomplete_bicyclelib.json +++ b/Docs/TagInfo/mapcomplete_bicyclelib.json @@ -67,6 +67,11 @@ "key": "opening_hours", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Bicycle libraries')" }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle library' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Bicycle libraries')", + "value": "closed" + }, { "key": "charge", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Bicycle libraries')" diff --git a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json index 19f5db264..cdcd22e80 100644 --- a/Docs/TagInfo/mapcomplete_cafes_and_pubs.json +++ b/Docs/TagInfo/mapcomplete_cafes_and_pubs.json @@ -122,6 +122,11 @@ "key": "opening_hours", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cafés and pubs')" }, + { + "key": "opening_hours", + "description": "Layer 'Cafés and pubs' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cafés and pubs')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Cafés and pubs')" diff --git a/Docs/TagInfo/mapcomplete_charging_stations.json b/Docs/TagInfo/mapcomplete_charging_stations.json index 2ec8a9122..e7e8fb073 100644 --- a/Docs/TagInfo/mapcomplete_charging_stations.json +++ b/Docs/TagInfo/mapcomplete_charging_stations.json @@ -897,6 +897,11 @@ "description": "Layer 'Charging stations' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Charging stations' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Charging stations')", + "value": "closed" + }, { "key": "fee", "description": "Layer 'Charging stations' shows fee=no & fee:conditional= & charge= & authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", diff --git a/Docs/TagInfo/mapcomplete_climbing.json b/Docs/TagInfo/mapcomplete_climbing.json index dacabc91d..46f9b9cc8 100644 --- a/Docs/TagInfo/mapcomplete_climbing.json +++ b/Docs/TagInfo/mapcomplete_climbing.json @@ -64,6 +64,11 @@ "key": "opening_hours", "description": "Layer 'Climbing club' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" }, + { + "key": "opening_hours", + "description": "Layer 'Climbing club' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "closed" + }, { "key": "access", "description": "Layer 'Climbing club' shows access=yes with a fixed text, namely 'Publicly accessible to anyone' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if access~.+ | _embedding_feature:access=)", @@ -189,6 +194,11 @@ "key": "opening_hours", "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" }, + { + "key": "opening_hours", + "description": "Layer 'Climbing gyms' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "closed" + }, { "key": "service:climbing_shoes:rental", "description": "Layer 'Climbing gyms' shows service:climbing_shoes:rental=yes & service:climbing_shoes:rental:fee=no with a fixed text, namely 'Climbing shoes can be borrowed for free here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", @@ -1547,6 +1557,11 @@ "key": "opening_hours", "description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" }, + { + "key": "opening_hours", + "description": "Layer 'Shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Shop' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" @@ -1925,6 +1940,11 @@ "description": "Layer 'Toilets' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if access!=no)", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Toilets' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if access!=no)", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Toilets' shows wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", @@ -2183,6 +2203,11 @@ "description": "Layer 'Drinking water' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Drinking water' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "closed" + }, { "key": "tourism", "description": "Layer 'Drinking water' shows tourism=artwork with a fixed text, namely 'This drinking water point has an integrated artwork' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", diff --git a/Docs/TagInfo/mapcomplete_cyclofix.json b/Docs/TagInfo/mapcomplete_cyclofix.json index 9203c79c2..07da54410 100644 --- a/Docs/TagInfo/mapcomplete_cyclofix.json +++ b/Docs/TagInfo/mapcomplete_cyclofix.json @@ -132,6 +132,11 @@ "key": "opening_hours", "description": "Layer 'Bike cafe' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, + { + "key": "opening_hours", + "description": "Layer 'Bike cafe' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "closed" + }, { "key": "shop", "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bike repair/shop showing features with this tag", @@ -214,6 +219,11 @@ "key": "opening_hours", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, + { + "key": "opening_hours", + "description": "Layer 'Bike repair/shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "closed" + }, { "key": "access", "description": "Layer 'Bike repair/shop' shows values with key 'access' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" @@ -487,6 +497,11 @@ "description": "Layer 'Bicycle pump and repair' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle pump and repair' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "closed" + }, { "key": "access", "description": "Layer 'Bicycle pump and repair' shows access=yes with a fixed text, namely 'Publicly accessible' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", @@ -879,6 +894,11 @@ "description": "Layer 'Drinking water' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Drinking water' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "closed" + }, { "key": "tourism", "description": "Layer 'Drinking water' shows tourism=artwork with a fixed text, namely 'This drinking water point has an integrated artwork' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", @@ -1076,6 +1096,11 @@ "key": "opening_hours", "description": "Layer 'Bike-related object' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, + { + "key": "opening_hours", + "description": "Layer 'Bike-related object' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "closed" + }, { "key": "service:bicycle:cleaning", "description": "The MapComplete theme Cyclofix - a map for cyclists has a layer Bike cleaning service showing features with this tag", @@ -1255,6 +1280,11 @@ "key": "opening_hours", "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+ | opening_hours~.+)" }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle rental' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+ | opening_hours~.+)", + "value": "closed" + }, { "key": "payment:cash", "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if shop~.+)", @@ -1424,6 +1454,11 @@ "key": "opening_hours", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle library' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "closed" + }, { "key": "charge", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" @@ -1608,6 +1643,11 @@ "description": "Layer 'Bike parking' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Bike parking' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "closed" + }, { "key": "operator:phone", "description": "Layer 'Bike parking' shows and asks freeform values for key 'operator:phone' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" @@ -2531,6 +2571,11 @@ "description": "Layer 'Charging stations' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Charging stations' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "closed" + }, { "key": "fee", "description": "Layer 'Charging stations' shows fee=no & fee:conditional= & charge= & authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", diff --git a/Docs/TagInfo/mapcomplete_drinking_water.json b/Docs/TagInfo/mapcomplete_drinking_water.json index 3ba8c2441..ec6179a8c 100644 --- a/Docs/TagInfo/mapcomplete_drinking_water.json +++ b/Docs/TagInfo/mapcomplete_drinking_water.json @@ -127,6 +127,11 @@ "description": "Layer 'Drinking water' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Drinking water' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Drinking Water')", + "value": "closed" + }, { "key": "tourism", "description": "Layer 'Drinking water' shows tourism=artwork with a fixed text, namely 'This drinking water point has an integrated artwork' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", diff --git a/Docs/TagInfo/mapcomplete_education.json b/Docs/TagInfo/mapcomplete_education.json index ed578742c..10e4be0ef 100644 --- a/Docs/TagInfo/mapcomplete_education.json +++ b/Docs/TagInfo/mapcomplete_education.json @@ -316,6 +316,11 @@ "key": "opening_hours", "description": "Layer 'Kindergartens and childcare' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Education') (This is only shown if amenity=childcare)" }, + { + "key": "opening_hours", + "description": "Layer 'Kindergartens and childcare' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Education') (This is only shown if amenity=childcare)", + "value": "closed" + }, { "key": "capacity", "description": "Layer 'Kindergartens and childcare' shows and asks freeform values for key 'capacity' (in the mapcomplete.org theme 'Education')" diff --git a/Docs/TagInfo/mapcomplete_elongated_coin.json b/Docs/TagInfo/mapcomplete_elongated_coin.json index 800ff60d4..da2860451 100644 --- a/Docs/TagInfo/mapcomplete_elongated_coin.json +++ b/Docs/TagInfo/mapcomplete_elongated_coin.json @@ -17,8 +17,7 @@ }, { "key": "vending", - "description": "The MapComplete theme Penny Presses has a layer Penny Presses showing features with this tag", - "value": "elongated_coin" + "description": "The MapComplete theme Penny Presses has a layer Penny Presses showing features with this tag" }, { "key": "id", @@ -49,6 +48,11 @@ "description": "Layer 'Penny Presses' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Penny Presses' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Penny Presses')", + "value": "closed" + }, { "key": "coin:design_count", "description": "Layer 'Penny Presses' shows and asks freeform values for key 'coin:design_count' (in the mapcomplete.org theme 'Penny Presses')" @@ -316,6 +320,495 @@ "key": "check_date", "description": "Layer 'Penny Presses' shows check_date= with a fixed text, namely 'This object was last checked today' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') Picking this answer will delete the key check_date.", "value": "" + }, + { + "key": "amenity", + "description": "The MapComplete theme Penny Presses has a layer Souvenir Coin Machines showing features with this tag", + "value": "vending_machine" + }, + { + "key": "vending", + "description": "The MapComplete theme Penny Presses has a layer Souvenir Coin Machines showing features with this tag" + }, + { + "key": "id", + "description": "Layer 'Souvenir Coin Machines' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Penny Presses') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Souvenir Coin Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Souvenir Coin Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Souvenir Coin Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Souvenir Coin Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Coin Machines' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "24/7" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Coin Machines' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Penny Presses')", + "value": "closed" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'coin:design_count' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows coin:design_count=1 with a fixed text, namely 'This machine has one design available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "1" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows coin:design_count=2 with a fixed text, namely 'This machine has two designs available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "2" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows coin:design_count=3 with a fixed text, namely 'This machine has three designs available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "3" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows coin:design_count=4 with a fixed text, namely 'This machine has four designs available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "4" + }, + { + "key": "payment:cash", + "description": "Layer 'Souvenir Coin Machines' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:cards", + "description": "Layer 'Souvenir Coin Machines' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:qr_code", + "description": "Layer 'Souvenir Coin Machines' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:coins", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins=yes with a fixed text, namely 'Coins are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:notes", + "description": "Layer 'Souvenir Coin Machines' shows payment:notes=yes with a fixed text, namely 'Bank notes are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:debit_cards", + "description": "Layer 'Souvenir Coin Machines' shows payment:debit_cards=yes with a fixed text, namely 'Debit cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:credit_cards", + "description": "Layer 'Souvenir Coin Machines' shows payment:credit_cards=yes with a fixed text, namely 'Credit cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "website", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "contact:website", + "description": "Layer 'Souvenir Coin Machines' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Coin Machines' shows charge=2 EUR with a fixed text, namely 'A souvenir coin costs 2 euro' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "2 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.01 EUR with a fixed text, namely '1 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.01 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.02 EUR with a fixed text, namely '2 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.02 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.05 EUR with a fixed text, namely '5 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.05 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.10 EUR with a fixed text, namely '10 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.10 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.20 EUR with a fixed text, namely '20 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.20 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.50 EUR with a fixed text, namely '50 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.50 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=1 EUR with a fixed text, namely '1 euro coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "1 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=2 EUR with a fixed text, namely '2 euro coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "2 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.05 CHF with a fixed text, namely '5 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.05 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.10 CHF with a fixed text, namely '10 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.10 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.20 CHF with a fixed text, namely '20 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.20 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.50 CHF with a fixed text, namely '½ franc coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.50 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=1 CHF with a fixed text, namely '1 franc coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "1 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=2 CHF with a fixed text, namely '2 francs coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "2 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=5 CHF with a fixed text, namely '5 francs coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "5 CHF" + }, + { + "key": "indoor", + "description": "Layer 'Souvenir Coin Machines' shows indoor=yes with a fixed text, namely 'This machine is located indoors.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "indoor", + "description": "Layer 'Souvenir Coin Machines' shows indoor=no with a fixed text, namely 'This machine is located outdoors.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "no" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'level' (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)" + }, + { + "key": "location", + "description": "Layer 'Souvenir Coin Machines' shows location=underground with a fixed text, namely 'Located underground' (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows level= with a fixed text, namely 'Located on the ground floor' (in the mapcomplete.org theme 'Penny Presses') Picking this answer will delete the key level. (This is only shown if repeat_on=)", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)", + "value": "-1" + }, + { + "key": "check_date", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'check_date' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "check_date", + "description": "Layer 'Souvenir Coin Machines' shows check_date= with a fixed text, namely 'This object was last checked today' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') Picking this answer will delete the key check_date.", + "value": "" + }, + { + "key": "amenity", + "description": "The MapComplete theme Penny Presses has a layer Souvenir Banknote Machines showing features with this tag", + "value": "vending_machine" + }, + { + "key": "vending", + "description": "The MapComplete theme Penny Presses has a layer Souvenir Banknote Machines showing features with this tag" + }, + { + "key": "id", + "description": "Layer 'Souvenir Banknote Machines' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Penny Presses') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Souvenir Banknote Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Souvenir Banknote Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Souvenir Banknote Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Souvenir Banknote Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Banknote Machines' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "24/7" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Banknote Machines' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Penny Presses')", + "value": "closed" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'note:design_count' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows note:design_count=1 with a fixed text, namely 'This machine has one design available.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "1" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows note:design_count=2 with a fixed text, namely 'This machine has two designs available.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "2" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows note:design_count=3 with a fixed text, namely 'This machine has three designs available.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "3" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows note:design_count=4 with a fixed text, namely 'This machine has four designs available.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "4" + }, + { + "key": "payment:cash", + "description": "Layer 'Souvenir Banknote Machines' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:cards", + "description": "Layer 'Souvenir Banknote Machines' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:qr_code", + "description": "Layer 'Souvenir Banknote Machines' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:coins", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins=yes with a fixed text, namely 'Coins are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:notes", + "description": "Layer 'Souvenir Banknote Machines' shows payment:notes=yes with a fixed text, namely 'Bank notes are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:debit_cards", + "description": "Layer 'Souvenir Banknote Machines' shows payment:debit_cards=yes with a fixed text, namely 'Debit cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "payment:credit_cards", + "description": "Layer 'Souvenir Banknote Machines' shows payment:credit_cards=yes with a fixed text, namely 'Credit cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "website", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "contact:website", + "description": "Layer 'Souvenir Banknote Machines' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Banknote Machines' shows charge=2 EUR with a fixed text, namely 'A souvenir note costs 2 euro' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "2 EUR" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Banknote Machines' shows charge=3 EUR with a fixed text, namely 'A souvenir note costs 3 euro' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "3 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.01 EUR with a fixed text, namely '1 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.01 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.02 EUR with a fixed text, namely '2 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.02 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.05 EUR with a fixed text, namely '5 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.05 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.10 EUR with a fixed text, namely '10 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.10 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.20 EUR with a fixed text, namely '20 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.20 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.50 EUR with a fixed text, namely '50 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.50 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=1 EUR with a fixed text, namely '1 euro coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "1 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=2 EUR with a fixed text, namely '2 euro coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "2 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.05 CHF with a fixed text, namely '5 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.05 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.10 CHF with a fixed text, namely '10 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.10 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.20 CHF with a fixed text, namely '20 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.20 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.50 CHF with a fixed text, namely '½ franc coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.50 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=1 CHF with a fixed text, namely '1 franc coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "1 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=2 CHF with a fixed text, namely '2 francs coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "2 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=5 CHF with a fixed text, namely '5 francs coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "5 CHF" + }, + { + "key": "indoor", + "description": "Layer 'Souvenir Banknote Machines' shows indoor=yes with a fixed text, namely 'This machine is located indoors.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "yes" + }, + { + "key": "indoor", + "description": "Layer 'Souvenir Banknote Machines' shows indoor=no with a fixed text, namely 'This machine is located outdoors.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses')", + "value": "no" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'level' (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)" + }, + { + "key": "location", + "description": "Layer 'Souvenir Banknote Machines' shows location=underground with a fixed text, namely 'Located underground' (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows level= with a fixed text, namely 'Located on the ground floor' (in the mapcomplete.org theme 'Penny Presses') Picking this answer will delete the key level. (This is only shown if repeat_on=)", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') (This is only shown if repeat_on=)", + "value": "-1" + }, + { + "key": "check_date", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'check_date' (in the mapcomplete.org theme 'Penny Presses')" + }, + { + "key": "check_date", + "description": "Layer 'Souvenir Banknote Machines' shows check_date= with a fixed text, namely 'This object was last checked today' and allows to pick this as a default answer (in the mapcomplete.org theme 'Penny Presses') Picking this answer will delete the key check_date.", + "value": "" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_food.json b/Docs/TagInfo/mapcomplete_food.json index 421893000..e76490202 100644 --- a/Docs/TagInfo/mapcomplete_food.json +++ b/Docs/TagInfo/mapcomplete_food.json @@ -58,6 +58,11 @@ "key": "opening_hours", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Restaurants and fast food')" }, + { + "key": "opening_hours", + "description": "Layer 'Restaurants and fast food' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Restaurants and fast food')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Restaurants and fast food')" @@ -607,6 +612,11 @@ "key": "opening_hours", "description": "Layer 'Ice cream parlors' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Restaurants and fast food')" }, + { + "key": "opening_hours", + "description": "Layer 'Ice cream parlors' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Restaurants and fast food')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Ice cream parlors' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Restaurants and fast food')" diff --git a/Docs/TagInfo/mapcomplete_fritures.json b/Docs/TagInfo/mapcomplete_fritures.json index 645b26b98..f8da6779b 100644 --- a/Docs/TagInfo/mapcomplete_fritures.json +++ b/Docs/TagInfo/mapcomplete_fritures.json @@ -62,6 +62,11 @@ "key": "opening_hours", "description": "Layer 'Fries shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Fries shops')" }, + { + "key": "opening_hours", + "description": "Layer 'Fries shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Fries shops')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Fries shop' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Fries shops')" diff --git a/Docs/TagInfo/mapcomplete_ghostsigns.json b/Docs/TagInfo/mapcomplete_ghostsigns.json new file mode 100644 index 000000000..a71757941 --- /dev/null +++ b/Docs/TagInfo/mapcomplete_ghostsigns.json @@ -0,0 +1,283 @@ +{ + "data_format": 1, + "project": { + "name": "MapComplete Ghost Signs", + "description": "A map showing disused signs on buildings", + "project_url": "https://mapcomplete.org/ghostsigns", + "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", + "icon_url": "https://mapcomplete.org/assets/themes/advertising/wall_painting.svg", + "contact_name": "Pieter Vander Vennet", + "contact_email": "pietervdvn@posteo.net" + }, + "tags": [ + { + "key": "historic", + "description": "The MapComplete theme Ghost Signs has a layer Ghost Signs showing features with this tag" + }, + { + "key": "advertising", + "description": "The MapComplete theme Ghost Signs has a layer Ghost Signs showing features with this tag", + "value": "wall_painting" + }, + { + "key": "id", + "description": "Layer 'Ghost Signs' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "historic", + "description": "Layer 'Ghost Signs' shows historic=advertising with a fixed text, namely 'This is a ghost sign' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "advertising" + }, + { + "key": "historic", + "description": "Layer 'Ghost Signs' shows historic= with a fixed text, namely 'This is not a ghost sign, answering this will hide the sign from the map' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') Picking this answer will delete the key historic.", + "value": "" + }, + { + "key": "image", + "description": "The layer 'Ghost Signs allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Ghost Signs allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Ghost Signs allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Ghost Signs allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "inscription", + "description": "Layer 'Ghost Signs' shows and asks freeform values for key 'inscription' (in the mapcomplete.org theme 'Ghost Signs')" + }, + { + "key": "brand", + "description": "Layer 'Ghost Signs' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Ghost Signs')" + }, + { + "key": "advertising", + "description": "The MapComplete theme Ghost Signs has a layer All advertentie wall paintings showing features with this tag", + "value": "wall_painting" + }, + { + "key": "historic", + "description": "Layer 'All advertentie wall paintings' shows historic=advertising with a fixed text, namely 'This is a ghost sign' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "advertising" + }, + { + "key": "historic", + "description": "Layer 'All advertentie wall paintings' shows historic= with a fixed text, namely 'This is not a ghost sign' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') Picking this answer will delete the key historic.", + "value": "" + }, + { + "key": "id", + "description": "Layer 'All advertentie wall paintings' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'All advertentie wall paintings allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'All advertentie wall paintings allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'All advertentie wall paintings allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'All advertentie wall paintings allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows and asks freeform values for key 'advertising' (in the mapcomplete.org theme 'Ghost Signs')" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=billboard with a fixed text, namely 'This is a billboard' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "billboard" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=board with a fixed text, namely 'This is a board' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "board" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=column with a fixed text, namely 'This is a column' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "column" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=flag with a fixed text, namely 'This is a flag' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "flag" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=poster_box with a fixed text, namely 'This is a poster Box' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "poster_box" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=screen with a fixed text, namely 'This is a screen' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "screen" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=sculpture with a fixed text, namely 'This is a sculpture' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "sculpture" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=sign with a fixed text, namely 'This is a sign' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "sign" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=tarp with a fixed text, namely 'This is a tarp (a weatherproof piece of textile with an advertising message)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "tarp" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=totem with a fixed text, namely 'This is a totem' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "totem" + }, + { + "key": "advertising", + "description": "Layer 'All advertentie wall paintings' shows advertising=wall_painting with a fixed text, namely 'This is a wall painting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "wall_painting" + }, + { + "key": "animated", + "description": "Layer 'All advertentie wall paintings' shows animated=no with a fixed text, namely 'Static, always shows the same message' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen & advertising!=flag & advertising!=tarp & advertising!=wall_painting & advertising!=sign & advertising!=board)", + "value": "no" + }, + { + "key": "animated", + "description": "Layer 'All advertentie wall paintings' shows animated=digital_display with a fixed text, namely 'This object has a built-in digital display to show prices or some other message' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen & advertising!=flag & advertising!=tarp & advertising!=wall_painting & advertising!=sign & advertising!=board)", + "value": "digital_display" + }, + { + "key": "animated", + "description": "Layer 'All advertentie wall paintings' shows animated=trivision_blades with a fixed text, namely 'Trivision - the billboard consists of many triangular prisms which regularly rotate' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen & advertising!=flag & advertising!=tarp & advertising!=wall_painting & advertising!=sign & advertising!=board)", + "value": "trivision_blades" + }, + { + "key": "animated", + "description": "Layer 'All advertentie wall paintings' shows animated=winding_posters with a fixed text, namely 'Scrolling posters' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen & advertising!=flag & advertising!=tarp & advertising!=wall_painting & advertising!=sign & advertising!=board)", + "value": "winding_posters" + }, + { + "key": "animated", + "description": "Layer 'All advertentie wall paintings' shows animated=revolving with a fixed text, namely 'Rotates on itself' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen & advertising!=flag & advertising!=tarp & advertising!=wall_painting & advertising!=sign & advertising!=board)", + "value": "revolving" + }, + { + "key": "luminous", + "description": "Layer 'All advertentie wall paintings' shows luminous=neon with a fixed text, namely 'This is a neon-tube light' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen)", + "value": "neon" + }, + { + "key": "lit", + "description": "Layer 'All advertentie wall paintings' shows lit=yes & luminous=yes with a fixed text, namely 'This object both emits light and is lighted by an external light source' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen)", + "value": "yes" + }, + { + "key": "luminous", + "description": "Layer 'All advertentie wall paintings' shows lit=yes & luminous=yes with a fixed text, namely 'This object both emits light and is lighted by an external light source' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen)", + "value": "yes" + }, + { + "key": "luminous", + "description": "Layer 'All advertentie wall paintings' shows luminous=yes with a fixed text, namely 'This object emits light' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen)", + "value": "yes" + }, + { + "key": "lit", + "description": "Layer 'All advertentie wall paintings' shows lit=yes with a fixed text, namely 'This object is lit externally, e.g. by a spotlight or other lights' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen)", + "value": "yes" + }, + { + "key": "lit", + "description": "Layer 'All advertentie wall paintings' shows lit=no & luminous=no with a fixed text, namely 'This object does not emit light and is not lighted by externally' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen)", + "value": "no" + }, + { + "key": "luminous", + "description": "Layer 'All advertentie wall paintings' shows lit=no & luminous=no with a fixed text, namely 'This object does not emit light and is not lighted by externally' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=screen)", + "value": "no" + }, + { + "key": "operator", + "description": "Layer 'All advertentie wall paintings' shows and asks freeform values for key 'operator' (in the mapcomplete.org theme 'Ghost Signs')" + }, + { + "key": "message", + "description": "Layer 'All advertentie wall paintings' shows message=commercial with a fixed text, namely 'Commercial message' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "commercial" + }, + { + "key": "message", + "description": "Layer 'All advertentie wall paintings' shows message=local with a fixed text, namely 'Local information' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "local" + }, + { + "key": "message", + "description": "Layer 'All advertentie wall paintings' shows message=safety with a fixed text, namely 'Security information' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "safety" + }, + { + "key": "message", + "description": "Layer 'All advertentie wall paintings' shows message=political with a fixed text, namely 'Electoral advertising' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "political" + }, + { + "key": "message", + "description": "Layer 'All advertentie wall paintings' shows message=showbiz with a fixed text, namely 'Information related to theatre, concerts, …' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "showbiz" + }, + { + "key": "message", + "description": "Layer 'All advertentie wall paintings' shows message=non_profit with a fixed text, namely 'Message from non-profit organizations' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "non_profit" + }, + { + "key": "message", + "description": "Layer 'All advertentie wall paintings' shows message=opinion with a fixed text, namely 'To express your opinion' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "opinion" + }, + { + "key": "message", + "description": "Layer 'All advertentie wall paintings' shows message=religion with a fixed text, namely 'Religious message' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "religion" + }, + { + "key": "message", + "description": "Layer 'All advertentie wall paintings' shows message=funding with a fixed text, namely 'Funding sign' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "funding" + }, + { + "key": "information", + "description": "Layer 'All advertentie wall paintings' shows information=map with a fixed text, namely 'A map' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs')", + "value": "map" + }, + { + "key": "sides", + "description": "Layer 'All advertentie wall paintings' shows sides=1 with a fixed text, namely 'This object has advertisements on a single side' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if _referencing_ways= & (advertising=poster_box | advertising=screen | advertising=billboard))", + "value": "1" + }, + { + "key": "sides", + "description": "Layer 'All advertentie wall paintings' shows sides=2 with a fixed text, namely 'This object has advertisements on both sides' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if _referencing_ways= & (advertising=poster_box | advertising=screen | advertising=billboard))", + "value": "2" + }, + { + "key": "ref", + "description": "Layer 'All advertentie wall paintings' shows and asks freeform values for key 'ref' (in the mapcomplete.org theme 'Ghost Signs') (This is only shown if advertising!=sign)" + } + ] +} \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_hackerspaces.json b/Docs/TagInfo/mapcomplete_hackerspaces.json index de7f2f3f8..a43124fa5 100644 --- a/Docs/TagInfo/mapcomplete_hackerspaces.json +++ b/Docs/TagInfo/mapcomplete_hackerspaces.json @@ -115,6 +115,11 @@ "description": "Layer 'Hackerspace' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Hackerspaces and makerspaces')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Hackerspace' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Hackerspaces and makerspaces')", + "value": "closed" + }, { "key": "service:3dprinter", "description": "Layer 'Hackerspace' shows service:3dprinter=yes with a fixed text, namely 'There is a 3D-printer available at this hackerspace' and allows to pick this as a default answer (in the mapcomplete.org theme 'Hackerspaces and makerspaces')", diff --git a/Docs/TagInfo/mapcomplete_healthcare.json b/Docs/TagInfo/mapcomplete_healthcare.json index 2ff609ed7..e6ec22fc2 100644 --- a/Docs/TagInfo/mapcomplete_healthcare.json +++ b/Docs/TagInfo/mapcomplete_healthcare.json @@ -45,7 +45,7 @@ }, { "key": "opening_hours", - "description": "Layer 'Doctors' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare')", + "description": "Layer 'Doctors' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' (in the mapcomplete.org theme 'Healthcare')", "value": "\"by appointment\"" }, { @@ -135,7 +135,7 @@ }, { "key": "opening_hours", - "description": "Layer 'Physiotherapist' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare')", + "description": "Layer 'Physiotherapist' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' (in the mapcomplete.org theme 'Healthcare')", "value": "\"by appointment\"" }, { @@ -195,6 +195,11 @@ "key": "opening_hours", "description": "Layer 'Dentist' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Healthcare')" }, + { + "key": "opening_hours", + "description": "Layer 'Dentist' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Healthcare')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Dentist' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Healthcare')" @@ -312,6 +317,11 @@ "key": "opening_hours", "description": "Layer 'Pharmacies' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Healthcare')" }, + { + "key": "opening_hours", + "description": "Layer 'Pharmacies' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Healthcare')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Pharmacies' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Healthcare')" @@ -1247,6 +1257,11 @@ "key": "opening_hours", "description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Healthcare')" }, + { + "key": "opening_hours", + "description": "Layer 'Shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Healthcare')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Shop' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Healthcare')" diff --git a/Docs/TagInfo/mapcomplete_icecream.json b/Docs/TagInfo/mapcomplete_icecream.json index 7cf2c23ee..eb2345cae 100644 --- a/Docs/TagInfo/mapcomplete_icecream.json +++ b/Docs/TagInfo/mapcomplete_icecream.json @@ -43,6 +43,11 @@ "key": "opening_hours", "description": "Layer 'Ice cream parlors' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Icecream')" }, + { + "key": "opening_hours", + "description": "Layer 'Ice cream parlors' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Icecream')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Ice cream parlors' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Icecream')" diff --git a/Docs/TagInfo/mapcomplete_indoors.json b/Docs/TagInfo/mapcomplete_indoors.json index 2a3ac9679..295bb81af 100644 --- a/Docs/TagInfo/mapcomplete_indoors.json +++ b/Docs/TagInfo/mapcomplete_indoors.json @@ -302,6 +302,11 @@ "description": "Layer 'Indoors' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Indoors') (This is only shown if amenity=toilets & access!=no)", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Indoors' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Indoors') (This is only shown if amenity=toilets & access!=no)", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Indoors' shows wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Indoors') (This is only shown if amenity=toilets)", diff --git a/Docs/TagInfo/mapcomplete_memorials.json b/Docs/TagInfo/mapcomplete_memorials.json new file mode 100644 index 000000000..2f6fd10aa --- /dev/null +++ b/Docs/TagInfo/mapcomplete_memorials.json @@ -0,0 +1,557 @@ +{ + "data_format": 1, + "project": { + "name": "MapComplete Memorials", + "description": "Memorials are physical objects permantently placed in the public space to remember a person or event", + "project_url": "https://mapcomplete.org/memorials", + "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", + "icon_url": "https://mapcomplete.org/assets/layers/memorial/memorial.svg", + "contact_name": "Pieter Vander Vennet", + "contact_email": "pietervdvn@posteo.net" + }, + "tags": [ + { + "key": "memorial", + "description": "The MapComplete theme Memorials has a layer Ghost bikes showing features with this tag", + "value": "ghost_bike" + }, + { + "key": "id", + "description": "Layer 'Ghost bikes' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Memorials') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Ghost bikes allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Ghost bikes allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Ghost bikes allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Ghost bikes allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "subject", + "description": "Layer 'Ghost bikes' shows and asks freeform values for key 'subject' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "name", + "description": "Layer 'Ghost bikes' shows name~.+ with a fixed text, namely 'In remembrance of {name}' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "noname", + "description": "Layer 'Ghost bikes' shows noname=yes with a fixed text, namely 'No name is marked on the bike' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "yes" + }, + { + "key": "source", + "description": "Layer 'Ghost bikes' shows and asks freeform values for key 'source' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "inscription", + "description": "Layer 'Ghost bikes' shows and asks freeform values for key 'inscription' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "start_date", + "description": "Layer 'Ghost bikes' shows and asks freeform values for key 'start_date' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "memorial", + "description": "The MapComplete theme Memorials has a layer Memorials showing features with this tag" + }, + { + "key": "historic", + "description": "The MapComplete theme Memorials has a layer Memorials showing features with this tag", + "value": "memorial" + }, + { + "key": "id", + "description": "Layer 'Memorials' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Memorials') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Memorials allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Memorials allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Memorials allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Memorials allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "memorial", + "description": "Layer 'Memorials' shows memorial=statue with a fixed text, namely 'This is a statue' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "statue" + }, + { + "key": "memorial", + "description": "Layer 'Memorials' shows memorial=plaque with a fixed text, namely 'This is a plaque' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "plaque" + }, + { + "key": "memorial", + "description": "Layer 'Memorials' shows memorial=bench with a fixed text, namely 'This is a commemorative bench' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "bench" + }, + { + "key": "memorial", + "description": "Layer 'Memorials' shows memorial=ghost_bike with a fixed text, namely 'This is a ghost bike - a bicycle painted white to remember a cyclist whom deceased because of a car crash' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "ghost_bike" + }, + { + "key": "inscription", + "description": "Layer 'Memorials' shows and asks freeform values for key 'inscription' (in the mapcomplete.org theme 'Memorials') (This is only shown if memorial!=bench)" + }, + { + "key": "not:inscription", + "description": "Layer 'Memorials' shows not:inscription=yes with a fixed text, namely 'This memorial does not have an inscription' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if memorial!=bench)", + "value": "yes" + }, + { + "key": "wikidata", + "description": "Layer 'Memorials' shows and asks freeform values for key 'wikidata' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "subject:wikidata", + "description": "Layer 'Memorials' shows and asks freeform values for key 'subject:wikidata' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "start_date", + "description": "Layer 'Memorials' shows and asks freeform values for key 'start_date' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "backrest", + "description": "Layer 'Memorials' shows backrest=yes & two_sided=yes with a fixed text, namely 'This bench is two-sided and shares the backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "yes" + }, + { + "key": "two_sided", + "description": "Layer 'Memorials' shows backrest=yes & two_sided=yes with a fixed text, namely 'This bench is two-sided and shares the backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "yes" + }, + { + "key": "backrest", + "description": "Layer 'Memorials' shows backrest=yes with a fixed text, namely 'Does have a backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "yes" + }, + { + "key": "backrest", + "description": "Layer 'Memorials' shows backrest=no with a fixed text, namely 'Does not have a backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "no" + }, + { + "key": "seats", + "description": "Layer 'Memorials' shows and asks freeform values for key 'seats' (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)" + }, + { + "key": "seats:separated", + "description": "Layer 'Memorials' shows seats:separated=no with a fixed text, namely 'This bench does not have separated seats' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "no" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows and asks freeform values for key 'material' (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=wood with a fixed text, namely 'The seating is made from wood' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "wood" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=metal with a fixed text, namely 'The seating is made from metal' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "metal" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=stone with a fixed text, namely 'The seating is made from stone' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "stone" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=concrete with a fixed text, namely 'The seating is made from concrete' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "concrete" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=plastic with a fixed text, namely 'The seating is made from plastic' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "plastic" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=steel with a fixed text, namely 'The seating is made from steel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "steel" + }, + { + "key": "direction", + "description": "Layer 'Memorials' shows and asks freeform values for key 'direction' (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench & two_sided!=yes)" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows and asks freeform values for key 'colour' (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=brown with a fixed text, namely 'Colour: brown' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "brown" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=green with a fixed text, namely 'Colour: green' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "green" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=gray with a fixed text, namely 'Colour: gray' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "gray" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=white with a fixed text, namely 'Colour: white' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "white" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=red with a fixed text, namely 'Colour: red' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "red" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=black with a fixed text, namely 'Colour: black' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "black" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=blue with a fixed text, namely 'Colour: blue' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "blue" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=yellow with a fixed text, namely 'Colour: yellow' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "yellow" + }, + { + "key": "survey:date", + "description": "Layer 'Memorials' shows and asks freeform values for key 'survey:date' (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)" + }, + { + "key": "survey:date", + "description": "Layer 'Memorials' shows survey:date= with a fixed text, namely 'Surveyed today!' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') Picking this answer will delete the key survey:date. (This is only shown if amenity=bench)", + "value": "" + }, + { + "key": "inscription", + "description": "Layer 'Memorials' shows and asks freeform values for key 'inscription' (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)" + }, + { + "key": "not:inscription", + "description": "Layer 'Memorials' shows not:inscription=yes with a fixed text, namely 'This bench does not have an inscription' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench)", + "value": "yes" + }, + { + "key": "inscription", + "description": "Layer 'Memorials' shows inscription= with a fixed text, namely 'This bench does (probably) not have an inscription' (in the mapcomplete.org theme 'Memorials') Picking this answer will delete the key inscription. (This is only shown if amenity=bench)", + "value": "" + }, + { + "key": "historic", + "description": "Layer 'Memorials' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench & (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", + "value": "memorial" + }, + { + "key": "historic", + "description": "Layer 'Memorials' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') Picking this answer will delete the key historic. (This is only shown if amenity=bench & (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", + "value": "" + }, + { + "key": "not:historic", + "description": "Layer 'Memorials' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if amenity=bench & (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", + "value": "memorial" + }, + { + "key": "amenity", + "description": "The MapComplete theme Memorials has a layer Benches showing features with this tag", + "value": "bench" + }, + { + "key": "id", + "description": "Layer 'Benches' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Memorials') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Benches allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Benches allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Benches allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Benches allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "backrest", + "description": "Layer 'Benches' shows backrest=yes & two_sided=yes with a fixed text, namely 'This bench is two-sided and shares the backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "yes" + }, + { + "key": "two_sided", + "description": "Layer 'Benches' shows backrest=yes & two_sided=yes with a fixed text, namely 'This bench is two-sided and shares the backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "yes" + }, + { + "key": "backrest", + "description": "Layer 'Benches' shows backrest=yes with a fixed text, namely 'Does have a backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "yes" + }, + { + "key": "backrest", + "description": "Layer 'Benches' shows backrest=no with a fixed text, namely 'Does not have a backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "no" + }, + { + "key": "seats", + "description": "Layer 'Benches' shows and asks freeform values for key 'seats' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "seats:separated", + "description": "Layer 'Benches' shows seats:separated=no with a fixed text, namely 'This bench does not have separated seats' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "no" + }, + { + "key": "material", + "description": "Layer 'Benches' shows and asks freeform values for key 'material' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "material", + "description": "Layer 'Benches' shows material=wood with a fixed text, namely 'The seating is made from wood' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "wood" + }, + { + "key": "material", + "description": "Layer 'Benches' shows material=metal with a fixed text, namely 'The seating is made from metal' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "metal" + }, + { + "key": "material", + "description": "Layer 'Benches' shows material=stone with a fixed text, namely 'The seating is made from stone' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "stone" + }, + { + "key": "material", + "description": "Layer 'Benches' shows material=concrete with a fixed text, namely 'The seating is made from concrete' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "concrete" + }, + { + "key": "material", + "description": "Layer 'Benches' shows material=plastic with a fixed text, namely 'The seating is made from plastic' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "plastic" + }, + { + "key": "material", + "description": "Layer 'Benches' shows material=steel with a fixed text, namely 'The seating is made from steel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "steel" + }, + { + "key": "direction", + "description": "Layer 'Benches' shows and asks freeform values for key 'direction' (in the mapcomplete.org theme 'Memorials') (This is only shown if two_sided!=yes)" + }, + { + "key": "colour", + "description": "Layer 'Benches' shows and asks freeform values for key 'colour' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "colour", + "description": "Layer 'Benches' shows colour=brown with a fixed text, namely 'Colour: brown' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "brown" + }, + { + "key": "colour", + "description": "Layer 'Benches' shows colour=green with a fixed text, namely 'Colour: green' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "green" + }, + { + "key": "colour", + "description": "Layer 'Benches' shows colour=gray with a fixed text, namely 'Colour: gray' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "gray" + }, + { + "key": "colour", + "description": "Layer 'Benches' shows colour=white with a fixed text, namely 'Colour: white' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "white" + }, + { + "key": "colour", + "description": "Layer 'Benches' shows colour=red with a fixed text, namely 'Colour: red' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "red" + }, + { + "key": "colour", + "description": "Layer 'Benches' shows colour=black with a fixed text, namely 'Colour: black' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "black" + }, + { + "key": "colour", + "description": "Layer 'Benches' shows colour=blue with a fixed text, namely 'Colour: blue' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "blue" + }, + { + "key": "colour", + "description": "Layer 'Benches' shows colour=yellow with a fixed text, namely 'Colour: yellow' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "yellow" + }, + { + "key": "survey:date", + "description": "Layer 'Benches' shows and asks freeform values for key 'survey:date' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "survey:date", + "description": "Layer 'Benches' shows survey:date= with a fixed text, namely 'Surveyed today!' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') Picking this answer will delete the key survey:date.", + "value": "" + }, + { + "key": "inscription", + "description": "Layer 'Benches' shows and asks freeform values for key 'inscription' (in the mapcomplete.org theme 'Memorials')" + }, + { + "key": "not:inscription", + "description": "Layer 'Benches' shows not:inscription=yes with a fixed text, namely 'This bench does not have an inscription' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "yes" + }, + { + "key": "inscription", + "description": "Layer 'Benches' shows inscription= with a fixed text, namely 'This bench does (probably) not have an inscription' (in the mapcomplete.org theme 'Memorials') Picking this answer will delete the key inscription.", + "value": "" + }, + { + "key": "tourism", + "description": "Layer 'Benches' shows tourism=artwork with a fixed text, namely 'This bench has an integrated artwork' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "artwork" + }, + { + "key": "not:tourism:artwork", + "description": "Layer 'Benches' shows not:tourism:artwork=yes with a fixed text, namely 'This bench does not have an integrated artwork' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials')", + "value": "yes" + }, + { + "key": "tourism", + "description": "Layer 'Benches' shows tourism= with a fixed text, namely 'This bench probably doesn't have an integrated artwork' (in the mapcomplete.org theme 'Memorials') Picking this answer will delete the key tourism.", + "value": "" + }, + { + "key": "historic", + "description": "Layer 'Benches' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", + "value": "memorial" + }, + { + "key": "historic", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') Picking this answer will delete the key historic. (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", + "value": "" + }, + { + "key": "not:historic", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", + "value": "memorial" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows and asks freeform values for key 'artwork_type' (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=architecture with a fixed text, namely 'Architecture' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "architecture" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=mural with a fixed text, namely 'Mural' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "mural" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=painting with a fixed text, namely 'Painting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "painting" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=sculpture with a fixed text, namely 'Sculpture' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "sculpture" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=statue with a fixed text, namely 'Statue' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "statue" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=bust with a fixed text, namely 'Bust' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "bust" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=stone with a fixed text, namely 'Stone' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "stone" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=installation with a fixed text, namely 'Installation' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "installation" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=graffiti with a fixed text, namely 'Graffiti' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "graffiti" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=relief with a fixed text, namely 'Relief' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "relief" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=azulejo with a fixed text, namely 'Azulejo (Spanish decorative tilework)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "azulejo" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=tilework with a fixed text, namely 'Tilework' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "tilework" + }, + { + "key": "artwork_type", + "description": "Layer 'Benches' shows artwork_type=woodcarving with a fixed text, namely 'Woodcarving' and allows to pick this as a default answer (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)", + "value": "woodcarving" + }, + { + "key": "artist:wikidata", + "description": "Layer 'Benches' shows and asks freeform values for key 'artist:wikidata' (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)" + }, + { + "key": "artist_name", + "description": "Layer 'Benches' shows and asks freeform values for key 'artist_name' (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)" + }, + { + "key": "website", + "description": "Layer 'Benches' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)" + }, + { + "key": "subject:wikidata", + "description": "Layer 'Benches' shows and asks freeform values for key 'subject:wikidata' (in the mapcomplete.org theme 'Memorials') (This is only shown if tourism=artwork)" + } + ] +} \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_nature.json b/Docs/TagInfo/mapcomplete_nature.json index 488fa0c92..d84fe1c7e 100644 --- a/Docs/TagInfo/mapcomplete_nature.json +++ b/Docs/TagInfo/mapcomplete_nature.json @@ -127,6 +127,11 @@ "description": "Layer 'Drinking water' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Drinking water' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Into nature')", + "value": "closed" + }, { "key": "tourism", "description": "Layer 'Drinking water' shows tourism=artwork with a fixed text, namely 'This drinking water point has an integrated artwork' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", @@ -838,17 +843,17 @@ }, { "key": "historic", - "description": "Layer 'Benches' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature') (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "memorial" }, { "key": "historic", - "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature') Picking this answer will delete the key historic. (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature') Picking this answer will delete the key historic. (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "" }, { "key": "not:historic", - "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature') (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "memorial" }, { @@ -1150,6 +1155,11 @@ "description": "Layer 'Toilets' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature') (This is only shown if access!=no)", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Toilets' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Into nature') (This is only shown if access!=no)", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Toilets' shows wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", @@ -1350,6 +1360,22 @@ "key": "id", "description": "Layer 'Shelter' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Into nature') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" }, + { + "key": "image", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, { "key": "shelter_type", "description": "Layer 'Shelter' shows and asks freeform values for key 'shelter_type' (in the mapcomplete.org theme 'Into nature')" diff --git a/Docs/TagInfo/mapcomplete_onwheels.json b/Docs/TagInfo/mapcomplete_onwheels.json index cb25b60b9..f23c75ed4 100644 --- a/Docs/TagInfo/mapcomplete_onwheels.json +++ b/Docs/TagInfo/mapcomplete_onwheels.json @@ -122,6 +122,11 @@ "key": "opening_hours", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'OnWheels')" }, + { + "key": "opening_hours", + "description": "Layer 'Cafés and pubs' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'OnWheels')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'OnWheels')" @@ -568,6 +573,11 @@ "key": "opening_hours", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'OnWheels')" }, + { + "key": "opening_hours", + "description": "Layer 'Restaurants and fast food' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'OnWheels')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'OnWheels')" @@ -2191,6 +2201,11 @@ "key": "opening_hours", "description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'OnWheels')" }, + { + "key": "opening_hours", + "description": "Layer 'Shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'OnWheels')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Shop' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'OnWheels')" @@ -2569,6 +2584,11 @@ "description": "Layer 'Toilets' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels') (This is only shown if access!=no)", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Toilets' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'OnWheels') (This is only shown if access!=no)", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Toilets' shows wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels')", @@ -2743,6 +2763,11 @@ "key": "opening_hours", "description": "Layer 'Pharmacies' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'OnWheels')" }, + { + "key": "opening_hours", + "description": "Layer 'Pharmacies' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'OnWheels')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Pharmacies' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'OnWheels')" @@ -2817,7 +2842,7 @@ }, { "key": "opening_hours", - "description": "Layer 'Doctors' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels')", + "description": "Layer 'Doctors' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' (in the mapcomplete.org theme 'OnWheels')", "value": "\"by appointment\"" }, { diff --git a/Docs/TagInfo/mapcomplete_parkings.json b/Docs/TagInfo/mapcomplete_parkings.json index 74f7bb3cc..111eda65b 100644 --- a/Docs/TagInfo/mapcomplete_parkings.json +++ b/Docs/TagInfo/mapcomplete_parkings.json @@ -177,11 +177,6 @@ "description": "Layer 'Parking Spaces' shows parking_space=disabled with a fixed text, namely 'This is a disabled parking space.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking')", "value": "disabled" }, - { - "key": "parking_space", - "description": "Layer 'Parking Spaces' shows parking_space=private with a fixed text, namely 'This is a private parking space.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking')", - "value": "private" - }, { "key": "parking_space", "description": "Layer 'Parking Spaces' shows parking_space=charging with a fixed text, namely 'This is parking space reserved for charging vehicles.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking')", @@ -1343,6 +1338,11 @@ "description": "Layer 'Charging stations' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Charging stations' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Parking')", + "value": "closed" + }, { "key": "fee", "description": "Layer 'Charging stations' shows fee=no & fee:conditional= & charge= & authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking')", diff --git a/Docs/TagInfo/mapcomplete_personal.json b/Docs/TagInfo/mapcomplete_personal.json index 5f1249212..06d428c4c 100644 --- a/Docs/TagInfo/mapcomplete_personal.json +++ b/Docs/TagInfo/mapcomplete_personal.json @@ -312,6 +312,11 @@ "key": "opening_hours", "description": "Layer 'Aerialways' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Aerialways' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "oneway", "description": "Layer 'Aerialways' shows oneway=yes with a fixed text, namely 'This aerialway can only be taken to the top' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -764,6 +769,11 @@ "description": "Layer 'ATMs' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'ATMs' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "cash_out", "description": "Layer 'ATMs' shows cash_out= with a fixed text, namely 'You can withdraw cash from this ATM' (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key cash_out.", @@ -1166,17 +1176,17 @@ }, { "key": "historic", - "description": "Layer 'Benches' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "memorial" }, { "key": "historic", - "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key historic. (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key historic. (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "" }, { "key": "not:historic", - "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "memorial" }, { @@ -1375,6 +1385,11 @@ "key": "opening_hours", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle library' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "charge", "description": "Layer 'Bicycle library' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Personal theme')" @@ -1524,6 +1539,11 @@ "key": "opening_hours", "description": "Layer 'Bicycle rental' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop~.+ | opening_hours~.+)" }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle rental' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop~.+ | opening_hours~.+)", + "value": "closed" + }, { "key": "payment:cash", "description": "Layer 'Bicycle rental' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if shop~.+)", @@ -1903,6 +1923,11 @@ "key": "opening_hours", "description": "Layer 'Bike cafe' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Bike cafe' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "service:bicycle:cleaning", "description": "The MapComplete theme Personal theme has a layer Bike cleaning service showing features with this tag", @@ -2117,6 +2142,11 @@ "description": "Layer 'Bike parking' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Bike parking' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "operator:phone", "description": "Layer 'Bike parking' shows and asks freeform values for key 'operator:phone' (in the mapcomplete.org theme 'Personal theme')" @@ -2222,6 +2252,11 @@ "description": "Layer 'Bicycle pump and repair' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Bicycle pump and repair' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "access", "description": "Layer 'Bicycle pump and repair' shows access=yes with a fixed text, namely 'Publicly accessible' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -2434,6 +2469,11 @@ "key": "opening_hours", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Bike repair/shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "access", "description": "Layer 'Bike repair/shop' shows values with key 'access' (in the mapcomplete.org theme 'Personal theme')" @@ -2730,6 +2770,11 @@ "key": "opening_hours", "description": "Layer 'Bike-related object' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Bike-related object' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "amenity", "description": "The MapComplete theme Personal theme has a layer Binoculars showing features with this tag", @@ -2999,6 +3044,11 @@ "key": "opening_hours", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Cafés and pubs' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Personal theme')" @@ -4049,6 +4099,11 @@ "description": "Layer 'Charging stations' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Charging stations' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "fee", "description": "Layer 'Charging stations' shows fee=no & fee:conditional= & charge= & authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -4588,6 +4643,11 @@ "key": "opening_hours", "description": "Layer 'Climbing club' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Climbing club' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "sport", "description": "The MapComplete theme Personal theme has a layer Climbing gyms showing features with this tag", @@ -4684,6 +4744,11 @@ "key": "opening_hours", "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Climbing gyms' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "service:climbing_shoes:rental", "description": "Layer 'Climbing gyms' shows service:climbing_shoes:rental=yes & service:climbing_shoes:rental:fee=no with a fixed text, namely 'Climbing shoes can be borrowed for free here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -6120,6 +6185,11 @@ "description": "Layer 'Defibrillators' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Defibrillators' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "description", "description": "Layer 'Defibrillators' shows and asks freeform values for key 'description' (in the mapcomplete.org theme 'Personal theme')" @@ -6166,6 +6236,11 @@ "key": "opening_hours", "description": "Layer 'Dentist' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Dentist' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Dentist' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Personal theme')" @@ -6266,7 +6341,7 @@ }, { "key": "opening_hours", - "description": "Layer 'Doctors' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "description": "Layer 'Doctors' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' (in the mapcomplete.org theme 'Personal theme')", "value": "\"by appointment\"" }, { @@ -6497,6 +6572,11 @@ "description": "Layer 'Drinking water' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Drinking water' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "tourism", "description": "Layer 'Drinking water' shows tourism=artwork with a fixed text, namely 'This drinking water point has an integrated artwork' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -6720,8 +6800,7 @@ }, { "key": "vending", - "description": "The MapComplete theme Personal theme has a layer Penny Presses showing features with this tag", - "value": "elongated_coin" + "description": "The MapComplete theme Personal theme has a layer Penny Presses showing features with this tag" }, { "key": "id", @@ -6752,6 +6831,11 @@ "description": "Layer 'Penny Presses' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Penny Presses' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "coin:design_count", "description": "Layer 'Penny Presses' shows and asks freeform values for key 'coin:design_count' (in the mapcomplete.org theme 'Personal theme')" @@ -7488,6 +7572,11 @@ "key": "opening_hours", "description": "Layer 'Fitness Centres' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Fitness Centres' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Fitness Centres' shows wheelchair=designated with a fixed text, namely 'This place is specially adapted for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -7709,6 +7798,11 @@ "description": "Layer 'Fitness Stations' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Fitness Stations' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "fixme", "description": "The MapComplete theme Personal theme has a layer OSM objects with FIXME tags showing features with this tag" @@ -7778,6 +7872,11 @@ "key": "opening_hours", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Restaurants and fast food' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Personal theme')" @@ -8552,6 +8651,11 @@ "description": "Layer 'Hackerspace' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Hackerspace' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "service:3dprinter", "description": "Layer 'Hackerspace' shows service:3dprinter=yes with a fixed text, namely 'There is a 3D-printer available at this hackerspace' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -9051,6 +9155,11 @@ "key": "opening_hours", "description": "Layer 'Ice cream parlors' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Ice cream parlors' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Ice cream parlors' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Personal theme')" @@ -9482,6 +9591,11 @@ "description": "Layer 'Indoors' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=toilets & access!=no)", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Indoors' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=toilets & access!=no)", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Indoors' shows wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=toilets)", @@ -9735,6 +9849,11 @@ "key": "opening_hours", "description": "Layer 'Kindergartens and childcare' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=childcare)" }, + { + "key": "opening_hours", + "description": "Layer 'Kindergartens and childcare' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=childcare)", + "value": "closed" + }, { "key": "capacity", "description": "Layer 'Kindergartens and childcare' shows and asks freeform values for key 'capacity' (in the mapcomplete.org theme 'Personal theme')" @@ -9989,6 +10108,225 @@ "description": "Layer 'Maxspeed' shows highway=living_street & _country=be with a fixed text, namely 'This is a living street, which has a maxspeed of 20km/h' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "living_street" }, + { + "key": "memorial", + "description": "The MapComplete theme Personal theme has a layer Memorials showing features with this tag" + }, + { + "key": "historic", + "description": "The MapComplete theme Personal theme has a layer Memorials showing features with this tag", + "value": "memorial" + }, + { + "key": "id", + "description": "Layer 'Memorials' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Personal theme') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Memorials allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Memorials allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Memorials allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Memorials allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "memorial", + "description": "Layer 'Memorials' shows memorial=statue with a fixed text, namely 'This is a statue' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "statue" + }, + { + "key": "memorial", + "description": "Layer 'Memorials' shows memorial=plaque with a fixed text, namely 'This is a plaque' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "plaque" + }, + { + "key": "memorial", + "description": "Layer 'Memorials' shows memorial=bench with a fixed text, namely 'This is a commemorative bench' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "bench" + }, + { + "key": "memorial", + "description": "Layer 'Memorials' shows memorial=ghost_bike with a fixed text, namely 'This is a ghost bike - a bicycle painted white to remember a cyclist whom deceased because of a car crash' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "ghost_bike" + }, + { + "key": "inscription", + "description": "Layer 'Memorials' shows and asks freeform values for key 'inscription' (in the mapcomplete.org theme 'Personal theme') (This is only shown if memorial!=bench)" + }, + { + "key": "not:inscription", + "description": "Layer 'Memorials' shows not:inscription=yes with a fixed text, namely 'This memorial does not have an inscription' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if memorial!=bench)", + "value": "yes" + }, + { + "key": "wikidata", + "description": "Layer 'Memorials' shows and asks freeform values for key 'wikidata' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "subject:wikidata", + "description": "Layer 'Memorials' shows and asks freeform values for key 'subject:wikidata' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "start_date", + "description": "Layer 'Memorials' shows and asks freeform values for key 'start_date' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "backrest", + "description": "Layer 'Memorials' shows backrest=yes & two_sided=yes with a fixed text, namely 'This bench is two-sided and shares the backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "yes" + }, + { + "key": "two_sided", + "description": "Layer 'Memorials' shows backrest=yes & two_sided=yes with a fixed text, namely 'This bench is two-sided and shares the backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "yes" + }, + { + "key": "backrest", + "description": "Layer 'Memorials' shows backrest=yes with a fixed text, namely 'Does have a backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "yes" + }, + { + "key": "backrest", + "description": "Layer 'Memorials' shows backrest=no with a fixed text, namely 'Does not have a backrest' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "no" + }, + { + "key": "seats", + "description": "Layer 'Memorials' shows and asks freeform values for key 'seats' (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)" + }, + { + "key": "seats:separated", + "description": "Layer 'Memorials' shows seats:separated=no with a fixed text, namely 'This bench does not have separated seats' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "no" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows and asks freeform values for key 'material' (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=wood with a fixed text, namely 'The seating is made from wood' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "wood" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=metal with a fixed text, namely 'The seating is made from metal' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "metal" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=stone with a fixed text, namely 'The seating is made from stone' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "stone" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=concrete with a fixed text, namely 'The seating is made from concrete' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "concrete" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=plastic with a fixed text, namely 'The seating is made from plastic' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "plastic" + }, + { + "key": "material", + "description": "Layer 'Memorials' shows material=steel with a fixed text, namely 'The seating is made from steel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "steel" + }, + { + "key": "direction", + "description": "Layer 'Memorials' shows and asks freeform values for key 'direction' (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench & two_sided!=yes)" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows and asks freeform values for key 'colour' (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=brown with a fixed text, namely 'Colour: brown' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "brown" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=green with a fixed text, namely 'Colour: green' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "green" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=gray with a fixed text, namely 'Colour: gray' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "gray" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=white with a fixed text, namely 'Colour: white' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "white" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=red with a fixed text, namely 'Colour: red' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "red" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=black with a fixed text, namely 'Colour: black' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "black" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=blue with a fixed text, namely 'Colour: blue' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "blue" + }, + { + "key": "colour", + "description": "Layer 'Memorials' shows colour=yellow with a fixed text, namely 'Colour: yellow' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "yellow" + }, + { + "key": "survey:date", + "description": "Layer 'Memorials' shows and asks freeform values for key 'survey:date' (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)" + }, + { + "key": "survey:date", + "description": "Layer 'Memorials' shows survey:date= with a fixed text, namely 'Surveyed today!' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key survey:date. (This is only shown if amenity=bench)", + "value": "" + }, + { + "key": "inscription", + "description": "Layer 'Memorials' shows and asks freeform values for key 'inscription' (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)" + }, + { + "key": "not:inscription", + "description": "Layer 'Memorials' shows not:inscription=yes with a fixed text, namely 'This bench does not have an inscription' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench)", + "value": "yes" + }, + { + "key": "inscription", + "description": "Layer 'Memorials' shows inscription= with a fixed text, namely 'This bench does (probably) not have an inscription' (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key inscription. (This is only shown if amenity=bench)", + "value": "" + }, + { + "key": "historic", + "description": "Layer 'Memorials' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench & (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", + "value": "memorial" + }, + { + "key": "historic", + "description": "Layer 'Memorials' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key historic. (This is only shown if amenity=bench & (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", + "value": "" + }, + { + "key": "not:historic", + "description": "Layer 'Memorials' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if amenity=bench & (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", + "value": "memorial" + }, { "key": "emergency", "description": "The MapComplete theme Personal theme has a layer Mountain rescue stations showing features with this tag", @@ -10404,6 +10742,11 @@ "description": "Layer 'Parcel Lockers' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Parcel Lockers' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "ref", "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'ref' (in the mapcomplete.org theme 'Personal theme')" @@ -10595,11 +10938,6 @@ "description": "Layer 'Parking Spaces' shows parking_space=disabled with a fixed text, namely 'This is a disabled parking space.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "disabled" }, - { - "key": "parking_space", - "description": "Layer 'Parking Spaces' shows parking_space=private with a fixed text, namely 'This is a private parking space.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", - "value": "private" - }, { "key": "parking_space", "description": "Layer 'Parking Spaces' shows parking_space=charging with a fixed text, namely 'This is parking space reserved for charging vehicles.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -10927,6 +11265,11 @@ "key": "opening_hours", "description": "Layer 'Pharmacies' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Pharmacies' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Pharmacies' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Personal theme')" @@ -11001,7 +11344,7 @@ }, { "key": "opening_hours", - "description": "Layer 'Physiotherapist' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "description": "Layer 'Physiotherapist' shows opening_hours=\"by appointment\" with a fixed text, namely 'Only by appointment' (in the mapcomplete.org theme 'Personal theme')", "value": "\"by appointment\"" }, { @@ -11290,6 +11633,164 @@ "description": "Layer 'Playgrounds' shows check_date= with a fixed text, namely 'This object was last checked today' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key check_date.", "value": "" }, + { + "key": "playground", + "description": "The MapComplete theme Personal theme has a layer Playground equipment showing features with this tag" + }, + { + "key": "id", + "description": "Layer 'Playground equipment' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Personal theme') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Playground equipment allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Playground equipment allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Playground equipment allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Playground equipment allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows and asks freeform values for key 'playground' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=swing with a fixed text, namely 'This is a swing' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "swing" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=structure with a fixed text, namely 'This is a structure consisting of several connected playground devices' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "structure" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=slide with a fixed text, namely 'This is a slide' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "slide" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=sandpit with a fixed text, namely 'This is a sand pit' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "sandpit" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=springy with a fixed text, namely 'This is a spring rider' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "springy" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=climbingframe with a fixed text, namely 'This is a climbing frame' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "climbingframe" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=seesaw with a fixed text, namely 'This is a seesaw' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "seesaw" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=playhouse with a fixed text, namely 'This is a playhouse' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "playhouse" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=roundabout with a fixed text, namely 'This is a roundabout' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "roundabout" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=basketswing with a fixed text, namely 'This is a basket swing' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "basketswing" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=zipwire with a fixed text, namely 'This is a zip wire' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "zipwire" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=horizontal_bar with a fixed text, namely 'This is a horizontal bar' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "horizontal_bar" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=hopscotch with a fixed text, namely 'This is a hopscotch' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "hopscotch" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=splash_pad with a fixed text, namely 'This is a splash pad' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "splash_pad" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=climbingwall with a fixed text, namely 'This is a climbing wall' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "climbingwall" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=map with a fixed text, namely 'This is a map' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "map" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=bridge with a fixed text, namely 'This is a bridge (either as a standalone device or as part of a larger structure)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "bridge" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=cushion with a fixed text, namely 'This is a bouncy cushion' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "cushion" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=activitypanel with a fixed text, namely 'This is an activity panel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "activitypanel" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=teenshelter with a fixed text, namely 'This is a teen shelter' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "teenshelter" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=funnel_ball with a fixed text, namely 'This is a funnel used to play with funnel ball' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "funnel_ball" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=spinning_circle with a fixed text, namely 'This is a spinning circle' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "spinning_circle" + }, + { + "key": "wheelchair", + "description": "Layer 'Playground equipment' shows wheelchair=designated with a fixed text, namely 'This place is specially adapted for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "designated" + }, + { + "key": "wheelchair", + "description": "Layer 'Playground equipment' shows wheelchair=yes with a fixed text, namely 'This place is easily reachable with a wheelchair' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "wheelchair", + "description": "Layer 'Playground equipment' shows wheelchair=limited with a fixed text, namely 'It is possible to reach this place in a wheelchair, but it is not easy' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "limited" + }, + { + "key": "wheelchair", + "description": "Layer 'Playground equipment' shows wheelchair=no with a fixed text, namely 'This place is not reachable with a wheelchair' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, { "key": "amenity", "description": "The MapComplete theme Personal theme has a layer Postboxes showing features with this tag", @@ -11349,6 +11850,11 @@ "key": "opening_hours", "description": "Layer 'Post offices' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Post offices' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "post_office", "description": "Layer 'Post offices' shows post_office=post_partner with a fixed text, namely 'This shop is a post partner' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if post_office=post_partner)", @@ -11979,6 +12485,11 @@ "description": "Layer 'Recycling' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Recycling' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "access", "description": "Layer 'Recycling' shows and asks freeform values for key 'access' (in the mapcomplete.org theme 'Personal theme')" @@ -12161,6 +12672,22 @@ "key": "id", "description": "Layer 'Shelter' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Personal theme') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" }, + { + "key": "image", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, { "key": "shelter_type", "description": "Layer 'Shelter' shows and asks freeform values for key 'shelter_type' (in the mapcomplete.org theme 'Personal theme')" @@ -13081,6 +13608,11 @@ "key": "opening_hours", "description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Shop' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Personal theme')" @@ -13405,6 +13937,11 @@ "key": "opening_hours", "description": "Layer 'Shower' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Shower' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "hot_water", "description": "Layer 'Shower' shows hot_water=yes with a fixed text, namely 'Hot water is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -13515,6 +14052,495 @@ "description": "Layer 'Ski and snowboard pistes' shows piste:difficulty=freeride with a fixed text, namely 'Freeride' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if piste:type!=connection)", "value": "freeride" }, + { + "key": "amenity", + "description": "The MapComplete theme Personal theme has a layer Souvenir Coin Machines showing features with this tag", + "value": "vending_machine" + }, + { + "key": "vending", + "description": "The MapComplete theme Personal theme has a layer Souvenir Coin Machines showing features with this tag" + }, + { + "key": "id", + "description": "Layer 'Souvenir Coin Machines' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Personal theme') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Souvenir Coin Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Souvenir Coin Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Souvenir Coin Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Souvenir Coin Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Coin Machines' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "24/7" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Coin Machines' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'coin:design_count' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows coin:design_count=1 with a fixed text, namely 'This machine has one design available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "1" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows coin:design_count=2 with a fixed text, namely 'This machine has two designs available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "2" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows coin:design_count=3 with a fixed text, namely 'This machine has three designs available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "3" + }, + { + "key": "coin:design_count", + "description": "Layer 'Souvenir Coin Machines' shows coin:design_count=4 with a fixed text, namely 'This machine has four designs available' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "4" + }, + { + "key": "payment:cash", + "description": "Layer 'Souvenir Coin Machines' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:cards", + "description": "Layer 'Souvenir Coin Machines' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:qr_code", + "description": "Layer 'Souvenir Coin Machines' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:coins", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins=yes with a fixed text, namely 'Coins are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:notes", + "description": "Layer 'Souvenir Coin Machines' shows payment:notes=yes with a fixed text, namely 'Bank notes are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:debit_cards", + "description": "Layer 'Souvenir Coin Machines' shows payment:debit_cards=yes with a fixed text, namely 'Debit cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:credit_cards", + "description": "Layer 'Souvenir Coin Machines' shows payment:credit_cards=yes with a fixed text, namely 'Credit cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "website", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "contact:website", + "description": "Layer 'Souvenir Coin Machines' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Coin Machines' shows charge=2 EUR with a fixed text, namely 'A souvenir coin costs 2 euro' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "2 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.01 EUR with a fixed text, namely '1 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.01 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.02 EUR with a fixed text, namely '2 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.02 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.05 EUR with a fixed text, namely '5 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.05 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.10 EUR with a fixed text, namely '10 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.10 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.20 EUR with a fixed text, namely '20 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.20 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.50 EUR with a fixed text, namely '50 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.50 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=1 EUR with a fixed text, namely '1 euro coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "1 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=2 EUR with a fixed text, namely '2 euro coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "2 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.05 CHF with a fixed text, namely '5 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.05 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.10 CHF with a fixed text, namely '10 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.10 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.20 CHF with a fixed text, namely '20 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.20 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=0.50 CHF with a fixed text, namely '½ franc coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.50 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=1 CHF with a fixed text, namely '1 franc coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "1 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=2 CHF with a fixed text, namely '2 francs coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "2 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Coin Machines' shows payment:coins:denominations=5 CHF with a fixed text, namely '5 francs coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "5 CHF" + }, + { + "key": "indoor", + "description": "Layer 'Souvenir Coin Machines' shows indoor=yes with a fixed text, namely 'This machine is located indoors.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "indoor", + "description": "Layer 'Souvenir Coin Machines' shows indoor=no with a fixed text, namely 'This machine is located outdoors.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'level' (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)" + }, + { + "key": "location", + "description": "Layer 'Souvenir Coin Machines' shows location=underground with a fixed text, namely 'Located underground' (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows level= with a fixed text, namely 'Located on the ground floor' (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key level. (This is only shown if repeat_on=)", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Souvenir Coin Machines' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)", + "value": "-1" + }, + { + "key": "check_date", + "description": "Layer 'Souvenir Coin Machines' shows and asks freeform values for key 'check_date' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "check_date", + "description": "Layer 'Souvenir Coin Machines' shows check_date= with a fixed text, namely 'This object was last checked today' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key check_date.", + "value": "" + }, + { + "key": "amenity", + "description": "The MapComplete theme Personal theme has a layer Souvenir Banknote Machines showing features with this tag", + "value": "vending_machine" + }, + { + "key": "vending", + "description": "The MapComplete theme Personal theme has a layer Souvenir Banknote Machines showing features with this tag" + }, + { + "key": "id", + "description": "Layer 'Souvenir Banknote Machines' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Personal theme') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Souvenir Banknote Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Souvenir Banknote Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Souvenir Banknote Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Souvenir Banknote Machines allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Banknote Machines' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "24/7" + }, + { + "key": "opening_hours", + "description": "Layer 'Souvenir Banknote Machines' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'note:design_count' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows note:design_count=1 with a fixed text, namely 'This machine has one design available.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "1" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows note:design_count=2 with a fixed text, namely 'This machine has two designs available.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "2" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows note:design_count=3 with a fixed text, namely 'This machine has three designs available.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "3" + }, + { + "key": "note:design_count", + "description": "Layer 'Souvenir Banknote Machines' shows note:design_count=4 with a fixed text, namely 'This machine has four designs available.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "4" + }, + { + "key": "payment:cash", + "description": "Layer 'Souvenir Banknote Machines' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:cards", + "description": "Layer 'Souvenir Banknote Machines' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:qr_code", + "description": "Layer 'Souvenir Banknote Machines' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:coins", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins=yes with a fixed text, namely 'Coins are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:notes", + "description": "Layer 'Souvenir Banknote Machines' shows payment:notes=yes with a fixed text, namely 'Bank notes are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:debit_cards", + "description": "Layer 'Souvenir Banknote Machines' shows payment:debit_cards=yes with a fixed text, namely 'Debit cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "payment:credit_cards", + "description": "Layer 'Souvenir Banknote Machines' shows payment:credit_cards=yes with a fixed text, namely 'Credit cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "website", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "contact:website", + "description": "Layer 'Souvenir Banknote Machines' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'charge' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Banknote Machines' shows charge=2 EUR with a fixed text, namely 'A souvenir note costs 2 euro' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "2 EUR" + }, + { + "key": "charge", + "description": "Layer 'Souvenir Banknote Machines' shows charge=3 EUR with a fixed text, namely 'A souvenir note costs 3 euro' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "3 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.01 EUR with a fixed text, namely '1 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.01 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.02 EUR with a fixed text, namely '2 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.02 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.05 EUR with a fixed text, namely '5 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.05 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.10 EUR with a fixed text, namely '10 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.10 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.20 EUR with a fixed text, namely '20 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.20 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.50 EUR with a fixed text, namely '50 cent coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.50 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=1 EUR with a fixed text, namely '1 euro coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "1 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=2 EUR with a fixed text, namely '2 euro coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "2 EUR" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.05 CHF with a fixed text, namely '5 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.05 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.10 CHF with a fixed text, namely '10 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.10 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.20 CHF with a fixed text, namely '20 centimes coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.20 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=0.50 CHF with a fixed text, namely '½ franc coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "0.50 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=1 CHF with a fixed text, namely '1 franc coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "1 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=2 CHF with a fixed text, namely '2 francs coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "2 CHF" + }, + { + "key": "payment:coins:denominations", + "description": "Layer 'Souvenir Banknote Machines' shows payment:coins:denominations=5 CHF with a fixed text, namely '5 francs coins are accepted' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if (payment:coins=yes | payment:cash=yes) & (_currency~^(.*EUR.*)$ | _currency~^(.*CHF.*)$))", + "value": "5 CHF" + }, + { + "key": "indoor", + "description": "Layer 'Souvenir Banknote Machines' shows indoor=yes with a fixed text, namely 'This machine is located indoors.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "yes" + }, + { + "key": "indoor", + "description": "Layer 'Souvenir Banknote Machines' shows indoor=no with a fixed text, namely 'This machine is located outdoors.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", + "value": "no" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'level' (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)" + }, + { + "key": "location", + "description": "Layer 'Souvenir Banknote Machines' shows location=underground with a fixed text, namely 'Located underground' (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows level= with a fixed text, namely 'Located on the ground floor' (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key level. (This is only shown if repeat_on=)", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Souvenir Banknote Machines' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if repeat_on=)", + "value": "-1" + }, + { + "key": "check_date", + "description": "Layer 'Souvenir Banknote Machines' shows and asks freeform values for key 'check_date' (in the mapcomplete.org theme 'Personal theme')" + }, + { + "key": "check_date", + "description": "Layer 'Souvenir Banknote Machines' shows check_date= with a fixed text, namely 'This object was last checked today' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') Picking this answer will delete the key check_date.", + "value": "" + }, { "key": "highway", "description": "The MapComplete theme Personal theme has a layer Speed Camera showing features with this tag", @@ -13763,6 +14789,11 @@ "key": "opening_hours", "description": "Layer 'Sports centres' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'Sports centres' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Sports centres' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Personal theme')" @@ -14789,6 +15820,11 @@ "description": "Layer 'Toilets' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme') (This is only shown if access!=no)", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Toilets' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme') (This is only shown if access!=no)", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Toilets' shows wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -15031,6 +16067,11 @@ "key": "opening_hours", "description": "Layer 'Toilets at other amenities' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme') (This is only shown if toilets:access!=no)" }, + { + "key": "opening_hours", + "description": "Layer 'Toilets at other amenities' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme') (This is only shown if toilets:access!=no)", + "value": "closed" + }, { "key": "toilets:wheelchair", "description": "Layer 'Toilets at other amenities' shows toilets:wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", @@ -15773,6 +16814,11 @@ "description": "Layer 'Vending Machines' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Personal theme')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Vending Machines' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "payment:cash", "description": "Layer 'Vending Machines' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' (in the mapcomplete.org theme 'Personal theme')", @@ -16041,6 +17087,11 @@ "key": "opening_hours", "description": "Layer 'veterinary' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Personal theme')" }, + { + "key": "opening_hours", + "description": "Layer 'veterinary' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Personal theme')", + "value": "closed" + }, { "key": "name", "description": "Layer 'veterinary' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Personal theme')" diff --git a/Docs/TagInfo/mapcomplete_pets.json b/Docs/TagInfo/mapcomplete_pets.json index 9e4b69e2d..e092c8307 100644 --- a/Docs/TagInfo/mapcomplete_pets.json +++ b/Docs/TagInfo/mapcomplete_pets.json @@ -132,6 +132,11 @@ "key": "opening_hours", "description": "Layer 'Dog friendly eateries' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" }, + { + "key": "opening_hours", + "description": "Layer 'Dog friendly eateries' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Dog friendly eateries' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" @@ -1534,6 +1539,11 @@ "key": "opening_hours", "description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" }, + { + "key": "opening_hours", + "description": "Layer 'Dog-friendly shops' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" @@ -1800,6 +1810,11 @@ "key": "opening_hours", "description": "Layer 'veterinary' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" }, + { + "key": "opening_hours", + "description": "Layer 'veterinary' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')", + "value": "closed" + }, { "key": "name", "description": "Layer 'veterinary' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" diff --git a/Docs/TagInfo/mapcomplete_playgrounds.json b/Docs/TagInfo/mapcomplete_playgrounds.json index 5ee9ac581..7ee49debf 100644 --- a/Docs/TagInfo/mapcomplete_playgrounds.json +++ b/Docs/TagInfo/mapcomplete_playgrounds.json @@ -195,6 +195,164 @@ "description": "Layer 'Playgrounds' shows check_date= with a fixed text, namely 'This object was last checked today' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds') Picking this answer will delete the key check_date.", "value": "" }, + { + "key": "playground", + "description": "The MapComplete theme Playgrounds has a layer Playground equipment showing features with this tag" + }, + { + "key": "id", + "description": "Layer 'Playground equipment' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Playgrounds') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Playground equipment allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Playground equipment allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Playground equipment allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Playground equipment allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows and asks freeform values for key 'playground' (in the mapcomplete.org theme 'Playgrounds')" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=swing with a fixed text, namely 'This is a swing' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "swing" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=structure with a fixed text, namely 'This is a structure consisting of several connected playground devices' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "structure" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=slide with a fixed text, namely 'This is a slide' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "slide" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=sandpit with a fixed text, namely 'This is a sand pit' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "sandpit" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=springy with a fixed text, namely 'This is a spring rider' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "springy" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=climbingframe with a fixed text, namely 'This is a climbing frame' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "climbingframe" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=seesaw with a fixed text, namely 'This is a seesaw' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "seesaw" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=playhouse with a fixed text, namely 'This is a playhouse' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "playhouse" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=roundabout with a fixed text, namely 'This is a roundabout' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "roundabout" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=basketswing with a fixed text, namely 'This is a basket swing' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "basketswing" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=zipwire with a fixed text, namely 'This is a zip wire' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "zipwire" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=horizontal_bar with a fixed text, namely 'This is a horizontal bar' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "horizontal_bar" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=hopscotch with a fixed text, namely 'This is a hopscotch' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "hopscotch" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=splash_pad with a fixed text, namely 'This is a splash pad' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "splash_pad" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=climbingwall with a fixed text, namely 'This is a climbing wall' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "climbingwall" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=map with a fixed text, namely 'This is a map' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "map" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=bridge with a fixed text, namely 'This is a bridge (either as a standalone device or as part of a larger structure)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "bridge" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=cushion with a fixed text, namely 'This is a bouncy cushion' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "cushion" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=activitypanel with a fixed text, namely 'This is an activity panel' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "activitypanel" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=teenshelter with a fixed text, namely 'This is a teen shelter' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "teenshelter" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=funnel_ball with a fixed text, namely 'This is a funnel used to play with funnel ball' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "funnel_ball" + }, + { + "key": "playground", + "description": "Layer 'Playground equipment' shows playground=spinning_circle with a fixed text, namely 'This is a spinning circle' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "spinning_circle" + }, + { + "key": "wheelchair", + "description": "Layer 'Playground equipment' shows wheelchair=designated with a fixed text, namely 'This place is specially adapted for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "designated" + }, + { + "key": "wheelchair", + "description": "Layer 'Playground equipment' shows wheelchair=yes with a fixed text, namely 'This place is easily reachable with a wheelchair' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "yes" + }, + { + "key": "wheelchair", + "description": "Layer 'Playground equipment' shows wheelchair=limited with a fixed text, namely 'It is possible to reach this place in a wheelchair, but it is not easy' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "limited" + }, + { + "key": "wheelchair", + "description": "Layer 'Playground equipment' shows wheelchair=no with a fixed text, namely 'This place is not reachable with a wheelchair' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds')", + "value": "no" + }, { "key": "amenity", "description": "The MapComplete theme Playgrounds has a layer Benches showing features with this tag", @@ -371,17 +529,17 @@ }, { "key": "historic", - "description": "Layer 'Benches' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds') (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic=memorial with a fixed text, namely 'This bench is a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "memorial" }, { "key": "historic", - "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds') Picking this answer will delete the key historic. (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds') Picking this answer will delete the key historic. (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "" }, { "key": "not:historic", - "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds') (This is only shown if historic=memorial | inscription~.+ | memorial=bench | tourism=artwork)", + "description": "Layer 'Benches' shows historic= & not:historic=memorial with a fixed text, namely 'This bench is a not a memorial for someone or something' and allows to pick this as a default answer (in the mapcomplete.org theme 'Playgrounds') (This is only shown if (historic=memorial | inscription~.+ | memorial=bench | tourism=artwork))", "value": "memorial" }, { diff --git a/Docs/TagInfo/mapcomplete_postboxes.json b/Docs/TagInfo/mapcomplete_postboxes.json index 2b7ad4225..c836c9281 100644 --- a/Docs/TagInfo/mapcomplete_postboxes.json +++ b/Docs/TagInfo/mapcomplete_postboxes.json @@ -69,6 +69,11 @@ "key": "opening_hours", "description": "Layer 'Post offices' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Postbox and Post Office Map')" }, + { + "key": "opening_hours", + "description": "Layer 'Post offices' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "closed" + }, { "key": "post_office", "description": "Layer 'Post offices' shows post_office=post_partner with a fixed text, namely 'This shop is a post partner' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if post_office=post_partner)", @@ -280,6 +285,11 @@ "description": "Layer 'Parcel Lockers' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Parcel Lockers' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "closed" + }, { "key": "ref", "description": "Layer 'Parcel Lockers' shows and asks freeform values for key 'ref' (in the mapcomplete.org theme 'Postbox and Post Office Map')" @@ -303,6 +313,1139 @@ "key": "parcel_pickup", "description": "Layer 'Parcel Lockers' shows parcel_pickup=no with a fixed text, namely 'You can't pick up packages from this parcel locker' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if amenity=parcel_locker)", "value": "no" + }, + { + "key": "shop", + "description": "The MapComplete theme Postbox and Post Office Map has a layer Shop showing features with this tag" + }, + { + "key": "craft", + "description": "The MapComplete theme Postbox and Post Office Map has a layer Shop showing features with this tag", + "value": "shoe_repair" + }, + { + "key": "craft", + "description": "The MapComplete theme Postbox and Post Office Map has a layer Shop showing features with this tag", + "value": "key_cutter" + }, + { + "key": "post_office", + "description": "Layer 'Shop' shows post_office=post_partner with a fixed text, namely 'This shop is a post partner' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "post_partner" + }, + { + "key": "post_office", + "description": "Layer 'Shop' shows post_office= with a fixed text, namely 'This shop is not a post partner' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') Picking this answer will delete the key post_office.", + "value": "" + }, + { + "key": "id", + "description": "Layer 'Shop' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Shop allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Shop allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Shop allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Shop allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "name", + "description": "Layer 'Shop' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Postbox and Post Office Map')" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows and asks freeform values for key 'shop' (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=vacant with a fixed text, namely 'Vacant Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "vacant" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=agrarian with a fixed text, namely 'Farm Supply Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "agrarian" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=alcohol with a fixed text, namely 'Liquor Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "alcohol" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=anime with a fixed text, namely 'Anime / Manga Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "anime" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=antiques with a fixed text, namely 'Antique Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "antiques" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=appliance with a fixed text, namely 'Appliance Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "appliance" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=art with a fixed text, namely 'Art Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "art" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=baby_goods with a fixed text, namely 'Baby Goods Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "baby_goods" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=bag with a fixed text, namely 'Bag/Luggage Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "bag" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=bakery with a fixed text, namely 'Bakery' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "bakery" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=bathroom_furnishing with a fixed text, namely 'Bathroom Furnishing Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "bathroom_furnishing" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=beauty with a fixed text, namely 'Beauty Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "beauty" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=bed with a fixed text, namely 'Bedding/Mattress Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "bed" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=beverages with a fixed text, namely 'Beverage Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "beverages" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=bicycle with a fixed text, namely 'Bicycle Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "bicycle" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=boat with a fixed text, namely 'Boat Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "boat" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=bookmaker with a fixed text, namely 'Bookmaker' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "bookmaker" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=books with a fixed text, namely 'Bookstore' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "books" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=brewing_supplies with a fixed text, namely 'Brewing Supply Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "brewing_supplies" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=butcher with a fixed text, namely 'Butcher' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "butcher" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=camera with a fixed text, namely 'Camera Equipment Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "camera" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=candles with a fixed text, namely 'Candle Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "candles" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=cannabis with a fixed text, namely 'Cannabis Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "cannabis" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=car with a fixed text, namely 'Car Dealership' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "car" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=car_parts with a fixed text, namely 'Car Parts Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "car_parts" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=car_repair with a fixed text, namely 'Car Repair Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "car_repair" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=caravan with a fixed text, namely 'RV Dealership' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "caravan" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=carpet with a fixed text, namely 'Carpet Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "carpet" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=catalogue with a fixed text, namely 'Catalog Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "catalogue" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=charity with a fixed text, namely 'Charity Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "charity" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=cheese with a fixed text, namely 'Cheese Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "cheese" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=chemist with a fixed text, namely 'Drugstore' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "chemist" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=chocolate with a fixed text, namely 'Chocolate Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "chocolate" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=clothes with a fixed text, namely 'Clothing Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "clothes" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=coffee with a fixed text, namely 'Coffee Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "coffee" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=collector with a fixed text, namely 'Collectibles Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "collector" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=computer with a fixed text, namely 'Computer Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "computer" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=confectionery with a fixed text, namely 'Candy Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "confectionery" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=convenience with a fixed text, namely 'Convenience Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "convenience" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=copyshop with a fixed text, namely 'Copy Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "copyshop" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=cosmetics with a fixed text, namely 'Cosmetics Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "cosmetics" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=country_store with a fixed text, namely 'Rural Supplies Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "country_store" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=craft with a fixed text, namely 'Arts & Crafts Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "craft" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=curtain with a fixed text, namely 'Curtain Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "curtain" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=dairy with a fixed text, namely 'Dairy Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "dairy" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=deli with a fixed text, namely 'Delicatessen' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "deli" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=department_store with a fixed text, namely 'Department Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "department_store" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=doityourself with a fixed text, namely 'DIY Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "doityourself" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=doors with a fixed text, namely 'Door Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "doors" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=dry_cleaning with a fixed text, namely 'Dry Cleaner' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "dry_cleaning" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=e-cigarette with a fixed text, namely 'E-Cigarette Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "e-cigarette" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=electrical with a fixed text, namely 'Electrical Equipment Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "electrical" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=electronics with a fixed text, namely 'Electronics Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "electronics" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=erotic with a fixed text, namely 'Erotic Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "erotic" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=fabric with a fixed text, namely 'Fabric Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "fabric" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=farm with a fixed text, namely 'Produce Stand' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "farm" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=fashion_accessories with a fixed text, namely 'Fashion Accessories Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "fashion_accessories" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=fireplace with a fixed text, namely 'Fireplace Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "fireplace" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=fishing with a fixed text, namely 'Fishing Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "fishing" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=flooring with a fixed text, namely 'Flooring Supply Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "flooring" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=florist with a fixed text, namely 'Florist' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "florist" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=frame with a fixed text, namely 'Framing Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "frame" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=frozen_food with a fixed text, namely 'Frozen Food Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "frozen_food" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=fuel with a fixed text, namely 'Fuel Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "fuel" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=funeral_directors with a fixed text, namely 'Funeral Home' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "funeral_directors" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=furniture with a fixed text, namely 'Furniture Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "furniture" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=games with a fixed text, namely 'Tabletop Game Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "games" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=garden_centre with a fixed text, namely 'Garden Center' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "garden_centre" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=gas with a fixed text, namely 'Bottled Gas Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "gas" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=general with a fixed text, namely 'General Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "general" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=gift with a fixed text, namely 'Gift Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "gift" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=greengrocer with a fixed text, namely 'Greengrocer' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "greengrocer" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=hairdresser with a fixed text, namely 'Hairdresser' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "hairdresser" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=hairdresser_supply with a fixed text, namely 'Hairdresser Supply Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "hairdresser_supply" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=hardware with a fixed text, namely 'Hardware Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "hardware" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=health_food with a fixed text, namely 'Health Food Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "health_food" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=hearing_aids with a fixed text, namely 'Hearing Aids Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "hearing_aids" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=herbalist with a fixed text, namely 'Herbalist' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "herbalist" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=hifi with a fixed text, namely 'Hifi Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "hifi" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=honey with a fixed text, namely 'Honey Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "honey" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=household_linen with a fixed text, namely 'Household Linen Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "household_linen" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=houseware with a fixed text, namely 'Houseware Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "houseware" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=hunting with a fixed text, namely 'Hunting Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "hunting" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=interior_decoration with a fixed text, namely 'Interior Decoration Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "interior_decoration" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=jewelry with a fixed text, namely 'Jewelry Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "jewelry" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=kiosk with a fixed text, namely 'Kiosk' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "kiosk" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=kitchen with a fixed text, namely 'Kitchen Design Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "kitchen" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=laundry with a fixed text, namely 'Laundry' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "laundry" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=leather with a fixed text, namely 'Leather Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "leather" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=lighting with a fixed text, namely 'Lighting Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "lighting" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=locksmith with a fixed text, namely 'Locksmith' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "locksmith" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=lottery with a fixed text, namely 'Lottery Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "lottery" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=mall with a fixed text, namely 'Mall' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "mall" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=massage with a fixed text, namely 'Massage Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "massage" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=medical_supply with a fixed text, namely 'Medical Supply Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "medical_supply" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=military_surplus with a fixed text, namely 'Military Surplus Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "military_surplus" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=mobile_phone with a fixed text, namely 'Mobile Phone Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "mobile_phone" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=model with a fixed text, namely 'Model Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "model" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=money_lender with a fixed text, namely 'Money Lender' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "money_lender" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=motorcycle with a fixed text, namely 'Motorcycle Dealership' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "motorcycle" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=motorcycle_repair with a fixed text, namely 'Motorcycle Repair Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "motorcycle_repair" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=music with a fixed text, namely 'Music Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "music" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=musical_instrument with a fixed text, namely 'Musical Instrument Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "musical_instrument" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=newsagent with a fixed text, namely 'Newsstand' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "newsagent" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=nutrition_supplements with a fixed text, namely 'Nutrition Supplements Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "nutrition_supplements" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=nuts with a fixed text, namely 'Nuts Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "nuts" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=optician with a fixed text, namely 'Optician' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "optician" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=outdoor with a fixed text, namely 'Outdoors Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "outdoor" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=outpost with a fixed text, namely 'Online Retailer Outpost' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "outpost" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=paint with a fixed text, namely 'Paint Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "paint" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=party with a fixed text, namely 'Party Supply Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "party" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=pasta with a fixed text, namely 'Pasta Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "pasta" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=pastry with a fixed text, namely 'Pastry Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "pastry" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=pawnbroker with a fixed text, namely 'Pawnshop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "pawnbroker" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=perfumery with a fixed text, namely 'Perfume Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "perfumery" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=pet with a fixed text, namely 'Pet Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "pet" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=pet_grooming with a fixed text, namely 'Pet Groomer' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "pet_grooming" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=photo with a fixed text, namely 'Photography Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "photo" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=pottery with a fixed text, namely 'Pottery Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "pottery" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=printer_ink with a fixed text, namely 'Printer Ink Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "printer_ink" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=psychic with a fixed text, namely 'Psychic' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "psychic" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=pyrotechnics with a fixed text, namely 'Fireworks Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "pyrotechnics" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=radiotechnics with a fixed text, namely 'Radio/Electronic Component Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "radiotechnics" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=religion with a fixed text, namely 'Religious Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "religion" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=rental with a fixed text, namely 'Rental Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "rental" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=repair with a fixed text, namely 'Repair Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "repair" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=rice with a fixed text, namely 'Rice Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "rice" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=scuba_diving with a fixed text, namely 'Scuba Diving Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "scuba_diving" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=seafood with a fixed text, namely 'Seafood Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "seafood" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=second_hand with a fixed text, namely 'Thrift Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "second_hand" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=sewing with a fixed text, namely 'Sewing Supply Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "sewing" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=shoe_repair with a fixed text, namely 'Shoe Repair Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "shoe_repair" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=shoes with a fixed text, namely 'Shoe Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "shoes" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=spices with a fixed text, namely 'Spice Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "spices" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=sports with a fixed text, namely 'Sporting Goods Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "sports" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=stationery with a fixed text, namely 'Stationery Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "stationery" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=storage_rental with a fixed text, namely 'Storage Rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "storage_rental" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=supermarket with a fixed text, namely 'Supermarket' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "supermarket" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=swimming_pool with a fixed text, namely 'Pool Supply Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "swimming_pool" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=tailor with a fixed text, namely 'Tailor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "tailor" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=tattoo with a fixed text, namely 'Tattoo Parlor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "tattoo" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=tea with a fixed text, namely 'Tea Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "tea" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=telecommunication with a fixed text, namely 'Telecom Retail Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "telecommunication" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=ticket with a fixed text, namely 'Ticket Seller' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "ticket" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=tiles with a fixed text, namely 'Tile Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "tiles" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=tobacco with a fixed text, namely 'Tobacco Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "tobacco" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=tool_hire with a fixed text, namely 'Tool Rental' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "tool_hire" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=toys with a fixed text, namely 'Toy Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "toys" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=trade with a fixed text, namely 'Trade Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "trade" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=travel_agency with a fixed text, namely 'Travel Agency' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "travel_agency" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=trophy with a fixed text, namely 'Trophy Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "trophy" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=tyres with a fixed text, namely 'Tire Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "tyres" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=vacuum_cleaner with a fixed text, namely 'Vacuum Cleaner Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "vacuum_cleaner" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=variety_store with a fixed text, namely 'Discount Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "variety_store" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=video with a fixed text, namely 'Video Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "video" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=video_games with a fixed text, namely 'Video Game Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "video_games" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=watches with a fixed text, namely 'Watches Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "watches" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=water with a fixed text, namely 'Drinking Water Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "water" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=water_sports with a fixed text, namely 'Watersport/Swim Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "water_sports" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=weapons with a fixed text, namely 'Weapon Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "weapons" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=wholesale with a fixed text, namely 'Wholesale Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "wholesale" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=wigs with a fixed text, namely 'Wig Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "wigs" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=window_blind with a fixed text, namely 'Window Blind Store' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "window_blind" + }, + { + "key": "shop", + "description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", + "value": "wine" + }, + { + "key": "second_hand", + "description": "Layer 'Shop' shows second_hand=only with a fixed text, namely 'This shop sells second-hand items only' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=clothes | shop=car | shop=books | shop=charity | shop=car_repair | shop=furniture | shop=bicycle | shop=bicycle | shop=mobile_phone | shop=computer | shop=toys)", + "value": "only" + }, + { + "key": "second_hand", + "description": "Layer 'Shop' shows second_hand=yes with a fixed text, namely 'This shop sells second-hand items along with new items' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=clothes | shop=car | shop=books | shop=charity | shop=car_repair | shop=furniture | shop=bicycle | shop=bicycle | shop=mobile_phone | shop=computer | shop=toys)", + "value": "yes" + }, + { + "key": "second_hand", + "description": "Layer 'Shop' shows second_hand=no with a fixed text, namely 'This shop only sells brand-new items' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=clothes | shop=car | shop=books | shop=charity | shop=car_repair | shop=furniture | shop=bicycle | shop=bicycle | shop=mobile_phone | shop=computer | shop=toys)", + "value": "no" + }, + { + "key": "opening_hours", + "description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Postbox and Post Office Map')" + }, + { + "key": "opening_hours", + "description": "Layer 'Shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "closed" + }, + { + "key": "website", + "description": "Layer 'Shop' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Postbox and Post Office Map')" + }, + { + "key": "contact:website", + "description": "Layer 'Shop' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Postbox and Post Office Map')" + }, + { + "key": "email", + "description": "Layer 'Shop' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Postbox and Post Office Map')" + }, + { + "key": "contact:email", + "description": "Layer 'Shop' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Postbox and Post Office Map')" + }, + { + "key": "phone", + "description": "Layer 'Shop' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Postbox and Post Office Map')" + }, + { + "key": "contact:phone", + "description": "Layer 'Shop' shows contact:phone~.+ with a fixed text, namely '{contact:phone}' (in the mapcomplete.org theme 'Postbox and Post Office Map')" + }, + { + "key": "payment:cash", + "description": "Layer 'Shop' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "yes" + }, + { + "key": "payment:cards", + "description": "Layer 'Shop' shows payment:cards=yes with a fixed text, namely 'Payment cards are accepted here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "yes" + }, + { + "key": "payment:qr_code", + "description": "Layer 'Shop' shows payment:qr_code=yes with a fixed text, namely 'Payment by QR-code is possible here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "yes" + }, + { + "key": "level", + "description": "Layer 'Shop' shows and asks freeform values for key 'level' (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if repeat_on=)" + }, + { + "key": "location", + "description": "Layer 'Shop' shows location=underground with a fixed text, namely 'Located underground' (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if repeat_on=)", + "value": "underground" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=0 with a fixed text, namely 'Located on the ground floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if repeat_on=)", + "value": "0" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level= with a fixed text, namely 'Located on the ground floor' (in the mapcomplete.org theme 'Postbox and Post Office Map') Picking this answer will delete the key level. (This is only shown if repeat_on=)", + "value": "" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=1 with a fixed text, namely 'Located on the first floor' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if repeat_on=)", + "value": "1" + }, + { + "key": "level", + "description": "Layer 'Shop' shows level=-1 with a fixed text, namely 'Located on the first basement level' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if repeat_on=)", + "value": "-1" + }, + { + "key": "service:print:A4", + "description": "Layer 'Shop' shows service:print:A4=yes with a fixed text, namely 'This shop can print on papers of size A4' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop~^(.*copyshop.*)$ | shop~^(.*stationery.*)$ | service:print=yes)", + "value": "yes" + }, + { + "key": "service:print:A3", + "description": "Layer 'Shop' shows service:print:A3=yes with a fixed text, namely 'This shop can print on papers of size A3' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop~^(.*copyshop.*)$ | shop~^(.*stationery.*)$ | service:print=yes)", + "value": "yes" + }, + { + "key": "service:print:A2", + "description": "Layer 'Shop' shows service:print:A2=yes with a fixed text, namely 'This shop can print on papers of size A2' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop~^(.*copyshop.*)$ | shop~^(.*stationery.*)$ | service:print=yes)", + "value": "yes" + }, + { + "key": "service:print:A1", + "description": "Layer 'Shop' shows service:print:A1=yes with a fixed text, namely 'This shop can print on papers of size A1' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop~^(.*copyshop.*)$ | shop~^(.*stationery.*)$ | service:print=yes)", + "value": "yes" + }, + { + "key": "service:print:A0", + "description": "Layer 'Shop' shows service:print:A0=yes with a fixed text, namely 'This shop can print on papers of size A0' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop~^(.*copyshop.*)$ | shop~^(.*stationery.*)$ | service:print=yes)", + "value": "yes" + }, + { + "key": "craft", + "description": "Layer 'Shop' shows craft=key_cutter with a fixed text, namely 'This shop is also specialized in key cutting' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=shoe_repair | service:key_cutting~.+ | craft=key_cutting | shop=diy | shop=doityourself | shop=home_improvement | shop=hardware | shop=locksmith | shop=repair)", + "value": "key_cutter" + }, + { + "key": "service:key_cutting", + "description": "Layer 'Shop' shows service:key_cutting=yes with a fixed text, namely 'This shop offers key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=shoe_repair | service:key_cutting~.+ | craft=key_cutting | shop=diy | shop=doityourself | shop=home_improvement | shop=hardware | shop=locksmith | shop=repair)", + "value": "yes" + }, + { + "key": "craft", + "description": "Layer 'Shop' shows craft= & service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') Picking this answer will delete the key craft. (This is only shown if shop=shoe_repair | service:key_cutting~.+ | craft=key_cutting | shop=diy | shop=doityourself | shop=home_improvement | shop=hardware | shop=locksmith | shop=repair)", + "value": "" + }, + { + "key": "service:key_cutting", + "description": "Layer 'Shop' shows craft= & service:key_cutting=no with a fixed text, namely 'This shops does not offer key cutting as a service' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=shoe_repair | service:key_cutting~.+ | craft=key_cutting | shop=diy | shop=doityourself | shop=home_improvement | shop=hardware | shop=locksmith | shop=repair)", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=wlan with a fixed text, namely 'This place offers wireless internet access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "wlan" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=no with a fixed text, namely 'This place does not offer internet access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "no" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=yes with a fixed text, namely 'This place offers internet access' (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "yes" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=terminal with a fixed text, namely 'This place offers internet access via a terminal or computer' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "terminal" + }, + { + "key": "internet_access", + "description": "Layer 'Shop' shows internet_access=wired with a fixed text, namely 'This place offers wired internet access' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map')", + "value": "wired" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=yes with a fixed text, namely 'There is a fee for the internet access at this place' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if internet_access!=no & internet_access~.+)", + "value": "yes" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=no with a fixed text, namely 'Internet access is free at this place' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if internet_access!=no & internet_access~.+)", + "value": "no" + }, + { + "key": "internet_access:fee", + "description": "Layer 'Shop' shows internet_access:fee=customers with a fixed text, namely 'Internet access is free at this place, for customers only' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if internet_access!=no & internet_access~.+)", + "value": "customers" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Shop' shows and asks freeform values for key 'internet_access:ssid' (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if internet_access=wlan)" + }, + { + "key": "internet_access:ssid", + "description": "Layer 'Shop' shows internet_access:ssid=Telekom with a fixed text, namely 'Telekom' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if internet_access=wlan)", + "value": "Telekom" + }, + { + "key": "organic", + "description": "Layer 'Shop' shows organic=yes with a fixed text, namely 'This shop offers organic products' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=clothes | shop=shoes | shop=butcher | shop=cosmetics | shop=deli | shop=bakery | shop=alcohol | shop=seafood | shop=beverages | shop=florist)", + "value": "yes" + }, + { + "key": "organic", + "description": "Layer 'Shop' shows organic=only with a fixed text, namely 'This shop only offers organic products' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=clothes | shop=shoes | shop=butcher | shop=cosmetics | shop=deli | shop=bakery | shop=alcohol | shop=seafood | shop=beverages | shop=florist)", + "value": "only" + }, + { + "key": "organic", + "description": "Layer 'Shop' shows organic=no with a fixed text, namely 'This shop does not offer organic products' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=clothes | shop=shoes | shop=butcher | shop=cosmetics | shop=deli | shop=bakery | shop=alcohol | shop=seafood | shop=beverages | shop=florist)", + "value": "no" + }, + { + "key": "diet:sugar_free", + "description": "Layer 'Shop' shows diet:sugar_free=only with a fixed text, namely 'This shop only sells sugar free products' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "only" + }, + { + "key": "diet:sugar_free", + "description": "Layer 'Shop' shows diet:sugar_free=yes with a fixed text, namely 'This shop has a big sugar free offering' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "yes" + }, + { + "key": "diet:sugar_free", + "description": "Layer 'Shop' shows diet:sugar_free=limited with a fixed text, namely 'This shop has a limited sugar free offering' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "limited" + }, + { + "key": "diet:sugar_free", + "description": "Layer 'Shop' shows diet:sugar_free=no with a fixed text, namely 'This shop has no sugar free offering' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "no" + }, + { + "key": "diet:gluten_free", + "description": "Layer 'Shop' shows diet:gluten_free=only with a fixed text, namely 'This shop only sells gluten free products' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "only" + }, + { + "key": "diet:gluten_free", + "description": "Layer 'Shop' shows diet:gluten_free=yes with a fixed text, namely 'This shop has a big gluten free offering' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "yes" + }, + { + "key": "diet:gluten_free", + "description": "Layer 'Shop' shows diet:gluten_free=limited with a fixed text, namely 'This shop has a limited gluten free offering' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "limited" + }, + { + "key": "diet:gluten_free", + "description": "Layer 'Shop' shows diet:gluten_free=no with a fixed text, namely 'This shop has no gluten free offering' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "no" + }, + { + "key": "diet:lactose_free", + "description": "Layer 'Shop' shows diet:lactose_free=only with a fixed text, namely 'Only sells lactose free products' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "only" + }, + { + "key": "diet:lactose_free", + "description": "Layer 'Shop' shows diet:lactose_free=yes with a fixed text, namely 'Big lactose free offering' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "yes" + }, + { + "key": "diet:lactose_free", + "description": "Layer 'Shop' shows diet:lactose_free=limited with a fixed text, namely 'Limited lactose free offering' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "limited" + }, + { + "key": "diet:lactose_free", + "description": "Layer 'Shop' shows diet:lactose_free=no with a fixed text, namely 'No lactose free offering' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if shop=supermarket | shop=convenience | shop=farm | shop=greengrocer | shop=health_food | shop=deli | shop=bakery | shop=beverages | shop=beverages | shop=pastry | shop=chocolate | shop=frozen_food | shop=ice_cream)", + "value": "no" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_shops.json b/Docs/TagInfo/mapcomplete_shops.json index 35462328b..533083cf3 100644 --- a/Docs/TagInfo/mapcomplete_shops.json +++ b/Docs/TagInfo/mapcomplete_shops.json @@ -891,6 +891,11 @@ "key": "opening_hours", "description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Shops')" }, + { + "key": "opening_hours", + "description": "Layer 'Shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Shops')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Shop' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Shops')" @@ -1161,6 +1166,11 @@ "key": "opening_hours", "description": "Layer 'Pharmacies' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Shops')" }, + { + "key": "opening_hours", + "description": "Layer 'Pharmacies' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Shops')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Pharmacies' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Shops')" @@ -1233,6 +1243,11 @@ "key": "opening_hours", "description": "Layer 'Ice cream parlors' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Shops')" }, + { + "key": "opening_hours", + "description": "Layer 'Ice cream parlors' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Shops')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Ice cream parlors' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Shops')" diff --git a/Docs/TagInfo/mapcomplete_ski.json b/Docs/TagInfo/mapcomplete_ski.json index 36a7a944d..4f847b4ef 100644 --- a/Docs/TagInfo/mapcomplete_ski.json +++ b/Docs/TagInfo/mapcomplete_ski.json @@ -161,6 +161,11 @@ "key": "opening_hours", "description": "Layer 'Aerialways' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Ski pistes and aerialways')" }, + { + "key": "opening_hours", + "description": "Layer 'Aerialways' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "value": "closed" + }, { "key": "oneway", "description": "Layer 'Aerialways' shows oneway=yes with a fixed text, namely 'This aerialway can only be taken to the top' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", @@ -526,6 +531,11 @@ "description": "Layer 'Toilets' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways') (This is only shown if access!=no)", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Toilets' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Ski pistes and aerialways') (This is only shown if access!=no)", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Toilets' shows wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", @@ -784,6 +794,11 @@ "description": "Layer 'Drinking water' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Drinking water' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "value": "closed" + }, { "key": "tourism", "description": "Layer 'Drinking water' shows tourism=artwork with a fixed text, namely 'This drinking water point has an integrated artwork' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", @@ -932,6 +947,11 @@ "key": "opening_hours", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Ski pistes and aerialways')" }, + { + "key": "opening_hours", + "description": "Layer 'Restaurants and fast food' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Ski pistes and aerialways')" diff --git a/Docs/TagInfo/mapcomplete_sports.json b/Docs/TagInfo/mapcomplete_sports.json index 6e537853a..4883938c1 100644 --- a/Docs/TagInfo/mapcomplete_sports.json +++ b/Docs/TagInfo/mapcomplete_sports.json @@ -261,6 +261,11 @@ "key": "opening_hours", "description": "Layer 'Fitness Centres' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Sports')" }, + { + "key": "opening_hours", + "description": "Layer 'Fitness Centres' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Sports')", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Fitness Centres' shows wheelchair=designated with a fixed text, namely 'This place is specially adapted for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", @@ -482,6 +487,11 @@ "description": "Layer 'Fitness Stations' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Fitness Stations' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Sports')", + "value": "closed" + }, { "key": "leisure", "description": "The MapComplete theme Sports has a layer Sports centres showing features with this tag", @@ -511,6 +521,11 @@ "key": "opening_hours", "description": "Layer 'Sports centres' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Sports')" }, + { + "key": "opening_hours", + "description": "Layer 'Sports centres' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Sports')", + "value": "closed" + }, { "key": "phone", "description": "Layer 'Sports centres' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Sports')" @@ -1427,6 +1442,11 @@ "key": "opening_hours", "description": "Layer 'Shop' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Sports')" }, + { + "key": "opening_hours", + "description": "Layer 'Shop' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Sports')", + "value": "closed" + }, { "key": "website", "description": "Layer 'Shop' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Sports')" diff --git a/Docs/TagInfo/mapcomplete_toilets.json b/Docs/TagInfo/mapcomplete_toilets.json index 47d5b4426..d9f06c773 100644 --- a/Docs/TagInfo/mapcomplete_toilets.json +++ b/Docs/TagInfo/mapcomplete_toilets.json @@ -151,6 +151,11 @@ "description": "Layer 'Toilets' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Public toilets') (This is only shown if access!=no)", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Toilets' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Public toilets') (This is only shown if access!=no)", + "value": "closed" + }, { "key": "wheelchair", "description": "Layer 'Toilets' shows wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Public toilets')", @@ -393,6 +398,11 @@ "key": "opening_hours", "description": "Layer 'Toilets at other amenities' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Public toilets') (This is only shown if toilets:access!=no)" }, + { + "key": "opening_hours", + "description": "Layer 'Toilets at other amenities' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Public toilets') (This is only shown if toilets:access!=no)", + "value": "closed" + }, { "key": "toilets:wheelchair", "description": "Layer 'Toilets at other amenities' shows toilets:wheelchair=yes with a fixed text, namely 'There is a dedicated toilet for wheelchair users' and allows to pick this as a default answer (in the mapcomplete.org theme 'Public toilets')", @@ -611,6 +621,11 @@ "key": "opening_hours", "description": "Layer 'Shower' shows and asks freeform values for key 'opening_hours' (in the mapcomplete.org theme 'Public toilets')" }, + { + "key": "opening_hours", + "description": "Layer 'Shower' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Public toilets')", + "value": "closed" + }, { "key": "hot_water", "description": "Layer 'Shower' shows hot_water=yes with a fixed text, namely 'Hot water is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Public toilets')", diff --git a/Docs/TagInfo/mapcomplete_transit.json b/Docs/TagInfo/mapcomplete_transit.json index 5152eb040..ca6780eaa 100644 --- a/Docs/TagInfo/mapcomplete_transit.json +++ b/Docs/TagInfo/mapcomplete_transit.json @@ -347,6 +347,11 @@ "description": "Layer 'Bike parking' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Bus routes')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Bike parking' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Bus routes')", + "value": "closed" + }, { "key": "operator:phone", "description": "Layer 'Bike parking' shows and asks freeform values for key 'operator:phone' (in the mapcomplete.org theme 'Bus routes')" @@ -518,6 +523,22 @@ { "key": "id", "description": "Layer 'Shelter' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Bus routes') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Shelter allows to upload images and adds them under the 'image'-tag (and image:0, image:1, ... for multiple images). Furhtermore, this layer shows images based on the keys image, wikidata, wikipedia, wikimedia_commons and mapillary" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_vending_machine.json b/Docs/TagInfo/mapcomplete_vending_machine.json index 40ea2b71f..f014eb752 100644 --- a/Docs/TagInfo/mapcomplete_vending_machine.json +++ b/Docs/TagInfo/mapcomplete_vending_machine.json @@ -183,6 +183,11 @@ "description": "Layer 'Vending Machines' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Vending Machines')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Vending Machines' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Vending Machines')", + "value": "closed" + }, { "key": "payment:cash", "description": "Layer 'Vending Machines' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' (in the mapcomplete.org theme 'Vending Machines')", diff --git a/Docs/TagInfo/mapcomplete_waste.json b/Docs/TagInfo/mapcomplete_waste.json index 2ba793c66..6ae8feecb 100644 --- a/Docs/TagInfo/mapcomplete_waste.json +++ b/Docs/TagInfo/mapcomplete_waste.json @@ -336,6 +336,11 @@ "description": "Layer 'Recycling' shows opening_hours=24/7 with a fixed text, namely '24/7 opened (including holidays)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Waste')", "value": "24/7" }, + { + "key": "opening_hours", + "description": "Layer 'Recycling' shows opening_hours=closed with a fixed text, namely 'Marked as closed for an unspecified time' (in the mapcomplete.org theme 'Waste')", + "value": "closed" + }, { "key": "access", "description": "Layer 'Recycling' shows and asks freeform values for key 'access' (in the mapcomplete.org theme 'Waste')" diff --git a/Docs/Themes/advertising.md b/Docs/Themes/advertising.md index ca00f4222..e3e9ab231 100644 --- a/Docs/Themes/advertising.md +++ b/Docs/Themes/advertising.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/aed.md b/Docs/Themes/aed.md index 510d32015..8e8083b0b 100644 --- a/Docs/Themes/aed.md +++ b/Docs/Themes/aed.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/artwork.md b/Docs/Themes/artwork.md index 6f5a81aff..92b42f0b8 100644 --- a/Docs/Themes/artwork.md +++ b/Docs/Themes/artwork.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/atm.md b/Docs/Themes/atm.md index 64a780a3d..5c7e72f50 100644 --- a/Docs/Themes/atm.md +++ b/Docs/Themes/atm.md @@ -25,6 +25,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/bag.md b/Docs/Themes/bag.md index cd7f748d7..435dee14c 100644 --- a/Docs/Themes/bag.md +++ b/Docs/Themes/bag.md @@ -11,10 +11,10 @@ This theme contains the following layers: - - [osm:buildings](../Layers/osm:buildings.md) - - [osm:adresses](../Layers/osm:adresses.md) - - [bag:pand](../Layers/bag:pand.md) - - [bag:verblijfsobject](../Layers/bag:verblijfsobject.md) + - [osm_buildings](../Layers/osm_buildings.md) + - [osm_adresses](../Layers/osm_adresses.md) + - [bag_pand](../Layers/bag_pand.md) + - [bag_verblijfsobject](../Layers/bag_verblijfsobject.md) - [selected_element](../Layers/selected_element.md) - [gps_location](../Layers/gps_location.md) - [gps_location_history](../Layers/gps_location_history.md) @@ -23,6 +23,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/benches.md b/Docs/Themes/benches.md index 3c03b512d..b9d72485c 100644 --- a/Docs/Themes/benches.md +++ b/Docs/Themes/benches.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/bicycle_parkings.md b/Docs/Themes/bicycle_parkings.md new file mode 100644 index 000000000..e069ae4d7 --- /dev/null +++ b/Docs/Themes/bicycle_parkings.md @@ -0,0 +1,34 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + Bicycle parkings ( [bicycle_parkings](https://mapcomplete.org/bicycle_parkings) ) +----------------------------------------------------------------------------------- + + + +A map showing all types of bicycle parkings + +This theme contains the following layers: + + + + - [bike_parking](../Layers/bike_parking.md) + - [selected_element](../Layers/selected_element.md) + - [gps_location](../Layers/gps_location.md) + - [gps_location_history](../Layers/gps_location_history.md) + - [home_location](../Layers/home_location.md) + - [gps_track](../Layers/gps_track.md) + - [range](../Layers/range.md) + - [last_click](../Layers/last_click.md) + - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) + + +Available languages: + + + + - en + - de + + +This document is autogenerated from [assets/themes/bicycle_parkings/bicycle_parkings.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/bicycle_parkings/bicycle_parkings.json) diff --git a/Docs/Themes/bicycle_rental.md b/Docs/Themes/bicycle_rental.md index 048609d2e..a7e7c2634 100644 --- a/Docs/Themes/bicycle_rental.md +++ b/Docs/Themes/bicycle_rental.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/bicyclelib.md b/Docs/Themes/bicyclelib.md index c0bea8b0d..d7ca90ae1 100644 --- a/Docs/Themes/bicyclelib.md +++ b/Docs/Themes/bicyclelib.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/binoculars.md b/Docs/Themes/binoculars.md index 1c0e4c5e0..b29e082ba 100644 --- a/Docs/Themes/binoculars.md +++ b/Docs/Themes/binoculars.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/blind_osm.md b/Docs/Themes/blind_osm.md index cdb9b29e9..8f0e1738d 100644 --- a/Docs/Themes/blind_osm.md +++ b/Docs/Themes/blind_osm.md @@ -25,6 +25,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/bookcases.md b/Docs/Themes/bookcases.md index c774137eb..28b345c7e 100644 --- a/Docs/Themes/bookcases.md +++ b/Docs/Themes/bookcases.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/buurtnatuur.md b/Docs/Themes/buurtnatuur.md index ff5c96061..534ffaadc 100644 --- a/Docs/Themes/buurtnatuur.md +++ b/Docs/Themes/buurtnatuur.md @@ -23,6 +23,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/cafes_and_pubs.md b/Docs/Themes/cafes_and_pubs.md index 49a679d27..12bfd7101 100644 --- a/Docs/Themes/cafes_and_pubs.md +++ b/Docs/Themes/cafes_and_pubs.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/campersite.md b/Docs/Themes/campersite.md index 7c9ea476f..8c1f8c99a 100644 --- a/Docs/Themes/campersite.md +++ b/Docs/Themes/campersite.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/charging_stations.md b/Docs/Themes/charging_stations.md index a30203618..03125d5bd 100644 --- a/Docs/Themes/charging_stations.md +++ b/Docs/Themes/charging_stations.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/climbing.md b/Docs/Themes/climbing.md index 8b39ebaef..79df83bb3 100644 --- a/Docs/Themes/climbing.md +++ b/Docs/Themes/climbing.md @@ -29,6 +29,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/clock.md b/Docs/Themes/clock.md index 2ce548f73..91237a159 100644 --- a/Docs/Themes/clock.md +++ b/Docs/Themes/clock.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/cycle_highways.md b/Docs/Themes/cycle_highways.md index 7e9919066..c0252e0b4 100644 --- a/Docs/Themes/cycle_highways.md +++ b/Docs/Themes/cycle_highways.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/cycle_infra.md b/Docs/Themes/cycle_infra.md index f073493e4..18894afae 100644 --- a/Docs/Themes/cycle_infra.md +++ b/Docs/Themes/cycle_infra.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/cyclenodes.md b/Docs/Themes/cyclenodes.md index 34f26adfa..b9b2299d0 100644 --- a/Docs/Themes/cyclenodes.md +++ b/Docs/Themes/cyclenodes.md @@ -11,9 +11,9 @@ This theme contains the following layers: - - [node2node](../Layers/node2node.md) - - [node](../Layers/node.md) - - [guidepost](../Layers/guidepost.md) + - [node2node_bicycle](../Layers/node2node_bicycle.md) + - [node_bicycle](../Layers/node_bicycle.md) + - [bicycle_guidepost](../Layers/bicycle_guidepost.md) - [route_marker](../Layers/route_marker.md) - [cycleways_and_roads](../Layers/cycleways_and_roads.md) - [selected_element](../Layers/selected_element.md) @@ -24,6 +24,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/cyclestreets.md b/Docs/Themes/cyclestreets.md index d5ca0ac75..a72569144 100644 --- a/Docs/Themes/cyclestreets.md +++ b/Docs/Themes/cyclestreets.md @@ -13,7 +13,7 @@ This theme contains the following layers: - [fietsstraat](../Layers/fietsstraat.md) - [toekomstige_fietsstraat](../Layers/toekomstige_fietsstraat.md) - - [all_streets](../Layers/all_streets.md) + - [not_cyclestreets](../Layers/not_cyclestreets.md) - [selected_element](../Layers/selected_element.md) - [gps_location](../Layers/gps_location.md) - [gps_location_history](../Layers/gps_location_history.md) @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/cyclofix.md b/Docs/Themes/cyclofix.md index 732f61aa7..690314791 100644 --- a/Docs/Themes/cyclofix.md +++ b/Docs/Themes/cyclofix.md @@ -32,6 +32,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/disaster_response.md b/Docs/Themes/disaster_response.md index 87c6aed1e..1dedad041 100644 --- a/Docs/Themes/disaster_response.md +++ b/Docs/Themes/disaster_response.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/drinking_water.md b/Docs/Themes/drinking_water.md index dc8825aa3..67a9b9a04 100644 --- a/Docs/Themes/drinking_water.md +++ b/Docs/Themes/drinking_water.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/education.md b/Docs/Themes/education.md index 5a55654a0..5abc8fe39 100644 --- a/Docs/Themes/education.md +++ b/Docs/Themes/education.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/elongated_coin.md b/Docs/Themes/elongated_coin.md index 0ebebc959..a4e545cef 100644 --- a/Docs/Themes/elongated_coin.md +++ b/Docs/Themes/elongated_coin.md @@ -12,6 +12,8 @@ This theme contains the following layers: - [elongated_coin](../Layers/elongated_coin.md) + - [souvenir_coin](../Layers/souvenir_coin.md) + - [souvenir_note](../Layers/souvenir_note.md) - [selected_element](../Layers/selected_element.md) - [gps_location](../Layers/gps_location.md) - [gps_location_history](../Layers/gps_location_history.md) @@ -20,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/etymology.md b/Docs/Themes/etymology.md index ffde4d81b..9b76b3a90 100644 --- a/Docs/Themes/etymology.md +++ b/Docs/Themes/etymology.md @@ -27,6 +27,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/facadegardens.md b/Docs/Themes/facadegardens.md index 17caab7c8..98eb00ed2 100644 --- a/Docs/Themes/facadegardens.md +++ b/Docs/Themes/facadegardens.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/food.md b/Docs/Themes/food.md index e90fba78b..7d0920c14 100644 --- a/Docs/Themes/food.md +++ b/Docs/Themes/food.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/fritures.md b/Docs/Themes/fritures.md index 5ab4e4522..94250c1f4 100644 --- a/Docs/Themes/fritures.md +++ b/Docs/Themes/fritures.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/ghostbikes.md b/Docs/Themes/ghostbikes.md index 561293697..57fa3c134 100644 --- a/Docs/Themes/ghostbikes.md +++ b/Docs/Themes/ghostbikes.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/ghostsigns.md b/Docs/Themes/ghostsigns.md new file mode 100644 index 000000000..4825dc2af --- /dev/null +++ b/Docs/Themes/ghostsigns.md @@ -0,0 +1,36 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + Ghost Signs ( [ghostsigns](https://mapcomplete.org/ghostsigns) ) +------------------------------------------------------------------ + + + +A map showing disused signs on buildings + +This theme contains the following layers: + + + + - [walls_and_buildings](../Layers/walls_and_buildings.md) + - [ghostsigns](../Layers/ghostsigns.md) + - [advertising_wall_paintings](../Layers/advertising_wall_paintings.md) + - [selected_element](../Layers/selected_element.md) + - [gps_location](../Layers/gps_location.md) + - [gps_location_history](../Layers/gps_location_history.md) + - [home_location](../Layers/home_location.md) + - [gps_track](../Layers/gps_track.md) + - [range](../Layers/range.md) + - [last_click](../Layers/last_click.md) + - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) + + +Available languages: + + + + - en + - de + + +This document is autogenerated from [assets/themes/ghostsigns/ghostsigns.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/ghostsigns/ghostsigns.json) diff --git a/Docs/Themes/grb.md b/Docs/Themes/grb.md index 55c76a439..a3cf5d1ec 100644 --- a/Docs/Themes/grb.md +++ b/Docs/Themes/grb.md @@ -12,7 +12,7 @@ This theme contains the following layers: - [named_streets](../Layers/named_streets.md) - - [osm-buildings](../Layers/osm-buildings.md) + - [osm_buildings_no_points](../Layers/osm_buildings_no_points.md) - [grb](../Layers/grb.md) - [service_ways](../Layers/service_ways.md) - [generic_osm_object](../Layers/generic_osm_object.md) @@ -27,6 +27,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/guideposts.md b/Docs/Themes/guideposts.md index 7dd96bfca..a20a547ea 100644 --- a/Docs/Themes/guideposts.md +++ b/Docs/Themes/guideposts.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/hackerspaces.md b/Docs/Themes/hackerspaces.md index 7bcad1cee..2d3df2759 100644 --- a/Docs/Themes/hackerspaces.md +++ b/Docs/Themes/hackerspaces.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/hailhydrant.md b/Docs/Themes/hailhydrant.md index c14b0a817..a9b8c9bdf 100644 --- a/Docs/Themes/hailhydrant.md +++ b/Docs/Themes/hailhydrant.md @@ -23,6 +23,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/healthcare.md b/Docs/Themes/healthcare.md index 4692e06c2..53aa95956 100644 --- a/Docs/Themes/healthcare.md +++ b/Docs/Themes/healthcare.md @@ -16,7 +16,7 @@ This theme contains the following layers: - [dentist](../Layers/dentist.md) - [hospital](../Layers/hospital.md) - [pharmacy](../Layers/pharmacy.md) - - [medical-shops](../Layers/medical-shops.md) + - [medical_shops](../Layers/medical_shops.md) - [shops](../Layers/shops.md) - [selected_element](../Layers/selected_element.md) - [gps_location](../Layers/gps_location.md) @@ -26,6 +26,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/hotels.md b/Docs/Themes/hotels.md index 2e2df6dd1..edb88b90e 100644 --- a/Docs/Themes/hotels.md +++ b/Docs/Themes/hotels.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/icecream.md b/Docs/Themes/icecream.md index 3a1f317c7..1a56c2371 100644 --- a/Docs/Themes/icecream.md +++ b/Docs/Themes/icecream.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/indoors.md b/Docs/Themes/indoors.md index 346d6a0c8..9660d357b 100644 --- a/Docs/Themes/indoors.md +++ b/Docs/Themes/indoors.md @@ -24,6 +24,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/items_with_image.md b/Docs/Themes/items_with_image.md new file mode 100644 index 000000000..d80647c38 --- /dev/null +++ b/Docs/Themes/items_with_image.md @@ -0,0 +1,34 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + All items with images ( [items_with_image](https://mapcomplete.org/items_with_image) ) +---------------------------------------------------------------------------------------- + + + +A map showing all items on OSM which have an image. This theme is a very bad fit for MapComplete as someone is not able to directly add a picture. However, this theme is mostly here to include this all into the database, which'll allow this to quickly fetch images nearby for other features + +This theme contains the following layers: + + + + - [item_with_image](../Layers/item_with_image.md) + - [selected_element](../Layers/selected_element.md) + - [gps_location](../Layers/gps_location.md) + - [gps_location_history](../Layers/gps_location_history.md) + - [home_location](../Layers/home_location.md) + - [gps_track](../Layers/gps_track.md) + - [range](../Layers/range.md) + - [last_click](../Layers/last_click.md) + - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) + + +Available languages: + + + + - en + - de + + +This document is autogenerated from [assets/themes/items_with_image/items_with_image.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/items_with_image/items_with_image.json) diff --git a/Docs/Themes/kerbs_and_crossings.md b/Docs/Themes/kerbs_and_crossings.md index b56dfe947..aebf15f8f 100644 --- a/Docs/Themes/kerbs_and_crossings.md +++ b/Docs/Themes/kerbs_and_crossings.md @@ -12,7 +12,7 @@ This theme contains the following layers: - [cycleways_and_roads](../Layers/cycleways_and_roads.md) - - [crossings](../Layers/crossings.md) + - [crossings_no_traffic_lights](../Layers/crossings_no_traffic_lights.md) - [kerbs](../Layers/kerbs.md) - [selected_element](../Layers/selected_element.md) - [gps_location](../Layers/gps_location.md) @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/mapcomplete-changes.md b/Docs/Themes/mapcomplete-changes.md index 3709a80fb..ac343dabb 100644 --- a/Docs/Themes/mapcomplete-changes.md +++ b/Docs/Themes/mapcomplete-changes.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: @@ -28,8 +29,6 @@ Available languages: - en - - de - - es This document is autogenerated from [assets/themes/mapcomplete-changes/mapcomplete-changes.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/mapcomplete-changes/mapcomplete-changes.json) diff --git a/Docs/Themes/maproulette.md b/Docs/Themes/maproulette.md index 939ff23a8..57a9b5ee8 100644 --- a/Docs/Themes/maproulette.md +++ b/Docs/Themes/maproulette.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/maps.md b/Docs/Themes/maps.md index 37bcb4994..6e7647207 100644 --- a/Docs/Themes/maps.md +++ b/Docs/Themes/maps.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/maxspeed.md b/Docs/Themes/maxspeed.md index 49b6c5469..93398c23c 100644 --- a/Docs/Themes/maxspeed.md +++ b/Docs/Themes/maxspeed.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/memorials.md b/Docs/Themes/memorials.md new file mode 100644 index 000000000..97f31aee9 --- /dev/null +++ b/Docs/Themes/memorials.md @@ -0,0 +1,36 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + + Memorials ( [memorials](https://mapcomplete.org/memorials) ) +-------------------------------------------------------------- + + + +Memorials are physical objects permantently placed in the public space to remember a person or event. They can be a wide range of objects, such as statues, plaques, paintings, military objects (such as tanks), ... + +This theme contains the following layers: + + + + - [ghost_bike](../Layers/ghost_bike.md) + - [memorial](../Layers/memorial.md) + - [bench](../Layers/bench.md) + - [selected_element](../Layers/selected_element.md) + - [gps_location](../Layers/gps_location.md) + - [gps_location_history](../Layers/gps_location_history.md) + - [home_location](../Layers/home_location.md) + - [gps_track](../Layers/gps_track.md) + - [range](../Layers/range.md) + - [last_click](../Layers/last_click.md) + - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) + + +Available languages: + + + + - en + - de + + +This document is autogenerated from [assets/themes/memorials/memorials.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/memorials/memorials.json) diff --git a/Docs/Themes/nature.md b/Docs/Themes/nature.md index 1442539cd..8bde458f4 100644 --- a/Docs/Themes/nature.md +++ b/Docs/Themes/nature.md @@ -29,6 +29,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/notes.md b/Docs/Themes/notes.md index 7f4738eaf..9ae6095e9 100644 --- a/Docs/Themes/notes.md +++ b/Docs/Themes/notes.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/observation_towers.md b/Docs/Themes/observation_towers.md index c1ff7e230..c904c7743 100644 --- a/Docs/Themes/observation_towers.md +++ b/Docs/Themes/observation_towers.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/onwheels.md b/Docs/Themes/onwheels.md index 334d2db7c..fbe002e2f 100644 --- a/Docs/Themes/onwheels.md +++ b/Docs/Themes/onwheels.md @@ -40,6 +40,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/openlovemap.md b/Docs/Themes/openlovemap.md index 1af054275..88aa7421c 100644 --- a/Docs/Themes/openlovemap.md +++ b/Docs/Themes/openlovemap.md @@ -13,7 +13,7 @@ This theme contains the following layers: - [brothel](../Layers/brothel.md) - [stripclub](../Layers/stripclub.md) - - [erotic-shop](../Layers/erotic-shop.md) + - [erotic_shop](../Layers/erotic_shop.md) - [shops](../Layers/shops.md) - [condom_vending_machine](../Layers/condom_vending_machine.md) - [vending_machine](../Layers/vending_machine.md) @@ -29,6 +29,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/openwindpowermap.md b/Docs/Themes/openwindpowermap.md index b50bdabe3..04f0946da 100644 --- a/Docs/Themes/openwindpowermap.md +++ b/Docs/Themes/openwindpowermap.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/osm_community_index.md b/Docs/Themes/osm_community_index.md index 85a215463..116ee3dcf 100644 --- a/Docs/Themes/osm_community_index.md +++ b/Docs/Themes/osm_community_index.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/parkings.md b/Docs/Themes/parkings.md index 0e4cc112f..85dbbf74e 100644 --- a/Docs/Themes/parkings.md +++ b/Docs/Themes/parkings.md @@ -23,6 +23,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/personal.md b/Docs/Themes/personal.md index 2aebe8eb9..f9d529cff 100644 --- a/Docs/Themes/personal.md +++ b/Docs/Themes/personal.md @@ -75,6 +75,7 @@ This theme contains the following layers: - [map](../Layers/map.md) - [maproulette_challenge](../Layers/maproulette_challenge.md) - [maxspeed](../Layers/maxspeed.md) + - [memorial](../Layers/memorial.md) - [mountain_rescue](../Layers/mountain_rescue.md) - [nature_reserve](../Layers/nature_reserve.md) - [note](../Layers/note.md) @@ -89,6 +90,7 @@ This theme contains the following layers: - [physiotherapist](../Layers/physiotherapist.md) - [picnic_table](../Layers/picnic_table.md) - [playground](../Layers/playground.md) + - [playground_equipment](../Layers/playground_equipment.md) - [postboxes](../Layers/postboxes.md) - [postoffices](../Layers/postoffices.md) - [public_bookcase](../Layers/public_bookcase.md) @@ -100,6 +102,8 @@ This theme contains the following layers: - [shops](../Layers/shops.md) - [shower](../Layers/shower.md) - [ski_piste](../Layers/ski_piste.md) + - [souvenir_coin](../Layers/souvenir_coin.md) + - [souvenir_note](../Layers/souvenir_note.md) - [speed_camera](../Layers/speed_camera.md) - [speed_display](../Layers/speed_display.md) - [sport_pitch](../Layers/sport_pitch.md) @@ -130,6 +134,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/pets.md b/Docs/Themes/pets.md index 3750f5f98..61c16c281 100644 --- a/Docs/Themes/pets.md +++ b/Docs/Themes/pets.md @@ -26,6 +26,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/play_forests.md b/Docs/Themes/play_forests.md index 24a702c9f..689613e90 100644 --- a/Docs/Themes/play_forests.md +++ b/Docs/Themes/play_forests.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/playgrounds.md b/Docs/Themes/playgrounds.md index 51aa7abc1..ac8ecb809 100644 --- a/Docs/Themes/playgrounds.md +++ b/Docs/Themes/playgrounds.md @@ -12,6 +12,7 @@ This theme contains the following layers: - [playground](../Layers/playground.md) + - [playground_equipment](../Layers/playground_equipment.md) - [bench](../Layers/bench.md) - [picnic_table](../Layers/picnic_table.md) - [selected_element](../Layers/selected_element.md) @@ -22,6 +23,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/postal_codes.md b/Docs/Themes/postal_codes.md index 28574dc35..3a247b539 100644 --- a/Docs/Themes/postal_codes.md +++ b/Docs/Themes/postal_codes.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/postboxes.md b/Docs/Themes/postboxes.md index 2a05e0fec..e4dc60fd4 100644 --- a/Docs/Themes/postboxes.md +++ b/Docs/Themes/postboxes.md @@ -14,6 +14,7 @@ This theme contains the following layers: - [postboxes](../Layers/postboxes.md) - [postoffices](../Layers/postoffices.md) - [parcel_lockers](../Layers/parcel_lockers.md) + - [shops](../Layers/shops.md) - [selected_element](../Layers/selected_element.md) - [gps_location](../Layers/gps_location.md) - [gps_location_history](../Layers/gps_location_history.md) @@ -22,6 +23,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/rainbow_crossings.md b/Docs/Themes/rainbow_crossings.md index 75cc3d152..607c54d04 100644 --- a/Docs/Themes/rainbow_crossings.md +++ b/Docs/Themes/rainbow_crossings.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/shops.md b/Docs/Themes/shops.md index d5d0046d4..8ef0bee06 100644 --- a/Docs/Themes/shops.md +++ b/Docs/Themes/shops.md @@ -23,6 +23,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/sidewalks.md b/Docs/Themes/sidewalks.md index 35145ccb3..9bc6f6f8d 100644 --- a/Docs/Themes/sidewalks.md +++ b/Docs/Themes/sidewalks.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/ski.md b/Docs/Themes/ski.md index 9d5611fd6..7cd21256d 100644 --- a/Docs/Themes/ski.md +++ b/Docs/Themes/ski.md @@ -30,6 +30,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/speelplekken.md b/Docs/Themes/speelplekken.md index 550b19d8c..0fbe29319 100644 --- a/Docs/Themes/speelplekken.md +++ b/Docs/Themes/speelplekken.md @@ -26,6 +26,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/sport_pitches.md b/Docs/Themes/sport_pitches.md index 749428909..60885e705 100644 --- a/Docs/Themes/sport_pitches.md +++ b/Docs/Themes/sport_pitches.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/sports.md b/Docs/Themes/sports.md index 339e1a5fe..1d637826d 100644 --- a/Docs/Themes/sports.md +++ b/Docs/Themes/sports.md @@ -24,6 +24,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/stations.md b/Docs/Themes/stations.md index fe1d3422d..101590e69 100644 --- a/Docs/Themes/stations.md +++ b/Docs/Themes/stations.md @@ -42,6 +42,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/street_lighting.md b/Docs/Themes/street_lighting.md index f976be76f..97b53dbcc 100644 --- a/Docs/Themes/street_lighting.md +++ b/Docs/Themes/street_lighting.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/street_lighting_assen.md b/Docs/Themes/street_lighting_assen.md index 20bd8cdbc..5237b84fe 100644 --- a/Docs/Themes/street_lighting_assen.md +++ b/Docs/Themes/street_lighting_assen.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/surveillance.md b/Docs/Themes/surveillance.md index 25285d9c8..876273d4b 100644 --- a/Docs/Themes/surveillance.md +++ b/Docs/Themes/surveillance.md @@ -21,6 +21,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/toerisme_vlaanderen.md b/Docs/Themes/toerisme_vlaanderen.md index 2865b0f3d..28056e349 100644 --- a/Docs/Themes/toerisme_vlaanderen.md +++ b/Docs/Themes/toerisme_vlaanderen.md @@ -29,6 +29,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/toilets.md b/Docs/Themes/toilets.md index b1fae7f24..74882a38f 100644 --- a/Docs/Themes/toilets.md +++ b/Docs/Themes/toilets.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/transit.md b/Docs/Themes/transit.md index d7a588908..b6063e504 100644 --- a/Docs/Themes/transit.md +++ b/Docs/Themes/transit.md @@ -15,7 +15,7 @@ This theme contains the following layers: - [transit_routes](../Layers/transit_routes.md) - [bike_parking](../Layers/bike_parking.md) - [parking](../Layers/parking.md) - - [shelter](../Layers/shelter.md) + - [pt_shelter](../Layers/pt_shelter.md) - [selected_element](../Layers/selected_element.md) - [gps_location](../Layers/gps_location.md) - [gps_location_history](../Layers/gps_location_history.md) @@ -24,6 +24,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/trees.md b/Docs/Themes/trees.md index 92c9c5a7e..8a6e8a15f 100644 --- a/Docs/Themes/trees.md +++ b/Docs/Themes/trees.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/uk_addresses.md b/Docs/Themes/uk_addresses.md index bedd7bd68..ab34efa25 100644 --- a/Docs/Themes/uk_addresses.md +++ b/Docs/Themes/uk_addresses.md @@ -11,9 +11,10 @@ This theme contains the following layers: + - [address](../Layers/address.md) - [raw_inspire_polygons](../Layers/raw_inspire_polygons.md) - [to_import](../Layers/to_import.md) - - [address](../Layers/address.md) + - [uk_address](../Layers/uk_address.md) - [named_streets](../Layers/named_streets.md) - [selected_element](../Layers/selected_element.md) - [gps_location](../Layers/gps_location.md) @@ -23,6 +24,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/velopark.md b/Docs/Themes/velopark.md index 228dd426e..39347c910 100644 --- a/Docs/Themes/velopark.md +++ b/Docs/Themes/velopark.md @@ -25,6 +25,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/vending_machine.md b/Docs/Themes/vending_machine.md index 8dabe6377..a1cd1bfee 100644 --- a/Docs/Themes/vending_machine.md +++ b/Docs/Themes/vending_machine.md @@ -24,6 +24,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/walkingnodes.md b/Docs/Themes/walkingnodes.md index fe6efe0b0..69086018c 100644 --- a/Docs/Themes/walkingnodes.md +++ b/Docs/Themes/walkingnodes.md @@ -11,9 +11,9 @@ This theme contains the following layers: - - [node2node](../Layers/node2node.md) - - [node](../Layers/node.md) - - [guidepost](../Layers/guidepost.md) + - [node2node_hiking](../Layers/node2node_hiking.md) + - [node_hiking](../Layers/node_hiking.md) + - [guidepost_hiking](../Layers/guidepost_hiking.md) - [route_marker](../Layers/route_marker.md) - [cycleways_and_roads](../Layers/cycleways_and_roads.md) - [selected_element](../Layers/selected_element.md) @@ -24,6 +24,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/walls_and_buildings.md b/Docs/Themes/walls_and_buildings.md index 6cc916b1e..9cbda59a5 100644 --- a/Docs/Themes/walls_and_buildings.md +++ b/Docs/Themes/walls_and_buildings.md @@ -23,6 +23,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/waste.md b/Docs/Themes/waste.md index c47187505..22b2b207a 100644 --- a/Docs/Themes/waste.md +++ b/Docs/Themes/waste.md @@ -22,6 +22,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/waste_assen.md b/Docs/Themes/waste_assen.md index 8c00d2dc1..80180beff 100644 --- a/Docs/Themes/waste_assen.md +++ b/Docs/Themes/waste_assen.md @@ -24,6 +24,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/waste_basket.md b/Docs/Themes/waste_basket.md index f83c9b3eb..eae7d6813 100644 --- a/Docs/Themes/waste_basket.md +++ b/Docs/Themes/waste_basket.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/Themes/width.md b/Docs/Themes/width.md index c8567e6e4..25ef86706 100644 --- a/Docs/Themes/width.md +++ b/Docs/Themes/width.md @@ -20,6 +20,7 @@ This theme contains the following layers: - [range](../Layers/range.md) - [last_click](../Layers/last_click.md) - [favourite](../Layers/favourite.md) + - [summary](../Layers/summary.md) Available languages: diff --git a/Docs/URL_Parameters.md b/Docs/URL_Parameters.md index e6232f6a3..19e074efc 100644 --- a/Docs/URL_Parameters.md +++ b/Docs/URL_Parameters.md @@ -387,7 +387,7 @@ This documentation is defined in the source code at [InitialMapPositioning.ts](/ Used to complete the login -This documentation is defined in the source code at [ThemeViewState.ts](/src/Models/ThemeViewState.ts#L166) +This documentation is defined in the source code at [ThemeViewState.ts](/src/Models/ThemeViewState.ts#L171) No default value set @@ -464,7 +464,7 @@ This documentation is defined in the source code at [FilteredLayer.ts](/src/Mode The mode the application starts in, e.g. 'map', 'dashboard' or 'statistics' -This documentation is defined in the source code at [generateDocs.ts](ervdvn/git/MapComplete/scripts/generateDocs.ts#L420) +This documentation is defined in the source code at [generateDocs.ts](ervdvn/git/MapComplete/scripts/generateDocs.ts#L422) The default value is _map_ diff --git a/Docs/wikiIndex.txt b/Docs/wikiIndex.txt index 1660111fd..5b78008db 100644 --- a/Docs/wikiIndex.txt +++ b/Docs/wikiIndex.txt @@ -146,6 +146,15 @@ |genre= POI, editor, benches }} {{service_item +|name= [https://mapcomplete.org/bicycle_parkings bicycle_parkings] +|region= Worldwide +|lang= {{#language:en|en}}, {{#language:de|en}} +|descr= A MapComplete theme: A map showing all types of bicycle parkings +|material= {{yes|[https://mapcomplete.org/ Yes]}} +|image= MapComplete_Screenshot.png +|genre= POI, editor, bicycle_parkings +}} +{{service_item |name= [https://mapcomplete.org/bicycle_rental bicycle_rental] |region= Worldwide |lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:id|en}}, {{#language:fr|en}}, {{#language:es|en}}, {{#language:nb_NO|en}}, {{#language:ca|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:eu|en}}, {{#language:pl|en}} @@ -299,6 +308,15 @@ |genre= POI, editor, ghostbikes }} {{service_item +|name= [https://mapcomplete.org/ghostsigns ghostsigns] +|region= Worldwide +|lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:es|en}} +|descr= A MapComplete theme: A map showing disused signs on buildings +|material= {{yes|[https://mapcomplete.org/ Yes]}} +|image= MapComplete_Screenshot.png +|genre= POI, editor, ghostsigns +}} +{{service_item |name= [https://mapcomplete.org/guideposts guideposts] |region= Worldwide |lang= {{#language:en|en}}, {{#language:cs|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:pl|en}} @@ -382,6 +400,15 @@ The position of a signpost can be used by a hiker/biker/rider/s… |genre= POI, editor, maxspeed }} {{service_item +|name= [https://mapcomplete.org/memorials memorials] +|region= Worldwide +|lang= {{#language:en|en}}, {{#language:de|en}} +|descr= A MapComplete theme: Memorials are physical objects permantently placed in the public space to remember a person or event +|material= {{yes|[https://mapcomplete.org/ Yes]}} +|image= MapComplete_Screenshot.png +|genre= POI, editor, memorials +}} +{{service_item |name= [https://mapcomplete.org/nature nature] |region= Worldwide |lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:fr|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:ca|en}}, {{#language:zh_Hant|en}}, {{#language:pl|en}} diff --git a/assets/layers/address/address.json b/assets/layers/address/address.json index 9b50f5828..2617ae333 100644 --- a/assets/layers/address/address.json +++ b/assets/layers/address/address.json @@ -170,7 +170,8 @@ "pt_BR": "O número da casa é {addr:housenumber}", "he": "מספר הבית הוא {addr:housenumber}", "eu": "Etxearen zenbakia {addr:housenumber} da", - "it": "Il numero civico della casa è {addr:housenumber}" + "it": "Il numero civico della casa è {addr:housenumber}", + "zh_Hant": "門牌號碼是 {addr:housenumber}" }, "question": { "en": "What is the number of this house?", @@ -191,7 +192,8 @@ "pt_BR": "Qual é o número desta casa?", "he": "מה המספר של הבית הזה?", "eu": "Zein da etxe honen zenbakia?", - "it": "Qual è il numero civico di questa casa?" + "it": "Qual è il numero civico di questa casa?", + "zh_Hant": "這間房子的門牌號碼是多少?" }, "freeform": { "key": "addr:housenumber", @@ -273,7 +275,8 @@ "pt_BR": "Em que rua fica esse endereço?", "he": "באיזה רחוב נמצאת הכתובת הזו?", "eu": "Zein kaletan dago helbide hori?", - "it": "Qual è la via in cui si trova?" + "it": "Qual è la via in cui si trova?", + "zh_Hant": "地址所在的道路是?" }, "freeform": { "key": "addr:street" diff --git a/assets/layers/advertising/advertising.json b/assets/layers/advertising/advertising.json index 0fd455cc9..2b216f634 100644 --- a/assets/layers/advertising/advertising.json +++ b/assets/layers/advertising/advertising.json @@ -13,7 +13,8 @@ "pl": "Reklama", "pt_BR": "Anunciar", "zh_Hans": "广告", - "it": "Pubblicità" + "it": "Pubblicità", + "zh_Hant": "廣告" }, "description": { "ca": "Completarem les dades dels elements publicitaris amb referència, operador i il·luminació", @@ -28,7 +29,12 @@ "it": "Completeremo i dati da caratteristiche pubblicitarie, con referenza, operatore e illuminazione" }, "source": { - "osmTags": "advertising~*" + "osmTags": { + "and": [ + "advertising~*", + "advertising!=no" + ] + } }, "minzoom": 15, "title": { @@ -309,6 +315,27 @@ }, "then": "./assets/themes/advertising/poster_box_no_support.svg" }, + { + "if": { + "and": [ + "advertising=poster_box", + { + "or": [ + "shelter=yes", + "amenity=shelter", + "building=shelter" + ] + }, + { + "or": [ + "public_transport=platform", + "highway=bus_stop" + ] + } + ] + }, + "then": "./assets/themes/advertising/poster_box_transit_shelter.svg" + }, { "if": "advertising=poster_box", "then": "./assets/themes/advertising/poster_box.svg" @@ -398,7 +425,8 @@ "pl": "bilbord", "pt_BR": "um outdoor", "zh_Hans": "一块广告牌", - "it": "un cartellone" + "it": "un cartellone", + "zh_Hant": "一塊告示牌" }, "description": { "en": "A large outdoor advertising structure, typically found in high-traffic areas such as alongside busy roads", @@ -434,7 +462,8 @@ "fr": "un panneau à affiches scellé au sol", "pl": "wolnostojąca skrzynka plakatowa", "pt_BR": "uma caixa expositora independente", - "it": "un cartellone pubblicitario fissato a terra" + "it": "un cartellone pubblicitario fissato a terra", + "zh_Hant": "獨自設立的海報框" }, "exampleImages": [ "./assets/themes/advertising/Mupi_spain.jpg", diff --git a/assets/layers/artwork/artwork.json b/assets/layers/artwork/artwork.json index 7ed51de84..e89dd7751 100644 --- a/assets/layers/artwork/artwork.json +++ b/assets/layers/artwork/artwork.json @@ -661,7 +661,11 @@ "freeform": { "key": "artist_name" }, - "condition": "artist:wikidata=", + "condition": { + "and": [ + "artist:wikidata=" + ] + }, "id": "artwork-artist_name", "labels": [ "artwork-question" @@ -744,7 +748,11 @@ "wikipedia", { "id": "artwork_subject", - "condition": "subject:wikidata~*", + "condition": { + "and": [ + "subject:wikidata~*" + ] + }, "question": { "en": "What does this artwork depict?", "de": "Was zeigt dieses Kunstwerk?", @@ -856,9 +864,13 @@ ] }, { - "builtin": "bench.*bench-questions", + "builtin": "bench.bench-questions", "override": { - "condition": "amenity=bench" + "condition": { + "and": [ + "amenity=bench" + ] + } } } ], diff --git a/assets/layers/barrier/barrier.json b/assets/layers/barrier/barrier.json index 6a3650036..37026ad00 100644 --- a/assets/layers/barrier/barrier.json +++ b/assets/layers/barrier/barrier.json @@ -219,7 +219,8 @@ "cs": "Cyklista ji může projet.", "ca": "Un ciclista pot passar-hi.", "pt_BR": "Um ciclista pode passar por isso.", - "pt": "Um ciclista pode passar por isto." + "pt": "Um ciclista pode passar por isto.", + "zh_Hant": "單車騎士能夠穿越。" } }, { @@ -235,7 +236,8 @@ "cs": "Cyklista tudy nemůže projet.", "ca": "Un ciclista no pot passar-hi.", "pt_BR": "Um ciclista não pode passar por isso.", - "pt": "Um ciclista não pode passar por isst." + "pt": "Um ciclista não pode passar por isst.", + "zh_Hant": "單車騎士無法穿越。" } } ], diff --git a/assets/layers/bench/bench.json b/assets/layers/bench/bench.json index 110ddfb2d..9a0d7fd32 100644 --- a/assets/layers/bench/bench.json +++ b/assets/layers/bench/bench.json @@ -331,8 +331,7 @@ "he": "חומר: {material}" }, "freeform": { - "key": "material", - "addExtraTags": [] + "key": "material" }, "mappings": [ { @@ -1045,11 +1044,15 @@ "bench-questions" ], "condition": { - "or": [ - "historic=memorial", - "inscription~*", - "memorial=bench", - "tourism=artwork" + "and": [ + { + "or": [ + "historic=memorial", + "inscription~*", + "memorial=bench", + "tourism=artwork" + ] + } ] }, "question": { @@ -1112,7 +1115,11 @@ { "builtin": "artwork.*artwork-question", "override": { - "condition": "tourism=artwork" + "condition": { + "and": [ + "tourism=artwork" + ] + } } } ], diff --git a/assets/layers/bike_parking/bike_parking.json b/assets/layers/bike_parking/bike_parking.json index ff7183254..c507138ac 100644 --- a/assets/layers/bike_parking/bike_parking.json +++ b/assets/layers/bike_parking/bike_parking.json @@ -499,11 +499,11 @@ }, { "question": { - "en": "How many bicycles fit in this bicycle parking (including possible cargo bicycles)?", + "en": "How many bicycles fit in this bicycle parking?", "fr": "Combien de vélos entrent dans ce parking à vélos (y compris les éventuels vélos de transport) ?", - "nl": "Hoeveel fietsen kunnen in deze fietsparking (inclusief potentiëel bakfietsen)?", + "nl": "Hoeveel fietsen kunnen in deze fietsparking?", "gl": "Cantas bicicletas caben neste aparcadoiro de bicicletas (incluídas as posíbeis bicicletas de carga)?", - "de": "Wie viele Fahrräder passen auf diesen Fahrrad-Parkplatz (einschließlich möglicher Lastenfahrräder)?", + "de": "Wie viele Fahrräder passen auf diesen Fahrrad-Parkplatz?", "it": "Quante biciclette entrano in questo parcheggio per bici (incluse le eventuali bici cargo)?", "zh_Hant": "這個單車停車場能放幾台單車 (包括裝箱單車)?", "es": "¿Cuántas bicicletas caben en este aparcamiento de bicicletas (incluyendo posibles bicicletas de carga)?", @@ -513,6 +513,11 @@ "pt_BR": "Quantas bicicletas cabem nesse estacionamento de bicicletas (incluindo possíveis bicicletas de carga)?", "pt": "Quantas bicicletas cabem neste estacionamento de bicicletas (incluindo possíveis bicicletas de carga)?" }, + "questionHint": { + "en": "This includes regular bicycles, cargo bikes, ebikes, ...", + "nl": "Dit is het totaal aantal gewone fietsen, bakfietsen, elektrische fietsen, ...", + "de": "Dazu gehören reguläre Fahrräder, Lasträder, Ebikes,..." + }, "render": { "en": "Place for {capacity} bikes", "fr": "Place pour {capacity} vélos", diff --git a/assets/layers/cafe_pub/cafe_pub.json b/assets/layers/cafe_pub/cafe_pub.json index bb1417589..027ba455b 100644 --- a/assets/layers/cafe_pub/cafe_pub.json +++ b/assets/layers/cafe_pub/cafe_pub.json @@ -207,7 +207,7 @@ "ca": "un cafè", "da": "en cafe", "es": "una cafetería", - "fr": "un café", + "fr": "un café adama", "pl": "Kawiarnia", "cs": "kavárna" }, diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 62fc62992..5b7559216 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -5,12 +5,7 @@ "nl": "Oplaadpunten", "de": "Ladestationen" }, - "description": { - "en": "A charging station", - "nl": "Oplaadpunten", - "ca": "Una estació de càrrega", - "de": "Eine Ladestation" - }, + "minzoom": 10, "source": { "osmTags": { "and": [ @@ -25,7 +20,6 @@ ] } }, - "minzoom": 10, "title": { "render": { "en": "Charging station", @@ -71,103 +65,13 @@ } ] }, - "pointRendering": [ - { - "location": [ - "point", - "centroid" - ], - "marker": [ - { - "icon": "pin", - "color": "#fff" - }, - { - "icon": { - "render": "./assets/themes/charging_stations/plug.svg", - "mappings": [ - { - "if": "bicycle=yes", - "then": "./assets/themes/charging_stations/bicycle.svg" - }, - { - "if": { - "or": [ - "car=yes", - "motorcar=yes" - ] - }, - "then": "./assets/themes/charging_stations/car.svg" - } - ] - } - } - ], - "iconBadges": [ - { - "if": { - "or": [ - "disused:amenity=charging_station", - "operational_status=broken" - ] - }, - "then": "close:#c22;" - }, - { - "if": { - "or": [ - "proposed:amenity=charging_station", - "planned:amenity=charging_station" - ] - }, - "then": "./assets/layers/charging_station/under_construction.svg" - }, - { - "if": { - "and": [ - "bicycle=yes", - { - "or": [ - "motorcar=yes", - "car=yes" - ] - } - ] - }, - "then": "circle:#fff;./assets/themes/charging_stations/car.svg" - } - ], - "anchor": "bottom", - "iconSize": "50,50" - } - ], - "lineRendering": [], - "presets": [ - { - "tags": [ - "amenity=charging_station", - "motorcar=no", - "bicycle=yes" - ], - "title": { - "en": "charging station for electrical bikes", - "nl": "oplaadpunt voor elektrische fietsen", - "de": "Ladestation für Elektrofahrräder" - } - }, - { - "tags": [ - "amenity=charging_station", - "motorcar=yes", - "bicycle=no" - ], - "title": { - "en": "charging station for cars", - "nl": "oplaadstation voor elektrische auto's", - "de": "Ladestation für Elektrofahrräder" - } - } - ], + "description": { + "en": "A charging station", + "nl": "Oplaadpunten", + "ca": "Una estació de càrrega", + "de": "Eine Ladestation" + }, + "#": "no-question-hint-check", "tagRenderings": [ "images", { @@ -2412,6 +2316,103 @@ } } ], + "lineRendering": [], + "pointRendering": [ + { + "location": [ + "point", + "centroid" + ], + "marker": [ + { + "icon": "pin", + "color": "#fff" + }, + { + "icon": { + "render": "./assets/themes/charging_stations/plug.svg", + "mappings": [ + { + "if": "bicycle=yes", + "then": "./assets/themes/charging_stations/bicycle.svg" + }, + { + "if": { + "or": [ + "car=yes", + "motorcar=yes" + ] + }, + "then": "./assets/themes/charging_stations/car.svg" + } + ] + } + } + ], + "iconBadges": [ + { + "if": { + "or": [ + "disused:amenity=charging_station", + "operational_status=broken" + ] + }, + "then": "close:#c22;" + }, + { + "if": { + "or": [ + "proposed:amenity=charging_station", + "planned:amenity=charging_station" + ] + }, + "then": "./assets/layers/charging_station/under_construction.svg" + }, + { + "if": { + "and": [ + "bicycle=yes", + { + "or": [ + "motorcar=yes", + "car=yes" + ] + } + ] + }, + "then": "circle:#fff;./assets/themes/charging_stations/car.svg" + } + ], + "anchor": "bottom", + "iconSize": "50,50" + } + ], + "presets": [ + { + "tags": [ + "amenity=charging_station", + "motorcar=no", + "bicycle=yes" + ], + "title": { + "en": "charging station for electrical bikes", + "nl": "oplaadpunt voor elektrische fietsen", + "de": "Ladestation für Elektrofahrräder" + } + }, + { + "tags": [ + "amenity=charging_station", + "motorcar=yes", + "bicycle=no" + ], + "title": { + "en": "charging station for cars", + "nl": "oplaadstation voor elektrische auto's", + "de": "Ladestation für Elektrofahrräder" + } + } + ], "filter": [ { "id": "vehicle-type", @@ -2610,20 +2611,6 @@ ] } ], - "deletion": { - "softDeletionTags": { - "and": [ - "amenity=", - "disused:amenity=charging_station" - ] - }, - "neededChangesets": 10 - }, - "allowMove": { - "enableRelocation": false, - "enableImproveAccuracy": true - }, - "#": "no-question-hint-check", "units": [ { "maxstay": { @@ -2772,5 +2759,18 @@ ] } } - ] -} + ], + "allowMove": { + "enableRelocation": false, + "enableImproveAccuracy": true + }, + "deletion": { + "softDeletionTags": { + "and": [ + "amenity=", + "disused:amenity=charging_station" + ] + }, + "neededChangesets": 10 + } +} \ No newline at end of file diff --git a/assets/layers/elevator/elevator.json b/assets/layers/elevator/elevator.json index 6d4fa2317..ff9d67e53 100644 --- a/assets/layers/elevator/elevator.json +++ b/assets/layers/elevator/elevator.json @@ -174,16 +174,45 @@ "type": "pfloat" } }, + { + "id": "elevator-shape", + "question": { + "en": "What shape does this elevator have?" + }, + "mappings": [ + { + "if": "shape=rectangular", + "alsoShowIf": "shape=", + "then": { + "en": "This elevator has a rectangular shape" + }, + "icon": "./assets/svg/square.svg" + }, + { + "if": "shape=circular", + "then": { + "en": "This elevator has a circular shape" + }, + "icon": "./assets/svg/circle.svg" + } + ] + }, { "id": "elevator-width", + "condition": { + "or": [ + "shape=", + "shape=rectangular" + ] + }, "render": { - "en": "This elevator has a width of {canonical(elevator:width)}", - "fr": "Cet ascenseur a une largeur de {canonical(elevator:width)}", - "de": "Die Aufzugskabine hat eine Breite von {canonical(elevator:width)}", - "nl": "Deze lift heeft een breedte van {canonical(elevator:width)}", - "pl": "Szerokość tej windy to {canonical(elevator:width)}", - "ca": "L'ascensor té una amplada de {canonical(elevator:width)}", - "cs": "Tento výtah má šířku {canonical(elevator:width)}" + "en": "This elevator has a width of {canonical(width)}", + "fr": "Cet ascenseur a une largeur de {canonical(width)}", + "de": "Die Aufzugskabine hat eine Breite von {canonical(width)}", + "nl": "Deze lift heeft een breedte van {canonical(width)}", + "pl": "Szerokość tej windy to {canonical(width)}", + "ca": "L'ascensor té una amplada de {canonical(width)}", + "cs": "Tento výtah má šířku {canonical(width)}" }, "question": { "en": "What is the width of this elevator?", @@ -195,19 +224,25 @@ "cs": "Jaká je šířka tohoto výtahu?" }, "freeform": { - "key": "elevator:width", + "key": "width", "type": "pfloat" } }, { "id": "elevator-depth", + "condition": { + "or": [ + "shape=", + "shape=rectangular" + ] + }, "render": { - "en": "This elevator has a depth of {canonical(elevator:depth)}", - "fr": "Cet ascenseur a une profondeur de {canonical(elevator:depth)}", - "de": "Dieser Aufzug hat eine Kabinentiefe von {canonical(elevator:depth)}", - "nl": "Deze lift heeft een diepte van {canonical(elevator:depth)}", - "ca": "L'ascensor té un profunditat de {canonical(elevator:depth)}", - "cs": "Tento výtah má hloubku {canonical(elevator:depth)}" + "en": "This elevator has a depth of {canonical(length)}", + "fr": "Cet ascenseur a une profondeur de {canonical(length)}", + "de": "Dieser Aufzug hat eine Kabinentiefe von {canonical(length)}", + "nl": "Deze lift heeft een diepte van {canonical(length)}", + "ca": "L'ascensor té un profunditat de {canonical(length)}", + "cs": "Tento výtah má hloubku {canonical(length)}" }, "question": { "en": "What is the depth of this elevator?", @@ -218,7 +253,25 @@ "cs": "Jaká je hloubka tohoto výtahu?" }, "freeform": { - "key": "elevator:depth", + "key": "length", + "type": "pfloat" + } + }, + { + "id": "elevator-diameter", + "condition": { + "or": [ + "shape=circular" + ] + }, + "render": { + "en": "This elevator has a diameter of {canonical(diameter)}" + }, + "question": { + "en": "What is the diameter of this elevator?" + }, + "freeform": { + "key": "diameter", "type": "pfloat" } }, @@ -356,14 +409,14 @@ "cm" ] }, - "elevator:width": { + "width": { "quantity": "distance", "canonical": "m", "denominations": [ "cm" ] }, - "elevator:depth": { + "length": { "quantity": "distance", "canonical": "m", "denominations": [ diff --git a/assets/layers/ghost_bike/ghost_bike.json b/assets/layers/ghost_bike/ghost_bike.json index 6088e9ded..829591532 100644 --- a/assets/layers/ghost_bike/ghost_bike.json +++ b/assets/layers/ghost_bike/ghost_bike.json @@ -327,6 +327,6 @@ }, "allowMove": { "enableRelocation": false, - "enableImproveAccuraccy": true + "enableImproveAccuracy": true } } diff --git a/assets/layers/hackerspace/hackerspace.json b/assets/layers/hackerspace/hackerspace.json index 43236fb2d..858fb6b42 100644 --- a/assets/layers/hackerspace/hackerspace.json +++ b/assets/layers/hackerspace/hackerspace.json @@ -153,6 +153,7 @@ ], "tagRenderings": [ "images", + "reviews", { "id": "is_makerspace", "question": { @@ -509,8 +510,8 @@ }, "id": "hackerspaces-start_date" }, - "questions", - "reviews" + "internet-all", + "questions" ], "deletion": true, "allowMove": true diff --git a/assets/layers/ice_cream/ice_cream.json b/assets/layers/ice_cream/ice_cream.json index afbb1a36c..8e04affc3 100644 --- a/assets/layers/ice_cream/ice_cream.json +++ b/assets/layers/ice_cream/ice_cream.json @@ -67,6 +67,7 @@ ], "tagRenderings": [ "images", + "reviews", { "question": { "en": "What is the name of this ice cream parlor?", diff --git a/assets/layers/item_with_image/item_with_image.json b/assets/layers/item_with_image/item_with_image.json index f289ad7aa..4fc4f4966 100644 --- a/assets/layers/item_with_image/item_with_image.json +++ b/assets/layers/item_with_image/item_with_image.json @@ -1,7 +1,8 @@ { "id": "item_with_image", "name": { - "en": "Items with at least one image" + "en": "Items with at least one image", + "de": "Element mit mindestens einem Bild" }, "description": "All items with an image. All alone, not a layer which is relevant for any MapComplete theme, as it is a random collection of items. However, when put into the databank, this allows to quickly fetch (the URL of) pictures nearby a different object, to quickly link this", "source": { @@ -20,7 +21,8 @@ "minzoom": 14, "title": { "render": { - "en": "POI with image" + "en": "POI with image", + "de": "POI mit Bild" }, "mappings": [ { diff --git a/assets/layers/memorial/license_info.json b/assets/layers/memorial/license_info.json index a02ef7b01..9227d6a8f 100644 --- a/assets/layers/memorial/license_info.json +++ b/assets/layers/memorial/license_info.json @@ -1,4 +1,14 @@ [ + { + "path": "memorial.svg", + "license": "CC0-1.0", + "authors": [ + "OSM-Carto" + ], + "sources": [ + "https://wiki.openstreetmap.org/wiki/File:Memorial-16.svg" + ] + }, { "path": "plaque.svg", "license": "CC0-1.0", diff --git a/assets/layers/memorial/memorial.json b/assets/layers/memorial/memorial.json index c49171f44..3b6df8e4f 100644 --- a/assets/layers/memorial/memorial.json +++ b/assets/layers/memorial/memorial.json @@ -2,15 +2,36 @@ "id": "memorial", "description": "Layer showing memorial plaques, based upon a unofficial theme. Can be expanded to have multiple types of memorials later on", "source": { - "osmTags": "memorial=plaque" + "osmTags": { + "or": [ + "memorial~*", + "historic=memorial" + ] + } }, + "name": { + "en": "Memorials", + "de": "Denkmäler" + }, + "defaultBackgroundId": "protomaps.white", "title": { "render": { "en": "Memorial plaque", - "de": "Gedenktafel", "ca": "Placa commemorativa", - "cs": "Pamětní deska" - } + "cs": "Pamětní deska", + "de": "Gedenktafel" + }, + "mappings": [ + { + "if": "memorial=plaque", + "then": { + "en": "Memorial plaque", + "de": "Gedenktafel", + "ca": "Placa commemorativa", + "cs": "Pamětní deska" + } + } + ] }, "pointRendering": [ { @@ -24,33 +45,289 @@ "color": "white" }, { - "icon": "./assets/layers/memorial/plaque.svg" + "icon": { + "render": "./assets/layers/memorial/memorial.svg", + "mappings": [ + { + "if": "memorial=plaque", + "then": "./assets/layers/memorial/plaque.svg" + }, + { + "if": { + "or": [ + "memorial=bench", + "amenity=bench" + ] + }, + "then": "./assets/layers/bench/bench.svg" + } + ] + } } ] } ], "lineRendering": [], "tagRenderings": [ + "images", + { + "id": "memorial-type", + "question": { + "en": "What type of memorial is this?", + "de": "Was für eine Art von Denkmal ist das?" + }, + "mappings": [ + { + "if": "memorial=statue", + "then": { + "en": "This is a statue", + "de": "Das ist eine Statue" + }, + "addExtraTags": [ + "tourism=artwork", + "artwork=statue" + ] + }, + { + "if": "memorial=plaque", + "then": { + "en": "This is a plaque", + "de": "Dies ist eine Gedenktafel" + } + }, + { + "if": "memorial=bench", + "then": { + "en": "This is a commemorative bench", + "de": "Dies ist eine Gedenkbank" + }, + "addExtraTags": [ + "amenity=bench" + ] + }, + { + "if": "memorial=ghost_bike", + "then": { + "en": "This is a ghost bike - a bicycle painted white to remember a cyclist whom deceased because of a car crash", + "de": "Dies ist ein Geisterrad - ein Fahrrad weiß lackiert, um an einen Radfahrer zu erinnern, der wegen eines Autounfalls verstorben ist" + } + }, + { + "if": "memorial=stolperstein", + "alsoShowIf": "memorial:type=stolperstein", + "then": { + "en": "This is a stolperstein (stumbing stone)", + "de": "Dies ist ein Stolperstein" + } + }, + { + "if": "memorial=stele", + "then": { + "en": "This is a stele", + "de": "Das ist eine Stele" + } + }, + { + "if": "memorial=stone", + "then": { + "en": "This is a memorial stone", + "de": "Das ist ein Gedenkstein" + } + }, + { + "if": "memorial=bust", + "then": { + "en": "This is a bust", + "de": "Das ist eine Büste" + } + }, + { + "if": "memorial=sculpture", + "then": { + "en": "This is a sculpture", + "de": "Dies ist eine Skulptur" + } + }, + { + "if": "memorial=obelisk", + "then": { + "en": "This is an obelisk", + "de": "Das ist ein Obelisk", + "es": "Es un obelisco" + } + }, + { + "if": "memorial=cross", + "then": { + "en": "This is a cross", + "de": "Das ist ein Kreuz", + "es": "Es una cruz" + } + }, + { + "if": "memorial=blue_plaque", + "then": { + "en": "This is a blue plaque", + "de": "Dies ist eine blaue Plaque" + }, + "onlyShowIf": "_country=gb" + }, + { + "if": "memorial=tank", + "then": { + "en": "This is a historic tank, permanently placed in public space as memorial", + "de": "Dies ist ein historischer Panzer, der permanent in den öffentlichen Raum als Denkmal platziert wurde" + } + }, + { + "if": "memorial=tree", + "then": { + "en": "This is a memorial tree", + "de": "Das ist ein Baumdenkmal" + }, + "addExtraTags": [ + "natural=tree" + ] + } + ], + "render": { + "en": "This is a {memorial}", + "de": "Das ist ein {memorial}" + }, + "freeform": { + "key": "memorial" + } + }, { "id": "inscription", "question": { "en": "What is the inscription of this plaque?", - "de": "Wie lautet die Inschrift auf dieser Gedenktafel?", "ca": "Quina és la inscripció d'aquesta placa?", - "cs": "Jaký je nápis na této desce?" + "cs": "Jaký je nápis na této desce?", + "de": "Wie lautet die Inschrift auf dieser Gedenktafel?" }, + "#:condition": "Benches have a separate inscription question", + "condition": "memorial!=bench", "render": { "en": "The inscription on this plaque reads:

{inscription}

", - "de": "Die Inschrift auf dieser Gedenktafel lautet:

{inscription}

", "ca": "La inscripció d'aquesta placa diu:

{inscription}

", - "cs": "Nápis na této desce zní:

{inscription}

" + "cs": "Nápis na této desce zní:

{inscription}

", + "de": "Die Inschrift auf dieser Gedenktafel lautet:

{inscription}

" }, "freeform": { "key": "inscription", "type": "text" + }, + "mappings": [ + { + "if": "not:inscription=yes", + "then": { + "en": "This memorial does not have an inscription", + "de": "Dieses Denkmal hat keine Inschrift" + }, + "addExtraTags": [ + "inscription=" + ] + } + ] + }, + { + "id": "memorial-wikidata", + "freeform": { + "key": "wikidata", + "type": "wikidata" + }, + "question": { + "en": "What is the Wikipedia page about this memorial?", + "de": "Was ist die Wikipedia-Seite über dieses Denkmal?" + }, + "questionHint": { + "en": "This is a about the memorial itself, not about the person or event that the memorial remembers. If this memorial does not have a Wikipedia page or Wikidata entity, skip this question.", + "de": "Hier geht es um das Denkmal selbst, nicht um die Person oder das Ereignis, an das die Denkmal erinnert. Wenn diese Gedenkstätte keine Wikipedia-Seite oder Wikidata-Entität hat, überspringe diese Frage." + }, + "render": { + "special": { + "type": "wikipedia", + "keyToShowWikipediaFor": "wikidata" + }, + "before": { + "en": "

Wikipedia page about the memorial

", + "de": "

Wikipedia-Seite über das Denkmal

" + } + } + }, + { + "id": "subject-wikidata", + "freeform": { + "key": "subject:wikidata", + "type": "wikidata", + "helperArgs": [ + "subject;memorial:conflict" + ] + }, + "question": { + "en": "What is the Wikipedia page about the person or event that is remembered here?", + "de": "Was ist die Wikipedia-Seite über die Person oder Veranstaltung, die hier erinnert wird?" + }, + "questionHint": { + "en": "If the person or event does not have a Wikipedia page or Wikidata entity, skip this question.", + "de": "Wenn die Person oder das Ereignis keine Wikipedia-Seite oder Wikidata-Entität hat, überspringe diese Frage." + }, + "render": { + "special": { + "type": "wikipedia", + "keyToShowWikipediaFor": "subject:wikidata" + }, + "before": { + "en": "

Wikipedia page about the remembered event or person

", + "de": "

Wikipedia-Seite über das erinnerte Ereignis oder die Person

" + } + } + }, + { + "question": { + "en": "When was this memorial installed?", + "de": "Wann wurde dieses Denkmal installiert?" + }, + "render": { + "nl": "Geplaatst op {start_date}", + "en": "Placed on {start_date}", + "it": "Piazzata in data {start_date}", + "fr": "Placé le {start_date}", + "ru": "Установлен {start_date}", + "de": "Aufgestellt am {start_date}", + "ca": "Col·locat el {start_date}", + "cs": "Umístěno {start_date}" + }, + "freeform": { + "key": "start_date", + "type": "date" + }, + "id": "start_date" + }, + { + "builtin": "bench.bench-questions", + "override": { + "condition": { + "+and": [ + "amenity=bench" + ] + } } } ], + "presets": [ + { + "title": { + "en": "a memorial", + "de": "ein Denkmal" + }, + "tags": [ + "historic=memorial" + ] + } + ], + "minzoom": 9, "deletion": true, "allowMove": { "enableImproveAccuracy": true, diff --git a/assets/layers/memorial/memorial.svg b/assets/layers/memorial/memorial.svg new file mode 100644 index 000000000..81760a8f6 --- /dev/null +++ b/assets/layers/memorial/memorial.svg @@ -0,0 +1,59 @@ + + + + + + + image/svg+xml + + + + + + + + diff --git a/assets/layers/memorial/memorial.svg.license b/assets/layers/memorial/memorial.svg.license new file mode 100644 index 000000000..f752f0ddd --- /dev/null +++ b/assets/layers/memorial/memorial.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: OSM-Carto +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file diff --git a/assets/layers/playground_equipment/playground_equipment.json b/assets/layers/playground_equipment/playground_equipment.json index e2a40033d..67b06456c 100644 --- a/assets/layers/playground_equipment/playground_equipment.json +++ b/assets/layers/playground_equipment/playground_equipment.json @@ -1,10 +1,12 @@ { "id": "playground_equipment", "name": { - "en": "Playground equipment" + "en": "Playground equipment", + "de": "Spielplatzausstattung" }, "description": { - "en": "Layer showing playground equipment" + "en": "Layer showing playground equipment", + "de": "Ebene mit Spielplatzausrüstung" }, "source": { "osmTags": "playground~*" @@ -12,7 +14,8 @@ "minzoom": 18, "title": { "render": { - "en": "Playground device" + "en": "Playground device", + "de": "Spielplatzgerät" } }, "pointRendering": [ @@ -45,10 +48,12 @@ "playground=yes" ], "title": { - "en": "a playground device" + "en": "a playground device", + "de": "ein Spielgerät" }, "description": { - "en": "An exact type is asked later" + "en": "An exact type is asked later", + "de": "Ein genauer Typ wird später gefragt" } } ], @@ -56,13 +61,15 @@ "images", { "render": { - "en": "This is a {playground}" + "en": "This is a {playground}", + "de": "Das ist ein {playground}" }, "id": "type", "freeform": { "key": "playground", "placeholder": { - "en": "Type of device" + "en": "Type of device", + "de": "Art des Geräts" }, "addExtraTags": [ "fixme=Freeform input used" @@ -70,7 +77,8 @@ }, "question": { "en": "What kind of device is this?", - "nl": "Wat voor speeltoestel is dit?" + "nl": "Wat voor speeltoestel is dit?", + "de": "Was ist das für ein Gerät?" }, "invalidValues": "playground=yes", "mappings": [ @@ -78,13 +86,15 @@ "if": "playground=swing", "then": { "en": "This is a swing", - "nl": "Dit is een schommel" + "nl": "Dit is een schommel", + "de": "Das ist eine Schaukel" } }, { "if": "playground=structure", "then": { - "en": "This is a structure consisting of several connected playground devices" + "en": "This is a structure consisting of several connected playground devices", + "de": "Dies ist eine Struktur aus mehreren angeschlossenen Spielgeräten" }, "icon": { "path": "./assets/layers/playground_equipment/SunwardCohousingPlayStructure2005.jpg", @@ -94,14 +104,16 @@ { "if": "playground=slide", "then": { - "en": "This is a slide" + "en": "This is a slide", + "de": "Das ist eine Rutsche" } }, { "if": "playground=sandpit", "then": { "en": "This is a sand pit", - "nl": "Dit is een zandbak" + "nl": "Dit is een zandbak", + "de": "Dies ist ein Sandkasten" }, "searchTerms": { "en": [ @@ -117,7 +129,8 @@ "if": "playground=springy", "then": { "en": "This is a spring rider", - "nl": "Dit is een veertoestel" + "nl": "Dit is een veertoestel", + "de": "Dies ist ein Springreiter" }, "searchTerms": { "en": [ @@ -132,7 +145,8 @@ "if": "playground=climbingframe", "then": { "en": "This is a climbing frame", - "nl": "Dit is een klimrek" + "nl": "Dit is een klimrek", + "de": "Dies ist ein Kletterrahmen" }, "searchTerms": { "en": [ @@ -149,7 +163,8 @@ "if": "playground=seesaw", "then": { "en": "This is a seesaw", - "nl": "Dit is een wipwap" + "nl": "Dit is een wipwap", + "de": "Dies ist eine Wippe" }, "searchTerms": { "en": [ @@ -165,7 +180,8 @@ { "if": "playground=playhouse", "then": { - "en": "This is a playhouse" + "en": "This is a playhouse", + "de": "Das ist ein Spielhaus" }, "searchTerms": { "en": [ @@ -180,7 +196,8 @@ { "if": "playground=roundabout", "then": { - "en": "This is a roundabout" + "en": "This is a roundabout", + "de": "Dies ist ein Karussell" }, "searchTerms": { "en": [ @@ -195,7 +212,8 @@ { "if": "playground=basketswing", "then": { - "en": "This is a basket swing" + "en": "This is a basket swing", + "de": "Dies ist eine Korbschaukel" }, "icon": { "path": "./assets/layers/playground_equipment/Playground_swing_03.jpg", @@ -205,14 +223,16 @@ { "if": "playground=zipwire", "then": { - "en": "This is a zip wire" + "en": "This is a zip wire", + "de": "Dies ist ein Seilzug" } }, { "if": "playground=horizontal_bar", "then": { "en": "This is a horizontal bar", - "nl": "Dit is een rekstok" + "nl": "Dit is een rekstok", + "de": "Dies ist ein horizontaler Balken" }, "icon": { "path": "./assets/layers/playground_equipment/Rekstok.JPG", @@ -222,7 +242,8 @@ { "if": "playground=hopscotch", "then": { - "en": "This is a hopscotch" + "en": "This is a hopscotch", + "de": "Dies ist ein Hüpfspiel" }, "icon": { "path": "./assets/layers/playground_equipment/Hinkelbaan_tegels.jpg", @@ -232,7 +253,8 @@ { "if": "playground=splash_pad", "then": { - "en": "This is a splash pad" + "en": "This is a splash pad", + "de": "Dies ist ein Planschbecken" }, "searchTerms": { "en": "spray pool" @@ -245,7 +267,8 @@ { "if": "playground=climbingwall", "then": { - "en": "This is a climbing wall" + "en": "This is a climbing wall", + "de": "Das ist eine Kletterwand" }, "icon": { "path": "./assets/layers/playground_equipment/Playground_climbingwall.jpg", @@ -255,7 +278,8 @@ { "if": "playground=map", "then": { - "en": "This is a map" + "en": "This is a map", + "de": "Das ist eine Karte" }, "icon": { "path": "./assets/layers/playground_equipment/Playground_Map,_Washington_Elementary.jpg", @@ -265,7 +289,8 @@ { "if": "playground=bridge", "then": { - "en": "This is a bridge (either as a standalone device or as part of a larger structure)" + "en": "This is a bridge (either as a standalone device or as part of a larger structure)", + "de": "Dies ist eine Brücke (entweder als eigenständiges Gerät oder als Teil einer größeren Struktur)" }, "icon": { "path": "./assets/layers/playground_equipment/Playground_in_Muchall_Park,_Wolverhampton_-_geograph.org.uk_-_2735437.jpg", @@ -275,7 +300,8 @@ { "if": "playground=cushion", "then": { - "en": "This is a bouncy cushion" + "en": "This is a bouncy cushion", + "de": "Das ist ein Hüpfkissen" }, "icon": { "path": "./assets/layers/playground_equipment/Hupfkissen.jpg", @@ -285,7 +311,8 @@ { "if": "playground=activitypanel", "then": { - "en": "This is an activity panel" + "en": "This is an activity panel", + "de": "Dies ist ein Aktivitätspanel" }, "icon": { "path": "./assets/layers/playground_equipment/Szwedy_-_plac_zabaw_-_kotko_i_krzyzyk.jpg", @@ -295,7 +322,8 @@ { "if": "playground=teenshelter", "then": { - "en": "This is a teen shelter" + "en": "This is a teen shelter", + "de": "Dies ist eine Jugendherberge" }, "icon": { "path": "./assets/layers/playground_equipment/Teen_shelter_near_former_coastguard_lookout,_Watchet_-_geograph.org.uk_-_1714960.jpg", @@ -305,7 +333,8 @@ { "if": "playground=funnel_ball", "then": { - "en": "This is a funnel used to play with funnel ball" + "en": "This is a funnel used to play with funnel ball", + "de": "Dies ist ein Trichter, mit dem man Trichterball spielen kann" }, "icon": { "path": "./assets/layers/playground_equipment/Funnel_ball.jpg", @@ -315,7 +344,8 @@ { "if": "playground=spinning_circle", "then": { - "en": "This is a spinning circle" + "en": "This is a spinning circle", + "de": "Dies ist ein sich drehender Kreis" }, "icon": { "path": "./assets/layers/playground_equipment/Spinning_circle.jpg", @@ -328,7 +358,8 @@ "builtin": "wheelchair-access", "override": { "question": { - "en": "Is this device accessible by wheelchair?" + "en": "Is this device accessible by wheelchair?", + "de": "Ist dieses Gerät mit Rollstuhl erreichbar?" } } } diff --git a/assets/layers/postoffices/postoffices.json b/assets/layers/postoffices/postoffices.json index 8924ebf30..81d586f95 100644 --- a/assets/layers/postoffices/postoffices.json +++ b/assets/layers/postoffices/postoffices.json @@ -558,7 +558,8 @@ "options": [ { "question": { - "en": "Offers letter posting" + "en": "Offers letter posting", + "de": "Bietet Briefpost an" }, "osmTags": { "and": [ @@ -574,7 +575,8 @@ "options": [ { "question": { - "en": "Offers parcel posting" + "en": "Offers parcel posting", + "de": "Bietet Paketaufgabe an" }, "osmTags": { "and": [ @@ -590,7 +592,8 @@ "options": [ { "question": { - "en": "Offers pickup of missed parcels" + "en": "Offers pickup of missed parcels", + "de": "Bietet die Abholung von verpassten Paketen an" }, "osmTags": { "and": [ @@ -606,7 +609,8 @@ "options": [ { "question": { - "en": "Accepts pickup of parcels sent here" + "en": "Accepts pickup of parcels sent here", + "de": "Akzeptiert die Abholung von Paketen, die hierher geschickt werden" }, "osmTags": { "and": [ @@ -622,7 +626,8 @@ "options": [ { "question": { - "en": "Sells stamps" + "en": "Sells stamps", + "de": "Verkauft Briefmarken" }, "osmTags": { "and": [ diff --git a/assets/layers/questions/questions.json b/assets/layers/questions/questions.json index 114241830..43556dc27 100644 --- a/assets/layers/questions/questions.json +++ b/assets/layers/questions/questions.json @@ -726,13 +726,25 @@ "freeform": { "key": "opening_hours", "type": "opening_hours" - } + }, + "mappings": [ + { + "#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.", + "if": "opening_hours=closed", + "then": { + "en": "Marked as closed for an unspecified time", + "nl": "Gesloten voor onbepaalde duur", + "de": "Als geschlossen für eine unbestimmte Zeit markiert" + }, + "hideInAnswer": true + } + ] }, { "id": "opening_hours_24_7", "builtin": "opening_hours", "override": { - "mappings": [ + "+mappings": [ { "if": "opening_hours=24/7", "then": { diff --git a/assets/layers/shelter/shelter.json b/assets/layers/shelter/shelter.json index 5b2f7a77a..79cc2fae9 100644 --- a/assets/layers/shelter/shelter.json +++ b/assets/layers/shelter/shelter.json @@ -45,6 +45,7 @@ ], "lineRendering": [], "tagRenderings": [ + "images", { "id": "shelter-type", "mappings": [ @@ -120,5 +121,9 @@ "type": "string" } } - ] + ], + "allowMove": { + "enableRelocation": false, + "enableImproveAccuracy": true + } } diff --git a/assets/layers/souvenir_coin/souvenir_coin.json b/assets/layers/souvenir_coin/souvenir_coin.json index 601f7174e..0bdb64fee 100644 --- a/assets/layers/souvenir_coin/souvenir_coin.json +++ b/assets/layers/souvenir_coin/souvenir_coin.json @@ -1,10 +1,12 @@ { "id": "souvenir_coin", "name": { - "en": "Souvenir Coin Machines" + "en": "Souvenir Coin Machines", + "de": "Souvenir-Münzautomaten" }, "description": { - "en": "Layer showing machines selling souvenir coins" + "en": "Layer showing machines selling souvenir coins", + "de": "Ebene mit Automaten, die Souvenir-Münzen verkaufen" }, "source": { "osmTags": { @@ -16,7 +18,8 @@ }, "title": { "render": { - "en": "Souvenir Coin Machine" + "en": "Souvenir Coin Machine", + "de": "Souvenir-Münzautomat" } }, "pointRendering": [ @@ -51,10 +54,12 @@ "presets": [ { "title": { - "en": "a souvenir coin machine" + "en": "a souvenir coin machine", + "de": "ein Souvenir-Münzautomaten" }, "description": { - "en": "Add a machine selling souvenir coins" + "en": "Add a machine selling souvenir coins", + "de": "Hinzufügen eines Automaten für Souvenirmünzen" }, "tags": [ "amenity=vending_machine", @@ -70,31 +75,36 @@ "id": "designs", "override": { "render": { - "en": "This machine has {coin:design_count} designs available" + "en": "This machine has {coin:design_count} designs available", + "de": "Diese Maschine hat {coin:design_count} Designs verfügbar" }, "mappings": [ { "if": "coin:design_count=1", "then": { - "en": "This machine has one design available" + "en": "This machine has one design available", + "de": "Diese Maschine hat ein Design zur Verfügung" } }, { "if": "coin:design_count=2", "then": { - "en": "This machine has two designs available" + "en": "This machine has two designs available", + "de": "Diese Maschine hat zwei Designs verfügbar" } }, { "if": "coin:design_count=3", "then": { - "en": "This machine has three designs available" + "en": "This machine has three designs available", + "de": "Diese Maschine hat drei Designs verfügbar" } }, { "if": "coin:design_count=4", "then": { - "en": "This machine has four designs available" + "en": "This machine has four designs available", + "de": "Diese Maschine hat vier Designs verfügbar" } } ] @@ -104,23 +114,27 @@ "website", { "question": { - "en": "How much does a souvenir coin cost?" + "en": "How much does a souvenir coin cost?", + "de": "Wie viel kostet eine Souvenirmünze?" }, "id": "charge", "render": { - "en": "A souvenir coins costs {charge}" + "en": "A souvenir coins costs {charge}", + "de": "Eine Souvenirmünze kostet {charge}" }, "freeform": { "key": "charge", "placeholder": { - "en": "Cost (e.g. 2 EUR)" + "en": "Cost (e.g. 2 EUR)", + "de": "Kosten (z.B. 2 EUR)" } }, "mappings": [ { "if": "charge=2 EUR", "then": { - "en": "A souvenir coin costs 2 euro" + "en": "A souvenir coin costs 2 euro", + "de": "Eine Souvenirmünze kostet 2 Euro" }, "hideInAnswer": "_currency!~.*EUR.*" } @@ -129,20 +143,23 @@ "denominations-coins", { "question": { - "en": "Is this machine located indoors?" + "en": "Is this machine located indoors?", + "de": "Ist diese Maschine im Innenbereich?" }, "id": "indoor", "mappings": [ { "if": "indoor=yes", "then": { - "en": "This machine is located indoors." + "en": "This machine is located indoors.", + "de": "Diese Maschine befindet sich im Innenbereich." } }, { "if": "indoor=no", "then": { - "en": "This machine is located outdoors." + "en": "This machine is located outdoors.", + "de": "Diese Maschine befindet sich im Freien." } } ] diff --git a/assets/layers/souvenir_note/souvenir_note.json b/assets/layers/souvenir_note/souvenir_note.json index da2750ea9..0478678aa 100644 --- a/assets/layers/souvenir_note/souvenir_note.json +++ b/assets/layers/souvenir_note/souvenir_note.json @@ -1,10 +1,12 @@ { "id": "souvenir_note", "name": { - "en": "Souvenir Banknote Machines" + "en": "Souvenir Banknote Machines", + "de": "Souvenir Banknotenmaschinen" }, "description": { - "en": "Layer showing machines selling souvenir banknotes" + "en": "Layer showing machines selling souvenir banknotes", + "de": "Ebene zeigt Maschinen, die Souvenir-Banknoten verkaufen" }, "source": { "osmTags": { @@ -16,7 +18,8 @@ }, "title": { "render": { - "en": "Souvenir Banknote Machine" + "en": "Souvenir Banknote Machine", + "de": "Souvenir-Banknotenautomat" } }, "pointRendering": [ @@ -51,10 +54,12 @@ "presets": [ { "title": { - "en": "a souvenir banknote machine" + "en": "a souvenir banknote machine", + "de": "eine Souvenir-Banknotenmaschine" }, "description": { - "en": "Add a machine selling souvenir banknotes" + "en": "Add a machine selling souvenir banknotes", + "de": "Hinzufügen eines Automaten, der Souvenir-Banknoten verkauft" }, "tags": [ "amenity=vending_machine", @@ -68,7 +73,8 @@ { "id": "designs", "question": { - "en": "How many designs are available?" + "en": "How many designs are available?", + "de": "Wie viele Designs sind verfügbar?" }, "freeform": { "key": "note:design_count", @@ -82,31 +88,36 @@ } }, "render": { - "en": "This machine has {note:design_count} designs available." + "en": "This machine has {note:design_count} designs available.", + "de": "Diese Maschine verfügt über {note:design_count} Designs." }, "mappings": [ { "if": "note:design_count=1", "then": { - "en": "This machine has one design available." + "en": "This machine has one design available.", + "de": "Diese Maschine hat ein Design zur Verfügung." } }, { "if": "note:design_count=2", "then": { - "en": "This machine has two designs available." + "en": "This machine has two designs available.", + "de": "Diese Maschine hat zwei Designs verfügbar." } }, { "if": "note:design_count=3", "then": { - "en": "This machine has three designs available." + "en": "This machine has three designs available.", + "de": "Diese Maschine hat drei Designs verfügbar." } }, { "if": "note:design_count=4", "then": { - "en": "This machine has four designs available." + "en": "This machine has four designs available.", + "de": "Diese Maschine hat vier Designs verfügbar." } } ] @@ -115,30 +126,35 @@ "website", { "question": { - "en": "How much does a souvenir note cost?" + "en": "How much does a souvenir note cost?", + "de": "Wie viel kostet eine Souvenirnote?" }, "id": "charge", "render": { - "en": "A souvenir note costs {charge}" + "en": "A souvenir note costs {charge}", + "de": "Eine Souvenirnote kostet {charge}" }, "freeform": { "key": "charge", "placeholder": { - "en": "Cost (e.g. 2 EUR)" + "en": "Cost (e.g. 2 EUR)", + "de": "Kosten (z.B. 2 EUR)" } }, "mappings": [ { "if": "charge=2 EUR", "then": { - "en": "A souvenir note costs 2 euro" + "en": "A souvenir note costs 2 euro", + "de": "Eine Souvenirnote kostet 2 Euro" }, "hideInAnswer": "_currency!~.*EUR.*" }, { "if": "charge=3 EUR", "then": { - "en": "A souvenir note costs 3 euro" + "en": "A souvenir note costs 3 euro", + "de": "Eine Souvenirnote kostet 3 Euro" }, "hideInAnswer": "_currency!~.*EUR.*" } @@ -147,20 +163,23 @@ "denominations-coins", { "question": { - "en": "Is this machine located indoors?" + "en": "Is this machine located indoors?", + "de": "Ist diese Maschine im Innenbereich?" }, "id": "indoor", "mappings": [ { "if": "indoor=yes", "then": { - "en": "This machine is located indoors." + "en": "This machine is located indoors.", + "de": "Diese Maschine befindet sich im Innenbereich." } }, { "if": "indoor=no", "then": { - "en": "This machine is located outdoors." + "en": "This machine is located outdoors.", + "de": "Diese Maschine befindet sich im Freien." } } ] diff --git a/assets/layers/speed_camera/speed_camera.json b/assets/layers/speed_camera/speed_camera.json index af401b7ad..219d95ae1 100644 --- a/assets/layers/speed_camera/speed_camera.json +++ b/assets/layers/speed_camera/speed_camera.json @@ -6,7 +6,8 @@ "nl": "Flitspaal", "es": "Cámara de velocidad", "ca": "Càmera de velocitat", - "cs": "Rychlostní radar" + "cs": "Rychlostní radar", + "sl": "Hitrostna kamera" }, "description": { "en": "Layer showing speed cameras", @@ -14,7 +15,8 @@ "nl": "Laag met flitspalen", "es": "Capa con cámaras de velocidad", "ca": "Capa que mostra càmeres de velocitat", - "cs": "Vrstva zobrazující rychlostní radary" + "cs": "Vrstva zobrazující rychlostní radary", + "sl": "Sloj prikazuje hitrostne kamere (radarje)" }, "source": { "osmTags": "highway=speed_camera" @@ -59,7 +61,8 @@ "nl": "een flitspaal", "es": "una cámara de velocidad", "ca": "una càmera de velocitat", - "cs": "rychlostní radar" + "cs": "rychlostní radar", + "sl": "hitrostna kamera" }, "snapToLayer": [ "maxspeed" diff --git a/assets/layers/summary/summary.json b/assets/layers/summary/summary.json index ce2124352..2ebac9ddb 100644 --- a/assets/layers/summary/summary.json +++ b/assets/layers/summary/summary.json @@ -4,7 +4,8 @@ "source": "special", "title": { "render": { - "en": "Summary" + "en": "Summary", + "de": "Übersicht" } }, "pointRendering": [ diff --git a/assets/layers/surveillance_camera/surveillance_camera.json b/assets/layers/surveillance_camera/surveillance_camera.json index 67589e8c5..a4536e938 100644 --- a/assets/layers/surveillance_camera/surveillance_camera.json +++ b/assets/layers/surveillance_camera/surveillance_camera.json @@ -9,7 +9,8 @@ "de": "Überwachungskameras", "ca": "Càmeres de videovigilància", "es": "Cámaras de vigilancia", - "cs": "Bezpečnostní kamery" + "cs": "Bezpečnostní kamery", + "sl": "Nadzorne kamere" }, "description": { "en": "This layer shows surveillance cameras and allows a contributor to update information and add new cameras", @@ -18,7 +19,8 @@ "es": "Esta capa muestra las cámaras de vigilancia y permite a quien colabora, actualizar la información y agregar nuevas cámaras", "fr": "Cette couche affiche les caméras de surveillance et permet au contributeur de mettre à jour les informations et ajouter de nouvelles caméras", "ca": "Aquesta capa mostra les càmeres de vigilància i permet a qui col·labora, actualitzar la informació i afegir noves càmeres", - "cs": "Tato vrstva zobrazuje sledovací kamery a umožňuje přispěvateli aktualizovat informace a přidávat nové kamery" + "cs": "Tato vrstva zobrazuje sledovací kamery a umožňuje přispěvateli aktualizovat informace a přidávat nové kamery", + "sl": "Ta sloj prikazuje nadzorne kamere in urednikom omogoča posodabljanje informacij obstoječih in dodajanje novih kamer" }, "source": { "osmTags": { @@ -46,7 +48,8 @@ "ca": "Càmera de videovigilància", "da": "Overvågningskamera", "es": "Cámara de vigilancia", - "cs": "Bezpečnostní kamera" + "cs": "Bezpečnostní kamera", + "sl": "Nadzorna kamera" } }, "pointRendering": [ @@ -135,7 +138,8 @@ "es": "una cámara de vigilancia", "fr": "une caméra de surveillance", "ca": "una càmera de vigilància", - "cs": "bezpečnostní kamera" + "cs": "bezpečnostní kamera", + "sl": "nadzorna kamera" } }, { @@ -151,7 +155,8 @@ "es": "una cámara de vigilancia montada en una pared", "fr": "une caméra de surveillance fixée au mur", "ca": "una càmera de vigilància muntada en una paret", - "cs": "sledovací kamera namontovaná na zdi" + "cs": "sledovací kamera namontovaná na zdi", + "sl": "nadzorna kamera pritrjena na steno" }, "snapToLayer": [ "walls_and_buildings" @@ -166,13 +171,15 @@ "en": "an ALPR camera (Automatic Number Plate Reader)", "ca": "una càmera ALPR (lector automàtic de matrícules, per les seves sigles en anglès)", "de": "Eine Kamera zur automatischen Nummernschilderkennung", - "cs": "kamera ALPR (automatická čtečka registračních značek)" + "cs": "kamera ALPR (automatická čtečka registračních značek)", + "sl": "kamera za prepoznavo registrskih tablic" }, "description": { "en": "An ALPR typically has two lenses and an array of infrared lights.", "ca": "Un ALPR normalment té dues lents i una sèrie de llums infrarojes.", "de": "Eine automatische Nummernschilderkennung hat üblicherweise zwei Linsen und ein Reihe aus Infrarotlichtern.", - "cs": "ALPR má obvykle dvě čočky a pole infračervených světel." + "cs": "ALPR má obvykle dvě čočky a pole infračervených světel.", + "sl": "Kamera za prepoznavo registrskih tablic ima običajno dve leči in polje infrardečih lučk." }, "exampleImages": [ "./assets/layers/surveillance_camera/ALPR_Example.jpg", @@ -189,13 +196,15 @@ "en": "an ALPR camera (Automatic Number Plate Reader) mounted on a wall", "ca": "una càmera ALPR (lector automàtic de matrícules) muntada a la paret", "de": "eine Kamera zur Nummernschilderkennung, die an einer Wand befestigt ist", - "cs": "kamera ALPR (Automatická čtečka registračních značek) namontovaná na zdi" + "cs": "kamera ALPR (Automatická čtečka registračních značek) namontovaná na zdi", + "sl": "na steno pritrjena kamera za prepoznavo registrskih tablic" }, "description": { "en": "An ALPR typically has two lenses and an array of infrared lights.", "ca": "Un ALPR normalment té dues lents i una sèrie de llums infrarojes.", "de": "Eine automatische Nummernschilderkennung hat üblicherweise zwei Linsen und ein Reihe aus Infrarotlichtern.", - "cs": "ALPR má obvykle dvě čočky a pole infračervených světel." + "cs": "ALPR má obvykle dvě čočky a pole infračervených světel.", + "sl": "Kamera za prepoznavo registrskih tablic ima običajno dve leči in polje infrardečih lučk." }, "exampleImages": [ "./assets/layers/surveillance_camera/ALPR_Example.jpg", @@ -214,13 +223,15 @@ "en": "Can this camera automatically detect license plates?", "ca": "Aquesta càmera pot detectar matrícules automàticament?", "de": "Dient diese Kamera der Nummernschilderkennung?", - "cs": "Dokáže tato kamera automaticky rozpoznat registrační značky?" + "cs": "Dokáže tato kamera automaticky rozpoznat registrační značky?", + "sl": "Ali ta kamera lahko samodejno prepoznava registrske tablice?" }, "questionHint": { "en": "An ALPR (Automatic License Plate Reader) typically has two lenses and an array of infrared LEDS in between.", "ca": "Un ALPR (lector automàtic de matrícules, per les seves sigles en anglès) normalment té dues lents i una sèrie de LEDs infrarojos entremig.", "de": "Eine Kamera zur Nummernschilderkennung hat üblicherweise zwei Linsen mit dazwischenliegenden Infrarot-LEDs.", - "cs": "Automatická čtečka registračních značek (ALPR) má obvykle dvě čočky a mezi nimi soustavu infračervených diod LED." + "cs": "Automatická čtečka registračních značek (ALPR) má obvykle dvě čočky a mezi nimi soustavu infračervených diod LED.", + "sl": "Kamera za prepoznavo registrskih tablic ima običajno dve leči in med njima polje infrardečih LED svetil." }, "mappings": [ { @@ -229,7 +240,8 @@ "en": "This is a camera without number plate recognition.", "ca": "Es tracta d'una càmera sense reconeixement de matrícules.", "de": "Dies ist eine Kamera ohne Nummernschilderkennung.", - "cs": "Jedná se o kameru bez rozpoznání SPZ." + "cs": "Jedná se o kameru bez rozpoznání SPZ.", + "sl": "To je kamera brez prepoznave registrskih tablic." } }, { @@ -238,7 +250,8 @@ "en": "This is an ALPR (Automatic License Plate Reader)", "ca": "Açò és un ALPR (lector automàtic de matrícules, per les seves sigles en anglès)", "de": "Dies ist eine Kamera mit Nummernschilderkennung", - "cs": "Jedná se o zařízení ALPR (automatické čtení registračních značek)" + "cs": "Jedná se o zařízení ALPR (automatické čtení registračních značek)", + "sl": "To je kamera s prepoznavo registrskih tablic" }, "icon": { "path": "./assets/layers/surveillance_camera/ALPR.svg" @@ -256,7 +269,8 @@ "de": "Um welchen Kameratyp handelt es sich?", "ca": "Quin tipus de càmera és aquesta?", "es": "¿Qué tipo de cámara es?", - "cs": "Jaká je to kamera?" + "cs": "Jaká je to kamera?", + "sl": "Kakšne vrste kamera je to?" }, "mappings": [ { @@ -269,7 +283,8 @@ "de": "Eine fest montierte (nicht bewegliche) Kamera", "ca": "Una càmera fixa (no movible)", "es": "Cámara fija (no móvil)", - "cs": "Pevná (nepohyblivá) kamera" + "cs": "Pevná (nepohyblivá) kamera", + "sl": "Fiksna (nepremična) kamera" }, "icon": "./assets/themes/surveillance/cam_right.svg" }, @@ -284,7 +299,8 @@ "de": "Eine Kuppelkamera (drehbar)", "ca": "Càmera de cúpula (que pot girar)", "es": "Cámara con domo (que se puede girar)", - "cs": "Kopulovitá (dome) kamera (která se může otáčet)" + "cs": "Kopulovitá (dome) kamera (která se může otáčet)", + "sl": "Kamera v kupoli (obračajoča)" }, "icon": "./assets/themes/surveillance/dome.svg" }, @@ -319,7 +335,8 @@ "da": "I hvilken geografisk retning filmer dette kamera?", "ca": "En quina direcció geogràfica apunta aquesta càmera?", "es": "¿A qué dirección geográfica apunta esta cámara?", - "cs": "Ve kterém geografickém směru tato kamera snímá?" + "cs": "Ve kterém geografickém směru tato kamera snímá?", + "sl": "V katero geografsko smer snema ta kamera?" }, "render": { "en": "Films to a compass heading of {camera:direction}", @@ -330,7 +347,8 @@ "da": "Filmer til en kompasretning af {camera:direction}", "ca": "Grava en direcció {camera:direction}", "es": "Graba en dirección a {camera:direction}", - "cs": "Snímané oblasti podle směru kompasu {camera:direction}" + "cs": "Snímané oblasti podle směru kompasu {camera:direction}", + "sl": "Snema v smeri kompasa {camera:direction}" }, "condition": { "or": [ @@ -366,7 +384,8 @@ "da": "Filmer til en kompasretning af {direction}", "es": "Graba en dirección a {direction}", "ca": "Grava en direcció {direction}", - "cs": "Snímaná oblast podle směru kompasu {direction}" + "cs": "Snímaná oblast podle směru kompasu {direction}", + "sl": "Snema v smeri kompasa {direction}" }, "hideInAnswer": true } @@ -385,7 +404,8 @@ "de": "Wer betreibt diese Kamera?", "ca": "Qui opera aquest circuit de televisió tancat?", "es": "¿Quién opera el sistema de esta cámara?", - "cs": "Kdo provozuje tento kamerový systém?" + "cs": "Kdo provozuje tento kamerový systém?", + "sl": "Kdo upravlja s to kamero?" }, "render": { "en": "Operated by {operator}", @@ -396,7 +416,8 @@ "ca": "Operat per {operator}", "es": "Operado por {operator}", "cs": "Provozuje {operator}", - "pt": "Operado por {operator}" + "pt": "Operado por {operator}", + "sl": "Upravlja jo {operator}" }, "id": "Operator" }, @@ -410,7 +431,8 @@ "da": "Hvilken form for overvågning er dette kamera?", "ca": "Què vigila aquesta càmera?", "es": "¿Qué tipo de vigilancia aplica a esta cámara?", - "cs": "Co sleduje tato kamera?" + "cs": "Co sleduje tato kamera?", + "sl": "Kaj nadzoruje ta kamera?" }, "mappings": [ { @@ -428,7 +450,8 @@ "da": "Et offentligt område overvåges, f.eks. en gade, en bro, et torv, en park, en togstation, en offentlig korridor eller en tunnel, …", "ca": "Es vigila una àrea pública, com un carrer, un pont, una plaça, un parc, una estació de tren, un túnel públic, …", "es": "Es un área pública, como una calle, un puente, una plaza, un parque, una estación de tren, un corredor público o túnel, …", - "cs": "Sleduje se veřejný prostor, například ulice, most, náměstí, park, nádraží, veřejný koridor nebo tunel, …" + "cs": "Sleduje se veřejný prostor, například ulice, most, náměstí, park, nádraží, veřejný koridor nebo tunel, …", + "sl": "Nadzoruje javno površino kot je ulica, most, trg, park, postaja, javni hodnik, tunel…" } }, { @@ -446,7 +469,8 @@ "da": "Et udendørs, men privat område overvåges (f.eks. en parkeringsplads, en tankstation, en gårdsplads, en indgang, en privat indkørsel, ...)", "ca": "Es vigila una àrea exterior, encara que privada (p.e. una plaça d'aparcament, una estació de servei, pati, entrada, via d'accés privada, …)", "es": "Es un área exterior pero privada (ej: estacionamiento, gasolinera, patio, entrada, camino privado, ...)", - "cs": "Sleduje se venkovní, ale soukromý prostor (např. parkoviště, čerpací stanice, dvůr, vchod, soukromá příjezdová cesta, ...)" + "cs": "Sleduje se venkovní, ale soukromý prostor (např. parkoviště, čerpací stanice, dvůr, vchod, soukromá příjezdová cesta, ...)", + "sl": "Nadzoruje zunanjo, a zasebno površino (npr. parkirišče, bencinsko črpalko, dvorišče, vhod v stavbo, zasebni dovoz…)" } }, { @@ -464,7 +488,8 @@ "da": "Et privat indendørs område overvåges, f.eks. en butik, en privat parkeringskælder, …", "ca": "Es vigila una àrea interior privada, p.e. una botiga, un parking subterrani privat, …", "es": "La vigilancia ocurre en un lugar interior privado, por ejemplo una tienda, un estacionamiento privado subterráneo, …", - "cs": "Soukromý vnitřní prostor je sledován, např. obchod, soukromé podzemní parkoviště, …" + "cs": "Soukromý vnitřní prostor je sledován, např. obchod, soukromé podzemní parkoviště, …", + "sl": "Nadzoruje zasebno notranjo površino, npr. trgovino, zasebno podzemno parkirišče…" } } ], @@ -480,7 +505,8 @@ "da": "Er det offentlige rum, der overvåges af dette kamera, et indendørs eller udendørs rum?", "es": "¿El espacio público vigilado por esta cámara es un espacio interior o exterior?", "ca": "L'espai públic vigilat per aquesta càmera és un espai interior o exterior?", - "cs": "Je veřejný prostor sledovaný touto kamerou vnitřní nebo venkovní prostor?" + "cs": "Je veřejný prostor sledovaný touto kamerou vnitřní nebo venkovní prostor?", + "sl": "Ali je javni prostor, ki ga nadzoruje ta kamera, notranji ali zunanji?" }, "condition": { "and": [ @@ -499,7 +525,8 @@ "da": "Dette kamera er placeret indendørs", "es": "Esta cámara está ubicada en un lugar interior", "ca": "Aquesta càmera es troba a l'interior", - "cs": "Tato kamera je umístěna ve vnitřním prostoru" + "cs": "Tato kamera je umístěna ve vnitřním prostoru", + "sl": "Ta kamera je znotraj" } }, { @@ -514,7 +541,8 @@ "da": "Dette kamera er placeret udendørs", "es": "Esta cámara está ubicada en un lugar exterior", "ca": "Aquesta càmera es troba a l'exterior", - "cs": "Tato kamera je umístěna ve venkovním prostoru" + "cs": "Tato kamera je umístěna ve venkovním prostoru", + "sl": "Ta kamera je zunaj" } }, { @@ -529,7 +557,8 @@ "da": "Dette kamera er sandsynligvis placeret udendørs", "es": "Esta cámara está probablemente colocada en el exterior", "ca": "Aquesta càmera probablement es troba a l'exterior", - "cs": "Tato kamera je pravděpodobně umístěna venku" + "cs": "Tato kamera je pravděpodobně umístěna venku", + "sl": "Ta kamera je verjetno zunaj" }, "hideInAnswer": true } @@ -545,7 +574,8 @@ "de": "Auf welcher Ebene befindet sich diese Kamera?", "es": "¿A qué nivel está colocada esta cámara?", "ca": "A quina planta es troba aquesta càmera?", - "cs": "Ve kterém podlaží se nachází tato kamera?" + "cs": "Ve kterém podlaží se nachází tato kamera?", + "sl": "V katerem nadstropju je ta kamera?" }, "render": { "en": "Located on level {level}", @@ -555,7 +585,8 @@ "de": "Befindet sich auf Ebene {level}", "es": "Ubicado en la planta {level}", "ca": "Ubicat a la planta {level}", - "cs": "Nachází se v patře {level}" + "cs": "Nachází se v patře {level}", + "sl": "Se nahaja v {level}. nadstropju" }, "freeform": { "key": "level", @@ -579,7 +610,8 @@ "da": "Hvad er det præcist, der overvåges her?", "ca": "Que vigilen exactament aquí?", "es": "¿Qué se vigila aquí exactamente?", - "cs": "Co přesně se zde sleduje?" + "cs": "Co přesně se zde sleduje?", + "sl": "Kaj točno je nadzorovano tu?" }, "freeform": { "key": "surveillance:zone" @@ -593,7 +625,8 @@ "da": "Overvåger en {surveillance:zone}", "ca": "Vigila un/a {surveillance:zone}", "es": "Vigila un/a {surveillance:zone}", - "cs": "Sleduje {surveillance:zone}" + "cs": "Sleduje {surveillance:zone}", + "sl": "Nadzoruje {surveillance:zone}" }, "mappings": [ { @@ -611,7 +644,8 @@ "da": "Overvåger en parkeringsplads", "ca": "Vigilen un aparcament", "es": "Vigila un estacionamiento", - "cs": "Hlídá parkoviště" + "cs": "Hlídá parkoviště", + "sl": "Nadzoruje parkirišče" } }, { @@ -629,7 +663,8 @@ "da": "Overvåger trafikken", "ca": "Vigilen el trànsit", "es": "Vigila el tránsito", - "cs": "Sleduje provoz" + "cs": "Sleduje provoz", + "sl": "Nadzoruje promet" } }, { @@ -647,7 +682,8 @@ "da": "Overvåger en indgang", "ca": "Vigilen una entrada", "es": "Vigila una entrada", - "cs": "Hlídá vchod" + "cs": "Hlídá vchod", + "sl": "Nadzoruje vhod" } }, { @@ -665,7 +701,8 @@ "da": "Overvåger en korridor", "ca": "Vigilen un corredor", "es": "Vigila un corredor", - "cs": "Sleduje chodbu" + "cs": "Sleduje chodbu", + "sl": "Nadzoruje hodnik" } }, { @@ -683,7 +720,8 @@ "da": "Overvejer en offentlig transportplatform", "ca": "Vigilen una parada de transport públic", "es": "Vigila una parada de transporte público", - "cs": "Sleduje zastávku veřejné dopravy" + "cs": "Sleduje zastávku veřejné dopravy", + "sl": "Nadzoruje peron javnega prevoza" } }, { @@ -701,7 +739,8 @@ "da": "Overvåger en butik", "ca": "Vigilen una botiga", "es": "Vigila una tienda", - "cs": "Dohlíží na obchod" + "cs": "Dohlíží na obchod", + "sl": "Nadzoruje trgovino" } } ], @@ -718,7 +757,8 @@ "da": "Hvordan er dette kamera placeret?", "ca": "Com està posicionada aquesta càmera?", "es": "¿Cómo está colocada la cámara?", - "cs": "Jak je tato kamera umístěna?" + "cs": "Jak je tato kamera umístěna?", + "sl": "Kako je postavljena ta kamera?" }, "render": { "en": "Mounting method: {camera:mount}", @@ -729,7 +769,8 @@ "da": "Monteringsmetode: {camera:mount}", "ca": "Mètode de muntatge: {camera:mount}", "es": "Método de montaje: {camera:mount}", - "cs": "Způsob montáže: {camera:mount}" + "cs": "Způsob montáže: {camera:mount}", + "sl": "Način namestitve: {camera:mount}" }, "freeform": { "key": "camera:mount" @@ -746,7 +787,8 @@ "da": "Dette kamera er placeret op ad en væg", "ca": "Aquesta càmera està ubicada contra un mur", "es": "Está cámara está colocada sobre una pared", - "cs": "Tato kamera je umístěna na zdi" + "cs": "Tato kamera je umístěna na zdi", + "sl": "Ta kamera je pritrjena na steno" } }, { @@ -760,7 +802,8 @@ "da": "Dette kamera er placeret på en stang", "ca": "Aquesta càmera està posicionada a un pal", "es": "Esta cámara está colocada en un poste", - "cs": "Tato kamera je umístěna na sloupu" + "cs": "Tato kamera je umístěna na sloupu", + "sl": "Ta kamera je nameščena na drog" } }, { @@ -774,7 +817,8 @@ "da": "Dette kamera er placeret i loftet", "ca": "Aquesta càmera està posicionada al sostre", "es": "Esta cámara está colocada en un techo", - "cs": "Tato kamera je umístěna na stropě" + "cs": "Tato kamera je umístěna na stropě", + "sl": "Ta kamera je pritrjena na strop" } }, { @@ -788,7 +832,8 @@ "da": "Dette kamera er placeret på en gadelampe", "ca": "Aquesta càmera està posicionada a un fanal", "es": "Esta cámara está colocada sobre una farola", - "cs": "Tato kamera je umístěna na pouličním osvětlení" + "cs": "Tato kamera je umístěna na pouličním osvětlení", + "sl": "Ta kamera je nameščena na ulično svetilko" } }, { @@ -802,7 +847,8 @@ "da": "Dette kamera er placeret på et træ", "ca": "Aquesta càmera està posicionada a un arbre", "es": "Esta cámara está colocada en un árbol", - "cs": "Tato kamera je umístěna na stromě" + "cs": "Tato kamera je umístěna na stromě", + "sl": "Ta kamera je nameščena na drevo" } } ], diff --git a/assets/layers/usersettings/question_multiple.svg b/assets/layers/usersettings/question_multiple.svg new file mode 100644 index 000000000..7515e0738 --- /dev/null +++ b/assets/layers/usersettings/question_multiple.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/assets/layers/usersettings/question_single.svg b/assets/layers/usersettings/question_single.svg new file mode 100644 index 000000000..7515e0738 --- /dev/null +++ b/assets/layers/usersettings/question_single.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index d6c61cbd9..08db0c331 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -26,7 +26,8 @@ "da": "Indstillinger", "ca": "Configuració", "cs": "Nastavení", - "fi": "Asetukset" + "fi": "Asetukset", + "zh_Hant": "設定" } }, "pointRendering": null, @@ -229,7 +230,7 @@ "ca": "Utilitzeu la capa de fons actual ({__current_background}) com a fons predeterminat", "de": "Aktuelle Hintergrundebene ({__current_background}) als Standardhintergrund verwenden", "cs": "Použít aktuální vrstvu pozadí ({__current_background}) jako výchozí pozadí", - "nl": "Gebruik altijd {__current_background}) als achtergrondlaag. Dit is de huidige achtergrond." + "nl": "Gebruik altijd {__current_background} als achtergrondlaag. Dit is de huidige achtergrond." }, "hideInAnswer": { "or": [ @@ -615,7 +616,7 @@ "zh_Hant": "點字串旁邊的 'translate'-icon 來輸入或是更新一段文字。你需要 Weblate 帳號。用你 OSM 帳號名稱來創建帳號,並且自動解鎖翻譯模式。", "cs": "Chcete-li zadat nebo aktualizovat část textu, klikněte na ikonu „přeložit“ vedle řetězce. K tomu potřebujete účet Weblate. Vytvořte si jej s vaším uživatelským jménem OSM, abyste automaticky odemkli režim překladu." }, - "icon": "translate" + "icon": "./assets/svg/translate.svg" } ] }, @@ -737,12 +738,8 @@ { "if": "_translation_contributions>0", "then": { - "en": "You have contributed to translating MapComplete! That's awesome!", - "ca": "Has contribuït a traduir MapComplete! Això és fantàstic!", - "de": "Sie haben dazu beigetragen, MapComplete zu übersetzen! Das ist großartig!", - "nl": "Je hebt MapComplete helpen vertalen! Dat is fantastisch! Bedankt hiervoor!", - "cs": "Přispěli jste k překladu MapComplete! To je úžasné!", - "pt": "Você contribuiu para a tradução do MapComplete! Fantástico!" + "en": "You have contributed to translating MapComplete with {_translation_contributions} commits! That's awesome!", + "nl": "Je hebt MapComplete helpen vertalen met {_translation_contributions} commits! Dat is fantastisch! Bedankt hiervoor!" }, "icon": "party" } diff --git a/assets/themes/advertising/license_info.json b/assets/themes/advertising/license_info.json index d62237edd..d07c92f74 100644 --- a/assets/themes/advertising/license_info.json +++ b/assets/themes/advertising/license_info.json @@ -354,6 +354,16 @@ "https://wiki.openstreetmap.org/wiki/File:Poster_box.svg" ] }, + { + "path": "poster_box_transit_shelter.svg", + "license": "CC-BY-SA-3.0", + "authors": [ + "Barnes38" + ], + "sources": [ + "https://wiki.openstreetmap.org/wiki/File:Poster_box_shelter.svg" + ] + }, { "path": "screen alcoi.jpg", "license": "CC-BY-4.0", diff --git a/assets/themes/advertising/poster_box_transit_shelter.svg b/assets/themes/advertising/poster_box_transit_shelter.svg new file mode 100644 index 000000000..d1d1f0fef --- /dev/null +++ b/assets/themes/advertising/poster_box_transit_shelter.svg @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/themes/advertising/poster_box_transit_shelter.svg.license b/assets/themes/advertising/poster_box_transit_shelter.svg.license new file mode 100644 index 000000000..fea8b9c65 --- /dev/null +++ b/assets/themes/advertising/poster_box_transit_shelter.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Barnes38 +SPDX-License-Identifier: CC-BY-SA-3.0 \ No newline at end of file diff --git a/assets/themes/bicycle_parkings/bicycle_parkings.json b/assets/themes/bicycle_parkings/bicycle_parkings.json new file mode 100644 index 000000000..35362e187 --- /dev/null +++ b/assets/themes/bicycle_parkings/bicycle_parkings.json @@ -0,0 +1,20 @@ +{ + "id": "bicycle_parkings", + "description": { + "en": "A map showing all types of bicycle parkings", + "de": "Eine Karte mit allen Arten von Fahrradabstellplätzen" + }, + "title": { + "en": "Bicycle parkings", + "de": "Fahrradabstellplätze" + }, + "icon": "./assets/themes/bicycle_parkings/logo.svg", + "layers": [ + { + "builtin": "bike_parking", + "override": { + "minzoom": 12 + } + } + ] +} diff --git a/assets/themes/bicycle_parkings/license_info.json b/assets/themes/bicycle_parkings/license_info.json new file mode 100644 index 000000000..8f6e1f424 --- /dev/null +++ b/assets/themes/bicycle_parkings/license_info.json @@ -0,0 +1,10 @@ +[ + { + "path": "logo.svg", + "license": "CC0-1.0", + "authors": [ + "Pieter Vander Vennet" + ], + "sources": [] + } +] \ No newline at end of file diff --git a/assets/themes/bicycle_parkings/logo.svg b/assets/themes/bicycle_parkings/logo.svg new file mode 100644 index 000000000..9b14f8735 --- /dev/null +++ b/assets/themes/bicycle_parkings/logo.svg @@ -0,0 +1,45 @@ + + diff --git a/assets/themes/bicycle_parkings/logo.svg.license b/assets/themes/bicycle_parkings/logo.svg.license new file mode 100644 index 000000000..ed0288300 --- /dev/null +++ b/assets/themes/bicycle_parkings/logo.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Pieter Vander Vennet +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file diff --git a/assets/themes/blind_osm/blind_osm.json b/assets/themes/blind_osm/blind_osm.json index a2e25824d..7eb440cb3 100644 --- a/assets/themes/blind_osm/blind_osm.json +++ b/assets/themes/blind_osm/blind_osm.json @@ -31,7 +31,7 @@ "startZoom": 20, "startLat": 52.99238, "startLon": 6.570614, - "defaultBackgroundId": "maptiler.backdrop", + "defaultBackgroundId": "protomaps.white", "layers": [ { "builtin": "cycleways_and_roads", diff --git a/assets/themes/climbing/climbing.json b/assets/themes/climbing/climbing.json index 31b513d86..e1df8336d 100644 --- a/assets/themes/climbing/climbing.json +++ b/assets/themes/climbing/climbing.json @@ -313,8 +313,7 @@ "freeform": { "key": "access:description" } - }, - "questions" + } ] } }, diff --git a/assets/themes/cycle_highways/cycle_highways.json b/assets/themes/cycle_highways/cycle_highways.json index 5c4408bbd..6afd7f3a5 100644 --- a/assets/themes/cycle_highways/cycle_highways.json +++ b/assets/themes/cycle_highways/cycle_highways.json @@ -31,7 +31,7 @@ "startZoom": 10, "startLat": 51.1599, "startLon": 3.3475, - "defaultBackgroundId": "maptiler.backdrop", + "defaultBackgroundId": "protomaps.white", "credits": [ "L'imaginaire" ], diff --git a/assets/themes/ghostbikes/ghostbikes.json b/assets/themes/ghostbikes/ghostbikes.json index 841f11480..2b886a9a7 100644 --- a/assets/themes/ghostbikes/ghostbikes.json +++ b/assets/themes/ghostbikes/ghostbikes.json @@ -39,7 +39,7 @@ "pl": "Duch roweru to pomnik upamiętniający rowerzystę, który zginął w wypadku drogowym, w postaci białego roweru umieszczonego na stałe w pobliżu miejsca wypadku.

Na tej mapie każdy może zobaczyć wszystkie takie duchy roweru znane w OpenStreetMap. Czy brakuje ducha roweru? Każdy może tu dodać lub zaktualizować informacje - wystarczy posiadać (bezpłatne) konto OpenStreetMap.

Istnieje automatyczne konto na Mastodonie, na którym publikowany jest miesięczny przegląd duchów roweru na całym świecie

" }, "icon": "./assets/themes/ghostbikes/logo.svg", - "defaultBackgroundId": "maptiler.backdrop", + "defaultBackgroundId": "protomaps.white", "layers": [ "ghost_bike" ], diff --git a/assets/themes/ghostsigns/ghostsigns.json b/assets/themes/ghostsigns/ghostsigns.json index e95b54369..ce5c74aec 100644 --- a/assets/themes/ghostsigns/ghostsigns.json +++ b/assets/themes/ghostsigns/ghostsigns.json @@ -1,10 +1,13 @@ { "id": "ghostsigns", "title": { - "en": "Ghost Signs" + "en": "Ghost Signs", + "de": "Geisterzeichen" }, "description": { - "en": "A map showing disused signs on buildings" + "en": "A map showing disused signs on buildings", + "de": "Eine Karte, die ungenutzte Zeichen auf Gebäuden zeigt", + "es": "Un mapa que muestra los rótulos en desuso de los edificios" }, "icon": "./assets/themes/advertising/wall_painting.svg", "layers": [ @@ -12,14 +15,19 @@ "id": "ghostsigns", "title": { "render": { - "en": "Ghost Sign" + "en": "Ghost Sign", + "de": "Geisterzeichen" } }, "description": { - "en": "Layer showing disused signs on buildings" + "en": "Layer showing disused signs on buildings", + "de": "Ebene, die ungenutzte Zeichen auf Gebäuden zeigt", + "es": "Capa que muestra carteles en desuso en edificios" }, "name": { - "en": "Ghost Signs" + "en": "Ghost Signs", + "de": "Geisterzeichen", + "es": "Señales fantasma" }, "source": { "osmTags": { @@ -30,30 +38,33 @@ } }, "minzoom": 10, - "allowMove": { - "enableImproveAccuracy": true - }, + "#allowMove": "Normally, a ghost sign is snapped to a wall, so moving won't be possible in most cases", + "allowMove": false, "tagRenderings": [ { "id": "historic", "question": { - "en": "Is this a ghost sign?" + "en": "Is this a ghost sign?", + "de": "Ist das ein Geisterzeichen?" }, "questionHint": { - "en": "Is this sign for a business that no longer exists or no longer being maintained?" + "en": "Is this sign for a business that no longer exists or no longer being maintained?", + "de": "Ist dieses Schild für ein Geschäft, das nicht mehr existiert oder nicht mehr gepflegt wird?" }, "mappings": [ { "if": "historic=advertising", "then": { - "en": "This is a ghost sign" + "en": "This is a ghost sign", + "de": "Das ist ein Geisterzeichen" }, "alsoShowIf": "historic=yes" }, { "if": "historic=", "then": { - "en": "This is not a ghost sign, answering this will hide the sign from the map" + "en": "This is not a ghost sign, answering this will hide the sign from the map", + "de": "Dies ist kein Geisterzeichen, die Antwort darauf wird das Schild von der Karte verstecken" } } ] @@ -69,33 +80,42 @@ { "id": "inscription", "question": { - "en": "What is the text on the sign?" + "en": "What is the text on the sign?", + "de": "Was ist der Text auf dem Schild?" }, "freeform": { "key": "inscription", "type": "string", "placeholder": { - "en": "Text on the sign" + "en": "Text on the sign", + "de": "Text auf dem Schild" } }, "render": { - "en": "The text on the sign is: {inscription}" + "en": "The text on the sign is: {inscription}", + "de": "Der Text auf dem Schild ist: {inscription}" } }, { "id": "brand", "question": { - "en": "For what business was this sign made?" + "en": "For what business was this sign made?", + "de": "Für welches Unternehmen wurde dieses Schild angefertigt?", + "es": "¿Para qué negocio se hizo este cartel?" }, "freeform": { "key": "brand", "type": "string", "placeholder": { - "en": "Business name" + "en": "Business name", + "de": "Unternehmensname", + "es": "Nombre comercial" } }, "render": { - "en": "This sign was made for: {brand}" + "en": "This sign was made for: {brand}", + "de": "Dieses Schild wurde gemacht für: {brand}", + "es": "Este cartel se hizo para: {brand}" } } ], @@ -125,7 +145,9 @@ "advertising=wall_painting" ], "title": { - "en": "a ghost sign" + "en": "a ghost sign", + "de": "ein Geisterzeichen", + "es": "una señal fantasma" }, "snapToLayer": [ "walls_and_buildings" @@ -144,29 +166,34 @@ "minzoom": 18, "name": { "en": "All advertentie wall paintings", - "nl": "Alle adverterende muurschilderingen" + "nl": "Alle adverterende muurschilderingen", + "de": "Alle Werbe-Wandbilder" }, "+tagRenderings": [ { "id": "historic", "question": { - "en": "Is this a ghost sign?" + "en": "Is this a ghost sign?", + "de": "Ist das ein Geisterzeichen?" }, "questionHint": { - "en": "Is this sign for a business that no longer exists or no longer being maintained?" + "en": "Is this sign for a business that no longer exists or no longer being maintained?", + "de": "Ist dieses Schild für ein Geschäft, das nicht mehr existiert oder nicht mehr gepflegt wird?" }, "mappings": [ { "if": "historic=advertising", "then": { - "en": "This is a ghost sign" + "en": "This is a ghost sign", + "de": "Das ist ein Geisterzeichen" }, "alsoShowIf": "historic=yes" }, { "if": "historic=", "then": { - "en": "This is not a ghost sign" + "en": "This is not a ghost sign", + "de": "Das ist kein Geisterzeichen" } } ] diff --git a/assets/themes/items_with_image/items_with_image.json b/assets/themes/items_with_image/items_with_image.json index b96f05fe4..dad3fa1a2 100644 --- a/assets/themes/items_with_image/items_with_image.json +++ b/assets/themes/items_with_image/items_with_image.json @@ -1,10 +1,12 @@ { "id": "items_with_image", "title": { - "en": "All items with images" + "en": "All items with images", + "de": "Alle Elemente mit Bildern" }, "description": { - "en": "A map showing all items on OSM which have an image. This theme is a very bad fit for MapComplete as someone is not able to directly add a picture. However, this theme is mostly here to include this all into the database, which'll allow this to quickly fetch images nearby for other features" + "en": "A map showing all items on OSM which have an image. This theme is a very bad fit for MapComplete as someone is not able to directly add a picture. However, this theme is mostly here to include this all into the database, which'll allow this to quickly fetch images nearby for other features", + "de": "Eine Karte, die alle Objekte auf OSM zeigt, die ein Bild haben. Dieses Thema ist sehr schlecht für MapComplete geeignet, da man nicht direkt ein Bild hinzufügen kann. Dieses Thema ist jedoch hauptsächlich dazu da, um alles in die Datenbank aufzunehmen, was es ermöglicht, Bilder in der Nähe für andere Funktionen schnell zu finden" }, "icon": "./assets/layers/item_with_image/camera.svg", "hideFromOverview": true, diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index 22f2c1763..9e119e077 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -149,6 +149,10 @@ "if": "theme=benches", "then": "./assets/themes/benches/bench_poi.svg" }, + { + "if": "theme=bicycle_parkings", + "then": "./assets/themes/bicycle_parkings/logo.svg" + }, { "if": "theme=bicycle_rental", "then": "./assets/themes/bicycle_rental/logo.svg" @@ -309,6 +313,10 @@ "if": "theme=maxspeed", "then": "./assets/themes/maxspeed/maxspeed_logo.svg" }, + { + "if": "theme=memorials", + "then": "./assets/layers/memorial/memorial.svg" + }, { "if": "theme=nature", "then": "./assets/themes/nature/logo.svg" diff --git a/assets/themes/maps/maps.json b/assets/themes/maps/maps.json index f77b87387..6743b2244 100644 --- a/assets/themes/maps/maps.json +++ b/assets/themes/maps/maps.json @@ -45,9 +45,9 @@ "pl": "Ten motyw pokazuje wszystkie mapy (turystyczne), które zna OpenStreetMap" }, "icon": "./assets/themes/maps/logo.svg", - "defaultBackgroundId": "maptiler.backdrop", + "defaultBackgroundId": "protomaps.white", "layers": [ "map" ], "widenFactor": 5 -} \ No newline at end of file +} diff --git a/assets/themes/memorials/memorials.json b/assets/themes/memorials/memorials.json new file mode 100644 index 000000000..e8a6a9238 --- /dev/null +++ b/assets/themes/memorials/memorials.json @@ -0,0 +1,31 @@ +{ + "id": "memorials", + "icon": "./assets/layers/memorial/memorial.svg", + "description": { + "en": "Memorials are physical objects permantently placed in the public space to remember a person or event. They can be a wide range of objects, such as statues, plaques, paintings, military objects (such as tanks), ...", + "de": "Denkmäler sind physische Objekte, die dauerhaft im öffentlichen Raum aufgestellt werden, um an eine Person oder ein Ereignis zu erinnern. Dabei kann es sich um eine Vielzahl von Objekten handeln, z. B. Statuen, Tafeln, Gemälde, militärische Objekte (wie Panzer), ..." + }, + "title": { + "en": "Memorials", + "de": "Denkmäler" + }, + "layers": [ + { + "builtin": [ + "ghost_bike", + "memorial" + ], + "override": { + "minzoom": 9 + } + }, + { + "builtin": [ + "bench" + ], + "override": { + "minzoom": 18 + } + } + ] +} diff --git a/assets/themes/postboxes/postboxes.json b/assets/themes/postboxes/postboxes.json index 38e9045ee..3e81b4c5a 100644 --- a/assets/themes/postboxes/postboxes.json +++ b/assets/themes/postboxes/postboxes.json @@ -61,25 +61,29 @@ "minzoom": 18, "minzoomVisible": 18, "description": { - "en": "Add a new post partner to the map in an existing shop" + "en": "Add a new post partner to the map in an existing shop", + "de": "Hinzufügen eines neuen Post-Partners auf der Karte in einem bestehenden Geschäft" }, "+tagRenderings": [ { "id": "post_partner", "question": { - "en": "Is this shop a post partner?" + "en": "Is this shop a post partner?", + "de": "Ist dieses Geschäft ein Post-Partner?" }, "mappings": [ { "if": "post_office=post_partner", "then": { - "en": "This shop is a post partner" + "en": "This shop is a post partner", + "de": "Dieses Geschäft ist ein Post-Partner" } }, { "if": "post_office=", "then": { - "en": "This shop is not a post partner" + "en": "This shop is not a post partner", + "de": "Dieses Geschäft ist kein Post-Partner" } } ] @@ -93,10 +97,12 @@ "post_office=post_partner" ], "title": { - "en": "a missing shop that is a post partner" + "en": "a missing shop that is a post partner", + "de": "ein fehlendes Geschäft, das ein Post-Partner ist" }, "description": { - "en": "If a shop is not yet on the map and is a post partner, you can add it here." + "en": "If a shop is not yet on the map and is a post partner, you can add it here.", + "de": "Wenn ein Laden noch nicht auf der Karte ist und ein Post-Partner ist, kannst du ihn hier hinzufügen." } } ] diff --git a/assets/themes/shops/shops.json b/assets/themes/shops/shops.json index 99503d0f2..4d038673a 100644 --- a/assets/themes/shops/shops.json +++ b/assets/themes/shops/shops.json @@ -56,6 +56,6 @@ "trolley_bay" ], "overrideAll": { - "minzoom": 16 + "minzoom": 14 } } diff --git a/assets/themes/speelplekken/speelplekken.json b/assets/themes/speelplekken/speelplekken.json index 037199ffa..ab7063201 100644 --- a/assets/themes/speelplekken/speelplekken.json +++ b/assets/themes/speelplekken/speelplekken.json @@ -15,7 +15,7 @@ "startZoom": 12, "startLat": 51.17174, "startLon": 4.449462, - "defaultBackgroundId": "maptiler.backdrop", + "defaultBackgroundId": "protomaps.white", "hideFromOverview": true, "layers": [ { diff --git a/assets/themes/stations/stations.json b/assets/themes/stations/stations.json index c2ad5612c..01e4e630e 100644 --- a/assets/themes/stations/stations.json +++ b/assets/themes/stations/stations.json @@ -23,7 +23,7 @@ "pl": "Przeglądaj, edytuj i dodawaj szczegóły do stacji kolejowej" }, "icon": "./assets/themes/stations/rail-light.svg", - "defaultBackgroundId": "maptiler.backdrop", + "defaultBackgroundId": "protomaps.white", "hideFromOverview": true, "layers": [ { diff --git a/assets/themes/street_lighting/street_lighting.json b/assets/themes/street_lighting/street_lighting.json index 98ff87cc2..380c3a7ae 100644 --- a/assets/themes/street_lighting/street_lighting.json +++ b/assets/themes/street_lighting/street_lighting.json @@ -358,6 +358,10 @@ { "if": "lit=no", "then": "#303030" + }, + { + "if": "lit=yes", + "then": "#ff0" } ] } diff --git a/assets/themes/surveillance/surveillance.json b/assets/themes/surveillance/surveillance.json index d9223319c..92f65b23c 100644 --- a/assets/themes/surveillance/surveillance.json +++ b/assets/themes/surveillance/surveillance.json @@ -14,7 +14,8 @@ "da": "Overvågning under Overvågning", "es": "Vigilancia bajo vigilancia", "cs": "Dohled pod dohledem", - "pl": "Monitoring monitoringu" + "pl": "Monitoring monitoringu", + "sl": "Nadzor nadzora" }, "description": { "en": "On this open map, you can find surveillance cameras.", diff --git a/assets/themes/velopark/velopark.json b/assets/themes/velopark/velopark.json index 063dea6af..cb5fcf24c 100644 --- a/assets/themes/velopark/velopark.json +++ b/assets/themes/velopark/velopark.json @@ -1,10 +1,12 @@ { "id": "velopark", "title": { + "en": "Velopark to OpenStreetMap synchronisation tool", "nl": "Velopark naar OpenStreetMap sync tool" }, "mustHaveLanguage": [ - "nl" + "nl", + "en" ], "description": { "en": "

Velopark.be is a website collecting data about bicycle parkings in a semi-crowdsourced way. However, only 'authorized' instances are allowed to make changes there, in practice the operator of the bicycle parking such as SNCB, de Lijn or the municipality. They have now decided to synchronize their dataset with OpenStreetMap, and this MapComplete-instance is set up to help link and import their data into OpenStreetMap.

How to use:
  • A velopark-icon on the map (yellow with bicycle silhouette) represents a bicycle known by Velopark but not yet known by OpenStreetMap
  • Blue pins are bicycle parkings known by OpenStreetMap
  • Light blue pins are bicycle parkings known by OpenStreetMap with a reference to Velopark.be (ref-velopark=*)
  • Click a velopark item, you can either link it with a nearby OSM-bicycle parking or create a new bicycle parking. Note that the geometry of Velopark is often incorrect and can be a few up till 100 meters away from the actual bicycle parking. Use aerial imagery, linked images and streetview to determine the correct location
  • Once linked, you can compare the Velopark- and OSM-attributes and apply correct attributes
  • If Velopark has an image, you can also link the image
That's it! Thanks for helping to import this!", diff --git a/index.html b/index.html index 750021b71..2a5d50f2a 100644 --- a/index.html +++ b/index.html @@ -12,8 +12,6 @@ - - MapComplete @@ -34,16 +32,6 @@ - - - - - @@ -55,21 +43,8 @@ - + + diff --git a/langs/de.json b/langs/de.json index eb655bc19..08f71f035 100644 --- a/langs/de.json +++ b/langs/de.json @@ -20,6 +20,7 @@ "cancel": "Abbrechen", "cannotBeDeleted": "Dieses Element kann nicht gelöscht werden", "delete": "Löschen", + "deletedTitle": "Gelöschtes Objekt", "explanations": { "hardDelete": "Dieses Objekt wird in OpenStreetMap gelöscht. Es kann von einem erfahrenen Mitwirkenden wiederhergestellt werden", "retagNoOtherThemes": "Dieses Objekt wird neu klassifiziert und aus dieser Anwendung ausgeblendet", @@ -27,6 +28,7 @@ "selectReason": "Bitte auswählen, warum dieses Element gelöscht werden soll", "softDelete": "Dieses Element wird aktualisiert und in dieser Anwendung ausgeblendet. {reason}" }, + "isChanged": "Dieses Merkmal wurde geändert und passt nicht mehr zu dieser Ebene", "isDeleted": "Dieses Element wurde gelöscht", "isntAPoint": "Es können nur Punkte gelöscht werden. Das ausgewählte Objekt ist ein Weg, eine Fläche oder eine Relation.", "loading": "Eigenschaften untersuchen, um festzustellen, ob das Element gelöscht werden kann.", @@ -55,9 +57,9 @@ "isFavourite": "Der Standort ist derzeit als Favorit markiert und wird auf allen thematischen Karten von MapComplete angezeigt, die Sie besuchen.", "isMarkedShort": "Als bevorzugter Standort markiert", "isNotMarkedShort": "Nicht als Favorit markiert", - "markAsFavouriteTitle": "Diesen Standort als bevorzugten Standort markieren", + "markAsFavouriteTitle": "Diesen Standort als Favorit markieren", "markDescription": "Diesen Standort zur persönlichen Liste bevorzugter Standorte hinzufügen", - "unmark": "Von persönlicher Liste bevorzugter Standorte entfernen", + "unmark": "Standort von Favoritenliste entfernen", "unmarkNotDeleted": "Dieser Punkt wird nicht gelöscht und ist weiterhin auf der entsprechenden Karte für dich und andere sichtbar" }, "downloadGeojson": "Favoriten als geojson herunterladen", @@ -122,6 +124,7 @@ "confirmLocation": "Diesen Standort bestätigen", "confirmTitle": "{title} hinzufügen?", "confirmWarning": "Das von Dir eingetragene Objekt wird für alle sichtbar sein. Bitte füge nur Objekte hinzu, die wirklich existieren. Viele Anwendungen nutzen diese Daten.", + "creating": "Einen neuen Punkt zu erstellen...", "disableFilters": "Alle Filter deaktivieren", "disableFiltersExplanation": "Einige Elemente können durch einen Filter ausgeblendet sein", "enableLayer": "Ebene {name} einblenden", @@ -213,6 +216,7 @@ "current_view_generic": "Exportiere eine PDF-Ansicht im aktuellen Modus für {paper_size} im {orientation} Modus" }, "title": "Download", + "toMuch": "Es gibt zu viele Funktionen, um sie alle herunterzuladen", "uploadGpx": "Einen Track auf OpenStreetMap hochladen" }, "enableGeolocationForSafari": "Hast du das Popup zur Abfrage der Geo-Berechtigung nicht erhalten?", @@ -222,6 +226,10 @@ "example": "Beispiel", "examples": "Beispiele", "fewChangesBefore": "Bitte beantworten Sie einige Fragen zu bestehenden Objekten, bevor Sie ein neues Objekt hinzufügen.", + "filterPanel": { + "disableAll": "Alle deaktivieren", + "enableAll": "Alle aktivieren" + }, "geopermissionDenied": "Die Verwendung der Standortbestimmung wurde verweigert", "getStartedLogin": "Bei OpenStreetMap anmelden, um loszulegen", "getStartedNewAccount": " oder ein neues Konto anlegen", @@ -664,6 +672,8 @@ "i_am_affiliated_explanation": "Prüfung, ob Sie der Eigentümer, Ersteller, Angestellter, … sind", "name_required": "Der Name des Objekts ist erforderlich, um Bewertungen zu erstellen und anzuzeigen", "no_reviews_yet": "Es gibt noch keine Bewertungen. Hilf mit der ersten Bewertung dem Geschäft und der Open Data Bewegung!", + "non_place_review": "Eine Bewertung geht nicht um einen Ort und wird hier nicht angezeigt.", + "non_place_reviews": "{n} Bewertungen sind nicht über einen Ort und werden hier nicht angezeigt.", "question": "Wie bewerten Sie {title()}?", "question_opinion": "Wie war Ihre Erfahrung?", "rate": "Mit {n} Sternen bewerten", @@ -675,6 +685,7 @@ "save": "Bewertung speichern", "saved": "Bewertung gespeichert. Danke fürs Teilen!", "saving_review": "Speichern…", + "see_all": "Seh alle deine Bewertungen auf Mangrove Reviews", "title": "{count} Rezensionen", "title_singular": "Eine Rezension", "too_long": "Maximal {max} Zeichen sind erlaubt. Ihre Bewertung hat {amount} Zeichen.", @@ -779,7 +790,9 @@ "feedback": "Webadresse ungültig" }, "wikidata": { - "description": "Eine Wikidata-Kennung" + "description": "Eine Wikidata-Kennung", + "empty": "Bitte gib einige Wikidata-Einträge ein", + "startsWithQ": "Ein Wikidata-Identifikator beginnt mit Q und wird von einer Zahl gefolgt" } } } diff --git a/langs/en.json b/langs/en.json index afd3f87c1..bfa69f2e6 100644 --- a/langs/en.json +++ b/langs/en.json @@ -20,6 +20,7 @@ "cancel": "Cancel", "cannotBeDeleted": "This feature can not be deleted", "delete": "Delete", + "deletedTitle": "Deleted feature", "explanations": { "hardDelete": "This feature will be deleted in OpenStreetMap. It can be recovered by an experienced contributor", "retagNoOtherThemes": "This feature will be reclassified and hidden from this application", @@ -138,6 +139,7 @@ "confirmLocation": "Confirm this location", "confirmTitle": "Add a {title}?", "confirmWarning": "The feature you create here will be visible for everyone. Please, only add things on to the map if they truly exist. A lot of applications use this data.", + "creating": "Creating a new point...", "disableFilters": "Disable all filters", "disableFiltersExplanation": "Some features might be hidden by a filter", "enableLayer": "Enable layer {name}", @@ -205,6 +207,13 @@ "customThemeIntro": "These are previously visited user-generated themes.", "customThemeTitle": "Custom themes", "download": { + "custom": { + "download": "Download PNG of {width}mm wide and {height}mm high", + "downloadHelper": "This is meant for print", + "height": "Image height (in mm):", + "title": "Download an image with a custom width and height", + "width": "Image width (in mm): " + }, "downloadAsPdf": "Download a PDF of the current map", "downloadAsPdfHelper": "Ideal to print the current map", "downloadAsPng": "Download as image", @@ -229,7 +238,7 @@ "current_view_generic": "Export a PDF off the current view for {paper_size} in {orientation} orientation" }, "title": "Download", - "toMuch": "There are to much features to download them all", + "toMuch": "There are to many features to download them all", "uploadGpx": "Upload your track to OpenStreetMap" }, "enableGeolocationForSafari": "Did you not get the popup to ask for geopermission?", @@ -685,6 +694,8 @@ "i_am_affiliated_explanation": "Check if you are an owner, creator, employee, …", "name_required": "A name is required in order to display and create reviews", "no_reviews_yet": "There are no reviews yet. Be the first to write one and help open data and the business!", + "non_place_review": "One review is not about a place and is not shown here.", + "non_place_reviews": "{n} reviews are not about a place and are not shown here.", "question": "How would you rate {title()}?", "question_opinion": "How was your experience?", "rate": "Rate {n} stars", @@ -696,6 +707,7 @@ "save": "Save review", "saved": "Review saved. Thanks for sharing!", "saving_review": "Saving…", + "see_all": "See all your reviews on mangrove.reviews", "title": "{count} reviews", "title_singular": "One review", "too_long": "At most {max} characters are allowed. Your review has {amount} characters.", diff --git a/langs/fi.json b/langs/fi.json index 6c059697a..ec4b95636 100644 --- a/langs/fi.json +++ b/langs/fi.json @@ -20,6 +20,7 @@ "cancel": "Peru", "cannotBeDeleted": "Tätä kohdetta ei voi poistaa", "delete": "Poista", + "deletedTitle": "Poistettu ominaisuus", "explanations": { "hardDelete": "Tämä kohde poistetaan OpenStreetMapistä. Kokenut kartoittaja voi palauttaa sen.", "retagNoOtherThemes": "Tämä kohde luokitellaan uudelleen ja piilotetaan tältä sovellukselta", @@ -27,6 +28,7 @@ "selectReason": "Valitse, miksi tämä kohde pitäisi poistaa", "softDelete": "Tämä kohde päivitetään ja piilotetaan tässä sovelluksessa. {reason}" }, + "isChanged": "Tätä ominaisuutta on muutettu eikä se enää kuulu tähän tasoon", "isDeleted": "Tämä kohde on poistettu", "isntAPoint": "Vain pisteitä voi poistaa. Valittu kohde on viiva, alue tai relaatio.", "loading": "Tutkitaan ominaisuuksista, voiko tämän kohteen poistaa.", @@ -65,7 +67,7 @@ "intro": "Olet merkinnyt {length} sijaintia suosikkeihisi.", "introPrivacy": "Tämä lista näkyy vain sinulle", "loginToSeeList": "Kirjaudu sisään, jotta näet listan sijainneista, jotka olet merkinnyt suosikiksi", - "tab": "Omat suosikit", + "tab": "Omat suosikit ja arvostelut", "title": "Suosikkisijaintisi" }, "flyer": { @@ -122,6 +124,7 @@ "confirmLocation": "Vahvista tämä sijainti", "confirmTitle": "Lisätäänkö {title}?", "confirmWarning": "Täällä luomasi kohde näkyy kaikille. Ole hyvä ja lisää kartalle vain kohteita, jotka ovat oikeasti olemassa. Monet sovellukset käyttävät tätä tietoa.", + "creating": "Luodaan uusi piste...", "disableFilters": "Poista käytöstä kaikki suodattimet", "disableFiltersExplanation": "Jotkin kohteet saattavat olla piilossa suodattimen takia", "enableLayer": "Ota käyttöön taso {name}", @@ -145,7 +148,7 @@ "title": "Lisää uusi kohde", "warnVisibleForEveryone": "Lisäyksesi näkyy kaikille", "wrongType": "Tämä kohde ei ole piste eikä viiva eikä sitä voida tuoda", - "zoomInFurther": "Lähennä karttaa lisää, jotta kohteen voi lisätä.", + "zoomInFurther": "Lähennä karttaa lisää, jotta kohteen voi lisätä", "zoomInMore": "Lähennä karttaa lisää, jotta voit tuoda tämän kohteen" }, "apply_button": { @@ -176,27 +179,87 @@ "openOsmcha": "Näytä viimeisimmät muokkaukset, jotka on tehty teemalla {theme}", "seeOnMapillary": "Näytä tämä kuva Mapillaryssä", "themeBy": "Teemaa ylläpitää {author}", - "title": "Tekijänoikeudet ja alkuperä" + "title": "Tekijänoikeudet ja alkuperä", + "translatedBy": "MapCompleten on kääntäneet {contributors} ja {hiddenCount} muuta" }, + "back": "Takaisin", "backToIndex": "Palaa kaikkien teemakarttojen yleiskuvaan", + "backToMap": "Takaisin karttaan", "backgroundMap": "Valitse taustataso", "backgroundSwitch": "Vaihda taustaa", - "cancel": "Peruuta", + "cancel": "Peru", + "confirm": "Vahvista", + "customThemeIntro": "Nämä ovat aiemmin katsottuja käyttäjien omia teemoja.", + "customThemeTitle": "Omat teemat", "download": { - "title": "Lataa" + "downloadAsPdf": "Lataa PDF nykyisestä kartasta", + "downloadAsPdfHelper": "Ihanteellinen nykyisen kartan tulostamiseen", + "downloadAsPng": "Lataa kuvana", + "downloadAsPngHelper": "Ihanteellinen raportteihin sisällyttämiseen", + "downloadAsSvg": "Lataa SVG nykyisestä kartasta", + "downloadAsSvgHelper": "Yhteensopiva Inkscapen tai Adobe Illustratorin kanssa; tarvitsee jatkokäsittelyä", + "downloadAsSvgLinesOnly": "Lataa SVG nykyisestä kartasta, sisältäen vain viivat", + "downloadAsSvgLinesOnlyHelper": "Itseään leikkaavat viivat on katkottu, voidaan käyttää joidenkin 3D-ohjelmistojen kanssa", + "downloadCSV": "Lataa näkyvä data CSV-tiedostona", + "downloadCSVHelper": "Yhteensopiva mm. LibreOffice Calcin ja Excelin kanssa…", + "downloadFeatureAsGeojson": "Lataa GeoJSON-tiedostona", + "downloadFeatureAsGpx": "Lataa GPX-tiedostona", + "downloadGeoJsonHelper": "Yhteensopiva QGIS:n, ArcGIS:n, ESRIn kanssa …", + "downloadGeojson": "Lataa näkyvä data GeoJSON-tiedostona", + "downloadGpx": "Lataa GPX-tiedostona", + "downloadGpxHelper": "GPX-tiedostoa voidaan käyttää useimmissa navigointilaitteissa ja -sovelluksissa", + "exporting": "Viedään…", + "includeMetaData": "Sisällytä metadata (viimeisin muokkaaja, lasketut arvot, ...)", + "licenseInfo": "

Tekijänoikeus

Tarjottu data on saatavilla ODbL-lisenssillä. Sen uudelleenkäyttö on ilmaista mihin tahansa tarkoitukseen, mutta:
  • Lähteen maininnan © OpenStreetMap contributors täytyy näkyä.
  • Kaikki muutokset täytyy julkaista samalla lisenssillä.
Tarkemmat yksityiskohdat voi lukea lyhentämättömistä tekijänoikeustiedoista.", + "noDataLoaded": "Dataa ei ole vielä ladattu. Lataus tulee saataville pian", + "pdf": { + "current_view_generic": "Vie PDF-tiedostoon näkyvä alue {paper_size}-paperikoossa ja {orientation} suunnassa" + }, + "title": "Lataa", + "toMuch": "Ominaisuuksia on liian paljon ladattavaksi", + "uploadGpx": "Lähetä reittisi OpenStreetMapiin" }, + "enableGeolocationForSafari": "Etkö saanut lupapyyntöä sijainnin käytöstä?", + "enableGeolocationForSafariLink": "Katso, miten paikannuslupa annetaan asetuksissa", + "eraseValue": "Poista tämä arvo", "error": "Jotain meni vikaan", "example": "Esimerkki", "examples": "Esimerkit", + "fewChangesBefore": "Vastaathan muutamaan kysymykseen olemassa olevista ominaisuuksista ennen kuin lisäät uutta ominaisuutta.", + "filterPanel": { + "disableAll": "Poista kaikki käytöstä", + "enableAll": "Ota kaikki käyttöön" + }, + "geopermissionDenied": "Paikannuksen käyttö estettiin", + "getStartedLogin": "Kirjaudu sisään OpenStreetMapin avulla aloittaaksesi", + "getStartedNewAccount": " tai luo uusi tili", + "goToInbox": "Avaa postilaatikko", + "histogram": { + "error_loading": "Histogrammia ei voitu ladata" + }, "labels": { "background": "Vaihda taustakarttaa", "filter": "Suodata dataa", "jumpToLocation": "Siirry nykyiseen sijaintiisi", + "menu": "Valikko", "zoomIn": "Lähennä", "zoomOut": "Loitonna" }, + "layerSelection": { + "title": "Valitse tasot", + "zoomInToSeeThisLayer": "Lähennä nähdäksesi tämän tason" + }, + "levelSelection": { + "addNewOnLevel": "Onko uusi piste tasolla {level}?", + "confirmLevel": "Kyllä, lisää {preset} tasolle {level}" + }, "loading": "Ladataan…", "loadingTheme": "Loading teemaa {theme}…", + "loginFailed": "Kirjautuminen OpenStreetMapiin epäonnistui", + "loginFailedOfflineMode": "OpenStreetMap.org ei ole juuri nyt saatavilla huollon vuoksi. Muokkaaminen tulee mahdolliseksi pian", + "loginFailedReadonlyMode": "OpenStreetMap.org on tällä hetkellä vain-luku-tilassa huollon vuoksi. Muokkaaminen tulee mahdolliseksi pian", + "loginFailedUnreachableMode": "OpenStreetMap.org:iin ei saada juuri nyt yhteyttä. Onko internet-yhteys kytketty tai oletko estänyt kolmansia osapuolia? Yritä myöhemmin uudelleen", + "loginOnlyNeededToEdit": "jos haluat tehdä muutoksia", "loginToStart": "Kirjaudu sisään, jotta voit vastata tähän kysymykseen", "loginWithOpenStreetMap": "Kirjaudu sisään OpenStreetMapilla", "logout": "Kirjaudu ulos", @@ -206,49 +269,174 @@ }, "morescreen": { "createYourOwnTheme": "Luo oma MapComplete-teema alusta asti", + "enterToOpen": "Avaa teema painamalla enter", + "hiddenExplanation": "Näitä teemoja voi käyttää vain linkin haltijat. Olet löytänyt {hidden_discovered}/{total_hidden} piilotettua teemaa.", + "intro": "

Lisää teemakarttoja?

Nautitko paikkatiedon keräämisestä?
Teemoja on lisää.", + "noMatchingThemes": "Teemaa ei löytynyt hakuehdollasi", "noSearch": "Näytä kaikki teemat", + "previouslyHiddenTitle": "Aiemmin katsotut piilotetut teemat", "searchForATheme": "Etsi teemaa", "streetcomplete": "Toinen, samankaltainen sovellus on StreetComplete." }, + "next": "Seuraava", + "noMatchingMapping": "Hakuehtosi ei tuottanut tulosta…", + "noNameCategory": "{category} ilman nimeä", + "noTagsSelected": "Ei valittuja tageja", + "notValid": "Valitse oikea arvo jatkaaksesi", "number": "numero", "openTheMap": "Avaa kartta", "openTheMapAtGeolocation": "Zoomaa sijaintiisi", "opening_hours": { + "all_days_from": "Auki joka päivä {ranges}", + "closed_permanently": "Suljettu toistaiseksi", + "closed_until": "Suljettu {date} asti", + "error": "Aukioloaikoja ei voitu parsia", + "error_loading": "Virhe: näitä aukioloaikoja ei voitu visualisoida.", + "friday": "Perjantaisin {ranges}", "loadingCountry": "Määritetään maata…", + "monday": "Maanantaisin {ranges}", + "not_all_rules_parsed": "Nämä aukioloajat ovat monimutkaiset. Seuraavat säännöt jätetään huomiotta syöttöelementissä:", + "on_weekdays": "Auki arkipäivisin {ranges}", + "on_weekends": "Auki viikonloppuisin {ranges}", + "openTill": "–", + "open_24_7": "Auki kellon ympäri", + "open_during_ph": "Kansallisena vapaapäivänä tämä on", + "opensAt": "klo", "ph_closed": "suljettu", "ph_not_known": " ", - "ph_open": "auki" + "ph_open": "auki", + "ph_open_as_usual": "avoinna, kuten yleensä", + "ranges": "{starttime}–{endtime}", + "rangescombined": "{range0} ja {range1}", + "saturday": "Lauantaisin {ranges}", + "sunday": "Sunnuntaisin {ranges}", + "thursday": "Torstaisin {ranges}", + "tuesday": "Tiistaisin {ranges}", + "unknown": "Aukioloajat eivät ole tiedossa", + "wednesday": "Keskiviikkoisin {ranges}" }, + "osmLinkTooltip": "Tarkastele tätä objektia OpenStreetMapissa nähdäksesi historian ja muita muokkausvaihtoehtoja", "pdf": { - "attrBackground": "Taustataso: {background}" + "attr": "Karttadata © OpenStreetMap-kartoittajat, uudelleenkäytettävissä ODbL-lisenssillä", + "attrBackground": "Taustataso: {background}", + "generatedWith": "Luotu osoitteesta mapcomplete.org/{layoutid}", + "versionInfo": "v{version} – luotu {date}" }, "pickLanguage": "Valitse kieli", + "poweredByOsm": "Datan tarjoaa OpenStreetMap", "questionBox": { "answeredMultiple": "Vastasit {answered} kysymykseen", + "answeredMultipleSkippedMultiple": "Vastasit {answered} kysymykseen ja ohitit {skipped} kysymystä", + "answeredMultipleSkippedOne": "Vastasit {answered} kysymykseen ja ohitit yhden kysymyksen", "answeredOne": "Vastasit yhteen kysymykseen", + "answeredOneSkippedMultiple": "Vastasit yhteen kysymykseen ja ohitit {skipped} kysymystä", + "answeredOneSkippedOne": "Vastasit yhteen ja ohitit yhden kysymyksen", "done": "Ei enempää kysymyksiä. Kiitos!", + "reactivate": "Aktivoi ohitetut kysymykset uudelleen", "skippedMultiple": "Ohitit {skipped} kysymystä", "skippedOne": "Ohitit yhden kysymyksen" }, "questions": { - "websiteIs": "Verkkosivusto: {website}" + "emailIs": "Sähköpostiosoite kohteelle {category} on {email}", + "emailOf": "Mikä on sähköpostiosoite kohteelle {category}?", + "phoneNumberIs": "Puhelinnumero kohteelle {category} on {phone}", + "phoneNumberOf": "Mikä on puhelinnumero kohteelle {category}?", + "websiteIs": "Verkkosivusto: {website}", + "websiteOf": "Mikä on verkkosivu kohteelle {category}?" }, + "readYourMessages": "Luethan kaikki OpenStreetMap-viestisi ennen kuin lisäät uutta ominaisuutta.", + "removeLocationHistory": "Poista sijaintihistoria", + "returnToTheMap": "Palaa karttaan", "save": "Tallenna", + "screenToSmall": "Avaa {theme} uuteen ikkunaan", "search": { + "error": "Jokin meni pieleen…", "nothing": "Mitään ei löytynyt…", "search": "Etsi paikkaa", "searchShort": "Etsi…", "searching": "Etsitään…" }, + "searchAnswer": "Etsi vaihtoehtoa…", + "share": "Jaa", "sharescreen": { + "copiedToClipboard": "Linkki kopioitu leikepöydälle", + "fsWelcomeMessage": "Näytä tervetuloa-ponnahdusviesti ja aiheeseen kuuluvat välilehdet", "thanksForSharing": "Kiitos jakamisesta!", "title": "Jaa tämä kartta" }, "skip": "Ohita tämä kysymys", + "testing": "Testataan - muutoksia ei tallenneta", "uploadError": "Virhe muutosten lähettämisessä: {error}", - "visualFeedback": { - "out": "Loitonnetaan tasolle {z}" + "uploadGpx": { + "choosePermission": "Valitse alta miten reittisi jaetaan:", + "confirm": "Vahvista lähetys", + "gpxServiceOffline": "GPX-palvelu ei ole juuri nyt saatavilla - lähetys ei ole mahdollista. Yritä myöhemmin uudelleen.", + "intro0": "Lähettämällä reittisi OpenStreetMap.org pitää täyden kopion reitistäsi.", + "intro1": "Voit ladata reittisi uudelleen ja ladata ne OpenStreetMap-editoreihin", + "meta": { + "descriptionIntro": "Voit myös halutessasi lisätä kuvauksen jäljestäsi:", + "descriptionPlaceHolder": "Anna kuvaus jäljestäsi", + "intro": "Lisää otsikko reitillesi:", + "title": "Otsikko ja kuvaus", + "titlePlaceholder": "Anna jäljellesi otsikko" + }, + "modes": { + "private": { + "docs": "Reittisi pisteet jaetaan ja aggregoidaan muiden reittien kanssa. Koko reitti näkyy sinulle, ja voit ladata sen muihin muokkausohjelmiin. OpenStreetMap.org pitää kopion jäljestäsi", + "name": "Anonyymi" + }, + "public": { + "docs": "Jälkesi näkyy kaikille, sekä käyttäjäprofiilissasi että GPS-jälkien luettelossa openstreetmap.org-sivustolla", + "name": "Julkinen" + } + }, + "title": "Lähetä reittisi OpenStreetMap.org:iin", + "uploadFinished": "Reittisi on lähetetty!", + "uploading": "Lähetetään jälkeäsi…" }, + "uploadPending": "{count} muutosta odottaa", + "uploadPendingSingle": "Yksi muutos odottaa", + "uploadingChanges": "Lähetetään muutoksia…", + "useSearch": "Käytä hakua yllä nähdäksesi lisää vaihtoehtoja", + "visualFeedback": { + "closestFeaturesAre": "{n} kohdetta näkyvissä.", + "directionsAbsolute": { + "E": "itä", + "N": "pohjoinen", + "NE": "koillinen", + "NW": "luode", + "S": "etelä", + "SE": "kaakko", + "SW": "lounas", + "W": "länsi" + }, + "directionsRelative": { + "behind": "takanasi", + "left": "vasen", + "right": "oikea", + "sharp_left": "tiukka vasen", + "sharp_right": "tiukka oikea", + "slight_left": "hieman vasemmalle", + "slight_right": "hieman oikealle", + "straight": "suoraan eteenpäin" + }, + "east": "Kuljetaan itään", + "fromGps": "{distance} {direction} sijainnistasi", + "fromMapCenter": "{distance} {direction} kartan keskeltä", + "in": "Lähennetään tasolle {z}", + "islocked": "Näkymä lukittu GPS-sijaintiisi, liikkuminen ei käytössä. Paina paikannuspainiketta avataksesi lukituksen.", + "locked": "Näkymä on nyt lukittu GPS-sijaintiisi, liikkuminen pois käytöstä.", + "navigation": "Käytä nuolinäppäimiä liikuttaaksesi karttaa, paina välilyöntiä valitaksesi lähimmän ominaisuuden. Paina numeroa valitaksesi kaukaisempia kohteita.", + "noCloseFeatures": "Ei ominaisuuksia näkymässä.", + "north": "Kuljetaan pohjoiseen", + "oneFeatureInView": "Yksi ominaisuus näkymässä.", + "out": "Loitonnetaan tasolle {z}", + "south": "Kuljetaan etelään", + "unlocked": "Liikkuminen käytössä.", + "viewportCenterCloseToGps": "Kartta on keskitetty sijaintiisi.", + "west": "Kuljetaan länteen" + }, + "waitingForGeopermission": "Odotetaan lupaa käyttää sijaintia…", "waitingForLocation": "Etsitään nykyistä sijaintiasi…", "weekdays": { "abbreviations": { @@ -270,70 +458,255 @@ }, "welcomeBack": "Tervetuloa takaisin!", "wikipedia": { - "addEntry": "Lisää toinen Wikipedia-sivu" + "addEntry": "Lisää toinen Wikipedia-sivu", + "createNewWikidata": "Luo uusi Wikidata-kohde", + "doSearch": "Hae yllä nähdäksesi tulokset", + "failed": "Wikipedia-kohteen lataaminen epäonnistui", + "fromWikipedia": "Wikipedia, vapaa tietosanakirja", + "loading": "Ladataan Wikipediaa…", + "noResults": "Ei tuloksia haulle {search}", + "noWikipediaPage": "Tällä Wikidata-kohteella ei vielä ole vastaavaa Wikipedia-sivua.", + "previewbox": { + "born": "Syntyi: {value}", + "died": "Kuoli: {value}" + }, + "readMore": "Lue loput artikkelista", + "searchToShort": "Hakuehtosi on liian lyhyt, syötä pidempi teksti", + "searchWikidata": "Hae Wikidatasta", + "wikipediaboxTitle": "Wikipedia" } }, "hotkeyDocumentation": { "action": "Toiminto", + "closeSidebar": "Sulje sivupalkki", + "intro": "MapComplete tukee seuraavia pikanäppäimiä:", "key": "Näppäinyhdistelmä", + "openFilterPanel": "Avaa pisettasot ja suodatinpaneelin", "openLayersPanel": "Avaa taustatasojen paneelin", + "queryCurrentLocation": "Näytä osoite, joka on lähimpänä kartan keskikohtaa", "selectAerial": "Asettaa taustaksi joko ilma- tai satelliittikuvan. Vaihtaa kahden parhaimman, saatavilla olevan tason välillä", + "selectFavourites": "Avaa suosikit-sivu", "selectMap": "Asettaa taustaksi kartan ulkoisesta lähteestä. Vaihtaa kahden parhaimman, saatavilla olevan tason välillä", "selectMapnik": "Aseta taustatasoksi OpenStreetMap-carto", - "selectOsmbasedmap": "Aseta taustatasoksi OpenStreetMap-pohjainen kartta (tai poista käytöstä rasterimuotoinen taustataso)" + "selectOsmbasedmap": "Aseta taustatasoksi OpenStreetMap-pohjainen kartta (tai poista käytöstä rasterimuotoinen taustataso)", + "selectSearch": "Valitse hakupalkki hakeaksesi sijainteja", + "shakePhone": "Puhelimen ravistaminen", + "title": "Pikanäppäimet", + "translationMode": "Käytä käännöstilaa tai poista se käytöstä" }, "image": { "addPicture": "Lisää kuva", "currentLicense": "Kuvasi julkaistaan lisenssillä {license}", "doDelete": "Poista kuva", - "dontDelete": "Peruuta", + "dontDelete": "Peru", "isDeleted": "Poistettu", "nearby": { "link": "Tämä kuva näyttää kohteen", + "noNearbyImages": "Lähellä olevia kuvia ei löytynyt", "seeNearby": "Selaa ja linkitä läheisiä kuvia", "title": "Läheiset katukuvat" }, "pleaseLogin": "Kirjaudu sisään, jotta voit lisätä kuvan", "respectPrivacy": "Älä valokuvaa ihmisiä tai rekisterikilpiä. Älä lähetä kuvia Google Mapsistä, Google Streetview’stä tai muista tekijänoikeuden alaisista lähteistä.", + "upload": { + "failReasons": "Internet-yhteys on saattanut katketa", + "failReasonsAdvanced": "Voit myös tarkistaa ettei selaimesi ja lisäosasi estä kolmannen osapuolen rajapintoja.", + "one": { + "done": "Kuvasi lähetettiin onnistuneesti. Kiitos!", + "failed": "Emme valitettavasti voineet lähettää kuvaasi", + "retrying": "Kuvasi lähetetään uudelleen…", + "uploading": "Kuvaasi lähetetään…" + } + }, "uploadDone": "Kuvasi on lisätty. Kiitoksia avusta!", + "uploadFailed": "Kuvaasi ei voitu lähettää. Onko internet-yhteys kytketty ja kolmannen osapuolen rajapinnat sallittu? Brave-selain tai uMatrix-liitännäinen saattaa estää sen.", "uploadingMultiple": "Lähetetään {count} kuvaa…", "uploadingPicture": "Lähetetään kuvaa…" }, + "importLayer": { + "layerName": "Mahdollinen {title}", + "popupTitle": "Tässä on ehkä {title}" + }, "index": { + "featuredThemeTitle": "Esittelyssä tällä viikolla", "intro": "MapComplete on OpenStreetMap-katselin ja -editori, joka näyttää tietoja tiettyyn teeman liittyvistä kohteista ja antaa muokata niitä.", + "logIn": "Kirjaudu sisään nähdäksesi aiemmin katsomiasi muita teemoja", "pickTheme": "Aloita valitsemalla teema alta.", "title": "Tervetuloa MapCompleteen" }, "move": { + "cancel": "Peru siirto", + "cannotBeMoved": "Tätä ominaisuutta ei voi siirtää.", + "confirmMove": "Siirrä tänne", "inviteToMove": { - "generic": "Siirrä tätä pistettä" + "generic": "Siirrä tätä pistettä", + "reasonInaccurate": "Paranna tämän pisteen tarkkuutta", + "reasonRelocation": "Siirrä tämä objekti toiseen paikkaan, koska se on vaihtanut paikkaa" }, - "whyMove": "Miksi haluat siirtää tätä pistettä?" + "inviteToMoveAgain": "Siirrä tämä piste uudelleen", + "isRelation": "Tämä ominaisuus on relaatio eikä sitä voi siirtää", + "isWay": "Tämä ominaisuus on viiva. Käytä toista OpenStreetMap-editoria sen siirtämiseen.", + "loginToMove": "Sinun on kirjauduttava sisään siirtääksesi pistettä", + "moveTitle": "Siirrä tätä pistettä", + "partOfAWay": "Tämä ominaisuus on osa toista viivaa. Käytä toista editoria sen siirtämiseksi.", + "partOfRelation": "Tämä ominaisuus on osa relaatiota. Käytä toista editoria sen siirtämiseksi.", + "pointIsMoved": "Piste on siirretty", + "reasons": { + "reasonInaccurate": "Tämän objektin sijainti on epätarkka, ja sitä pitäisi siirtää muutaman metrin", + "reasonRelocation": "Objekti on siirretty täysin eri paikkaan" + }, + "selectReason": "Miksi siirrät tätä objektia?", + "whyMove": "Miksi haluat siirtää tätä pistettä?", + "zoomInFurther": "Lähennä vahvistaaksesi tämän siirron" }, "multi_apply": { "autoApply": "Kun ominaisuuksia {attr_names} muutetaan, nämä ominaisuudet muuttuvat automaattisesti myös {count} muussa kohteessa" }, + "notes": { + "addAComment": "Lisää kommentti", + "addComment": "Lisää kommentti", + "addCommentAndClose": "Lisää kommentti ja sulje", + "addCommentPlaceholder": "Lisää kommentti…", + "anonymous": "Anonyymi käyttäjä", + "closeNote": "Sulje karttailmoitus", + "createNote": "Luo uusi karttailmoitus", + "createNoteIntro": "Onko kartalla jokin pielessä tai puuttuuko jotain? Voit luoda karttailmoitus tähän. Vapaaehtoiset tarkistavat niitä.", + "createNoteTitle": "Luo uusi karttailmoitus tähän", + "creating": "Luodaan karttailmoitusta…", + "disableAllNoteFilters": "Poista kaikki suotimet", + "isClosed": "Tämä karttailmoitus on ratkaistu", + "isCreated": "Karttailmoituksesi on luotu!", + "loginToAddComment": "Kirjaudu sisään lisätäksesi kommentin", + "loginToAddPicture": "Kirjaudu sisään lisätäksesi kuvan", + "loginToClose": "Kirjaudu, jotta voit sulkea tämän karttailmoituksen", + "noteIsPublic": "Tämä näkyy kaikille", + "noteLayerDoEnable": "Näytä karttailmoitusten taso", + "reopenNote": "Avaa karttailmoitus uudelleen", + "reopenNoteAndComment": "Avaa karttailmoitus uudelleen ja kommentoi", + "typeText": "Kirjoita tekstiä lisätäksesi kommentin", + "warnAnonymous": "Et ole kirjautunut sisään. Emme pysty ottamaan sinuun yhteyttä ongelmasi ratkaisua varten." + }, "plantDetection": { + "back": "Takaisin lajin yleiskuvaan", + "confirm": "Valitse laji", + "done": "Laji on valittu", + "howTo": { + "li2": "ota kuva, jossa näkyy kaarna", + "li3": "ota kuva kukista" + }, + "loadingWikidata": "Lataa tietoja lajista {species}…", + "matchPercentage": "{match} % osuma", + "seeInfo": "Katso lisätietoja lajista", + "takeImages": "Ota kuvia puusta tunnistaaksesi puun tyypin automaattisesti", "tryAgain": "Valitse eri laji" }, "privacy": { - "title": "Tietosuojakäytäntö" + "editingTitle": "Karttaa muokatessa", + "geodataTitle": "Sijaintisi", + "miscCookiesTitle": "Muut evästeet", + "title": "Tietosuojakäytäntö", + "trackingTitle": "Tilastollinen data", + "whileYoureHere": "Välitätkö yksityisyydestä?" }, "reviews": { + "affiliated_reviewer_warning": "(Yhteistyöarvostelu)", + "averageRating": "Arvostelun keskiarvo: {n} tähteä", + "i_am_affiliated": "Teen yhteistyötä tämän kohteen kanssa", + "question": "Miten arvostelisit kohteen {title()}?", + "question_opinion": "Millainen oli kokemuksesi?", + "rate": "Arvostele: {n} tähteä", + "rated": "Arvostelu: {n} tähteä", + "reviewPlaceholder": "Kerro kokemuksesi…", + "reviewing_as": "Arvostellaan nimellä {nickname}", + "reviewing_as_anonymous": "Arvostellaan nimettömänä", + "reviews_bug": "Odotitko enemmän arvosteluita? Joitain arvosteluita ei näytetä ohjelmistovian takia.", + "save": "Tallenna arvostelu", + "saved": "Arvostelu tallennettu. Kiitos jakamisesta!", + "saving_review": "Tallentaa…", "title": "{count} arvostelua", - "title_singular": "Yksi arvostelu" + "title_singular": "Yksi arvostelu", + "too_long": "Enintään {max} merkkiä sallitaan. Arvostelussasi on {amount} merkkiä.", + "write_a_comment": "Jätä arvostelu…", + "your_reviews": "Aiemmat arvostelusi" }, "split": { + "cancel": "Peru", + "hasBeenSplit": "Tämä väylä on katkaistu osiin", + "split": "Katkaise", "splitAgain": "Katkaise tämä tie uudelleen" }, + "translations": { + "activateButton": "Auta kääntämään MapCompletea", + "allMissing": "Ei käännöksiä vielä", + "missing": "{count} kääntämätöntä viestiä" + }, "userinfo": { "editDescription": "Muokkaa profiilin kuvausta", + "gotoInbox": "Avaa Saapuneet-laatikkosi", + "gotoSettings": "Siirry asetuksiin OpenStreetMap.org-sivustolla", "noDescriptionCallToAction": "Lisää profiilin kuvaus", "notLoggedIn": "Olet kirjautunut ulos" }, "validation": { + "color": { + "description": "Väri tai heksakoodi" + }, + "direction": { + "description": "Suunta" + }, "distance": { "description": "Etäisyys metreinä" + }, + "email": { + "description": "sähköpostiosoite", + "feedback": "Tämä ei ole kelvollinen sähköpostiosoite", + "noAt": "Sähköpostiosoitteessa täytyy olla @-merkki" + }, + "fediverse": { + "invalidHost": "{host} ei ole kelvollinen konenimi" + }, + "float": { + "description": "luku", + "feedback": "Tämä ei ole luku" + }, + "id": { + "description": "tunniste" + }, + "int": { + "description": "kokonaisluku" + }, + "nat": { + "description": "positiivinen kokonaisluku tai nolla", + "mustBePositive": "Tämän luvun täytyy olla positiivinen", + "mustBeWhole": "Vain kokonaiset luvut sallitaan", + "notANumber": "Tämä ei ole luku" + }, + "opening_hours": { + "description": "Aukioloajat" + }, + "pfloat": { + "description": "positiivinen luku" + }, + "phone": { + "description": "puhelinnumero", + "feedback": "Tämä ei ole kelvollinen puhelinnumero", + "feedbackCountry": "Tämä ei ole kelvollinen puhelinnumero (maalle {country})" + }, + "pnat": { + "description": "positiivinen kokonaisluku", + "noZero": "Nollaa ei sallita" + }, + "string": { + "description": "tekstinpätkä" + }, + "text": { + "description": "tekstinpätkä" + }, + "url": { + "description": "linkki verkkosivulle" + }, + "wikidata": { + "description": "Wikidata-tunniste" } } } diff --git a/langs/fr.json b/langs/fr.json index 7bf0c5f9c..5aef6a73d 100644 --- a/langs/fr.json +++ b/langs/fr.json @@ -49,6 +49,12 @@ "panelIntro": "

Votre thème personnel

Activer vos couches favorites depuis les thèmes officiels", "reload": "Recharger les données" }, + "favouritePoi": { + "button": { + "markAsFavouriteTitle": "Sauvegarder ce lieu comme favoris", + "markDescription": "Ajouter ce lieu à votre liste personnelle de favoris" + } + }, "flyer": { "cyclofix": "Les pompes à vélo, les stations de réparation, les points d'eau potable et les vélocistes sont sur CycloFix", "description": "Un flyer format A4 paysage pour promouvoir MapComplete", diff --git a/langs/layers/ca.json b/langs/layers/ca.json index bd8aa1b30..59e198d9a 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -3219,11 +3219,11 @@ }, "elevator-depth": { "question": "Quina és la profunditat de l'ascensor?", - "render": "L'ascensor té un profunditat de {canonical(elevator:depth)}" + "render": "L'ascensor té un profunditat de {canonical(length)}" }, "elevator-width": { "question": "Quina és l'amplada d'aquest ascensor?", - "render": "L'ascensor té una amplada de {canonical(elevator:width)}" + "render": "L'ascensor té una amplada de {canonical(width)}" }, "operational_status": { "mappings": { @@ -5003,9 +5003,17 @@ "inscription": { "question": "Quina és la inscripció d'aquesta placa?", "render": "La inscripció d'aquesta placa diu:

{inscription}

" + }, + "start_date": { + "render": "Col·locat el {start_date}" } }, "title": { + "mappings": { + "0": { + "then": "Placa commemorativa" + } + }, "render": "Placa commemorativa" } }, @@ -6316,7 +6324,7 @@ }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "Obert 24/7 (incloent-hi festius)" } @@ -8714,13 +8722,6 @@ }, "question": "Vols ajudar a traduir MapComplete?" }, - "translation-thanks": { - "mappings": { - "0": { - "then": "Has contribuït a traduir MapComplete! Això és fantàstic!" - } - } - }, "verified-mastodon": { "mappings": { "0": { diff --git a/langs/layers/cs.json b/langs/layers/cs.json index 874ef3089..825347349 100644 --- a/langs/layers/cs.json +++ b/langs/layers/cs.json @@ -3242,11 +3242,11 @@ }, "elevator-depth": { "question": "Jaká je hloubka tohoto výtahu?", - "render": "Tento výtah má hloubku {canonical(elevator:depth)}" + "render": "Tento výtah má hloubku {canonical(length)}" }, "elevator-width": { "question": "Jaká je šířka tohoto výtahu?", - "render": "Tento výtah má šířku {canonical(elevator:width)}" + "render": "Tento výtah má šířku {canonical(width)}" }, "operational_status": { "mappings": { @@ -5197,9 +5197,17 @@ "inscription": { "question": "Jaký je nápis na této desce?", "render": "Nápis na této desce zní:

{inscription}

" + }, + "start_date": { + "render": "Umístěno {start_date}" } }, "title": { + "mappings": { + "0": { + "then": "Pamětní deska" + } + }, "render": "Pamětní deska" } }, @@ -6545,7 +6553,7 @@ }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "Otevřeno 24/7 (včetně svátků)" } @@ -8969,13 +8977,6 @@ }, "question": "Chcete pomoci s překladem MapComplete?" }, - "translation-thanks": { - "mappings": { - "0": { - "then": "Přispěli jste k překladu MapComplete! To je úžasné!" - } - } - }, "verified-mastodon": { "mappings": { "0": { diff --git a/langs/layers/de.json b/langs/layers/de.json index 5c2f8a7f4..890a2700f 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -35,6 +35,16 @@ "1": { "title": "eine freistehende Posterbox" }, + "10": { + "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", + "title": "ein Schild" + }, + "11": { + "title": "eine Skulptur" + }, + "12": { + "title": "eine Wandmalerei" + }, "2": { "title": "eine wandmontierte Posterbox" }, @@ -61,16 +71,6 @@ }, "9": { "title": "ein Totem" - }, - "10": { - "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", - "title": "ein Schild" - }, - "11": { - "title": "eine Skulptur" - }, - "12": { - "title": "eine Wandmalerei" } }, "tagRenderings": { @@ -165,6 +165,9 @@ "1": { "then": "Dies ist ein Brett" }, + "10": { + "then": "Dies ist eine Wandmalerei" + }, "2": { "then": "Dies ist eine Litfaßsäule" }, @@ -188,9 +191,6 @@ }, "9": { "then": "Dies ist ein Totem" - }, - "10": { - "then": "Dies ist eine Wandmalerei" } }, "question": "Welche Art von Werbung ist das?", @@ -205,6 +205,9 @@ "1": { "then": "Brett" }, + "10": { + "then": "Wandmalerei" + }, "2": { "then": "Posterbox" }, @@ -228,9 +231,6 @@ }, "9": { "then": "Totem" - }, - "10": { - "then": "Wandmalerei" } } } @@ -277,6 +277,9 @@ "1": { "then": "Es handelt sich um eine Seilbahn, bei der die Kabinen in ständigen Kreisen fahren" }, + "10": { + "then": "Eine Seilrutsche. (Eine Touristenattraktion, bei der abenteuerlustige Menschen mit hoher Geschwindigkeit hinunterfahren) " + }, "2": { "then": "Ein offener Sessellift mit Sitzgelegenheiten und Zugang zur Außenluft." }, @@ -300,9 +303,6 @@ }, "9": { "then": "Ein magic carpet (ein Förderband auf dem Boden)" - }, - "10": { - "then": "Eine Seilrutsche. (Eine Touristenattraktion, bei der abenteuerlustige Menschen mit hoher Geschwindigkeit hinunterfahren) " } }, "question": "Um welchen Seilbahntyp handelt es sich?" @@ -430,6 +430,15 @@ "1": { "then": "Wandbild" }, + "10": { + "then": "Azulejo (spanische dekorative Fliesenarbeit)" + }, + "11": { + "then": "Fliesenarbeit" + }, + "12": { + "then": "Holzschnitzerei" + }, "2": { "then": "Malerei" }, @@ -453,15 +462,6 @@ }, "9": { "then": "Relief" - }, - "10": { - "then": "Azulejo (spanische dekorative Fliesenarbeit)" - }, - "11": { - "then": "Fliesenarbeit" - }, - "12": { - "then": "Holzschnitzerei" } }, "question": "Um welche Art Kunstwerk handelt es sich?", @@ -1411,7 +1411,8 @@ "render": "Dies ist ein Fahrrad-Parkplatz der Art: {bicycle_parking}" }, "Capacity": { - "question": "Wie viele Fahrräder passen auf diesen Fahrrad-Parkplatz (einschließlich möglicher Lastenfahrräder)?", + "question": "Wie viele Fahrräder passen auf diesen Fahrrad-Parkplatz?", + "questionHint": "Dazu gehören reguläre Fahrräder, Lasträder, Ebikes,...", "render": "Der Parkplatz bietet Platz für {capacity} Fahrräder" }, "Cargo bike capacity?": { @@ -2091,6 +2092,27 @@ "1": { "question": "Verfügt über einen
Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)
" }, + "10": { + "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" + }, + "11": { + "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" + }, + "12": { + "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" + }, + "13": { + "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" + }, + "14": { + "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" + }, + "15": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" + }, + "16": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" + }, "2": { "question": "Verfügt über einen
europäischen Netzstecker mit Erdungsstift (CEE7/4 Typ E)
Anschluss" }, @@ -2114,27 +2136,6 @@ }, "9": { "question": "Hat einen
Typ 2 CCS (Mennekes)
Anschluss" - }, - "10": { - "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" - }, - "11": { - "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" - }, - "12": { - "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" - }, - "13": { - "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" - }, - "14": { - "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" - }, - "15": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" - }, - "16": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" } } } @@ -2190,30 +2191,6 @@ "1": { "then": "Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)" }, - "2": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, - "3": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, - "4": { - "then": "Chademo-Anschluss" - }, - "5": { - "then": "Chademo-Anschluss" - }, - "6": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "7": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "8": { - "then": "Typ 1 ohne Kabel (J1772)" - }, - "9": { - "then": " Typ 1 ohne Kabel (J1772)" - }, "10": { "then": "Typ 1 CCS (Typ 1 Combo)" }, @@ -2244,6 +2221,9 @@ "19": { "then": "Typ 2 mit Kabel (mennekes)" }, + "2": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, "20": { "then": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" }, @@ -2274,11 +2254,32 @@ "29": { "then": " Bosch Active Connect mit 3 Pins und Kabel" }, + "3": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, "30": { "then": "Bosch Active Connect mit 5 Pins und Kabel" }, "31": { "then": " Bosch Active Connect mit 5 Pins und Kabel" + }, + "4": { + "then": "Chademo-Anschluss" + }, + "5": { + "then": "Chademo-Anschluss" + }, + "6": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "7": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "8": { + "then": "Typ 1 ohne Kabel (J1772)" + }, + "9": { + "then": " Typ 1 ohne Kabel (J1772)" } }, "question": "Welche Ladeanschlüsse gibt es hier?" @@ -2472,6 +2473,24 @@ "1": { "2": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" }, + "10": { + "2": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" + }, + "11": { + "2": "Tesla Supercharger (Destination)" + }, + "12": { + "2": "Tesla Supercharger (Destination) (Typ 2 mit Kabel von Tesla)" + }, + "13": { + "2": "USB zum Aufladen von Handys und kleinen Elektrogeräten" + }, + "14": { + "2": " Bosch Active Connect mit 3 Pins und Kabel" + }, + "15": { + "2": " Bosch Active Connect mit 5 Pins und Kabel" + }, "2": { "2": "Chademo-Stecker" }, @@ -2495,24 +2514,6 @@ }, "9": { "2": "Typ 2 mit Kabel (Mennekes)" - }, - "10": { - "2": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" - }, - "11": { - "2": "Tesla Supercharger (Destination)" - }, - "12": { - "2": "Tesla Supercharger (Destination) (Typ 2 mit Kabel von Tesla)" - }, - "13": { - "2": "USB zum Aufladen von Handys und kleinen Elektrogeräten" - }, - "14": { - "2": " Bosch Active Connect mit 3 Pins und Kabel" - }, - "15": { - "2": " Bosch Active Connect mit 5 Pins und Kabel" } } } @@ -3310,6 +3311,15 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" + }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3333,15 +3343,6 @@ }, "9": { "then": "Der Radweg ist aus Schotter" - }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieses Radwegs?", @@ -3390,6 +3391,15 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" + }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3413,15 +3423,6 @@ }, "9": { "then": "Der Radweg ist aus Schotter" - }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieser Straße?", @@ -4019,11 +4020,26 @@ }, "elevator-depth": { "question": "Wie tief ist die Kabine dieses Aufzugs?", - "render": "Dieser Aufzug hat eine Kabinentiefe von {canonical(elevator:depth)}" + "render": "Dieser Aufzug hat eine Kabinentiefe von {canonical(length)}" + }, + "elevator-diameter": { + "question": "Was ist der Durchmesser dieses Aufzugs?", + "render": "Dieser Aufzug hat einen Durchmesser von {canonical(diameter)}" + }, + "elevator-shape": { + "mappings": { + "0": { + "then": "Dieser Aufzug hat eine rechteckige Form" + }, + "1": { + "then": "Dieser Aufzug hat eine kreisförmige Form" + } + }, + "question": "Welche Form hat dieser Aufzug?" }, "elevator-width": { "question": "Wie breit ist die Kabine dieses Aufzugs?", - "render": "Die Aufzugskabine hat eine Breite von {canonical(elevator:width)}" + "render": "Die Aufzugskabine hat eine Breite von {canonical(width)}" }, "operational_status": { "mappings": { @@ -4394,6 +4410,54 @@ } } }, + "10": { + "options": { + "0": { + "question": "Keine Bevorzugung von Hunden" + }, + "1": { + "question": "Hunde erlaubt" + }, + "2": { + "question": "Keine Hunde erlaubt" + } + } + }, + "11": { + "options": { + "0": { + "question": "Internetzugang vorhanden" + } + } + }, + "12": { + "options": { + "0": { + "question": "Stromanschluss vorhanden" + } + } + }, + "13": { + "options": { + "0": { + "question": "Hat zuckerfreie Angebote" + } + } + }, + "14": { + "options": { + "0": { + "question": "Hat glutenfreie Angebote" + } + } + }, + "15": { + "options": { + "0": { + "question": "Hat laktosefreie Angebote" + } + } + }, "2": { "options": { "0": { @@ -4464,54 +4528,6 @@ "question": "Nutzung kostenlos" } } - }, - "10": { - "options": { - "0": { - "question": "Keine Bevorzugung von Hunden" - }, - "1": { - "question": "Hunde erlaubt" - }, - "2": { - "question": "Keine Hunde erlaubt" - } - } - }, - "11": { - "options": { - "0": { - "question": "Internetzugang vorhanden" - } - } - }, - "12": { - "options": { - "0": { - "question": "Stromanschluss vorhanden" - } - } - }, - "13": { - "options": { - "0": { - "question": "Hat zuckerfreie Angebote" - } - } - }, - "14": { - "options": { - "0": { - "question": "Hat glutenfreie Angebote" - } - } - }, - "15": { - "options": { - "0": { - "question": "Hat laktosefreie Angebote" - } - } } } }, @@ -4631,30 +4647,6 @@ "1": { "then": "Die Fitness-Station hat ein Schild mit Anweisungen für eine bestimmte Übung." }, - "2": { - "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." - }, - "3": { - "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." - }, - "4": { - "then": "Die Fitness-Station hat Stangen zum Dehnen." - }, - "5": { - "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." - }, - "6": { - "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." - }, - "7": { - "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." - }, - "8": { - "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." - }, - "9": { - "then": "Die Fitness-Station hat Pfosten für Slalomübungen." - }, "10": { "then": "Die Fitness-Station hat Trittsteine." }, @@ -4685,6 +4677,9 @@ "19": { "then": "Die Fitness-Station hat Kampfseile (battle ropes)." }, + "2": { + "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." + }, "20": { "then": "Die Fitness-Station hat ein Fahrradergometer." }, @@ -4699,6 +4694,27 @@ }, "24": { "then": "Die Fitness-Station hat eine Slackline." + }, + "3": { + "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." + }, + "4": { + "then": "Die Fitness-Station hat Stangen zum Dehnen." + }, + "5": { + "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." + }, + "6": { + "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." + }, + "7": { + "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." + }, + "8": { + "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." + }, + "9": { + "then": "Die Fitness-Station hat Pfosten für Slalomübungen." } }, "question": "Welche Übungsgeräte gibt es an dieser Fitness-Station?" @@ -4818,6 +4834,21 @@ "1": { "then": "Dies ist eine Pommesbude" }, + "10": { + "then": "Hier werden chinesische Gerichte serviert" + }, + "11": { + "then": "Hier werden griechische Gerichte serviert" + }, + "12": { + "then": "Hier werden indische Gerichte serviert" + }, + "13": { + "then": "Hier werden türkische Gerichte serviert" + }, + "14": { + "then": "Hier werden thailändische Gerichte serviert" + }, "2": { "then": "Bietet vorwiegend Pastagerichte an" }, @@ -4841,21 +4872,6 @@ }, "9": { "then": "Hier werden französische Gerichte serviert" - }, - "10": { - "then": "Hier werden chinesische Gerichte serviert" - }, - "11": { - "then": "Hier werden griechische Gerichte serviert" - }, - "12": { - "then": "Hier werden indische Gerichte serviert" - }, - "13": { - "then": "Hier werden türkische Gerichte serviert" - }, - "14": { - "then": "Hier werden thailändische Gerichte serviert" } }, "question": "Was für Essen gibt es hier?", @@ -5555,30 +5571,6 @@ "1": { "then": "Dies ist ein Auditorium" }, - "2": { - "then": "Dies ist ein Schlafzimmer" - }, - "3": { - "then": "Dies ist eine Kapelle" - }, - "4": { - "then": "Dies ist ein Klassenzimmer" - }, - "5": { - "then": "Dies ist ein Klassenzimmer" - }, - "6": { - "then": "Dies ist ein Computerraum" - }, - "7": { - "then": "Dies ist ein Konferenzraum" - }, - "8": { - "then": "Dies ist eine Krypta" - }, - "9": { - "then": "Dies ist eine Küche" - }, "10": { "then": "Dies ist ein Labor" }, @@ -5609,6 +5601,9 @@ "19": { "then": "Dies ist ein Lagerraum" }, + "2": { + "then": "Dies ist ein Schlafzimmer" + }, "20": { "then": "Dies ist ein Technikraum" }, @@ -5617,6 +5612,27 @@ }, "22": { "then": "Dies ist ein Wartezimmer" + }, + "3": { + "then": "Dies ist eine Kapelle" + }, + "4": { + "then": "Dies ist ein Klassenzimmer" + }, + "5": { + "then": "Dies ist ein Klassenzimmer" + }, + "6": { + "then": "Dies ist ein Computerraum" + }, + "7": { + "then": "Dies ist ein Konferenzraum" + }, + "8": { + "then": "Dies ist eine Krypta" + }, + "9": { + "then": "Dies ist eine Küche" } }, "question": "Wie wird dieser Raum genutzt?" @@ -5658,6 +5674,12 @@ "render": "Informationstafel" } }, + "item_with_image": { + "name": "Element mit mindestens einem Bild", + "title": { + "render": "POI mit Bild" + } + }, "kerbs": { "description": "Eine Ebene, die Bordsteine zeigt.", "filter": { @@ -6114,13 +6136,95 @@ } }, "memorial": { + "name": "Denkmäler", + "presets": { + "0": { + "title": "ein Denkmal" + } + }, "tagRenderings": { "inscription": { + "mappings": { + "0": { + "then": "Dieses Denkmal hat keine Inschrift" + } + }, "question": "Wie lautet die Inschrift auf dieser Gedenktafel?", "render": "Die Inschrift auf dieser Gedenktafel lautet:

{inscription}

" + }, + "memorial-type": { + "mappings": { + "0": { + "then": "Das ist eine Statue" + }, + "1": { + "then": "Dies ist eine Gedenktafel" + }, + "10": { + "then": "Das ist ein Kreuz" + }, + "11": { + "then": "Dies ist eine blaue Plaque" + }, + "12": { + "then": "Dies ist ein historischer Panzer, der permanent in den öffentlichen Raum als Denkmal platziert wurde" + }, + "13": { + "then": "Das ist ein Baumdenkmal" + }, + "2": { + "then": "Dies ist eine Gedenkbank" + }, + "3": { + "then": "Dies ist ein Geisterrad - ein Fahrrad weiß lackiert, um an einen Radfahrer zu erinnern, der wegen eines Autounfalls verstorben ist" + }, + "4": { + "then": "Dies ist ein Stolperstein" + }, + "5": { + "then": "Das ist eine Stele" + }, + "6": { + "then": "Das ist ein Gedenkstein" + }, + "7": { + "then": "Das ist eine Büste" + }, + "8": { + "then": "Dies ist eine Skulptur" + }, + "9": { + "then": "Das ist ein Obelisk" + } + }, + "question": "Was für eine Art von Denkmal ist das?", + "render": "Das ist ein {memorial}" + }, + "memorial-wikidata": { + "question": "Was ist die Wikipedia-Seite über dieses Denkmal?", + "questionHint": "Hier geht es um das Denkmal selbst, nicht um die Person oder das Ereignis, an das die Denkmal erinnert. Wenn diese Gedenkstätte keine Wikipedia-Seite oder Wikidata-Entität hat, überspringe diese Frage.", + "render": { + "before": "

Wikipedia-Seite über das Denkmal

" + } + }, + "start_date": { + "question": "Wann wurde dieses Denkmal installiert?", + "render": "Aufgestellt am {start_date}" + }, + "subject-wikidata": { + "question": "Was ist die Wikipedia-Seite über die Person oder Veranstaltung, die hier erinnert wird?", + "questionHint": "Wenn die Person oder das Ereignis keine Wikipedia-Seite oder Wikidata-Entität hat, überspringe diese Frage.", + "render": { + "before": "

Wikipedia-Seite über das erinnerte Ereignis oder die Person

" + } } }, "title": { + "mappings": { + "0": { + "then": "Gedenktafel" + } + }, "render": "Gedenktafel" } }, @@ -6274,6 +6378,19 @@ } } }, + "10": { + "options": { + "0": { + "question": "Alle Notizen" + }, + "1": { + "question": "Importnotizen ausblenden" + }, + "2": { + "question": "Nur Importnotizen anzeigen" + } + } + }, "2": { "options": { "0": { @@ -6329,19 +6446,6 @@ "question": "Nur offene Notizen anzeigen" } } - }, - "10": { - "options": { - "0": { - "question": "Alle Notizen" - }, - "1": { - "question": "Importnotizen ausblenden" - }, - "2": { - "question": "Nur Importnotizen anzeigen" - } - } } }, "name": "OpenStreetMap-Hinweise", @@ -6666,6 +6770,18 @@ "1": { "then": "Dies ist ein normaler Stellplatz." }, + "10": { + "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." + }, + "11": { + "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." + }, + "12": { + "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." + }, + "13": { + "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." + }, "2": { "then": "Dies ist ein Behindertenstellplatz." }, @@ -6689,18 +6805,6 @@ }, "9": { "then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist." - }, - "10": { - "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." - }, - "11": { - "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." - }, - "12": { - "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." - }, - "13": { - "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." } }, "question": "Welche Art von Stellplatz ist dies?" @@ -6993,6 +7097,101 @@ "render": "Spielplatz" } }, + "playground_equipment": { + "description": "Ebene mit Spielplatzausrüstung", + "name": "Spielplatzausstattung", + "presets": { + "0": { + "description": "Ein genauer Typ wird später gefragt", + "title": "ein Spielgerät" + } + }, + "tagRenderings": { + "type": { + "freeform": { + "placeholder": "Art des Geräts" + }, + "mappings": { + "0": { + "then": "Das ist eine Schaukel" + }, + "1": { + "then": "Dies ist eine Struktur aus mehreren angeschlossenen Spielgeräten" + }, + "10": { + "then": "Dies ist ein Seilzug" + }, + "11": { + "then": "Dies ist ein horizontaler Balken" + }, + "12": { + "then": "Dies ist ein Hüpfspiel" + }, + "13": { + "then": "Dies ist ein Planschbecken" + }, + "14": { + "then": "Das ist eine Kletterwand" + }, + "15": { + "then": "Das ist eine Karte" + }, + "16": { + "then": "Dies ist eine Brücke (entweder als eigenständiges Gerät oder als Teil einer größeren Struktur)" + }, + "17": { + "then": "Das ist ein Hüpfkissen" + }, + "18": { + "then": "Dies ist ein Aktivitätspanel" + }, + "19": { + "then": "Dies ist eine Jugendherberge" + }, + "2": { + "then": "Das ist eine Rutsche" + }, + "20": { + "then": "Dies ist ein Trichter, mit dem man Trichterball spielen kann" + }, + "21": { + "then": "Dies ist ein sich drehender Kreis" + }, + "3": { + "then": "Dies ist ein Sandkasten" + }, + "4": { + "then": "Dies ist ein Springreiter" + }, + "5": { + "then": "Dies ist ein Kletterrahmen" + }, + "6": { + "then": "Dies ist eine Wippe" + }, + "7": { + "then": "Das ist ein Spielhaus" + }, + "8": { + "then": "Dies ist ein Karussell" + }, + "9": { + "then": "Dies ist eine Korbschaukel" + } + }, + "question": "Was ist das für ein Gerät?", + "render": "Das ist ein {playground}" + }, + "wheelchair-access": { + "override": { + "question": "Ist dieses Gerät mit Rollstuhl erreichbar?" + } + } + }, + "title": { + "render": "Spielplatzgerät" + } + }, "postboxes": { "description": "Die Ebene zeigt Briefkästen.", "name": "Briefkästen", @@ -7007,6 +7206,43 @@ }, "postoffices": { "description": "Eine Ebene mit Postämtern.", + "filter": { + "1": { + "options": { + "0": { + "question": "Bietet Briefpost an" + } + } + }, + "2": { + "options": { + "0": { + "question": "Bietet Paketaufgabe an" + } + } + }, + "3": { + "options": { + "0": { + "question": "Bietet die Abholung von verpassten Paketen an" + } + } + }, + "4": { + "options": { + "0": { + "question": "Akzeptiert die Abholung von Paketen, die hierher geschickt werden" + } + } + }, + "5": { + "options": { + "0": { + "question": "Verkauft Briefmarken" + } + } + } + }, "name": "Poststellen", "presets": { "0": { @@ -7301,6 +7537,21 @@ "1": { "then": "2-Cent-Münzen werden akzeptiert" }, + "10": { + "then": "20-Centime-Münzen werden akzeptiert" + }, + "11": { + "then": "½-Schweizer Franken-Münzen werden akzeptiert" + }, + "12": { + "then": "1-Schweizer Franken-Münzen werden akzeptiert" + }, + "13": { + "then": "2-Schweizer Franken-Münzen werden akzeptiert" + }, + "14": { + "then": "5-Schweizer Franken-Münzen werden akzeptiert" + }, "2": { "then": "5-Cent-Münzen werden akzeptiert" }, @@ -7324,21 +7575,6 @@ }, "9": { "then": "10-Centime-Münzen werden akzeptiert" - }, - "10": { - "then": "20-Centime-Münzen werden akzeptiert" - }, - "11": { - "then": "½-Schweizer Franken-Münzen werden akzeptiert" - }, - "12": { - "then": "1-Schweizer Franken-Münzen werden akzeptiert" - }, - "13": { - "then": "2-Schweizer Franken-Münzen werden akzeptiert" - }, - "14": { - "then": "5-Schweizer Franken-Münzen werden akzeptiert" } }, "question": "Mit welchen Münzen kann man hier bezahlen?" @@ -7351,6 +7587,15 @@ "1": { "then": "10-Euro-Scheine werden angenommen" }, + "10": { + "then": "100-Schweizer Franken-Scheine werden akzeptiert" + }, + "11": { + "then": "200-Schweizer Franken-Scheine werden akzeptiert" + }, + "12": { + "then": "1000-Schweizer Franken-Scheine werden akzeptiert" + }, "2": { "then": "20-Euro-Scheine werden angenommen" }, @@ -7374,15 +7619,6 @@ }, "9": { "then": "50-Schweizer Franken-Scheine werden akzeptiert" - }, - "10": { - "then": "100-Schweizer Franken-Scheine werden akzeptiert" - }, - "11": { - "then": "200-Schweizer Franken-Scheine werden akzeptiert" - }, - "12": { - "then": "1000-Schweizer Franken-Scheine werden akzeptiert" } }, "question": "Mit welchen Banknoten kann man hier bezahlen?" @@ -7539,12 +7775,17 @@ } }, "opening_hours": { + "mappings": { + "0": { + "then": "Als geschlossen für eine unbestimmte Zeit markiert" + } + }, "question": "Wie lauten die Öffnungszeiten von {title()}?", "render": "

Öffnungszeiten

{opening_hours_table(opening_hours)}" }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "durchgehend geöffnet (auch an Feiertagen)" } @@ -7836,30 +8077,6 @@ "1": { "question": "Recycling von Batterien" }, - "2": { - "question": "Recycling von Getränkekartons" - }, - "3": { - "question": "Recycling von Dosen" - }, - "4": { - "question": "Recycling von Kleidung" - }, - "5": { - "question": "Recycling von Speiseöl" - }, - "6": { - "question": "Recycling von Motoröl" - }, - "7": { - "question": "Recycling von Leuchtstoffröhren" - }, - "8": { - "question": "Recycling von Grünabfällen" - }, - "9": { - "question": "Recycling von Glasflaschen" - }, "10": { "question": "Recycling von Glas" }, @@ -7890,11 +8107,35 @@ "19": { "question": "Recycling von Restabfällen" }, + "2": { + "question": "Recycling von Getränkekartons" + }, "20": { "question": "Recycling von Druckerpatronen" }, "21": { "question": "Recycling von Fahrrädern" + }, + "3": { + "question": "Recycling von Dosen" + }, + "4": { + "question": "Recycling von Kleidung" + }, + "5": { + "question": "Recycling von Speiseöl" + }, + "6": { + "question": "Recycling von Motoröl" + }, + "7": { + "question": "Recycling von Leuchtstoffröhren" + }, + "8": { + "question": "Recycling von Grünabfällen" + }, + "9": { + "question": "Recycling von Glasflaschen" } } }, @@ -7962,30 +8203,6 @@ "1": { "then": "Getränkekartons können hier recycelt werden" }, - "2": { - "then": "Dosen können hier recycelt werden" - }, - "3": { - "then": "Kleidung kann hier recycelt werden" - }, - "4": { - "then": "Speiseöl kann hier recycelt werden" - }, - "5": { - "then": "Motoröl kann hier recycelt werden" - }, - "6": { - "then": "Hier können Leuchtstoffröhren recycelt werden" - }, - "7": { - "then": "Grünabfälle können hier recycelt werden" - }, - "8": { - "then": "Bio-Abfall kann hier recycelt werden" - }, - "9": { - "then": "Glasflaschen können hier recycelt werden" - }, "10": { "then": "Glas kann hier recycelt werden" }, @@ -8016,6 +8233,9 @@ "19": { "then": "Schuhe können hier recycelt werden" }, + "2": { + "then": "Dosen können hier recycelt werden" + }, "20": { "then": "Elektrokleingeräte können hier recycelt werden" }, @@ -8030,6 +8250,27 @@ }, "24": { "then": "Fahrräder können hier recycelt werden" + }, + "3": { + "then": "Kleidung kann hier recycelt werden" + }, + "4": { + "then": "Speiseöl kann hier recycelt werden" + }, + "5": { + "then": "Motoröl kann hier recycelt werden" + }, + "6": { + "then": "Hier können Leuchtstoffröhren recycelt werden" + }, + "7": { + "then": "Grünabfälle können hier recycelt werden" + }, + "8": { + "then": "Bio-Abfall kann hier recycelt werden" + }, + "9": { + "then": "Glasflaschen können hier recycelt werden" } }, "question": "Was kann hier recycelt werden?" @@ -8563,13 +8804,123 @@ "render": "Geschwindigkeitsreduzierte Straße" } }, - "souvenir_note": { + "souvenir_coin": { + "description": "Ebene mit Automaten, die Souvenir-Münzen verkaufen", + "name": "Souvenir-Münzautomaten", + "presets": { + "0": { + "description": "Hinzufügen eines Automaten für Souvenirmünzen", + "title": "ein Souvenir-Münzautomaten" + } + }, "tagRenderings": { + "charge": { + "freeform": { + "placeholder": "Kosten (z.B. 2 EUR)" + }, + "mappings": { + "0": { + "then": "Eine Souvenirmünze kostet 2 Euro" + } + }, + "question": "Wie viel kostet eine Souvenirmünze?", + "render": "Eine Souvenirmünze kostet {charge}" + }, + "designs": { + "override": { + "mappings": { + "0": { + "then": "Diese Maschine hat ein Design zur Verfügung" + }, + "1": { + "then": "Diese Maschine hat zwei Designs verfügbar" + }, + "2": { + "then": "Diese Maschine hat drei Designs verfügbar" + }, + "3": { + "then": "Diese Maschine hat vier Designs verfügbar" + } + }, + "render": "Diese Maschine hat {coin:design_count} Designs verfügbar" + } + }, + "indoor": { + "mappings": { + "0": { + "then": "Diese Maschine befindet sich im Innenbereich." + }, + "1": { + "then": "Diese Maschine befindet sich im Freien." + } + }, + "question": "Ist diese Maschine im Innenbereich?" + } + }, + "title": { + "render": "Souvenir-Münzautomat" + } + }, + "souvenir_note": { + "description": "Ebene zeigt Maschinen, die Souvenir-Banknoten verkaufen", + "name": "Souvenir Banknotenmaschinen", + "presets": { + "0": { + "description": "Hinzufügen eines Automaten, der Souvenir-Banknoten verkauft", + "title": "eine Souvenir-Banknotenmaschine" + } + }, + "tagRenderings": { + "charge": { + "freeform": { + "placeholder": "Kosten (z.B. 2 EUR)" + }, + "mappings": { + "0": { + "then": "Eine Souvenirnote kostet 2 Euro" + }, + "1": { + "then": "Eine Souvenirnote kostet 3 Euro" + } + }, + "question": "Wie viel kostet eine Souvenirnote?", + "render": "Eine Souvenirnote kostet {charge}" + }, "designs": { "freeform": { "placeholder": "Motivanzahl (z.B. 5)" - } + }, + "mappings": { + "0": { + "then": "Diese Maschine hat ein Design zur Verfügung." + }, + "1": { + "then": "Diese Maschine hat zwei Designs verfügbar." + }, + "2": { + "then": "Diese Maschine hat drei Designs verfügbar." + }, + "3": { + "then": "Diese Maschine hat vier Designs verfügbar." + } + }, + "question": "Wie viele Designs sind verfügbar?", + "render": "Diese Maschine verfügt über {note:design_count} Designs." + }, + "indoor": { + "mappings": { + "0": { + "then": "Diese Maschine befindet sich im Innenbereich." + }, + "1": { + "then": "Diese Maschine befindet sich im Freien." + } + }, + "question": "Ist diese Maschine im Innenbereich?" } + }, + "title": { + "render": "Souvenir-Banknotenautomat" } }, "speed_camera": { @@ -8981,6 +9332,12 @@ "1": { "then": "Diese Straßenlaterne verwendet LEDs" }, + "10": { + "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" + }, + "11": { + "then": "Diese Straßenlaterne wird mit Gas beleuchtet" + }, "2": { "then": "Diese Straßenlaterne verwendet Glühlampenlicht" }, @@ -9004,12 +9361,6 @@ }, "9": { "then": "Diese Straßenlaterne verwendet Niederdruck-Natriumdampflampen (einfarbig orange)" - }, - "10": { - "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" - }, - "11": { - "then": "Diese Straßenlaterne wird mit Gas beleuchtet" } }, "question": "Mit welcher Art von Beleuchtung arbeitet diese Straßenlaterne?" @@ -9072,6 +9423,11 @@ "render": "Stripclub" } }, + "summary": { + "title": { + "render": "Übersicht" + } + }, "surveillance_camera": { "description": "Diese Ebene zeigt die Überwachungskameras an und ermöglicht es, Informationen zu aktualisieren und neue Kameras hinzuzufügen", "name": "Überwachungskameras", @@ -10369,7 +10725,7 @@ "translation-thanks": { "mappings": { "0": { - "then": "Sie haben dazu beigetragen, MapComplete zu übersetzen! Das ist großartig!" + "then": "Du hast mit {_translation_contributions} Änderungen zur Übersetzung von MapComplete beigetragen! Das ist großartig!" } } }, @@ -10399,30 +10755,6 @@ "1": { "question": "Verkauf von Getränken" }, - "2": { - "question": "Verkauf von Süßigkeiten" - }, - "3": { - "question": "Verkauf von Lebensmitteln" - }, - "4": { - "question": "Verkauf von Zigaretten" - }, - "5": { - "question": "Verkauf von Kondomen" - }, - "6": { - "question": "Verkauf von Kaffee" - }, - "7": { - "question": "Verkauf von Trinkwasser" - }, - "8": { - "question": "Verkauf von Zeitungen" - }, - "9": { - "question": "Verkauf von Fahrradschläuchen" - }, "10": { "question": "Verkauf von Milch" }, @@ -10453,6 +10785,9 @@ "19": { "question": "Verkauf von Blumen" }, + "2": { + "question": "Verkauf von Süßigkeiten" + }, "20": { "question": "Verkauf von Parkscheinen" }, @@ -10476,6 +10811,27 @@ }, "27": { "question": "Verkauf von Fahrradschlössern" + }, + "3": { + "question": "Verkauf von Lebensmitteln" + }, + "4": { + "question": "Verkauf von Zigaretten" + }, + "5": { + "question": "Verkauf von Kondomen" + }, + "6": { + "question": "Verkauf von Kaffee" + }, + "7": { + "question": "Verkauf von Trinkwasser" + }, + "8": { + "question": "Verkauf von Zeitungen" + }, + "9": { + "question": "Verkauf von Fahrradschläuchen" } } } @@ -10522,30 +10878,6 @@ "1": { "then": "Süßigkeiten werden verkauft" }, - "2": { - "then": "Lebensmittel werden verkauft" - }, - "3": { - "then": "Zigaretten werden verkauft" - }, - "4": { - "then": "Kondome werden verkauft" - }, - "5": { - "then": "Kaffee wird verkauft" - }, - "6": { - "then": "Trinkwasser wird verkauft" - }, - "7": { - "then": "Zeitungen werden verkauft" - }, - "8": { - "then": "Fahrradschläuche werden verkauft" - }, - "9": { - "then": "Milch wird verkauft" - }, "10": { "then": "Brot wird verkauft" }, @@ -10576,6 +10908,9 @@ "19": { "then": "Parkscheine werden verkauft" }, + "2": { + "then": "Lebensmittel werden verkauft" + }, "20": { "then": "Souvenirmünzen werden verkauft" }, @@ -10596,6 +10931,27 @@ }, "26": { "then": "Fahrradschlösser werden verkauft" + }, + "3": { + "then": "Zigaretten werden verkauft" + }, + "4": { + "then": "Kondome werden verkauft" + }, + "5": { + "then": "Kaffee wird verkauft" + }, + "6": { + "then": "Trinkwasser wird verkauft" + }, + "7": { + "then": "Zeitungen werden verkauft" + }, + "8": { + "then": "Fahrradschläuche werden verkauft" + }, + "9": { + "then": "Milch wird verkauft" } }, "question": "Was wird in diesem Automaten verkauft?", @@ -10887,4 +11243,4 @@ "render": "Windrad" } } -} \ No newline at end of file +} diff --git a/langs/layers/en.json b/langs/layers/en.json index 4d05671c4..743096977 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -1411,7 +1411,8 @@ "render": "This is a bicycle parking of the type: {bicycle_parking}" }, "Capacity": { - "question": "How many bicycles fit in this bicycle parking (including possible cargo bicycles)?", + "question": "How many bicycles fit in this bicycle parking?", + "questionHint": "This includes regular bicycles, cargo bikes, ebikes, ...", "render": "Place for {capacity} bikes" }, "Cargo bike capacity?": { @@ -4019,11 +4020,26 @@ }, "elevator-depth": { "question": "What is the depth of this elevator?", - "render": "This elevator has a depth of {canonical(elevator:depth)}" + "render": "This elevator has a depth of {canonical(length)}" + }, + "elevator-diameter": { + "question": "What is the diameter of this elevator?", + "render": "This elevator has a diameter of {canonical(diameter)}" + }, + "elevator-shape": { + "mappings": { + "0": { + "then": "This elevator has a rectangular shape" + }, + "1": { + "then": "This elevator has a circular shape" + } + }, + "question": "What shape does this elevator have?" }, "elevator-width": { "question": "What is the width of this elevator?", - "render": "This elevator has a width of {canonical(elevator:width)}" + "render": "This elevator has a width of {canonical(width)}" }, "operational_status": { "mappings": { @@ -6120,13 +6136,95 @@ } }, "memorial": { + "name": "Memorials", + "presets": { + "0": { + "title": "a memorial" + } + }, "tagRenderings": { "inscription": { + "mappings": { + "0": { + "then": "This memorial does not have an inscription" + } + }, "question": "What is the inscription of this plaque?", "render": "The inscription on this plaque reads:

{inscription}

" + }, + "memorial-type": { + "mappings": { + "0": { + "then": "This is a statue" + }, + "1": { + "then": "This is a plaque" + }, + "2": { + "then": "This is a commemorative bench" + }, + "3": { + "then": "This is a ghost bike - a bicycle painted white to remember a cyclist whom deceased because of a car crash" + }, + "4": { + "then": "This is a stolperstein (stumbing stone)" + }, + "5": { + "then": "This is a stele" + }, + "6": { + "then": "This is a memorial stone" + }, + "7": { + "then": "This is a bust" + }, + "8": { + "then": "This is a sculpture" + }, + "9": { + "then": "This is an obelisk" + }, + "10": { + "then": "This is a cross" + }, + "11": { + "then": "This is a blue plaque" + }, + "12": { + "then": "This is a historic tank, permanently placed in public space as memorial" + }, + "13": { + "then": "This is a memorial tree" + } + }, + "question": "What type of memorial is this?", + "render": "This is a {memorial}" + }, + "memorial-wikidata": { + "question": "What is the Wikipedia page about this memorial?", + "questionHint": "This is a about the memorial itself, not about the person or event that the memorial remembers. If this memorial does not have a Wikipedia page or Wikidata entity, skip this question.", + "render": { + "before": "

Wikipedia page about the memorial

" + } + }, + "start_date": { + "question": "When was this memorial installed?", + "render": "Placed on {start_date}" + }, + "subject-wikidata": { + "question": "What is the Wikipedia page about the person or event that is remembered here?", + "questionHint": "If the person or event does not have a Wikipedia page or Wikidata entity, skip this question.", + "render": { + "before": "

Wikipedia page about the remembered event or person

" + } } }, "title": { + "mappings": { + "0": { + "then": "Memorial plaque" + } + }, "render": "Memorial plaque" } }, @@ -7677,12 +7775,17 @@ } }, "opening_hours": { + "mappings": { + "0": { + "then": "Marked as closed for an unspecified time" + } + }, "question": "What are the opening hours of {title()}?", "render": "

Opening hours

{opening_hours_table(opening_hours)}" }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "24/7 opened (including holidays)" } @@ -10622,7 +10725,7 @@ "translation-thanks": { "mappings": { "0": { - "then": "You have contributed to translating MapComplete! That's awesome!" + "then": "You have contributed to translating MapComplete with {_translation_contributions} commits! That's awesome!" } } }, diff --git a/langs/layers/es.json b/langs/layers/es.json index cb4b1ebab..4214b25c4 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -3010,6 +3010,20 @@ } } }, + "memorial": { + "tagRenderings": { + "memorial-type": { + "mappings": { + "9": { + "then": "Es un obelisco" + }, + "10": { + "then": "Es una cruz" + } + } + } + } + }, "nature_reserve": { "description": "Una reserva natural es una zona donde la naturaleza puede seguir su curso", "name": "Reserva Natural", @@ -3607,7 +3621,7 @@ }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "Abierta 24/7 (incluyendo festivos)" } diff --git a/langs/layers/fr.json b/langs/layers/fr.json index d9c150f98..f56c7b8d9 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -1644,7 +1644,7 @@ }, "2": { "description": "Un café pour prendre un thé, un café ou une boisson alcoolisée dans un environnement calme", - "title": "un café" + "title": "un café adama" }, "3": { "description": "Une boîte de nuit ou discothèque pour danser sur de la musique de DJ accompagnée de jeux de lumière et un bar pour prendre une boisson (alcoolisée)", @@ -2948,11 +2948,11 @@ }, "elevator-depth": { "question": "Quelle est la profondeur de cet ascenseur ?", - "render": "Cet ascenseur a une profondeur de {canonical(elevator:depth)}" + "render": "Cet ascenseur a une profondeur de {canonical(length)}" }, "elevator-width": { "question": "Quelle est la largeur de cet ascenseur ?", - "render": "Cet ascenseur a une largeur de {canonical(elevator:width)}" + "render": "Cet ascenseur a une largeur de {canonical(width)}" }, "operational_status": { "mappings": { @@ -3935,6 +3935,13 @@ } } }, + "memorial": { + "tagRenderings": { + "start_date": { + "render": "Placé le {start_date}" + } + } + }, "nature_reserve": { "tagRenderings": { "Curator": { @@ -4705,7 +4712,7 @@ }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "Ouvert 24h/24 (jours fériés compris)" } diff --git a/langs/layers/hu.json b/langs/layers/hu.json index 35c9b9cc6..92a8b9157 100644 --- a/langs/layers/hu.json +++ b/langs/layers/hu.json @@ -801,7 +801,7 @@ }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "Éjjel-nappal nyitva (munkaszüneti napokon is)" } diff --git a/langs/layers/id.json b/langs/layers/id.json index 5daff07d9..b33cd73a2 100644 --- a/langs/layers/id.json +++ b/langs/layers/id.json @@ -515,7 +515,7 @@ }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "Buka 24 jam (termasuk hari libur)" } diff --git a/langs/layers/it.json b/langs/layers/it.json index 4b1201ce9..77a6b8633 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -1726,6 +1726,13 @@ "render": "Mappa" } }, + "memorial": { + "tagRenderings": { + "start_date": { + "render": "Piazzata in data {start_date}" + } + } + }, "nature_reserve": { "tagRenderings": { "Curator": { diff --git a/langs/layers/nb_NO.json b/langs/layers/nb_NO.json index 5d33f4964..1bdf05dd2 100644 --- a/langs/layers/nb_NO.json +++ b/langs/layers/nb_NO.json @@ -654,7 +654,7 @@ }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "Døgnåpent (inkludert helligdager)" } diff --git a/langs/layers/nl.json b/langs/layers/nl.json index ffd5547aa..67876cd76 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -1150,7 +1150,8 @@ "render": "Dit is een fietsparking van het type: {bicycle_parking}" }, "Capacity": { - "question": "Hoeveel fietsen kunnen in deze fietsparking (inclusief potentiëel bakfietsen)?", + "question": "Hoeveel fietsen kunnen in deze fietsparking?", + "questionHint": "Dit is het totaal aantal gewone fietsen, bakfietsen, elektrische fietsen, ...", "render": "Plaats voor {capacity} fietsen" }, "Cargo bike capacity?": { @@ -3672,11 +3673,11 @@ }, "elevator-depth": { "question": "Wat is de diepte van deze lift?", - "render": "Deze lift heeft een diepte van {canonical(elevator:depth)}" + "render": "Deze lift heeft een diepte van {canonical(length)}" }, "elevator-width": { "question": "Wat is de breedte van deze lift?", - "render": "Deze lift heeft een breedte van {canonical(elevator:width)}" + "render": "Deze lift heeft een breedte van {canonical(width)}" }, "operational_status": { "mappings": { @@ -5221,6 +5222,13 @@ } } }, + "memorial": { + "tagRenderings": { + "start_date": { + "render": "Geplaatst op {start_date}" + } + } + }, "nature_reserve": { "description": "Een natuurgebied is een gebied waar actief ruimte gemaakt word voor de natuur. Typisch zijn deze in beheer van Natuurpunt of het Agentschap Natuur en Bos of zijn deze erkend door de overheid.", "filter": { @@ -6538,12 +6546,17 @@ } }, "opening_hours": { + "mappings": { + "0": { + "then": "Gesloten voor onbepaalde duur" + } + }, "question": "Wat zijn de openingstijden van {title()}?", "render": "

Openingstijden

{opening_hours_table(opening_hours)}" }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "24/7 open (ook tijdens feestdagen)" } @@ -8709,7 +8722,7 @@ "then": "Gebruik altijd een kaart di niet op OpenStreetMap gebaseerd is als achtergrond" }, "4": { - "then": "Gebruik altijd {__current_background}) als achtergrondlaag. Dit is de huidige achtergrond." + "then": "Gebruik altijd {__current_background} als achtergrondlaag. Dit is de huidige achtergrond." }, "5": { "then": "Gebruik {mapcomplete-preferred-background-layer} altijd als achtergrondlaag" @@ -8877,7 +8890,7 @@ "translation-thanks": { "mappings": { "0": { - "then": "Je hebt MapComplete helpen vertalen! Dat is fantastisch! Bedankt hiervoor!" + "then": "Je hebt MapComplete helpen vertalen met {_translation_contributions} commits! Dat is fantastisch! Bedankt hiervoor!" } } }, diff --git a/langs/layers/pl.json b/langs/layers/pl.json index 2fb3b184e..c3864591c 100644 --- a/langs/layers/pl.json +++ b/langs/layers/pl.json @@ -1214,7 +1214,7 @@ }, "elevator-width": { "question": "Jaka jest szerokość tej windy?", - "render": "Szerokość tej windy to {canonical(elevator:width)}" + "render": "Szerokość tej windy to {canonical(width)}" }, "operational_status": { "mappings": { @@ -2424,7 +2424,7 @@ }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "Otwarte 24/7 (również w święta)" } diff --git a/langs/layers/pt.json b/langs/layers/pt.json index ebabfd54e..775a8fff3 100644 --- a/langs/layers/pt.json +++ b/langs/layers/pt.json @@ -1910,13 +1910,6 @@ } }, "question": "Quer ajudar na tradução do MapComplete?" - }, - "translation-thanks": { - "mappings": { - "0": { - "then": "Você contribuiu para a tradução do MapComplete! Fantástico!" - } - } } } }, diff --git a/langs/layers/ru.json b/langs/layers/ru.json index ae3b10fa1..56db3347d 100644 --- a/langs/layers/ru.json +++ b/langs/layers/ru.json @@ -1231,6 +1231,13 @@ "render": "Карта" } }, + "memorial": { + "tagRenderings": { + "start_date": { + "render": "Установлен {start_date}" + } + } + }, "observation_tower": { "name": "Смотровые башни", "title": { diff --git a/langs/layers/sl.json b/langs/layers/sl.json index 279276a6b..a7a22dda3 100644 --- a/langs/layers/sl.json +++ b/langs/layers/sl.json @@ -201,6 +201,153 @@ } } }, + "speed_camera": { + "description": "Sloj prikazuje hitrostne kamere (radarje)", + "name": "Hitrostna kamera", + "presets": { + "0": { + "title": "hitrostna kamera" + } + } + }, + "surveillance_camera": { + "description": "Ta sloj prikazuje nadzorne kamere in urednikom omogoča posodabljanje informacij obstoječih in dodajanje novih kamer", + "name": "Nadzorne kamere", + "presets": { + "0": { + "title": "nadzorna kamera" + }, + "1": { + "title": "nadzorna kamera pritrjena na steno" + }, + "2": { + "description": "Kamera za prepoznavo registrskih tablic ima običajno dve leči in polje infrardečih lučk.", + "title": "kamera za prepoznavo registrskih tablic" + }, + "3": { + "description": "Kamera za prepoznavo registrskih tablic ima običajno dve leči in polje infrardečih lučk.", + "title": "na steno pritrjena kamera za prepoznavo registrskih tablic" + } + }, + "tagRenderings": { + "Camera type: fixed; panning; dome": { + "mappings": { + "0": { + "then": "Fiksna (nepremična) kamera" + }, + "1": { + "then": "Kamera v kupoli (obračajoča)" + } + }, + "question": "Kakšne vrste kamera je to?" + }, + "Level": { + "question": "V katerem nadstropju je ta kamera?", + "render": "Se nahaja v {level}. nadstropju" + }, + "Operator": { + "question": "Kdo upravlja s to kamero?", + "render": "Upravlja jo {operator}" + }, + "Surveillance type: public, outdoor, indoor": { + "mappings": { + "0": { + "then": "Nadzoruje javno površino kot je ulica, most, trg, park, postaja, javni hodnik, tunel…" + }, + "1": { + "then": "Nadzoruje zunanjo, a zasebno površino (npr. parkirišče, bencinsko črpalko, dvorišče, vhod v stavbo, zasebni dovoz…)" + }, + "2": { + "then": "Nadzoruje zasebno notranjo površino, npr. trgovino, zasebno podzemno parkirišče…" + } + }, + "question": "Kaj nadzoruje ta kamera?" + }, + "Surveillance:zone": { + "mappings": { + "0": { + "then": "Nadzoruje parkirišče" + }, + "1": { + "then": "Nadzoruje promet" + }, + "2": { + "then": "Nadzoruje vhod" + }, + "3": { + "then": "Nadzoruje hodnik" + }, + "4": { + "then": "Nadzoruje peron javnega prevoza" + }, + "5": { + "then": "Nadzoruje trgovino" + } + }, + "question": "Kaj točno je nadzorovano tu?", + "render": "Nadzoruje {surveillance:zone}" + }, + "camera:mount": { + "mappings": { + "0": { + "then": "Ta kamera je pritrjena na steno" + }, + "1": { + "then": "Ta kamera je nameščena na drog" + }, + "2": { + "then": "Ta kamera je pritrjena na strop" + }, + "3": { + "then": "Ta kamera je nameščena na ulično svetilko" + }, + "4": { + "then": "Ta kamera je nameščena na drevo" + } + }, + "question": "Kako je postavljena ta kamera?", + "render": "Način namestitve: {camera:mount}" + }, + "camera_direction": { + "mappings": { + "0": { + "then": "Snema v smeri kompasa {direction}" + } + }, + "question": "V katero geografsko smer snema ta kamera?", + "render": "Snema v smeri kompasa {camera:direction}" + }, + "has_alpr": { + "mappings": { + "0": { + "then": "To je kamera brez prepoznave registrskih tablic." + }, + "1": { + "then": "To je kamera s prepoznavo registrskih tablic" + } + }, + "question": "Ali ta kamera lahko samodejno prepoznava registrske tablice?", + "questionHint": "Kamera za prepoznavo registrskih tablic ima običajno dve leči in med njima polje infrardečih LED svetil." + }, + "is_indoor": { + "mappings": { + "0": { + "then": "Ta kamera je znotraj" + }, + "1": { + "then": "Ta kamera je zunaj" + }, + "2": { + "then": "Ta kamera je verjetno zunaj" + } + }, + "question": "Ali je javni prostor, ki ga nadzoruje ta kamera, notranji ali zunanji?" + } + }, + "title": { + "render": "Nadzorna kamera" + } + }, "windturbine": { "tagRenderings": { "windturbine-fixme": { diff --git a/langs/layers/zh_Hant.json b/langs/layers/zh_Hant.json index a95bcf459..e89a72f1a 100644 --- a/langs/layers/zh_Hant.json +++ b/langs/layers/zh_Hant.json @@ -11,7 +11,23 @@ "0": { "then": "這棟建築沒有門牌" } - } + }, + "question": "這間房子的門牌號碼是多少?", + "render": "門牌號碼是 {addr:housenumber}" + }, + "street": { + "question": "地址所在的道路是?" + } + } + }, + "advertising": { + "name": "廣告", + "presets": { + "0": { + "title": "一塊告示牌" + }, + "1": { + "title": "獨自設立的海報框" } } }, @@ -88,6 +104,20 @@ "render": "藝術品" } }, + "barrier": { + "tagRenderings": { + "bicycle=yes/no": { + "mappings": { + "0": { + "then": "單車騎士能夠穿越。" + }, + "1": { + "then": "單車騎士無法穿越。" + } + } + } + } + }, "bench": { "name": "長椅", "presets": { @@ -634,7 +664,7 @@ }, "opening_hours_24_7": { "override": { - "mappings": { + "+mappings": { "0": { "then": "24/7 開放 (包括假日)" } @@ -777,6 +807,9 @@ } } } + }, + "title": { + "render": "設定" } }, "walls_and_buildings": { diff --git a/langs/pt.json b/langs/pt.json index cf62cb4e0..0725e45c9 100644 --- a/langs/pt.json +++ b/langs/pt.json @@ -27,6 +27,7 @@ "selectReason": "Por favor, selecione a razão porque este elemento deve ser eliminado", "softDelete": "Este elemento será atualizado e ocultado nesta aplicação. {reason}" }, + "isChanged": "Este elemento foi alterado e não corresponde a esta camada", "isDeleted": "Este elemento está eliminado", "isntAPoint": "Apenas os nós podem ser eliminados, o elemento selecionado é uma linha, área ou relação.", "loading": "A inspecionar as propriedades para verificar se este elemento pode ser eliminado.", @@ -191,8 +192,10 @@ "downloadAsPdf": "Descarregar um PDF do mapa atual", "downloadAsPdfHelper": "Ideal para imprimir o mapa atual", "downloadAsPng": "Transferir como imagem", + "downloadAsPngHelper": "Ideal para incluir em relatórios", "downloadAsSvg": "Descarregar um SVG do mapa atual", "downloadAsSvgHelper": "Compatível com Inkscape ou Adobe Illustrator; vai precisar de mais processamento ", + "downloadAsSvgLinesOnly": "Transferir um SVG do mapa corrente apenas contendo linhas", "downloadCSV": "Descarregar dados visíveis como CSV", "downloadCSVHelper": "Compatível com LibreOffice Calc, Excel…", "downloadFeatureAsGeojson": "Descarregar como ficheiro GeoJSON", @@ -205,32 +208,61 @@ "includeMetaData": "Incluir metadados (último editor, valores calculados…)", "licenseInfo": "

Aviso de direitos de autor

Os dados fornecidos estão disponíveis sob a licença ODbL. A sua reutilização é gratuita para qualquer finalidade, mas
  • é obrigatória a atribuição © Contribuidores do OpenStreetMap
  • Qualquer alteração deve ser feita usando a licença
Por favor, leia na íntegra o documento Licença e Direitos de Autor para mais informações.", "noDataLoaded": "Ainda não foram descarregados dados. O descarregamento estará disponível brevemente", + "pdf": { + "current_view_generic": "Exportar um PDF da vista corrente no formato {paper_size} na orientação {orientation}" + }, "title": "Descarregar dados visíveis", "uploadGpx": "Enviar o seu trilho para o OpenStreetMap" }, + "enableGeolocationForSafariLink": "Aprenda como habilitar a permissão de geolocalização nas definições", + "eraseValue": "Eliminar este valor", "error": "Algo correu mal", "example": "Exemplo", "examples": "Exemplos", "fewChangesBefore": "Por favor, responda a algumas perguntas sobre os elementos existentes antes de adicionar um novo elemento.", + "filterPanel": { + "disableAll": "Desabilitar tudo", + "enableAll": "Habilitar tudo" + }, + "geopermissionDenied": "A utilização da geolocalização foi recusada", "getStartedLogin": "Entrar com OpenStreetMap para começar", "getStartedNewAccount": " ou crie uma conta", "goToInbox": "Abrir mensagens", "histogram": { "error_loading": "Não foi possível carregar o histograma" }, + "labels": { + "background": "Mudar camada de fundo", + "filter": "Filtrar dados", + "jumpToLocation": "Ir para a sua localização atual", + "menu": "Menu", + "zoomIn": "Ampliar", + "zoomOut": "Diminuir" + }, "layerSelection": { "title": "Selecionar camadas", "zoomInToSeeThisLayer": "Amplie para ver esta camada" }, + "levelSelection": { + "confirmLevel": "Sim, adicione {preset} no andar {level}" + }, "loading": "A carregar…", "loadingTheme": "A carregar {theme}…", "loginFailed": "A autenticação no OpenStreetMap falhou", + "loginFailedOfflineMode": "O OpenStreetMap.org não está disponível devido a um manutenção em curso. Fazer edições será possível em breve", + "loginFailedReadonlyMode": "O OpenStreetMap.org encontra-se em modo de leitura devido a um manutenção em curso. Fazer edições será possível em breve", + "loginFailedUnreachableMode": "O OpenStreetMap.org não está disponível. Está ligado à Internet ou está a bloquear serviços de terceiros? Tente novamente mais tarde", "loginOnlyNeededToEdit": "se quiser editar o mapa", "loginToStart": "Inicie a sessão para responder a esta pergunta", "loginWithOpenStreetMap": "Iniciar sessão com OpenStreetMap", "logout": "Sair", + "menu": { + "aboutMapComplete": "Sobre MapComplete", + "filter": "Filtrar dados" + }, "morescreen": { "createYourOwnTheme": "Crie o seu próprio tema MapComplete a partir do zero", + "enterToOpen": "Pressione Enter para abrir o tema", "hiddenExplanation": "Estes temas só são acessíveis a quem tem a hiperligação. Você descobriu {hidden_discovered} de {total_hidden} temas ocultos.", "intro": "

Mais mapas temáticos?

Gosta de colecionar dados geográficos?
Tem mais temas disponíveis.", "noMatchingThemes": "Nenhum tema corresponde aos seus critérios de pesquisa", @@ -242,18 +274,26 @@ }, "nameInlineQuestion": "O nome desta {category} é $$$", "next": "Seguinte", + "noMatchingMapping": "Nenhuma entrada corresponde à sua procura…", "noNameCategory": "{category} sem nome", "noTagsSelected": "Nenhuma etiqueta selecionada", "notValid": "Selecione um valor válido para continuar", "number": "número", "openStreetMapIntro": "

Um mapa aberto

Um que todos podem usar e editar livremente. Um único lugar para armazenar todas as informações geográficas. Mapas diferentes, pequenos, incompatíveis e desatualizados não são necessários em nenhum lugar.

OpenStreetMap não é o mapa inimigo. Os dados do mapa podem ser usados livremente (com atribuição e publicação das alterações a esses dados). Todos podem adicionar novos dados e corrigir erros. Este site usa o OpenStreetMap. Todos os dados são de lá e suas respostas e correções são usadas em todos os lugares.

Muitas pessoas e aplicações já usam o OpenStreetMap: O Organic Maps, OsmAnd, mas também os mapas no Facebook, Instagram, Apple-maps e Bing-maps são (em parte) enriquecidos com dados do OpenStreetMap.

", "openTheMap": "Abrir o mapa", + "openTheMapAtGeolocation": "Ampliar na sua localização", "opening_hours": { + "all_days_from": "Aberto todos os dias {ranges}", "closed_permanently": "Fechado por tempo desconhecido", "closed_until": "Fechado até {date}", + "error": "Não foi possível interpretar as horas de abertura", "error_loading": "Erro: não foi possível visualizar estes horários de funcionamento.", + "friday": "Na sexta-feira {ranges}", "loadingCountry": "A determinar o país…", + "monday": "Na segunda-feira {ranges}", "not_all_rules_parsed": "Estes horários de funcionamento são complicados. As seguintes regras são ignoradas no elemento de entrada:", + "on_weekdays": "Aberto nos dias da semana {ranges}", + "on_weekends": "Aberto aos fim-de-semanas {ranges}", "openTill": "até", "open_24_7": "Aberto 24 horas por dia, todos os dias", "open_during_ph": "Num feriado, isto", @@ -261,7 +301,15 @@ "ph_closed": "fechado", "ph_not_known": " ", "ph_open": "aberto", - "ph_open_as_usual": "aberto como de costume" + "ph_open_as_usual": "aberto como de costume", + "ranges": "desde as {starttime} até às {endtime}", + "rangescombined": "{range0} e {range1}", + "saturday": "No sábado {ranges}", + "sunday": "No domingo {ranges}", + "thursday": "Na quinta-feira {ranges}", + "tuesday": "Na terça-feira {ranges}", + "unknown": "As horas de abertura são desconhecidas", + "wednesday": "Na quarta-feira {ranges}" }, "osmLinkTooltip": "Ver este objeto no OpenStreetMap para ver o histórico e mais opções de edição", "pdf": { @@ -272,6 +320,18 @@ }, "pickLanguage": "Escolha um idioma: ", "poweredByOsm": "Impulsionado pelo OpenStreetMap", + "questionBox": { + "answeredMultiple": "Respondeu a {answered} questões", + "answeredMultipleSkippedMultiple": "Respondeu a {answered} questões e saltou {skipped} questões", + "answeredMultipleSkippedOne": "Respondeu a {answered} questões e saltou uma questão", + "answeredOne": "Respondeu a uma questão", + "answeredOneSkippedMultiple": "Respondeu a uma questão e saltou {skipped} questões", + "answeredOneSkippedOne": "Respondeu a uma questão e saltou a uma questão", + "done": "Sem mais perguntas! Obrigado!", + "reactivate": "Reativar perguntas saltadas", + "skippedMultiple": "Saltou {skipped} questões", + "skippedOne": "Saltou uma questão" + }, "questions": { "emailIs": "O endereço de e-mail de {category} é {email}", "emailOf": "Qual é o endereço de e-mail de {category}?", @@ -289,18 +349,34 @@ "error": "Alguma coisa correu mal…", "nothing": "Nada encontrado…", "search": "Procurar um local", + "searchShort": "Pesquisar…", "searching": "A procurar…" }, + "searchAnswer": "Pesquisar uma opção…", + "share": "Partilhar", "sharescreen": { "copiedToClipboard": "Hiperligação copiada para a área de transferência", + "documentation": "Para mais informações nos parâmetros URL disponíveis, consulte a documentação", "embedIntro": "

Incorporar no seu site

Por favor, insira este mapa no seu site.
Encorajamos a fazê-lo - nem precisa de pedir permissão.
É grátis e sempre será. Quanto mais pessoas estiverem a usar isto, mais valioso se torna.", "fsUserbadge": "Ativar o botão de iniciar sessão", "fsWelcomeMessage": "Mostrar a janela com a mensagem de boas-vindas e separadores associados", "intro": "

Partilhar este mapa

Partilhe este mapa copiando a hiperligação abaixo e enviando-a a amigos e familiares:", - "thanksForSharing": "Obrigado por partilhar!" + "thanksForSharing": "Obrigado por partilhar!", + "title": "Partilhar este mapa" }, "skip": "Ignorar esta pergunta", "testing": "Teste - as alterações não serão guardadas", + "uploadError": "Ocorreu um erro a carregar alterações: {error}", + "uploadGpx": { + "choosePermission": "Escolha em baixo como o trilho deve ser partilhado:", + "confirm": "Confirmar carregamento", + "gpxServiceOffline": "O serviço GPX está indisponível, carregar não está disponível neste momento. Tente novamente mais tarde.", + "intro0": "Ao carregar o trilho, o OpenStreetMap.org manterá uma cópia total do mesmo.", + "intro1": "Consegue transferir o trilho de novo e carregar-lo em programas de edição do OpenStreetMap", + "meta": { + "descriptionIntro": "Opcionalmente, pode adicionar uma descrição ao trilho:" + } + }, "weekdays": { "abbreviations": { "friday": "Sex", diff --git a/langs/sl.json b/langs/sl.json index ffaadefb2..c21feea35 100644 --- a/langs/sl.json +++ b/langs/sl.json @@ -1,35 +1,35 @@ { "centerMessage": { "loadingData": "Nalaganje podatkov…", + "noData": "V trenutnem pogledu ni relevantnih elementov", "retrying": "Nalaganje podatkov ni uspelo. Ponoven poskus čez {count} sekund…" }, "delete": { "cancel": "Prekliči", "delete": "Izbriši", - "explanations": {}, - "reasons": {} + "loginToDelete": "Za dodajanje novih elemntov morate biti vpisani" + }, + "favouritePoi": { + "loginToSeeList": "Vpišite se za ogled seznama vaših priljubljenih lokacij" }, - "favourite": {}, "general": { "add": { - "import": {} - }, - "apply_button": {}, - "attribution": { - "iconAttribution": {} + "pleaseLogin": "Vpišite se za dodajanje novega elementa", + "zoomInFurther": "Še bolj približajte za dodajanje elementa" }, "back": "Nazaj", "cancel": "Prekliči", "confirm": "Potrdi", - "download": {}, - "histogram": {}, - "layerSelection": {}, - "levelSelection": {}, - "morescreen": {}, - "opening_hours": {}, - "pdf": {}, - "pickLanguage": "Izberite jezik: ", - "questions": {}, + "getStartedLogin": "Za začetek se vpišite s svojim OpenStreetMap računom", + "loginFailed": "Vpis v OpenStreetMap ni uspe", + "loginFailedOfflineMode": "Zaradi vzdrževanja OpenStreetMap.org trenutno ni na voljo. Urejanje bo kmalu spet mogoče", + "loginFailedReadonlyMode": "Zaradi vzdrževanja je OpenStreetMap.org trenutno možno samo brati. Urejanje bo kmalu spet mogoče", + "loginWithOpenStreetMap": "Vpis z OpenStreetMap računom", + "logout": "Odjava", + "menu": { + "aboutMapComplete": "O MapComplete" + }, + "pickLanguage": "Izberite jezik", "save": "Shrani", "search": { "error": "Nekaj se je zalomilo…", @@ -37,7 +37,6 @@ "search": "Poiščite lokacijo", "searching": "Iskanje…" }, - "sharescreen": {}, "skip": "Preskoči to vprašanje", "weekdays": { "abbreviations": { @@ -56,51 +55,18 @@ "thursday": "Četrtek", "tuesday": "Torek", "wednesday": "Sreda" - }, - "welcomeExplanation": {}, - "wikipedia": { - "previewbox": {} } }, "image": { "addPicture": "Dodaj sliko", "doDelete": "Odstrani sliko", "dontDelete": "Prekliči", - "isDeleted": "Izbrisana" + "isDeleted": "Izbrisana", + "pleaseLogin": "Vpišite se za dodajanje slik" }, - "importInspector": {}, - "importLayer": {}, "index": { "intro": "MapComplete je pregledovalnik in urejevalnik zemljevida OpenStreetMap, ki prikazuje in omogoča urejanje informacij na določeno tematiko.", "pickTheme": "Za začetek spodaj izberite tematiko.", "title": "Dobrodošli na MapComplete" - }, - "move": { - "inviteToMove": {}, - "reasons": {} - }, - "multi_apply": {}, - "notes": {}, - "privacy": {}, - "reviews": {}, - "split": {}, - "translations": {}, - "validation": { - "color": {}, - "date": {}, - "direction": {}, - "distance": {}, - "email": {}, - "float": {}, - "int": {}, - "nat": {}, - "opening_hours": {}, - "pfloat": {}, - "phone": {}, - "pnat": {}, - "string": {}, - "text": {}, - "url": {}, - "wikidata": {} } } diff --git a/langs/themes/de.json b/langs/themes/de.json index a21471ea5..d54b54928 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -96,6 +96,10 @@ "shortDescription": "Eine Karte aller Sitzbänke", "title": "Sitzbänke" }, + "bicycle_parkings": { + "description": "Eine Karte mit allen Arten von Fahrradabstellplätzen", + "title": "Fahrradabstellplätze" + }, "bicycle_rental": { "description": "Auf dieser Karte finden Sie alle Fahrradverleihstationen, die in OpenStreetMap eingetragen wurden", "shortDescription": "Eine Karte mit Fahrradverleihstationen und Fahrradverleihgeschäften", @@ -810,6 +814,71 @@ "description": "Geisterräder sind weiße Fahrräder, die zum Gedenken tödlich verunglückter Radfahrer vor Ort aufgestellt wurden.

Auf dieser Karte sehen Sie alle Geisterräder, die in OpenStreetMap eingetragen sind. Fehlt ein Geisterrad? Jeder kann hier Informationen hinzufügen oder aktualisieren - Sie benötigen nur ein (kostenloses) OpenStreetMap-Konto.

Es gibt ein Konto auf Mastodon, das monatliche eine weltweite Übersicht von Geisterfahrrädern veröffentlicht

", "title": "Geisterräder" }, + "ghostsigns": { + "description": "Eine Karte, die ungenutzte Zeichen auf Gebäuden zeigt", + "layers": { + "0": { + "description": "Ebene, die ungenutzte Zeichen auf Gebäuden zeigt", + "name": "Geisterzeichen", + "presets": { + "0": { + "title": "ein Geisterzeichen" + } + }, + "tagRenderings": { + "brand": { + "freeform": { + "placeholder": "Unternehmensname" + }, + "question": "Für welches Unternehmen wurde dieses Schild angefertigt?", + "render": "Dieses Schild wurde gemacht für: {brand}" + }, + "historic": { + "mappings": { + "0": { + "then": "Das ist ein Geisterzeichen" + }, + "1": { + "then": "Dies ist kein Geisterzeichen, die Antwort darauf wird das Schild von der Karte verstecken" + } + }, + "question": "Ist das ein Geisterzeichen?", + "questionHint": "Ist dieses Schild für ein Geschäft, das nicht mehr existiert oder nicht mehr gepflegt wird?" + }, + "inscription": { + "freeform": { + "placeholder": "Text auf dem Schild" + }, + "question": "Was ist der Text auf dem Schild?", + "render": "Der Text auf dem Schild ist: {inscription}" + } + }, + "title": { + "render": "Geisterzeichen" + } + }, + "1": { + "override": { + "+tagRenderings": { + "0": { + "mappings": { + "0": { + "then": "Das ist ein Geisterzeichen" + }, + "1": { + "then": "Das ist kein Geisterzeichen" + } + }, + "question": "Ist das ein Geisterzeichen?", + "questionHint": "Ist dieses Schild für ein Geschäft, das nicht mehr existiert oder nicht mehr gepflegt wird?" + } + }, + "name": "Alle Werbe-Wandbilder" + } + } + }, + "title": "Geisterzeichen" + }, "grb": { "description": "Dieses Thema ist ein Versuch, die Automatisierung des GRB-Imports zu unterstützen.", "layers": { @@ -886,6 +955,10 @@ "description": "Diese Karte zeigt öffentlich zugängliche Innenräume", "title": "Innenräume" }, + "items_with_image": { + "description": "Eine Karte, die alle Objekte auf OSM zeigt, die ein Bild haben. Dieses Thema ist sehr schlecht für MapComplete geeignet, da man nicht direkt ein Bild hinzufügen kann. Dieses Thema ist jedoch hauptsächlich dazu da, um alles in die Datenbank aufzunehmen, was es ermöglicht, Bilder in der Nähe für andere Funktionen schnell zu finden", + "title": "Alle Elemente mit Bildern" + }, "kerbs_and_crossings": { "description": "Eine Karte mit Bordsteinen und Überwegen.", "layers": { @@ -911,14 +984,21 @@ "0": { "options": { "0": { - "question": "Themename enthält {search}" + "question": "Themenname enthält {search}" } } }, "1": { "options": { "0": { - "question": "Der Name enthält nicht {search}" + "question": "Themename enthält not {search}" + } + } + }, + "10": { + "options": { + "0": { + "question": "Etymologie-Thema ausschließen" } } }, @@ -960,14 +1040,14 @@ "7": { "options": { "0": { - "question": "Erstellt mit host {search}" + "question": "Erstellt mit Host {search}" } } }, "8": { "options": { "0": { - "question": "Im Änderungssatz wurde mindestens ein Bild hinzugefügt" + "question": "Änderungssatz hat mindestens ein Bild hinzugefügt" } } }, @@ -977,20 +1057,13 @@ "question": "GRB-Thema ausschließen" } } - }, - "10": { - "options": { - "0": { - "question": "Etymologie-Thema ausschließen" - } - } } }, "name": "Zentrum der Änderungssätze", "tagRenderings": { "contributor": { - "question": "Wer hat diese Änderung vorgenommen?", - "render": "Änderung von {user}" + "question": "Welcher Mitwirkende hat diese Änderung vorgenommen?", + "render": "Änderung vorgenommen von {user}" }, "host": { "question": "Über welchen Host (Webseite) wurde diese Änderung vorgenommen?", @@ -1005,7 +1078,7 @@ }, "theme-id": { "question": "Welches Thema wurde für die Änderung verwendet?", - "render": "Geändert mit Thema {theme}" + "render": "Geändert mit Thema {theme}" }, "version": { "question": "Mit welcher MapComplete Version wurde die Änderung vorgenommen?", @@ -1043,6 +1116,10 @@ "shortDescription": "Diese Karte zeigt die zulässige Höchstgeschwindigkeit auf jeder Straße.", "title": "Höchstgeschwindigkeit" }, + "memorials": { + "description": "Denkmäler sind physische Objekte, die dauerhaft im öffentlichen Raum aufgestellt werden, um an eine Person oder ein Ereignis zu erinnern. Dabei kann es sich um eine Vielzahl von Objekten handeln, z. B. Statuen, Tafeln, Gemälde, militärische Objekte (wie Panzer), ...", + "title": "Denkmäler" + }, "nature": { "description": "Eine Karte mit interessanten Informationen für Touristen und Naturliebhaber.", "shortDescription": "Eine Karte mit interessanten Orten für Naturliebhaber", @@ -1060,6 +1137,33 @@ "onwheels": { "description": "Auf dieser Karte können Sie öffentlich zugängliche Orte für Rollstuhlfahrer ansehen, bearbeiten oder hinzufügen", "layers": { + "19": { + "override": { + "=title": { + "render": "Statistik" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Import" + } + } + }, + "1": { + "render": { + "special": { + "message": "Alle vorgeschlagenen Tags hinzufügen" + } + } + } + } + } + }, "4": { "override": { "filter": { @@ -1102,33 +1206,6 @@ "override": { "name": "Barrierefreie Parkplätze" } - }, - "19": { - "override": { - "=title": { - "render": "Statistik" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Import" - } - } - }, - "1": { - "render": { - "special": { - "message": "Alle vorgeschlagenen Tags hinzufügen" - } - } - } - } - } } }, "title": "Auf Rädern" @@ -1262,6 +1339,32 @@ }, "postboxes": { "description": "Auf dieser Karte können Sie Daten von Poststellen und Briefkästen finden und ergänzen. Sie können diese Karte nutzen, um herauszufinden, wo Sie Ihre nächste Postkarte versenden können :)
Haben Sie einen Fehler entdeckt oder fehlt ein Briefkasten? Sie können die Kartenddaten mit einem kostenlosen OpenStreetMap-Konto bearbeiten.", + "layers": { + "3": { + "override": { + "+tagRenderings": { + "0": { + "mappings": { + "0": { + "then": "Dieses Geschäft ist ein Post-Partner" + }, + "1": { + "then": "Dieses Geschäft ist kein Post-Partner" + } + }, + "question": "Ist dieses Geschäft ein Post-Partner?" + } + }, + "=presets": { + "0": { + "description": "Wenn ein Laden noch nicht auf der Karte ist und ein Post-Partner ist, kannst du ihn hier hinzufügen.", + "title": "ein fehlendes Geschäft, das ein Post-Partner ist" + } + }, + "description": "Hinzufügen eines neuen Post-Partners auf der Karte in einem bestehenden Geschäft" + } + } + }, "shortDescription": "Eine Karte die Briefkästen und Poststellen anzeigt", "title": "Post- und Briefkastenkarte" }, @@ -1344,10 +1447,6 @@ "stations": { "description": "Bahnhofsdetails ansehen, bearbeiten und hinzufügen", "layers": { - "3": { - "description": "Ebene mit Bahnhöfen", - "name": "Bahnhöfe" - }, "16": { "description": "Anzeigen der Züge, die von diesem Bahnhof abfahren", "name": "Abfahrtstafeln", @@ -1379,6 +1478,10 @@ "title": { "render": "Abfahrtstafel" } + }, + "3": { + "description": "Ebene mit Bahnhöfen", + "name": "Bahnhöfe" } }, "title": "Bahnhöfe" @@ -1557,4 +1660,4 @@ "shortDescription": "Eine Karte mit Abfalleimern", "title": "Abfalleimer" } -} \ No newline at end of file +} diff --git a/langs/themes/en.json b/langs/themes/en.json index 060fbe7c3..ab70209a6 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -96,6 +96,10 @@ "shortDescription": "A map of benches", "title": "Benches" }, + "bicycle_parkings": { + "description": "A map showing all types of bicycle parkings", + "title": "Bicycle parkings" + }, "bicycle_rental": { "description": "On this map, you'll find the many bicycle rental stations as they are known by OpenStreetMap", "shortDescription": "A map with bicycle rental stations and bicycle rental shops", @@ -1112,6 +1116,10 @@ "shortDescription": "This map shows the legally allowed maximum speed on every road.", "title": "Maxspeed" }, + "memorials": { + "description": "Memorials are physical objects permantently placed in the public space to remember a person or event. They can be a wide range of objects, such as statues, plaques, paintings, military objects (such as tanks), ...", + "title": "Memorials" + }, "nature": { "description": "On this map, one can find interesting information for tourists and nature lovers.", "shortDescription": "A map for nature lovers, with interesting POI's", diff --git a/langs/themes/es.json b/langs/themes/es.json index a775514bd..9110808f3 100644 --- a/langs/themes/es.json +++ b/langs/themes/es.json @@ -810,6 +810,29 @@ "description": "Una bicicleta fantasma es un monumento en memoria de un ciclista fallecido en un accidente de tráfico, en forma de una bicicleta blanca colocada permanentemente cerca del lugar del accidente.

En este mapa se pueden ver todas las bicicletas fantasma conocidas por OpenStreetMap. ¿Falta alguna bicicleta fantasma? Todo el mundo puede añadir o actualizar información aquí - sólo necesitas tener una cuenta (gratuita) de OpenStreetMap.

Existe una cuenta automatizada en Mastodon que publica un resumen mensual de las bicis fantasma de todo el mundo

", "title": "Bicicletas blanca" }, + "ghostsigns": { + "description": "Un mapa que muestra los rótulos en desuso de los edificios", + "layers": { + "0": { + "description": "Capa que muestra carteles en desuso en edificios", + "name": "Señales fantasma", + "presets": { + "0": { + "title": "una señal fantasma" + } + }, + "tagRenderings": { + "brand": { + "freeform": { + "placeholder": "Nombre comercial" + }, + "question": "¿Para qué negocio se hizo este cartel?", + "render": "Este cartel se hizo para: {brand}" + } + } + } + } + }, "grb": { "description": "Este tema es un intento de automatizar la importación GRB.", "layers": { @@ -902,133 +925,6 @@ }, "title": "Bordillos y cruces" }, - "mapcomplete-changes": { - "description": "Este mapa muestra todos los cambios hechos con MapComplete", - "layers": { - "0": { - "description": "Muestra todos los cambios de MapComplete", - "filter": { - "0": { - "options": { - "0": { - "question": "El nombre del tema contiene {search}" - } - } - }, - "1": { - "options": { - "0": { - "question": "El nombre del tema no contiene {search}" - } - } - }, - "2": { - "options": { - "0": { - "question": "Hecho por el colaborador {search}" - } - } - }, - "3": { - "options": { - "0": { - "question": "No hecho por el colaborador {search}" - } - } - }, - "4": { - "options": { - "0": { - "question": "Hecho antes de {search}" - } - } - }, - "5": { - "options": { - "0": { - "question": "Hecho después de {search}" - } - } - }, - "6": { - "options": { - "0": { - "question": "Idioma del usuario (código ISO) {search}" - } - } - }, - "7": { - "options": { - "0": { - "question": "Hecho con el host {search}" - } - } - }, - "8": { - "options": { - "0": { - "question": "El conjunto de cambios ha añadido al menos una imagen" - } - } - }, - "9": { - "options": { - "0": { - "question": "Excluir el tema del GRB" - } - } - }, - "10": { - "options": { - "0": { - "question": "Excluir el tema de la etimología" - } - } - } - }, - "name": "Centro del conjunto de cambios", - "tagRenderings": { - "contributor": { - "question": "¿Quién realizó este cambio?", - "render": "Cambio hecho por {user}" - }, - "host": { - "question": "¿Con qué host (página web) se realizó este cambio?", - "render": "Cambio con {host}" - }, - "locale": { - "question": "¿En qué configuración regional (idioma) se realizó este cambio?", - "render": "La configuración regional del usuario es {locale}" - }, - "show_changeset_id": { - "render": "Conjunto de cambios {id}" - }, - "theme-id": { - "question": "¿Qué tema se utilizó para realizar este cambio?", - "render": "Cambio con el tema {theme}" - }, - "version": { - "question": "¿Qué versión de MapComplete se usó para realizar este cambio?", - "render": "Hecho con {editor}" - } - }, - "title": { - "render": "Conjunto de cambios para {theme}" - } - }, - "1": { - "override": { - "tagRenderings+": { - "0": { - "render": "Puede encontrar más estadísticas aquí" - } - } - } - } - }, - "shortDescription": "Muestra los cambios hechos por MapComplete", - "title": "Cambios hechos con MapComplete" - }, "maproulette": { "description": "Tema que muestra las tareas de MapRoulette, permitiendo buscarlas, filtrarlas y arreglarlas.", "title": "Tareas de MapRoulette" diff --git a/langs/themes/sl.json b/langs/themes/sl.json index babdb5bc0..ffa4ea272 100644 --- a/langs/themes/sl.json +++ b/langs/themes/sl.json @@ -2,5 +2,8 @@ "aed": { "description": "Na tem zemljevidu lahko poiščete in označite bližnje defibrilatorje", "title": "Zemljevid defibrilatorjev (AED)" + }, + "surveillance": { + "title": "Nadzor nadzora" } } \ No newline at end of file diff --git a/langs/zh_Hant.json b/langs/zh_Hant.json index 128b248a3..325376d54 100644 --- a/langs/zh_Hant.json +++ b/langs/zh_Hant.json @@ -12,14 +12,15 @@ }, "communityIndex": { "available": "這個社群說 {native}", - "intro": "與其他人接洽並且與他們熟悉,從他們的經驗學習,...", + "intro": "與其他人接洽並且與他們熟悉,從他們的經驗學習,…", "notAvailable": "這個社群不說 {native}", - "title": "社群索引" + "title": "與其他人聯繫" }, "delete": { "cancel": "取消", "cannotBeDeleted": "這圖徵無法刪除", "delete": "刪除", + "deletedTitle": "已刪除的圖徵", "explanations": { "hardDelete": "這個圖徵已經在開放街圖被刪除了,可以被實驗性的貢獻者恢復", "retagNoOtherThemes": "這個圖徵會被重新分類,而且會從 app 隱藏", @@ -27,6 +28,7 @@ "selectReason": "請選擇為什麼這個圖徵應該被刪除", "softDelete": "這個圖徵已經被更新,然後從程式被隱藏了。{reason}" }, + "isChanged": "這個圖徵已經改變,而且不再符合這一圖層", "isDeleted": "這圖徵已經刪除", "isntAPoint": "只有節點可以被刪,選取的圖徵是路徑、區域或是關聯。", "loading": "調查屬性來確定是否能刪除這一圖徵。", @@ -50,6 +52,24 @@ "panelIntro": "

你的個人主題

從所有官方主題啟用你喜愛的圖層", "reload": "重新載入資料" }, + "favouritePoi": { + "button": { + "isFavourite": "目前這個位置已經標示為最愛,而且會在所有你瀏覽的 MapComplete 的主題地圖當中顯示。", + "isMarkedShort": "標示為最愛地點", + "isNotMarkedShort": "並沒有標示為最愛", + "markAsFavouriteTitle": "標示這個地點為最愛地點", + "markDescription": "新增這一地點到你個人的最愛", + "unmark": "從你的個人最愛移除", + "unmarkNotDeleted": "這個點不會被刪除而且仍會在適當的地圖為你或其他人顯示" + }, + "downloadGeojson": "以 geojson 下載你的最愛", + "downloadGpx": "以 GPX 下載你的最愛", + "intro": "你標記 {length} 的位置為最愛地點。", + "introPrivacy": "只有你看得到這個清單", + "loginToSeeList": "登入之後觀看你已經標記為最愛的地點", + "tab": "你的最愛與評論", + "title": "你最愛的地點" + }, "flyer": { "aerial": "這份地圖使用不同的背景,是 Agentschap Informatie Vlaanderen 釋出的空照圖", "callToAction": "在 mapcomplete.org 測試", @@ -59,15 +79,55 @@ "ex": "下面顯示經過簡化過的自然保留區的樣貌。", "intro": "使用者取得滿滿圖徽的地圖,只要選擇一個,就會出現圖徽的相關資訊。", "title": "介面長得怎麼樣子?" - } + }, + "examples": "有不少主題地圖,而這邊有顯示一些。\n\n這裡有不少主題地圖有在線上:健康照護、室內導航、無障礙設施、垃圾處理設施、公共飄書站、有彩虹繪製的人行穿越道…在 mapcomplete.org 來探索吧", + "fakeui": { + "add_images": "透過點幾下新增圖片", + "attributes": "透過友善方式顯示署名", + "edit": "有錯誤或是過時的資訊嗎?這裡有編輯按鈕。", + "question": "如果屬或不明的話,MapComplete 會顯示問題", + "see_images": "顯示影像先前的貢獻者,維基百科、Mapillary、…", + "wikipedia": "顯示連結的維基百科條目" + }, + "frontParagraph": "MapComplete 是相當容易新增地理資料到開放街圖的網頁應用程式,能夠以開放、群眾外包與重複使用收集與管理相關資料。\n\n如果要求能夠增加新的分類與屬性。", + "lines_too": "線條與多邊形也會顯示,也可以新增與更新屬性與圖片。", + "mapcomplete": { + "customize": "MapComplete 可以透過新地圖圖層、新功能,或是搭配你所屬組織的顏色和字型等樣式,來打造符合的需求。\n我們也有開始募集地理資料的倡議經驗。\n請聯繫 pietervdvn@posteo.net 來洽詢。", + "intro": "MapComplete 是有 {mapCount} 份互動地圖的網站,每一份地圖允許人新增或更新資訊,並且有許多功能:", + "li0": "顯示 POI 在那裡", + "li1": "加新的點位或是更新既有的點位的資訊", + "li2": "更容易添加聯絡資訊與營運時間", + "li3": "能夠以 iFrame 型式內嵌到其他網站", + "li4": "嵌入有相當多工具可用的開放街圖生態系", + "li5": "有匯入既有資料集的功能", + "li6": "許多先進功能,像是偵測榯木與進階輸入方法", + "li7": "智左權的自由軟體 (GPL 授權) 而且免費使用", + "title": "什麼是 MapComplete?" + }, + "onwheels": "也有輪椅使用者的室內地圖。", + "osm": "開放街圖是任何人基於任何目的,只要標注出處與保持資料是開放的,都可以編輯與再利用的線上地圖。\n\n開放街圖是全世界最大的地理空間資料庫,並且被成千上萬的應用程式與網站使用。", + "tagline": "用開放街圖收集地理資料", + "title": "mapcomplete.org", + "toerisme_vlaanderen": "對於共同專案如 Visit Flanders,「釘選你的點」就會創建。有超過 160 位貢獻者新增上千個長椅與野餐桌,並且觀察到 100 個單車充電站。", + "whatIsOsm": "什麼是開放街圖?" }, "general": { + "404": "這一頁並不存在", "about": "相當容易編輯,而且能為開放街圖新增特定主題", + "aboutMapComplete": { + "intro": "使用 MapComplete 新增開放街圖資訊到單一主題。回答問題,然後在數分鐘內的你的貢獻就散佈到所有地方。大部分的主題都能添加照片或是留下評論。主題維護者則定義元素、問題與語言。" + }, "add": { "addNew": "在這裡新增新的 {category}", - "confirmButton": "在此新增 {category}。
大家都可以看到您新增的內容
", + "backToSelect": "選取不同的分類", + "confirmButton": "新增 {category}
大家都能看到您新增的內容
", + "confirmLocation": "確認這一地點", + "confirmTitle": "新增 {title}?", + "confirmWarning": "你創建的圖徵會被所有人看到,請只加上現實存在的事物,很多應用程式使用這些資料。", + "creating": "正在建立新的點……", "disableFilters": "關閉所有篩選器", "disableFiltersExplanation": "有些圖徵可能被篩選器隱藏", + "enableLayer": "啟用圖層 {name}", "hasBeenImported": "這個圖徵已經被匯入了", "import": { "hasBeenImported": "此物件已匯入", @@ -79,16 +139,16 @@ "zoomInMore": "請再放大來匯入這個圖徵" }, "importTags": "這元素會被加上 {tags}", - "intro": "您點擊處目前未有已知的資料。
", + "intro": "您點擊處目前未有已知的資料。
", "layerNotEnabled": "圖層 {layer} 目前無法使用,請先啟用這圖層再加新的圖徵", "openLayerControl": "開啟圖層控制框", "pleaseLogin": "請先登入來新增圖徵", "presetInfo": "新的興趣點有 {tags}", "stillLoading": "目前仍在載入資料,請稍後再來新增圖徵。", - "title": "新增新的圖徵?", + "title": "新增新的圖徵", "warnVisibleForEveryone": "你新增的東西將會被所有人看到", "wrongType": "這個圖徵並非節點也不是路徑,因此無法匯入", - "zoomInFurther": "放大來新增新的圖徵。", + "zoomInFurther": "放大來新增新的圖徵", "zoomInMore": "再放大來匯入這一圖徵" }, "apply_button": { @@ -96,6 +156,8 @@ "isApplied": "變動已經套用了" }, "attribution": { + "attributionBackgroundLayer": "目前的背景圖層是 {name}", + "attributionBackgroundLayerWithCopyright": "目前的背景圖層是 {name}:{copyright}", "attributionContent": "

所有資料由開放街圖提供,在開放資料庫授權條款之下自由再利用。

", "attributionTitle": "署名通知", "codeContributionsBy": "MapComplete 是由 {contributors} 和其他 {hiddenCount} 位貢獻者構建而成", @@ -110,63 +172,106 @@ "josmOpened": "已經開啟 JOSM", "mapContributionsBy": "目前檢視的資料由 {contributors} 貢獻編輯", "mapContributionsByAndHidden": "目前顯到的資料是由 {contributors} 和其他 {hiddenCount} 位貢獻者編輯貢獻", + "mapDataByOsm": "地圖資料:開放街圖", "mapillaryHelp": "線上服務 Mapillary 能夠以開放授權提供收集到的街景照片。貢獻者能夠採用 Mapillary 照片來改進開放街圖", "openIssueTracker": "提出臭蟲報告", "openMapillary": "開啟 Mapillary", "openOsmcha": "請見 {theme} 的最新編輯", + "seeOnMapillary": "在 Mapillary 觀看這張影像", "themeBy": "由 {author} 維護主題", + "title": "版權與署名", "translatedBy": "MapComplete 由 {contributors} 翻譯,而且還有 {hiddenCount} 更多貢獻者" }, "back": "回去", - "backgroundMap": "背景地圖", + "backToIndex": "回到所有主題地圖的總覽頁面", + "backToMap": "回到地圖", + "backgroundMap": "選擇背景圖層", + "backgroundSwitch": "切換背景", "cancel": "取消", "confirm": "確認", - "customThemeIntro": "

客製化主題

觀看這些先前使用者創造的主題。", + "customThemeIntro": "這些是先前使用者創造的主題。", + "customThemeTitle": "客製化主題", "download": { "downloadAsPdf": "下載目前地圖的 PDF 檔", "downloadAsPdfHelper": "列印當前地圖相當理想", + "downloadAsPng": "下載為圖片", + "downloadAsPngHelper": "很適合放在報告當中", "downloadAsSvg": "下載當前地圖的 SVG", - "downloadAsSvgHelper": "與 Inkscape 或是 Adobe Illustrator 相容,仍需要進一步的處理 ", + "downloadAsSvgHelper": "與 Inkscape 或是 Adobe Illustrator 的相容問題,仍需要進一步的處理", + "downloadAsSvgLinesOnly": "下載目前地圖只含有線條部分為 svg", + "downloadAsSvgLinesOnlyHelper": "自我交叉的線條已經破壞了,能用在一些 3D 軟體", "downloadCSV": "下載可視資料為 CSV", - "downloadCSVHelper": "與 LibreOffice Calc、Excel 等相容", + "downloadCSVHelper": "與 LibreOffice Calc、Excel 等相容…", "downloadFeatureAsGeojson": "下載為 GeoJSON 檔案", "downloadFeatureAsGpx": "下載為 GPX 檔案", - "downloadGeoJsonHelper": "與 QGIS、ArcGIS、ESRI 等相容", + "downloadGeoJsonHelper": "與 QGIS、ArcGIS、ESRI 等相容…", "downloadGeojson": "下載可視資料為 GeoJSON", "downloadGpx": "下載為 GPX 檔案", "downloadGpxHelper": "GPX 檔案能被大部分導航裝置或 app 使用", "exporting": "匯出…", "includeMetaData": "包括 metadata (上次編輯者、計算數值等)", - "licenseInfo": "

著作權聲明

提供的資料採用 ODbL 授權釋出。可以用任何目標再利用資料,但是必須
  • 標明 © 開放街圖貢獻者
  • 任何變動必須採用相同授權
請閱讀完整的 著作權聲明。", - "noDataLoaded": "還未載入資料,之後能夠下載。", - "title": "下載可視的資料", + "licenseInfo": "

著作權聲明

提供的資料採用 ODbL 授權釋出。可以用任何目標再利用資料,但是需
  • 標明 © 開放街圖貢獻者
  • 任何變動必須相同方式授權
請閱讀完整的 著作權聲明。", + "noDataLoaded": "還未載入資料,之後能夠下載", + "pdf": { + "current_view_generic": "匯出目前檢視為 {paper_size} 的 {orientation} 方向 PDF" + }, + "title": "下載", + "toMuch": "有很多圖徵可以下載了", "uploadGpx": "上傳軌跡到開放街圖" }, + "enableGeolocationForSafari": "你沒有看到要求地理位置權限的跳出視窗?", + "enableGeolocationForSafariLink": "學習如何在設定當中啟用地理位置權限", + "eraseValue": "消除這個數值", "error": "發生了狀況", "example": "例子", "examples": "例子", "fewChangesBefore": "請先回答有關既有圖徵的問題再來新增新圖徵。", + "filterPanel": { + "disableAll": "關閉所有", + "enableAll": "啟用所有" + }, + "geopermissionDenied": "使用地理位置要求已經被拒絕", "getStartedLogin": "登入開放街圖帳號來開始", "getStartedNewAccount": " 或是 註冊新帳號", "goToInbox": "開啟訊息框", "histogram": { "error_loading": "無法載入直方圖" }, + "labels": { + "background": "改變背景", + "filter": "篩選資料", + "jumpToLocation": "到你目前的位置", + "menu": "選單", + "zoomIn": "放大", + "zoomOut": "縮小" + }, "layerSelection": { "title": "選擇圖層", "zoomInToSeeThisLayer": "放大來看看這一圖層" }, + "levelSelection": { + "addNewOnLevel": "這個新點位置在幾 {level} 樓?", + "confirmLevel": "是,在 {level} 樓新增 {preset}" + }, "loading": "載入中…", "loadingTheme": "載入 {theme}…", "loginFailed": "登入開放街圖失敗了", - "loginOnlyNeededToEdit": "如果你想要編輯地圖", + "loginFailedOfflineMode": "OpenStreetMap.org 目前因為維護而無法編輯,不久即可以編輯", + "loginFailedReadonlyMode": "OpenStreetMap.org 目前因維護而處於唯讀模式,不久即可以編輯", + "loginFailedUnreachableMode": "OpenStreetMap.org 目前無法連線,你有連線到網路或是受到第三方封鎖?請再試一次", + "loginOnlyNeededToEdit": "如果你想要變動", "loginToStart": "登入之後來回答這問題", "loginWithOpenStreetMap": "用開放街圖帳號登入", "logout": "登出", + "menu": { + "aboutMapComplete": "關於 MapComplete", + "filter": "篩選資料" + }, "morescreen": { "createYourOwnTheme": "從零開始建立你的 MapComplete 主題", + "enterToOpen": "請按輸入來開啟主題", "hiddenExplanation": "這些主題只能透過連結來打開,你已經發現 {total_hidden} 當中 {hidden_discovered} 的隱藏主題。", - "intro": "

看更多主題地圖?

您喜歡蒐集地理資料嗎?
還有更多主題。", + "intro": "

看更多主題地圖?

您喜歡蒐集地理資料嗎?
還有更多主題。", "noMatchingThemes": "沒有找到符合的主題", "noSearch": "顯示所有主題", "previouslyHiddenTitle": "先前看過隱藏的主題", @@ -176,26 +281,42 @@ }, "nameInlineQuestion": "這個 {category} 的名稱是 $$$", "next": "下一項", + "noMatchingMapping": "沒有符合搜尋的結果…", "noNameCategory": "{category} 沒有名稱", "noTagsSelected": "沒有選取標籤", "notValid": "選擇有效的值來繼續", "number": "號碼", "openStreetMapIntro": "

開放的地圖

如果有一份地圖,任何人都能使用與自由編輯,單一的地圖能夠儲存所有地理相關資訊。不同的、範圍小的,不相容甚至過時不再被需要的地圖。

開放街圖不是敵人的地圖,人人都能自由使用這些圖資, (只要署名與公開變動這資料)。任何人都能新增新資料與修正錯誤,這些網站也用開放街圖,資料也都來自開放街圖,你的答案與修正也會加被用到/p>

許多人與應用程式已經採用開放街圖了:Organic MapsOsmAnd,還有 Facebook、Instagram,蘋果地圖、Bing 地圖(部分)採用開放街圖。

", "openTheMap": "開啟地圖", + "openTheMapAtGeolocation": "縮放到你的位置", "opening_hours": { + "all_days_from": "每天都有營業 {ranges}", "closed_permanently": "不清楚關閉多久了", "closed_until": "{date} 起關閉", + "error": "無法解析營業時間", "error_loading": "錯誤:無法視覺化開放時間。", + "friday": "星期五時 {ranges}", "loadingCountry": "決定國家…", + "monday": "星期一時 {ranges}", "not_all_rules_parsed": "這間店的開放時間相當複雜,在輸入元素時忽略接下來的規則:", + "on_weekdays": "週間營業 {ranges}", + "on_weekends": "週末營業 {ranges}", "openTill": "結束時間", "open_24_7": "24小時營業", "open_during_ph": "國定假日的時候,這個場所是", "opensAt": "開始時間", "ph_closed": "無營業", "ph_not_known": " ", - "ph_open": "有營業", - "ph_open_as_usual": "如同先前狀況開啟" + "ph_open": "營業中", + "ph_open_as_usual": "如同先前狀況營業中", + "ranges": "從 {starttime} 到 {endtime}", + "rangescombined": "{range0} 與 {range1}", + "saturday": "星期六時 {ranges}", + "sunday": "星期日時 {ranges}", + "thursday": "星期四時 {ranges}", + "tuesday": "星期二時 {ranges}", + "unknown": "營業時間未知", + "wednesday": "星期三時 {ranges}" }, "osmLinkTooltip": "在開放街圖歷史和更多編輯選項下面來瀏覽這物件", "pdf": { @@ -204,12 +325,24 @@ "generatedWith": "用 mapcomplete.org/{layoutid} 產生的", "versionInfo": "v{version} - {date} 產生的" }, - "pickLanguage": "選擇語言: ", + "pickLanguage": "選擇語言", "poweredByOsm": "由開放街圖資料驅動", + "questionBox": { + "answeredMultiple": "你回答 {answered} 問題", + "answeredMultipleSkippedMultiple": "你回答 {answered} 問題與跳過 {skipped} 問題", + "answeredMultipleSkippedOne": "你回答 {answered} 問題與跳過一個問題", + "answeredOne": "你回答一個問題了", + "answeredOneSkippedMultiple": "你回答一個問題並且跳過 {skipped} 問題", + "answeredOneSkippedOne": "你回答一個以及跳過一個問題", + "done": "沒有更多問題!謝謝你!", + "reactivate": "重新回答跳過問題", + "skippedMultiple": "你跳過 {skipped} 問題", + "skippedOne": "你跳過一個問題" + }, "questions": { "emailIs": "{category} 的電子郵件地址是{email}", "emailOf": "{category} 的電子郵件地址是?", - "phoneNumberIs": "此 {category} 的電話號碼為 {phone}", + "phoneNumberIs": "此 {category} 的電話號碼為 {phone}", "phoneNumberOf": "{category} 的電話號碼是?", "websiteIs": "網站:{website}", "websiteOf": "{category} 的網站網址是?" @@ -223,18 +356,96 @@ "error": "有狀況發生了…", "nothing": "沒有找到…", "search": "搜尋地點", + "searchShort": "搜尋…", "searching": "搜尋中…" }, + "searchAnswer": "搜尋選項…", + "share": "分享", "sharescreen": { "copiedToClipboard": "複製連結到簡貼簿", - "embedIntro": "

嵌入到你的網站

請考慮將這份地圖嵌入您的網站。
地圖毋須額外授權,非常歡迎您多加利用。
一切都是免費的,而且之後也是免費的,越有更多人使用,則越顯得它的價值。", + "documentation": "要知道更多可以用的網址參數,參考這份文章", + "embedIntro": "

嵌入到你的網站

請考慮將這份地圖嵌入您的網站。
地圖毋須額外授權,非常歡迎您多加利用。
一切都是免費的,而且之後也是免費的,越有更多人使用,則越顯得它的價值。", "fsUserbadge": "啟用登入按鈕", "fsWelcomeMessage": "顯示歡迎訊息以及相關頁籤", "intro": "

分享這地圖

複製下面的連結來向朋友與家人分享這份地圖:", - "thanksForSharing": "感謝分享!" + "thanksForSharing": "感謝分享!", + "title": "分享這份地圖" }, "skip": "跳過這問題", "testing": "測試 - 改變還沒有儲存", + "uploadError": "上傳時發生錯誤:{error}", + "uploadGpx": { + "choosePermission": "選擇以下你的軌跡如何分享:", + "confirm": "確認上傳", + "gpxServiceOffline": "GPS 服務目前離線 - 目前無法上傳,請再試一次。", + "intro0": "藉由上傳你的軌跡,OpenStreetMap.org 會有你軌跡完整的複製品。", + "intro1": "你需要再次上傳你的軌跡,並且載入開放街圖編輯軟體", + "meta": { + "descriptionIntro": "選擇性,你可以為你的軌跡加上敘述:", + "descriptionPlaceHolder": "為你的軌跡輸入描述", + "intro": "為你的軌跡加上標題:", + "title": "標題與描述", + "titlePlaceholder": "輸入你軌跡的標題" + }, + "modes": { + "private": { + "docs": "你軌跡的點會被分享出去,並且與其他軌跡整合。你能看到完整的軌跡,並且載入到其他編輯軟體。OpenStreetMap.org 保留你的軌跡", + "name": "暱名" + }, + "public": { + "docs": "你的軌跡會被所有人看到,在 openstreetmap.org 上包括你的使用者檔案與 GPS 軌跡列表", + "name": "公開" + } + }, + "title": "上傳你的軌跡到 OpenStreetMap.org", + "uploadFinished": "已經上傳你的軌跡了!", + "uploading": "更新你的蹤跡…" + }, + "uploadPending": "{count} 個變動仍在等候中", + "uploadPendingSingle": "一個變動等待中", + "uploadingChanges": "上傳變動…", + "useSearch": "採用下面的搜尋來看到更多選項", + "visualFeedback": { + "closestFeaturesAre": "檢視當中有 {n} 個圖徵。", + "directionsAbsolute": { + "E": "東方", + "N": "北方", + "NE": "東北方", + "NW": "西北方", + "S": "南方", + "SE": "東南方", + "SW": "西南方", + "W": "西方" + }, + "directionsRelative": { + "behind": "在你背後", + "left": "左邊", + "right": "右邊", + "sharp_left": "急轉左邊", + "sharp_right": "急轉右邊", + "slight_left": "稍微左邊", + "slight_right": "稍微右邊", + "straight": "直行" + }, + "east": "往東方移動", + "fromGps": "你的位置 {direction} {distance}", + "fromMapCenter": "地圖中心的 {direction} {distance}", + "in": "縮放到 {z} 層級", + "islocked": "鎖定檢視位置到你的 GPS 位置,停用移動,請按地理位置按鈕來解鎖。", + "locked": "鎖定檢視位置到你的 GPS 位置,停用移動。", + "navigation": "使用鍵頭來移動地圖,按空白鍵來選擇最近的圖徵。請按數字來選擇稍遠的位置。", + "noCloseFeatures": "檢視當中沒有圖徵。", + "north": "向北方移動", + "oneFeatureInView": "檢視當中有一個圖徵。", + "out": "縮小到層級 {z}", + "south": "向南方移動", + "unlocked": "允許移動。", + "viewportCenterCloseToGps": "地圖已經在你位置置中。", + "viewportCenterDetails": "檢視中心離你位置 {bearing} 有 {distance} 遠。", + "west": "向西方移動" + }, + "waitingForGeopermission": "等待你允許來使用地理位置…", + "waitingForLocation": "搜尋你目前位置…", "weekdays": { "abbreviations": { "friday": "星期五", @@ -253,12 +464,13 @@ "tuesday": "星期二", "wednesday": "星期三" }, - "welcomeBack": "你已經登入了,歡迎回來!", + "welcomeBack": "歡迎回來!", "welcomeExplanation": { "addNew": "點一下地圖來新增新興趣點。", "general": "在這份地圖,你可以檢視、編輯與新增興趣點。在附近放大來檢視興趣點,點一個來檢視或是編輯資訊。所有資料來源以及儲存到開放街圖,能夠自由被再利用。" }, "wikipedia": { + "addEntry": "新增其他維基媒體頁面", "createNewWikidata": "新增新的的 Wikidata 項目", "doSearch": "搜尋來檢視結果", "failed": "無法載入維基百科頁面", @@ -270,19 +482,67 @@ "born": "出生:{value}", "died": "死亡:{value}" }, + "readMore": "閱讀剩下的條目內容", "searchToShort": "你的搜尋檢索太短了,請輸入長一點的文字", "searchWikidata": "在 Wikidata 搜尋", "wikipediaboxTitle": "維基百科" } }, + "hotkeyDocumentation": { + "action": "行動", + "closeSidebar": "關閉側邊欄", + "geolocate": "平移地圖或是縮放地圖到目前位置,請求地理位置權限", + "intro": "MapComplete 支持下列的鍵:", + "key": "鍵組合", + "openFilterPanel": "開啟 POI 圖層與篩選面板", + "openLayersPanel": "開啟背景圖層面板", + "queryCurrentLocation": "顯示最接近地圖中心的地址", + "selectAerial": "設定背景為空照或衛星影像。在兩個最佳的,可用的圖層切換", + "selectFavourites": "開啟最愛頁面", + "selectItem": "選擇最接近地圖中心(十字)的 POI,只有鍵盤瀏覽時才使用", + "selectItem2": "選擇第二接近地圖中心(十字)的 POI,只有鍵盤瀏覽才會使用", + "selectItem3": "選擇第三接近地圖中心(十字)的 POI,只有在鍵盤瀏覽時才使用", + "selectItemI": "選擇第 {i} 接近地圖中心(十字)的 POI,只有在鍵盤瀏覽時才使用", + "selectMap": "從外部來源設定地圖的背景,切換兩個最佳可用的圖層", + "selectMapnik": "設定背景圖層為 OpenStreetMap-carto", + "selectOsmbasedmap": "設定背景圖層以開放街圖為基準地圖 (或是停用背景點陣圖層)", + "selectSearch": "選擇搜尋欄位的搜尋位置", + "shakePhone": "晃動你的手機", + "title": "快速鍵", + "translationMode": "啟用翻譯模組的開關" + }, "image": { "addPicture": "新增圖片", + "currentLicense": "你的圖片會以 {license} 釋出", "doDelete": "移除圖片", "dontDelete": "取消", "isDeleted": "已移除", + "nearby": { + "close": "以附近圖片收起面板", + "link": "這個圖片顯示物物", + "noNearbyImages": "附近沒有找到圖片", + "seeNearby": "瀏覽與連結附近圖片", + "title": "附近的街景影像" + }, "pleaseLogin": "請登入以新增圖片", "respectPrivacy": "請別照人像或是車牌,不要上傳 Google 地圖、Google 街景或其他受版權保護的資料來源。", "toBig": "{actual_size} 因此照片太大,請使用最大 {max_size} 的照片", + "upload": { + "failReasons": "你也許已經失去網路連線", + "failReasonsAdvanced": "另一個方式,請確認瀏覽器與外掛沒有擋掉第三方 API。", + "multiple": { + "done": "{count} 影像已經成功上傳,感謝你!", + "partiallyDone": "{count} 影像已經上傳,{done} 影像已經處理了…", + "someFailed": "抱歉,我們無法上傳 {count} 影像", + "uploading": "{count} 影像已經上傳…" + }, + "one": { + "done": "你的影像已經成功上傳,謝謝你!", + "failed": "抱歉,我們無法上傳你的影像", + "retrying": "你的影像再次上傳 …", + "uploading": "你的影像已經上傳了…" + } + }, "uploadDone": "已經新增你的照片,謝謝你的協助!", "uploadFailed": "無法上傳您的圖片。您是否已連線至網際網路,並允許第三方 API?Brave 瀏覽器或 uMatrix 外掛程式都可能會封鎖它們。", "uploadMultipleDone": "已經新增 {count} 圖片,謝謝你的幫忙!", @@ -328,7 +588,8 @@ "partOfRelation": "這個圖徵是關聯的一部分,請用其他編輯器來移動。", "pointIsMoved": "這個點已經被移動了", "reasons": { - "reasonInaccurate": "這個物件的位置並不準確,應該移動個幾公尺" + "reasonInaccurate": "這個物件的位置並不準確,應該移動個幾公尺", + "reasonRelocation": "你的物件已經移動到完全不同的位置" }, "selectReason": "為什麼你移動這個物件?", "whyMove": "為什麼你想要移動這個點?", @@ -347,6 +608,7 @@ "createNote": "新增新註解", "createNoteIntro": "地圖有什麼錯誤或缺漏的嗎?這裡新增註解,之後會由志工來檢查。", "createNoteTitle": "在這裡新增註解", + "creating": "新增註解…", "disableAllNoteFilters": "關閉所有篩選", "isClosed": "這個註解已經解決了", "isCreated": "你的註解已經創建了!", @@ -364,6 +626,30 @@ "typeText": "輸入些文字來新增評論", "warnAnonymous": "你還未登入,我們無法聯繫你來解決你的問題。" }, + "plantDetection": { + "back": "回到物種總纜", + "button": "自動用 Plantnet.org 的 AI 來偵測植物的物種", + "confirm": "選擇物種", + "done": "已經套用這物種", + "error": "偵測樹林所屬物種出錯:{error}", + "howTo": { + "intro": "為了最佳結果,", + "li0": "將樹林放在中間拍照,並且盡可能不要有背景", + "li1": "拍攝單一葉片的照片", + "li2": "拍攝有樹幹的照片", + "li3": "拍攝花朵的照片" + }, + "loadingWikidata": "載入 {species} 的資訊…", + "matchPercentage": "{match}% 吻合", + "overviewIntro": "plantnet.org 的 AI 認為照片中是以下的物種。", + "overviewTitle": "自動偵測物種", + "overviewVerify": "請驗證是否是正確的物種,以及連結到樹木", + "poweredByPlantnet": "由 plantnet.org 驅動", + "querying": "檢索 plantnet.org 上的 {length} 圖片", + "seeInfo": "檢視更多物種有關的資訊", + "takeImages": "拍攝樹木照片來自動偵測樹木類型", + "tryAgain": "選擇不同物種" + }, "privacy": { "editing": "當你對地圖變動時,這些變動會存在開放街圖並且是公開給所有人。採用 MapComplete 的編輯變動包括以下資料:
  • 你做的變動
  • 你的使用者名稱
  • 你在什麼時間做的變動
  • 當你做出變動時使用的主題
  • 使用者介面語言
  • 你會多接近時變動物件的指示。其他的圖客可以用這些資訊來決定是否是居於踏查還是遠端研究
請參考OpenStreetMap.org的隱私政策來取得更多資訊。我們也提醒你註冊帳號時能夠採用假名。", "editingTitle": "當做出變動", @@ -381,15 +667,32 @@ "reviews": { "affiliated_reviewer_warning": "(關係者審核)", "attribution": "評審系統由Mangrove Reviews提供技術支援,採用CC-BY 4.0授權條款。", - "i_am_affiliated": "我是這物件的相關關係者
確認你是否是擁有者、創造者、員工等等", + "averageRating": "平均評分 {n} 顆星", + "i_am_affiliated": "我是這物件的相關關係者", + "i_am_affiliated_explanation": "檢查你是否是店主、創造者或是員工…", "name_required": "需要有名稱才能顯示和創造審核", "no_reviews_yet": "還沒有審核,當第一個撰寫者來幫助開放資料與商家吧!", - "saved": "已儲存審核,謝謝你的分享!", + "non_place_review": "並未顯示一篇與地點無關的評論。", + "non_place_reviews": "並未顯示 {n} 篇與地點無關的評論。", + "question": "你會怎麼評分 {title()} ?", + "question_opinion": "你的體驗如何?", + "rate": "評分 {n} 顆星", + "rated": "評分 {n} 顆星", + "reviewPlaceholder": "描述你的經驗…", + "reviewing_as": "以 {nickname} 評鑑", + "reviewing_as_anonymous": "暱名評鑑", + "reviews_bug": "預期更多評鑑嗎?有些評鑑因為臭蟲無法顯示。", + "save": "儲存評鑑", + "saved": "已經儲存評鑑,謝謝你的分享!", "saving_review": "儲存中…", + "see_all": "查看您在 mangrove.reviews 上的所有評論", "title": "{count} 審核次數", "title_singular": "一次審核", + "too_long": "最多允許 {max} 字元,你的評鑑有 {amount} 字元。", "tos": "如果你創建審核,你同意TOS 與 Mangrove.reviews 的隱私權政策", - "write_a_comment": "留下審核…" + "write_a_comment": "留下審核…", + "your_reviews": "你先前的評鑑", + "your_reviews_empty": "我們無法找到任何你先前的評鑑" }, "split": { "cancel": "取消", @@ -397,7 +700,8 @@ "inviteToSplit": "分割這道路比較小的片段,讓不同道路能有不同的屬性。", "loginToSplit": "你必須登入才能分割道路", "split": "分開", - "splitTitle": "請在地圖選擇要在那裡分割道路" + "splitAgain": "再次切割道路", + "splitTitle": "請在地圖選擇要在那裡變更道路屬性" }, "translations": { "activateButton": "協助翻譯 MapComplete", @@ -405,6 +709,14 @@ "missing": "{count} 未翻譯字串", "notImmediate": "翻譯不會直接更新,通常會需要幾天時間" }, + "userinfo": { + "editDescription": "編輯你的個人檔敘述", + "gotoInbox": "開啟你的收件夾", + "gotoSettings": "到你的 OpenStreetMap.org 設定", + "noDescription": "你的個人檔還沒有敘述", + "noDescriptionCallToAction": "新增個人檔敘述", + "notLoggedIn": "你已經登出了" + }, "validation": { "color": { "description": "顏色或是色碼" @@ -423,10 +735,21 @@ "feedback": "這不是有效的 email 地址", "noAt": "email 地址應當含有 @" }, + "fediverse": { + "description": "聯邦宇宙格式,通常是 @user@server.tld", + "feedback": "聯邦宇宙格式為 @username@server.tld 或是個人檔的連結", + "invalidHost": "{host} 不是有效的伺服器名稱", + "onYourServer": "觀看與追隨你的伺服器" + }, "float": { "description": "數字", "feedback": "這不是數字" }, + "id": { + "description": "一個識別碼", + "invalidCharacter": "編號可以只有字母、數字或是底線", + "shouldBeLonger": "編號至少需要3個字母的長度" + }, "int": { "description": "全部的數字" }, @@ -444,12 +767,17 @@ }, "phone": { "description": "電話號碼", - "feedback": "這不是有效的電話號碼" + "feedback": "這不是有效的電話號碼", + "feedbackCountry": "這不是有效的電話號碼 (對國家 {country} 來說)" }, "pnat": { "description": "正數、整數", "noZero": "並不允許零" }, + "slope": { + "inputExplanation": "將你手機放在地上,並且指向上坡方向。", + "inputIncorrect": "為了得到正確的測量數據,請確定箭頭在綠色區域內。" + }, "string": { "description": "一段文字" }, @@ -462,7 +790,9 @@ "feedback": "這不是有效的網址" }, "wikidata": { - "description": "Wikidata 編號" + "description": "Wikidata 編號", + "empty": "請輸入一些 Wikidata 項目", + "startsWithQ": "維基數據編號以 Q 開頭後面接數字" } } } diff --git a/package-lock.json b/package-lock.json index 90c230075..26f3f9b4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,15 @@ { "name": "mapcomplete", - "version": "0.38.1", + "version": "0.41.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.38.1", + "version": "0.41.4", "license": "GPL-3.0-or-later", "dependencies": { + "@comunica/query-sparql": "^2.10.2", "@rgossiaux/svelte-headlessui": "^1.0.2", "@rgossiaux/svelte-heroicons": "^0.1.2", "@rollup/plugin-typescript": "^11.0.0", @@ -23,7 +24,9 @@ "@types/pg": "^8.10.9", "@types/qrcode-generator": "^1.0.6", "@types/showdown": "^2.0.0", + "buffer": "^6.0.3", "chart.js": "^3.8.0", + "comunica": "^2.0.0", "country-language": "^0.1.7", "country-to-currency": "^1.0.10", "crypto": "^1.0.1", @@ -46,7 +49,7 @@ "libphonenumber-js": "^1.10.8", "lz-string": "^1.4.4", "mangrove-reviews-typescript": "^1.1.0", - "maplibre-gl": "^3.5.0", + "maplibre-gl": "^4.1.1", "monaco-editor": "^0.46.0", "nano-markdown": "^1.2.2", "opening_hours": "^3.6.0", @@ -57,6 +60,7 @@ "pbf": "^3.2.1", "pg": "^8.11.3", "pic4carto": "^2.1.15", + "pmtiles": "^3.0.5", "prompt-sync": "^4.2.0", "qrcode-generator": "^1.4.4", "showdown": "^2.1.0", @@ -1628,6 +1632,8874 @@ "node": ">=6.9.0" } }, + "node_modules/@bergos/jsonparse": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@bergos/jsonparse/-/jsonparse-1.4.1.tgz", + "integrity": "sha512-vXIT0nzZGX/+yMD5bx2VhTzc92H55tPoehh1BW/FZHOndWGFddrH3MAfdx39FRc7irABirW6EQaGxIJYV6CGuA==", + "engines": [ + "node >= 0.2.0" + ], + "dependencies": { + "buffer": "^6.0.3" + } + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@comunica/actor-abstract-parse": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-parse/-/actor-abstract-parse-2.10.0.tgz", + "integrity": "sha512-0puCWF+y24EDOOAUUVVbC+tOf4UV+LzEbqi8T5v25jcVGCXyTqfra+bDywfrcv3adrVp18jLCJ46ycaH5xhy9Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-abstract-parse/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-abstract-parse/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-abstract-parse/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-abstract-path": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-path/-/actor-abstract-path-2.10.1.tgz", + "integrity": "sha512-+k1ltuUuIyn4iUm5oRMObyt2zhu68h7ymzxuKU4ezATlgwfwj6EM7/3W2n2/gxjg9tcFMr5GC6aNnFQmq3Iuig==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-abstract-path/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-abstract-path/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-abstract-path/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-abstract-path/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-abstract-path/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-abstract-path/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-context-preprocess-source-to-destination": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-context-preprocess-source-to-destination/-/actor-context-preprocess-source-to-destination-2.10.0.tgz", + "integrity": "sha512-sQc42Sd4cuVumZ9+PDnWBTBYneqCFShFliK8Et83GR3wBGzu9x0tS/M2o3e63sBbb6ZkWHyO5jl/O8AbrjhcTg==", + "dependencies": { + "@comunica/bus-context-preprocess": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-context-preprocess-source-to-destination/node_modules/@comunica/bus-context-preprocess": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-context-preprocess/-/bus-context-preprocess-2.10.0.tgz", + "integrity": "sha512-eJ5CkzbnmxB9fkr2F05jnnjcaowp+yxd0+pAtvx5MLl2Kpx3nWLqHPcl4/EVVDPD+i0TEkq4AXQ1BD9BMuXK0A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-context-preprocess-source-to-destination/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-context-preprocess-source-to-destination/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-context-preprocess-source-to-destination/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-dereference-fallback": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-fallback/-/actor-dereference-fallback-2.10.0.tgz", + "integrity": "sha512-RSc/ScPdC7l13aZjz/6r4niWA8WDETbzuESQKKSWXi/HAlFOyOxdrDADdayVY2oyeZHIQibeNRtSi2ItzU7OPQ==", + "dependencies": { + "@comunica/bus-dereference": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-dereference-fallback/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-dereference-fallback/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-dereference-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-http/-/actor-dereference-http-2.10.2.tgz", + "integrity": "sha512-gdDo83W1TAgD2jx0kVbzZKzzt++L4Y4fbyTOH3duy6vx1EMGGZlNCp6I1uguepKEjNX4N0zhAcZzdJcv8A3XMA==", + "dependencies": { + "@comunica/bus-dereference": "^2.10.0", + "@comunica/bus-http": "^2.10.2", + "@comunica/core": "^2.10.0", + "cross-fetch": "^4.0.0", + "relative-to-absolute-iri": "^1.0.7", + "stream-to-string": "^1.2.0" + } + }, + "node_modules/@comunica/actor-dereference-http/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-dereference-http/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-dereference-http/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-dereference-rdf-parse": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-rdf-parse/-/actor-dereference-rdf-parse-2.10.0.tgz", + "integrity": "sha512-ANWL6Bv+2WHUjVRS7hfkOfVBNJs8xYZ9KHlgBOQ94CKtQZB9uSMjdb1hLp/cQjiDmFIWLn0+GM5Xi0KFwBkVAw==", + "dependencies": { + "@comunica/bus-dereference": "^2.10.0", + "@comunica/bus-dereference-rdf": "^2.10.0", + "@comunica/bus-rdf-parse": "^2.10.0" + } + }, + "node_modules/@comunica/actor-hash-bindings-sha1": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-hash-bindings-sha1/-/actor-hash-bindings-sha1-2.10.0.tgz", + "integrity": "sha512-f981PcCiDWbdZfM1ct1v1q/VII14y18lo1enEdHB25SF0hCkzIDwh9IrfDfJDju5I6luSWNE/MYMMeAAmF9e3g==", + "dependencies": { + "@comunica/bus-hash-bindings": "^2.10.0", + "@comunica/core": "^2.10.0", + "canonicalize": "^2.0.0", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-hash-bindings-sha1/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-hash-bindings-sha1/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-hash-bindings-sha1/node_modules/canonicalize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", + "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" + }, + "node_modules/@comunica/actor-http-fetch": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-fetch/-/actor-http-fetch-2.10.2.tgz", + "integrity": "sha512-siHGx0TMVNb2gXvOroq0B3JE6uuS+4s+MsDkntqdBNVigwVYqLpNSKEaL5is8pputFfohJfDQY06lAHbfDNEcw==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-time": "^2.10.0", + "abort-controller": "^3.0.0", + "cross-fetch": "^4.0.0" + } + }, + "node_modules/@comunica/actor-http-fetch/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-http-fetch/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-http-fetch/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-http-fetch/node_modules/@comunica/mediatortype-time": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-time/-/mediatortype-time-2.10.0.tgz", + "integrity": "sha512-nBz1exxrja1Tj8KSlSevG4Hw2u09tTh6gtNfVjI76i/e7muu4RUWVhi9b8PcwBNAfuUqRl+5OgOSa2X4W+6QlA==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-http-fetch/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-http-wayback": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-wayback/-/actor-http-wayback-2.10.2.tgz", + "integrity": "sha512-wjYNXRrJvMqt9paO3HawyM+O5/14ofSHFuMAwGr/UyZQ5pCSFkY0YPd+qp9y8C4xvypPgsvT3PtiRyKgjD4FWw==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "cross-fetch": "^4.0.0", + "stream-to-string": "^1.2.0" + } + }, + "node_modules/@comunica/actor-http-wayback/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-http-wayback/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-http-wayback/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-http-wayback/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-bgp-to-join": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-bgp-to-join/-/actor-optimize-query-operation-bgp-to-join-2.10.0.tgz", + "integrity": "sha512-M9vwM4a3VQA/ir8Q7eGRNzzx52u6RJFIXBW8p+Zkn+zv+4fsket3zLYJGhJU7dcvaSXcOi68rDP/r8KfgNXr4Q==", + "dependencies": { + "@comunica/bus-optimize-query-operation": "^2.10.0", + "@comunica/core": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-bgp-to-join/node_modules/@comunica/bus-optimize-query-operation": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-bgp-to-join/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-bgp-to-join/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-join-bgp": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-join-bgp/-/actor-optimize-query-operation-join-bgp-2.10.0.tgz", + "integrity": "sha512-tzZojWPbWn/S0DZGjGfV90ZRJVWT/yX3DKGgZ1ur33U5TW8n/fBQxHNMPCLu0GkMQ1dyx6bU+ekILTqm+21Jyw==", + "dependencies": { + "@comunica/bus-optimize-query-operation": "^2.10.0", + "@comunica/core": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-join-bgp/node_modules/@comunica/bus-optimize-query-operation": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-join-bgp/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-join-bgp/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-join-connected": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-join-connected/-/actor-optimize-query-operation-join-connected-2.10.0.tgz", + "integrity": "sha512-RsbKIAxX1HyoR/AUzqIV++dTcLiEElRIVDHYTaXVVvGgHECYdh9s+oc8cvv/lDbLVpfnc6P9C9BTAfrqOjKkhA==", + "dependencies": { + "@comunica/bus-optimize-query-operation": "^2.10.0", + "@comunica/core": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-join-connected/node_modules/@comunica/bus-optimize-query-operation": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-join-connected/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-optimize-query-operation-join-connected/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-ask": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-ask/-/actor-query-operation-ask-2.10.1.tgz", + "integrity": "sha512-7oktqE4fkMhi6Hs9XCcwwoZRsEismVqJZ5wp9lXXOPaxnHEiFyj5gb/B6baCstoCvCt6LcU8fVvfHSitbFCpeQ==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-ask/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-ask/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-ask/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-ask/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-ask/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-ask/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-join": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-bgp-join/-/actor-query-operation-bgp-join-2.10.1.tgz", + "integrity": "sha512-eNpnvgFyKlZEHkMzubYL8ndADSsAQH4rwXvh22CGnf0FwyndHr6TEpmE6j77m9vXiSJ/lda0U3Zv4vIXvtREOw==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-join/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-join/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-join/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-join/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-join/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-bgp-join/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-construct": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-construct/-/actor-query-operation-construct-2.10.1.tgz", + "integrity": "sha512-S+Nt1+1psv01QRnfytZjiog2NBNHIbjr7XIv+MO3p6aVmLCoZ6lmjxSGNdbX+EmcGr7tbbafXK5z3zRM+ke8Mw==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-construct/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-construct/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-construct/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-construct/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-construct/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-construct/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-describe-subject": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-describe-subject/-/actor-query-operation-describe-subject-2.10.1.tgz", + "integrity": "sha512-E8i0M6haJ5iZVeHMn5PbvA4G+l87mcZKqIxVpYAnJVpD667F74Dkx3IMbk+ohRmyRmnkOEmztUrjeyixHHzUEQ==", + "dependencies": { + "@comunica/actor-query-operation-union": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-describe-subject/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-describe-subject/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-describe-subject/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-describe-subject/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-describe-subject/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-describe-subject/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-distinct-hash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-distinct-hash/-/actor-query-operation-distinct-hash-2.10.1.tgz", + "integrity": "sha512-exvJbgcJ0Pe4EGbLJD5LuGpvaGcFeckCxwB5pyd9OewNke+tLLP7nbEjB8KFEPpCO9LE7zt4faB1HvpJdEHQKQ==", + "dependencies": { + "@comunica/bus-hash-bindings": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-distinct-hash/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-distinct-hash/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-distinct-hash/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-distinct-hash/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-distinct-hash/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-distinct-hash/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-extend": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-extend/-/actor-query-operation-extend-2.10.1.tgz", + "integrity": "sha512-wkZxUfDu8T5lXD+OFLItmjjbnEBqtv0z8pxVKgI/gX8mOeu5KcPWLH0dJODTWoIzIYrJhV25FmCgBks1rt6K8w==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-extend/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-extend/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-extend/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-extend/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-extend/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-extend/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-filter-sparqlee": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-filter-sparqlee/-/actor-query-operation-filter-sparqlee-2.10.1.tgz", + "integrity": "sha512-w2PnDNnlf+9B947ZdeSs7NpW9qGJjRiuODZYwhh0e6cx89GPDhEDVuJwawF6VP3m/oLcgXOAdif0Wwo3d8KNAA==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-filter-sparqlee/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-filter-sparqlee/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-filter-sparqlee/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-filter-sparqlee/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-filter-sparqlee/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-filter-sparqlee/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-from-quad": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-from-quad/-/actor-query-operation-from-quad-2.10.1.tgz", + "integrity": "sha512-7D4R8ONNJJPzoRu96dwIToOEk6/3O/T26FRzCqQKrbjFHNkX2v92KA/SiDzNz59VmDNWjYF1rsV31Ade6J89MA==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-from-quad/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-from-quad/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-from-quad/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-from-quad/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-from-quad/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-from-quad/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-group": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-group/-/actor-query-operation-group-2.10.1.tgz", + "integrity": "sha512-Od5s9Vb6uDPzXa6OAUC1WSMF96spNPJI2Zqf0Ixejw4zCNevOK/VwHivYfF0vHIUZxjRrOl3Al1ZU9L8n5Wxlw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-hash-bindings": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-group/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-group/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-group/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-group/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-group/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-group/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-join": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-join/-/actor-query-operation-join-2.10.1.tgz", + "integrity": "sha512-CGed1nSPvKsM8rvj/4KFME0lLnzlDMMEU+xGczu+BZW4FK+Z6RyBtHIUmy8SgFvNP1GXz83q8KnoecF5z8IpjA==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-join/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-join/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-join/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-join/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-join/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-join/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-leftjoin": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-leftjoin/-/actor-query-operation-leftjoin-2.10.1.tgz", + "integrity": "sha512-j0RwdoiV2WsCQnxcSa//m5FZ+ZHDRBm6ObsgpqS44WxzpV8rIB6Dq/3UxGgE7D2vK400JaiiHa3dFiHTwDF18w==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-leftjoin/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-leftjoin/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-leftjoin/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-leftjoin/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-leftjoin/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-leftjoin/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-minus": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-minus/-/actor-query-operation-minus-2.10.1.tgz", + "integrity": "sha512-rUvHbc5/EUWMSJUgOEtxabCJ9IT9YThuG0FhcQk+BGRPGmsv2oz8uri5urKgCjfVXMH/09hRZksiDMqrmkQmZw==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-minus/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-minus/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-minus/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-minus/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-minus/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-minus/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-nop": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-nop/-/actor-query-operation-nop-2.10.1.tgz", + "integrity": "sha512-l/Z8Uuoq3AlSoxkgYjrP7O7Xc9h8Y3ZOh0f7UKCuAST3U5vPQ3k1YJckrRtdli8s0NHptN9TfZjwviEHuYbDFQ==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-nop/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-nop/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-nop/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-nop/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-nop/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-nop/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-operation-nop/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-orderby-sparqlee": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-orderby-sparqlee/-/actor-query-operation-orderby-sparqlee-2.10.1.tgz", + "integrity": "sha512-8D2JmCsBtqJC29zfiaAXNzZdsKybhDFo2F8iTHul3nQHxBC2CeKDrBnY70B/HpbWxkDE+pwMfSTEFc/CvNZN6A==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-orderby-sparqlee/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-orderby-sparqlee/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-orderby-sparqlee/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-orderby-sparqlee/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-orderby-sparqlee/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-orderby-sparqlee/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-alt": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-alt/-/actor-query-operation-path-alt-2.10.1.tgz", + "integrity": "sha512-y1AHtkibThqHve79wAriXqrZ6hdLBhcdwyOpVqqEhY19a32P97Xv58bOwOkNeLguYdn/5CFlCTHz6dnzxUIoXg==", + "dependencies": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/actor-query-operation-union": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-alt/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-path-alt/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-alt/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-alt/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-alt/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-path-alt/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-inv": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-inv/-/actor-query-operation-path-inv-2.10.1.tgz", + "integrity": "sha512-pd30Ug7bOAZ5amfA3I6v+cpitlDn2i5fE1BA006LYJISCAHSfKEgLmU2Q4ZPbwi4s1A8WKKLV7Q389Ru3Xtziw==", + "dependencies": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-inv/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-path-inv/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-inv/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-inv/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-inv/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-path-inv/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-link": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-link/-/actor-query-operation-path-link-2.10.1.tgz", + "integrity": "sha512-akujCHvCLmxaZ3gw9b1odDcqqAQnbbr9E8dTWLZyMJ4Mei8q/FmfWTF5MjGuQOas4UmQ3mm6gcqAKRZnJqlXNg==", + "dependencies": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-link/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-path-link/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-link/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-link/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-link/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-path-link/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-nps": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-nps/-/actor-query-operation-path-nps-2.10.1.tgz", + "integrity": "sha512-5X3EUzn6Cygz94gNn1XWQQUZVp+de59sw8/rxPQqgwzdi1Y1O9zrLv+/7GqMJoLz6MHmDSgsceTIY4eC1qmmOQ==", + "dependencies": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-nps/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-path-nps/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-nps/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-nps/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-nps/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-path-nps/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-one-or-more": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-one-or-more/-/actor-query-operation-path-one-or-more-2.10.1.tgz", + "integrity": "sha512-SkQeKESQqZOlzuMIsipcZ3ni7YfeyYMZCOtxC01HFbeyq+SDVbyfYUZ4Dd9uAi/g3InyzJRfou4csxHS8g7sHw==", + "dependencies": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-one-or-more/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-path-one-or-more/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-one-or-more/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-one-or-more/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-one-or-more/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-path-one-or-more/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-seq": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-seq/-/actor-query-operation-path-seq-2.10.1.tgz", + "integrity": "sha512-8TYLdVYaq9oMd9cuLFay78103bOfvygQU/C8NtPdLI9kkRWFsBatvaKmykHOHQAvaLgNhniOlrIJNEpepZGnAQ==", + "dependencies": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-seq/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-path-seq/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-seq/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-seq/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-seq/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-path-seq/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-more": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-more/-/actor-query-operation-path-zero-or-more-2.10.1.tgz", + "integrity": "sha512-DtqBSw4LV1KI3q1YYAwgXlWrz1PO4EUpe/bVri0UB3JSQnxjBMHuJlHn2crC9Z93tmizneXxfvtWlLSXRrehsw==", + "dependencies": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-more/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-more/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-more/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-more/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-more/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-more/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-one": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-one/-/actor-query-operation-path-zero-or-one-2.10.1.tgz", + "integrity": "sha512-qePX+7iW5DXDwaYO210y7jhSU32Zk82S5UHuLLvd4q4HS1Z7j8e4KhukbeZKzQmOsO8S5JOHHM9vwvsOc3GPlw==", + "dependencies": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-one/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-one/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-one/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-one/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-one/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-one/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-operation-path-zero-or-one/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-project": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-project/-/actor-query-operation-project-2.10.1.tgz", + "integrity": "sha512-KAaPl4GFIQMWR8I8OoJroktGssPKGbEEJHyGzTuYXrmJrcXgknOxf5IUSVJNpaFfS6dshT6nqW+ciT+wRzz0Tg==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-project/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-project/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-project/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-project/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-project/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-project/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-quadpattern": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-quadpattern/-/actor-query-operation-quadpattern-2.10.1.tgz", + "integrity": "sha512-RZj1TXW+VDU4aYJVnSzgs8q0340e+YUeGLtoY9sl0Xzc8YNaIus4nXRUz/KfOXDknxm1q+a4Bof4yHNgXtb1Hw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.3", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-quadpattern/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-quadpattern/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-quadpattern/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-quadpattern/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-quadpattern/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-quadpattern/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-reduced-hash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-reduced-hash/-/actor-query-operation-reduced-hash-2.10.1.tgz", + "integrity": "sha512-9hX25ztkbNxnaUd7Gtilok+9WJkr/s3a3y4axLoYX4/nOogYN+nZRKChvNSn4qn/lWvpG5VWv4+q0en1fP+AGA==", + "dependencies": { + "@comunica/bus-hash-bindings": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "lru-cache": "^10.0.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-reduced-hash/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-reduced-hash/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-reduced-hash/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-reduced-hash/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-reduced-hash/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-reduced-hash/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-reduced-hash/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@comunica/actor-query-operation-service": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-service/-/actor-query-operation-service-2.10.1.tgz", + "integrity": "sha512-GvpvhUmhkVFOCLrmcblgIPqi91XPRog5WkC9NFMRCToaSNAMQq82DX2dvwzn3IFItcmyZrmy+GYoaQ9miK2uVQ==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-service/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-service/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-service/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-service/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-service/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-service/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-operation-service/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-slice": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-slice/-/actor-query-operation-slice-2.10.1.tgz", + "integrity": "sha512-KOBnTIUvwf28WB7oHevUC/xciEdH5gLg7MN8DvamkAkUiUjviEsRpkswUiD8lFe1dAs0ekA4pC0NoZ8BWp3uqA==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-slice/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-slice/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-slice/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-slice/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-slice/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-slice/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-sparql-endpoint/-/actor-query-operation-sparql-endpoint-2.10.2.tgz", + "integrity": "sha512-nbBzVHhYHUu/9qg9ZzTw7rKvsRb3ViBvM+Fye0oMXojZUbyu2WI6eLFUc2Ze1/LYDNf/1KHNpkg6OdsiEi8HFQ==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-httprequests": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "fetch-sparql-endpoint": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-operation-sparql-endpoint/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-union": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-union/-/actor-query-operation-union-2.10.1.tgz", + "integrity": "sha512-Ezi2bAa9r6yyffXDDUPLlKoszsXnuhDUeQSQuU3c7JEAcwip3wC3zMNkavowwfRZ/1D5doitmUEdw2lAd+xloA==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-union/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-union/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-union/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-union/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-union/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-union/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-operation-union/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-add-rewrite": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-add-rewrite/-/actor-query-operation-update-add-rewrite-2.10.1.tgz", + "integrity": "sha512-is3mrCPciExrlny5JbCvB011kUNYE9/fzQc/zmA3h24S5hHZbygA9mSS+dI85IwwqdKPYlrEqfn8c0kCVWMKyw==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-add-rewrite/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-update-add-rewrite/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-add-rewrite/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-add-rewrite/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-add-rewrite/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-update-add-rewrite/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-clear": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-clear/-/actor-query-operation-update-clear-2.10.2.tgz", + "integrity": "sha512-+sf6+LvXdKBv2pCuBH/ad5QdpheZSPEvw19UoaPQRQyQVBzIskOtfs4rwJHSn/YmoqhbstKZszakad3oxWwTTg==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-clear/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-update-clear/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-clear/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-clear/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-clear/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-update-clear/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-compositeupdate": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-compositeupdate/-/actor-query-operation-update-compositeupdate-2.10.1.tgz", + "integrity": "sha512-IVNouBPFQLOczhW3qHyEoyxWrc7wnVT2vPwRHEaGlfnSiYAX42XSNLb9jR0XjB70wh3Civue4Ovs3upOXdrN3Q==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-compositeupdate/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-update-compositeupdate/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-compositeupdate/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-compositeupdate/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-compositeupdate/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-update-compositeupdate/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-copy-rewrite": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-copy-rewrite/-/actor-query-operation-update-copy-rewrite-2.10.1.tgz", + "integrity": "sha512-l/3AM35hjahyHmiLoB3FPm0Jlhdmd/vqgOGj7V3Ra+TfHo5h8XOB3uzG78Q06HQNw4iyONBZc5lLlYXkzRd5lg==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-copy-rewrite/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-update-copy-rewrite/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-copy-rewrite/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-copy-rewrite/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-copy-rewrite/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-update-copy-rewrite/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-create": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-create/-/actor-query-operation-update-create-2.10.2.tgz", + "integrity": "sha512-g3DwLkYFTU8uZoIOV7oNPWStBmqvnBBPvLngG19MQQezuVoh8w88efxhbN0B/khi5/v4qcLsr7C0ffAaPF8Fbg==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-create/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-update-create/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-create/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-create/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-create/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-update-create/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-deleteinsert": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-deleteinsert/-/actor-query-operation-update-deleteinsert-2.10.2.tgz", + "integrity": "sha512-FiRCLUAxkDoFpOe9jKC5llI7njbFdb1N8McRvZjBazUS4XDutjTZEkcKLs6AcRyG3esfHt6gNm6PqCuZ+aP8TA==", + "dependencies": { + "@comunica/actor-query-operation-construct": "^2.10.1", + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-deleteinsert/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-update-deleteinsert/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-deleteinsert/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-deleteinsert/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-deleteinsert/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-update-deleteinsert/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-drop": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-drop/-/actor-query-operation-update-drop-2.10.2.tgz", + "integrity": "sha512-N/878InwoyQfysjCyo9r+H82eUlNeEGODJ95gCvzF/QGRc11N3dfcd3XijyHQ9OKAoQ9oR5gcS829LB3BDtKHg==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-drop/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-update-drop/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-drop/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-drop/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-drop/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-update-drop/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-load": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-load/-/actor-query-operation-update-load-2.10.2.tgz", + "integrity": "sha512-lQb5fxb1+ZFbQkylmepze+e+LtVmVNvAvFBvjxUSfCT62uIKKHMeh1So5kTrGD0Co4ABCs1h6o9WB+8yQzFtQw==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-load/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-update-load/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-load/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-load/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-load/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-update-load/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-move-rewrite": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-move-rewrite/-/actor-query-operation-update-move-rewrite-2.10.1.tgz", + "integrity": "sha512-GDLSHG2++EAAyUKhDu+mM6QfMTuzM8dS24HqeQL5Wzbkdc2KTmNKyJuhJw6SfXr6EiF/kxf1GPY6zwjcwACx/w==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-move-rewrite/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-update-move-rewrite/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-move-rewrite/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-move-rewrite/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-update-move-rewrite/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-update-move-rewrite/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-values": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-values/-/actor-query-operation-values-2.10.1.tgz", + "integrity": "sha512-++9IgCVCQPIF8fzZLmrVpxPj8eI9TvkLshHAugQQBnhSijrDMUudW9eoA+eFmCaD/Ru7YtlKe3OJzRGV8FCG+Q==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-values/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-query-operation-values/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-values/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-operation-values/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-operation-values/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-query-operation-values/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-operation-values/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-parse-graphql": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-parse-graphql/-/actor-query-parse-graphql-2.10.0.tgz", + "integrity": "sha512-l3RrkxElDYV4weXt3vpC0Q0She4AhbvPbPDronQulgN9nFAZhz4z9k8800T5uWMsL98wHNNXDFlnFk5S38lsow==", + "dependencies": { + "@comunica/bus-query-parse": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "graphql-to-sparql": "^3.0.1" + } + }, + "node_modules/@comunica/actor-query-parse-graphql/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-parse-graphql/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-parse-graphql/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-parse-sparql": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-parse-sparql/-/actor-query-parse-sparql-2.10.0.tgz", + "integrity": "sha512-DUVAuSSNn0AyvLruOpRpLZBsr96Q4LuV1gcO+alKZALtfOZikRKY/3sXz1NUkaRQc7qDH9xFFTFrfJd0jLvlDA==", + "dependencies": { + "@comunica/bus-query-parse": "^2.10.0", + "@comunica/core": "^2.10.0", + "@types/sparqljs": "^3.1.3", + "sparqlalgebrajs": "^4.2.0", + "sparqljs": "^3.7.1" + } + }, + "node_modules/@comunica/actor-query-parse-sparql/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-parse-sparql/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-json": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-json/-/actor-query-result-serialize-json-2.10.0.tgz", + "integrity": "sha512-GuVcsOEhKgnVPT0AaCn8sJl/Uj5UUjUktEJpuMx1UAYt0//jcQsezJslYWmJrfXE/WJYidynyDxm8z3+jwLF7A==", + "dependencies": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdf-string": "^1.6.1", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-json/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-json/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-json/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-json/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-json/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-rdf": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-rdf/-/actor-query-result-serialize-rdf-2.10.0.tgz", + "integrity": "sha512-TBXJrDs5brRMFg8UisXS/F1vJw8nUtLhjugNZcd4ST8J965Ho1aNopydp4PMmwINMRxHhHtWJGwIB2Z5xD2lDw==", + "dependencies": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-rdf/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-rdf/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-rdf/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-rdf/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-simple": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-simple/-/actor-query-result-serialize-simple-2.10.0.tgz", + "integrity": "sha512-pS7+aB9Rym1B5oi+O68NFjEq+EwpCRYtTIxGBp39CTQ0F7m4edt9QwqmARqveJPryK5X66ACvjxvutEaTgWI8w==", + "dependencies": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-string": "^1.6.3", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-simple/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-simple/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-simple/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-simple/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-simple/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-csv": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-csv/-/actor-query-result-serialize-sparql-csv-2.10.0.tgz", + "integrity": "sha512-Vk+7oTIPigDENK3CnV56vLfvMZVjHc3p2F4a49WDHfMgRrfQKJSQkx603vjW35n3tmUB8JSgRXr/+v7LK83KYQ==", + "dependencies": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-csv/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-csv/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-csv/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-csv/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-csv/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-json": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-json/-/actor-query-result-serialize-sparql-json-2.10.2.tgz", + "integrity": "sha512-+J7SWXc4nXHzmQMk6q8MScrLNKdqX+/xQe6XCk0zDbDAt3/8EJh/2ROYFp4fEQyPDFWOwN4xpALgHRIh8PQRAQ==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-json/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-json/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-json/node_modules/@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-json/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-json/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-json/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-json/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-tsv": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-tsv/-/actor-query-result-serialize-sparql-tsv-2.10.0.tgz", + "integrity": "sha512-TgA2WIXKdu/SrbHEP8HvGoLjhDOZnBoHsGsLFSHpxY/Uwk21rZqJLBEkhuhkUtGYzQPJ1n6Wmpjz9lBrUHGJPw==", + "dependencies": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-string-ttl": "^1.3.2", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-tsv/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-tsv/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-tsv/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-tsv/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-tsv/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-xml": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-xml/-/actor-query-result-serialize-sparql-xml-2.10.0.tgz", + "integrity": "sha512-8RDj5ZN23HnIc6zI5pD5XKi2pyg2cx6DhI7VDRcboi7v0DxfROuQqSEtbQ8m/W6Pngdz01ySogRcIVJCzRzBLQ==", + "dependencies": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-xml/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-xml/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-xml/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-xml/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-sparql-xml/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-stats": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-stats/-/actor-query-result-serialize-stats-2.10.2.tgz", + "integrity": "sha512-jhj/vLDRxLuRMonBaqICt4saM9/UO9wJBT3Jxk7Rp73aQWLo+lILXKzcWpuxkh/EFx8raLUBmbjWCduamU1DzQ==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "process": "^0.11.10", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-stats/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-stats/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-stats/node_modules/@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-stats/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-stats/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-stats/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-stats/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-table": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-table/-/actor-query-result-serialize-table-2.10.0.tgz", + "integrity": "sha512-AAPrgM/rbsSThRu9jkfJhBUeTUwQTLHNVbIn8El+Akvz+Fueoi6oSi3SslpPMHOvIUiOAgCZ05f2RbBLlhP03g==", + "dependencies": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.3", + "rdf-terms": "^1.11.0", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-query-result-serialize-table/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-table/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-table/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-table/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-table/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-tree": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-tree/-/actor-query-result-serialize-tree-2.10.0.tgz", + "integrity": "sha512-sEyIzoSTV11YPY6r4fn6fwrf3WjLD6GrwXMTuevsDAKDYaMYxyriH3T/LMLLBEURy8SLD1I1Fpw/qaZisRmLTg==", + "dependencies": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "readable-stream": "^4.4.2", + "sparqljson-to-tree": "^3.0.1" + } + }, + "node_modules/@comunica/actor-query-result-serialize-tree/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-tree/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-tree/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-tree/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-tree/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-query-result-serialize-tree/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-join-entries-sort-cardinality": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-entries-sort-cardinality/-/actor-rdf-join-entries-sort-cardinality-2.10.0.tgz", + "integrity": "sha512-6dd/29q6QuQN2Ap090VA0KUFmmnHalPxFJb4MGh5nIbWZH0F/EvI+uK5vPx29cttr1yXL5u+MbJWaLb3IxwILg==", + "dependencies": { + "@comunica/bus-rdf-join-entries-sort": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-join-entries-sort-cardinality/node_modules/@comunica/bus-rdf-join-entries-sort": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-entries-sort/-/bus-rdf-join-entries-sort-2.10.0.tgz", + "integrity": "sha512-17FQrdYtzjY84OI/ZvipJKD0ei3IySmsWwaGC9sIJn+1W4LBVKudTu5S0tzGTKTb0URhS4mrCliUBzyINtIZMQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-join-entries-sort-cardinality/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-join-entries-sort-cardinality/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-hash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-hash/-/actor-rdf-join-inner-hash-2.10.1.tgz", + "integrity": "sha512-nUtdS3NJGKSJQC8KjDVz4TEDmkXHBYQi0/bwnAXCDl1phhq8lgv+YEmRDNe/kuCze7HyqEt98rlSJ+ZhvcHXVQ==", + "dependencies": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asyncjoin": "^1.1.1" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-hash/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-bind": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-bind/-/actor-rdf-join-inner-multi-bind-2.10.1.tgz", + "integrity": "sha512-tNZ2Q7z44Yr0iIFkvtTVAsts4v0IoC4b0FYaIUeYav4y5JOlR74hWWijTAzVfb31dTMsAp3r+y0xGIdd75LRHQ==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/bus-rdf-join-entries-sort": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-bind/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-bind/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-bind/node_modules/@comunica/bus-rdf-join-entries-sort": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-entries-sort/-/bus-rdf-join-entries-sort-2.10.0.tgz", + "integrity": "sha512-17FQrdYtzjY84OI/ZvipJKD0ei3IySmsWwaGC9sIJn+1W4LBVKudTu5S0tzGTKTb0URhS4mrCliUBzyINtIZMQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-bind/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-bind/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-bind/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-bind/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-empty": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-empty/-/actor-rdf-join-inner-multi-empty-2.10.1.tgz", + "integrity": "sha512-z6a3qENwuvSU0PvqOySrsHsWSUvzfWd1xIYwEvKuEIJ9vYPoefIUgggx08E95ZF/k+PxZ0vKEywFpBSUKUzGYA==", + "dependencies": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-empty/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-empty/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-smallest": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-smallest/-/actor-rdf-join-inner-multi-smallest-2.10.1.tgz", + "integrity": "sha512-MXwIvq+viDCmsxJwD4+fwMhwZINWva3jtQ3j5ne6DXgZYUJUFOw3VujvCP4/cl075RuSxYlXgy6ETHLa1TNr7g==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/bus-rdf-join-entries-sort": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-smallest/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-smallest/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-smallest/node_modules/@comunica/bus-rdf-join-entries-sort": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-entries-sort/-/bus-rdf-join-entries-sort-2.10.0.tgz", + "integrity": "sha512-17FQrdYtzjY84OI/ZvipJKD0ei3IySmsWwaGC9sIJn+1W4LBVKudTu5S0tzGTKTb0URhS4mrCliUBzyINtIZMQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-smallest/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-smallest/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-smallest/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-multi-smallest/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-nestedloop": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-nestedloop/-/actor-rdf-join-inner-nestedloop-2.10.1.tgz", + "integrity": "sha512-nFjGMrAIrRjRcsaU8UQXLbsDODVdf4LDpVNVQIrjfoWzhOIy13ApDQrqtuObaGVfryiFgt34zVEOwMWezWzl0A==", + "dependencies": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asyncjoin": "^1.1.1" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-nestedloop/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-none": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-none/-/actor-rdf-join-inner-none-2.10.1.tgz", + "integrity": "sha512-4mqsuqvLSuXMbgY0PghqK5hmBGH5YkRTwUOpGpBE0EVQaiAoQOME0uVslkt2TBzUx5IQJC+trr/80sbA9mAhMw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "asynciterator": "^3.8.1" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-none/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-none/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-none/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-single": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-single/-/actor-rdf-join-inner-single-2.10.1.tgz", + "integrity": "sha512-RfnwTEsuXNdR0cNRWaCvNPlfD5KyuScsc/55j/9mr8yqGUTE9h9Om1Is5u7xnpRMxGOEqwVP6apK3ZxsZqlL/w==", + "dependencies": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-symmetrichash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-symmetrichash/-/actor-rdf-join-inner-symmetrichash-2.10.1.tgz", + "integrity": "sha512-beFGkMUe3pTADtMXXPU8ab/IMULj+Hkg3Iah0zgrVZgwWH1Kgfkj/2qp32Ll5y9qcRbio4ruruKlHNXJJUU46Q==", + "dependencies": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asyncjoin": "^1.1.1" + } + }, + "node_modules/@comunica/actor-rdf-join-inner-symmetrichash/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-minus-hash/-/actor-rdf-join-minus-hash-2.10.1.tgz", + "integrity": "sha512-wIaB/EpuySaARhimoLzrE0cTH0TgVkL43IAtYX7ECwH9Qcv8blO4zbL4q2KUkY7OKZRM892aqMfo3kO1vMIK7w==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash-undef": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-minus-hash-undef/-/actor-rdf-join-minus-hash-undef-2.10.1.tgz", + "integrity": "sha512-tz5LdeAHnylEQIq4bRfFqaH89WZXkkdFxEshqxWijFBp5wprUYiotMDrBo9zDFaPquhs42fILtTzLY9yaalc9w==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash-undef/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash-undef/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash-undef/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash-undef/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash-undef/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash-undef/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-join-minus-hash/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-optional-bind": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-optional-bind/-/actor-rdf-join-optional-bind-2.10.1.tgz", + "integrity": "sha512-6dOoI/rzRZ0RUyv2WlToClE42Z2YJE5xcSrot7haT2eMdxbzr1KjyasHBcIIkSK+WViDO006lXZ1Hi4tJm9uuA==", + "dependencies": { + "@comunica/actor-rdf-join-inner-multi-bind": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-optional-bind/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-join-optional-bind/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-optional-bind/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-optional-bind/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-join-optional-bind/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-join-optional-bind/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-optional-nestedloop": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-optional-nestedloop/-/actor-rdf-join-optional-nestedloop-2.10.1.tgz", + "integrity": "sha512-d7KUDjEKZszizd4SBvYkK2A6lScrq9ciEgzdrrp6IYZhIGAhJLTgPNg3Js3NEjpE7oj4KWl2WwKJe2sWcJbKJg==", + "dependencies": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asyncjoin": "^1.1.1" + } + }, + "node_modules/@comunica/actor-rdf-join-optional-nestedloop/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-selectivity-variable-counting": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-selectivity-variable-counting/-/actor-rdf-join-selectivity-variable-counting-2.10.0.tgz", + "integrity": "sha512-D7tdzxA93bpZGXI5emJyvzk6LabeAnzcQMU/V5x2QwJxyoNr+LFbesBHDDP3/u4UJwmeP0a+dU0e5mbpJujSXw==", + "dependencies": { + "@comunica/bus-rdf-join-selectivity": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-accuracy": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-join-selectivity-variable-counting/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-join-selectivity-variable-counting/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-cancontainundefs": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-cancontainundefs/-/actor-rdf-metadata-accumulate-cancontainundefs-2.10.0.tgz", + "integrity": "sha512-N3rwX4kT9rkW+89q4xCjO3KKG0DbeNIyeMWDzeh2vTw8nAXYyTiPjHYvx/6VUMzhFUWF+50VtVv8ZJPO6nEapw==", + "dependencies": { + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-cancontainundefs/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-cancontainundefs/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-cardinality": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-cardinality/-/actor-rdf-metadata-accumulate-cardinality-2.10.0.tgz", + "integrity": "sha512-UpC5PbhzEDCAxTUqETH89uRaFRqmP6YuWt67OAPo5wocv2tQDs6/SdLwS695XnfeMJdfDHsXyoUzQg3r8dwydw==", + "dependencies": { + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-cardinality/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-cardinality/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-pagesize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-pagesize/-/actor-rdf-metadata-accumulate-pagesize-2.10.0.tgz", + "integrity": "sha512-r364CWGr5rMpV2ec3TsD+9Yhvi1JUuRXLBQqtgzjAPbpWjfDSM1Q4h0P1z9h3D+sdUMEX/0iGAY3AH2FjJAxwA==", + "dependencies": { + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-pagesize/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-pagesize/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-requesttime": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-requesttime/-/actor-rdf-metadata-accumulate-requesttime-2.10.0.tgz", + "integrity": "sha512-SpG7gxxAPoW2NbgyZ2UNpwluJ+IvCOYIRDTXmVTAK8bntav+/ZG30yfESFBjB3LmJEwAnktAsTgM6OhldohPKw==", + "dependencies": { + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-requesttime/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-accumulate-requesttime/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-all": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-all/-/actor-rdf-metadata-all-2.10.0.tgz", + "integrity": "sha512-dHaSxHTdneWVBMAF6WqZrGD+u4TPpHQaJ2WutK1NvQNPIiF0N7249aGTvXBIXZfsKYyQ73PUORDeLEOjX+tT7g==", + "dependencies": { + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/core": "^2.10.0", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-rdf-metadata-all/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-all/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-all/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-allow-http-methods": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-allow-http-methods/-/actor-rdf-metadata-extract-allow-http-methods-2.10.0.tgz", + "integrity": "sha512-aCSX+lWcmz5Q/g34VJEblczqDS6N+gJ3AlcOcGuqhd6qHRU17dMeCIZCk8p6p+AhbJ30w4BTsrZRY2sF0MGCVA==", + "dependencies": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-allow-http-methods/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-allow-http-methods/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-allow-http-methods/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-controls": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-controls/-/actor-rdf-metadata-extract-hydra-controls-2.10.0.tgz", + "integrity": "sha512-T6F5OaQNqrHVIwSGNRX6YPDBoAOYBQj3NTPID7vQae7J80oEX+CLoTkeJJwfHpoUWx0ihs8J0UkABgK3AWeylA==", + "dependencies": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*", + "@types/uritemplate": "^0.3.4", + "uritemplate": "0.3.4" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-controls/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-controls/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-controls/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-count": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-count/-/actor-rdf-metadata-extract-hydra-count-2.10.0.tgz", + "integrity": "sha512-nOMLN+9OSLFOVz6jc9pcyDizhcBBVT2azn7StTMK5ukFCcPCENS4y6lYhC5cijKZY7vUa7U6VzhX2vvw20MKDA==", + "dependencies": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-count/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-count/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-count/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-pagesize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-pagesize/-/actor-rdf-metadata-extract-hydra-pagesize-2.10.0.tgz", + "integrity": "sha512-mD8KS2ENr2rbfBWxtVpxkB/Y2LyyAnwQU5UYKkpet8ELhlostdGROzYCNIAgfOgirOAsLgVkbmrX0XBGouI7rA==", + "dependencies": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-pagesize/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-pagesize/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-hydra-pagesize/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-patch-sparql-update": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-patch-sparql-update/-/actor-rdf-metadata-extract-patch-sparql-update-2.10.0.tgz", + "integrity": "sha512-U5ARpeWKShbbSfdtJeb6nyPcsdtMwEo2dp56T4aSTNSBKtAhQ78DjOxb23WIU/VR/qpw2yWcsbPnNJvSaLpRVQ==", + "dependencies": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-patch-sparql-update/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-patch-sparql-update/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-patch-sparql-update/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-put-accepted": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-put-accepted/-/actor-rdf-metadata-extract-put-accepted-2.10.0.tgz", + "integrity": "sha512-cGJg6tMMCOSGcitkUBN7b9/Sg5zgwWQC52g+Zk22o4i+Zgt24WLjfXXbnGWGoV+h9YZo8pkg7v1cpE5GpapNCg==", + "dependencies": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-put-accepted/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-put-accepted/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-put-accepted/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-request-time": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-request-time/-/actor-rdf-metadata-extract-request-time-2.10.0.tgz", + "integrity": "sha512-zh3coTPZMbgF4mXKCO3bzn99INt9HFraKMZWc9s/kwBE6vhNZ5246Ql/6z1v7mccoIbanhI72gtjFTGGHru80Q==", + "dependencies": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-request-time/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-request-time/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-request-time/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-sparql-service": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-sparql-service/-/actor-rdf-metadata-extract-sparql-service-2.10.0.tgz", + "integrity": "sha512-Xc+id8FURTmY3ccb4hcVuAaOou5UqD+1YkTnGfMWQxVgMlFC1eeBvwWVzvedj0sHhnfbLgDwbCVYLCK1lNndSg==", + "dependencies": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0", + "relative-to-absolute-iri": "^1.0.7" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-sparql-service/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-sparql-service/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-extract-sparql-service/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-primary-topic": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-primary-topic/-/actor-rdf-metadata-primary-topic-2.10.0.tgz", + "integrity": "sha512-nabxkiYSPGPRylhYjGxF0KiJ/K8QiG1N/am/t8eaqwyjn/fo2/tHl0yXUaLLx0E8fChfbBv10sVlmLhsLrg8DQ==", + "dependencies": { + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-rdf-metadata-primary-topic/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-primary-topic/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-metadata-primary-topic/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-2.10.0.tgz", + "integrity": "sha512-zgImXKpc+BN1i6lQiN1Qhlb1HbKdMIeJMOys6qbzRIijdK8GkGGChwhQp7Cso3lY1Nf4K7M3jPLZeQXeED2w7g==", + "dependencies": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/bus-rdf-parse-html": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "htmlparser2": "^9.0.0", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-microdata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-2.10.0.tgz", + "integrity": "sha512-JLfiDauq4SmpI6TDS4HaHzI6iJe1j8lSk5FRRYK6YVEu8eO28jPmxQJiOiwbQiYqsjsV7kON/WIZSoUELoI4Ig==", + "dependencies": { + "@comunica/bus-rdf-parse-html": "^2.10.0", + "@comunica/core": "^2.10.0", + "microdata-rdf-streaming-parser": "^2.0.1" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-microdata/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-microdata/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-rdfa": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-2.10.0.tgz", + "integrity": "sha512-9K3iaws9+FGl50oZi53hqyzhwjNKZ3mIr2zg/TAJZoapKvc14cthH17zKSSJrqI/NgBStRmZhBBkXcwfu1CANw==", + "dependencies": { + "@comunica/bus-rdf-parse-html": "^2.10.0", + "@comunica/core": "^2.10.0", + "rdfa-streaming-parser": "^2.0.1" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-rdfa/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-rdfa/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-script": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-2.10.0.tgz", + "integrity": "sha512-7XYqWchDquWnBLjG7rmmY+tdE81UZ8fPCU0Hn+vI39/MikNOpaiyr/ZYFqhogWFa9SkjmH0a7idVUzmjiwKRZQ==", + "dependencies": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/bus-rdf-parse-html": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2", + "relative-to-absolute-iri": "^1.0.7" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-script/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-script/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-script/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html-script/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/@comunica/actor-rdf-parse-html/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@comunica/actor-rdf-parse-html/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/@comunica/actor-rdf-parse-html/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-html/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-jsonld": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-2.10.2.tgz", + "integrity": "sha512-K4fvD0zMU22KkQCqIFVT5Oy2FREEZ9CAo9u6kOcsMxEvg9aHGIM6hkaXR8I+1JCx1mDuEj3zQ8joR4tQh8fYCw==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "jsonld-context-parser": "^2.2.2", + "jsonld-streaming-parser": "^3.0.1", + "stream-to-string": "^1.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-jsonld/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-rdf-parse-jsonld/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-jsonld/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-jsonld/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-n3": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-2.10.0.tgz", + "integrity": "sha512-o1MAbwJxW4Br2WCZdhFoRmAiOP4mfogeQqJ4nqlsOkoMtQ45EvLHsotb3Kqhuk5V+vsTxyK5v/a4zylGtcU7VQ==", + "dependencies": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/types": "^2.10.0", + "n3": "^1.17.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-n3/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-rdfxml": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-2.10.0.tgz", + "integrity": "sha512-HoJN52shXY3cvYtsS0cpin9KXpW3L7g1leebyCRSqnlnHdJv5D6G0Ep8vyt2xhquKNbOQ7LnP5VhiDiqz73XDg==", + "dependencies": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdfxml-streaming-parser": "^2.2.3" + } + }, + "node_modules/@comunica/actor-rdf-parse-rdfxml/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-shaclc": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-shaclc/-/actor-rdf-parse-shaclc-2.10.0.tgz", + "integrity": "sha512-i6tmuZuS+RtDiSXpQc3s/PxtCqwIguo4ANmVB20PK4VWgQgBwoPG7LlNcJ0xmuH/3Bv6C2Agn18PLF6dZX+fKw==", + "dependencies": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "readable-stream": "^4.4.2", + "shaclc-parse": "^1.4.0", + "stream-to-string": "^1.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-shaclc/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-shaclc/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-parse-xml-rdfa": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-2.10.0.tgz", + "integrity": "sha512-68r/6B/fEyA1/OYleVuaPq47J+g4xJcJijpdL1wEj7CqjV+Xa+sDWRpNCyLcD/e1Y/g9UQmLz0ZnSpR00PFddA==", + "dependencies": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdfa-streaming-parser": "^2.0.1" + } + }, + "node_modules/@comunica/actor-rdf-parse-xml-rdfa/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-next": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-next/-/actor-rdf-resolve-hypermedia-links-next-2.10.0.tgz", + "integrity": "sha512-SpW46Tx8ksAxotGK2UEpvGcYjKwxB0x2KnbGmKHvo59embRjcUL/bmq3uHqZe7UwfynR2wDaRzMdVVSQccWSyA==", + "dependencies": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-next/node_modules/@comunica/bus-rdf-resolve-hypermedia-links": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-2.10.0.tgz", + "integrity": "sha512-Mcz6bUdZySLK2om0cMt86n5TOThZOTpEFq2M42n7YAE3LL2KMnMDdhkaOC6SyY4tS0HGAuhce21Uq+Gz8Veq2g==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-next/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-next/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/-/actor-rdf-resolve-hypermedia-links-queue-fifo-2.10.0.tgz", + "integrity": "sha512-Hh53Ts6z6MxKXhZZxgpXfc1hgNzIX/xbA9mD2Au7ZfAa5V5j8zPaVVKe06sxILQBTPMsFh1idP3vIqRwRXpsvg==", + "dependencies": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia-links-queue": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/node_modules/@comunica/bus-rdf-resolve-hypermedia-links": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-2.10.0.tgz", + "integrity": "sha512-Mcz6bUdZySLK2om0cMt86n5TOThZOTpEFq2M42n7YAE3LL2KMnMDdhkaOC6SyY4tS0HGAuhce21Uq+Gz8Veq2g==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/node_modules/@comunica/bus-rdf-resolve-hypermedia-links-queue": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links-queue/-/bus-rdf-resolve-hypermedia-links-queue-2.10.0.tgz", + "integrity": "sha512-f9amJk7ikktRfOoRnwag1KMTuo9v+PiDEVQA0dijl+jhcispKdjG6XK0MdZ1KSEmtUWejjS6nMRGvfJdM37eog==", + "dependencies": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-none": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-none/-/actor-rdf-resolve-hypermedia-none-2.10.0.tgz", + "integrity": "sha512-C4sJ0QJetq3QxsRkYstK5YXRYDGkcVTfyBOFUMYj7PbVakapnl8qPZkVL7VPMLVLVOfyBQHTT43Yp6Nl8VvmSA==", + "dependencies": { + "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", + "rdf-store-stream": "^2.0.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-qpf": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-qpf/-/actor-rdf-resolve-hypermedia-qpf-2.10.0.tgz", + "integrity": "sha512-1iP9xD72bxFBLpbfC7Ev0Xoc+0rwusPFdnoYbEtqMHRfiM0h3nNrsSxyzdGJMAZaJeQzmBZIEiwR5pbo9qpmaQ==", + "dependencies": { + "@comunica/actor-rdf-metadata-extract-hydra-controls": "^2.10.0", + "@comunica/bus-dereference-rdf": "^2.10.0", + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-qpf/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-qpf/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-qpf/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-sparql": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-sparql/-/actor-rdf-resolve-hypermedia-sparql-2.10.2.tgz", + "integrity": "sha512-UFsTuzHvjK/XhRGqfHr3WAVr+iBv6XTuU1fV9EuOaB+odclQ+H6TGtmW6/38CSufj86Y691VBXMk29zdWfrmGA==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "fetch-sparql-endpoint": "^4.0.0", + "lru-cache": "^10.0.0", + "rdf-data-factory": "^1.1.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-sparql/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-sparql/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-sparql/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-sparql/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-hypermedia-sparql/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-federated/-/actor-rdf-resolve-quad-pattern-federated-2.10.1.tgz", + "integrity": "sha512-OBRTTUWkXKa0ibDzcYLG7aKf3BfQp2j75xm65brRvwstNLmye9ZEq1PrNhbP5UDqQQeCgzPBrb0eGC8Vxek2RA==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-federated/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/-/actor-rdf-resolve-quad-pattern-hypermedia-2.10.1.tgz", + "integrity": "sha512-XkJOYu0bizWHsvgiaGyNAnRZsqv2risREK5SY14VCMXDYqmOWJLDppveGEUZAoEKEJuo4ZLDlP2gLDGzc0krxQ==", + "dependencies": { + "@comunica/bus-dereference-rdf": "^2.10.0", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia-links-queue": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "lru-cache": "^10.0.0", + "rdf-data-factory": "^1.1.2", + "rdf-streaming-store": "^1.1.0", + "readable-stream": "^4.4.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/bus-rdf-resolve-hypermedia-links": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-2.10.0.tgz", + "integrity": "sha512-Mcz6bUdZySLK2om0cMt86n5TOThZOTpEFq2M42n7YAE3LL2KMnMDdhkaOC6SyY4tS0HGAuhce21Uq+Gz8Veq2g==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/bus-rdf-resolve-hypermedia-links-queue": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links-queue/-/bus-rdf-resolve-hypermedia-links-queue-2.10.0.tgz", + "integrity": "sha512-f9amJk7ikktRfOoRnwag1KMTuo9v+PiDEVQA0dijl+jhcispKdjG6XK0MdZ1KSEmtUWejjS6nMRGvfJdM37eog==", + "dependencies": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source/-/actor-rdf-resolve-quad-pattern-rdfjs-source-2.10.0.tgz", + "integrity": "sha512-d6AlrngvZaVgoiiyMhkf6uiYaFZZdn/UZLo0FhZ++or1NZXo5KxK4UMgdiIygvPEiuuVzy0W1djHgOQ1rgh50g==", + "dependencies": { + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.2", + "rdf-terms": "^1.11.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-string-source": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-string-source/-/actor-rdf-resolve-quad-pattern-string-source-2.10.0.tgz", + "integrity": "sha512-v6QOBtXTXrDUZRHocrm2OYCsxGpyTScka/n85cewCcInqVGJP9J6zpdwetzvIy7wVJkac7JQabd96OEyDMK3sg==", + "dependencies": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "lru-cache": "^10.0.0", + "rdf-store-stream": "^2.0.0", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-string-source/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-string-source/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-string-source/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-string-source/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@comunica/actor-rdf-resolve-quad-pattern-string-source/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-serialize-jsonld": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-jsonld/-/actor-rdf-serialize-jsonld-2.10.0.tgz", + "integrity": "sha512-u1M5N7BSrkhS461fV6QXKMh6TnvpoEiSHPru7wJg1kGqR9q3reuQeKLf/U23JDYb1kom8uU3R7aBpDIjgVc49Q==", + "dependencies": { + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "jsonld-streaming-serializer": "^2.1.0" + } + }, + "node_modules/@comunica/actor-rdf-serialize-jsonld/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-serialize-n3": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-n3/-/actor-rdf-serialize-n3-2.10.0.tgz", + "integrity": "sha512-CoDktUI3YQuI7UBV+fQOdKl+5XjBx0XTOF9XxEDiNg5nwndEmDvq6C23fSHfkqX3/xDlnsuS/YysHAqXCrYoiA==", + "dependencies": { + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "n3": "^1.17.0" + } + }, + "node_modules/@comunica/actor-rdf-serialize-n3/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-serialize-shaclc": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-shaclc/-/actor-rdf-serialize-shaclc-2.10.0.tgz", + "integrity": "sha512-gp4bu4+aPtMk4bavXP27uD9X9bpa2F5u6/JtsaX2qwcqVI0x1tkVQOkm2RkUhafcHNj0Fz6lQ3aXmRIAQvaefg==", + "dependencies": { + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "arrayify-stream": "^2.0.1", + "readable-stream": "^4.4.2", + "shaclc-write": "^1.4.2" + } + }, + "node_modules/@comunica/actor-rdf-serialize-shaclc/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-serialize-shaclc/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/-/actor-rdf-update-hypermedia-patch-sparql-update-2.10.2.tgz", + "integrity": "sha512-z/fOzYlA5fPtauTUISYhCWMKtEpkvKkSZIdvcgeGvetLnvw4fytfVHdtPhirZYmPya10GCeTG7m2iHvK53lOsQ==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-update-hypermedia": "^2.10.2", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "cross-fetch": "^4.0.0", + "rdf-string-ttl": "^1.3.2", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-put-ldp": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-put-ldp/-/actor-rdf-update-hypermedia-put-ldp-2.10.2.tgz", + "integrity": "sha512-Tof/mU0Lkt7HP3SwHXODczxvAFelWzAHdP+ap4Upr47K6Zg5GRPwJv//2AcPvT3p42Li6wuMz/4nh/A3pcnCKA==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/bus-rdf-update-hypermedia": "^2.10.2", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "cross-fetch": "^4.0.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-put-ldp/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-put-ldp/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-put-ldp/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-sparql": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-sparql/-/actor-rdf-update-hypermedia-sparql-2.10.2.tgz", + "integrity": "sha512-uw1NIAoxuAechsjTQ6b53XpGOMx3Mp5uEL5LtUwNC6COJE6tzWH8wG54Dwj+0VNxsgqsSircKu2xwGl1uOsOPg==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-update-hypermedia": "^2.10.2", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "fetch-sparql-endpoint": "^4.0.0", + "rdf-string-ttl": "^1.3.2", + "stream-to-string": "^1.2.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-sparql/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-sparql/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-update-hypermedia-sparql/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-hypermedia": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-hypermedia/-/actor-rdf-update-quads-hypermedia-2.10.2.tgz", + "integrity": "sha512-kzGfDv0PqcOIIULJLG8jtA/dOcrNUodu98J08ruSuYQBbnFgAZ07MG1TkWhEI/AM6D0w7hXkgQaC1sGWn4gVmA==", + "dependencies": { + "@comunica/bus-dereference-rdf": "^2.10.0", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/bus-rdf-update-hypermedia": "^2.10.2", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "lru-cache": "^10.0.0" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-hypermedia/node_modules/@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-hypermedia/node_modules/@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-hypermedia/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-hypermedia/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-hypermedia/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-rdfjs-store": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-rdfjs-store/-/actor-rdf-update-quads-rdfjs-store-2.10.2.tgz", + "integrity": "sha512-anX3SovvY2H8KwuWu8G9EqtITmCsz12jfqunNn5Efcch/bm4HyHTC1GThx77m6qpCdg4OMx8TLhNrH1II1UM1w==", + "dependencies": { + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-rdfjs-store/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/actor-rdf-update-quads-rdfjs-store/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-dereference": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-dereference/-/bus-dereference-2.10.0.tgz", + "integrity": "sha512-nWyQXiH7zbiPTVttWVKJHykhV4IuahfhfUwPx3Op+cVsK489Su84dnGeSmPkxTAFFuxe6wU6ZEH4i7PDu48YvQ==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/actor-abstract-parse": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/bus-dereference-rdf": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-dereference-rdf/-/bus-dereference-rdf-2.10.0.tgz", + "integrity": "sha512-WY/wPmFpO76wwJ2D5Aus43ZbYnBRLvQ0EOp4yywO0lBiq6F0JisjCVCM4EtWouOEAAfqEoIjHXGyC3gPWqm+SQ==", + "dependencies": { + "@comunica/bus-dereference": "^2.10.0", + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/bus-dereference-rdf/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-dereference-rdf/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-dereference/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/bus-dereference/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-dereference/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-dereference/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-dereference/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/bus-hash-bindings": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-hash-bindings/-/bus-hash-bindings-2.10.0.tgz", + "integrity": "sha512-EdzIUgpSWMtFVxEJSesuQpMkfgznDap+U0F9epotxXc20Gg/qjTzs1gF6NkpDpaidQ7cFlV16vdbdfi8uiZ+mQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/bus-hash-bindings/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-hash-bindings/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-query-parse": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-parse/-/bus-query-parse-2.10.0.tgz", + "integrity": "sha512-1LynxACgCYTuBH/JMRG/IGaWtTVwr2O8wxOosCId2W3BDW9nf2DSCyOdnxnCSMSKfnLFWiaVuKybn24OLXW2dQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-query-parse/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-query-parse/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-join": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join/-/bus-rdf-join-2.10.1.tgz", + "integrity": "sha512-pPFoJVHY5p931jIKt+9sqRCGiuuf8yFqrlOOAd3un72cwuyhwNHvn52xwvcPlNUAySz/kDmW+U0syflqI6VdAw==", + "dependencies": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join-selectivity": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/bus-rdf-join-selectivity": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-selectivity/-/bus-rdf-join-selectivity-2.10.0.tgz", + "integrity": "sha512-YjoygSiH6r4SAYqz6gpvUql2vnznPVE62IsWqYnjFWeH1kBsxO5yEOO01s2FfN3jLcfsytTyG7VNTCN788YbaA==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-accuracy": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/bus-rdf-join-selectivity/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-join-selectivity/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-join/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/bus-rdf-join/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-join/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-join/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-join/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/bus-rdf-join/node_modules/@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/bus-rdf-join/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata/-/bus-rdf-metadata-2.10.0.tgz", + "integrity": "sha512-LRUnHVqIzyUlmPKPNAYOusCF53iN8KEX7l/VinlA7NH3XBLhTkFoth26MVqIVtjtdH0hVfUVpkwy2kFEJpGldw==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/bus-rdf-metadata-accumulate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-accumulate/-/bus-rdf-metadata-accumulate-2.10.0.tgz", + "integrity": "sha512-XG/3s4a3yGpYt4H+sn9T2zTaUxLG+37dmhRhXv2cBmR4gaCXkglERPaOrQygHldEF+4ITF3RmXHCgANsQ1AwQg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/bus-rdf-metadata-accumulate/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-metadata-accumulate/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-metadata/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-metadata/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-parse": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-2.10.0.tgz", + "integrity": "sha512-EgCMZACfTG/+mayQpExWt0HoBT32BBVC1aS1lC43fXKBTxJ8kYrSrorVUuMACoh4dQVGTb+7j1j4K0hGNVzXGA==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/actor-abstract-parse": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/bus-rdf-parse-html": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-2.10.0.tgz", + "integrity": "sha512-RZliz4TtKP63QggoohGuIkGb6lq0BoYJ4aztKtGldWtPAVP/pdEvlDpiZWLB/j19g7S2aDLNY/lJtZ5efM1tHQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/bus-rdf-parse-html/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-parse-html/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-parse/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/bus-rdf-parse/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-parse/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-resolve-hypermedia": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia/-/bus-rdf-resolve-hypermedia-2.10.0.tgz", + "integrity": "sha512-DjCoAg62pPzEOH5gKM9gaL4CVUmhBsmyOzao0tRu20G7L6RnTIFtRaOwMN2z+2uC7AkJRHZY12bPUb+yM8V0UQ==", + "dependencies": { + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/bus-rdf-resolve-hypermedia/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-resolve-hypermedia/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-resolve-quad-pattern": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-quad-pattern/-/bus-rdf-resolve-quad-pattern-2.10.0.tgz", + "integrity": "sha512-JEI4DqSprGmrbfmiIwc8PbS+HCoxXwmMtp7gDpoB1HyYKIHzzu9DOIiwmYEDRO5dwV+uTwaYKZz/mUPm2U6EEg==", + "dependencies": { + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-resolve-quad-pattern/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-resolve-quad-pattern/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-resolve-quad-pattern/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-serialize/-/bus-rdf-serialize-2.10.0.tgz", + "integrity": "sha512-AmbN9MUgw6B6AfrIqR1u7PWHZFgbJz+j1SFJVtnHQ51hEpG+Ig9nNG2IWjHOsFK0xBBQ/wXgNmt/cufEMRM1SQ==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/bus-rdf-serialize/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/bus-rdf-serialize/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-serialize/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-update-hypermedia": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-hypermedia/-/bus-rdf-update-hypermedia-2.10.2.tgz", + "integrity": "sha512-GbRMxXN4kx+4UPsnGxWjyn770m675yy2gWK/xy/5qQIxxRTcuGk4wm/994FZQXpwLX1E0xJ+YKxMgXTIlEWmQA==", + "dependencies": { + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/bus-rdf-update-hypermedia/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-update-hypermedia/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-update-quads": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-quads/-/bus-rdf-update-quads-2.10.2.tgz", + "integrity": "sha512-+iVpAHps8ytGq8AZF4xTZbLyskS40JPn64MO+OAuYovqXLlezp6vh9eJ5qETuP9NP+BpZDk3nOU3Ky3fb0QCUw==", + "dependencies": { + "@comunica/actor-rdf-resolve-quad-pattern-federated": "^2.10.1", + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "stream-to-string": "^1.2.0" + } + }, + "node_modules/@comunica/bus-rdf-update-quads/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/bus-rdf-update-quads/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/bus-rdf-update-quads/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/bus-rdf-update-quads/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/expression-evaluator": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/expression-evaluator/-/expression-evaluator-2.10.0.tgz", + "integrity": "sha512-gSfiVSAE+SaxpXq3jT5OnyZd+sD9KFaWtTiKT1tDDs8lD7Jj68aRP7VoEhvKwPwRlUx0aoaXUL2MYtV6JsXRbg==", + "dependencies": { + "@rdfjs/types": "*", + "@types/spark-md5": "^3.0.2", + "@types/uuid": "^9.0.0", + "bignumber.js": "^9.0.1", + "hash.js": "^1.1.7", + "lru-cache": "^10.0.0", + "rdf-data-factory": "^1.1.2", + "rdf-string": "^1.6.3", + "relative-to-absolute-iri": "^1.0.6", + "spark-md5": "^3.0.1", + "sparqlalgebrajs": "^4.2.0", + "uuid": "^9.0.0" + } + }, + "node_modules/@comunica/expression-evaluator/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@comunica/expression-evaluator/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@comunica/logger-void": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/logger-void/-/logger-void-2.10.0.tgz", + "integrity": "sha512-GFJh9hV8rIC9yXAuLGGKjQRVs8IOQOINBbaTNO+FJUWWWHlo5pDEKAoGYuysz5TBGoT3Lexz8bMfdkuHMa3uIQ==", + "dependencies": { + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/logger-void/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediator-all": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-all/-/mediator-all-2.10.0.tgz", + "integrity": "sha512-y1+A+sIW462G8iPzi6BSPIb4I9iy08ZruM2Thf1or6sytwLKro7E2RYjS6IdupwfFYafXXCeT85+lrJgTKERhQ==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/mediator-all/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/mediator-all/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediator-combine-pipeline": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-pipeline/-/mediator-combine-pipeline-2.10.0.tgz", + "integrity": "sha512-j7+/oUlbhKB4Rq6g9oNKU+e9cQL8U9z8tAUNhoXUSHajcr4huj0t1+riaOD109/DRWhV793ILhBDzgiZbHd7DA==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/mediator-combine-pipeline/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/mediator-combine-pipeline/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediator-combine-union": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-2.10.0.tgz", + "integrity": "sha512-QbP4zP1i6nMDZ8teC0RoTz5E8pOpxDhWPBr1ylb2jzPUjPpMgrnbHYTondlN0Oau3SMEehItojg/LYDtPOP/GQ==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/mediator-combine-union/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/mediator-combine-union/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediator-join-coefficients-fixed": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/mediator-join-coefficients-fixed/-/mediator-join-coefficients-fixed-2.10.1.tgz", + "integrity": "sha512-HRvc0e8QDnR3sbRMMCyx9ILFA6KiUxHEqDOpt7BV3kFMWWIpBavFDwPUjLBG6sRA8o0CFu1+oVVh5fAFYZIxzQ==", + "dependencies": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/mediator-join-coefficients-fixed/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediator-join-coefficients-fixed/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/mediator-join-coefficients-fixed/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediator-number": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-2.10.0.tgz", + "integrity": "sha512-0T8D1HGTu5Sd8iKb2dBjc6VRc/U4A15TAN6m561ra9pFlP+w31kby0ZYP6WWBHBobbUsX1LCvnbRQaAC4uWwVw==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/mediator-number/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/mediator-number/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediator-race": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-2.10.0.tgz", + "integrity": "sha512-JiEtOLMkPnbjSLabVpE4VqDbu2ZKKnkUdATGBeWX+o+MjPw6c0hhw01RG4WY2rQhDyNl++nLQe3EowQh8xW9TA==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/mediator-race/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/mediator-race/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediatortype-accuracy": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-accuracy/-/mediatortype-accuracy-2.10.0.tgz", + "integrity": "sha512-u9Noai4yGACaBRGOoRZ65XoQhazKNx5QaFOX5nJ/p84Qq4g50woC2rpsncuyrXhW1j/rIc2WvIUGUfy/g6CDiw==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/mediatortype-accuracy/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/mediatortype-accuracy/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediatortype-httprequests": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-httprequests/-/mediatortype-httprequests-2.10.0.tgz", + "integrity": "sha512-uPjs/NdngHZZWomjZor6W29UeOlxganupIOa3Z6H3qdUnsSpxeoS9URXy7BICAX+4PmgebperSn18BRA+PWiSw==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/mediatortype-httprequests/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/mediatortype-httprequests/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/mediatortype-join-coefficients": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-join-coefficients/-/mediatortype-join-coefficients-2.10.0.tgz", + "integrity": "sha512-EPipAV5PDNeEVXbsd+8NsqNKu5ztCAoEJ3azcFAmD9di9ppArNJWU/mxy5yUzcBgMUX4wRp6jCa5rIF5sRHG7g==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/mediatortype-join-coefficients/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/mediatortype-join-coefficients/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/query-sparql": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/query-sparql/-/query-sparql-2.10.2.tgz", + "integrity": "sha512-bgjQ8N5/vP3Iy71AgDKQc06mXmEBvh7dsenw2VPbvk11iXywec4XCq8TzX+GozL+Zxxl5XyYlBw+nRjvORTGHg==", + "dependencies": { + "@comunica/actor-context-preprocess-source-to-destination": "^2.10.0", + "@comunica/actor-dereference-fallback": "^2.10.0", + "@comunica/actor-dereference-http": "^2.10.2", + "@comunica/actor-dereference-rdf-parse": "^2.10.0", + "@comunica/actor-hash-bindings-sha1": "^2.10.0", + "@comunica/actor-http-fetch": "^2.10.2", + "@comunica/actor-http-proxy": "^2.10.2", + "@comunica/actor-http-wayback": "^2.10.2", + "@comunica/actor-init-query": "^2.10.2", + "@comunica/actor-optimize-query-operation-bgp-to-join": "^2.10.0", + "@comunica/actor-optimize-query-operation-join-bgp": "^2.10.0", + "@comunica/actor-optimize-query-operation-join-connected": "^2.10.0", + "@comunica/actor-query-operation-ask": "^2.10.1", + "@comunica/actor-query-operation-bgp-join": "^2.10.1", + "@comunica/actor-query-operation-construct": "^2.10.1", + "@comunica/actor-query-operation-describe-subject": "^2.10.1", + "@comunica/actor-query-operation-distinct-hash": "^2.10.1", + "@comunica/actor-query-operation-extend": "^2.10.1", + "@comunica/actor-query-operation-filter-sparqlee": "^2.10.1", + "@comunica/actor-query-operation-from-quad": "^2.10.1", + "@comunica/actor-query-operation-group": "^2.10.1", + "@comunica/actor-query-operation-join": "^2.10.1", + "@comunica/actor-query-operation-leftjoin": "^2.10.1", + "@comunica/actor-query-operation-minus": "^2.10.1", + "@comunica/actor-query-operation-nop": "^2.10.1", + "@comunica/actor-query-operation-orderby-sparqlee": "^2.10.1", + "@comunica/actor-query-operation-path-alt": "^2.10.1", + "@comunica/actor-query-operation-path-inv": "^2.10.1", + "@comunica/actor-query-operation-path-link": "^2.10.1", + "@comunica/actor-query-operation-path-nps": "^2.10.1", + "@comunica/actor-query-operation-path-one-or-more": "^2.10.1", + "@comunica/actor-query-operation-path-seq": "^2.10.1", + "@comunica/actor-query-operation-path-zero-or-more": "^2.10.1", + "@comunica/actor-query-operation-path-zero-or-one": "^2.10.1", + "@comunica/actor-query-operation-project": "^2.10.1", + "@comunica/actor-query-operation-quadpattern": "^2.10.1", + "@comunica/actor-query-operation-reduced-hash": "^2.10.1", + "@comunica/actor-query-operation-service": "^2.10.1", + "@comunica/actor-query-operation-slice": "^2.10.1", + "@comunica/actor-query-operation-sparql-endpoint": "^2.10.2", + "@comunica/actor-query-operation-union": "^2.10.1", + "@comunica/actor-query-operation-update-add-rewrite": "^2.10.1", + "@comunica/actor-query-operation-update-clear": "^2.10.2", + "@comunica/actor-query-operation-update-compositeupdate": "^2.10.1", + "@comunica/actor-query-operation-update-copy-rewrite": "^2.10.1", + "@comunica/actor-query-operation-update-create": "^2.10.2", + "@comunica/actor-query-operation-update-deleteinsert": "^2.10.2", + "@comunica/actor-query-operation-update-drop": "^2.10.2", + "@comunica/actor-query-operation-update-load": "^2.10.2", + "@comunica/actor-query-operation-update-move-rewrite": "^2.10.1", + "@comunica/actor-query-operation-values": "^2.10.1", + "@comunica/actor-query-parse-graphql": "^2.10.0", + "@comunica/actor-query-parse-sparql": "^2.10.0", + "@comunica/actor-query-result-serialize-json": "^2.10.0", + "@comunica/actor-query-result-serialize-rdf": "^2.10.0", + "@comunica/actor-query-result-serialize-simple": "^2.10.0", + "@comunica/actor-query-result-serialize-sparql-csv": "^2.10.0", + "@comunica/actor-query-result-serialize-sparql-json": "^2.10.2", + "@comunica/actor-query-result-serialize-sparql-tsv": "^2.10.0", + "@comunica/actor-query-result-serialize-sparql-xml": "^2.10.0", + "@comunica/actor-query-result-serialize-stats": "^2.10.2", + "@comunica/actor-query-result-serialize-table": "^2.10.0", + "@comunica/actor-query-result-serialize-tree": "^2.10.0", + "@comunica/actor-rdf-join-entries-sort-cardinality": "^2.10.0", + "@comunica/actor-rdf-join-inner-hash": "^2.10.1", + "@comunica/actor-rdf-join-inner-multi-bind": "^2.10.1", + "@comunica/actor-rdf-join-inner-multi-empty": "^2.10.1", + "@comunica/actor-rdf-join-inner-multi-smallest": "^2.10.1", + "@comunica/actor-rdf-join-inner-nestedloop": "^2.10.1", + "@comunica/actor-rdf-join-inner-none": "^2.10.1", + "@comunica/actor-rdf-join-inner-single": "^2.10.1", + "@comunica/actor-rdf-join-inner-symmetrichash": "^2.10.1", + "@comunica/actor-rdf-join-minus-hash": "^2.10.1", + "@comunica/actor-rdf-join-minus-hash-undef": "^2.10.1", + "@comunica/actor-rdf-join-optional-bind": "^2.10.1", + "@comunica/actor-rdf-join-optional-nestedloop": "^2.10.1", + "@comunica/actor-rdf-join-selectivity-variable-counting": "^2.10.0", + "@comunica/actor-rdf-metadata-accumulate-cancontainundefs": "^2.10.0", + "@comunica/actor-rdf-metadata-accumulate-cardinality": "^2.10.0", + "@comunica/actor-rdf-metadata-accumulate-pagesize": "^2.10.0", + "@comunica/actor-rdf-metadata-accumulate-requesttime": "^2.10.0", + "@comunica/actor-rdf-metadata-all": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-allow-http-methods": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-hydra-controls": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-hydra-count": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-hydra-pagesize": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-patch-sparql-update": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-put-accepted": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-request-time": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-sparql-service": "^2.10.0", + "@comunica/actor-rdf-metadata-primary-topic": "^2.10.0", + "@comunica/actor-rdf-parse-html": "^2.10.0", + "@comunica/actor-rdf-parse-html-microdata": "^2.10.0", + "@comunica/actor-rdf-parse-html-rdfa": "^2.10.0", + "@comunica/actor-rdf-parse-html-script": "^2.10.0", + "@comunica/actor-rdf-parse-jsonld": "^2.10.2", + "@comunica/actor-rdf-parse-n3": "^2.10.0", + "@comunica/actor-rdf-parse-rdfxml": "^2.10.0", + "@comunica/actor-rdf-parse-shaclc": "^2.10.0", + "@comunica/actor-rdf-parse-xml-rdfa": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-links-next": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-none": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-qpf": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-sparql": "^2.10.2", + "@comunica/actor-rdf-resolve-quad-pattern-federated": "^2.10.1", + "@comunica/actor-rdf-resolve-quad-pattern-hypermedia": "^2.10.1", + "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": "^2.10.0", + "@comunica/actor-rdf-resolve-quad-pattern-string-source": "^2.10.0", + "@comunica/actor-rdf-serialize-jsonld": "^2.10.0", + "@comunica/actor-rdf-serialize-n3": "^2.10.0", + "@comunica/actor-rdf-serialize-shaclc": "^2.10.0", + "@comunica/actor-rdf-update-hypermedia-patch-sparql-update": "^2.10.2", + "@comunica/actor-rdf-update-hypermedia-put-ldp": "^2.10.2", + "@comunica/actor-rdf-update-hypermedia-sparql": "^2.10.2", + "@comunica/actor-rdf-update-quads-hypermedia": "^2.10.2", + "@comunica/actor-rdf-update-quads-rdfjs-store": "^2.10.2", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/config-query-sparql": "^2.7.0", + "@comunica/core": "^2.10.0", + "@comunica/logger-void": "^2.10.0", + "@comunica/mediator-all": "^2.10.0", + "@comunica/mediator-combine-pipeline": "^2.10.0", + "@comunica/mediator-combine-union": "^2.10.0", + "@comunica/mediator-join-coefficients-fixed": "^2.10.1", + "@comunica/mediator-number": "^2.10.0", + "@comunica/mediator-race": "^2.10.0", + "@comunica/runner": "^2.10.0", + "@comunica/runner-cli": "^2.10.0", + "@comunica/types": "^2.10.0", + "process": "^0.11.10" + }, + "bin": { + "comunica-dynamic-sparql": "bin/query-dynamic.js", + "comunica-sparql": "bin/query.js", + "comunica-sparql-http": "bin/http.js" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/actor-http-proxy": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-proxy/-/actor-http-proxy-2.10.2.tgz", + "integrity": "sha512-3yUF8BCh4nwq8J6NRILEsyNrQNStkE9ggJ7hYwRfA1XcMgz1pANNaWJ2P2TEKH1jNinr23bL3JeuUZCm9Kz9dA==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-time": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/actor-init-query": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-init-query/-/actor-init-query-2.10.2.tgz", + "integrity": "sha512-7A4bXdKCjXRdUThvMOOyg+U17DPeBAsyDYz1SA8F4lPUR06NapcG5TmZF+YWUTN/2EG5fZPUnD3etKuPXreGUw==", + "dependencies": { + "@comunica/actor-http-proxy": "^2.10.2", + "@comunica/bus-context-preprocess": "^2.10.0", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-init": "^2.10.0", + "@comunica/bus-optimize-query-operation": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-query-parse": "^2.10.0", + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/logger-pretty": "^2.10.0", + "@comunica/runner": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "negotiate": "^1.0.1", + "rdf-quad": "^1.5.0", + "rdf-string": "^1.6.1", + "sparqlalgebrajs": "^4.2.0", + "streamify-string": "^1.0.1", + "yargs": "^17.7.2" + }, + "optionalDependencies": { + "process": "^0.11.10" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "dependencies": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/bus-context-preprocess": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-context-preprocess/-/bus-context-preprocess-2.10.0.tgz", + "integrity": "sha512-eJ5CkzbnmxB9fkr2F05jnnjcaowp+yxd0+pAtvx5MLl2Kpx3nWLqHPcl4/EVVDPD+i0TEkq4AXQ1BD9BMuXK0A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/bus-init": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-2.10.0.tgz", + "integrity": "sha512-hJejHa8sLVhQLFlduCVnhOd5aW3FCEz8wmWjyeLI3kiHFaQibnGVMhUuuNRX5f8bnnPuTdEiHc1nnYHuSi+j8A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "readable-stream": "^4.4.2" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/bus-optimize-query-operation": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "dependencies": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "dependencies": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/config-query-sparql": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/config-query-sparql/-/config-query-sparql-2.7.0.tgz", + "integrity": "sha512-rMnFgT7cz9+0z7wV4OzIMY5qM9/Z0mTGrR8y2JokoHyyTcBGOSajFmy61XCSLMCsLLG8qDXsJ4ClCCky3TGfqA==" + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/logger-pretty": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/logger-pretty/-/logger-pretty-2.10.0.tgz", + "integrity": "sha512-JXkeM5HnbyTPnQTf5/ugRPL9R+vXT7b/hRVYzYmhAGCjkCNL7NJPTBbIgxmZHqZ+UGxprotrvmDQtwHmVA+Ddw==", + "dependencies": { + "@comunica/types": "^2.10.0", + "object-inspect": "^1.12.2", + "process": "^0.11.10" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/mediatortype-time": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-time/-/mediatortype-time-2.10.0.tgz", + "integrity": "sha512-nBz1exxrja1Tj8KSlSevG4Hw2u09tTh6gtNfVjI76i/e7muu4RUWVhi9b8PcwBNAfuUqRl+5OgOSa2X4W+6QlA==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/runner": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/runner/-/runner-2.10.0.tgz", + "integrity": "sha512-v/oEKT+IwjO6Y74bCCzlR+ZMI6oykpfz7GQrQbl1oTWQsvBbTdf0omPkoYnk1esEAsFnsJD+NGwAiRiFKeBo0A==", + "dependencies": { + "@comunica/bus-init": "^2.10.0", + "@comunica/core": "^2.10.0", + "componentsjs": "^5.3.2", + "process": "^0.11.10" + }, + "bin": { + "comunica-compile-config": "bin/compile-config" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/runner-cli": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/runner-cli/-/runner-cli-2.10.0.tgz", + "integrity": "sha512-16QI0rWFHURCy5waVFcZ/fhKI/hyzNx5YyCGPaEaUX8MKyamvCCXHSWvPLLbjJbsjGZ9wXrC9dwwhRmbfmidpw==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/runner": "^2.10.0", + "@comunica/types": "^2.10.0", + "process": "^0.11.10" + }, + "bin": { + "comunica-run": "bin/run.js" + } + }, + "node_modules/@comunica/query-sparql/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@comunica/query-sparql/node_modules/componentsjs": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-5.5.1.tgz", + "integrity": "sha512-hmqq+ZUa98t9CoeWPGwE14I18aXQFAt66HRd8DaZCNggcSr82vhlyrjeXX0JAUMgr2MyQzwKstkv4INRAREguA==", + "dependencies": { + "@rdfjs/types": "*", + "@types/minimist": "^1.2.0", + "@types/node": "^18.0.0", + "@types/semver": "^7.3.4", + "jsonld-context-parser": "^2.1.1", + "minimist": "^1.2.0", + "rdf-data-factory": "^1.1.0", + "rdf-object": "^1.14.0", + "rdf-parse": "^2.0.0", + "rdf-quad": "^1.5.0", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0", + "semver": "^7.3.2", + "winston": "^3.3.3" + }, + "bin": { + "componentsjs-compile-config": "bin/compile-config.js" + } + }, + "node_modules/@comunica/query-sparql/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@comunica/query-sparql/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@comunica/query-sparql/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@comunica/query-sparql/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@comunica/query-sparql/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@comunica/query-sparql/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -1650,6 +10522,16 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, "node_modules/@digitalbazaar/http-client": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz", @@ -1663,231 +10545,6 @@ "node": ">=14.0" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@esbuild/linux-x64": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", @@ -1903,96 +10560,6 @@ "node": ">=12" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -2230,6 +10797,25 @@ "node": ">=8" } }, + "node_modules/@jeswr/prefixcc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jeswr/prefixcc/-/prefixcc-1.2.1.tgz", + "integrity": "sha512-kBBXbqsaeh3Irp416h/RbelqJgIOp6X/OJJlYmLyr/9qlBYKTKSCuEv5/xjZ0Yf8Yec+QFRYBaOQ2JkMBSH7KA==", + "dependencies": { + "cross-fetch": "^3.1.5" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@jeswr/prefixcc/node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -2367,13 +10953,13 @@ } }, "node_modules/@maplibre/maplibre-gl-style-spec": { - "version": "19.3.2", - "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-19.3.2.tgz", - "integrity": "sha512-C2JAk64XUz9v78+bpyTk1zvgjjnDsB8CCjNumyAYdWK2dvdDtILzh1AGBMdS/llX3KaHjGYxAE5wOwfdwq4Pog==", + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.1.1.tgz", + "integrity": "sha512-z85ARNPCBI2Cs5cPOS3DSbraTN+ue8zrcYVoSWBuNrD/mA+2SKAJ+hIzI22uN7gac6jBMnCdpPKRxS/V0KSZVQ==", "dependencies": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", "@mapbox/unitbezier": "^0.0.1", - "json-stringify-pretty-compact": "^3.0.0", + "json-stringify-pretty-compact": "^4.0.0", "minimist": "^1.2.8", "rw": "^1.3.3", "sort-object": "^3.0.3" @@ -2442,6 +11028,14 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@rdfjs/types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.0.tgz", + "integrity": "sha512-5zm8bN2/CC634dTcn/0AhTRLaQRjXDZs3QfcAsQKNturHT7XVWcKy/8p3P5gXl+YkZTAmy7T5M/LyiT/jbkENw==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@rgossiaux/svelte-headlessui": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@rgossiaux/svelte-headlessui/-/svelte-headlessui-1.0.2.tgz", @@ -2524,11 +11118,53 @@ } } }, + "node_modules/@rubensworks/saxes": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@rubensworks/saxes/-/saxes-6.0.1.tgz", + "integrity": "sha512-UW4OTIsOtJ5KSXo2Tchi4lhZqu+tlHrOAs4nNti7CrtB53kAZl3/hyrTi6HkMihxdbDM6m2Zc3swc/ZewEe1xw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.12" + } + }, "node_modules/@sinclair/typebox": { "version": "0.25.21", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.21.tgz", "integrity": "sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==" }, + "node_modules/@smessie/readable-web-to-node-stream": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smessie/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.3.tgz", + "integrity": "sha512-8FFE7psRtRWQT31/duqbmgnSf2++QLR2YH9kj5iwsHhnoqSvHdOY3SAN5e7dhc+60p2cNk7rv3HYOiXOapTEXQ==", + "dependencies": { + "process": "^0.11.10", + "readable-stream": "^4.5.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@smessie/readable-web-to-node-stream/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@sveltejs/vite-plugin-svelte": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz", @@ -4181,9 +12817,25 @@ "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" }, "node_modules/@types/geojson": { - "version": "7946.0.11", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.11.tgz", - "integrity": "sha512-L7A0AINMXQpVwxHJ4jxD6/XjZ4NDufaRlUJHjNIFKYUFBH1SvOW+neaqb0VTRSLW5suSrSu19ObFEFnfNcr+qg==" + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, + "node_modules/@types/geojson-vt": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/geojson-vt/-/geojson-vt-3.2.5.tgz", + "integrity": "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/http-link-header": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.5.tgz", + "integrity": "sha512-AxhIKR8UbyoqCTNp9rRepkktHuUOw3DjfOfDCaO9kwI8AYzjhxyrvZq4+mRw/2daD3hYDknrtSeV6SsPwmc71w==", + "dependencies": { + "@types/node": "*" + } }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", @@ -4224,6 +12876,14 @@ "integrity": "sha512-n7fUU6W4kSYK8VQlf/LsE9kddBHPKhODoVOjsZswmve+2qLwBy6naWxs/EiuSZN9NU0N06Ra01FR+j87C62T0A==", "dev": true }, + "node_modules/@types/leaflet": { + "version": "1.9.8", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.8.tgz", + "integrity": "sha512-EXdsL4EhoUtGm2GC2ZYtXn+Fzc6pluVgagvo2VC1RHWToLGlTRwVYoDpqS/7QXa01rmDyBjJk3Catpf60VMkwg==", + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/lz-string": { "version": "1.3.34", "resolved": "https://registry.npmjs.org/@types/lz-string/-/lz-string-1.3.34.tgz", @@ -4231,26 +12891,40 @@ "dev": true }, "node_modules/@types/mapbox__point-geometry": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.2.tgz", - "integrity": "sha512-D0lgCq+3VWV85ey1MZVkE8ZveyuvW5VAfuahVTQRpXFQTxw03SuIf1/K4UQ87MMIXVKzpFjXFiFMZzLj2kU+iA==" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.4.tgz", + "integrity": "sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==" }, "node_modules/@types/mapbox__vector-tile": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.1.tgz", - "integrity": "sha512-RpwGE57xM4a/YCH6XWzfcPVRPAu/jiCll0bEGRn6a4iubN2k4xZizskQoRj8fuXyo9BpI7F3bwz3uxs0pWbGNw==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.4.tgz", + "integrity": "sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==", "dependencies": { "@types/geojson": "*", "@types/mapbox__point-geometry": "*", "@types/pbf": "*" } }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" + }, "node_modules/@types/mocha": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", "dev": true }, + "node_modules/@types/n3": { + "version": "1.16.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.16.4.tgz", + "integrity": "sha512-6PmHRYCCdjbbBV2UVC/HjtL6/5Orx9ku2CQjuojucuHvNvPmnm6+02B18YGhHfvU25qmX2jPXyYPHsMNkn+w2w==", + "dependencies": { + "@rdfjs/types": "^1.1.0", + "@types/node": "*" + } + }, "node_modules/@types/node": { "version": "18.11.18", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", @@ -4266,9 +12940,9 @@ } }, "node_modules/@types/pbf": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.3.tgz", - "integrity": "sha512-hw6bDMjvm+QTvEC+pRLpnTknQXoPu8Fnf+A+zX9HB7j/7RfYajFSbdukabo3adPwvvEHhIMafQl0R0Tpej7clQ==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.5.tgz", + "integrity": "sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==" }, "node_modules/@types/pg": { "version": "8.10.9", @@ -4359,6 +13033,20 @@ "integrity": "sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==", "optional": true }, + "node_modules/@types/readable-stream": { + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", + "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", + "dependencies": { + "@types/node": "*", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/@types/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/@types/sass": { "version": "1.43.1", "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", @@ -4371,27 +13059,54 @@ "node_modules/@types/semver": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" }, "node_modules/@types/showdown": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/showdown/-/showdown-2.0.0.tgz", "integrity": "sha512-70xBJoLv+oXjB5PhtA8vo7erjLDp9/qqI63SRHm4REKrwuPOLs8HhXwlZJBJaB4kC18cCZ1UUZ6Fb/PLFW4TCA==" }, + "node_modules/@types/spark-md5": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/spark-md5/-/spark-md5-3.0.4.tgz", + "integrity": "sha512-qtOaDz+IXiNndPgYb6t1YoutnGvFRtWSNzpVjkAPCfB2UzTyybuD4Tjgs7VgRawum3JnJNRwNQd4N//SvrHg1Q==" + }, + "node_modules/@types/sparqljs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.10.tgz", + "integrity": "sha512-rqMpUhl/d8B+vaACa6ZVdwPQ1JXw+KxiCc0cndgn/V6moRG3WjUAgoBnhSwfKtXD98wgMThDsc6R1+yRUuMsAg==", + "dependencies": { + "@rdfjs/types": ">=1.0.0" + } + }, "node_modules/@types/supercluster": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.1.tgz", - "integrity": "sha512-dNK02GO1UApgo+1KpY4jOfm3uWb2eBCMB/VMM2y8cMoF49FiqVVcOawEg19wxYcaX7SvEs370incOuFtFGrVLg==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", + "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", "dependencies": { "@types/geojson": "*" } }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" + }, "node_modules/@types/trusted-types": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz", "integrity": "sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==" }, + "node_modules/@types/uritemplate": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@types/uritemplate/-/uritemplate-0.3.6.tgz", + "integrity": "sha512-31BMGZ8GgLxgXxLnqg4KbbyYJjU1flhTTD2+PVQStVUPXSk0IIpK0zt+tH3eLT7ZRwLnzQw6JhYx69qza3U0wg==" + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" + }, "node_modules/@types/wikidata-sdk": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/wikidata-sdk/-/wikidata-sdk-6.1.0.tgz", @@ -5057,6 +13772,11 @@ "node": ">=8" } }, + "node_modules/arrayify-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.1.tgz", + "integrity": "sha512-z8fB6PtmnewQpFB53piS2d1KlUi3BPMICH2h7leCOUXpQcwvZ4GbHHSpdKoUrgLMR6b4Qan/uDe1St3Ao3yIHg==" + }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -5112,6 +13832,24 @@ "node": ">=0.10.0" } }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/asynciterator": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.9.0.tgz", + "integrity": "sha512-bwLLTAnoE6Ap6XdjK/j8vDk2Vi9p3ojk0PFwM0SwktAG1k8pfRJF9ng+mmkaRFKdZCQQlOxcWnvOmX2NQ1HV0g==" + }, + "node_modules/asyncjoin": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/asyncjoin/-/asyncjoin-1.2.0.tgz", + "integrity": "sha512-Z7k7IpnTpbF3sOTVSMudSpkWm9fCDgqo1ipLwpe+rHZFnSpWiN02cRI7q3IxqmjbHaCGn4JyTH6jVoIsdZuYkQ==", + "dependencies": { + "asynciterator": "^3.9.0" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -5226,7 +13964,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, "funding": [ { "type": "github", @@ -5255,6 +13992,14 @@ "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==" }, + "node_modules/bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "engines": { + "node": "*" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -5279,6 +14024,30 @@ "readable-stream": "^3.4.0" } }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", @@ -5360,10 +14129,9 @@ } }, "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -5380,7 +14148,7 @@ ], "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "node_modules/buffer-crc32": { @@ -5730,11 +14498,19 @@ "wrap-ansi": "^7.0.0" } }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -5742,19 +14518,26 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/color-string": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -5775,6 +14558,11 @@ "node": ">= 12" } }, + "node_modules/comunica": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/comunica/-/comunica-2.0.0.tgz", + "integrity": "sha512-y2nN+aZRRxeJhG1wspV+suea6yai70X1TQU0vJsYg5EShLIQAEi4byVOEusW4t+M3evPGBv7uv4chkpeC5edkA==" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -5892,6 +14680,14 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "devOptional": true }, + "node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -6483,7 +15279,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -6497,7 +15292,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, "funding": [ { "type": "github", @@ -6509,7 +15303,6 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, "dependencies": { "domelementtype": "^2.3.0" }, @@ -6616,6 +15409,11 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -6642,7 +15440,6 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "devOptional": true, "engines": { "node": ">=0.12" }, @@ -7181,6 +15978,14 @@ "node": ">=6" } }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -7414,6 +16219,11 @@ "reusify": "^1.0.4" } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + }, "node_modules/fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", @@ -7436,6 +16246,38 @@ "node": "^12.20 || >= 14.13" } }, + "node_modules/fetch-sparql-endpoint": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fetch-sparql-endpoint/-/fetch-sparql-endpoint-4.1.1.tgz", + "integrity": "sha512-q0TLXPoAM/rA3OaHH4LvfJzaN8vVmaEVNNFtH3xsz9L40YIiAWSdbg2c/Ze/JL75kf8Iktbh1tItHZoottCh2Q==", + "dependencies": { + "@rdfjs/types": "*", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "@types/readable-stream": "^2.3.11", + "@types/sparqljs": "^3.1.3", + "abort-controller": "^3.0.0", + "cross-fetch": "^3.0.6", + "is-stream": "^2.0.0", + "minimist": "^1.2.0", + "n3": "^1.6.3", + "rdf-string": "^1.6.0", + "sparqljs": "^3.1.2", + "sparqljson-parse": "^2.2.0", + "sparqlxml-parse": "^2.1.1", + "stream-to-string": "^1.1.0" + }, + "bin": { + "fetch-sparql-endpoint": "bin/fetch-sparql-endpoint.js" + } + }, + "node_modules/fetch-sparql-endpoint/node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, "node_modules/fflate": { "version": "0.4.8", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", @@ -7536,6 +16378,11 @@ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + }, "node_modules/follow-redirects": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", @@ -7928,6 +16775,30 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/graphql": { + "version": "15.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", + "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/graphql-to-sparql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/graphql-to-sparql/-/graphql-to-sparql-3.0.1.tgz", + "integrity": "sha512-A+RwB99o66CUj+XuqtP/u3P7fGS/qF6P+/jhNl1BE/JZ2SCnkrODvV0LADuJeCDmPh45fDhq+GTDVoN1ZQHYFw==", + "dependencies": { + "@rdfjs/types": "*", + "graphql": "^15.5.2", + "jsonld-context-parser": "^2.0.2", + "minimist": "^1.2.0", + "rdf-data-factory": "^1.1.0", + "sparqlalgebrajs": "^4.0.0" + }, + "bin": { + "graphql-to-sparql": "bin/graphql-to-sparql.js" + } + }, "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -8149,6 +17020,14 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" }, + "node_modules/http-link-header": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.3.tgz", + "integrity": "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", @@ -8281,8 +17160,7 @@ "node_modules/immutable": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", - "devOptional": true + "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==" }, "node_modules/import-fresh": { "version": "3.3.0", @@ -8634,6 +17512,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-typed-array": { "version": "1.1.10", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", @@ -8911,9 +17800,9 @@ "dev": true }, "node_modules/json-stringify-pretty-compact": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-3.0.0.tgz", - "integrity": "sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", + "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==" }, "node_modules/json-stringify-safe": { "version": "5.0.1", @@ -8960,6 +17849,29 @@ "node": ">=14" } }, + "node_modules/jsonld-context-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.4.0.tgz", + "integrity": "sha512-ZYOfvh525SdPd9ReYY58dxB3E2RUEU4DJ6ZibO8AitcowPeBH4L5rCAitE2om5G1P+HMEgYEYEr4EZKbVN4tpA==", + "dependencies": { + "@types/http-link-header": "^1.0.1", + "@types/node": "^18.0.0", + "cross-fetch": "^3.0.6", + "http-link-header": "^1.0.2", + "relative-to-absolute-iri": "^1.0.5" + }, + "bin": { + "jsonld-context-parse": "bin/jsonld-context-parse.js" + } + }, + "node_modules/jsonld-context-parser/node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, "node_modules/jsonld-request": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/jsonld-request/-/jsonld-request-2.0.1.tgz", @@ -8976,6 +17888,65 @@ "node": ">=14.13.1" } }, + "node_modules/jsonld-streaming-parser": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.4.0.tgz", + "integrity": "sha512-897CloyQgQidfkB04dLM5XaAXVX/cN9A2hvgHJo4y4jRhIpvg3KLMBBfcrswepV2N3T8c/Rp2JeFdWfVsbVZ7g==", + "dependencies": { + "@bergos/jsonparse": "^1.4.0", + "@rdfjs/types": "*", + "@types/http-link-header": "^1.0.1", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "canonicalize": "^1.0.1", + "http-link-header": "^1.0.2", + "jsonld-context-parser": "^2.4.0", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + } + }, + "node_modules/jsonld-streaming-parser/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/jsonld-streaming-serializer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-serializer/-/jsonld-streaming-serializer-2.1.0.tgz", + "integrity": "sha512-COHdLoeMTnrqHMoFhN3PoAwqnrKrpPC7/ACb0WbELYvt+HSOIFN3v4IJP7fOtLNQ4GeaeYkvbeWJ7Jo4EjxMDw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "jsonld-context-parser": "^2.0.0", + "readable-stream": "^4.0.0" + } + }, + "node_modules/jsonld-streaming-serializer/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/jsonld/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -9111,6 +18082,11 @@ "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==", "dev": true }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + }, "node_modules/ky": { "version": "0.33.3", "resolved": "https://registry.npmjs.org/ky/-/ky-0.33.3.tgz", @@ -9320,6 +18296,22 @@ "node": ">=8" } }, + "node_modules/logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/loupe": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", @@ -9375,9 +18367,9 @@ } }, "node_modules/maplibre-gl": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-3.5.0.tgz", - "integrity": "sha512-kPEBz6r1LBOZjUpFy+4wZU5Nvnkr60wBtYN/JD6N7oaA4Prpe21afYKxi1oWzSPSfspS1tWNF18GlpF2XcmNSA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.1.2.tgz", + "integrity": "sha512-98T+3BesL4w/N39q/rgs9q6HzHLG6pgbS9UaTqg6fMISfzy2WGKokjK205ENFDDmEljj54/LTfdXgqg2XfYU4A==", "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", @@ -9386,12 +18378,13 @@ "@mapbox/unitbezier": "^0.0.1", "@mapbox/vector-tile": "^1.3.1", "@mapbox/whoots-js": "^3.1.0", - "@maplibre/maplibre-gl-style-spec": "^19.3.2", - "@types/geojson": "^7946.0.11", - "@types/mapbox__point-geometry": "^0.1.2", - "@types/mapbox__vector-tile": "^1.3.1", - "@types/pbf": "^3.0.3", - "@types/supercluster": "^7.1.1", + "@maplibre/maplibre-gl-style-spec": "^20.1.1", + "@types/geojson": "^7946.0.14", + "@types/geojson-vt": "3.2.5", + "@types/mapbox__point-geometry": "^0.1.4", + "@types/mapbox__vector-tile": "^1.3.4", + "@types/pbf": "^3.0.5", + "@types/supercluster": "^7.1.3", "earcut": "^2.2.4", "geojson-vt": "^3.2.1", "gl-matrix": "^3.4.3", @@ -9431,6 +18424,89 @@ "node": ">= 8" } }, + "node_modules/microdata-rdf-streaming-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-2.0.1.tgz", + "integrity": "sha512-oEEYP3OwPGOtoE4eIyJvX1eJXI7VkGR4gKYqpEufaRXc2ele/Tkid/KMU3Los13wGrOq6woSxLEGOYSHzpRvwA==", + "dependencies": { + "@rdfjs/types": "*", + "htmlparser2": "^8.0.0", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.1.0", + "relative-to-absolute-iri": "^1.0.2" + } + }, + "node_modules/microdata-rdf-streaming-parser/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/microdata-rdf-streaming-parser/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/microdata-rdf-streaming-parser/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/microdata-rdf-streaming-parser/node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/microdata-rdf-streaming-parser/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -9724,6 +18800,33 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "node_modules/n3": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.17.3.tgz", + "integrity": "sha512-ZHc24eZi2GIJcJQVxtL6NT3g+mTHRNeTVfXWELzeUOirqLrh2AAyg0nfYZ/kryJWKFSCgO37DGB6Ok3qmGgEcA==", + "dependencies": { + "queue-microtask": "^1.1.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">=12.0" + } + }, + "node_modules/n3/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/nano-markdown": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/nano-markdown/-/nano-markdown-1.2.2.tgz", @@ -9758,6 +18861,11 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, + "node_modules/negotiate": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/negotiate/-/negotiate-1.0.1.tgz", + "integrity": "sha512-KBCIM4dAIT9j/pSXLHHQbZG74NmKNXTtxU2zHN0HG6uzzuFE01m1UdGoUmVHmACiBuCAOL7KwfqSW1oUQBj/vg==" + }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -9838,6 +18946,44 @@ "node": ">=10.5.0" } }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-html-parser": { "version": "6.1.5", "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.5.tgz", @@ -9910,6 +19056,14 @@ "node": ">= 6" } }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", @@ -9946,6 +19100,14 @@ "wrappy": "1" } }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dependencies": { + "fn.name": "1.x.x" + } + }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -10431,6 +19593,20 @@ "pathe": "^1.0.0" } }, + "node_modules/pmtiles": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/pmtiles/-/pmtiles-3.0.5.tgz", + "integrity": "sha512-K6NxVvW/vXE3052VZKF2ppyjdyhLx41FidR5yV8L/+El+lcMJpXS0vHBSPFmjdag5zkYv2XGDdq+3VjB2K7l6w==", + "dependencies": { + "@types/leaflet": "^1.9.8", + "fflate": "^0.8.0" + } + }, + "node_modules/pmtiles/node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, "node_modules/point-in-polygon": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.1.0.tgz", @@ -10781,6 +19957,11 @@ "resolved": "https://registry.npmjs.org/process-yargs-parser/-/process-yargs-parser-2.1.0.tgz", "integrity": "sha512-tzMsZn3lKksICtEhICR/k+Qv1UmQNVtzm0FaL10OiGJtw0ixgw0woNefcREDc6ZjqXOKBSruRagyULuwZ4FK4Q==" }, + "node_modules/promise-polyfill": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==" + }, "node_modules/prompt-sync": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz", @@ -10970,6 +20151,260 @@ "node": ">=12" } }, + "node_modules/rdf-data-factory": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.2.tgz", + "integrity": "sha512-TfQD63Lokabd09ES1jAtKK8AA6rkr9rwyUBGo6olOt1CE0Um36CUQIqytyf0am2ouBPR0l7SaHxCiMcPGHkt1A==", + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/rdf-isomorphic": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.1.tgz", + "integrity": "sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==", + "dependencies": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "node_modules/rdf-literal": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.2.tgz", + "integrity": "sha512-79Stlu3sXy0kq9/decHFLf3xNPuY6sfhFPhd/diWErgaFr0Ekyg38Vh9bnVcqDYu48CFRi0t+hrFii49n92Hbw==", + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/rdf-object": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.14.0.tgz", + "integrity": "sha512-/KSUWr7onDtL7d81kOpcUzJ2vHYOYJc2KU9WzBZRYydBhK0Sksh5Hg4VCQNaxUEvYEgdrrTuq9SLpOOCmag0rQ==", + "dependencies": { + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", + "streamify-array": "^1.0.1" + } + }, + "node_modules/rdf-parse": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-2.3.3.tgz", + "integrity": "sha512-N5XEHm+ajFzwo/vVNzB4tDtvqMwBosbVJmZl5DlzplQM9ejlJBlN/43i0ImAb/NMtJJgQPC3jYnkCKGA7wdo/w==", + "dependencies": { + "@comunica/actor-http-fetch": "^2.0.1", + "@comunica/actor-http-proxy": "^2.0.1", + "@comunica/actor-rdf-parse-html": "^2.0.1", + "@comunica/actor-rdf-parse-html-microdata": "^2.0.1", + "@comunica/actor-rdf-parse-html-rdfa": "^2.0.1", + "@comunica/actor-rdf-parse-html-script": "^2.0.1", + "@comunica/actor-rdf-parse-jsonld": "^2.0.1", + "@comunica/actor-rdf-parse-n3": "^2.0.1", + "@comunica/actor-rdf-parse-rdfxml": "^2.0.1", + "@comunica/actor-rdf-parse-shaclc": "^2.6.2", + "@comunica/actor-rdf-parse-xml-rdfa": "^2.0.1", + "@comunica/bus-http": "^2.0.1", + "@comunica/bus-init": "^2.0.1", + "@comunica/bus-rdf-parse": "^2.0.1", + "@comunica/bus-rdf-parse-html": "^2.0.1", + "@comunica/config-query-sparql": "^2.0.1", + "@comunica/core": "^2.0.1", + "@comunica/mediator-combine-pipeline": "^2.0.1", + "@comunica/mediator-combine-union": "^2.0.1", + "@comunica/mediator-number": "^2.0.1", + "@comunica/mediator-race": "^2.0.1", + "@rdfjs/types": "*", + "readable-stream": "^4.3.0", + "stream-to-string": "^1.2.0" + } + }, + "node_modules/rdf-parse/node_modules/@comunica/actor-http-proxy": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-proxy/-/actor-http-proxy-2.10.2.tgz", + "integrity": "sha512-3yUF8BCh4nwq8J6NRILEsyNrQNStkE9ggJ7hYwRfA1XcMgz1pANNaWJ2P2TEKH1jNinr23bL3JeuUZCm9Kz9dA==", + "dependencies": { + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-time": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "node_modules/rdf-parse/node_modules/@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "node_modules/rdf-parse/node_modules/@comunica/bus-init": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-2.10.0.tgz", + "integrity": "sha512-hJejHa8sLVhQLFlduCVnhOd5aW3FCEz8wmWjyeLI3kiHFaQibnGVMhUuuNRX5f8bnnPuTdEiHc1nnYHuSi+j8A==", + "dependencies": { + "@comunica/core": "^2.10.0", + "readable-stream": "^4.4.2" + } + }, + "node_modules/rdf-parse/node_modules/@comunica/config-query-sparql": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/config-query-sparql/-/config-query-sparql-2.7.0.tgz", + "integrity": "sha512-rMnFgT7cz9+0z7wV4OzIMY5qM9/Z0mTGrR8y2JokoHyyTcBGOSajFmy61XCSLMCsLLG8qDXsJ4ClCCky3TGfqA==" + }, + "node_modules/rdf-parse/node_modules/@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "dependencies": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/rdf-parse/node_modules/@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "dependencies": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/rdf-parse/node_modules/@comunica/mediatortype-time": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-time/-/mediatortype-time-2.10.0.tgz", + "integrity": "sha512-nBz1exxrja1Tj8KSlSevG4Hw2u09tTh6gtNfVjI76i/e7muu4RUWVhi9b8PcwBNAfuUqRl+5OgOSa2X4W+6QlA==", + "dependencies": { + "@comunica/core": "^2.10.0" + } + }, + "node_modules/rdf-parse/node_modules/@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "dependencies": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "node_modules/rdf-parse/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/rdf-quad": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", + "dependencies": { + "rdf-data-factory": "^1.0.1", + "rdf-literal": "^1.2.0", + "rdf-string": "^1.5.0" + } + }, + "node_modules/rdf-store-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rdf-store-stream/-/rdf-store-stream-2.0.1.tgz", + "integrity": "sha512-znGaibHLvbRE0BrDcXHRleRcLKlHYP6ADr1RFJ3yA28QBmhOjxxgbBFTvCMzgsxvBIqdaFS8Vd2FG4NefJL4Mg==", + "dependencies": { + "@rdfjs/types": "*", + "rdf-stores": "^1.0.0" + } + }, + "node_modules/rdf-stores": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rdf-stores/-/rdf-stores-1.0.0.tgz", + "integrity": "sha512-wqp7M5409rbhpWQE0C1vyVysbz++aD2vEkZ6yueSxhDtyLvznS41R3cKiuUpm3ikc/yTpaCZwPo4iyKEaAwBIg==", + "dependencies": { + "@rdfjs/types": "*", + "asynciterator": "^3.8.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.2", + "rdf-terms": "^1.9.1" + } + }, + "node_modules/rdf-streaming-store": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rdf-streaming-store/-/rdf-streaming-store-1.1.4.tgz", + "integrity": "sha512-Bq98GHHvmdJRTxZBH5TKYuWLAHEXiLTd/F6OeuLtWC6tQydxp7smMnYyoRtztc9p+jBsA9z9HmzQsGfEE2mj4w==", + "dependencies": { + "@rdfjs/types": "*", + "@types/n3": "^1.10.4", + "@types/readable-stream": "^2.3.15", + "n3": "^1.16.3", + "rdf-string": "^1.6.2", + "rdf-terms": "^1.9.1", + "readable-stream": "^4.3.0" + } + }, + "node_modules/rdf-streaming-store/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/rdf-string": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.3.tgz", + "integrity": "sha512-HIVwQ2gOqf+ObsCLSUAGFZMIl3rh9uGcRf1KbM85UDhKqP+hy6qj7Vz8FKt3GA54RiThqK3mNcr66dm1LP0+6g==", + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/rdf-string-ttl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rdf-string-ttl/-/rdf-string-ttl-1.3.2.tgz", + "integrity": "sha512-yqolaVoUvTaSC5aaQuMcB4BL54G/pCGsV4jQH87f0TvAx8zHZG0koh7XWrjva/IPGcVb1QTtaeEdfda5mcddJg==", + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/rdf-terms": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.11.0.tgz", + "integrity": "sha512-iKlVgnMopRKl9pHVNrQrax7PtZKRCT/uJIgYqvuw1VVQb88zDvurtDr1xp0rt7N9JtKtFwUXoIQoEsjyRo20qQ==", + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0" + } + }, "node_modules/rdfa": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/rdfa/-/rdfa-0.0.10.tgz", @@ -10979,6 +20414,119 @@ "rdf": "^4.0.0" } }, + "node_modules/rdfa-streaming-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-2.0.1.tgz", + "integrity": "sha512-7Yyaj030LO7iQ38Wh/RNLVeYrVFJeyx3dpCK7C1nvX55eIN/gE4HWfbg4BYI9X7Bd+eUIUMVeiKYLmYjV6apow==", + "dependencies": { + "@rdfjs/types": "*", + "htmlparser2": "^8.0.0", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "relative-to-absolute-iri": "^1.0.2" + } + }, + "node_modules/rdfa-streaming-parser/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/rdfa-streaming-parser/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/rdfa-streaming-parser/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/rdfa-streaming-parser/node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/rdfa-streaming-parser/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/rdfxml-streaming-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.4.0.tgz", + "integrity": "sha512-f+tdI1wxOiPzMbFWRtOwinwPsqac0WIN80668yFKcVdFCSTGOWTM70ucQGUSdDZZo7pce/UvZgV0C3LDj0P7tg==", + "dependencies": { + "@rdfjs/types": "*", + "@rubensworks/saxes": "^6.0.1", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.4.2", + "relative-to-absolute-iri": "^1.0.0", + "validate-iri": "^1.0.0" + } + }, + "node_modules/rdfxml-streaming-parser/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -11014,6 +20562,11 @@ "node": ">= 6" } }, + "node_modules/readable-stream-node-to-web": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readable-stream-node-to-web/-/readable-stream-node-to-web-1.0.1.tgz", + "integrity": "sha512-OGzi2VKLa8H259kAx7BIwuRrXHGcxeHj4RdASSgEGBP9Q2wowdPvBc65upF4Q9O05qWgKqBw1+9PiLTtObl7uQ==" + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -11126,6 +20679,11 @@ "jsesc": "bin/jsesc" } }, + "node_modules/relative-to-absolute-iri": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", + "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==" + }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -11429,6 +20987,14 @@ "regexp-tree": "~0.1.1" } }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "engines": { + "node": ">=10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -11562,6 +21128,25 @@ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, + "node_modules/shaclc-parse": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/shaclc-parse/-/shaclc-parse-1.4.0.tgz", + "integrity": "sha512-zyxjIYQH2ghg/wtMvOp+4Nr6aK8j9bqFiVT3w47K8WHPYN+S3Zgnh2ybT+dGgMwo9KjiOoywxhjC7d8Z6GCmfA==", + "dependencies": { + "@rdfjs/types": "^1.1.0", + "n3": "^1.16.3" + } + }, + "node_modules/shaclc-write": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/shaclc-write/-/shaclc-write-1.4.2.tgz", + "integrity": "sha512-aejD8fNgTfTINInjlwW7oz4GbmIJmDFJu4Tc3WVhmMH2QV24F+Ey/I/obMP/cQu/LwcfX7O2eu7bI9RUFeDMWw==", + "dependencies": { + "@jeswr/prefixcc": "^1.2.1", + "n3": "^1.16.3", + "rdf-string-ttl": "^1.3.2" + } + }, "node_modules/sharp": { "version": "0.32.6", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", @@ -11775,7 +21360,6 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dev": true, "dependencies": { "is-arrayish": "^0.3.1" } @@ -11783,8 +21367,7 @@ "node_modules/simple-swizzle/node_modules/is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, "node_modules/simplicial-complex": { "version": "1.0.0", @@ -11923,6 +21506,109 @@ "source-map": "^0.6.0" } }, + "node_modules/spark-md5": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", + "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==" + }, + "node_modules/sparqlalgebrajs": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-4.3.4.tgz", + "integrity": "sha512-BUpd79w3SfrfRPyA+gHA23B3masuD2wLK47IOnglyIK6hx4BC+4TWtOmP5D8RTbmbPCuLKYfLGyLDF/RQsKgWg==", + "dependencies": { + "@rdfjs/types": "*", + "@types/sparqljs": "^3.1.3", + "fast-deep-equal": "^3.1.3", + "minimist": "^1.2.6", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.10.0", + "sparqljs": "^3.7.1" + }, + "bin": { + "sparqlalgebrajs": "bin/sparqlalgebrajs.js" + } + }, + "node_modules/sparqljs": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.7.1.tgz", + "integrity": "sha512-I1jYMtcwDkgCEqQ4eQuQIhB8hFAlRAJ6YDXDcV54XztaJaYRFqJlidHt77S3j8Mfh6kY6GK04dXPEIopxbEeuQ==", + "dependencies": { + "rdf-data-factory": "^1.1.2" + }, + "bin": { + "sparqljs": "bin/sparql-to-json" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/sparqljson-parse": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.2.0.tgz", + "integrity": "sha512-2TfvNvUsaJyWfCrq3ExdDdbF9LBLzIUCricg+D1YCYbbmyTzscgCtRk4KcIyJF178DtfCt4BkKzbKl8IXMHp8w==", + "dependencies": { + "@bergos/jsonparse": "^1.4.1", + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + } + }, + "node_modules/sparqljson-parse/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/sparqljson-to-tree": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sparqljson-to-tree/-/sparqljson-to-tree-3.0.2.tgz", + "integrity": "sha512-8h/ZEPPBhBlMbgMX1TOumJQku2mLYYdwd/octsDa/bdqdNcMeAcB7S2Qh4SEZ+0pPNed9CBk1d5TEUpwJlcdmw==", + "dependencies": { + "@rdfjs/types": "*", + "rdf-literal": "^1.3.2", + "sparqljson-parse": "^2.0.0" + } + }, + "node_modules/sparqlxml-parse": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.1.1.tgz", + "integrity": "sha512-71sltShF6gDAzuKWEHNeij7r0Mv5VqRrvJing6W4WHJ12GRe6+t1IRTv6MeqxYN3XJmKevs7B3HCBUo7wceeJQ==", + "dependencies": { + "@rdfjs/types": "*", + "@rubensworks/saxes": "^6.0.1", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + } + }, + "node_modules/sparqlxml-parse/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/splaytree": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/splaytree/-/splaytree-3.1.1.tgz", @@ -11994,6 +21680,14 @@ "node": ">=0.10.0" } }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "engines": { + "node": "*" + } + }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -12027,6 +21721,24 @@ "node": "*" } }, + "node_modules/stream-to-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.1.tgz", + "integrity": "sha512-WsvTDNF8UYs369Yko3pcdTducQtYpzEZeOV7cTuReyFvOoA9S/DLJ6sYK+xPafSPHhUMpaxiljKYnT6JSFztIA==", + "dependencies": { + "promise-polyfill": "^1.1.6" + } + }, + "node_modules/streamify-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==" + }, + "node_modules/streamify-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==" + }, "node_modules/streamx": { "version": "2.15.5", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.5.tgz", @@ -12506,6 +22218,11 @@ "optional": true, "peer": true }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + }, "node_modules/text-segmentation": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", @@ -12675,6 +22392,14 @@ "resolved": "https://registry.npmjs.org/trap-focus-svelte/-/trap-focus-svelte-1.0.1.tgz", "integrity": "sha512-qacSd68+c12mudUu9Mo70Ea16263ich2APFh1d0K7k9rLtwNcxlxNqA6l7Wv7xdzhJbC9TASxroiDSkiN2349w==" }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/ts-api-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", @@ -13757,6 +23482,11 @@ "punycode": "^2.1.0" } }, + "node_modules/uritemplate": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/uritemplate/-/uritemplate-0.3.4.tgz", + "integrity": "sha512-enADBvHfhjrwxFMTVWeIIYz51SZ91uC6o2MR/NQTVljJB6HTZ8eQL3Q7JBj3RxNISA14MOwJaU3vpf5R6dyxHA==" + }, "node_modules/url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -13810,6 +23540,11 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "devOptional": true }, + "node_modules/validate-iri": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz", + "integrity": "sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==" + }, "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -14030,6 +23765,11 @@ "node": ">= 8" } }, + "node_modules/web-streams-ponyfill": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/web-streams-ponyfill/-/web-streams-ponyfill-1.4.2.tgz", + "integrity": "sha512-LCHW+fE2UBJ2vjhqJujqmoxh1ytEDEr0dPO3CabMdMDJPKmsaxzS90V1Ar6LtNE5VHLqxR4YMEj1i4lzMAccIA==" + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -14168,6 +23908,40 @@ "node": ">= 6.4" } }, + "node_modules/winston": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/word-wrap": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", @@ -14293,9 +24067,7 @@ "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "optional": true, - "peer": true + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, "node_modules/xtend": { "version": "4.0.2", @@ -15452,6 +25224,8628 @@ "to-fast-properties": "^2.0.0" } }, + "@bergos/jsonparse": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@bergos/jsonparse/-/jsonparse-1.4.1.tgz", + "integrity": "sha512-vXIT0nzZGX/+yMD5bx2VhTzc92H55tPoehh1BW/FZHOndWGFddrH3MAfdx39FRc7irABirW6EQaGxIJYV6CGuA==", + "requires": { + "buffer": "^6.0.3" + } + }, + "@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==" + }, + "@comunica/actor-abstract-parse": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-parse/-/actor-abstract-parse-2.10.0.tgz", + "integrity": "sha512-0puCWF+y24EDOOAUUVVbC+tOf4UV+LzEbqi8T5v25jcVGCXyTqfra+bDywfrcv3adrVp18jLCJ46ycaH5xhy9Q==", + "requires": { + "@comunica/core": "^2.10.0", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-abstract-path": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-path/-/actor-abstract-path-2.10.1.tgz", + "integrity": "sha512-+k1ltuUuIyn4iUm5oRMObyt2zhu68h7ymzxuKU4ezATlgwfwj6EM7/3W2n2/gxjg9tcFMr5GC6aNnFQmq3Iuig==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-context-preprocess-source-to-destination": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-context-preprocess-source-to-destination/-/actor-context-preprocess-source-to-destination-2.10.0.tgz", + "integrity": "sha512-sQc42Sd4cuVumZ9+PDnWBTBYneqCFShFliK8Et83GR3wBGzu9x0tS/M2o3e63sBbb6ZkWHyO5jl/O8AbrjhcTg==", + "requires": { + "@comunica/bus-context-preprocess": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-context-preprocess": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-context-preprocess/-/bus-context-preprocess-2.10.0.tgz", + "integrity": "sha512-eJ5CkzbnmxB9fkr2F05jnnjcaowp+yxd0+pAtvx5MLl2Kpx3nWLqHPcl4/EVVDPD+i0TEkq4AXQ1BD9BMuXK0A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-dereference-fallback": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-fallback/-/actor-dereference-fallback-2.10.0.tgz", + "integrity": "sha512-RSc/ScPdC7l13aZjz/6r4niWA8WDETbzuESQKKSWXi/HAlFOyOxdrDADdayVY2oyeZHIQibeNRtSi2ItzU7OPQ==", + "requires": { + "@comunica/bus-dereference": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-dereference-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-http/-/actor-dereference-http-2.10.2.tgz", + "integrity": "sha512-gdDo83W1TAgD2jx0kVbzZKzzt++L4Y4fbyTOH3duy6vx1EMGGZlNCp6I1uguepKEjNX4N0zhAcZzdJcv8A3XMA==", + "requires": { + "@comunica/bus-dereference": "^2.10.0", + "@comunica/bus-http": "^2.10.2", + "@comunica/core": "^2.10.0", + "cross-fetch": "^4.0.0", + "relative-to-absolute-iri": "^1.0.7", + "stream-to-string": "^1.2.0" + }, + "dependencies": { + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-dereference-rdf-parse": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-dereference-rdf-parse/-/actor-dereference-rdf-parse-2.10.0.tgz", + "integrity": "sha512-ANWL6Bv+2WHUjVRS7hfkOfVBNJs8xYZ9KHlgBOQ94CKtQZB9uSMjdb1hLp/cQjiDmFIWLn0+GM5Xi0KFwBkVAw==", + "requires": { + "@comunica/bus-dereference": "^2.10.0", + "@comunica/bus-dereference-rdf": "^2.10.0", + "@comunica/bus-rdf-parse": "^2.10.0" + } + }, + "@comunica/actor-hash-bindings-sha1": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-hash-bindings-sha1/-/actor-hash-bindings-sha1-2.10.0.tgz", + "integrity": "sha512-f981PcCiDWbdZfM1ct1v1q/VII14y18lo1enEdHB25SF0hCkzIDwh9IrfDfJDju5I6luSWNE/MYMMeAAmF9e3g==", + "requires": { + "@comunica/bus-hash-bindings": "^2.10.0", + "@comunica/core": "^2.10.0", + "canonicalize": "^2.0.0", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.1" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "canonicalize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", + "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" + } + } + }, + "@comunica/actor-http-fetch": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-fetch/-/actor-http-fetch-2.10.2.tgz", + "integrity": "sha512-siHGx0TMVNb2gXvOroq0B3JE6uuS+4s+MsDkntqdBNVigwVYqLpNSKEaL5is8pputFfohJfDQY06lAHbfDNEcw==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-time": "^2.10.0", + "abort-controller": "^3.0.0", + "cross-fetch": "^4.0.0" + }, + "dependencies": { + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/mediatortype-time": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-time/-/mediatortype-time-2.10.0.tgz", + "integrity": "sha512-nBz1exxrja1Tj8KSlSevG4Hw2u09tTh6gtNfVjI76i/e7muu4RUWVhi9b8PcwBNAfuUqRl+5OgOSa2X4W+6QlA==", + "requires": { + "@comunica/core": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-http-wayback": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-wayback/-/actor-http-wayback-2.10.2.tgz", + "integrity": "sha512-wjYNXRrJvMqt9paO3HawyM+O5/14ofSHFuMAwGr/UyZQ5pCSFkY0YPd+qp9y8C4xvypPgsvT3PtiRyKgjD4FWw==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "cross-fetch": "^4.0.0", + "stream-to-string": "^1.2.0" + }, + "dependencies": { + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-optimize-query-operation-bgp-to-join": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-bgp-to-join/-/actor-optimize-query-operation-bgp-to-join-2.10.0.tgz", + "integrity": "sha512-M9vwM4a3VQA/ir8Q7eGRNzzx52u6RJFIXBW8p+Zkn+zv+4fsket3zLYJGhJU7dcvaSXcOi68rDP/r8KfgNXr4Q==", + "requires": { + "@comunica/bus-optimize-query-operation": "^2.10.0", + "@comunica/core": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bus-optimize-query-operation": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-optimize-query-operation-join-bgp": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-join-bgp/-/actor-optimize-query-operation-join-bgp-2.10.0.tgz", + "integrity": "sha512-tzZojWPbWn/S0DZGjGfV90ZRJVWT/yX3DKGgZ1ur33U5TW8n/fBQxHNMPCLu0GkMQ1dyx6bU+ekILTqm+21Jyw==", + "requires": { + "@comunica/bus-optimize-query-operation": "^2.10.0", + "@comunica/core": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bus-optimize-query-operation": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-optimize-query-operation-join-connected": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-optimize-query-operation-join-connected/-/actor-optimize-query-operation-join-connected-2.10.0.tgz", + "integrity": "sha512-RsbKIAxX1HyoR/AUzqIV++dTcLiEElRIVDHYTaXVVvGgHECYdh9s+oc8cvv/lDbLVpfnc6P9C9BTAfrqOjKkhA==", + "requires": { + "@comunica/bus-optimize-query-operation": "^2.10.0", + "@comunica/core": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bus-optimize-query-operation": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-ask": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-ask/-/actor-query-operation-ask-2.10.1.tgz", + "integrity": "sha512-7oktqE4fkMhi6Hs9XCcwwoZRsEismVqJZ5wp9lXXOPaxnHEiFyj5gb/B6baCstoCvCt6LcU8fVvfHSitbFCpeQ==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-bgp-join": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-bgp-join/-/actor-query-operation-bgp-join-2.10.1.tgz", + "integrity": "sha512-eNpnvgFyKlZEHkMzubYL8ndADSsAQH4rwXvh22CGnf0FwyndHr6TEpmE6j77m9vXiSJ/lda0U3Zv4vIXvtREOw==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-construct": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-construct/-/actor-query-operation-construct-2.10.1.tgz", + "integrity": "sha512-S+Nt1+1psv01QRnfytZjiog2NBNHIbjr7XIv+MO3p6aVmLCoZ6lmjxSGNdbX+EmcGr7tbbafXK5z3zRM+ke8Mw==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-describe-subject": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-describe-subject/-/actor-query-operation-describe-subject-2.10.1.tgz", + "integrity": "sha512-E8i0M6haJ5iZVeHMn5PbvA4G+l87mcZKqIxVpYAnJVpD667F74Dkx3IMbk+ohRmyRmnkOEmztUrjeyixHHzUEQ==", + "requires": { + "@comunica/actor-query-operation-union": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-distinct-hash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-distinct-hash/-/actor-query-operation-distinct-hash-2.10.1.tgz", + "integrity": "sha512-exvJbgcJ0Pe4EGbLJD5LuGpvaGcFeckCxwB5pyd9OewNke+tLLP7nbEjB8KFEPpCO9LE7zt4faB1HvpJdEHQKQ==", + "requires": { + "@comunica/bus-hash-bindings": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-extend": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-extend/-/actor-query-operation-extend-2.10.1.tgz", + "integrity": "sha512-wkZxUfDu8T5lXD+OFLItmjjbnEBqtv0z8pxVKgI/gX8mOeu5KcPWLH0dJODTWoIzIYrJhV25FmCgBks1rt6K8w==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-filter-sparqlee": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-filter-sparqlee/-/actor-query-operation-filter-sparqlee-2.10.1.tgz", + "integrity": "sha512-w2PnDNnlf+9B947ZdeSs7NpW9qGJjRiuODZYwhh0e6cx89GPDhEDVuJwawF6VP3m/oLcgXOAdif0Wwo3d8KNAA==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-from-quad": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-from-quad/-/actor-query-operation-from-quad-2.10.1.tgz", + "integrity": "sha512-7D4R8ONNJJPzoRu96dwIToOEk6/3O/T26FRzCqQKrbjFHNkX2v92KA/SiDzNz59VmDNWjYF1rsV31Ade6J89MA==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-group": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-group/-/actor-query-operation-group-2.10.1.tgz", + "integrity": "sha512-Od5s9Vb6uDPzXa6OAUC1WSMF96spNPJI2Zqf0Ixejw4zCNevOK/VwHivYfF0vHIUZxjRrOl3Al1ZU9L8n5Wxlw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-hash-bindings": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-join": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-join/-/actor-query-operation-join-2.10.1.tgz", + "integrity": "sha512-CGed1nSPvKsM8rvj/4KFME0lLnzlDMMEU+xGczu+BZW4FK+Z6RyBtHIUmy8SgFvNP1GXz83q8KnoecF5z8IpjA==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-leftjoin": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-leftjoin/-/actor-query-operation-leftjoin-2.10.1.tgz", + "integrity": "sha512-j0RwdoiV2WsCQnxcSa//m5FZ+ZHDRBm6ObsgpqS44WxzpV8rIB6Dq/3UxGgE7D2vK400JaiiHa3dFiHTwDF18w==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-minus": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-minus/-/actor-query-operation-minus-2.10.1.tgz", + "integrity": "sha512-rUvHbc5/EUWMSJUgOEtxabCJ9IT9YThuG0FhcQk+BGRPGmsv2oz8uri5urKgCjfVXMH/09hRZksiDMqrmkQmZw==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-nop": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-nop/-/actor-query-operation-nop-2.10.1.tgz", + "integrity": "sha512-l/Z8Uuoq3AlSoxkgYjrP7O7Xc9h8Y3ZOh0f7UKCuAST3U5vPQ3k1YJckrRtdli8s0NHptN9TfZjwviEHuYbDFQ==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-orderby-sparqlee": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-orderby-sparqlee/-/actor-query-operation-orderby-sparqlee-2.10.1.tgz", + "integrity": "sha512-8D2JmCsBtqJC29zfiaAXNzZdsKybhDFo2F8iTHul3nQHxBC2CeKDrBnY70B/HpbWxkDE+pwMfSTEFc/CvNZN6A==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/expression-evaluator": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-path-alt": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-alt/-/actor-query-operation-path-alt-2.10.1.tgz", + "integrity": "sha512-y1AHtkibThqHve79wAriXqrZ6hdLBhcdwyOpVqqEhY19a32P97Xv58bOwOkNeLguYdn/5CFlCTHz6dnzxUIoXg==", + "requires": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/actor-query-operation-union": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-path-inv": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-inv/-/actor-query-operation-path-inv-2.10.1.tgz", + "integrity": "sha512-pd30Ug7bOAZ5amfA3I6v+cpitlDn2i5fE1BA006LYJISCAHSfKEgLmU2Q4ZPbwi4s1A8WKKLV7Q389Ru3Xtziw==", + "requires": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-path-link": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-link/-/actor-query-operation-path-link-2.10.1.tgz", + "integrity": "sha512-akujCHvCLmxaZ3gw9b1odDcqqAQnbbr9E8dTWLZyMJ4Mei8q/FmfWTF5MjGuQOas4UmQ3mm6gcqAKRZnJqlXNg==", + "requires": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-path-nps": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-nps/-/actor-query-operation-path-nps-2.10.1.tgz", + "integrity": "sha512-5X3EUzn6Cygz94gNn1XWQQUZVp+de59sw8/rxPQqgwzdi1Y1O9zrLv+/7GqMJoLz6MHmDSgsceTIY4eC1qmmOQ==", + "requires": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-path-one-or-more": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-one-or-more/-/actor-query-operation-path-one-or-more-2.10.1.tgz", + "integrity": "sha512-SkQeKESQqZOlzuMIsipcZ3ni7YfeyYMZCOtxC01HFbeyq+SDVbyfYUZ4Dd9uAi/g3InyzJRfou4csxHS8g7sHw==", + "requires": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-path-seq": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-seq/-/actor-query-operation-path-seq-2.10.1.tgz", + "integrity": "sha512-8TYLdVYaq9oMd9cuLFay78103bOfvygQU/C8NtPdLI9kkRWFsBatvaKmykHOHQAvaLgNhniOlrIJNEpepZGnAQ==", + "requires": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-path-zero-or-more": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-more/-/actor-query-operation-path-zero-or-more-2.10.1.tgz", + "integrity": "sha512-DtqBSw4LV1KI3q1YYAwgXlWrz1PO4EUpe/bVri0UB3JSQnxjBMHuJlHn2crC9Z93tmizneXxfvtWlLSXRrehsw==", + "requires": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-path-zero-or-one": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-path-zero-or-one/-/actor-query-operation-path-zero-or-one-2.10.1.tgz", + "integrity": "sha512-qePX+7iW5DXDwaYO210y7jhSU32Zk82S5UHuLLvd4q4HS1Z7j8e4KhukbeZKzQmOsO8S5JOHHM9vwvsOc3GPlw==", + "requires": { + "@comunica/actor-abstract-path": "^2.10.1", + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-project": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-project/-/actor-query-operation-project-2.10.1.tgz", + "integrity": "sha512-KAaPl4GFIQMWR8I8OoJroktGssPKGbEEJHyGzTuYXrmJrcXgknOxf5IUSVJNpaFfS6dshT6nqW+ciT+wRzz0Tg==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-quadpattern": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-quadpattern/-/actor-query-operation-quadpattern-2.10.1.tgz", + "integrity": "sha512-RZj1TXW+VDU4aYJVnSzgs8q0340e+YUeGLtoY9sl0Xzc8YNaIus4nXRUz/KfOXDknxm1q+a4Bof4yHNgXtb1Hw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.3", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-reduced-hash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-reduced-hash/-/actor-query-operation-reduced-hash-2.10.1.tgz", + "integrity": "sha512-9hX25ztkbNxnaUd7Gtilok+9WJkr/s3a3y4axLoYX4/nOogYN+nZRKChvNSn4qn/lWvpG5VWv4+q0en1fP+AGA==", + "requires": { + "@comunica/bus-hash-bindings": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "lru-cache": "^10.0.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + } + } + }, + "@comunica/actor-query-operation-service": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-service/-/actor-query-operation-service-2.10.1.tgz", + "integrity": "sha512-GvpvhUmhkVFOCLrmcblgIPqi91XPRog5WkC9NFMRCToaSNAMQq82DX2dvwzn3IFItcmyZrmy+GYoaQ9miK2uVQ==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-slice": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-slice/-/actor-query-operation-slice-2.10.1.tgz", + "integrity": "sha512-KOBnTIUvwf28WB7oHevUC/xciEdH5gLg7MN8DvamkAkUiUjviEsRpkswUiD8lFe1dAs0ekA4pC0NoZ8BWp3uqA==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-sparql-endpoint": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-sparql-endpoint/-/actor-query-operation-sparql-endpoint-2.10.2.tgz", + "integrity": "sha512-nbBzVHhYHUu/9qg9ZzTw7rKvsRb3ViBvM+Fye0oMXojZUbyu2WI6eLFUc2Ze1/LYDNf/1KHNpkg6OdsiEi8HFQ==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-httprequests": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "fetch-sparql-endpoint": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-union": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-union/-/actor-query-operation-union-2.10.1.tgz", + "integrity": "sha512-Ezi2bAa9r6yyffXDDUPLlKoszsXnuhDUeQSQuU3c7JEAcwip3wC3zMNkavowwfRZ/1D5doitmUEdw2lAd+xloA==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-update-add-rewrite": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-add-rewrite/-/actor-query-operation-update-add-rewrite-2.10.1.tgz", + "integrity": "sha512-is3mrCPciExrlny5JbCvB011kUNYE9/fzQc/zmA3h24S5hHZbygA9mSS+dI85IwwqdKPYlrEqfn8c0kCVWMKyw==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-update-clear": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-clear/-/actor-query-operation-update-clear-2.10.2.tgz", + "integrity": "sha512-+sf6+LvXdKBv2pCuBH/ad5QdpheZSPEvw19UoaPQRQyQVBzIskOtfs4rwJHSn/YmoqhbstKZszakad3oxWwTTg==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-update-compositeupdate": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-compositeupdate/-/actor-query-operation-update-compositeupdate-2.10.1.tgz", + "integrity": "sha512-IVNouBPFQLOczhW3qHyEoyxWrc7wnVT2vPwRHEaGlfnSiYAX42XSNLb9jR0XjB70wh3Civue4Ovs3upOXdrN3Q==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-update-copy-rewrite": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-copy-rewrite/-/actor-query-operation-update-copy-rewrite-2.10.1.tgz", + "integrity": "sha512-l/3AM35hjahyHmiLoB3FPm0Jlhdmd/vqgOGj7V3Ra+TfHo5h8XOB3uzG78Q06HQNw4iyONBZc5lLlYXkzRd5lg==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-update-create": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-create/-/actor-query-operation-update-create-2.10.2.tgz", + "integrity": "sha512-g3DwLkYFTU8uZoIOV7oNPWStBmqvnBBPvLngG19MQQezuVoh8w88efxhbN0B/khi5/v4qcLsr7C0ffAaPF8Fbg==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-update-deleteinsert": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-deleteinsert/-/actor-query-operation-update-deleteinsert-2.10.2.tgz", + "integrity": "sha512-FiRCLUAxkDoFpOe9jKC5llI7njbFdb1N8McRvZjBazUS4XDutjTZEkcKLs6AcRyG3esfHt6gNm6PqCuZ+aP8TA==", + "requires": { + "@comunica/actor-query-operation-construct": "^2.10.1", + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-update-drop": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-drop/-/actor-query-operation-update-drop-2.10.2.tgz", + "integrity": "sha512-N/878InwoyQfysjCyo9r+H82eUlNeEGODJ95gCvzF/QGRc11N3dfcd3XijyHQ9OKAoQ9oR5gcS829LB3BDtKHg==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-update-load": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-load/-/actor-query-operation-update-load-2.10.2.tgz", + "integrity": "sha512-lQb5fxb1+ZFbQkylmepze+e+LtVmVNvAvFBvjxUSfCT62uIKKHMeh1So5kTrGD0Co4ABCs1h6o9WB+8yQzFtQw==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-update-move-rewrite": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-update-move-rewrite/-/actor-query-operation-update-move-rewrite-2.10.1.tgz", + "integrity": "sha512-GDLSHG2++EAAyUKhDu+mM6QfMTuzM8dS24HqeQL5Wzbkdc2KTmNKyJuhJw6SfXr6EiF/kxf1GPY6zwjcwACx/w==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-operation-values": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-operation-values/-/actor-query-operation-values-2.10.1.tgz", + "integrity": "sha512-++9IgCVCQPIF8fzZLmrVpxPj8eI9TvkLshHAugQQBnhSijrDMUudW9eoA+eFmCaD/Ru7YtlKe3OJzRGV8FCG+Q==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-parse-graphql": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-parse-graphql/-/actor-query-parse-graphql-2.10.0.tgz", + "integrity": "sha512-l3RrkxElDYV4weXt3vpC0Q0She4AhbvPbPDronQulgN9nFAZhz4z9k8800T5uWMsL98wHNNXDFlnFk5S38lsow==", + "requires": { + "@comunica/bus-query-parse": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "graphql-to-sparql": "^3.0.1" + }, + "dependencies": { + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-parse-sparql": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-parse-sparql/-/actor-query-parse-sparql-2.10.0.tgz", + "integrity": "sha512-DUVAuSSNn0AyvLruOpRpLZBsr96Q4LuV1gcO+alKZALtfOZikRKY/3sXz1NUkaRQc7qDH9xFFTFrfJd0jLvlDA==", + "requires": { + "@comunica/bus-query-parse": "^2.10.0", + "@comunica/core": "^2.10.0", + "@types/sparqljs": "^3.1.3", + "sparqlalgebrajs": "^4.2.0", + "sparqljs": "^3.7.1" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-json": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-json/-/actor-query-result-serialize-json-2.10.0.tgz", + "integrity": "sha512-GuVcsOEhKgnVPT0AaCn8sJl/Uj5UUjUktEJpuMx1UAYt0//jcQsezJslYWmJrfXE/WJYidynyDxm8z3+jwLF7A==", + "requires": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdf-string": "^1.6.1", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-rdf": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-rdf/-/actor-query-result-serialize-rdf-2.10.0.tgz", + "integrity": "sha512-TBXJrDs5brRMFg8UisXS/F1vJw8nUtLhjugNZcd4ST8J965Ho1aNopydp4PMmwINMRxHhHtWJGwIB2Z5xD2lDw==", + "requires": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-simple": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-simple/-/actor-query-result-serialize-simple-2.10.0.tgz", + "integrity": "sha512-pS7+aB9Rym1B5oi+O68NFjEq+EwpCRYtTIxGBp39CTQ0F7m4edt9QwqmARqveJPryK5X66ACvjxvutEaTgWI8w==", + "requires": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-string": "^1.6.3", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-sparql-csv": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-csv/-/actor-query-result-serialize-sparql-csv-2.10.0.tgz", + "integrity": "sha512-Vk+7oTIPigDENK3CnV56vLfvMZVjHc3p2F4a49WDHfMgRrfQKJSQkx603vjW35n3tmUB8JSgRXr/+v7LK83KYQ==", + "requires": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-sparql-json": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-json/-/actor-query-result-serialize-sparql-json-2.10.2.tgz", + "integrity": "sha512-+J7SWXc4nXHzmQMk6q8MScrLNKdqX+/xQe6XCk0zDbDAt3/8EJh/2ROYFp4fEQyPDFWOwN4xpALgHRIh8PQRAQ==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "requires": { + "@comunica/core": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-sparql-tsv": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-tsv/-/actor-query-result-serialize-sparql-tsv-2.10.0.tgz", + "integrity": "sha512-TgA2WIXKdu/SrbHEP8HvGoLjhDOZnBoHsGsLFSHpxY/Uwk21rZqJLBEkhuhkUtGYzQPJ1n6Wmpjz9lBrUHGJPw==", + "requires": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-string-ttl": "^1.3.2", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-sparql-xml": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-sparql-xml/-/actor-query-result-serialize-sparql-xml-2.10.0.tgz", + "integrity": "sha512-8RDj5ZN23HnIc6zI5pD5XKi2pyg2cx6DhI7VDRcboi7v0DxfROuQqSEtbQ8m/W6Pngdz01ySogRcIVJCzRzBLQ==", + "requires": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-stats": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-stats/-/actor-query-result-serialize-stats-2.10.2.tgz", + "integrity": "sha512-jhj/vLDRxLuRMonBaqICt4saM9/UO9wJBT3Jxk7Rp73aQWLo+lILXKzcWpuxkh/EFx8raLUBmbjWCduamU1DzQ==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "process": "^0.11.10", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "requires": { + "@comunica/core": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-table": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-table/-/actor-query-result-serialize-table-2.10.0.tgz", + "integrity": "sha512-AAPrgM/rbsSThRu9jkfJhBUeTUwQTLHNVbIn8El+Akvz+Fueoi6oSi3SslpPMHOvIUiOAgCZ05f2RbBLlhP03g==", + "requires": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.3", + "rdf-terms": "^1.11.0", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-query-result-serialize-tree": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-query-result-serialize-tree/-/actor-query-result-serialize-tree-2.10.0.tgz", + "integrity": "sha512-sEyIzoSTV11YPY6r4fn6fwrf3WjLD6GrwXMTuevsDAKDYaMYxyriH3T/LMLLBEURy8SLD1I1Fpw/qaZisRmLTg==", + "requires": { + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "readable-stream": "^4.4.2", + "sparqljson-to-tree": "^3.0.1" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-join-entries-sort-cardinality": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-entries-sort-cardinality/-/actor-rdf-join-entries-sort-cardinality-2.10.0.tgz", + "integrity": "sha512-6dd/29q6QuQN2Ap090VA0KUFmmnHalPxFJb4MGh5nIbWZH0F/EvI+uK5vPx29cttr1yXL5u+MbJWaLb3IxwILg==", + "requires": { + "@comunica/bus-rdf-join-entries-sort": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-rdf-join-entries-sort": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-entries-sort/-/bus-rdf-join-entries-sort-2.10.0.tgz", + "integrity": "sha512-17FQrdYtzjY84OI/ZvipJKD0ei3IySmsWwaGC9sIJn+1W4LBVKudTu5S0tzGTKTb0URhS4mrCliUBzyINtIZMQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-inner-hash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-hash/-/actor-rdf-join-inner-hash-2.10.1.tgz", + "integrity": "sha512-nUtdS3NJGKSJQC8KjDVz4TEDmkXHBYQi0/bwnAXCDl1phhq8lgv+YEmRDNe/kuCze7HyqEt98rlSJ+ZhvcHXVQ==", + "requires": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asyncjoin": "^1.1.1" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-inner-multi-bind": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-bind/-/actor-rdf-join-inner-multi-bind-2.10.1.tgz", + "integrity": "sha512-tNZ2Q7z44Yr0iIFkvtTVAsts4v0IoC4b0FYaIUeYav4y5JOlR74hWWijTAzVfb31dTMsAp3r+y0xGIdd75LRHQ==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/bus-rdf-join-entries-sort": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/bus-rdf-join-entries-sort": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-entries-sort/-/bus-rdf-join-entries-sort-2.10.0.tgz", + "integrity": "sha512-17FQrdYtzjY84OI/ZvipJKD0ei3IySmsWwaGC9sIJn+1W4LBVKudTu5S0tzGTKTb0URhS4mrCliUBzyINtIZMQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-inner-multi-empty": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-empty/-/actor-rdf-join-inner-multi-empty-2.10.1.tgz", + "integrity": "sha512-z6a3qENwuvSU0PvqOySrsHsWSUvzfWd1xIYwEvKuEIJ9vYPoefIUgggx08E95ZF/k+PxZ0vKEywFpBSUKUzGYA==", + "requires": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "asynciterator": "^3.8.1" + }, + "dependencies": { + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-inner-multi-smallest": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-multi-smallest/-/actor-rdf-join-inner-multi-smallest-2.10.1.tgz", + "integrity": "sha512-MXwIvq+viDCmsxJwD4+fwMhwZINWva3jtQ3j5ne6DXgZYUJUFOw3VujvCP4/cl075RuSxYlXgy6ETHLa1TNr7g==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/bus-rdf-join-entries-sort": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/bus-rdf-join-entries-sort": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-entries-sort/-/bus-rdf-join-entries-sort-2.10.0.tgz", + "integrity": "sha512-17FQrdYtzjY84OI/ZvipJKD0ei3IySmsWwaGC9sIJn+1W4LBVKudTu5S0tzGTKTb0URhS4mrCliUBzyINtIZMQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-inner-nestedloop": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-nestedloop/-/actor-rdf-join-inner-nestedloop-2.10.1.tgz", + "integrity": "sha512-nFjGMrAIrRjRcsaU8UQXLbsDODVdf4LDpVNVQIrjfoWzhOIy13ApDQrqtuObaGVfryiFgt34zVEOwMWezWzl0A==", + "requires": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asyncjoin": "^1.1.1" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-inner-none": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-none/-/actor-rdf-join-inner-none-2.10.1.tgz", + "integrity": "sha512-4mqsuqvLSuXMbgY0PghqK5hmBGH5YkRTwUOpGpBE0EVQaiAoQOME0uVslkt2TBzUx5IQJC+trr/80sbA9mAhMw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "asynciterator": "^3.8.1" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-inner-single": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-single/-/actor-rdf-join-inner-single-2.10.1.tgz", + "integrity": "sha512-RfnwTEsuXNdR0cNRWaCvNPlfD5KyuScsc/55j/9mr8yqGUTE9h9Om1Is5u7xnpRMxGOEqwVP6apK3ZxsZqlL/w==", + "requires": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0" + } + }, + "@comunica/actor-rdf-join-inner-symmetrichash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-inner-symmetrichash/-/actor-rdf-join-inner-symmetrichash-2.10.1.tgz", + "integrity": "sha512-beFGkMUe3pTADtMXXPU8ab/IMULj+Hkg3Iah0zgrVZgwWH1Kgfkj/2qp32Ll5y9qcRbio4ruruKlHNXJJUU46Q==", + "requires": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asyncjoin": "^1.1.1" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-minus-hash": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-minus-hash/-/actor-rdf-join-minus-hash-2.10.1.tgz", + "integrity": "sha512-wIaB/EpuySaARhimoLzrE0cTH0TgVkL43IAtYX7ECwH9Qcv8blO4zbL4q2KUkY7OKZRM892aqMfo3kO1vMIK7w==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-minus-hash-undef": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-minus-hash-undef/-/actor-rdf-join-minus-hash-undef-2.10.1.tgz", + "integrity": "sha512-tz5LdeAHnylEQIq4bRfFqaH89WZXkkdFxEshqxWijFBp5wprUYiotMDrBo9zDFaPquhs42fILtTzLY9yaalc9w==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-string": "^1.6.1" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-optional-bind": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-optional-bind/-/actor-rdf-join-optional-bind-2.10.1.tgz", + "integrity": "sha512-6dOoI/rzRZ0RUyv2WlToClE42Z2YJE5xcSrot7haT2eMdxbzr1KjyasHBcIIkSK+WViDO006lXZ1Hi4tJm9uuA==", + "requires": { + "@comunica/actor-rdf-join-inner-multi-bind": "^2.10.1", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-optional-nestedloop": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-optional-nestedloop/-/actor-rdf-join-optional-nestedloop-2.10.1.tgz", + "integrity": "sha512-d7KUDjEKZszizd4SBvYkK2A6lScrq9ciEgzdrrp6IYZhIGAhJLTgPNg3Js3NEjpE7oj4KWl2WwKJe2sWcJbKJg==", + "requires": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0", + "asyncjoin": "^1.1.1" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-join-selectivity-variable-counting": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-join-selectivity-variable-counting/-/actor-rdf-join-selectivity-variable-counting-2.10.0.tgz", + "integrity": "sha512-D7tdzxA93bpZGXI5emJyvzk6LabeAnzcQMU/V5x2QwJxyoNr+LFbesBHDDP3/u4UJwmeP0a+dU0e5mbpJujSXw==", + "requires": { + "@comunica/bus-rdf-join-selectivity": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-accuracy": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-accumulate-cancontainundefs": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-cancontainundefs/-/actor-rdf-metadata-accumulate-cancontainundefs-2.10.0.tgz", + "integrity": "sha512-N3rwX4kT9rkW+89q4xCjO3KKG0DbeNIyeMWDzeh2vTw8nAXYyTiPjHYvx/6VUMzhFUWF+50VtVv8ZJPO6nEapw==", + "requires": { + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-accumulate-cardinality": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-cardinality/-/actor-rdf-metadata-accumulate-cardinality-2.10.0.tgz", + "integrity": "sha512-UpC5PbhzEDCAxTUqETH89uRaFRqmP6YuWt67OAPo5wocv2tQDs6/SdLwS695XnfeMJdfDHsXyoUzQg3r8dwydw==", + "requires": { + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-accumulate-pagesize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-pagesize/-/actor-rdf-metadata-accumulate-pagesize-2.10.0.tgz", + "integrity": "sha512-r364CWGr5rMpV2ec3TsD+9Yhvi1JUuRXLBQqtgzjAPbpWjfDSM1Q4h0P1z9h3D+sdUMEX/0iGAY3AH2FjJAxwA==", + "requires": { + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-accumulate-requesttime": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-accumulate-requesttime/-/actor-rdf-metadata-accumulate-requesttime-2.10.0.tgz", + "integrity": "sha512-SpG7gxxAPoW2NbgyZ2UNpwluJ+IvCOYIRDTXmVTAK8bntav+/ZG30yfESFBjB3LmJEwAnktAsTgM6OhldohPKw==", + "requires": { + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-all": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-all/-/actor-rdf-metadata-all-2.10.0.tgz", + "integrity": "sha512-dHaSxHTdneWVBMAF6WqZrGD+u4TPpHQaJ2WutK1NvQNPIiF0N7249aGTvXBIXZfsKYyQ73PUORDeLEOjX+tT7g==", + "requires": { + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/core": "^2.10.0", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-extract-allow-http-methods": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-allow-http-methods/-/actor-rdf-metadata-extract-allow-http-methods-2.10.0.tgz", + "integrity": "sha512-aCSX+lWcmz5Q/g34VJEblczqDS6N+gJ3AlcOcGuqhd6qHRU17dMeCIZCk8p6p+AhbJ30w4BTsrZRY2sF0MGCVA==", + "requires": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-extract-hydra-controls": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-controls/-/actor-rdf-metadata-extract-hydra-controls-2.10.0.tgz", + "integrity": "sha512-T6F5OaQNqrHVIwSGNRX6YPDBoAOYBQj3NTPID7vQae7J80oEX+CLoTkeJJwfHpoUWx0ihs8J0UkABgK3AWeylA==", + "requires": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*", + "@types/uritemplate": "^0.3.4", + "uritemplate": "0.3.4" + }, + "dependencies": { + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-extract-hydra-count": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-count/-/actor-rdf-metadata-extract-hydra-count-2.10.0.tgz", + "integrity": "sha512-nOMLN+9OSLFOVz6jc9pcyDizhcBBVT2azn7StTMK5ukFCcPCENS4y6lYhC5cijKZY7vUa7U6VzhX2vvw20MKDA==", + "requires": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-extract-hydra-pagesize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-hydra-pagesize/-/actor-rdf-metadata-extract-hydra-pagesize-2.10.0.tgz", + "integrity": "sha512-mD8KS2ENr2rbfBWxtVpxkB/Y2LyyAnwQU5UYKkpet8ELhlostdGROzYCNIAgfOgirOAsLgVkbmrX0XBGouI7rA==", + "requires": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-extract-patch-sparql-update": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-patch-sparql-update/-/actor-rdf-metadata-extract-patch-sparql-update-2.10.0.tgz", + "integrity": "sha512-U5ARpeWKShbbSfdtJeb6nyPcsdtMwEo2dp56T4aSTNSBKtAhQ78DjOxb23WIU/VR/qpw2yWcsbPnNJvSaLpRVQ==", + "requires": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-extract-put-accepted": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-put-accepted/-/actor-rdf-metadata-extract-put-accepted-2.10.0.tgz", + "integrity": "sha512-cGJg6tMMCOSGcitkUBN7b9/Sg5zgwWQC52g+Zk22o4i+Zgt24WLjfXXbnGWGoV+h9YZo8pkg7v1cpE5GpapNCg==", + "requires": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-extract-request-time": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-request-time/-/actor-rdf-metadata-extract-request-time-2.10.0.tgz", + "integrity": "sha512-zh3coTPZMbgF4mXKCO3bzn99INt9HFraKMZWc9s/kwBE6vhNZ5246Ql/6z1v7mccoIbanhI72gtjFTGGHru80Q==", + "requires": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-extract-sparql-service": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-extract-sparql-service/-/actor-rdf-metadata-extract-sparql-service-2.10.0.tgz", + "integrity": "sha512-Xc+id8FURTmY3ccb4hcVuAaOou5UqD+1YkTnGfMWQxVgMlFC1eeBvwWVzvedj0sHhnfbLgDwbCVYLCK1lNndSg==", + "requires": { + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/core": "^2.10.0", + "relative-to-absolute-iri": "^1.0.7" + }, + "dependencies": { + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-metadata-primary-topic": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-metadata-primary-topic/-/actor-rdf-metadata-primary-topic-2.10.0.tgz", + "integrity": "sha512-nabxkiYSPGPRylhYjGxF0KiJ/K8QiG1N/am/t8eaqwyjn/fo2/tHl0yXUaLLx0E8fChfbBv10sVlmLhsLrg8DQ==", + "requires": { + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-parse-html": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-2.10.0.tgz", + "integrity": "sha512-zgImXKpc+BN1i6lQiN1Qhlb1HbKdMIeJMOys6qbzRIijdK8GkGGChwhQp7Cso3lY1Nf4K7M3jPLZeQXeED2w7g==", + "requires": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/bus-rdf-parse-html": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "htmlparser2": "^9.0.0", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-parse-html-microdata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-2.10.0.tgz", + "integrity": "sha512-JLfiDauq4SmpI6TDS4HaHzI6iJe1j8lSk5FRRYK6YVEu8eO28jPmxQJiOiwbQiYqsjsV7kON/WIZSoUELoI4Ig==", + "requires": { + "@comunica/bus-rdf-parse-html": "^2.10.0", + "@comunica/core": "^2.10.0", + "microdata-rdf-streaming-parser": "^2.0.1" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-parse-html-rdfa": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-2.10.0.tgz", + "integrity": "sha512-9K3iaws9+FGl50oZi53hqyzhwjNKZ3mIr2zg/TAJZoapKvc14cthH17zKSSJrqI/NgBStRmZhBBkXcwfu1CANw==", + "requires": { + "@comunica/bus-rdf-parse-html": "^2.10.0", + "@comunica/core": "^2.10.0", + "rdfa-streaming-parser": "^2.0.1" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-parse-html-script": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-2.10.0.tgz", + "integrity": "sha512-7XYqWchDquWnBLjG7rmmY+tdE81UZ8fPCU0Hn+vI39/MikNOpaiyr/ZYFqhogWFa9SkjmH0a7idVUzmjiwKRZQ==", + "requires": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/bus-rdf-parse-html": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "readable-stream": "^4.4.2", + "relative-to-absolute-iri": "^1.0.7" + }, + "dependencies": { + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-parse-jsonld": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-2.10.2.tgz", + "integrity": "sha512-K4fvD0zMU22KkQCqIFVT5Oy2FREEZ9CAo9u6kOcsMxEvg9aHGIM6hkaXR8I+1JCx1mDuEj3zQ8joR4tQh8fYCw==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "jsonld-context-parser": "^2.2.2", + "jsonld-streaming-parser": "^3.0.1", + "stream-to-string": "^1.2.0" + }, + "dependencies": { + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-parse-n3": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-2.10.0.tgz", + "integrity": "sha512-o1MAbwJxW4Br2WCZdhFoRmAiOP4mfogeQqJ4nqlsOkoMtQ45EvLHsotb3Kqhuk5V+vsTxyK5v/a4zylGtcU7VQ==", + "requires": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/types": "^2.10.0", + "n3": "^1.17.0" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-parse-rdfxml": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-2.10.0.tgz", + "integrity": "sha512-HoJN52shXY3cvYtsS0cpin9KXpW3L7g1leebyCRSqnlnHdJv5D6G0Ep8vyt2xhquKNbOQ7LnP5VhiDiqz73XDg==", + "requires": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdfxml-streaming-parser": "^2.2.3" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-parse-shaclc": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-shaclc/-/actor-rdf-parse-shaclc-2.10.0.tgz", + "integrity": "sha512-i6tmuZuS+RtDiSXpQc3s/PxtCqwIguo4ANmVB20PK4VWgQgBwoPG7LlNcJ0xmuH/3Bv6C2Agn18PLF6dZX+fKw==", + "requires": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "readable-stream": "^4.4.2", + "shaclc-parse": "^1.4.0", + "stream-to-string": "^1.2.0" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-parse-xml-rdfa": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-2.10.0.tgz", + "integrity": "sha512-68r/6B/fEyA1/OYleVuaPq47J+g4xJcJijpdL1wEj7CqjV+Xa+sDWRpNCyLcD/e1Y/g9UQmLz0ZnSpR00PFddA==", + "requires": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/types": "^2.10.0", + "rdfa-streaming-parser": "^2.0.1" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-resolve-hypermedia-links-next": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-next/-/actor-rdf-resolve-hypermedia-links-next-2.10.0.tgz", + "integrity": "sha512-SpW46Tx8ksAxotGK2UEpvGcYjKwxB0x2KnbGmKHvo59embRjcUL/bmq3uHqZe7UwfynR2wDaRzMdVVSQccWSyA==", + "requires": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-rdf-resolve-hypermedia-links": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-2.10.0.tgz", + "integrity": "sha512-Mcz6bUdZySLK2om0cMt86n5TOThZOTpEFq2M42n7YAE3LL2KMnMDdhkaOC6SyY4tS0HGAuhce21Uq+Gz8Veq2g==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo/-/actor-rdf-resolve-hypermedia-links-queue-fifo-2.10.0.tgz", + "integrity": "sha512-Hh53Ts6z6MxKXhZZxgpXfc1hgNzIX/xbA9mD2Au7ZfAa5V5j8zPaVVKe06sxILQBTPMsFh1idP3vIqRwRXpsvg==", + "requires": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia-links-queue": "^2.10.0", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/bus-rdf-resolve-hypermedia-links": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-2.10.0.tgz", + "integrity": "sha512-Mcz6bUdZySLK2om0cMt86n5TOThZOTpEFq2M42n7YAE3LL2KMnMDdhkaOC6SyY4tS0HGAuhce21Uq+Gz8Veq2g==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/bus-rdf-resolve-hypermedia-links-queue": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links-queue/-/bus-rdf-resolve-hypermedia-links-queue-2.10.0.tgz", + "integrity": "sha512-f9amJk7ikktRfOoRnwag1KMTuo9v+PiDEVQA0dijl+jhcispKdjG6XK0MdZ1KSEmtUWejjS6nMRGvfJdM37eog==", + "requires": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-resolve-hypermedia-none": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-none/-/actor-rdf-resolve-hypermedia-none-2.10.0.tgz", + "integrity": "sha512-C4sJ0QJetq3QxsRkYstK5YXRYDGkcVTfyBOFUMYj7PbVakapnl8qPZkVL7VPMLVLVOfyBQHTT43Yp6Nl8VvmSA==", + "requires": { + "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", + "rdf-store-stream": "^2.0.0" + } + }, + "@comunica/actor-rdf-resolve-hypermedia-qpf": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-qpf/-/actor-rdf-resolve-hypermedia-qpf-2.10.0.tgz", + "integrity": "sha512-1iP9xD72bxFBLpbfC7Ev0Xoc+0rwusPFdnoYbEtqMHRfiM0h3nNrsSxyzdGJMAZaJeQzmBZIEiwR5pbo9qpmaQ==", + "requires": { + "@comunica/actor-rdf-metadata-extract-hydra-controls": "^2.10.0", + "@comunica/bus-dereference-rdf": "^2.10.0", + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0" + }, + "dependencies": { + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-resolve-hypermedia-sparql": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-hypermedia-sparql/-/actor-rdf-resolve-hypermedia-sparql-2.10.2.tgz", + "integrity": "sha512-UFsTuzHvjK/XhRGqfHr3WAVr+iBv6XTuU1fV9EuOaB+odclQ+H6TGtmW6/38CSufj86Y691VBXMk29zdWfrmGA==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "fetch-sparql-endpoint": "^4.0.0", + "lru-cache": "^10.0.0", + "rdf-data-factory": "^1.1.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + } + } + }, + "@comunica/actor-rdf-resolve-quad-pattern-federated": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-federated/-/actor-rdf-resolve-quad-pattern-federated-2.10.1.tgz", + "integrity": "sha512-OBRTTUWkXKa0ibDzcYLG7aKf3BfQp2j75xm65brRvwstNLmye9ZEq1PrNhbP5UDqQQeCgzPBrb0eGC8Vxek2RA==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-resolve-quad-pattern-hypermedia": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-hypermedia/-/actor-rdf-resolve-quad-pattern-hypermedia-2.10.1.tgz", + "integrity": "sha512-XkJOYu0bizWHsvgiaGyNAnRZsqv2risREK5SY14VCMXDYqmOWJLDppveGEUZAoEKEJuo4ZLDlP2gLDGzc0krxQ==", + "requires": { + "@comunica/bus-dereference-rdf": "^2.10.0", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/bus-rdf-metadata-accumulate": "^2.10.0", + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/bus-rdf-resolve-hypermedia-links-queue": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "lru-cache": "^10.0.0", + "rdf-data-factory": "^1.1.2", + "rdf-streaming-store": "^1.1.0", + "readable-stream": "^4.4.2", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "requires": { + "@comunica/core": "^2.10.0" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/bus-rdf-resolve-hypermedia-links": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links/-/bus-rdf-resolve-hypermedia-links-2.10.0.tgz", + "integrity": "sha512-Mcz6bUdZySLK2om0cMt86n5TOThZOTpEFq2M42n7YAE3LL2KMnMDdhkaOC6SyY4tS0HGAuhce21Uq+Gz8Veq2g==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/bus-rdf-resolve-hypermedia-links-queue": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia-links-queue/-/bus-rdf-resolve-hypermedia-links-queue-2.10.0.tgz", + "integrity": "sha512-f9amJk7ikktRfOoRnwag1KMTuo9v+PiDEVQA0dijl+jhcispKdjG6XK0MdZ1KSEmtUWejjS6nMRGvfJdM37eog==", + "requires": { + "@comunica/bus-rdf-resolve-hypermedia-links": "^2.10.0", + "@comunica/core": "^2.10.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source/-/actor-rdf-resolve-quad-pattern-rdfjs-source-2.10.0.tgz", + "integrity": "sha512-d6AlrngvZaVgoiiyMhkf6uiYaFZZdn/UZLo0FhZ++or1NZXo5KxK4UMgdiIygvPEiuuVzy0W1djHgOQ1rgh50g==", + "requires": { + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.2", + "rdf-terms": "^1.11.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-resolve-quad-pattern-string-source": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-resolve-quad-pattern-string-source/-/actor-rdf-resolve-quad-pattern-string-source-2.10.0.tgz", + "integrity": "sha512-v6QOBtXTXrDUZRHocrm2OYCsxGpyTScka/n85cewCcInqVGJP9J6zpdwetzvIy7wVJkac7JQabd96OEyDMK3sg==", + "requires": { + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "lru-cache": "^10.0.0", + "rdf-store-stream": "^2.0.0", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-serialize-jsonld": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-jsonld/-/actor-rdf-serialize-jsonld-2.10.0.tgz", + "integrity": "sha512-u1M5N7BSrkhS461fV6QXKMh6TnvpoEiSHPru7wJg1kGqR9q3reuQeKLf/U23JDYb1kom8uU3R7aBpDIjgVc49Q==", + "requires": { + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "jsonld-streaming-serializer": "^2.1.0" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-serialize-n3": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-n3/-/actor-rdf-serialize-n3-2.10.0.tgz", + "integrity": "sha512-CoDktUI3YQuI7UBV+fQOdKl+5XjBx0XTOF9XxEDiNg5nwndEmDvq6C23fSHfkqX3/xDlnsuS/YysHAqXCrYoiA==", + "requires": { + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "n3": "^1.17.0" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-serialize-shaclc": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-serialize-shaclc/-/actor-rdf-serialize-shaclc-2.10.0.tgz", + "integrity": "sha512-gp4bu4+aPtMk4bavXP27uD9X9bpa2F5u6/JtsaX2qwcqVI0x1tkVQOkm2RkUhafcHNj0Fz6lQ3aXmRIAQvaefg==", + "requires": { + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/types": "^2.10.0", + "arrayify-stream": "^2.0.1", + "readable-stream": "^4.4.2", + "shaclc-write": "^1.4.2" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-update-hypermedia-patch-sparql-update": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-patch-sparql-update/-/actor-rdf-update-hypermedia-patch-sparql-update-2.10.2.tgz", + "integrity": "sha512-z/fOzYlA5fPtauTUISYhCWMKtEpkvKkSZIdvcgeGvetLnvw4fytfVHdtPhirZYmPya10GCeTG7m2iHvK53lOsQ==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-update-hypermedia": "^2.10.2", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "cross-fetch": "^4.0.0", + "rdf-string-ttl": "^1.3.2", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/actor-rdf-update-hypermedia-put-ldp": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-put-ldp/-/actor-rdf-update-hypermedia-put-ldp-2.10.2.tgz", + "integrity": "sha512-Tof/mU0Lkt7HP3SwHXODczxvAFelWzAHdP+ap4Upr47K6Zg5GRPwJv//2AcPvT3p42Li6wuMz/4nh/A3pcnCKA==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-serialize": "^2.10.0", + "@comunica/bus-rdf-update-hypermedia": "^2.10.2", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "cross-fetch": "^4.0.0" + }, + "dependencies": { + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-update-hypermedia-sparql": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-hypermedia-sparql/-/actor-rdf-update-hypermedia-sparql-2.10.2.tgz", + "integrity": "sha512-uw1NIAoxuAechsjTQ6b53XpGOMx3Mp5uEL5LtUwNC6COJE6tzWH8wG54Dwj+0VNxsgqsSircKu2xwGl1uOsOPg==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/bus-rdf-update-hypermedia": "^2.10.2", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "fetch-sparql-endpoint": "^4.0.0", + "rdf-string-ttl": "^1.3.2", + "stream-to-string": "^1.2.0" + }, + "dependencies": { + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/actor-rdf-update-quads-hypermedia": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-hypermedia/-/actor-rdf-update-quads-hypermedia-2.10.2.tgz", + "integrity": "sha512-kzGfDv0PqcOIIULJLG8jtA/dOcrNUodu98J08ruSuYQBbnFgAZ07MG1TkWhEI/AM6D0w7hXkgQaC1sGWn4gVmA==", + "requires": { + "@comunica/bus-dereference-rdf": "^2.10.0", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-rdf-metadata": "^2.10.0", + "@comunica/bus-rdf-metadata-extract": "^2.10.0", + "@comunica/bus-rdf-update-hypermedia": "^2.10.2", + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "lru-cache": "^10.0.0" + }, + "dependencies": { + "@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "requires": { + "@comunica/core": "^2.10.0" + } + }, + "@comunica/bus-rdf-metadata-extract": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-extract/-/bus-rdf-metadata-extract-2.10.0.tgz", + "integrity": "sha512-KcMZh+7kHjdCIMkLFki99tQH1arVp/evVnk0BGXfWd+ca3eCLrr42tb1tGfN2JkaCSxgtzWO4DRZcSzJ4sI2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + } + } + }, + "@comunica/actor-rdf-update-quads-rdfjs-store": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-update-quads-rdfjs-store/-/actor-rdf-update-quads-rdfjs-store-2.10.2.tgz", + "integrity": "sha512-anX3SovvY2H8KwuWu8G9EqtITmCsz12jfqunNn5Efcch/bm4HyHTC1GThx77m6qpCdg4OMx8TLhNrH1II1UM1w==", + "requires": { + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-dereference": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-dereference/-/bus-dereference-2.10.0.tgz", + "integrity": "sha512-nWyQXiH7zbiPTVttWVKJHykhV4IuahfhfUwPx3Op+cVsK489Su84dnGeSmPkxTAFFuxe6wU6ZEH4i7PDu48YvQ==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/actor-abstract-parse": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "readable-stream": "^4.4.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "@comunica/bus-dereference-rdf": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-dereference-rdf/-/bus-dereference-rdf-2.10.0.tgz", + "integrity": "sha512-WY/wPmFpO76wwJ2D5Aus43ZbYnBRLvQ0EOp4yywO0lBiq6F0JisjCVCM4EtWouOEAAfqEoIjHXGyC3gPWqm+SQ==", + "requires": { + "@comunica/bus-dereference": "^2.10.0", + "@comunica/bus-rdf-parse": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-hash-bindings": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-hash-bindings/-/bus-hash-bindings-2.10.0.tgz", + "integrity": "sha512-EdzIUgpSWMtFVxEJSesuQpMkfgznDap+U0F9epotxXc20Gg/qjTzs1gF6NkpDpaidQ7cFlV16vdbdfi8uiZ+mQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-query-parse": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-parse/-/bus-query-parse-2.10.0.tgz", + "integrity": "sha512-1LynxACgCYTuBH/JMRG/IGaWtTVwr2O8wxOosCId2W3BDW9nf2DSCyOdnxnCSMSKfnLFWiaVuKybn24OLXW2dQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-join": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join/-/bus-rdf-join-2.10.1.tgz", + "integrity": "sha512-pPFoJVHY5p931jIKt+9sqRCGiuuf8yFqrlOOAd3un72cwuyhwNHvn52xwvcPlNUAySz/kDmW+U0syflqI6VdAw==", + "requires": { + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-rdf-join-selectivity": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/metadata": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + }, + "dependencies": { + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/metadata/-/metadata-2.10.0.tgz", + "integrity": "sha512-PF7TKhuDIO4GE9tzuAkTxarQV5cmwXZ64hp0qm8Ql/V+dVHu/3xLL9v/Q67ZX26GF9hOyr7cdpNI08M7DHc86g==", + "requires": { + "@comunica/types": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-join-selectivity": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-join-selectivity/-/bus-rdf-join-selectivity-2.10.0.tgz", + "integrity": "sha512-YjoygSiH6r4SAYqz6gpvUql2vnznPVE62IsWqYnjFWeH1kBsxO5yEOO01s2FfN3jLcfsytTyG7VNTCN788YbaA==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-accuracy": "^2.10.0", + "@comunica/types": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-metadata": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata/-/bus-rdf-metadata-2.10.0.tgz", + "integrity": "sha512-LRUnHVqIzyUlmPKPNAYOusCF53iN8KEX7l/VinlA7NH3XBLhTkFoth26MVqIVtjtdH0hVfUVpkwy2kFEJpGldw==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-metadata-accumulate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-metadata-accumulate/-/bus-rdf-metadata-accumulate-2.10.0.tgz", + "integrity": "sha512-XG/3s4a3yGpYt4H+sn9T2zTaUxLG+37dmhRhXv2cBmR4gaCXkglERPaOrQygHldEF+4ITF3RmXHCgANsQ1AwQg==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-parse": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-2.10.0.tgz", + "integrity": "sha512-EgCMZACfTG/+mayQpExWt0HoBT32BBVC1aS1lC43fXKBTxJ8kYrSrorVUuMACoh4dQVGTb+7j1j4K0hGNVzXGA==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/actor-abstract-parse": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-parse-html": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-2.10.0.tgz", + "integrity": "sha512-RZliz4TtKP63QggoohGuIkGb6lq0BoYJ4aztKtGldWtPAVP/pdEvlDpiZWLB/j19g7S2aDLNY/lJtZ5efM1tHQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-resolve-hypermedia": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-hypermedia/-/bus-rdf-resolve-hypermedia-2.10.0.tgz", + "integrity": "sha512-DjCoAg62pPzEOH5gKM9gaL4CVUmhBsmyOzao0tRu20G7L6RnTIFtRaOwMN2z+2uC7AkJRHZY12bPUb+yM8V0UQ==", + "requires": { + "@comunica/bus-rdf-resolve-quad-pattern": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-resolve-quad-pattern": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-resolve-quad-pattern/-/bus-rdf-resolve-quad-pattern-2.10.0.tgz", + "integrity": "sha512-JEI4DqSprGmrbfmiIwc8PbS+HCoxXwmMtp7gDpoB1HyYKIHzzu9DOIiwmYEDRO5dwV+uTwaYKZz/mUPm2U6EEg==", + "requires": { + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + }, + "dependencies": { + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-serialize/-/bus-rdf-serialize-2.10.0.tgz", + "integrity": "sha512-AmbN9MUgw6B6AfrIqR1u7PWHZFgbJz+j1SFJVtnHQ51hEpG+Ig9nNG2IWjHOsFK0xBBQ/wXgNmt/cufEMRM1SQ==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-update-hypermedia": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-hypermedia/-/bus-rdf-update-hypermedia-2.10.2.tgz", + "integrity": "sha512-GbRMxXN4kx+4UPsnGxWjyn770m675yy2gWK/xy/5qQIxxRTcuGk4wm/994FZQXpwLX1E0xJ+YKxMgXTIlEWmQA==", + "requires": { + "@comunica/bus-rdf-update-quads": "^2.10.2", + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/bus-rdf-update-quads": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-update-quads/-/bus-rdf-update-quads-2.10.2.tgz", + "integrity": "sha512-+iVpAHps8ytGq8AZF4xTZbLyskS40JPn64MO+OAuYovqXLlezp6vh9eJ5qETuP9NP+BpZDk3nOU3Ky3fb0QCUw==", + "requires": { + "@comunica/actor-rdf-resolve-quad-pattern-federated": "^2.10.1", + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "stream-to-string": "^1.2.0" + }, + "dependencies": { + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/expression-evaluator": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/expression-evaluator/-/expression-evaluator-2.10.0.tgz", + "integrity": "sha512-gSfiVSAE+SaxpXq3jT5OnyZd+sD9KFaWtTiKT1tDDs8lD7Jj68aRP7VoEhvKwPwRlUx0aoaXUL2MYtV6JsXRbg==", + "requires": { + "@rdfjs/types": "*", + "@types/spark-md5": "^3.0.2", + "@types/uuid": "^9.0.0", + "bignumber.js": "^9.0.1", + "hash.js": "^1.1.7", + "lru-cache": "^10.0.0", + "rdf-data-factory": "^1.1.2", + "rdf-string": "^1.6.3", + "relative-to-absolute-iri": "^1.0.6", + "spark-md5": "^3.0.1", + "sparqlalgebrajs": "^4.2.0", + "uuid": "^9.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + }, + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } + } + }, + "@comunica/logger-void": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/logger-void/-/logger-void-2.10.0.tgz", + "integrity": "sha512-GFJh9hV8rIC9yXAuLGGKjQRVs8IOQOINBbaTNO+FJUWWWHlo5pDEKAoGYuysz5TBGoT3Lexz8bMfdkuHMa3uIQ==", + "requires": { + "@comunica/types": "^2.10.0" + }, + "dependencies": { + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/mediator-all": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-all/-/mediator-all-2.10.0.tgz", + "integrity": "sha512-y1+A+sIW462G8iPzi6BSPIb4I9iy08ZruM2Thf1or6sytwLKro7E2RYjS6IdupwfFYafXXCeT85+lrJgTKERhQ==", + "requires": { + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/mediator-combine-pipeline": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-pipeline/-/mediator-combine-pipeline-2.10.0.tgz", + "integrity": "sha512-j7+/oUlbhKB4Rq6g9oNKU+e9cQL8U9z8tAUNhoXUSHajcr4huj0t1+riaOD109/DRWhV793ILhBDzgiZbHd7DA==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/mediator-combine-union": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-2.10.0.tgz", + "integrity": "sha512-QbP4zP1i6nMDZ8teC0RoTz5E8pOpxDhWPBr1ylb2jzPUjPpMgrnbHYTondlN0Oau3SMEehItojg/LYDtPOP/GQ==", + "requires": { + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/mediator-join-coefficients-fixed": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/mediator-join-coefficients-fixed/-/mediator-join-coefficients-fixed-2.10.1.tgz", + "integrity": "sha512-HRvc0e8QDnR3sbRMMCyx9ILFA6KiUxHEqDOpt7BV3kFMWWIpBavFDwPUjLBG6sRA8o0CFu1+oVVh5fAFYZIxzQ==", + "requires": { + "@comunica/bus-rdf-join": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/mediatortype-join-coefficients": "^2.10.0", + "@comunica/types": "^2.10.0" + }, + "dependencies": { + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/mediator-number": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-2.10.0.tgz", + "integrity": "sha512-0T8D1HGTu5Sd8iKb2dBjc6VRc/U4A15TAN6m561ra9pFlP+w31kby0ZYP6WWBHBobbUsX1LCvnbRQaAC4uWwVw==", + "requires": { + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/mediator-race": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-2.10.0.tgz", + "integrity": "sha512-JiEtOLMkPnbjSLabVpE4VqDbu2ZKKnkUdATGBeWX+o+MjPw6c0hhw01RG4WY2rQhDyNl++nLQe3EowQh8xW9TA==", + "requires": { + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/mediatortype-accuracy": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-accuracy/-/mediatortype-accuracy-2.10.0.tgz", + "integrity": "sha512-u9Noai4yGACaBRGOoRZ65XoQhazKNx5QaFOX5nJ/p84Qq4g50woC2rpsncuyrXhW1j/rIc2WvIUGUfy/g6CDiw==", + "requires": { + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/mediatortype-httprequests": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-httprequests/-/mediatortype-httprequests-2.10.0.tgz", + "integrity": "sha512-uPjs/NdngHZZWomjZor6W29UeOlxganupIOa3Z6H3qdUnsSpxeoS9URXy7BICAX+4PmgebperSn18BRA+PWiSw==", + "requires": { + "@comunica/core": "^2.10.0" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/mediatortype-join-coefficients": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-join-coefficients/-/mediatortype-join-coefficients-2.10.0.tgz", + "integrity": "sha512-EPipAV5PDNeEVXbsd+8NsqNKu5ztCAoEJ3azcFAmD9di9ppArNJWU/mxy5yUzcBgMUX4wRp6jCa5rIF5sRHG7g==", + "requires": { + "@comunica/core": "^2.10.0", + "@rdfjs/types": "*" + }, + "dependencies": { + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + } + } + }, + "@comunica/query-sparql": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/query-sparql/-/query-sparql-2.10.2.tgz", + "integrity": "sha512-bgjQ8N5/vP3Iy71AgDKQc06mXmEBvh7dsenw2VPbvk11iXywec4XCq8TzX+GozL+Zxxl5XyYlBw+nRjvORTGHg==", + "requires": { + "@comunica/actor-context-preprocess-source-to-destination": "^2.10.0", + "@comunica/actor-dereference-fallback": "^2.10.0", + "@comunica/actor-dereference-http": "^2.10.2", + "@comunica/actor-dereference-rdf-parse": "^2.10.0", + "@comunica/actor-hash-bindings-sha1": "^2.10.0", + "@comunica/actor-http-fetch": "^2.10.2", + "@comunica/actor-http-proxy": "^2.10.2", + "@comunica/actor-http-wayback": "^2.10.2", + "@comunica/actor-init-query": "^2.10.2", + "@comunica/actor-optimize-query-operation-bgp-to-join": "^2.10.0", + "@comunica/actor-optimize-query-operation-join-bgp": "^2.10.0", + "@comunica/actor-optimize-query-operation-join-connected": "^2.10.0", + "@comunica/actor-query-operation-ask": "^2.10.1", + "@comunica/actor-query-operation-bgp-join": "^2.10.1", + "@comunica/actor-query-operation-construct": "^2.10.1", + "@comunica/actor-query-operation-describe-subject": "^2.10.1", + "@comunica/actor-query-operation-distinct-hash": "^2.10.1", + "@comunica/actor-query-operation-extend": "^2.10.1", + "@comunica/actor-query-operation-filter-sparqlee": "^2.10.1", + "@comunica/actor-query-operation-from-quad": "^2.10.1", + "@comunica/actor-query-operation-group": "^2.10.1", + "@comunica/actor-query-operation-join": "^2.10.1", + "@comunica/actor-query-operation-leftjoin": "^2.10.1", + "@comunica/actor-query-operation-minus": "^2.10.1", + "@comunica/actor-query-operation-nop": "^2.10.1", + "@comunica/actor-query-operation-orderby-sparqlee": "^2.10.1", + "@comunica/actor-query-operation-path-alt": "^2.10.1", + "@comunica/actor-query-operation-path-inv": "^2.10.1", + "@comunica/actor-query-operation-path-link": "^2.10.1", + "@comunica/actor-query-operation-path-nps": "^2.10.1", + "@comunica/actor-query-operation-path-one-or-more": "^2.10.1", + "@comunica/actor-query-operation-path-seq": "^2.10.1", + "@comunica/actor-query-operation-path-zero-or-more": "^2.10.1", + "@comunica/actor-query-operation-path-zero-or-one": "^2.10.1", + "@comunica/actor-query-operation-project": "^2.10.1", + "@comunica/actor-query-operation-quadpattern": "^2.10.1", + "@comunica/actor-query-operation-reduced-hash": "^2.10.1", + "@comunica/actor-query-operation-service": "^2.10.1", + "@comunica/actor-query-operation-slice": "^2.10.1", + "@comunica/actor-query-operation-sparql-endpoint": "^2.10.2", + "@comunica/actor-query-operation-union": "^2.10.1", + "@comunica/actor-query-operation-update-add-rewrite": "^2.10.1", + "@comunica/actor-query-operation-update-clear": "^2.10.2", + "@comunica/actor-query-operation-update-compositeupdate": "^2.10.1", + "@comunica/actor-query-operation-update-copy-rewrite": "^2.10.1", + "@comunica/actor-query-operation-update-create": "^2.10.2", + "@comunica/actor-query-operation-update-deleteinsert": "^2.10.2", + "@comunica/actor-query-operation-update-drop": "^2.10.2", + "@comunica/actor-query-operation-update-load": "^2.10.2", + "@comunica/actor-query-operation-update-move-rewrite": "^2.10.1", + "@comunica/actor-query-operation-values": "^2.10.1", + "@comunica/actor-query-parse-graphql": "^2.10.0", + "@comunica/actor-query-parse-sparql": "^2.10.0", + "@comunica/actor-query-result-serialize-json": "^2.10.0", + "@comunica/actor-query-result-serialize-rdf": "^2.10.0", + "@comunica/actor-query-result-serialize-simple": "^2.10.0", + "@comunica/actor-query-result-serialize-sparql-csv": "^2.10.0", + "@comunica/actor-query-result-serialize-sparql-json": "^2.10.2", + "@comunica/actor-query-result-serialize-sparql-tsv": "^2.10.0", + "@comunica/actor-query-result-serialize-sparql-xml": "^2.10.0", + "@comunica/actor-query-result-serialize-stats": "^2.10.2", + "@comunica/actor-query-result-serialize-table": "^2.10.0", + "@comunica/actor-query-result-serialize-tree": "^2.10.0", + "@comunica/actor-rdf-join-entries-sort-cardinality": "^2.10.0", + "@comunica/actor-rdf-join-inner-hash": "^2.10.1", + "@comunica/actor-rdf-join-inner-multi-bind": "^2.10.1", + "@comunica/actor-rdf-join-inner-multi-empty": "^2.10.1", + "@comunica/actor-rdf-join-inner-multi-smallest": "^2.10.1", + "@comunica/actor-rdf-join-inner-nestedloop": "^2.10.1", + "@comunica/actor-rdf-join-inner-none": "^2.10.1", + "@comunica/actor-rdf-join-inner-single": "^2.10.1", + "@comunica/actor-rdf-join-inner-symmetrichash": "^2.10.1", + "@comunica/actor-rdf-join-minus-hash": "^2.10.1", + "@comunica/actor-rdf-join-minus-hash-undef": "^2.10.1", + "@comunica/actor-rdf-join-optional-bind": "^2.10.1", + "@comunica/actor-rdf-join-optional-nestedloop": "^2.10.1", + "@comunica/actor-rdf-join-selectivity-variable-counting": "^2.10.0", + "@comunica/actor-rdf-metadata-accumulate-cancontainundefs": "^2.10.0", + "@comunica/actor-rdf-metadata-accumulate-cardinality": "^2.10.0", + "@comunica/actor-rdf-metadata-accumulate-pagesize": "^2.10.0", + "@comunica/actor-rdf-metadata-accumulate-requesttime": "^2.10.0", + "@comunica/actor-rdf-metadata-all": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-allow-http-methods": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-hydra-controls": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-hydra-count": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-hydra-pagesize": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-patch-sparql-update": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-put-accepted": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-request-time": "^2.10.0", + "@comunica/actor-rdf-metadata-extract-sparql-service": "^2.10.0", + "@comunica/actor-rdf-metadata-primary-topic": "^2.10.0", + "@comunica/actor-rdf-parse-html": "^2.10.0", + "@comunica/actor-rdf-parse-html-microdata": "^2.10.0", + "@comunica/actor-rdf-parse-html-rdfa": "^2.10.0", + "@comunica/actor-rdf-parse-html-script": "^2.10.0", + "@comunica/actor-rdf-parse-jsonld": "^2.10.2", + "@comunica/actor-rdf-parse-n3": "^2.10.0", + "@comunica/actor-rdf-parse-rdfxml": "^2.10.0", + "@comunica/actor-rdf-parse-shaclc": "^2.10.0", + "@comunica/actor-rdf-parse-xml-rdfa": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-links-next": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-none": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-qpf": "^2.10.0", + "@comunica/actor-rdf-resolve-hypermedia-sparql": "^2.10.2", + "@comunica/actor-rdf-resolve-quad-pattern-federated": "^2.10.1", + "@comunica/actor-rdf-resolve-quad-pattern-hypermedia": "^2.10.1", + "@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source": "^2.10.0", + "@comunica/actor-rdf-resolve-quad-pattern-string-source": "^2.10.0", + "@comunica/actor-rdf-serialize-jsonld": "^2.10.0", + "@comunica/actor-rdf-serialize-n3": "^2.10.0", + "@comunica/actor-rdf-serialize-shaclc": "^2.10.0", + "@comunica/actor-rdf-update-hypermedia-patch-sparql-update": "^2.10.2", + "@comunica/actor-rdf-update-hypermedia-put-ldp": "^2.10.2", + "@comunica/actor-rdf-update-hypermedia-sparql": "^2.10.2", + "@comunica/actor-rdf-update-quads-hypermedia": "^2.10.2", + "@comunica/actor-rdf-update-quads-rdfjs-store": "^2.10.2", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/config-query-sparql": "^2.7.0", + "@comunica/core": "^2.10.0", + "@comunica/logger-void": "^2.10.0", + "@comunica/mediator-all": "^2.10.0", + "@comunica/mediator-combine-pipeline": "^2.10.0", + "@comunica/mediator-combine-union": "^2.10.0", + "@comunica/mediator-join-coefficients-fixed": "^2.10.1", + "@comunica/mediator-number": "^2.10.0", + "@comunica/mediator-race": "^2.10.0", + "@comunica/runner": "^2.10.0", + "@comunica/runner-cli": "^2.10.0", + "@comunica/types": "^2.10.0", + "process": "^0.11.10" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-2.10.0.tgz", + "integrity": "sha512-0o6WBujsMnIVcwvRJv6Nj+kKPLZzqBS3On48rm01Rh9T1/My0E/buJMXwgcARKCfMonc2mJ9zxpPCh5ilGEU2A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/actor-http-proxy": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-proxy/-/actor-http-proxy-2.10.2.tgz", + "integrity": "sha512-3yUF8BCh4nwq8J6NRILEsyNrQNStkE9ggJ7hYwRfA1XcMgz1pANNaWJ2P2TEKH1jNinr23bL3JeuUZCm9Kz9dA==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-time": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/actor-init-query": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-init-query/-/actor-init-query-2.10.2.tgz", + "integrity": "sha512-7A4bXdKCjXRdUThvMOOyg+U17DPeBAsyDYz1SA8F4lPUR06NapcG5TmZF+YWUTN/2EG5fZPUnD3etKuPXreGUw==", + "requires": { + "@comunica/actor-http-proxy": "^2.10.2", + "@comunica/bus-context-preprocess": "^2.10.0", + "@comunica/bus-http-invalidate": "^2.10.0", + "@comunica/bus-init": "^2.10.0", + "@comunica/bus-optimize-query-operation": "^2.10.0", + "@comunica/bus-query-operation": "^2.10.1", + "@comunica/bus-query-parse": "^2.10.0", + "@comunica/bus-query-result-serialize": "^2.10.0", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/logger-pretty": "^2.10.0", + "@comunica/runner": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "negotiate": "^1.0.1", + "process": "^0.11.10", + "rdf-quad": "^1.5.0", + "rdf-string": "^1.6.1", + "sparqlalgebrajs": "^4.2.0", + "streamify-string": "^1.0.1", + "yargs": "^17.7.2" + } + }, + "@comunica/bindings-factory": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bindings-factory/-/bindings-factory-2.10.1.tgz", + "integrity": "sha512-AUD3VWlCYljgk5jfaMejSIL9CiX3aV/cAn314e/dYP/rrnVgachcCwyaD8hKHWTBHDs5rcGxr/iwruBOfsERvQ==", + "requires": { + "@rdfjs/types": "*", + "immutable": "^4.1.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.1" + } + }, + "@comunica/bus-context-preprocess": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-context-preprocess/-/bus-context-preprocess-2.10.0.tgz", + "integrity": "sha512-eJ5CkzbnmxB9fkr2F05jnnjcaowp+yxd0+pAtvx5MLl2Kpx3nWLqHPcl4/EVVDPD+i0TEkq4AXQ1BD9BMuXK0A==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/bus-http-invalidate": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http-invalidate/-/bus-http-invalidate-2.10.0.tgz", + "integrity": "sha512-9DevRUzuCOfHFtsryIvTU6rOz6vMbnuDzerloBoNsLFVzQCU4wPNZbxiOn0+GMDXxw7M3KgYd+KFxI2kGObVWA==", + "requires": { + "@comunica/core": "^2.10.0" + } + }, + "@comunica/bus-init": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-2.10.0.tgz", + "integrity": "sha512-hJejHa8sLVhQLFlduCVnhOd5aW3FCEz8wmWjyeLI3kiHFaQibnGVMhUuuNRX5f8bnnPuTdEiHc1nnYHuSi+j8A==", + "requires": { + "@comunica/core": "^2.10.0", + "readable-stream": "^4.4.2" + } + }, + "@comunica/bus-optimize-query-operation": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-optimize-query-operation/-/bus-optimize-query-operation-2.10.0.tgz", + "integrity": "sha512-qawKJprbVc+dfjBgVzV45UEo+jZBzY3dRo0a8UkXSvgSWPcX18SGrURl2VL4sZZSAyXQBMrGUwH2eUD8l26ZJQ==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/bus-query-operation": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-operation/-/bus-query-operation-2.10.1.tgz", + "integrity": "sha512-PoUSJeKaMZtZu+ZtB+5ABjPOiW1YjxOdLE1N5znxX2oiDKCQHmAXVaVkbVx1jPDLGYFNcOlOSzpRMqLQ/L4JIw==", + "requires": { + "@comunica/bindings-factory": "^2.10.1", + "@comunica/context-entries": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/data-factory": "^2.7.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "asynciterator": "^3.8.1", + "rdf-string": "^1.6.1", + "rdf-terms": "^1.11.0", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/bus-query-result-serialize": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-query-result-serialize/-/bus-query-result-serialize-2.10.0.tgz", + "integrity": "sha512-9P5KUzmXvjtLbd44UVxYNB0yqAHx7molBUc7aysUQ3pbIcP/A57GXzAfiKueeiZ9cVRRG/BGsVoDGVj59tGWNg==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^2.10.0", + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/config-query-sparql": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/config-query-sparql/-/config-query-sparql-2.7.0.tgz", + "integrity": "sha512-rMnFgT7cz9+0z7wV4OzIMY5qM9/Z0mTGrR8y2JokoHyyTcBGOSajFmy61XCSLMCsLLG8qDXsJ4ClCCky3TGfqA==" + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/data-factory": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/data-factory/-/data-factory-2.7.0.tgz", + "integrity": "sha512-dSTzrR1w9SzAWx70ZXKXHUC8f0leUolLZ9TOhGjFhhsBMJ9Pbo0g6vHV8txX5FViShngrg9QNKhsHeQnMk5z6Q==", + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/logger-pretty": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/logger-pretty/-/logger-pretty-2.10.0.tgz", + "integrity": "sha512-JXkeM5HnbyTPnQTf5/ugRPL9R+vXT7b/hRVYzYmhAGCjkCNL7NJPTBbIgxmZHqZ+UGxprotrvmDQtwHmVA+Ddw==", + "requires": { + "@comunica/types": "^2.10.0", + "object-inspect": "^1.12.2", + "process": "^0.11.10" + } + }, + "@comunica/mediatortype-time": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-time/-/mediatortype-time-2.10.0.tgz", + "integrity": "sha512-nBz1exxrja1Tj8KSlSevG4Hw2u09tTh6gtNfVjI76i/e7muu4RUWVhi9b8PcwBNAfuUqRl+5OgOSa2X4W+6QlA==", + "requires": { + "@comunica/core": "^2.10.0" + } + }, + "@comunica/runner": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/runner/-/runner-2.10.0.tgz", + "integrity": "sha512-v/oEKT+IwjO6Y74bCCzlR+ZMI6oykpfz7GQrQbl1oTWQsvBbTdf0omPkoYnk1esEAsFnsJD+NGwAiRiFKeBo0A==", + "requires": { + "@comunica/bus-init": "^2.10.0", + "@comunica/core": "^2.10.0", + "componentsjs": "^5.3.2", + "process": "^0.11.10" + } + }, + "@comunica/runner-cli": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/runner-cli/-/runner-cli-2.10.0.tgz", + "integrity": "sha512-16QI0rWFHURCy5waVFcZ/fhKI/hyzNx5YyCGPaEaUX8MKyamvCCXHSWvPLLbjJbsjGZ9wXrC9dwwhRmbfmidpw==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/runner": "^2.10.0", + "@comunica/types": "^2.10.0", + "process": "^0.11.10" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "componentsjs": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-5.5.1.tgz", + "integrity": "sha512-hmqq+ZUa98t9CoeWPGwE14I18aXQFAt66HRd8DaZCNggcSr82vhlyrjeXX0JAUMgr2MyQzwKstkv4INRAREguA==", + "requires": { + "@rdfjs/types": "*", + "@types/minimist": "^1.2.0", + "@types/node": "^18.0.0", + "@types/semver": "^7.3.4", + "jsonld-context-parser": "^2.1.1", + "minimist": "^1.2.0", + "rdf-data-factory": "^1.1.0", + "rdf-object": "^1.14.0", + "rdf-parse": "^2.0.0", + "rdf-quad": "^1.5.0", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0", + "semver": "^7.3.2", + "winston": "^3.3.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + } + }, "@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -15473,6 +33867,16 @@ } } }, + "@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "requires": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, "@digitalbazaar/http-client": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz", @@ -15483,138 +33887,12 @@ "undici": "^5.21.2" } }, - "@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "optional": true - }, "@esbuild/linux-x64": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", "optional": true }, - "@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "optional": true - }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -15782,6 +34060,25 @@ } } }, + "@jeswr/prefixcc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jeswr/prefixcc/-/prefixcc-1.2.1.tgz", + "integrity": "sha512-kBBXbqsaeh3Irp416h/RbelqJgIOp6X/OJJlYmLyr/9qlBYKTKSCuEv5/xjZ0Yf8Yec+QFRYBaOQ2JkMBSH7KA==", + "requires": { + "cross-fetch": "^3.1.5", + "fsevents": "^2.3.2" + }, + "dependencies": { + "cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "requires": { + "node-fetch": "^2.6.12" + } + } + } + }, "@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -15894,13 +34191,13 @@ "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==" }, "@maplibre/maplibre-gl-style-spec": { - "version": "19.3.2", - "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-19.3.2.tgz", - "integrity": "sha512-C2JAk64XUz9v78+bpyTk1zvgjjnDsB8CCjNumyAYdWK2dvdDtILzh1AGBMdS/llX3KaHjGYxAE5wOwfdwq4Pog==", + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.1.1.tgz", + "integrity": "sha512-z85ARNPCBI2Cs5cPOS3DSbraTN+ue8zrcYVoSWBuNrD/mA+2SKAJ+hIzI22uN7gac6jBMnCdpPKRxS/V0KSZVQ==", "requires": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", "@mapbox/unitbezier": "^0.0.1", - "json-stringify-pretty-compact": "^3.0.0", + "json-stringify-pretty-compact": "^4.0.0", "minimist": "^1.2.8", "rw": "^1.3.3", "sort-object": "^3.0.3" @@ -15944,6 +34241,14 @@ "integrity": "sha512-bjdcC2t77qBWA499nOZjwCK8tpRX8TgoMMYKWRIIIpL8fsDgG/Myd6FcGasV5RdD3v0im33RAjiZOA2Ybp+S3g==", "dev": true }, + "@rdfjs/types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.0.tgz", + "integrity": "sha512-5zm8bN2/CC634dTcn/0AhTRLaQRjXDZs3QfcAsQKNturHT7XVWcKy/8p3P5gXl+YkZTAmy7T5M/LyiT/jbkENw==", + "requires": { + "@types/node": "*" + } + }, "@rgossiaux/svelte-headlessui": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@rgossiaux/svelte-headlessui/-/svelte-headlessui-1.0.2.tgz", @@ -15984,11 +34289,42 @@ "picomatch": "^2.3.1" } }, + "@rubensworks/saxes": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@rubensworks/saxes/-/saxes-6.0.1.tgz", + "integrity": "sha512-UW4OTIsOtJ5KSXo2Tchi4lhZqu+tlHrOAs4nNti7CrtB53kAZl3/hyrTi6HkMihxdbDM6m2Zc3swc/ZewEe1xw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, "@sinclair/typebox": { "version": "0.25.21", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.21.tgz", "integrity": "sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g==" }, + "@smessie/readable-web-to-node-stream": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smessie/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.3.tgz", + "integrity": "sha512-8FFE7psRtRWQT31/duqbmgnSf2++QLR2YH9kj5iwsHhnoqSvHdOY3SAN5e7dhc+60p2cNk7rv3HYOiXOapTEXQ==", + "requires": { + "process": "^0.11.10", + "readable-stream": "^4.5.1" + }, + "dependencies": { + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, "@sveltejs/vite-plugin-svelte": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz", @@ -17310,9 +35646,25 @@ "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" }, "@types/geojson": { - "version": "7946.0.11", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.11.tgz", - "integrity": "sha512-L7A0AINMXQpVwxHJ4jxD6/XjZ4NDufaRlUJHjNIFKYUFBH1SvOW+neaqb0VTRSLW5suSrSu19ObFEFnfNcr+qg==" + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, + "@types/geojson-vt": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/geojson-vt/-/geojson-vt-3.2.5.tgz", + "integrity": "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==", + "requires": { + "@types/geojson": "*" + } + }, + "@types/http-link-header": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.5.tgz", + "integrity": "sha512-AxhIKR8UbyoqCTNp9rRepkktHuUOw3DjfOfDCaO9kwI8AYzjhxyrvZq4+mRw/2daD3hYDknrtSeV6SsPwmc71w==", + "requires": { + "@types/node": "*" + } }, "@types/istanbul-lib-coverage": { "version": "2.0.4", @@ -17353,6 +35705,14 @@ "integrity": "sha512-n7fUU6W4kSYK8VQlf/LsE9kddBHPKhODoVOjsZswmve+2qLwBy6naWxs/EiuSZN9NU0N06Ra01FR+j87C62T0A==", "dev": true }, + "@types/leaflet": { + "version": "1.9.8", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.8.tgz", + "integrity": "sha512-EXdsL4EhoUtGm2GC2ZYtXn+Fzc6pluVgagvo2VC1RHWToLGlTRwVYoDpqS/7QXa01rmDyBjJk3Catpf60VMkwg==", + "requires": { + "@types/geojson": "*" + } + }, "@types/lz-string": { "version": "1.3.34", "resolved": "https://registry.npmjs.org/@types/lz-string/-/lz-string-1.3.34.tgz", @@ -17360,26 +35720,40 @@ "dev": true }, "@types/mapbox__point-geometry": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.2.tgz", - "integrity": "sha512-D0lgCq+3VWV85ey1MZVkE8ZveyuvW5VAfuahVTQRpXFQTxw03SuIf1/K4UQ87MMIXVKzpFjXFiFMZzLj2kU+iA==" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.4.tgz", + "integrity": "sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==" }, "@types/mapbox__vector-tile": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.1.tgz", - "integrity": "sha512-RpwGE57xM4a/YCH6XWzfcPVRPAu/jiCll0bEGRn6a4iubN2k4xZizskQoRj8fuXyo9BpI7F3bwz3uxs0pWbGNw==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.4.tgz", + "integrity": "sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==", "requires": { "@types/geojson": "*", "@types/mapbox__point-geometry": "*", "@types/pbf": "*" } }, + "@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" + }, "@types/mocha": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", "dev": true }, + "@types/n3": { + "version": "1.16.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.16.4.tgz", + "integrity": "sha512-6PmHRYCCdjbbBV2UVC/HjtL6/5Orx9ku2CQjuojucuHvNvPmnm6+02B18YGhHfvU25qmX2jPXyYPHsMNkn+w2w==", + "requires": { + "@rdfjs/types": "^1.1.0", + "@types/node": "*" + } + }, "@types/node": { "version": "18.11.18", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", @@ -17395,9 +35769,9 @@ } }, "@types/pbf": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.3.tgz", - "integrity": "sha512-hw6bDMjvm+QTvEC+pRLpnTknQXoPu8Fnf+A+zX9HB7j/7RfYajFSbdukabo3adPwvvEHhIMafQl0R0Tpej7clQ==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.5.tgz", + "integrity": "sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==" }, "@types/pg": { "version": "8.10.9", @@ -17474,6 +35848,22 @@ "integrity": "sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==", "optional": true }, + "@types/readable-stream": { + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", + "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", + "requires": { + "@types/node": "*", + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, "@types/sass": { "version": "1.43.1", "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", @@ -17486,27 +35876,54 @@ "@types/semver": { "version": "7.5.0", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" }, "@types/showdown": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/showdown/-/showdown-2.0.0.tgz", "integrity": "sha512-70xBJoLv+oXjB5PhtA8vo7erjLDp9/qqI63SRHm4REKrwuPOLs8HhXwlZJBJaB4kC18cCZ1UUZ6Fb/PLFW4TCA==" }, + "@types/spark-md5": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/spark-md5/-/spark-md5-3.0.4.tgz", + "integrity": "sha512-qtOaDz+IXiNndPgYb6t1YoutnGvFRtWSNzpVjkAPCfB2UzTyybuD4Tjgs7VgRawum3JnJNRwNQd4N//SvrHg1Q==" + }, + "@types/sparqljs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.10.tgz", + "integrity": "sha512-rqMpUhl/d8B+vaACa6ZVdwPQ1JXw+KxiCc0cndgn/V6moRG3WjUAgoBnhSwfKtXD98wgMThDsc6R1+yRUuMsAg==", + "requires": { + "@rdfjs/types": ">=1.0.0" + } + }, "@types/supercluster": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.1.tgz", - "integrity": "sha512-dNK02GO1UApgo+1KpY4jOfm3uWb2eBCMB/VMM2y8cMoF49FiqVVcOawEg19wxYcaX7SvEs370incOuFtFGrVLg==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", + "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", "requires": { "@types/geojson": "*" } }, + "@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" + }, "@types/trusted-types": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz", "integrity": "sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==" }, + "@types/uritemplate": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@types/uritemplate/-/uritemplate-0.3.6.tgz", + "integrity": "sha512-31BMGZ8GgLxgXxLnqg4KbbyYJjU1flhTTD2+PVQStVUPXSk0IIpK0zt+tH3eLT7ZRwLnzQw6JhYx69qza3U0wg==" + }, + "@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" + }, "@types/wikidata-sdk": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/wikidata-sdk/-/wikidata-sdk-6.1.0.tgz", @@ -17984,6 +36401,11 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, + "arrayify-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.1.tgz", + "integrity": "sha512-z8fB6PtmnewQpFB53piS2d1KlUi3BPMICH2h7leCOUXpQcwvZ4GbHHSpdKoUrgLMR6b4Qan/uDe1St3Ao3yIHg==" + }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -18030,6 +36452,24 @@ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" }, + "async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "asynciterator": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.9.0.tgz", + "integrity": "sha512-bwLLTAnoE6Ap6XdjK/j8vDk2Vi9p3ojk0PFwM0SwktAG1k8pfRJF9ng+mmkaRFKdZCQQlOxcWnvOmX2NQ1HV0g==" + }, + "asyncjoin": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/asyncjoin/-/asyncjoin-1.2.0.tgz", + "integrity": "sha512-Z7k7IpnTpbF3sOTVSMudSpkWm9fCDgqo1ipLwpe+rHZFnSpWiN02cRI7q3IxqmjbHaCGn4JyTH6jVoIsdZuYkQ==", + "requires": { + "asynciterator": "^3.9.0" + } + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -18116,8 +36556,7 @@ "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "bcrypt-pbkdf": { "version": "1.0.2", @@ -18132,6 +36571,11 @@ "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==" }, + "bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -18151,6 +36595,18 @@ "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } } }, "bn.js": { @@ -18209,13 +36665,12 @@ "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" }, "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "buffer-crc32": { @@ -18458,11 +36913,19 @@ "wrap-ansi": "^7.0.0" } }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -18470,19 +36933,26 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "color-string": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, + "colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "requires": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -18497,6 +36967,11 @@ "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true }, + "comunica": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/comunica/-/comunica-2.0.0.tgz", + "integrity": "sha512-y2nN+aZRRxeJhG1wspV+suea6yai70X1TQU0vJsYg5EShLIQAEi4byVOEusW4t+M3evPGBv7uv4chkpeC5edkA==" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -18601,6 +37076,14 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "devOptional": true }, + "cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "requires": { + "node-fetch": "^2.6.12" + } + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -19031,7 +37514,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -19041,14 +37523,12 @@ "domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" }, "domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, "requires": { "domelementtype": "^2.3.0" } @@ -19145,6 +37625,11 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -19167,8 +37652,7 @@ "entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "devOptional": true + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" }, "es6-object-assign": { "version": "1.1.0", @@ -19548,6 +38032,11 @@ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, "expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -19744,6 +38233,11 @@ "reusify": "^1.0.4" } }, + "fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + }, "fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", @@ -19753,6 +38247,37 @@ "web-streams-polyfill": "^3.0.3" } }, + "fetch-sparql-endpoint": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fetch-sparql-endpoint/-/fetch-sparql-endpoint-4.1.1.tgz", + "integrity": "sha512-q0TLXPoAM/rA3OaHH4LvfJzaN8vVmaEVNNFtH3xsz9L40YIiAWSdbg2c/Ze/JL75kf8Iktbh1tItHZoottCh2Q==", + "requires": { + "@rdfjs/types": "*", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "@types/readable-stream": "^2.3.11", + "@types/sparqljs": "^3.1.3", + "abort-controller": "^3.0.0", + "cross-fetch": "^3.0.6", + "is-stream": "^2.0.0", + "minimist": "^1.2.0", + "n3": "^1.6.3", + "rdf-string": "^1.6.0", + "sparqljs": "^3.1.2", + "sparqljson-parse": "^2.2.0", + "sparqlxml-parse": "^2.1.1", + "stream-to-string": "^1.1.0" + }, + "dependencies": { + "cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "requires": { + "node-fetch": "^2.6.12" + } + } + } + }, "fflate": { "version": "0.4.8", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", @@ -19825,6 +38350,11 @@ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + }, "follow-redirects": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", @@ -20126,6 +38656,24 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "graphql": { + "version": "15.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", + "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==" + }, + "graphql-to-sparql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/graphql-to-sparql/-/graphql-to-sparql-3.0.1.tgz", + "integrity": "sha512-A+RwB99o66CUj+XuqtP/u3P7fGS/qF6P+/jhNl1BE/JZ2SCnkrODvV0LADuJeCDmPh45fDhq+GTDVoN1ZQHYFw==", + "requires": { + "@rdfjs/types": "*", + "graphql": "^15.5.2", + "jsonld-context-parser": "^2.0.2", + "minimist": "^1.2.0", + "rdf-data-factory": "^1.1.0", + "sparqlalgebrajs": "^4.0.0" + } + }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -20299,6 +38847,11 @@ } } }, + "http-link-header": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.3.tgz", + "integrity": "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==" + }, "http-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", @@ -20383,8 +38936,7 @@ "immutable": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", - "devOptional": true + "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==" }, "import-fresh": { "version": "3.3.0", @@ -20636,6 +39188,11 @@ "has-tostringtag": "^1.0.0" } }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, "is-typed-array": { "version": "1.1.10", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", @@ -20843,9 +39400,9 @@ "dev": true }, "json-stringify-pretty-compact": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-3.0.0.tgz", - "integrity": "sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", + "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==" }, "json-stringify-safe": { "version": "5.0.1", @@ -20895,6 +39452,28 @@ } } }, + "jsonld-context-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.4.0.tgz", + "integrity": "sha512-ZYOfvh525SdPd9ReYY58dxB3E2RUEU4DJ6ZibO8AitcowPeBH4L5rCAitE2om5G1P+HMEgYEYEr4EZKbVN4tpA==", + "requires": { + "@types/http-link-header": "^1.0.1", + "@types/node": "^18.0.0", + "cross-fetch": "^3.0.6", + "http-link-header": "^1.0.2", + "relative-to-absolute-iri": "^1.0.5" + }, + "dependencies": { + "cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "requires": { + "node-fetch": "^2.6.12" + } + } + } + }, "jsonld-request": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/jsonld-request/-/jsonld-request-2.0.1.tgz", @@ -20908,6 +39487,63 @@ "rdfa": "^0.0.10" } }, + "jsonld-streaming-parser": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.4.0.tgz", + "integrity": "sha512-897CloyQgQidfkB04dLM5XaAXVX/cN9A2hvgHJo4y4jRhIpvg3KLMBBfcrswepV2N3T8c/Rp2JeFdWfVsbVZ7g==", + "requires": { + "@bergos/jsonparse": "^1.4.0", + "@rdfjs/types": "*", + "@types/http-link-header": "^1.0.1", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "canonicalize": "^1.0.1", + "http-link-header": "^1.0.2", + "jsonld-context-parser": "^2.4.0", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "jsonld-streaming-serializer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-serializer/-/jsonld-streaming-serializer-2.1.0.tgz", + "integrity": "sha512-COHdLoeMTnrqHMoFhN3PoAwqnrKrpPC7/ACb0WbELYvt+HSOIFN3v4IJP7fOtLNQ4GeaeYkvbeWJ7Jo4EjxMDw==", + "requires": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "jsonld-context-parser": "^2.0.0", + "readable-stream": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, "jsonparse": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz", @@ -21006,6 +39642,11 @@ "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==", "dev": true }, + "kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + }, "ky": { "version": "0.33.3", "resolved": "https://registry.npmjs.org/ky/-/ky-0.33.3.tgz", @@ -21146,6 +39787,19 @@ } } }, + "logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "requires": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + } + }, "loupe": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", @@ -21195,9 +39849,9 @@ } }, "maplibre-gl": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-3.5.0.tgz", - "integrity": "sha512-kPEBz6r1LBOZjUpFy+4wZU5Nvnkr60wBtYN/JD6N7oaA4Prpe21afYKxi1oWzSPSfspS1tWNF18GlpF2XcmNSA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.1.2.tgz", + "integrity": "sha512-98T+3BesL4w/N39q/rgs9q6HzHLG6pgbS9UaTqg6fMISfzy2WGKokjK205ENFDDmEljj54/LTfdXgqg2XfYU4A==", "requires": { "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", @@ -21206,12 +39860,13 @@ "@mapbox/unitbezier": "^0.0.1", "@mapbox/vector-tile": "^1.3.1", "@mapbox/whoots-js": "^3.1.0", - "@maplibre/maplibre-gl-style-spec": "^19.3.2", - "@types/geojson": "^7946.0.11", - "@types/mapbox__point-geometry": "^0.1.2", - "@types/mapbox__vector-tile": "^1.3.1", - "@types/pbf": "^3.0.3", - "@types/supercluster": "^7.1.1", + "@maplibre/maplibre-gl-style-spec": "^20.1.1", + "@types/geojson": "^7946.0.14", + "@types/geojson-vt": "3.2.5", + "@types/mapbox__point-geometry": "^0.1.4", + "@types/mapbox__vector-tile": "^1.3.4", + "@types/pbf": "^3.0.5", + "@types/supercluster": "^7.1.3", "earcut": "^2.2.4", "geojson-vt": "^3.2.1", "gl-matrix": "^3.4.3", @@ -21243,6 +39898,66 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, + "microdata-rdf-streaming-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-2.0.1.tgz", + "integrity": "sha512-oEEYP3OwPGOtoE4eIyJvX1eJXI7VkGR4gKYqpEufaRXc2ele/Tkid/KMU3Los13wGrOq6woSxLEGOYSHzpRvwA==", + "requires": { + "@rdfjs/types": "*", + "htmlparser2": "^8.0.0", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.1.0", + "relative-to-absolute-iri": "^1.0.2" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -21466,6 +40181,29 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "n3": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.17.3.tgz", + "integrity": "sha512-ZHc24eZi2GIJcJQVxtL6NT3g+mTHRNeTVfXWELzeUOirqLrh2AAyg0nfYZ/kryJWKFSCgO37DGB6Ok3qmGgEcA==", + "requires": { + "queue-microtask": "^1.1.2", + "readable-stream": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, "nano-markdown": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/nano-markdown/-/nano-markdown-1.2.2.tgz", @@ -21494,6 +40232,11 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, + "negotiate": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/negotiate/-/negotiate-1.0.1.tgz", + "integrity": "sha512-KBCIM4dAIT9j/pSXLHHQbZG74NmKNXTtxU2zHN0HG6uzzuFE01m1UdGoUmVHmACiBuCAOL7KwfqSW1oUQBj/vg==" + }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -21551,6 +40294,35 @@ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, "node-html-parser": { "version": "6.1.5", "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.5.tgz", @@ -21608,6 +40380,11 @@ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + }, "object-is": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", @@ -21635,6 +40412,14 @@ "wrappy": "1" } }, + "one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "requires": { + "fn.name": "1.x.x" + } + }, "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -22001,6 +40786,22 @@ "pathe": "^1.0.0" } }, + "pmtiles": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/pmtiles/-/pmtiles-3.0.5.tgz", + "integrity": "sha512-K6NxVvW/vXE3052VZKF2ppyjdyhLx41FidR5yV8L/+El+lcMJpXS0vHBSPFmjdag5zkYv2XGDdq+3VjB2K7l6w==", + "requires": { + "@types/leaflet": "^1.9.8", + "fflate": "^0.8.0" + }, + "dependencies": { + "fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + } + } + }, "point-in-polygon": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.1.0.tgz", @@ -22168,6 +40969,11 @@ "resolved": "https://registry.npmjs.org/process-yargs-parser/-/process-yargs-parser-2.1.0.tgz", "integrity": "sha512-tzMsZn3lKksICtEhICR/k+Qv1UmQNVtzm0FaL10OiGJtw0ixgw0woNefcREDc6ZjqXOKBSruRagyULuwZ4FK4Q==" }, + "promise-polyfill": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==" + }, "prompt-sync": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz", @@ -22320,6 +41126,255 @@ "setimmediate": "^1.0.5" } }, + "rdf-data-factory": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.2.tgz", + "integrity": "sha512-TfQD63Lokabd09ES1jAtKK8AA6rkr9rwyUBGo6olOt1CE0Um36CUQIqytyf0am2ouBPR0l7SaHxCiMcPGHkt1A==", + "requires": { + "@rdfjs/types": "*" + } + }, + "rdf-isomorphic": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.1.tgz", + "integrity": "sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==", + "requires": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "rdf-literal": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.2.tgz", + "integrity": "sha512-79Stlu3sXy0kq9/decHFLf3xNPuY6sfhFPhd/diWErgaFr0Ekyg38Vh9bnVcqDYu48CFRi0t+hrFii49n92Hbw==", + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "rdf-object": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.14.0.tgz", + "integrity": "sha512-/KSUWr7onDtL7d81kOpcUzJ2vHYOYJc2KU9WzBZRYydBhK0Sksh5Hg4VCQNaxUEvYEgdrrTuq9SLpOOCmag0rQ==", + "requires": { + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", + "streamify-array": "^1.0.1" + } + }, + "rdf-parse": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-2.3.3.tgz", + "integrity": "sha512-N5XEHm+ajFzwo/vVNzB4tDtvqMwBosbVJmZl5DlzplQM9ejlJBlN/43i0ImAb/NMtJJgQPC3jYnkCKGA7wdo/w==", + "requires": { + "@comunica/actor-http-fetch": "^2.0.1", + "@comunica/actor-http-proxy": "^2.0.1", + "@comunica/actor-rdf-parse-html": "^2.0.1", + "@comunica/actor-rdf-parse-html-microdata": "^2.0.1", + "@comunica/actor-rdf-parse-html-rdfa": "^2.0.1", + "@comunica/actor-rdf-parse-html-script": "^2.0.1", + "@comunica/actor-rdf-parse-jsonld": "^2.0.1", + "@comunica/actor-rdf-parse-n3": "^2.0.1", + "@comunica/actor-rdf-parse-rdfxml": "^2.0.1", + "@comunica/actor-rdf-parse-shaclc": "^2.6.2", + "@comunica/actor-rdf-parse-xml-rdfa": "^2.0.1", + "@comunica/bus-http": "^2.0.1", + "@comunica/bus-init": "^2.0.1", + "@comunica/bus-rdf-parse": "^2.0.1", + "@comunica/bus-rdf-parse-html": "^2.0.1", + "@comunica/config-query-sparql": "^2.0.1", + "@comunica/core": "^2.0.1", + "@comunica/mediator-combine-pipeline": "^2.0.1", + "@comunica/mediator-combine-union": "^2.0.1", + "@comunica/mediator-number": "^2.0.1", + "@comunica/mediator-race": "^2.0.1", + "@rdfjs/types": "*", + "readable-stream": "^4.3.0", + "stream-to-string": "^1.2.0" + }, + "dependencies": { + "@comunica/actor-http-proxy": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-proxy/-/actor-http-proxy-2.10.2.tgz", + "integrity": "sha512-3yUF8BCh4nwq8J6NRILEsyNrQNStkE9ggJ7hYwRfA1XcMgz1pANNaWJ2P2TEKH1jNinr23bL3JeuUZCm9Kz9dA==", + "requires": { + "@comunica/bus-http": "^2.10.2", + "@comunica/context-entries": "^2.10.0", + "@comunica/mediatortype-time": "^2.10.0", + "@comunica/types": "^2.10.0" + } + }, + "@comunica/bus-http": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-2.10.2.tgz", + "integrity": "sha512-MAYRF6uEBAuJ9dCPW2Uyne7w3lNwXFXKfa14XuPG5DFTDpgo/Z2pWupPrBsA1eIWMNJ6WOG6QyEv4rllSIBqlg==", + "requires": { + "@comunica/core": "^2.10.0", + "@smessie/readable-web-to-node-stream": "^3.0.3", + "is-stream": "^2.0.1", + "readable-stream-node-to-web": "^1.0.1", + "web-streams-ponyfill": "^1.4.2" + } + }, + "@comunica/bus-init": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-2.10.0.tgz", + "integrity": "sha512-hJejHa8sLVhQLFlduCVnhOd5aW3FCEz8wmWjyeLI3kiHFaQibnGVMhUuuNRX5f8bnnPuTdEiHc1nnYHuSi+j8A==", + "requires": { + "@comunica/core": "^2.10.0", + "readable-stream": "^4.4.2" + } + }, + "@comunica/config-query-sparql": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@comunica/config-query-sparql/-/config-query-sparql-2.7.0.tgz", + "integrity": "sha512-rMnFgT7cz9+0z7wV4OzIMY5qM9/Z0mTGrR8y2JokoHyyTcBGOSajFmy61XCSLMCsLLG8qDXsJ4ClCCky3TGfqA==" + }, + "@comunica/context-entries": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-2.10.0.tgz", + "integrity": "sha512-lmCYCcXxW8C6ecFH2whZCt31NT1ejb0P/sbytK7f4ctyA06Q8iYFEcYE4eWOXMdpfkwkcnz31x9XL77OGeSC2Q==", + "requires": { + "@comunica/core": "^2.10.0", + "@comunica/types": "^2.10.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.2.2", + "sparqlalgebrajs": "^4.2.0" + } + }, + "@comunica/core": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-2.10.0.tgz", + "integrity": "sha512-onsGs2iKHUPRxxMOdx42vdxslk8q9FQZdRjQtHJ6SGiCpJwIL9ciBgPIOl2RL2YfzXHemr/0umeNOppRDcWhJA==", + "requires": { + "@comunica/types": "^2.10.0", + "immutable": "^4.1.0" + } + }, + "@comunica/mediatortype-time": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/mediatortype-time/-/mediatortype-time-2.10.0.tgz", + "integrity": "sha512-nBz1exxrja1Tj8KSlSevG4Hw2u09tTh6gtNfVjI76i/e7muu4RUWVhi9b8PcwBNAfuUqRl+5OgOSa2X4W+6QlA==", + "requires": { + "@comunica/core": "^2.10.0" + } + }, + "@comunica/types": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-2.10.0.tgz", + "integrity": "sha512-1UjPGbZcYrapBjMGUZedrIGcn9rOLpEOlJo1ZkWddFUGTwndVg9d4BZnQw+UnQzXMcLJcdKt94Zns8iEmBqARw==", + "requires": { + "@rdfjs/types": "*", + "@types/yargs": "^17.0.24", + "asynciterator": "^3.8.1", + "sparqlalgebrajs": "^4.2.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "rdf-quad": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", + "requires": { + "rdf-data-factory": "^1.0.1", + "rdf-literal": "^1.2.0", + "rdf-string": "^1.5.0" + } + }, + "rdf-store-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rdf-store-stream/-/rdf-store-stream-2.0.1.tgz", + "integrity": "sha512-znGaibHLvbRE0BrDcXHRleRcLKlHYP6ADr1RFJ3yA28QBmhOjxxgbBFTvCMzgsxvBIqdaFS8Vd2FG4NefJL4Mg==", + "requires": { + "@rdfjs/types": "*", + "rdf-stores": "^1.0.0" + } + }, + "rdf-stores": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rdf-stores/-/rdf-stores-1.0.0.tgz", + "integrity": "sha512-wqp7M5409rbhpWQE0C1vyVysbz++aD2vEkZ6yueSxhDtyLvznS41R3cKiuUpm3ikc/yTpaCZwPo4iyKEaAwBIg==", + "requires": { + "@rdfjs/types": "*", + "asynciterator": "^3.8.0", + "rdf-data-factory": "^1.1.1", + "rdf-string": "^1.6.2", + "rdf-terms": "^1.9.1" + } + }, + "rdf-streaming-store": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rdf-streaming-store/-/rdf-streaming-store-1.1.4.tgz", + "integrity": "sha512-Bq98GHHvmdJRTxZBH5TKYuWLAHEXiLTd/F6OeuLtWC6tQydxp7smMnYyoRtztc9p+jBsA9z9HmzQsGfEE2mj4w==", + "requires": { + "@rdfjs/types": "*", + "@types/n3": "^1.10.4", + "@types/readable-stream": "^2.3.15", + "n3": "^1.16.3", + "rdf-string": "^1.6.2", + "rdf-terms": "^1.9.1", + "readable-stream": "^4.3.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "rdf-string": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.3.tgz", + "integrity": "sha512-HIVwQ2gOqf+ObsCLSUAGFZMIl3rh9uGcRf1KbM85UDhKqP+hy6qj7Vz8FKt3GA54RiThqK3mNcr66dm1LP0+6g==", + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "rdf-string-ttl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rdf-string-ttl/-/rdf-string-ttl-1.3.2.tgz", + "integrity": "sha512-yqolaVoUvTaSC5aaQuMcB4BL54G/pCGsV4jQH87f0TvAx8zHZG0koh7XWrjva/IPGcVb1QTtaeEdfda5mcddJg==", + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "rdf-terms": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.11.0.tgz", + "integrity": "sha512-iKlVgnMopRKl9pHVNrQrax7PtZKRCT/uJIgYqvuw1VVQb88zDvurtDr1xp0rt7N9JtKtFwUXoIQoEsjyRo20qQ==", + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0" + } + }, "rdfa": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/rdfa/-/rdfa-0.0.10.tgz", @@ -22329,6 +41384,95 @@ "rdf": "^4.0.0" } }, + "rdfa-streaming-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-2.0.1.tgz", + "integrity": "sha512-7Yyaj030LO7iQ38Wh/RNLVeYrVFJeyx3dpCK7C1nvX55eIN/gE4HWfbg4BYI9X7Bd+eUIUMVeiKYLmYjV6apow==", + "requires": { + "@rdfjs/types": "*", + "htmlparser2": "^8.0.0", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "relative-to-absolute-iri": "^1.0.2" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "rdfxml-streaming-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.4.0.tgz", + "integrity": "sha512-f+tdI1wxOiPzMbFWRtOwinwPsqac0WIN80668yFKcVdFCSTGOWTM70ucQGUSdDZZo7pce/UvZgV0C3LDj0P7tg==", + "requires": { + "@rdfjs/types": "*", + "@rubensworks/saxes": "^6.0.1", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.4.2", + "relative-to-absolute-iri": "^1.0.0", + "validate-iri": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -22358,6 +41502,11 @@ "util-deprecate": "^1.0.1" } }, + "readable-stream-node-to-web": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readable-stream-node-to-web/-/readable-stream-node-to-web-1.0.1.tgz", + "integrity": "sha512-OGzi2VKLa8H259kAx7BIwuRrXHGcxeHj4RdASSgEGBP9Q2wowdPvBc65upF4Q9O05qWgKqBw1+9PiLTtObl7uQ==" + }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -22448,6 +41597,11 @@ } } }, + "relative-to-absolute-iri": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", + "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==" + }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -22674,6 +41828,11 @@ "regexp-tree": "~0.1.1" } }, + "safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -22782,6 +41941,25 @@ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, + "shaclc-parse": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/shaclc-parse/-/shaclc-parse-1.4.0.tgz", + "integrity": "sha512-zyxjIYQH2ghg/wtMvOp+4Nr6aK8j9bqFiVT3w47K8WHPYN+S3Zgnh2ybT+dGgMwo9KjiOoywxhjC7d8Z6GCmfA==", + "requires": { + "@rdfjs/types": "^1.1.0", + "n3": "^1.16.3" + } + }, + "shaclc-write": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/shaclc-write/-/shaclc-write-1.4.2.tgz", + "integrity": "sha512-aejD8fNgTfTINInjlwW7oz4GbmIJmDFJu4Tc3WVhmMH2QV24F+Ey/I/obMP/cQu/LwcfX7O2eu7bI9RUFeDMWw==", + "requires": { + "@jeswr/prefixcc": "^1.2.1", + "n3": "^1.16.3", + "rdf-string-ttl": "^1.3.2" + } + }, "sharp": { "version": "0.32.6", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", @@ -22933,7 +42111,6 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dev": true, "requires": { "is-arrayish": "^0.3.1" }, @@ -22941,8 +42118,7 @@ "is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" } } }, @@ -23046,6 +42222,98 @@ "source-map": "^0.6.0" } }, + "spark-md5": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", + "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==" + }, + "sparqlalgebrajs": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-4.3.4.tgz", + "integrity": "sha512-BUpd79w3SfrfRPyA+gHA23B3masuD2wLK47IOnglyIK6hx4BC+4TWtOmP5D8RTbmbPCuLKYfLGyLDF/RQsKgWg==", + "requires": { + "@rdfjs/types": "*", + "@types/sparqljs": "^3.1.3", + "fast-deep-equal": "^3.1.3", + "minimist": "^1.2.6", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.10.0", + "sparqljs": "^3.7.1" + } + }, + "sparqljs": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.7.1.tgz", + "integrity": "sha512-I1jYMtcwDkgCEqQ4eQuQIhB8hFAlRAJ6YDXDcV54XztaJaYRFqJlidHt77S3j8Mfh6kY6GK04dXPEIopxbEeuQ==", + "requires": { + "rdf-data-factory": "^1.1.2" + } + }, + "sparqljson-parse": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.2.0.tgz", + "integrity": "sha512-2TfvNvUsaJyWfCrq3ExdDdbF9LBLzIUCricg+D1YCYbbmyTzscgCtRk4KcIyJF178DtfCt4BkKzbKl8IXMHp8w==", + "requires": { + "@bergos/jsonparse": "^1.4.1", + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, + "sparqljson-to-tree": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sparqljson-to-tree/-/sparqljson-to-tree-3.0.2.tgz", + "integrity": "sha512-8h/ZEPPBhBlMbgMX1TOumJQku2mLYYdwd/octsDa/bdqdNcMeAcB7S2Qh4SEZ+0pPNed9CBk1d5TEUpwJlcdmw==", + "requires": { + "@rdfjs/types": "*", + "rdf-literal": "^1.3.2", + "sparqljson-parse": "^2.0.0" + } + }, + "sparqlxml-parse": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.1.1.tgz", + "integrity": "sha512-71sltShF6gDAzuKWEHNeij7r0Mv5VqRrvJing6W4WHJ12GRe6+t1IRTv6MeqxYN3XJmKevs7B3HCBUo7wceeJQ==", + "requires": { + "@rdfjs/types": "*", + "@rubensworks/saxes": "^6.0.1", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } + }, "splaytree": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/splaytree/-/splaytree-3.1.1.tgz", @@ -23099,6 +42367,11 @@ "tweetnacl": "~0.14.0" } }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==" + }, "stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -23126,6 +42399,24 @@ "resolved": "https://registry.npmjs.org/store/-/store-2.0.12.tgz", "integrity": "sha512-eO9xlzDpXLiMr9W1nQ3Nfp9EzZieIQc10zPPMP5jsVV7bLOziSFFBP0XoDXACEIFtdI+rIz0NwWVA/QVJ8zJtw==" }, + "stream-to-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.1.tgz", + "integrity": "sha512-WsvTDNF8UYs369Yko3pcdTducQtYpzEZeOV7cTuReyFvOoA9S/DLJ6sYK+xPafSPHhUMpaxiljKYnT6JSFztIA==", + "requires": { + "promise-polyfill": "^1.1.6" + } + }, + "streamify-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==" + }, + "streamify-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==" + }, "streamx": { "version": "2.15.5", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.5.tgz", @@ -23442,6 +42733,11 @@ } } }, + "text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + }, "text-segmentation": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", @@ -23585,6 +42881,11 @@ "resolved": "https://registry.npmjs.org/trap-focus-svelte/-/trap-focus-svelte-1.0.1.tgz", "integrity": "sha512-qacSd68+c12mudUu9Mo70Ea16263ich2APFh1d0K7k9rLtwNcxlxNqA6l7Wv7xdzhJbC9TASxroiDSkiN2349w==" }, + "triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==" + }, "ts-api-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", @@ -24458,6 +43759,11 @@ "punycode": "^2.1.0" } }, + "uritemplate": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/uritemplate/-/uritemplate-0.3.4.tgz", + "integrity": "sha512-enADBvHfhjrwxFMTVWeIIYz51SZ91uC6o2MR/NQTVljJB6HTZ8eQL3Q7JBj3RxNISA14MOwJaU3vpf5R6dyxHA==" + }, "url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -24507,6 +43813,11 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "devOptional": true }, + "validate-iri": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz", + "integrity": "sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==" + }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -24622,6 +43933,11 @@ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==" }, + "web-streams-ponyfill": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/web-streams-ponyfill/-/web-streams-ponyfill-1.4.2.tgz", + "integrity": "sha512-LCHW+fE2UBJ2vjhqJujqmoxh1ytEDEr0dPO3CabMdMDJPKmsaxzS90V1Ar6LtNE5VHLqxR4YMEj1i4lzMAccIA==" + }, "webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -24723,6 +44039,34 @@ "wikibase-sdk": "^7.14.4" } }, + "winston": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "requires": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + } + }, + "winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "requires": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + } + }, "word-wrap": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", @@ -24809,9 +44153,7 @@ "xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "optional": true, - "peer": true + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, "xtend": { "version": "4.0.2", diff --git a/package.json b/package.json index eb4ff790d..88224f4bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.40.1", + "version": "0.41.4", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", @@ -41,7 +41,18 @@ ], "country_coder_host": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/latlon2country", "nominatimEndpoint": "https://geocoding.geofabrik.de/b75350b1cfc34962ac49824fe5b582dc/", - "jsonld-proxy": "https://cache.mapcomplete.org/extractgraph?url={url}" + "jsonld-proxy": "https://cache.mapcomplete.org/extractgraph?url={url}", + "protomaps": { + "api-key": "2af8b969a9e8b692", + "endpoint": "https://api.protomaps.com/tiles/", + "styles": [ + "https://api.protomaps.com/styles/v2/light.json", + "https://api.protomaps.com/styles/v2/dark.json", + "https://api.protomaps.com/styles/v2/white.json", + "https://api.protomaps.com/styles/v2/grayscale.json", + "https://api.protomaps.com/styles/v2/black.json" + ] + } }, "scripts": { "start": "npm run generate:layeroverview && npm run strt", @@ -75,7 +86,7 @@ "optimize-images": "cd assets/generated/ && find -name '*.png' -exec optipng '{}' \\; && echo 'PNGs are optimized'", "generate:stats": "vite-node scripts/GenerateSeries.ts", "reset:layeroverview": "npm run prep:layeroverview && npm run generate:layeroverview && npm run refresh:layeroverview", - "prep:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && echo '{}' > ./src/assets/generated/layers/favourite.json", + "prep:layeroverview": "mkdir -p ./src/assets/generated/layers; echo {\\\"themes\\\":[]} > ./src/assets/generated/known_themes.json && echo {\\\"layers\\\": []} > ./src/assets/generated/known_layers.json && rm -f ./src/assets/generated/layers/*.json && rm -f ./src/assets/generated/themes/*.json && cp ./assets/layers/usersettings/usersettings.json ./src/assets/generated/layers/usersettings.json && echo '{}' > ./src/assets/generated/layers/favourite.json && echo '{}' > ./src/assets/generated/layers/summary.json", "generate": "npm run generate:licenses && npm run generate:images && npm run generate:charging-stations && npm run generate:translations && npm run refresh:layeroverview && npm run generate:service-worker", "generate:charging-stations": "cd ./assets/layers/charging_station && vite-node csvToJson.ts && cd -", "prepare-deploy": "npm run generate:service-worker && ./scripts/prepare-build.sh && npm run build", @@ -91,14 +102,15 @@ "weblate-add-upstream": "git remote add weblate-github git@github.com:weblate/MapComplete.git && git remote add weblate-hosted-core https://hosted.weblate.org/git/mapcomplete/core/ && git remote add weblate-hosted-layers https://hosted.weblate.org/git/mapcomplete/layers/", "weblate-merge": "git remote update weblate-github; git merge weblate-github/weblate-mapcomplete-core weblate-github/weblate-mapcomplete-layers weblate-github/weblate-mapcomplete-layer-translations", "weblate-fix-heavy": "git fetch weblate-hosted-layers; git fetch weblate-hosted-core; git merge weblate-hosted-layers/master weblate-hosted-core/master ", - "housekeeping": "git pull && npx update-browserslist-db@latest && npm run weblate-fix-heavy && npm run generate && npm run generate:docs && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* src/* && git commit -m 'chore: automated housekeeping...'", + "housekeeping": "git pull && npx update-browserslist-db@latest && npm run weblate-fix-heavy && npm run generate && npm run generate:docs && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && vite-node scripts/generateSunnyUnlabeled.ts && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* src/* && git commit -m 'chore: automated housekeeping...'", "reuse-compliance": "reuse lint", "backup:images": "vite-node scripts/generateImageAnalysis.ts -- ~/data/imgur-image-backup/", "dloadVelopark": "vite-node scripts/velopark/veloParkToGeojson.ts ", "compareVelopark": "vite-node scripts/velopark/compare.ts -- velopark_nonsynced_.geojson ~/Projecten/OSM/Fietsberaad/2024-02-02\\ Fietsenstallingen_OSM_met_velopark_ref.geojson\n", "scrapeWebsites": "vite-node scripts/importscripts/compareWebsiteData.ts -- ~/Downloads/ShopsWithWebsiteNodes.csv ~/data/scraped_websites/", "summary-server": "vite-node scripts/osm2pgsql/tilecountServer.ts", - "ldjson-server": "vite-node scripts/serverLdScrape.ts" + "ldjson-server": "vite-node scripts/serverLdScrape.ts", + "generate:buildDbScript": "vite-node scripts/osm2pgsql/generateBuildDbScript.ts" }, "keywords": [ "OpenStreetMap", @@ -153,7 +165,7 @@ "libphonenumber-js": "^1.10.8", "lz-string": "^1.4.4", "mangrove-reviews-typescript": "^1.1.0", - "maplibre-gl": "^3.5.0", + "maplibre-gl": "^4.1.1", "monaco-editor": "^0.46.0", "nano-markdown": "^1.2.2", "opening_hours": "^3.6.0", @@ -164,6 +176,7 @@ "pbf": "^3.2.1", "pg": "^8.11.3", "pic4carto": "^2.1.15", + "pmtiles": "^3.0.5", "prompt-sync": "^4.2.0", "qrcode-generator": "^1.4.4", "showdown": "^2.1.0", diff --git a/public/assets/sunny-unlabeled.json b/public/assets/sunny-unlabeled.json new file mode 100644 index 000000000..ae99e9eed --- /dev/null +++ b/public/assets/sunny-unlabeled.json @@ -0,0 +1,2901 @@ +{ + "#": "AUTOMATICALLY GENERATED! Do not edit.", + "version": 8, + "name": "style@2.0.0-alpha.0 theme@sunny-unlabeled", + "glyphs": "https://protomaps.github.io/basemaps-assets/fonts/{fontstack}/{range}.pbf", + "sources": { + "protomaps": { + "attribution": "Protomaps © OpenStreetMap", + "type": "vector", + "tiles": [ + "https://api.protomaps.com/tiles/v3/{z}/{x}/{y}.mvt?key=2af8b969a9e8b692" + ], + "maxzoom": 15 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "#f0efdd" + } + }, + { + "id": "earth", + "type": "fill", + "source": "protomaps", + "source-layer": "earth", + "paint": { + "fill-color": "#fcf7e5" + } + }, + { + "id": "landuse_farmland", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "farmland" + ] + ], + "paint": { + "fill-color": "#EEF0D5" + } + }, + { + "id": "landuse_residential", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "residential" + ] + ], + "paint": { + "fill-color": "#f0ead9" + } + }, + { + "id": "landuse_park", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "national_park", + "park", + "cemetery", + "nature_reserve", + "golf_course" + ] + ], + "paint": { + "fill-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + "#f0efdd", + 10, + "#dfede5", + 18, + "#b0e9b0" + ] + } + }, + { + "id": "landuse_urban_green", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "allotments", + "village_green", + "playground" + ] + ], + "paint": { + "fill-color": "#9cd3b4", + "fill-opacity": 0.7 + } + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "hospital" + ] + ], + "paint": { + "fill-color": "#f9e1dc" + } + }, + { + "id": "landuse_industrial", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "industrial" + ] + ], + "paint": { + "fill-color": "#efdfe8" + } + }, + { + "id": "landuse_school", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "school", + "university", + "college" + ] + ], + "paint": { + "fill-color": "#e4dec7" + } + }, + { + "id": "landuse_beach", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "beach" + ] + ], + "paint": { + "fill-color": "#e8e4d0" + } + }, + { + "id": "landuse_zoo", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "zoo" + ] + ], + "paint": { + "fill-color": "#c6dcdc" + } + }, + { + "id": "landuse_military", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "military", + "naval_base", + "airfield" + ] + ], + "paint": { + "fill-color": "#c6dcdc" + } + }, + { + "id": "natural_wood", + "type": "fill", + "source": "protomaps", + "source-layer": "natural", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "wood", + "nature_reserve", + "forest" + ] + ], + "paint": { + "fill-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + "#f0efdd", + 10, + "#d0ded0", + 18, + "#add19e" + ] + } + }, + { + "id": "landuse_forest", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "forest" + ] + ], + "paint": { + "fill-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + "#f0efdd", + 12, + "#d0ded0", + 18, + "#add19e" + ] + } + }, + { + "id": "natural_scrub", + "type": "fill", + "source": "protomaps", + "source-layer": "natural", + "filter": [ + "in", + "pmap:kind", + "scrub", + "grassland", + "grass" + ], + "paint": { + "fill-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + "#cedcd7", + 12, + "#99d2bb" + ] + } + }, + { + "id": "natural_glacier", + "type": "fill", + "source": "protomaps", + "source-layer": "natural", + "filter": [ + "==", + "pmap:kind", + "glacier" + ], + "paint": { + "fill-color": "#e7e7e7" + } + }, + { + "id": "natural_sand", + "type": "fill", + "source": "protomaps", + "source-layer": "natural", + "filter": [ + "==", + "pmap:kind", + "sand" + ], + "paint": { + "fill-color": "#e2e0d7" + } + }, + { + "id": "landuse_park_line", + "type": "line", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "national_park", + "park", + "cemetery", + "nature_reserve", + "forest", + "golf_course" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#fcf7e5", + 10, + "#afbdb5", + 16, + "#7cb384" + ] + } + }, + { + "id": "landuse_aerodrome", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "aerodrome" + ] + ], + "paint": { + "fill-color": "#dadbdf" + } + }, + { + "id": "transit_runway", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "filter": [ + "any", + [ + "in", + "pmap:kind_detail", + "runway" + ] + ], + "paint": { + "line-color": "#e9e9ed", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 10, + 0, + 12, + 4, + 18, + 30 + ] + } + }, + { + "id": "transit_taxiway", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "minzoom": 13, + "filter": [ + "any", + [ + "in", + "pmap:kind_detail", + "taxiway" + ] + ], + "paint": { + "line-color": "#e9e9ed", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 15, + 6 + ] + } + }, + { + "id": "water", + "type": "fill", + "source": "protomaps", + "source-layer": "water", + "paint": { + "fill-color": "#85c2e9" + } + }, + { + "id": "physical_line_stream", + "type": "line", + "source": "protomaps", + "source-layer": "physical_line", + "minzoom": 14, + "filter": [ + "all", + [ + "in", + "pmap:kind", + "stream" + ] + ], + "paint": { + "line-color": "#85c2e9", + "line-width": 0.5 + } + }, + { + "id": "physical_line_river", + "type": "line", + "source": "protomaps", + "source-layer": "physical_line", + "minzoom": 9, + "filter": [ + "all", + [ + "in", + "pmap:kind", + "river" + ] + ], + "paint": { + "line-color": "#85c2e9", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1, + 18, + 12 + ] + } + }, + { + "id": "landuse_pedestrian", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "pedestrian" + ] + ], + "paint": { + "fill-color": "#e3e0d4" + } + }, + { + "id": "landuse_pier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "pier" + ] + ], + "paint": { + "fill-color": "#e0e0e0" + } + }, + { + "id": "roads_tunnels_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_medium_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 10, + 0, + 10.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 6, + 0.5 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_tunnels_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-dasharray": [ + 4.5, + 0.5 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_medium_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-dasharray": [ + 0.4, + 0.1 + ], + "line-color": "#bca664", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 3.2, + 15, + 6, + 18, + 17 + ] + } + }, + { + "id": "roads_tunnels_medium", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#fcd6a4", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_major_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-dasharray": [ + 0.4, + 0.1 + ], + "line-color": "#d9a985", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 3.6, + 15, + 6, + 18, + 18 + ] + } + }, + { + "id": "roads_tunnels_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "buildings", + "type": "fill", + "source": "protomaps", + "source-layer": "buildings", + "paint": { + "fill-color": "#cccccc", + "fill-opacity": 0.5 + } + }, + { + "id": "transit_pier", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "pier" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 0.5, + 20, + 16 + ] + } + }, + { + "id": "roads_minor_service_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ], + [ + "==", + "pmap:kind_detail", + "service" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 18, + 8 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ], + [ + "!=", + "pmap:kind_detail", + "service" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1.5 + ] + } + }, + { + "id": "roads_medium_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 10, + 0, + 10.5, + 1.5 + ] + } + }, + { + "id": "roads_major_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_highway_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#ebebeb", + "line-dasharray": [ + 3, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_minor_service", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ], + [ + "==", + "pmap:kind_detail", + "service" + ] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 18, + 8 + ] + } + }, + { + "id": "roads_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ], + [ + "!=", + "pmap:kind_detail", + "service" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + "#ebebeb", + 16, + "#ffffff" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_medium_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#bca664", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 3.2, + 15, + 6, + 18, + 17 + ] + } + }, + { + "id": "roads_medium", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#fcd6a4", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_major_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_major_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#d9a985", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 3.6, + 15, + 6, + 18, + 18 + ] + } + }, + { + "id": "roads_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_highway_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1 + ] + } + }, + { + "id": "roads_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#f9b9a5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "transit_railway_centerline", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "filter": [ + "all", + [ + "==", + "pmap:kind", + "rail" + ] + ], + "paint": { + "line-opacity": 1, + "line-color": "#666", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 11, + 0, + 11.5, + 1, + 13, + 3, + 18, + 6 + ] + } + }, + { + "id": "transit_railway", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "filter": [ + "all", + [ + "==", + "pmap:kind", + "rail" + ] + ], + "paint": { + "line-dasharray": [ + 0.3, + 0.75 + ], + "line-opacity": 0.5, + "line-color": "#a7b1b3", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 0.15, + 18, + 9 + ] + } + }, + { + "id": "boundaries_country", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": [ + "<=", + "pmap:min_admin_level", + 2 + ], + "paint": { + "line-color": "#adadad", + "line-width": 1, + "line-dasharray": [ + 3, + 2 + ] + } + }, + { + "id": "boundaries", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": [ + ">", + "pmap:min_admin_level", + 2 + ], + "paint": { + "line-color": "#adadad", + "line-width": 0.5, + "line-dasharray": [ + 3, + 2 + ] + } + }, + { + "id": "roads_bridges_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_bridges_medium_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 10, + 0, + 10.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 10 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_medium_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#7c6644", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 3.2, + 15, + 6, + 18, + 17 + ] + } + }, + { + "id": "roads_bridges_major_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#a98985", + 18, + "#a97975" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 3.6, + 15, + 6, + 18, + 18 + ] + } + }, + { + "id": "roads_bridges_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_medium", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#fcd6a4", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#ebebeb", + "line-dasharray": [ + 2, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "places_locality_circle", + "type": "circle", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "==", + "pmap:kind", + "locality" + ], + "paint": { + "circle-radius": 2, + "circle-stroke-width": 1.5, + "circle-stroke-color": "#a3a3a3", + "circle-color": "#ffffff", + "circle-translate": [ + -6, + 0 + ] + }, + "maxzoom": 8 + } + ] +} diff --git a/public/assets/sunny.json b/public/assets/sunny.json new file mode 100644 index 000000000..7f6d957dc --- /dev/null +++ b/public/assets/sunny.json @@ -0,0 +1,3674 @@ +{ + "version": 8, + "name": "style@2.0.0-alpha.0 theme@sunny", + "glyphs": "https://protomaps.github.io/basemaps-assets/fonts/{fontstack}/{range}.pbf", + "sources": { + "protomaps": { + "attribution": "Protomaps © OpenStreetMap", + "type": "vector", + "tiles": [ + "https://api.protomaps.com/tiles/v3/{z}/{x}/{y}.mvt?key=2af8b969a9e8b692" + ], + "maxzoom": 15 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "#f0efdd" + } + }, + { + "id": "earth", + "type": "fill", + "source": "protomaps", + "source-layer": "earth", + "paint": { + "fill-color": "#fcf7e5" + } + }, + { + "id": "landuse_farmland", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "farmland" + ] + ], + "paint": { + "fill-color": "#EEF0D5" + } + }, + { + "id": "landuse_residential", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "residential" + ] + ], + "paint": { + "fill-color": "#f0ead9" + } + }, + { + "id": "landuse_park", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "national_park", + "park", + "cemetery", + "nature_reserve", + "golf_course" + ] + ], + "paint": { + "fill-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + "#f0efdd", + 10, + "#dfede5", + 18, + "#b0e9b0" + ] + } + }, + { + "id": "landuse_urban_green", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "allotments", + "village_green", + "playground" + ] + ], + "paint": { + "fill-color": "#9cd3b4", + "fill-opacity": 0.7 + } + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "hospital" + ] + ], + "paint": { + "fill-color": "#f9e1dc" + } + }, + { + "id": "landuse_industrial", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "industrial" + ] + ], + "paint": { + "fill-color": "#efdfe8" + } + }, + { + "id": "landuse_school", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "school", + "university", + "college" + ] + ], + "paint": { + "fill-color": "#e4dec7" + } + }, + { + "id": "landuse_beach", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "beach" + ] + ], + "paint": { + "fill-color": "#e8e4d0" + } + }, + { + "id": "landuse_zoo", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "zoo" + ] + ], + "paint": { + "fill-color": "#c6dcdc" + } + }, + { + "id": "landuse_military", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "military", + "naval_base", + "airfield" + ] + ], + "paint": { + "fill-color": "#c6dcdc" + } + }, + { + "id": "natural_wood", + "type": "fill", + "source": "protomaps", + "source-layer": "natural", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "wood", + "nature_reserve", + "forest" + ] + ], + "paint": { + "fill-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + "#f0efdd", + 10, + "#d0ded0", + 18, + "#add19e" + ] + } + }, + { + "id": "landuse_forest", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "forest" + ] + ], + "paint": { + "fill-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + "#f0efdd", + 12, + "#d0ded0", + 18, + "#add19e" + ] + } + }, + { + "id": "natural_scrub", + "type": "fill", + "source": "protomaps", + "source-layer": "natural", + "filter": [ + "in", + "pmap:kind", + "scrub", + "grassland", + "grass" + ], + "paint": { + "fill-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + "#cedcd7", + 12, + "#99d2bb" + ] + } + }, + { + "id": "natural_glacier", + "type": "fill", + "source": "protomaps", + "source-layer": "natural", + "filter": [ + "==", + "pmap:kind", + "glacier" + ], + "paint": { + "fill-color": "#e7e7e7" + } + }, + { + "id": "natural_sand", + "type": "fill", + "source": "protomaps", + "source-layer": "natural", + "filter": [ + "==", + "pmap:kind", + "sand" + ], + "paint": { + "fill-color": "#e2e0d7" + } + }, + { + "id": "landuse_park_line", + "type": "line", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "national_park", + "park", + "cemetery", + "nature_reserve", + "forest", + "golf_course" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#fcf7e5", + 10, + "#afbdb5", + 16, + "#7cb384" + ] + } + }, + { + "id": "landuse_aerodrome", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "aerodrome" + ] + ], + "paint": { + "fill-color": "#dadbdf" + } + }, + { + "id": "transit_runway", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "filter": [ + "any", + [ + "in", + "pmap:kind_detail", + "runway" + ] + ], + "paint": { + "line-color": "#e9e9ed", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 10, + 0, + 12, + 4, + 18, + 30 + ] + } + }, + { + "id": "transit_taxiway", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "minzoom": 13, + "filter": [ + "any", + [ + "in", + "pmap:kind_detail", + "taxiway" + ] + ], + "paint": { + "line-color": "#e9e9ed", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 15, + 6 + ] + } + }, + { + "id": "water", + "type": "fill", + "source": "protomaps", + "source-layer": "water", + "paint": { + "fill-color": "#85c2e9" + } + }, + { + "id": "physical_line_stream", + "type": "line", + "source": "protomaps", + "source-layer": "physical_line", + "minzoom": 14, + "filter": [ + "all", + [ + "in", + "pmap:kind", + "stream" + ] + ], + "paint": { + "line-color": "#85c2e9", + "line-width": 0.5 + } + }, + { + "id": "physical_line_river", + "type": "line", + "source": "protomaps", + "source-layer": "physical_line", + "minzoom": 9, + "filter": [ + "all", + [ + "in", + "pmap:kind", + "river" + ] + ], + "paint": { + "line-color": "#85c2e9", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1, + 18, + 12 + ] + } + }, + { + "id": "landuse_pedestrian", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "pedestrian" + ] + ], + "paint": { + "fill-color": "#e3e0d4" + } + }, + { + "id": "landuse_pier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "pier" + ] + ], + "paint": { + "fill-color": "#e0e0e0" + } + }, + { + "id": "roads_tunnels_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_medium_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 10, + 0, + 10.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 6, + 0.5 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_tunnels_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-dasharray": [ + 4.5, + 0.5 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_medium_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-dasharray": [ + 0.4, + 0.1 + ], + "line-color": "#bca664", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 3.2, + 15, + 6, + 18, + 17 + ] + } + }, + { + "id": "roads_tunnels_medium", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#fcd6a4", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_major_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-dasharray": [ + 0.4, + 0.1 + ], + "line-color": "#d9a985", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 3.6, + 15, + 6, + 18, + 18 + ] + } + }, + { + "id": "roads_tunnels_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "<", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "buildings", + "type": "fill", + "source": "protomaps", + "source-layer": "buildings", + "paint": { + "fill-color": "#cccccc", + "fill-opacity": 0.5 + } + }, + { + "id": "transit_pier", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "pier" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 0.5, + 20, + 16 + ] + } + }, + { + "id": "roads_minor_service_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ], + [ + "==", + "pmap:kind_detail", + "service" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 18, + 8 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ], + [ + "!=", + "pmap:kind_detail", + "service" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1.5 + ] + } + }, + { + "id": "roads_medium_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 10, + 0, + 10.5, + 1.5 + ] + } + }, + { + "id": "roads_major_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_highway_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#ebebeb", + "line-dasharray": [ + 3, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_minor_service", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ], + [ + "==", + "pmap:kind_detail", + "service" + ] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 18, + 8 + ] + } + }, + { + "id": "roads_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ], + [ + "!=", + "pmap:kind_detail", + "service" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + "#ebebeb", + 16, + "#ffffff" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_medium_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#bca664", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 3.2, + 15, + 6, + 18, + 17 + ] + } + }, + { + "id": "roads_medium", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#fcd6a4", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_major_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_major_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#d9a985", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 3.6, + 15, + 6, + 18, + 18 + ] + } + }, + { + "id": "roads_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_highway_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1 + ] + } + }, + { + "id": "roads_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "==", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#f9b9a5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "transit_railway_centerline", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "filter": [ + "all", + [ + "==", + "pmap:kind", + "rail" + ] + ], + "paint": { + "line-opacity": 1, + "line-color": "#666", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 11, + 0, + 11.5, + 1, + 13, + 3, + 18, + 6 + ] + } + }, + { + "id": "transit_railway", + "type": "line", + "source": "protomaps", + "source-layer": "transit", + "filter": [ + "all", + [ + "==", + "pmap:kind", + "rail" + ] + ], + "paint": { + "line-dasharray": [ + 0.3, + 0.75 + ], + "line-opacity": 0.5, + "line-color": "#a7b1b3", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 0.15, + 18, + 9 + ] + } + }, + { + "id": "boundaries_country", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": [ + "<=", + "pmap:min_admin_level", + 2 + ], + "paint": { + "line-color": "#adadad", + "line-width": 1, + "line-dasharray": [ + 3, + 2 + ] + } + }, + { + "id": "boundaries", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": [ + ">", + "pmap:min_admin_level", + 2 + ], + "paint": { + "line-color": "#adadad", + "line-width": 0.5, + "line-dasharray": [ + 3, + 2 + ] + } + }, + { + "id": "roads_bridges_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_bridges_medium_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 10, + 0, + 10.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 10 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_medium_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#7c6644", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 3.2, + 15, + 6, + 18, + 17 + ] + } + }, + { + "id": "roads_bridges_major_outline", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#a98985", + 18, + "#a97975" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 3.6, + 15, + 6, + 18, + 18 + ] + } + }, + + { + "id": "roads_bridges_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "highway" + ], + [ + "!=", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + + }, + + { + "id": "roads_bridges_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:link", + 1 + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + + { + "id": "roads_bridges_medium", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "medium_road" + ] + ], + "paint": { + "line-color": "#fcd6a4", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 12, + 1.2, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "==", + "pmap:kind", + "major_road" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + "#f9d9b5", + 18, + "#f9b9a5" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + + { + "id": "roads_bridges_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + ">", + "pmap:level", + 0 + ], + [ + "in", + "pmap:kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#ebebeb", + "line-dasharray": [ + 2, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + + { + "id": "physical_line_waterway_label", + "type": "symbol", + "source": "protomaps", + "source-layer": "physical_line", + "minzoom": 13, + "filter": [ + "all", + [ + "in", + "pmap:kind", + "river", + "stream" + ] + ], + "layout": { + "symbol-placement": "line", + "text-font": [ + "Noto Sans Regular" + ], + "text-field": [ + "get", + "name" + ], + "text-size": 12, + "text-letter-spacing": 0.3 + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "physical_point_peak", + "type": "symbol", + "source": "protomaps", + "source-layer": "physical_point", + "filter": [ + "any", + [ + "==", + "pmap:kind", + "peak" + ] + ], + "layout": { + "text-font": [ + "Noto Sans Italic" + ], + "text-field": [ + "get", + "name" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 10, + 8, + 16, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9 + }, + "paint": { + "text-color": "#7e9aa0", + "text-halo-width": 1.5 + } + }, + { + "id": "roads_labels_minor", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 15, + "filter": [ + "any", + [ + "in", + "pmap:kind", + "minor_road", + "other", + "path" + ] + ], + "layout": { + "symbol-sort-key": [ + "get", + "pmap:min_zoom" + ], + "symbol-placement": "line", + "text-font": [ + "Noto Sans Regular" + ], + "text-field": [ + "get", + "name" + ], + "text-size": 12 + }, + "paint": { + "text-color": "#91888b", + "text-halo-color": "#ffffff", + "text-halo-width": 2 + } + }, + { + "id": "physical_point_ocean", + "type": "symbol", + "source": "protomaps", + "source-layer": "physical_point", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "sea", + "ocean", + "lake", + "water", + "bay", + "strait", + "fjord" + ] + ], + "layout": { + "text-font": [ + "Noto Sans Medium" + ], + "text-field": [ + "get", + "name" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 10, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "physical_point_lakes", + "type": "symbol", + "source": "protomaps", + "source-layer": "physical_point", + "filter": [ + "any", + [ + "in", + "pmap:kind", + "lake", + "water" + ] + ], + "layout": { + "text-font": [ + "Noto Sans Medium" + ], + "text-field": [ + "get", + "name" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 0, + 6, + 12, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9 + }, + "paint": { + "text-color": "#ffffff" + } + }, + { + "id": "roads_labels_major", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 11, + "filter": [ + "any", + [ + "in", + "pmap:kind", + "highway", + "major_road", + "medium_road" + ] + ], + "layout": { + "symbol-sort-key": [ + "get", + "pmap:min_zoom" + ], + "symbol-placement": "line", + "text-font": [ + "Noto Sans Regular" + ], + "text-field": [ + "get", + "name" + ], + "text-size": 12 + }, + "paint": { + "text-color": "#938a8d", + "text-halo-color": "#ffffff", + "text-halo-width": 2 + } + }, + { + "id": "places_subplace", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "==", + "pmap:kind", + "neighbourhood" + ], + "layout": { + "symbol-sort-key": [ + "get", + "pmap:min_zoom" + ], + "text-field": "{name}", + "text-font": [ + "Noto Sans Regular" + ], + "text-max-width": 7, + "text-letter-spacing": 0.1, + "text-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 2, + 8, + 4, + 12, + 18, + 15, + 20 + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1.2 + ], + [ + "zoom" + ], + 11, + 8, + 14, + 14, + 18, + 24 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#8f8f8f", + "text-halo-color": "#e0e0e0", + "text-halo-width": 2 + } + }, + { + "id": "pois_important", + "type": "symbol", + "source": "protomaps", + "source-layer": "pois", + "filter": [ + "any", + [ + "<", + [ + "get", + "pmap:min_zoom" + ], + 13 + ] + ], + "layout": { + "symbol-sort-key": [ + "get", + "pmap:min_zoom" + ], + "text-font": [ + "Noto Sans Regular" + ], + "text-field": [ + "get", + "name" + ], + "text-size": 11, + "text-max-width": 9, + "icon-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 2, + 14, + 2, + 16, + 20, + 17, + 2, + 22, + 2 + ] + }, + "paint": { + "text-color": "#8f8f8f", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1.5 + } + }, + { + "id": "places_locality_circle", + "type": "circle", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "==", + "pmap:kind", + "locality" + ], + "paint": { + "circle-radius": 2, + "circle-stroke-width": 1.5, + "circle-stroke-color": "#a3a3a3", + "circle-color": "#ffffff", + "circle-translate": [ + -6, + 0 + ] + }, + "maxzoom": 8 + }, + { + "id": "places_locality", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "==", + "pmap:kind", + "locality" + ], + "layout": { + "text-field": "{name}", + "text-font": [ + "case", + [ + "<=", + [ + "get", + "pmap:min_zoom" + ], + 5 + ], + [ + "literal", + [ + "Noto Sans Medium" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ], + "text-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 3, + 8, + 7, + 12, + 11 + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + [ + "case", + [ + "<", + [ + "get", + "pmap:population_rank" + ], + 13 + ], + 8, + [ + ">=", + [ + "get", + "pmap:population_rank" + ], + 13 + ], + 13, + 0 + ], + 4, + [ + "case", + [ + "<", + [ + "get", + "pmap:population_rank" + ], + 13 + ], + 10, + [ + ">=", + [ + "get", + "pmap:population_rank" + ], + 13 + ], + 15, + 0 + ], + 6, + [ + "case", + [ + "<", + [ + "get", + "pmap:population_rank" + ], + 12 + ], + 11, + [ + ">=", + [ + "get", + "pmap:population_rank" + ], + 12 + ], + 17, + 0 + ], + 8, + [ + "case", + [ + "<", + [ + "get", + "pmap:population_rank" + ], + 11 + ], + 11, + [ + ">=", + [ + "get", + "pmap:population_rank" + ], + 11 + ], + 18, + 0 + ], + 10, + [ + "case", + [ + "<", + [ + "get", + "pmap:population_rank" + ], + 9 + ], + 12, + [ + ">=", + [ + "get", + "pmap:population_rank" + ], + 9 + ], + 20, + 0 + ], + 15, + [ + "case", + [ + "<", + [ + "get", + "pmap:population_rank" + ], + 8 + ], + 12, + [ + ">=", + [ + "get", + "pmap:population_rank" + ], + 8 + ], + 22, + 0 + ] + ], + "icon-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 2, + 8, + 4, + 10, + 8, + 12, + 6, + 22, + 2 + ], + "text-anchor": [ + "step", + [ + "zoom" + ], + "left", + 8, + "center" + ], + "text-radial-offset": 0.2 + }, + "paint": { + "text-color": "#5c5c5c", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1 + } + }, + { + "id": "places_region", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "==", + "pmap:kind", + "region" + ], + "layout": { + "symbol-sort-key": [ + "get", + "pmap:min_zoom" + ], + "text-field": [ + "step", + [ + "zoom" + ], + [ + "get", + "name:short" + ], + 6, + [ + "get", + "name" + ] + ], + "text-font": [ + "Noto Sans Regular" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 11, + 7, + 16 + ], + "text-radial-offset": 0.2, + "text-anchor": "center", + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#b3b3b3", + "text-halo-color": "#e0e0e0", + "text-halo-width": 2 + } + }, + { + "id": "places_country", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "==", + "pmap:kind", + "country" + ], + "layout": { + "symbol-sort-key": [ + "get", + "pmap:min_zoom" + ], + "text-field": "{name}", + "text-font": [ + "Noto Sans Medium" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + [ + "case", + [ + "<", + [ + "get", + "pmap:population_rank" + ], + 10 + ], + 8, + [ + ">=", + [ + "get", + "pmap:population_rank" + ], + 10 + ], + 12, + 0 + ], + 6, + [ + "case", + [ + "<", + [ + "get", + "pmap:population_rank" + ], + 8 + ], + 10, + [ + ">=", + [ + "get", + "pmap:population_rank" + ], + 8 + ], + 18, + 0 + ], + 8, + [ + "case", + [ + "<", + [ + "get", + "pmap:population_rank" + ], + 7 + ], + 11, + [ + ">=", + [ + "get", + "pmap:population_rank" + ], + 7 + ], + 20, + 0 + ] + ], + "icon-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 2, + 14, + 2, + 16, + 20, + 17, + 2, + 22, + 2 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#a3a3a3" + } + } + ] +} diff --git a/public/css/ReviewElement.css b/public/css/ReviewElement.css deleted file mode 100644 index 2c756c672..000000000 --- a/public/css/ReviewElement.css +++ /dev/null @@ -1,52 +0,0 @@ - -.review-attribution { - display: flex; - color: var(--subtle-detail-color-light-contrast); - justify-content: flex-end; - margin-right: 1em; -} - -.review-attribution span { - width: calc(75% - 3em); - text-align: right; - max-width: 20em; -} - -.review-attribution img { - height: 3em; - width: auto; - margin-left: 0.5em; -} - -.review-form-bottom { - display: flex; - justify-content: space-between; - margin-top: 0.5em; -} - -.review-form-top { - display: flex; - flex-wrap: wrap; - justify-content: space-between; -} - - -.review-form-rating { - display: block ruby; -} - -.review-form .save { - display: block ruby; -} - -.review-form textarea { - resize: unset; -} - -.review-form-rating svg { - width: 2em; - height: 2em; - margin: 0; - padding: 0; - display: inline-block; -} \ No newline at end of file diff --git a/public/css/index-tailwind-output.css b/public/css/index-tailwind-output.css index c61d146be..0f5db9ed3 100644 --- a/public/css/index-tailwind-output.css +++ b/public/css/index-tailwind-output.css @@ -777,10 +777,6 @@ video { float: left; } -.m-8 { - margin: 2rem; -} - .m-4 { margin: 1rem; } @@ -793,6 +789,10 @@ video { margin: 0px; } +.m-8 { + margin: 2rem; +} + .m-2 { margin: 0.5rem; } @@ -900,6 +900,10 @@ video { margin-bottom: 1rem; } +.mb-8 { + margin-bottom: 2rem; +} + .mt-4 { margin-top: 1rem; } @@ -964,18 +968,10 @@ video { margin-top: 2rem; } -.mb-8 { - margin-bottom: 2rem; -} - .-ml-6 { margin-left: -1.5rem; } -.mr-3 { - margin-right: 0.75rem; -} - .mt-12 { margin-top: 3rem; } @@ -1115,6 +1111,10 @@ video { height: fit-content; } +.h-96 { + height: 24rem; +} + .h-0 { height: 0px; } @@ -1560,6 +1560,10 @@ video { align-self: center; } +.self-stretch { + align-self: stretch; +} + .justify-self-start { justify-self: start; } @@ -1823,6 +1827,10 @@ video { padding: 1rem; } +.p-0 { + padding: 0px; +} + .p-2 { padding: 0.5rem; } @@ -1835,10 +1843,6 @@ video { padding: 0.125rem; } -.p-0 { - padding: 0px; -} - .p-12 { padding: 3rem; } @@ -1945,6 +1949,11 @@ video { line-height: 1.75rem; } +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + .text-base { font-size: 1rem; line-height: 1.5rem; @@ -1955,11 +1964,6 @@ video { line-height: 1.75rem; } -.text-xs { - font-size: 0.75rem; - line-height: 1rem; -} - .text-3xl { font-size: 1.875rem; line-height: 2.25rem; diff --git a/scripts/generateDocs.ts b/scripts/generateDocs.ts index a31ffe55a..c6a968c3a 100644 --- a/scripts/generateDocs.ts +++ b/scripts/generateDocs.ts @@ -30,6 +30,7 @@ import { LayerConfigJson } from "../src/Models/ThemeConfig/Json/LayerConfigJson" import { Utils } from "../src/Utils" import { TagUtils } from "../src/Logic/Tags/TagUtils" import Script from "./Script" +import { Changes } from "../src/Logic/Osm/Changes" /** * Converts a markdown-file into a .json file, which a walkthrough/slideshow element can use @@ -180,6 +181,10 @@ export class GenerateDocs extends Script { "src/UI/InputElement/Validators.ts", ]) + this.WriteFile("./Docs/ChangesetMeta.md", Changes.getDocs(), [ + "src/Logic/Osm/Changes.ts", + "src/Logic/Osm/ChangesetHandler.ts", + ]) new WikiPageGenerator().generate() console.log("Generated docs") @@ -239,7 +244,7 @@ export class GenerateDocs extends Script { } private generateHotkeyDocs() { - new ThemeViewState(new LayoutConfig(bookcases)) + new ThemeViewState(new LayoutConfig(bookcases), new Set()) this.WriteFile("./Docs/Hotkeys.md", Hotkeys.generateDocumentation(), []) } @@ -314,9 +319,6 @@ export class GenerateDocs extends Script { const themesPerLayer = new Map() for (const layout of Array.from(AllKnownLayouts.allKnownLayouts.values())) { - if (layout.hideFromOverview) { - continue - } for (const layer of layout.layers) { if (!builtinLayerIds.has(layer.id)) { // This is an inline layer diff --git a/scripts/generateFavouritesLayer.ts b/scripts/generateFavouritesLayer.ts index 0c0e3c008..d24fcd963 100644 --- a/scripts/generateFavouritesLayer.ts +++ b/scripts/generateFavouritesLayer.ts @@ -40,6 +40,26 @@ export class GenerateFavouritesLayer extends Script { } } + async main(args: string[]): Promise { + console.log("Generating the favourite layer: stealing _all_ tagRenderings") + const proto = this.readLayer("favourite/favourite.proto.json") + this.addTagRenderings(proto) + this.addTitle(proto) + proto.titleIcons = this.generateTitleIcons() + const targetContent = JSON.stringify(proto, null, " ") + const path = "./assets/layers/favourite/favourite.json" + if (existsSync(path)) { + if (readFileSync(path, "utf8") === targetContent) { + console.log( + "Already existing favourite layer is identical to the generated one, not writing" + ) + return + } + } + console.log("Written favourite layer to", path) + writeFileSync(path, targetContent) + } + private sortMappings(mappings: MappingConfigJson[]): MappingConfigJson[] { const sortedMappings: MappingConfigJson[] = [...mappings] sortedMappings.sort((a, b) => { @@ -200,6 +220,10 @@ export class GenerateFavouritesLayer extends Script { if (titleIcon["labels"]?.indexOf("defaults") >= 0) { continue } + if (titleIcon.id === "iconsdefaults") { + continue + } + if (titleIcon.id === "rating") { if (!seenTitleIcons.has("rating")) { titleIcons.unshift(...iconsLibrary.get("rating")) @@ -302,26 +326,6 @@ export class GenerateFavouritesLayer extends Script { } } - async main(args: string[]): Promise { - console.log("Generating the favourite layer: stealing _all_ tagRenderings") - const proto = this.readLayer("favourite/favourite.proto.json") - this.addTagRenderings(proto) - this.addTitle(proto) - proto.titleIcons = this.generateTitleIcons() - const targetContent = JSON.stringify(proto, null, " ") - const path = "./assets/layers/favourite/favourite.json" - if (existsSync(path)) { - if (readFileSync(path, "utf8") === targetContent) { - console.log( - "Already existing favourite layer is identical to the generated one, not writing" - ) - return - } - } - console.log("Written favourite layer to", path) - writeFileSync(path, targetContent) - } - private readLayer(path: string): LayerConfigJson { try { return JSON.parse(readFileSync("./assets/layers/" + path, "utf8")) diff --git a/scripts/generateImageAnalysis.ts b/scripts/generateImageAnalysis.ts index b83f08c6b..a97038238 100644 --- a/scripts/generateImageAnalysis.ts +++ b/scripts/generateImageAnalysis.ts @@ -95,7 +95,7 @@ export default class GenerateImageAnalysis extends Script { if (fs.existsSync(targetPath)) { return false } - const attribution = await Imgur.singleton.DownloadAttribution(image) + const attribution = await Imgur.singleton.DownloadAttribution({ url: image, }) if ((attribution.artist ?? "") === "") { // This is an invalid attribution. We save the raw response as well @@ -215,7 +215,7 @@ export default class GenerateImageAnalysis extends Script { skipped++ } else { try { - attribution = await Imgur.singleton.DownloadAttribution(image) + attribution = await Imgur.singleton.DownloadAttribution({ url: image }) await ScriptUtils.sleep(500) writeFileSync(cachedView, JSON.stringify(attribution)) dloaded++ diff --git a/scripts/generateLayouts.ts b/scripts/generateLayouts.ts index 89253bcba..ba7bb5d94 100644 --- a/scripts/generateLayouts.ts +++ b/scripts/generateLayouts.ts @@ -12,419 +12,465 @@ import SpecialVisualizations from "../src/UI/SpecialVisualizations" import Constants from "../src/Models/Constants" import { AvailableRasterLayers, RasterLayerPolygon } from "../src/Models/RasterLayers" import { ImmutableStore } from "../src/Logic/UIEventSource" -import * as crypto from "crypto" import * as eli from "../src/assets/editor-layer-index.json" import * as eli_global from "../src/assets/global-raster-layers.json" import ValidationUtils from "../src/Models/ThemeConfig/Conversion/ValidationUtils" import { LayerConfigJson } from "../src/Models/ThemeConfig/Json/LayerConfigJson" import { QuestionableTagRenderingConfigJson } from "../src/Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson" +import Script from "./Script" +import crypto from "crypto" const sharp = require("sharp") -const template = readFileSync("theme.html", "utf8") -let codeTemplate = readFileSync("src/index_theme.ts.template", "utf8") -function enc(str: string): string { - return encodeURIComponent(str.toLowerCase()) -} +class GenerateLayouts extends Script { + private readonly template = readFileSync("theme.html", "utf8") + private readonly codeTemplate = readFileSync("src/index_theme.ts.template", "utf8") + private readonly removeOtherLanguages = readFileSync("src/UI/RemoveOtherLanguages.ts", "utf8") + .split("\n") + .slice(1) + .map((s) => s.trim()) + .filter((s) => s !== "") + .join("\n") + private readonly removeOtherLanguagesHash = + "sha256-" + crypto.createHash("sha256").update(this.removeOtherLanguages).digest("base64") + private previousSrc: Set = new Set() + private eliUrlsCached: string[] + private date = new Date().toISOString() + private branchName: string = undefined -async function createIcon(iconPath: string, size: number, alreadyWritten: string[]) { - let name = iconPath.split(".").slice(0, -1).join(".") // drop svg suffix - if (name.startsWith("./")) { - name = name.substr(2) + constructor() { + super("Generates an '.html' and 'index_.ts' for every theme") } - const newname = `assets/generated/images/${name.replace(/\//g, "_")}${size}.png` - const targetpath = `public/${newname}` - if (alreadyWritten.indexOf(newname) >= 0) { - return newname + enc(str: string): string { + return encodeURIComponent(str.toLowerCase()) } - alreadyWritten.push(newname) - if (existsSync(targetpath)) { + + getBranchName(): Promise { + if (this.branchName) { + return Promise.resolve(this.branchName) + } + const { exec } = require("child_process") + return new Promise((resolve, reject) => { + exec("git rev-parse --abbrev-ref HEAD", (err, stdout, stderr) => { + if (err) { + reject(err) + return + } + + if (typeof stdout === "string") { + this.branchName = stdout.trim() + resolve(stdout.trim()) + } + reject("Did not get output") + }) + }) + } + + async createIcon(iconPath: string, size: number, alreadyWritten: string[]) { + let name = iconPath.split(".").slice(0, -1).join(".") // drop svg suffix + if (name.startsWith("./")) { + name = name.substring(2) + } + + const newname = `assets/generated/images/${name.replace(/\//g, "_")}${size}.png` + const targetpath = `public/${newname}` + if (alreadyWritten.indexOf(newname) >= 0) { + return newname + } + alreadyWritten.push(newname) + if (existsSync(targetpath)) { + return newname + } + + if (!existsSync(iconPath)) { + throw "No file at " + iconPath + } + + try { + // We already read to file, in order to crash here if the file is not found + let img = await sharp(iconPath) + let resized = await img.resize(size) + await resized.toFile(targetpath) + console.log("Created png version at ", newname) + } catch (e) { + console.error("Could not read icon", iconPath, " to create a PNG due to", e) + } + return newname } - if (!existsSync(iconPath)) { - throw "No file at " + iconPath - } - - try { - // We already read to file, in order to crash here if the file is not found - let img = await sharp(iconPath) - let resized = await img.resize(size) - await resized.toFile(targetpath) - console.log("Created png version at ", newname) - } catch (e) { - console.error("Could not read icon", iconPath, " to create a PNG due to", e) - } - - return newname -} - -async function createSocialImage(layout: LayoutConfig, template: "" | "Wide"): Promise { - if (!layout.icon.endsWith(".svg")) { - console.warn( - "Not creating a social image for " + + async createSocialImage(layout: LayoutConfig, template: "" | "Wide"): Promise { + if (!layout.icon.endsWith(".svg")) { + console.warn( + "Not creating a social image for " + layout.id + " as it is _not_ a .svg: " + layout.icon + ) + return undefined + } + const path = `./public/assets/generated/images/social_image_${layout.id}_${template}.svg` + if (existsSync(path)) { + return path + } + const svg = await ScriptUtils.ReadSvg(layout.icon) + let width: string = svg.$.width + if (width === undefined) { + throw "The logo at " + layout.icon + " does not have a defined width" + } + if (width?.endsWith("px")) { + width = width.substring(0, width.length - 2) + } + if (width?.endsWith("%")) { + throw "The logo at " + layout.icon + " has a relative width; this is not supported" + } + delete svg["defs"] + delete svg["$"] + let templateSvg = await ScriptUtils.ReadSvg( + "./public/assets/SocialImageTemplate" + template + ".svg" ) - return undefined - } - const path = `./public/assets/generated/images/social_image_${layout.id}_${template}.svg` - if (existsSync(path)) { + templateSvg = Utils.WalkJson( + templateSvg, + (leaf) => { + const { cx, cy, r } = leaf["circle"][0].$ + return { + $: { + id: "icon", + transform: `translate(${cx - r},${cy - r}) scale(${ + (r * 2) / Number(width) + }) ` + }, + g: [svg] + } + }, + (mightBeTokenToReplace) => { + if (mightBeTokenToReplace?.circle === undefined) { + return false + } + return mightBeTokenToReplace.circle[0]?.$?.style?.indexOf("fill:#ff00ff") >= 0 + } + ) + + const builder = new xml2js.Builder() + const xml = builder.buildObject({ svg: templateSvg }) + writeFileSync(path, xml) + console.log("Created social image at ", path) return path } - const svg = await ScriptUtils.ReadSvg(layout.icon) - let width: string = svg.$.width - if (width === undefined) { - throw "The logo at " + layout.icon + " does not have a defined width" - } - if (width?.endsWith("px")) { - width = width.substring(0, width.length - 2) - } - if (width?.endsWith("%")) { - throw "The logo at " + layout.icon + " has a relative width; this is not supported" - } - delete svg["defs"] - delete svg["$"] - let templateSvg = await ScriptUtils.ReadSvg( - "./public/assets/SocialImageTemplate" + template + ".svg" - ) - templateSvg = Utils.WalkJson( - templateSvg, - (leaf) => { - const { cx, cy, r } = leaf["circle"][0].$ - return { - $: { - id: "icon", - transform: `translate(${cx - r},${cy - r}) scale(${(r * 2) / Number(width)}) `, - }, - g: [svg], + + async createManifest( + layout: LayoutConfig, + alreadyWritten: string[] + ): Promise<{ + manifest: any + whiteIcons: string[] + }> { + Translation.forcedLanguage = "en" + const icons = [] + + const whiteIcons: string[] = [] + let icon = layout.icon + if (icon.endsWith(".svg") || icon.startsWith(" { - if (mightBeTokenToReplace?.circle === undefined) { - return false + + let path = layout.icon + if (layout.icon.startsWith("<")) { + // THis is already the svg + path = "./public/assets/generated/images/" + layout.id + "_logo.svg" + writeFileSync(path, layout.icon) } - return mightBeTokenToReplace.circle[0]?.$?.style?.indexOf("fill:#ff00ff") >= 0 - } - ) - const builder = new xml2js.Builder() - const xml = builder.buildObject({ svg: templateSvg }) - writeFileSync(path, xml) - console.log("Created social image at ", path) - return path -} - -async function createManifest( - layout: LayoutConfig, - alreadyWritten: string[] -): Promise<{ - manifest: any - whiteIcons: string[] -}> { - Translation.forcedLanguage = "en" - const icons = [] - - const whiteIcons: string[] = [] - let icon = layout.icon - if (icon.endsWith(".svg") || icon.startsWith("${t.translations[lang]}`) - } - return values.join("\n") -} - -let previousSrc: Set = new Set() - -let eliUrlsCached: string[] - -async function eliUrls(): Promise { - if (eliUrlsCached) { - return eliUrlsCached - } - const urls: string[] = [] - const regex = /{switch:([^}]+)}/ - const rasterLayers = [ - AvailableRasterLayers.maptilerDefaultLayer, - ...eli.features, - ...eli_global.layers.map((properties) => ({ properties })), - ] - for (const feature of rasterLayers) { - const f = feature - const url = f.properties.url - const match = url.match(regex) - if (match) { - const domains = match[1].split(",") - const subpart = match[0] - urls.push(...domains.map((d) => url.replace(subpart, d))) } else { - urls.push(url) + console.log(icon) + throw "Icon is not an svg for " + layout.id } + const ogTitle = Translations.T(layout.title).txt + const ogDescr = Translations.T(layout.description ?? "").txt - if (f.properties.type === "vector") { - // We also need to whitelist eventual sources - const styleSpec = await Utils.downloadJsonCached(f.properties.url, 1000 * 120) - for (const key of Object.keys(styleSpec.sources)) { - const url = styleSpec.sources[key].url - if (!url) { - continue - } - let urlClipped = url - if (url.indexOf("?") > 0) { - urlClipped = url?.substring(0, url.indexOf("?")) - } - console.log("Source url ", key, url) - urls.push(url) - if (urlClipped.endsWith(".json")) { - const tileInfo = await Utils.downloadJsonCached(url, 1000 * 120) - urls.push(tileInfo["tiles"] ?? []) - } + const manifest = { + name: ogTitle, + short_name: ogTitle, + start_url: `${layout.id.toLowerCase()}.html`, + lang: "en", + display: "standalone", + background_color: "#fff", + description: ogDescr, + orientation: "portrait-primary, landscape-primary", + icons: icons, + categories: ["map", "navigation"] + } + return { + manifest, + whiteIcons + } + } + + asLangSpan(t: Translation, tag = "span"): string { + const values: string[] = [] + for (const lang in t.translations) { + if (lang === "_context") { + continue } - urls.push(...(styleSpec["tiles"] ?? [])) - urls.push(styleSpec["sprite"]) - urls.push(styleSpec["glyphs"]) + values.push(`<${tag} lang="${lang}">${t.translations[lang]}`) } + return values.join("\n") } - eliUrlsCached = urls - return Utils.NoNull(urls).sort() -} -async function generateCsp( - layout: LayoutConfig, - layoutJson: LayoutConfigJson, - options: { - scriptSrcs: string[] - } -): Promise { - const apiUrls: string[] = [ - ...Constants.defaultOverpassUrls, - Constants.countryCoderEndpoint, - Constants.nominatimEndpoint, - "https://www.openstreetmap.org", - "https://api.openstreetmap.org", - "https://pietervdvn.goatcounter.com", - "https://cache.mapcomplete.org", - ].concat(...(await eliUrls())) - - SpecialVisualizations.specialVisualizations.forEach((sv) => { - if (typeof sv.needsUrls === "function") { - // Handled below - return + async eliUrls(): Promise { + if (this.eliUrlsCached) { + return this.eliUrlsCached } - apiUrls.push(...(sv.needsUrls ?? [])) - }) + const urls: string[] = [] + const regex = /{switch:([^}]+)}/ + const rasterLayers = [ + AvailableRasterLayers.defaultBackgroundLayer, + ...eli.features, + ...eli_global.layers.map((properties) => ({ properties })) + ] + for (const feature of rasterLayers) { + const f = feature + const url = f.properties.url + const match = url.match(regex) + if (match) { + const domains = match[1].split(",") + const subpart = match[0] + urls.push(...domains.map((d) => url.replace(subpart, d))) + } else { + urls.push(url) + } - const usedSpecialVisualisations = [].concat( - ...layoutJson.layers.map((l) => - ValidationUtils.getAllSpecialVisualisations( - (l).tagRenderings ?? [] + if (f.properties.type === "vector") { + // We also need to whitelist eventual sources + let url = f.properties.url + if (url.startsWith("pmtiles://")) { + url = url.substring("pmtiles://".length) + } + const styleSpec = await Utils.downloadJsonCached(url, 1000 * 120, { + Origin: "https://mapcomplete.org" + }) + urls.push(...(f.properties["connect-src"]??[])) + for (const key of Object.keys(styleSpec?.sources ?? {})) { + const url = styleSpec.sources[key].url + if (!url) { + continue + } + let urlClipped = url + if (url.indexOf("?") > 0) { + urlClipped = url?.substring(0, url.indexOf("?")) + } + console.log("Source url ", key, url) + urls.push(url) + if (urlClipped.endsWith(".json")) { + const tileInfo = await Utils.downloadJsonCached(url, 1000 * 120, { + Origin: "https://mapcomplete.org" + }) + urls.push(tileInfo["tiles"] ?? []) + } + } + urls.push(...(styleSpec["tiles"] ?? [])) + urls.push(styleSpec["sprite"]) + urls.push(styleSpec["glyphs"]) + } + } + this.eliUrlsCached = urls + return Utils.NoNull(urls).sort() + } + + async generateCsp( + layout: LayoutConfig, + layoutJson: LayoutConfigJson, + options: { + scriptSrcs: string[] + } + ): Promise { + const apiUrls: string[] = [ + ...Constants.defaultOverpassUrls, + Constants.countryCoderEndpoint, + Constants.nominatimEndpoint, + "https://www.openstreetmap.org", + "https://api.openstreetmap.org", + "https://pietervdvn.goatcounter.com", + "https://cache.mapcomplete.org" + ].concat(...(await this.eliUrls())) + + SpecialVisualizations.specialVisualizations.forEach((sv) => { + if (typeof sv.needsUrls === "function") { + // Handled below + return + } + apiUrls.push(...(sv.needsUrls ?? [])) + }) + + const usedSpecialVisualisations = [].concat( + ...layoutJson.layers.map((l) => + ValidationUtils.getAllSpecialVisualisations( + (l).tagRenderings ?? [] + ) ) ) - ) - for (const usedSpecialVisualisation of usedSpecialVisualisations) { - if (typeof usedSpecialVisualisation === "string") { - continue - } - const neededUrls = usedSpecialVisualisation.func.needsUrls ?? [] - if (typeof neededUrls === "function") { - let needed: string | string[] = neededUrls(usedSpecialVisualisation.args) - if (typeof needed === "string") { - needed = [needed] + for (const usedSpecialVisualisation of usedSpecialVisualisations) { + if (typeof usedSpecialVisualisation === "string") { + continue } - apiUrls.push(...needed) - } - } - - const geojsonSources: string[] = layout.layers.map((l) => l.source?.geojsonSource) - const hosts = new Set() - const eliLayers: RasterLayerPolygon[] = AvailableRasterLayers.layersAvailableAt( - new ImmutableStore({ lon: 0, lat: 0 }) - ).data - const vectorLayers = eliLayers.filter((l) => l.properties.type === "vector") - const vectorSources = vectorLayers.map((l) => l.properties.url) - apiUrls.push(...vectorSources) - for (let connectSource of apiUrls.concat(geojsonSources)) { - if (!connectSource) { - continue - } - try { - if (!connectSource.startsWith("http")) { - connectSource = "https://" + connectSource + const neededUrls = usedSpecialVisualisation.func.needsUrls ?? [] + if (typeof neededUrls === "function") { + let needed: string | string[] = neededUrls(usedSpecialVisualisation.args) + if (typeof needed === "string") { + needed = [needed] + } + apiUrls.push(...needed) } - const url = new URL(connectSource) - hosts.add("https://" + url.host) - } catch (e) { - hosts.add(connectSource) } - } - hosts.add("http://www.schema.org") // We add schema.org as it must be http, not https - if (hosts.has("*")) { - throw "* is not allowed as connect-src" - } - - const connectSrc = Array.from(hosts).sort() - - const newSrcs = connectSrc.filter((newItem) => !previousSrc.has(newItem)) - - console.log( - "Got", - hosts.size, - "connect-src items for theme", - layout.id, - "(extra sources: ", - newSrcs.join(" ") + ")" - ) - previousSrc = hosts - - const csp: Record = { - "default-src": "'self'", - "child-src": "'self' blob: ", - "img-src": "* data:", // maplibre depends on 'data:' to load - "connect-src": "'self' " + connectSrc.join(" "), - "report-to": "https://report.mapcomplete.org/csp", - "worker-src": "'self' blob:", // Vite somehow loads the worker via a 'blob' - "style-src": "'self' 'unsafe-inline'", // unsafe-inline is needed to change the default background pin colours - "script-src": ["'self'", "https://gc.zgo.at/count.js", ...(options?.scriptSrcs ?? [])].join( - " " - ), - } - const content = Object.keys(csp) - .map((k) => k + " " + csp[k]) - .join(" ; ") - - return [ - ``, - ``, - ].join("\n") -} - -const removeOtherLanguages = readFileSync("./src/UI/RemoveOtherLanguages.js", "utf8") - .split("\n") - .map((s) => s.trim()) - .join("\n") -const removeOtherLanguagesHash = crypto - .createHash("sha256") - .update(removeOtherLanguages) - .digest("base64") - -async function createLandingPage( - layout: LayoutConfig, - layoutJson: LayoutConfigJson, - manifest, - whiteIcons, - alreadyWritten -) { - Locale.language.setData(layout.language[0]) - const targetLanguage = layout.language[0] - const ogTitle = Translations.T(layout.title).textFor(targetLanguage).replace(/"/g, '\\"') - const ogDescr = Translations.T( - layout.shortDescription ?? "Easily add and edit geodata with OpenStreetMap" - ) - .textFor(targetLanguage) - .replace(/"/g, '\\"') - let ogImage = layout.socialImage - let twitterImage = ogImage - if (ogImage === LayoutConfig.defaultSocialImage && layout.official) { - ogImage = (await createSocialImage(layout, "")) ?? layout.socialImage - twitterImage = (await createSocialImage(layout, "Wide")) ?? layout.socialImage - } - if (twitterImage.endsWith(".svg")) { - // svgs are badly supported as social image, we use a generated svg instead - twitterImage = await createIcon(twitterImage, 512, alreadyWritten) - } - - if (ogImage.endsWith(".svg")) { - ogImage = await createIcon(ogImage, 512, alreadyWritten) - } - - let customCss = "" - if (layout.customCss !== undefined && layout.customCss !== "") { - try { - const cssContent = readFileSync(layout.customCss) - customCss = "" - } catch (e) { - customCss = `` + const geojsonSources: string[] = layout.layers.map((l) => l.source?.geojsonSource) + const hosts = new Set() + hosts.add("https://schema.org") + const eliLayers: RasterLayerPolygon[] = AvailableRasterLayers.layersAvailableAt( + new ImmutableStore({ lon: 0, lat: 0 }) + ).data + { + const vectorLayers = eliLayers.filter((l) => l.properties.type === "vector") + const vectorSources = vectorLayers.map((l) => l.properties.url) + vectorSources.push(...vectorLayers.map((l) => l.properties.style)) + apiUrls.push(...vectorSources.map(url => { + if (url?.startsWith("pmtiles://")) { + return url.substring("pmtiles://".length) + } + return url + })) } + for (let connectSource of apiUrls.concat(geojsonSources)) { + if (!connectSource) { + continue + } + try { + if (!connectSource.startsWith("http")) { + connectSource = "https://" + connectSource + } + const url = new URL(connectSource) + hosts.add("https://" + url.host) + } catch (e) { + hosts.add(connectSource) + } + } + + if (hosts.has("*")) { + throw "* is not allowed as connect-src" + } + + const connectSrc = Array.from(hosts).sort() + + const newSrcs = connectSrc.filter((newItem) => !this.previousSrc.has(newItem)) + + console.log( + "Got", + hosts.size, + "connect-src items for theme", + layout.id, + newSrcs.length > 0 ? "(extra sources: " + newSrcs.join(" ") + ")" : "" + ) + this.previousSrc = hosts + + const csp: Record = { + "default-src": "'self'", + "child-src": "'self' blob: ", + "img-src": "* data:", // maplibre depends on 'data:' to load + "connect-src": "'self' " + connectSrc.join(" "), + "report-to": "https://report.mapcomplete.org/csp", + "worker-src": "'self' blob:", // Vite somehow loads the worker via a 'blob' + "style-src": "'self' 'unsafe-inline'", // unsafe-inline is needed to change the default background pin colours + "script-src": [ + "'self'", + "https://gc.zgo.at/count.js", + ...(options?.scriptSrcs?.map((s) => "'" + s + "'") ?? []) + ].join(" ") + } + const content = Object.keys(csp) + .map((k) => k + " " + csp[k]) + .join(" ; ") + + return [ + ``, + `` + ].join("\n") } - const og = ` + async createLandingPage( + layout: LayoutConfig, + layoutJson: LayoutConfigJson, + whiteIcons, + alreadyWritten + ) { + Locale.language.setData(layout.language[0]) + const targetLanguage = layout.language[0] + const ogTitle = Translations.T(layout.title).textFor(targetLanguage).replace(/"/g, "\\\"") + const ogDescr = Translations.T( + layout.shortDescription ?? "Easily add and edit geodata with OpenStreetMap" + ) + .textFor(targetLanguage) + .replace(/"/g, "\\\"") + let ogImage = layout.socialImage + let twitterImage = ogImage + if (ogImage === LayoutConfig.defaultSocialImage && layout.official) { + ogImage = (await this.createSocialImage(layout, "")) ?? layout.socialImage + twitterImage = (await this.createSocialImage(layout, "Wide")) ?? layout.socialImage + } + if (twitterImage.endsWith(".svg")) { + // svgs are badly supported as social image, we use a generated svg instead + twitterImage = await this.createIcon(twitterImage, 512, alreadyWritten) + } + + if (ogImage.endsWith(".svg")) { + ogImage = await this.createIcon(ogImage, 512, alreadyWritten) + } + + let customCss = "" + if (layout.customCss !== undefined && layout.customCss !== "") { + try { + const cssContent = readFileSync(layout.customCss) + customCss = "" + } catch (e) { + customCss = `` + } + } + + const og = ` @@ -435,178 +481,189 @@ async function createLandingPage( ` - let icon = layout.icon - if (icon.startsWith("`) - } - let themeSpecific = [ - `${ogTitle}`, - ``, - og, - customCss, - ``, - ...apple_icons, - ].join("\n") - - const loadingText = Translations.t.general.loadingTheme.Subs({ theme: layout.title }) - const templateLines = template.split("\n") - const removeOtherLanguagesReference = templateLines.find( - (line) => line.indexOf("./src/UI/RemoveOtherLanguages.js") >= 0 - ) - let output = template - .replace("Loading MapComplete, hang on...", asLangSpan(loadingText, "h1")) - .replace( - "Made with OpenStreetMap", - Translations.t.general.poweredByOsm.textFor(targetLanguage) - ) - .replace(/.*/s, themeSpecific) - .replace( - //, - await generateCsp(layout, layoutJson, { - scriptSrcs: [`'sha256-${removeOtherLanguagesHash}'`], - }) - ) - .replace(removeOtherLanguagesReference, "") - .replace( - /.*/s, - asLangSpan(layout.shortDescription) - ) - .replace( - /.*/s, - "" - ) - - .replace( - /.*\/src\/index\.ts.*/, - `` - ) - .replace("Version", Constants.vNumber) - - return output -} - -async function createIndexFor(theme: LayoutConfig) { - const filename = "index_" + theme.id + ".ts" - - const imports = [ - `import layout from "./src/assets/generated/themes/${theme.id}.json"`, - `import { ThemeMetaTagging } from "./src/assets/generated/metatagging/${theme.id}"`, - ] - for (const layerName of Constants.added_by_default) { - imports.push(`import ${layerName} from "./src/assets/generated/layers/${layerName}.json"`) - } - writeFileSync(filename, imports.join("\n") + "\n") - - const addLayers = [] - - for (const layerName of Constants.added_by_default) { - addLayers.push(` layout.layers.push( ${layerName})`) - } - - codeTemplate = codeTemplate.replace(" // LAYOUT.ADD_LAYERS", addLayers.join("\n")) - - appendFileSync(filename, codeTemplate) -} - -function createDir(path) { - if (!existsSync(path)) { - mkdirSync(path) - } -} - -async function main(): Promise { - const alreadyWritten = [] - createDir("./public/assets/") - createDir("./public/assets/generated") - createDir("./public/assets/generated/images") - - const blacklist = [ - "", - "test", - ".", - "..", - "manifest", - "index", - "land", - "preferences", - "account", - "openstreetmap", - "custom", - "theme", - ] - // @ts-ignore - const all: LayoutConfigJson[] = all_known_layouts.themes - const args = process.argv - const theme = args[2] - if (theme !== undefined) { - console.warn("Only generating layout " + theme) - } - for (const i in all) { - const layoutConfigJson: LayoutConfigJson = all[i] - if (theme !== undefined && layoutConfigJson.id !== theme) { - continue - } - const layout = new LayoutConfig(layoutConfigJson, true) - const layoutName = layout.id - if (blacklist.indexOf(layoutName.toLowerCase()) >= 0) { - console.log(`Skipping a layout with name${layoutName}, it is on the blacklist`) - continue - } - const err = (err) => { - if (err !== null) { - console.log("Could not write manifest for ", layoutName, " because ", err) + const apple_icons = [] + for (const icon of whiteIcons) { + if (!existsSync(icon)) { + continue } + const size = icon.replace(/[^0-9]/g, "") + apple_icons.push(``) } - const { manifest, whiteIcons } = await createManifest(layout, alreadyWritten) - const manif = JSON.stringify(manifest, undefined, 2) - const manifestLocation = encodeURIComponent(layout.id.toLowerCase()) + ".webmanifest" - writeFile("public/" + manifestLocation, manif, err) - // Create a landing page for the given theme - const landing = await createLandingPage( - layout, - layoutConfigJson, - manifest, - whiteIcons, + let themeSpecific = [ + `${ogTitle}`, + ``, + og, + customCss, + ``, + ...apple_icons + ].join("\n") + + let branchname = await this.getBranchName() + if (branchname === "master" || branchname === "main") { + branchname = "" + } else { + branchname = "
" + branchname + "
" + } + + const loadingText = Translations.t.general.loadingTheme.Subs({ theme: layout.title }) + // const templateLines: string[] = this.template.split("\n").slice(1) // Slice to remove the 'export {}'-line + + return this.template + .replace("Loading MapComplete, hang on...", this.asLangSpan(loadingText, "h1")) + .replace( + "Made with OpenStreetMap", + Translations.t.general.poweredByOsm.textFor(targetLanguage) + ) + .replace(/.*/s, themeSpecific) + .replace( + //, + await this.generateCsp(layout, layoutJson, { + scriptSrcs: [this.removeOtherLanguagesHash] + }) + ) + .replace( + /.*/s, + this.asLangSpan(layout.shortDescription) + ) + .replace( + /.*/s, + "" + ) + .replace( + /.*\/src\/index\.ts.*/, + `` + ) + + .replace( + /\n.*RemoveOtherLanguages.*\n/i, + "\n\n" + ) + .replace( + "Version", + `${Constants.vNumber}
${this.date}
${branchname}` + ) + } + + async createIndexFor(theme: LayoutConfig) { + const filename = "index_" + theme.id + ".ts" + + const imports = [ + `import layout from "./src/assets/generated/themes/${theme.id}.json"`, + `import { ThemeMetaTagging } from "./src/assets/generated/metatagging/${theme.id}"` + ] + for (const layerName of Constants.added_by_default) { + imports.push( + `import ${layerName} from "./src/assets/generated/layers/${layerName}.json"` + ) + } + writeFileSync(filename, imports.join("\n") + "\n") + + const addLayers = [] + + for (const layerName of Constants.added_by_default) { + addLayers.push(` layout.layers.push( ${layerName})`) + } + + let codeTemplate = this.codeTemplate.replace( + " // LAYOUT.ADD_LAYERS", + addLayers.join("\n") + ) + + appendFileSync(filename, codeTemplate) + } + + createDir(path) { + if (!existsSync(path)) { + mkdirSync(path) + } + } + + async main(): Promise { + const alreadyWritten = [] + this.createDir("./public/assets/") + this.createDir("./public/assets/generated") + this.createDir("./public/assets/generated/images") + + const blacklist = [ + "", + "test", + ".", + "..", + "manifest", + "index", + "land", + "preferences", + "account", + "openstreetmap", + "custom", + "theme" + ] + // @ts-ignore + const all: LayoutConfigJson[] = all_known_layouts.themes + const args = process.argv + const theme = args[2] + if (theme !== undefined) { + console.warn("Only generating layout " + theme) + } + for (const i in all) { + const layoutConfigJson: LayoutConfigJson = all[i] + if (theme !== undefined && layoutConfigJson.id !== theme) { + continue + } + const layout = new LayoutConfig(layoutConfigJson, true) + const layoutName = layout.id + if (blacklist.indexOf(layoutName.toLowerCase()) >= 0) { + console.log(`Skipping a layout with name${layoutName}, it is on the blacklist`) + continue + } + const err = (err) => { + if (err !== null) { + console.log("Could not write manifest for ", layoutName, " because ", err) + } + } + const { manifest, whiteIcons } = await this.createManifest(layout, alreadyWritten) + const manif = JSON.stringify(manifest, undefined, 2) + const manifestLocation = encodeURIComponent(layout.id.toLowerCase()) + ".webmanifest" + writeFile("public/" + manifestLocation, manif, err) + + // Create a landing page for the given theme + const landing = await this.createLandingPage( + layout, + layoutConfigJson, + whiteIcons, + alreadyWritten + ) + + writeFile(this.enc(layout.id) + ".html", landing, err) + await this.createIndexFor(layout) + } + + const { manifest } = await this.createManifest( + new LayoutConfig({ + icon: "./assets/svg/mapcomplete_logo.svg", + id: "index", + layers: [], + socialImage: "assets/SocialImage.png", + startLat: 0, + startLon: 0, + startZoom: 0, + title: { en: "MapComplete" }, + description: { en: "A thematic map viewer and editor based on OpenStreetMap" } + }), alreadyWritten ) - writeFile(enc(layout.id) + ".html", landing, err) - await createIndexFor(layout) + const manif = JSON.stringify(manifest, undefined, 2) + writeFileSync("public/index.webmanifest", manif) } - - const { manifest } = await createManifest( - new LayoutConfig({ - icon: "./assets/svg/mapcomplete_logo.svg", - id: "index", - layers: [], - socialImage: "assets/SocialImage.png", - startLat: 0, - startLon: 0, - startZoom: 0, - title: { en: "MapComplete" }, - description: { en: "A thematic map viewer and editor based on OpenStreetMap" }, - }), - alreadyWritten - ) - - const manif = JSON.stringify(manifest, undefined, 2) - writeFileSync("public/index.webmanifest", manif) } -ScriptUtils.fixUtils() -main().then(() => { - console.log("All done!") -}) +new GenerateLayouts().run() diff --git a/scripts/generateSunnyUnlabeled.ts b/scripts/generateSunnyUnlabeled.ts new file mode 100644 index 000000000..e88ec4c2b --- /dev/null +++ b/scripts/generateSunnyUnlabeled.ts @@ -0,0 +1,18 @@ +import { writeFileSync } from "fs" +import Script from "./Script" +import sunny from "../public/assets/sunny.json" + +export class GenerateSunnyUnlabeled extends Script { + constructor() { + super("Generates 'sunny-unlabeled.json' based on sunny.json") + } + + async main(args: string[]): Promise { + const unlabeled = { "#":"AUTOMATICALLY GENERATED! Do not edit.", ...sunny } + unlabeled.name = unlabeled.name+"-unlabeled" + unlabeled.layers = sunny.layers.filter(l => l.type !== "symbol" || !l.layout["text-field"]) + writeFileSync("public/assets/sunny-unlabeled.json", JSON.stringify(unlabeled, null, " ")) + } +} + +new GenerateSunnyUnlabeled().run() diff --git a/scripts/generateTranslations.ts b/scripts/generateTranslations.ts index fd62b8a2a..d254a0d58 100644 --- a/scripts/generateTranslations.ts +++ b/scripts/generateTranslations.ts @@ -342,6 +342,9 @@ function isTranslation(tr: any): boolean { if (tr["#"] === "no-translations") { return false } + if (tr["special"]) { + return false + } for (const key in tr) { if (typeof tr[key] !== "string") { return false diff --git a/scripts/osm2pgsql/generateBuildDbScript.ts b/scripts/osm2pgsql/generateBuildDbScript.ts index 7ddd217f0..8a727a6a6 100644 --- a/scripts/osm2pgsql/generateBuildDbScript.ts +++ b/scripts/osm2pgsql/generateBuildDbScript.ts @@ -190,10 +190,25 @@ class GenerateBuildDbScript extends Script { } async main(args: string[]) { - const allNeededLayers = new ValidateThemeEnsemble().convertStrict( + const allLayers = new ValidateThemeEnsemble().convertStrict( AllKnownLayouts.allKnownLayouts.values() ) - + if (allLayers.size === 0) { + throw "No layers found at all" + } + const notCounted: string[] = [] + const allNeededLayers: Map = new Map< + string, + { tags: TagsFilter; foundInTheme: string[] } + >() + for (const key of allLayers.keys()) { + const layer = allLayers.get(key) + if (layer.isCounted) { + allNeededLayers.set(key, layer) + } else { + notCounted.push(key) + } + } const generators: GenerateLayerLua[] = [] allNeededLayers.forEach(({ tags, foundInTheme }, layerId) => { @@ -210,6 +225,10 @@ class GenerateBuildDbScript extends Script { const path = "build_db.lua" fs.writeFileSync(path, script, "utf-8") console.log("Written", path) + console.log( + "Following layers are _not_ indexed as they are not counted:", + notCounted.join(", ") + ) console.log( allNeededLayers.size + " layers will be created with 3 tables each. Make sure to set 'max_connections' to at least " + diff --git a/scripts/osm2pgsql/on_data_downloaded.sh b/scripts/osm2pgsql/on_data_downloaded.sh new file mode 100755 index 000000000..1f903369b --- /dev/null +++ b/scripts/osm2pgsql/on_data_downloaded.sh @@ -0,0 +1,12 @@ +#! /bin/bash + +cd ~/Downloads + +for F in *.osm.pbf +do + LATEST="$F" +done +mv "$LATEST" ~/data/planet-latest.osm.pbf +cd ~/data +osm2pgsql -O flex -S build_db.lua -s --flat-nodes=import-help-file -d postgresql://user:password@localhost:5444/mapcomplete-cache planet-latest.osm.pbf +echo "on_data_downloaded.sh has finished!" diff --git a/scripts/osm2pgsql/update.sh b/scripts/osm2pgsql/update.sh new file mode 100755 index 000000000..13c0387f4 --- /dev/null +++ b/scripts/osm2pgsql/update.sh @@ -0,0 +1,8 @@ +#! /bin/bash + +npm run init +npm run generate +npm run refresh:layeroverview +npm run generate:buildDbScript +mv build_db.sh ~/data/ +transmission-cli https://planet.osm.org/pbf/planet-latest.osm.pbf.torrent -f ./on_data_downloaded.sh &>nohup_transmission.log diff --git a/scripts/prepare-build.sh b/scripts/prepare-build.sh index 8b35f308e..0e387bb62 100755 --- a/scripts/prepare-build.sh +++ b/scripts/prepare-build.sh @@ -18,7 +18,7 @@ npm run prep:layeroverview && npm run generate && # includes a single "refresh:layeroverview". Resetting the files is unnecessary as they are not in there in the first place npm run generate:mapcomplete-changes-theme && npm run refresh:layeroverview && # run refresh:layeroverview a second time to propagate all calls -npm run refresh:layeroverview && # run refresh:layeroverview a third time to fix some issues with the favourite layer all calls +npm run generate:layeroverview && # run refresh:layeroverview a third time to fix some issues with the favourite layer all calls npm run generate:layouts diff --git a/src/Logic/Actors/PendingChangesUploader.ts b/src/Logic/Actors/PendingChangesUploader.ts index 37070ce35..ccfeded6c 100644 --- a/src/Logic/Actors/PendingChangesUploader.ts +++ b/src/Logic/Actors/PendingChangesUploader.ts @@ -3,9 +3,10 @@ import Constants from "../../Models/Constants" import { UIEventSource } from "../UIEventSource" import { Utils } from "../../Utils" import { Feature } from "geojson" +import { ImageUploadManager } from "../ImageProviders/ImageUploadManager" export default class PendingChangesUploader { - constructor(changes: Changes, selectedFeature: UIEventSource) { + constructor(changes: Changes, selectedFeature: UIEventSource, uploader : ImageUploadManager) { changes.pendingChanges .stabilized(Constants.updateTimeoutSec * 1000) .addCallback(() => changes.flushChanges("Flushing changes due to timeout")) @@ -48,7 +49,9 @@ export default class PendingChangesUploader { } function onunload(e) { - if (changes.pendingChanges.data.length == 0) { + const pendingChanges = changes.pendingChanges.data.length + const uploadingImages = uploader.isUploading.data + if (pendingChanges == 0 && !uploadingImages) { return } changes.flushChanges("onbeforeunload - probably closing or something similar") diff --git a/src/Logic/FeatureSource/Actors/FeaturePropertiesStore.ts b/src/Logic/FeatureSource/Actors/FeaturePropertiesStore.ts index c8186a8ba..85f2be343 100644 --- a/src/Logic/FeatureSource/Actors/FeaturePropertiesStore.ts +++ b/src/Logic/FeatureSource/Actors/FeaturePropertiesStore.ts @@ -96,6 +96,9 @@ export default class FeaturePropertiesStore { if (newId === undefined) { // We removed the node/way/relation with type 'type' and id 'oldId' on openstreetmap! const element = this._elements.get(oldId) + if(!element || element.data === undefined){ + return + } element.data._deleted = "yes" element.ping() return diff --git a/src/Logic/ImageProviders/GenericImageProvider.ts b/src/Logic/ImageProviders/GenericImageProvider.ts index 1e98414ed..c5c1ccc1f 100644 --- a/src/Logic/ImageProviders/GenericImageProvider.ts +++ b/src/Logic/ImageProviders/GenericImageProvider.ts @@ -40,7 +40,7 @@ export default class GenericImageProvider extends ImageProvider { return undefined } - public DownloadAttribution(url: string) { + public DownloadAttribution(_) { return undefined } } diff --git a/src/Logic/ImageProviders/ImageProvider.ts b/src/Logic/ImageProviders/ImageProvider.ts index 539c67f9a..d65ad3e11 100644 --- a/src/Logic/ImageProviders/ImageProvider.ts +++ b/src/Logic/ImageProviders/ImageProvider.ts @@ -67,7 +67,7 @@ export default abstract class ImageProvider { public abstract ExtractUrls(key: string, value: string): Promise[]> - public abstract DownloadAttribution(url: string): Promise + public abstract DownloadAttribution(providedImage: ProvidedImage): Promise public abstract apiUrls(): string[] diff --git a/src/Logic/ImageProviders/ImageUploadManager.ts b/src/Logic/ImageProviders/ImageUploadManager.ts index fc7e5d283..4179c2ca5 100644 --- a/src/Logic/ImageProviders/ImageUploadManager.ts +++ b/src/Logic/ImageProviders/ImageUploadManager.ts @@ -24,6 +24,7 @@ export class ImageUploadManager { private readonly _uploadRetriedSuccess: Map> = new Map() private readonly _osmConnection: OsmConnection private readonly _changes: Changes + public readonly isUploading: Store constructor( layout: LayoutConfig, @@ -37,6 +38,13 @@ export class ImageUploadManager { this._layout = layout this._osmConnection = osmConnection this._changes = changes + + const failed = this.getCounterFor(this._uploadFailed, "*") + const done = this.getCounterFor(this._uploadFinished, "*") + + this.isUploading = this.getCounterFor(this._uploadStarted, "*").map(startedCount => { + return startedCount > failed.data + done.data + }, [failed, done]) } /** @@ -101,7 +109,6 @@ export class ImageUploadManager { "osmid:" + tags.id, ].join("\n") - console.log("Upload done, creating ") const action = await this.uploadImageWithLicense( featureId, title, @@ -110,6 +117,9 @@ export class ImageUploadManager { targetKey, tags?.data?.["_orig_theme"] ) + if (!action) { + return + } if (!isNaN(Number(featureId))) { // This is a map note const url = action._url @@ -145,6 +155,7 @@ export class ImageUploadManager { } catch (e) { console.error("Could again not upload image due to", e) this.increaseCountFor(this._uploadFailed, featureId) + return undefined } } console.log("Uploading done, creating action for", featureId) diff --git a/src/Logic/ImageProviders/Imgur.ts b/src/Logic/ImageProviders/Imgur.ts index 0ddeb14a8..0276accb1 100644 --- a/src/Logic/ImageProviders/Imgur.ts +++ b/src/Logic/ImageProviders/Imgur.ts @@ -78,16 +78,23 @@ export class Imgur extends ImageProvider implements ImageUploader { * * const data = {"data":{"id":"I9t6B7B","title":"Station Knokke","description":"author:Pieter Vander Vennet\r\nlicense:CC-BY 4.0\r\nosmid:node\/9812712386","datetime":1655052078,"type":"image\/jpeg","animated":false,"width":2400,"height":1795,"size":910872,"views":2,"bandwidth":1821744,"vote":null,"favorite":false,"nsfw":false,"section":null,"account_url":null,"account_id":null,"is_ad":false,"in_most_viral":false,"has_sound":false,"tags":[],"ad_type":0,"ad_url":"","edited":"0","in_gallery":false,"link":"https:\/\/i.imgur.com\/I9t6B7B.jpg","ad_config":{"safeFlags":["not_in_gallery","share"],"highRiskFlags":[],"unsafeFlags":["sixth_mod_unsafe"],"wallUnsafeFlags":[],"showsAds":false,"showAdLevel":1}},"success":true,"status":200} * Utils.injectJsonDownloadForTests("https://api.imgur.com/3/image/E0RuAK3", data) - * const licenseInfo = await Imgur.singleton.DownloadAttribution("https://i.imgur.com/E0RuAK3.jpg") + * const licenseInfo = await Imgur.singleton.DownloadAttribution({url: "https://i.imgur.com/E0RuAK3.jpg"}) * const expected = new LicenseInfo() * expected.licenseShortName = "CC-BY 4.0" * expected.artist = "Pieter Vander Vennet" * expected.date = new Date(1655052078000) * expected.views = 2 * licenseInfo // => expected + * const licenseInfoJpeg = await Imgur.singleton.DownloadAttribution({url:"https://i.imgur.com/E0RuAK3.jpeg"}) + * licenseInfoJpeg // => expected + * const licenseInfoUpperCase = await Imgur.singleton.DownloadAttribution({url: "https://i.imgur.com/E0RuAK3.JPEG"}) + * licenseInfoUpperCase // => expected + * + * */ - public async DownloadAttribution(url: string): Promise { - const hash = url.substr("https://i.imgur.com/".length).split(".jpg")[0] + public async DownloadAttribution(providedImage: {url: string}): Promise { + const url = providedImage.url + const hash = url.substr("https://i.imgur.com/".length).split(/\.jpe?g/i)[0] const apiUrl = "https://api.imgur.com/3/image/" + hash const response = await Utils.downloadJsonCached(apiUrl, 365 * 24 * 60 * 60, { diff --git a/src/Logic/ImageProviders/Mapillary.ts b/src/Logic/ImageProviders/Mapillary.ts index b9e6f70ca..ee12b51a5 100644 --- a/src/Logic/ImageProviders/Mapillary.ts +++ b/src/Logic/ImageProviders/Mapillary.ts @@ -133,12 +133,21 @@ export class Mapillary extends ImageProvider { return [this.PrepareUrlAsync(key, value)] } - public async DownloadAttribution(_: string): Promise { + public async DownloadAttribution(providedImage: ProvidedImage): Promise { + const mapillaryId = providedImage.id + const metadataUrl = + "https://graph.mapillary.com/" + + mapillaryId + + "?fields=thumb_1024_url,thumb_original_url,captured_at,creator&access_token=" + + Constants.mapillary_client_token_v4 + const response = await Utils.downloadJsonCached(metadataUrl, 60 * 60) + const license = new LicenseInfo() - license.artist = undefined + license.artist = response["creator"]["username"] license.license = "CC BY-SA 4.0" // license.license = "Creative Commons Attribution-ShareAlike 4.0 International License"; license.attributionRequired = true + license.date = new Date(response["captured_at"]) return license } @@ -151,16 +160,19 @@ export class Mapillary extends ImageProvider { const metadataUrl = "https://graph.mapillary.com/" + mapillaryId + - "?fields=thumb_1024_url,thumb_original_url&access_token=" + + "?fields=thumb_1024_url,thumb_original_url,captured_at,creator&access_token=" + Constants.mapillary_client_token_v4 const response = await Utils.downloadJsonCached(metadataUrl, 60 * 60) const url = response["thumb_1024_url"] const url_hd = response["thumb_original_url"] - return { + const date = new Date() + date.setTime(response["captured_at"]) + return { id: "" + mapillaryId, url, url_hd, provider: this, + date, key, } } diff --git a/src/Logic/ImageProviders/WikidataImageProvider.ts b/src/Logic/ImageProviders/WikidataImageProvider.ts index 6de5039b4..27b3ca934 100644 --- a/src/Logic/ImageProviders/WikidataImageProvider.ts +++ b/src/Logic/ImageProviders/WikidataImageProvider.ts @@ -53,7 +53,7 @@ export class WikidataImageProvider extends ImageProvider { return allImages } - public DownloadAttribution(_: string): Promise { + public DownloadAttribution(_): Promise { throw new Error("Method not implemented; shouldn't be needed!") } } diff --git a/src/Logic/ImageProviders/WikimediaImageProvider.ts b/src/Logic/ImageProviders/WikimediaImageProvider.ts index e53f5d9dc..456ef2e8d 100644 --- a/src/Logic/ImageProviders/WikimediaImageProvider.ts +++ b/src/Logic/ImageProviders/WikimediaImageProvider.ts @@ -13,7 +13,7 @@ export class WikimediaImageProvider extends ImageProvider { public static readonly singleton = new WikimediaImageProvider() public static readonly apiUrls = [ "https://commons.wikimedia.org/wiki/", - "https://upload.wikimedia.org", + "https://upload.wikimedia.org" ] public static readonly commonsPrefixes = [...WikimediaImageProvider.apiUrls, "File:"] private readonly commons_key = "wikimedia_commons" @@ -31,13 +31,18 @@ export class WikimediaImageProvider extends ImageProvider { return path.substring(path.lastIndexOf("/") + 1) } - private static PrepareUrl(value: string): string { + private static PrepareUrl(value: string, useHd = false): string { if (value.toLowerCase().startsWith("https://commons.wikimedia.org/wiki/")) { return value } - return `https://commons.wikimedia.org/wiki/Special:FilePath/${encodeURIComponent( + const baseUrl = `https://commons.wikimedia.org/wiki/Special:FilePath/${encodeURIComponent( value - )}?width=500&height=400` + )}` + if (useHd) { + return baseUrl + } + return baseUrl + `?width=500&height=400` + } private static startsWithCommonsPrefix(value: string): boolean { @@ -109,8 +114,8 @@ export class WikimediaImageProvider extends ImageProvider { return [Promise.resolve(this.UrlForImage("File:" + value))] } - public async DownloadAttribution(filename: string): Promise { - filename = WikimediaImageProvider.ExtractFileName(filename) + public async DownloadAttribution(img: ProvidedImage): Promise { + const filename = WikimediaImageProvider.ExtractFileName(img.url) if (filename === "") { return undefined @@ -166,9 +171,10 @@ export class WikimediaImageProvider extends ImageProvider { } return { url: WikimediaImageProvider.PrepareUrl(image), + url_hd: WikimediaImageProvider.PrepareUrl(image, true), key: undefined, provider: this, - id: image, + id: image } } } diff --git a/src/Logic/Osm/Actions/ChangeLocationAction.ts b/src/Logic/Osm/Actions/ChangeLocationAction.ts index e5d2b8486..be84fed48 100644 --- a/src/Logic/Osm/Actions/ChangeLocationAction.ts +++ b/src/Logic/Osm/Actions/ChangeLocationAction.ts @@ -5,6 +5,20 @@ export default class ChangeLocationAction extends OsmChangeAction { private readonly _id: number private readonly _newLonLat: [number, number] private readonly _meta: { theme: string; reason: string } + static metatags: { + readonly key?: string + readonly value?: string + readonly docs: string + readonly changeType: string[] + readonly specialMotivation?: boolean + }[] = [ + { + value: "relocated|improve_accuraccy|...", + docs: "Will appear if the ", + changeType: ["move"], + specialMotivation: true, + }, + ] constructor( id: string, diff --git a/src/Logic/Osm/Actions/ChangeTagAction.ts b/src/Logic/Osm/Actions/ChangeTagAction.ts index 72fbffab4..f86e6c938 100644 --- a/src/Logic/Osm/Actions/ChangeTagAction.ts +++ b/src/Logic/Osm/Actions/ChangeTagAction.ts @@ -4,6 +4,27 @@ import { TagsFilter } from "../../Tags/TagsFilter" import { OsmTags } from "../../../Models/OsmFeature" export default class ChangeTagAction extends OsmChangeAction { + static metatags: { + readonly key?: string + readonly value?: string + readonly docs: string + readonly changeType: string[] + readonly specialMotivation?: boolean + }[] = [ + { + changeType: ["answer"], + docs: "Indicates the number of questions that have been answered", + }, + { changeType: ["soft-delete"], docs: "Indicates the number of soft-deleted items" }, + { + changeType: ["add-image"], + docs: "Indicates the number of images that have been added in this changeset", + }, + { + changeType: ["link-image"], + docs: "Indicates the number of images that have been linked in this changeset", + }, + ] private readonly _elementId: string /** * The tags to apply onto the object diff --git a/src/Logic/Osm/Changes.ts b/src/Logic/Osm/Changes.ts index 3f2611edb..2ec95db6f 100644 --- a/src/Logic/Osm/Changes.ts +++ b/src/Logic/Osm/Changes.ts @@ -13,6 +13,12 @@ import { ChangesetHandler, ChangesetTag } from "./ChangesetHandler" import { OsmConnection } from "./OsmConnection" import FeaturePropertiesStore from "../FeatureSource/Actors/FeaturePropertiesStore" import OsmObjectDownloader from "./OsmObjectDownloader" +import Combine from "../../UI/Base/Combine" +import BaseUIElement from "../../UI/BaseUIElement" +import Title from "../../UI/Base/Title" +import Table from "../../UI/Base/Table" +import ChangeLocationAction from "./Actions/ChangeLocationAction" +import ChangeTagAction from "./Actions/ChangeTagAction" /** * Handles all changes made to OSM. @@ -99,6 +105,97 @@ export class Changes { return changes } + public static getDocs(): BaseUIElement { + function addSource(items: any[], src: string) { + items.forEach((i) => { + i["source"] = src + }) + return items + } + const metatagsDocs: { + key?: string + value?: string + docs: string + changeType?: string[] + specialMotivation?: boolean + source?: string + }[] = [ + ...addSource( + [ + { + key: "comment", + docs: "The changeset comment. Will be a fixed string, mentioning the theme", + }, + { + key: "theme", + docs: "The name of the theme that was used to create this change. ", + }, + { + key: "source", + value: "survey", + docs: "The contributor had their geolocation enabled while making changes", + }, + { + key: "change_within_{distance}", + docs: "If the contributor enabled their geolocation, this will hint how far away they were from the objects they edited. This gives an indication of proximity and if they truly surveyed or were armchair-mapping", + }, + { + key: "change_over_{distance}", + docs: "If the contributor enabled their geolocation, this will hint how far away they were from the objects they edited. If they were over 5000m away, the might have been armchair-mapping", + }, + { + key: "created_by", + value: "MapComplete ", + docs: "The piece of software used to create this changeset; will always start with MapComplete, followed by the version number", + }, + { + key: "locale", + value: "en|nl|de|...", + docs: "The code of the language that the contributor used MapComplete in. Hints what language the user speaks.", + }, + { + key: "host", + value: "https://mapcomplete.org/", + docs: "The URL that the contributor used to make changes. One can see the used instance with this", + }, + { + key: "imagery", + docs: "The identifier of the used background layer, this will probably be an identifier from the [editor layer index](https://github.com/osmlab/editor-layer-index)", + }, + ], + "default" + ), + ...addSource(ChangeTagAction.metatags, "ChangeTag"), + ...addSource(ChangeLocationAction.metatags, "ChangeLocation"), + // TODO + /* + ...DeleteAction.metatags, + ...LinkImageAction.metatags, + ...OsmChangeAction.metatags, + ...RelationSplitHandler.metatags, + ...ReplaceGeometryAction.metatags, + ...SplitAction.metatags,*/ + ] + return new Combine([ + new Title("Metatags on a changeset", 1), + "You might encounter the following metatags on a changeset:", + new Table( + ["key", "value", "explanation", "source"], + metatagsDocs.map(({ key, value, docs, source, changeType, specialMotivation }) => [ + key ?? changeType?.join(", ") ?? "", + value, + new Combine([ + docs, + specialMotivation + ? "This might give a reason per modified node or way" + : "", + ]), + source, + ]) + ), + ]) + } + private static GetNeededIds(changes: ChangeDescription[]) { return Utils.Dedup(changes.filter((c) => c.id >= 0).map((c) => c.type + "/" + c.id)) } diff --git a/src/Logic/Osm/ChangesetHandler.ts b/src/Logic/Osm/ChangesetHandler.ts index dca2b0a67..71c0e299f 100644 --- a/src/Logic/Osm/ChangesetHandler.ts +++ b/src/Logic/Osm/ChangesetHandler.ts @@ -6,6 +6,14 @@ import Constants from "../../Models/Constants" import { Changes } from "./Changes" import { Utils } from "../../Utils" import FeaturePropertiesStore from "../FeatureSource/Actors/FeaturePropertiesStore" +import ChangeLocationAction from "./Actions/ChangeLocationAction" +import ChangeTagAction from "./Actions/ChangeTagAction" +import DeleteAction from "./Actions/DeleteAction" +import LinkImageAction from "./Actions/LinkImageAction" +import OsmChangeAction from "./Actions/OsmChangeAction" +import RelationSplitHandler from "./Actions/RelationSplitHandler" +import ReplaceGeometryAction from "./Actions/ReplaceGeometryAction" +import SplitAction from "./Actions/SplitAction" export interface ChangesetTag { key: string diff --git a/src/Logic/Osm/OsmConnection.ts b/src/Logic/Osm/OsmConnection.ts index 4c6d028de..97dd7c821 100644 --- a/src/Logic/Osm/OsmConnection.ts +++ b/src/Logic/Osm/OsmConnection.ts @@ -52,6 +52,7 @@ export class OsmConnection { private readonly _iframeMode: Boolean | boolean private readonly _singlePage: boolean private isChecking = false + private readonly _doCheckRegularly constructor(options?: { dryRun?: Store @@ -59,12 +60,17 @@ export class OsmConnection { oauth_token?: UIEventSource // Used to keep multiple changesets open and to write to the correct changeset singlePage?: boolean - attemptLogin?: true | boolean + attemptLogin?: true | boolean, + /** + * If true: automatically check if we're still online every 5 minutes + fetch messages + */ + checkOnlineRegularly?: true | boolean }) { options ??= {} this.fakeUser = options?.fakeUser ?? false this._singlePage = options?.singlePage ?? true this._oauth_config = Constants.osmAuthConfig + this._doCheckRegularly = options?.checkOnlineRegularly ?? true console.debug("Using backend", this._oauth_config.url) this._iframeMode = Utils.runningFromConsole ? false : window !== window.top @@ -91,9 +97,11 @@ export class OsmConnection { ud.name = "Fake user" ud.totalMessages = 42 ud.languages = ["en"] + this.loadingStatus.setData("logged-in") } const self = this this.UpdateCapabilities() + this.isLoggedIn = this.userDetails.map( (user) => user.loggedIn && @@ -111,11 +119,11 @@ export class OsmConnection { this._dryRun = options.dryRun ?? new UIEventSource(false) this.updateAuthObject() + if(!this.fakeUser){ + self.CheckForMessagesContinuously() + } - this.preferencesHandler = new OsmPreferences( - this.auth, - this - ) + this.preferencesHandler = new OsmPreferences(this.auth, this, this.fakeUser) if (options.oauth_token?.data !== undefined) { console.log(options.oauth_token.data) @@ -187,23 +195,27 @@ export class OsmConnection { const self = this console.log("Trying to log in...") this.updateAuthObject() + LocalStorageSource.Get("location_before_login").setData( Utils.runningFromConsole ? undefined : window.location.href ) this.auth.xhr( { method: "GET", - path: "/api/0.6/user/details", + path: "/api/0.6/user/details" }, - function (err, details: XMLDocument) { + function(err, details: XMLDocument) { if (err != null) { - console.log(err) + console.log("Could not login due to:", err) self.loadingStatus.setData("error") if (err.status == 401) { console.log("Clearing tokens...") // Not authorized - our token probably got revoked self.auth.logout() self.LogOut() + } else { + console.log("Other error. Status:", err.status) + self.apiIsOnline.setData("unreachable") } return } @@ -213,8 +225,6 @@ export class OsmConnection { return } - self.CheckForMessagesContinuously() - // details is an XML DOM of user details let userInfo = details.getElementsByTagName("user")[0] @@ -303,12 +313,12 @@ export class OsmConnection { { method, options: { - header, + header }, content, - path: `/api/0.6/${path}`, + path: `/api/0.6/${path}` }, - function (err, response) { + function(err, response) { if (err !== null) { error(err) } else { @@ -388,7 +398,7 @@ export class OsmConnection { "notes.json", content, { - "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", + "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" }, true ) @@ -400,6 +410,7 @@ export class OsmConnection { } public static GpxTrackVisibility = ["private", "public", "trackable", "identifiable"] as const + public async uploadGpxTrack( gpx: string, options: { @@ -428,7 +439,7 @@ export class OsmConnection { file: gpx, description: options.description, tags: options.labels?.join(",") ?? "", - visibility: options.visibility, + visibility: options.visibility } if (!contents.description) { @@ -436,9 +447,9 @@ export class OsmConnection { } const extras = { file: - '; filename="' + + "; filename=\"" + (options.filename ?? "gpx_track_mapcomplete_" + new Date().toISOString()) + - '"\r\nContent-Type: application/gpx+xml', + "\"\r\nContent-Type: application/gpx+xml" } const boundary = "987654" @@ -446,7 +457,7 @@ export class OsmConnection { let body = "" for (const key in contents) { body += "--" + boundary + "\r\n" - body += 'Content-Disposition: form-data; name="' + key + '"' + body += "Content-Disposition: form-data; name=\"" + key + "\"" if (extras[key] !== undefined) { body += extras[key] } @@ -457,7 +468,7 @@ export class OsmConnection { const response = await this.post("gpx/create", body, { "Content-Type": "multipart/form-data; boundary=" + boundary, - "Content-Length": body.length, + "Content-Length": body.length }) const parsed = JSON.parse(response) console.log("Uploaded GPX track", parsed) @@ -480,9 +491,9 @@ export class OsmConnection { { method: "POST", - path: `/api/0.6/notes/${id}/comment?text=${encodeURIComponent(text)}`, + path: `/api/0.6/notes/${id}/comment?text=${encodeURIComponent(text)}` }, - function (err, _) { + function(err, _) { if (err !== null) { error(err) } else { @@ -497,7 +508,7 @@ export class OsmConnection { * To be called by land.html */ public finishLogin(callback: (previousURL: string) => void) { - this.auth.authenticate(function () { + this.auth.authenticate(function() { // Fully authed at this point console.log("Authentication successful!") const previousLocation = LocalStorageSource.Get("location_before_login") @@ -536,7 +547,7 @@ export class OsmConnection { ? "https://mapcomplete.org/land.html" : window.location.protocol + "//" + window.location.host + "/land.html", singlepage: !standalone, - auto: true, + auto: true }) } @@ -545,26 +556,44 @@ export class OsmConnection { if (this.isChecking) { return } - this.isChecking = true - Stores.Chronic(5 * 60 * 1000).addCallback((_) => { - if (self.isLoggedIn.data) { + Stores.Chronic(3 * 1000).addCallback((_) => { + if (!(self.apiIsOnline.data === "unreachable" || self.apiIsOnline.data === "offline")) { + return + } + try { + console.log("Api is offline - trying to reconnect...") self.AttemptLogin() + } catch (e) { + console.log("Could not login due to", e) + } + }) + this.isChecking = true + if (!this._doCheckRegularly) { + return + } + Stores.Chronic(60 * 5 * 1000).addCallback((_) => { + if (self.isLoggedIn.data) { + try { + self.AttemptLogin() + } catch (e) { + console.log("Could not login due to", e) + } } }) } private UpdateCapabilities(): void { - const self = this if (this.fakeUser) { return } this.FetchCapabilities().then(({ api, gpx }) => { - self.apiIsOnline.setData(api) - self.gpxServiceIsOnline.setData(gpx) + this.apiIsOnline.setData(api) + this.gpxServiceIsOnline.setData(gpx) }) } private readonly _userInfoCache: Record = {} + public async getInformationAboutUser(id: number): Promise<{ id: number display_name: string @@ -587,6 +616,7 @@ export class OsmConnection { this._userInfoCache[id] = parsed return parsed } + private async FetchCapabilities(): Promise<{ api: OsmServiceState; gpx: OsmServiceState }> { if (Utils.runningFromConsole) { return { api: "online", gpx: "online" } diff --git a/src/Logic/Osm/OsmPreferences.ts b/src/Logic/Osm/OsmPreferences.ts index 1035dec82..597dd61ea 100644 --- a/src/Logic/Osm/OsmPreferences.ts +++ b/src/Logic/Osm/OsmPreferences.ts @@ -2,6 +2,9 @@ import { UIEventSource } from "../UIEventSource" import UserDetails, { OsmConnection } from "./OsmConnection" import { Utils } from "../../Utils" import { LocalStorageSource } from "../Web/LocalStorageSource" +// @ts-ignore +import { osmAuth } from "osm-auth" +import OSMAuthInstance = OSMAuth.OSMAuthInstance export class OsmPreferences { /** @@ -17,16 +20,17 @@ export class OsmPreferences { * @private */ private readonly preferenceSources = new Map>() - private auth: any + private readonly auth: OSMAuthInstance private userDetails: UIEventSource private longPreferences = {} + private readonly _fakeUser: boolean - constructor(auth, osmConnection: OsmConnection) { + constructor(auth: OSMAuthInstance, osmConnection: OsmConnection, fakeUser: boolean = false) { this.auth = auth + this._fakeUser = fakeUser this.userDetails = osmConnection.userDetails - const self = this osmConnection.OnLoggedIn(() => { - self.UpdatePreferences(true) + this.UpdatePreferences(true) return true }) } @@ -212,8 +216,21 @@ export class OsmPreferences { }) } + removeAllWithPrefix(prefix: string) { + for (const key in this.preferences.data) { + if (key.startsWith(prefix)) { + this.GetPreference(key, "", { prefix: "" }).setData(undefined) + console.log("Clearing preference", key) + } + } + this.preferences.ping() + } + private UpdatePreferences(forceUpdate?: boolean) { const self = this + if (this._fakeUser) { + return + } this.auth.xhr( { method: "GET", @@ -272,13 +289,15 @@ export class OsmPreferences { } const self = this console.debug("Updating preference", k, " to ", Utils.EllipsesAfter(v, 15)) - + if (this._fakeUser) { + return + } if (v === undefined || v === "") { this.auth.xhr( { method: "DELETE", path: "/api/0.6/user/preferences/" + encodeURIComponent(k), - options: { header: { "Content-Type": "text/plain" } }, + headers: { "Content-Type": "text/plain" }, }, function (error) { if (error) { @@ -297,7 +316,7 @@ export class OsmPreferences { { method: "PUT", path: "/api/0.6/user/preferences/" + encodeURIComponent(k), - options: { header: { "Content-Type": "text/plain" } }, + headers: { "Content-Type": "text/plain" }, content: v, }, function (error) { @@ -311,14 +330,4 @@ export class OsmPreferences { } ) } - - removeAllWithPrefix(prefix: string) { - for (const key in this.preferences.data) { - if (key.startsWith(prefix)) { - this.GetPreference(key, "", { prefix: "" }).setData(undefined) - console.log("Clearing preference", key) - } - } - this.preferences.ping() - } } diff --git a/src/Logic/Tags/And.ts b/src/Logic/Tags/And.ts index 88be5afcc..f28e65065 100644 --- a/src/Logic/Tags/And.ts +++ b/src/Logic/Tags/And.ts @@ -78,7 +78,7 @@ export class And extends TagsFilter { return { and: this.and.map((a) => a.asJson()) } } - asHumanString(linkToWiki: boolean, shorten: boolean, properties: Record) { + asHumanString(linkToWiki?: boolean, shorten?: boolean, properties?: Record) { return this.and .map((t) => { let e = t.asHumanString(linkToWiki, shorten, properties) @@ -159,7 +159,7 @@ export class And extends TagsFilter { return [].concat(...this.and.map((subkeys) => subkeys.usedTags())) } - asChange(properties: Record): { k: string; v: string }[] { + asChange(properties: Readonly>): { k: string; v: string }[] { const result = [] for (const tagsFilter of this.and) { result.push(...tagsFilter.asChange(properties)) diff --git a/src/Logic/Tags/ComparingTag.ts b/src/Logic/Tags/ComparingTag.ts index 861507c95..42a26c497 100644 --- a/src/Logic/Tags/ComparingTag.ts +++ b/src/Logic/Tags/ComparingTag.ts @@ -3,7 +3,7 @@ import { TagConfigJson } from "../../Models/ThemeConfig/Json/TagConfigJson" import { Tag } from "./Tag" import { ExpressionSpecification } from "maplibre-gl" -export default class ComparingTag implements TagsFilter { +export default class ComparingTag extends TagsFilter { private readonly _key: string private readonly _predicate: (value: string) => boolean private readonly _representation: "<" | ">" | "<=" | ">=" @@ -15,13 +15,14 @@ export default class ComparingTag implements TagsFilter { representation: "<" | ">" | "<=" | ">=", boundary: string ) { + super() this._key = key this._predicate = predicate this._representation = representation this._boundary = boundary } - asChange(_: Record): { k: string; v: string }[] { + asChange(_: Readonly>): { k: string; v: string }[] { throw "A comparable tag can not be used to be uploaded to OSM" } diff --git a/src/Logic/Tags/Or.ts b/src/Logic/Tags/Or.ts index bd19c0794..871361f67 100644 --- a/src/Logic/Tags/Or.ts +++ b/src/Logic/Tags/Or.ts @@ -96,7 +96,7 @@ export class Or extends TagsFilter { return [].concat(...this.or.map((subkeys) => subkeys.usedTags())) } - asChange(properties: Record): { k: string; v: string }[] { + asChange(properties: Readonly>): { k: string; v: string }[] { const result = [] for (const tagsFilter of this.or) { result.push(...tagsFilter.asChange(properties)) diff --git a/src/Logic/Tags/SubstitutingTag.ts b/src/Logic/Tags/SubstitutingTag.ts index bf13dc7c3..492243720 100644 --- a/src/Logic/Tags/SubstitutingTag.ts +++ b/src/Logic/Tags/SubstitutingTag.ts @@ -13,12 +13,13 @@ import { ExpressionSpecification } from "maplibre-gl" * The 'key' is always fixed and should not contain substitutions. * This cannot be used to query features */ -export default class SubstitutingTag implements TagsFilter { +export default class SubstitutingTag extends TagsFilter { private readonly _key: string private readonly _value: string private readonly _invert: boolean constructor(key: string, value: string, invert = false) { + super() this._key = key this._value = value this._invert = invert @@ -42,7 +43,7 @@ export default class SubstitutingTag implements TagsFilter { return new Tag(this._key, Utils.SubstituteKeys(this._value, currentProperties)) } - asHumanString(linkToWiki: boolean, shorten: boolean, properties) { + asHumanString(linkToWiki?: boolean, shorten?: boolean, properties?: Record) { return ( this._key + (this._invert ? "!" : "") + @@ -99,7 +100,7 @@ export default class SubstitutingTag implements TagsFilter { return [] } - asChange(properties: Record): { k: string; v: string }[] { + asChange(properties: Readonly>): { k: string; v: string }[] { if (this._invert) { throw "An inverted substituting tag can not be used to create a change" } diff --git a/src/Logic/Tags/TagUtils.ts b/src/Logic/Tags/TagUtils.ts index 87929d480..7e746c028 100644 --- a/src/Logic/Tags/TagUtils.ts +++ b/src/Logic/Tags/TagUtils.ts @@ -729,7 +729,7 @@ export class TagUtils { } if (typeof json != "string") { if (json["and"] !== undefined && json["or"] !== undefined) { - throw `Error while parsing a TagConfig: got an object where both 'and' and 'or' are defined. Did you override a value? Perhaps use \`"=parent": { ... }\` instead of \"parent": {...}\` to trigger a replacement and not a fuse of values` + throw `Error while parsing a TagConfig: got an object where both 'and' and 'or' are defined. Did you override a value? Perhaps use \`"=parent": { ... }\` instead of \"parent": {...}\` to trigger a replacement and not a fuse of values. The value is ${JSON.stringify(json)}` } if (json["and"] !== undefined) { return new And(json["and"].map((t) => TagUtils.Tag(t, context))) diff --git a/src/Logic/Tags/TagsFilter.ts b/src/Logic/Tags/TagsFilter.ts index c75b7f6f4..5c6070755 100644 --- a/src/Logic/Tags/TagsFilter.ts +++ b/src/Logic/Tags/TagsFilter.ts @@ -15,9 +15,9 @@ export abstract class TagsFilter { abstract matchesProperties(properties: Record): boolean abstract asHumanString( - linkToWiki: boolean, - shorten: boolean, - properties: Record + linkToWiki?: boolean, + shorten?: boolean, + properties?: Record ): string abstract asJson(): TagConfigJson @@ -34,9 +34,18 @@ export abstract class TagsFilter { * Converts the tagsFilter into a list of key-values that should be uploaded to OSM. * Throws an error if not applicable. * - * Note: properties are the already existing tags-object. It is only used in the substituting tag + * @param properties are the already existing tags-object. It is only used in the substituting tag and will not be changed */ - abstract asChange(properties: Record): { k: string; v: string }[] + abstract asChange(properties: Readonly>): { k: string; v: string }[] + + public applyOn(properties: Readonly>): Record { + const copy = { ...properties } + const changes = this.asChange(properties) + for (const { k, v } of changes) { + copy[k] = v + } + return copy + } /** * Returns an optimized version (or self) of this tagsFilter diff --git a/src/Logic/Web/MangroveReviews.ts b/src/Logic/Web/MangroveReviews.ts index 3fa410389..17c46e0a2 100644 --- a/src/Logic/Web/MangroveReviews.ts +++ b/src/Logic/Web/MangroveReviews.ts @@ -3,34 +3,33 @@ import { MangroveReviews, Review } from "mangrove-reviews-typescript" import { Utils } from "../../Utils" import { Feature, Position } from "geojson" import { GeoOperations } from "../GeoOperations" +import ScriptUtils from "../../../scripts/ScriptUtils" export class MangroveIdentity { - private readonly keypair: Store + private readonly keypair: UIEventSource = new UIEventSource(undefined) /** * Same as the one in the user settings */ public readonly mangroveIdentity: UIEventSource - private readonly key_id: Store + private readonly key_id: UIEventSource = new UIEventSource(undefined) private readonly _mangroveIdentityCreationDate: UIEventSource constructor(mangroveIdentity: UIEventSource, mangroveIdentityCreationDate: UIEventSource) { this.mangroveIdentity = mangroveIdentity this._mangroveIdentityCreationDate = mangroveIdentityCreationDate - const key_id = new UIEventSource(undefined) - this.key_id = key_id - const keypairEventSource = new UIEventSource(undefined) - this.keypair = keypairEventSource mangroveIdentity.addCallbackAndRunD(async (data) => { - if (!data) { - return - } - const keypair = await MangroveReviews.jwkToKeypair(JSON.parse(data)) - keypairEventSource.setData(keypair) - const pem = await MangroveReviews.publicToPem(keypair.publicKey) - key_id.setData(pem) + await this.setKeypair(data) }) } + private async setKeypair(data: string){ + console.log("Setting keypair from",data) + const keypair = await MangroveReviews.jwkToKeypair(JSON.parse(data)) + this.keypair.setData(keypair) + const pem = await MangroveReviews.publicToPem(keypair.publicKey) + this.key_id.setData(pem) + } + /** * Creates an identity if none exists already. * Is written into the UIEventsource, which was passed into the constructor @@ -43,7 +42,9 @@ export class MangroveIdentity { // Identity has been loaded via osmPreferences by now - we don't overwrite return } - console.log("Creating a new Mangrove identity!") + this.keypair.setData(keypair) + const pem = await MangroveReviews.publicToPem(keypair.publicKey) + this.key_id.setData(pem) this.mangroveIdentity.setData(JSON.stringify(jwk)) this._mangroveIdentityCreationDate.setData(new Date().toISOString()) } @@ -52,7 +53,7 @@ export class MangroveIdentity { * Only called to create a review. */ async getKeypair(): Promise { - if (this.keypair.data ?? "" === "") { + if (this.keypair.data === undefined) { // We want to create a review, but it seems like no key has been setup at this moment // We create the key try { @@ -70,31 +71,51 @@ export class MangroveIdentity { return this.key_id } + private geoReviewsById: Store<(Review & { kid: string; signature: string })[]> = + undefined + + public getGeoReviews(): Store<(Review & { kid: string, signature: string })[] | undefined> { + if (!this.geoReviewsById) { + const all = this.getAllReviews() + this.geoReviewsById = this.getAllReviews().mapD(reviews => reviews.filter( + review => { + try { + const subjectUrl = new URL(review.sub) + return subjectUrl.protocol === "geo:" + } catch (e) { + return false + } + } + )) + } + return this.geoReviewsById + } + private allReviewsById: UIEventSource<(Review & { kid: string; signature: string })[]> = undefined /** * Gets all reviews that are made for the current identity. + * The returned store will contain `undefined` if still loading */ - public getAllReviews(): Store<(Review & { kid: string; signature: string })[]> { + public getAllReviews(): Store<(Review & { kid: string; signature: string })[] | undefined> { if (this.allReviewsById !== undefined) { return this.allReviewsById } - this.allReviewsById = new UIEventSource([]) - this.key_id.map((pem) => { + this.allReviewsById = new UIEventSource(undefined) + this.key_id.map(async (pem) => { if (pem === undefined) { return [] } - MangroveReviews.getReviews({ - kid: pem, - }).then((allReviews) => { - this.allReviewsById.setData( - allReviews.reviews.map((r) => ({ - ...r, - ...r.payload, - })) - ) + const allReviews = await MangroveReviews.getReviews({ + kid: pem }) + this.allReviewsById.setData( + allReviews.reviews.map((r) => ({ + ...r, + ...r.payload + })) + ) }) return this.allReviewsById } @@ -125,6 +146,7 @@ export default class FeatureReviews { private readonly _uncertainty: number private readonly _name: Store private readonly _identity: MangroveIdentity + private readonly _testmode: Store private constructor( feature: Feature, @@ -134,11 +156,13 @@ export default class FeatureReviews { nameKey?: "name" | string fallbackName?: string uncertaintyRadius?: number - } + }, + testmode?: Store ) { const centerLonLat = GeoOperations.centerpointCoordinates(feature) ;[this._lon, this._lat] = centerLonLat this._identity = mangroveIdentity + this._testmode = testmode ?? new ImmutableStore(false) const nameKey = options?.nameKey ?? "name" if (feature.geometry.type === "Point") { @@ -210,19 +234,20 @@ export default class FeatureReviews { public static construct( feature: Feature, tagsSource: UIEventSource>, - mangroveIdentity?: MangroveIdentity, - options?: { + mangroveIdentity: MangroveIdentity, + options: { nameKey?: "name" | string fallbackName?: string uncertaintyRadius?: number - } - ) { + }, + testmode: Store + ): FeatureReviews { const key = feature.properties.id const cached = FeatureReviews._featureReviewsCache[key] if (cached !== undefined) { return cached } - const featureReviews = new FeatureReviews(feature, tagsSource, mangroveIdentity, options) + const featureReviews = new FeatureReviews(feature, tagsSource, mangroveIdentity, options,testmode ) FeatureReviews._featureReviewsCache[key] = featureReviews return featureReviews } @@ -243,17 +268,22 @@ export default class FeatureReviews { } const r: Review = { sub: this.subjectUri.data, - ...review, + ...review } const keypair: CryptoKeyPair = await this._identity.getKeypair() const jwt = await MangroveReviews.signReview(keypair, r) const kid = await MangroveReviews.publicToPem(keypair.publicKey) - await MangroveReviews.submitReview(jwt) + if (!this._testmode.data) { + await MangroveReviews.submitReview(jwt) + } else { + console.log("Testmode enabled - not uploading review") + await Utils.waitFor(1000) + } const reviewWithKid = { ...r, kid, signature: jwt, - madeByLoggedInUser: new ImmutableStore(true), + madeByLoggedInUser: new ImmutableStore(true) } this._reviews.data.push(reviewWithKid) this._reviews.ping() @@ -301,7 +331,7 @@ export default class FeatureReviews { signature: reviewData.signature, madeByLoggedInUser: this._identity.getKeyId().map((user_key_id) => { return reviewData.kid === user_key_id - }), + }) }) hasNew = true } @@ -322,7 +352,7 @@ export default class FeatureReviews { // https://www.rfc-editor.org/rfc/rfc5870#section-3.4.2 // `u` stands for `uncertainty`, https://www.rfc-editor.org/rfc/rfc5870#section-3.4.3 const self = this - return this._name.map(function (name) { + return this._name.map(function(name) { let uri = `geo:${self._lat},${self._lon}?u=${Math.round(self._uncertainty)}` if (name) { uri += "&q=" + (dontEncodeName ? name : encodeURIComponent(name)) diff --git a/src/Models/RasterLayerProperties.ts b/src/Models/RasterLayerProperties.ts index e489f76c4..6132d0626 100644 --- a/src/Models/RasterLayerProperties.ts +++ b/src/Models/RasterLayerProperties.ts @@ -7,6 +7,10 @@ export type EliCategory = | "qa" | "elevation" | "other" + +/** + * This class has grown beyond the point of only containing Raster Layers + */ export interface RasterLayerProperties { /** * The name of the imagery source @@ -19,7 +23,8 @@ export interface RasterLayerProperties { readonly url: string readonly category?: string | EliCategory - readonly type?: "vector" | string + readonly type?: "vector" | "raster" | string + readonly style?: string, readonly attribution?: { readonly url?: string diff --git a/src/Models/RasterLayers.ts b/src/Models/RasterLayers.ts index 8ce528bde..b5594e907 100644 --- a/src/Models/RasterLayers.ts +++ b/src/Models/RasterLayers.ts @@ -48,23 +48,12 @@ export class AvailableRasterLayers { geometry: BBox.global.asGeometry(), } - public static readonly maptilerDefaultLayer: RasterLayerPolygon = { - type: "Feature", - properties: { - name: "MapTiler", - url: - "https://api.maptiler.com/maps/15cc8f61-0353-4be6-b8da-13daea5f7432/style.json?key=" + - Constants.maptilerApiKey, - category: "osmbasedmap", - id: "maptiler", - type: "vector", - attribution: { - text: "Maptiler", - url: "https://www.maptiler.com/copyright/", - }, - }, - geometry: BBox.global.asGeometry(), - } + /** + * The default background layer that any theme uses which does not explicitly define a background + */ + public static readonly defaultBackgroundLayer: RasterLayerPolygon = AvailableRasterLayers.globalLayers.find(l => { + return l.properties.id === "protomaps.sunny" + }) public static layersAvailableAt( location: Store<{ lon: number; lat: number }>, @@ -90,7 +79,7 @@ export class AvailableRasterLayers { return GeoOperations.inside(lonlat, eliPolygon) }) matching.unshift(AvailableRasterLayers.osmCarto) - matching.push(AvailableRasterLayers.maptilerDefaultLayer) + matching.push(AvailableRasterLayers.defaultBackgroundLayer) if (enableBing?.data) { matching.push(AvailableRasterLayers.bing) } @@ -107,7 +96,7 @@ export class AvailableRasterLayers { all.push(...AvailableRasterLayers.globalLayers.map((l) => l.properties.id)) all.push(...AvailableRasterLayers.EditorLayerIndex.map((l) => l.properties.id)) all.push(this.osmCarto.properties.id) - all.push(this.maptilerDefaultLayer.properties.id) + all.push(this.defaultBackgroundLayer.properties.id) return new Set(all) } } diff --git a/src/Models/ThemeConfig/Conversion/Validation.ts b/src/Models/ThemeConfig/Conversion/Validation.ts index 102c92b48..520fd10ed 100644 --- a/src/Models/ThemeConfig/Conversion/Validation.ts +++ b/src/Models/ThemeConfig/Conversion/Validation.ts @@ -277,9 +277,11 @@ export class ValidateTheme extends DesugaringStep { backgroundId === "photo" || backgroundId === "map" || backgroundId === "osmbasedmap" if (!isCategory && !ValidateTheme._availableLayers.has(backgroundId)) { + const options = Array.from(ValidateTheme._availableLayers) + const nearby = Utils.sortedByLevenshteinDistance(backgroundId, options, t => t) context .enter("defaultBackgroundId") - .err("This layer ID is not known: " + backgroundId) + .err(`This layer ID is not known: ${backgroundId}. Perhaps you meant one of ${nearby.slice(0,5).join(", ")}`) } } @@ -850,7 +852,7 @@ class CheckTranslation extends DesugaringStep { for (const key of keys) { const lng = json[key] if (lng === "") { - context.enter(lng).err("Got an empty string in translation for language " + lng) + context.enter(lng).err("Got an empty string in translation for language " + key) } // TODO validate that all subparts are here @@ -1012,6 +1014,13 @@ class MiscTagRenderingChecks extends DesugaringStep { ) { continue } + if(json.freeform.key.indexOf("wikidata")>=0){ + context + .enter("render") + .err( + `The rendering for language ${ln} does not contain \`{${json.freeform.key}}\`. Did you perhaps forget to set "freeform.type: 'wikidata'"?` + ) + } context .enter("render") .err( @@ -1264,7 +1273,7 @@ export class PrevalidateLayer extends DesugaringStep { // It is tempting to add an index to this warning; however, due to labels the indices here might be different from the index in the tagRendering list context .enter("tagRenderings") - .err("Some tagrenderings have a duplicate id: " + duplicates.join(", ")) + .err("Some tagrenderings have a duplicate id: " + duplicates.join(", ")+"\n"+JSON.stringify(json.tagRenderings.filter(tr=> duplicates.indexOf(tr["id"])>=0))) } } @@ -1837,6 +1846,7 @@ export class ValidateThemeEnsemble extends Conversion< { tags: TagsFilter foundInTheme: string[] + isCounted: boolean } > > { @@ -1855,10 +1865,11 @@ export class ValidateThemeEnsemble extends Conversion< string, { tags: TagsFilter - foundInTheme: string[] + foundInTheme: string[], + isCounted: boolean } > { - const idToSource = new Map() + const idToSource = new Map() for (const theme of json) { for (const layer of theme.layers) { @@ -1879,7 +1890,7 @@ export class ValidateThemeEnsemble extends Conversion< const id = layer.id const tags = layer.source.osmTags if (!idToSource.has(id)) { - idToSource.set(id, { tags, foundInTheme: [theme.id] }) + idToSource.set(id, { tags, foundInTheme: [theme.id], isCounted: layer.doCount }) continue } @@ -1888,6 +1899,7 @@ export class ValidateThemeEnsemble extends Conversion< if (oldTags.shadows(tags) && tags.shadows(oldTags)) { // All is good, all is well oldTheme.push(theme.id) + idToSource.get(id).isCounted ||= layer.doCount continue } context.err( diff --git a/src/Models/ThemeConfig/Json/LineRenderingConfigJson.ts b/src/Models/ThemeConfig/Json/LineRenderingConfigJson.ts index 8294a0618..8c2ae5672 100644 --- a/src/Models/ThemeConfig/Json/LineRenderingConfigJson.ts +++ b/src/Models/ThemeConfig/Json/LineRenderingConfigJson.ts @@ -38,7 +38,7 @@ export default interface LineRenderingConfigJson { /** * question: Should a dasharray be used to render the lines? * The dasharray defines 'pixels of line, pixels of gap, pixels of line, pixels of gap, ...'. For example, `5 6` will be 5 pixels of line followed by a 6 pixel gap. - * Cannot be a dynamic property due to a mapbox limitation + * Cannot be a dynamic property due to a MapLibre limitation (see https://github.com/maplibre/maplibre-gl-js/issues/1235) * ifunset: Ways are rendered with a full line */ dashArray?: string diff --git a/src/Models/ThemeConfig/LayerConfig.ts b/src/Models/ThemeConfig/LayerConfig.ts index e3a0ac247..8e6a70d08 100644 --- a/src/Models/ThemeConfig/LayerConfig.ts +++ b/src/Models/ThemeConfig/LayerConfig.ts @@ -91,7 +91,7 @@ export default class LayerConfig extends WithContextLoader { mercatorCrs: json.source["mercatorCrs"], idKey: json.source["idKey"], }, - json.id + json.id, ) } @@ -106,8 +106,8 @@ export default class LayerConfig extends WithContextLoader { } this.units = [].concat( ...(json.units ?? []).map((unitJson, i) => - Unit.fromJson(unitJson, `${context}.unit[${i}]`) - ) + Unit.fromJson(unitJson, `${context}.unit[${i}]`), + ), ) if (json.description !== undefined) { @@ -122,7 +122,7 @@ export default class LayerConfig extends WithContextLoader { if (json.calculatedTags !== undefined) { if (!official) { console.warn( - `Unofficial theme ${this.id} with custom javascript! This is a security risk` + `Unofficial theme ${this.id} with custom javascript! This is a security risk`, ) } this.calculatedTags = [] @@ -159,7 +159,7 @@ export default class LayerConfig extends WithContextLoader { } this.minzoomVisible = json.minzoomVisible ?? this.minzoom this.shownByDefault = json.shownByDefault ?? true - this.doCount = json.isCounted ?? true + this.doCount = json.isCounted ?? this.shownByDefault ?? true this.forceLoad = json.forceLoad ?? false if (json.presets === null) json.presets = undefined if (json.presets !== undefined && json.presets?.map === undefined) { @@ -191,7 +191,7 @@ export default class LayerConfig extends WithContextLoader { tags: pr.tags.map((t) => TagUtils.SimpleTag(t)), description: Translations.T( pr.description, - `${translationContext}.presets.${i}.description` + `${translationContext}.presets.${i}.description`, ), preciseInput: preciseInput, exampleImages: pr.exampleImages, @@ -205,7 +205,7 @@ export default class LayerConfig extends WithContextLoader { if (json.lineRendering) { this.lineRendering = Utils.NoNull(json.lineRendering).map( - (r, i) => new LineRenderingConfig(r, `${context}[${i}]`) + (r, i) => new LineRenderingConfig(r, `${context}[${i}]`), ) } else { this.lineRendering = [] @@ -213,7 +213,7 @@ export default class LayerConfig extends WithContextLoader { if (json.pointRendering) { this.mapRendering = Utils.NoNull(json.pointRendering).map( - (r, i) => new PointRenderingConfig(r, `${context}[${i}](${this.id})`) + (r, i) => new PointRenderingConfig(r, `${context}[${i}](${this.id})`), ) } else { this.mapRendering = [] @@ -225,7 +225,7 @@ export default class LayerConfig extends WithContextLoader { r.location.has("centroid") || r.location.has("projected_centerpoint") || r.location.has("start") || - r.location.has("end") + r.location.has("end"), ) if ( @@ -247,7 +247,7 @@ export default class LayerConfig extends WithContextLoader { Constants.priviliged_layers.indexOf(this.id) < 0 && this.source !== null /*library layer*/ && !this.source?.geojsonSource?.startsWith( - "https://api.openstreetmap.org/api/0.6/notes.json" + "https://api.openstreetmap.org/api/0.6/notes.json", ) ) { throw ( @@ -266,7 +266,7 @@ export default class LayerConfig extends WithContextLoader { typeof tr !== "string" && tr["builtin"] === undefined && tr["id"] === undefined && - tr["rewrite"] === undefined + tr["rewrite"] === undefined, ) ?? [] if (missingIds?.length > 0 && official) { console.error("Some tagRenderings of", this.id, "are missing an id:", missingIds) @@ -277,8 +277,8 @@ export default class LayerConfig extends WithContextLoader { (tr, i) => new TagRenderingConfig( tr, - this.id + ".tagRenderings[" + i + "]" - ) + this.id + ".tagRenderings[" + i + "]", + ), ) if ( @@ -352,7 +352,7 @@ export default class LayerConfig extends WithContextLoader { public GetBaseTags(): Record { return TagUtils.changeAsProperties( - this.source?.osmTags?.asChange({ id: "node/-1" }) ?? [{ k: "id", v: "node/-1" }] + this.source?.osmTags?.asChange({ id: "node/-1" }) ?? [{ k: "id", v: "node/-1" }], ) } @@ -365,7 +365,7 @@ export default class LayerConfig extends WithContextLoader { neededLayer: string }[] = [], addedByDefault = false, - canBeIncluded = true + canBeIncluded = true, ): BaseUIElement { const extraProps: (string | BaseUIElement)[] = [] @@ -374,32 +374,32 @@ export default class LayerConfig extends WithContextLoader { if (canBeIncluded) { if (addedByDefault) { extraProps.push( - "**This layer is included automatically in every theme. This layer might contain no points**" + "**This layer is included automatically in every theme. This layer might contain no points**", ) } if (this.shownByDefault === false) { extraProps.push( - "This layer is not visible by default and must be enabled in the filter by the user. " + "This layer is not visible by default and must be enabled in the filter by the user. ", ) } if (this.title === undefined) { extraProps.push( - "Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable." + "Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable.", ) } if (this.name === undefined && this.shownByDefault === false) { extraProps.push( - "This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-=true" + "This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-=true", ) } if (this.name === undefined) { extraProps.push( - "Not visible in the layer selection by default. If you want to make this layer toggable, override `name`" + "Not visible in the layer selection by default. If you want to make this layer toggable, override `name`", ) } if (this.mapRendering.length === 0) { extraProps.push( - "Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`" + "Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`", ) } @@ -411,23 +411,28 @@ export default class LayerConfig extends WithContextLoader { : undefined, "This layer is loaded from an external source, namely ", new FixedUiElement(this.source.geojsonSource).SetClass("code"), - ]) + ]), ) } } else { extraProps.push( - "This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data." + "This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data.", ) } let usingLayer: BaseUIElement[] = [] - if (usedInThemes?.length > 0 && !addedByDefault) { - usingLayer = [ - new Title("Themes using this layer", 4), - new List( - (usedInThemes ?? []).map((id) => new Link(id, "https://mapcomplete.org/" + id)) - ), - ] + if (!addedByDefault) { + + if (usedInThemes?.length > 0) { + usingLayer = [ + new Title("Themes using this layer", 4), + new List( + (usedInThemes ?? []).map((id) => new Link(id, "https://mapcomplete.org/" + id)), + ), + ] + } else if(this.source !== null) { + usingLayer = [new FixedUiElement("No themes use this layer")] + } } for (const dep of dependencies) { @@ -438,7 +443,7 @@ export default class LayerConfig extends WithContextLoader { " into the layout as it depends on it: ", dep.reason, "(" + dep.context + ")", - ]) + ]), ) } @@ -447,7 +452,7 @@ export default class LayerConfig extends WithContextLoader { new Combine([ "This layer is needed as dependency for layer", new Link(revDep, "#" + revDep), - ]) + ]), ) } @@ -459,14 +464,14 @@ export default class LayerConfig extends WithContextLoader { return undefined } const embedded: (Link | string)[] = values.values?.map((v) => - Link.OsmWiki(values.key, v, true).SetClass("mr-2") + Link.OsmWiki(values.key, v, true).SetClass("mr-2"), ) ?? ["_no preset options defined, or no values in them_"] return [ new Combine([ new Link( "", "https://taginfo.openstreetmap.org/keys/" + values.key + "#values", - true + true, ), Link.OsmWiki(values.key), ]).SetClass("flex"), @@ -475,7 +480,7 @@ export default class LayerConfig extends WithContextLoader { : new Link(values.type, "../SpecialInputElements.md#" + values.type), new Combine(embedded).SetClass("flex"), ] - }) + }), ) let quickOverview: BaseUIElement = undefined @@ -485,7 +490,7 @@ export default class LayerConfig extends WithContextLoader { "this quick overview is incomplete", new Table( ["attribute", "type", "values which are supported by this layer"], - tableRows + tableRows, ).SetClass("zebra-table"), ]).SetClass("flex-col flex") } @@ -499,7 +504,7 @@ export default class LayerConfig extends WithContextLoader { (mr) => mr.RenderIcon(new ImmutableStore({ id: "node/-1" }), { includeBadges: false, - }).html + }).html, ) .find((i) => i !== undefined) } @@ -511,7 +516,7 @@ export default class LayerConfig extends WithContextLoader { "Execute on overpass", Overpass.AsOverpassTurboLink(this.source.osmTags.optimize()) .replaceAll("(", "%28") - .replaceAll(")", "%29") + .replaceAll(")", "%29"), ) } catch (e) { console.error("Could not generate overpasslink for " + this.id) @@ -533,19 +538,19 @@ export default class LayerConfig extends WithContextLoader { const parts = neededTags["and"] tagsDescription.push( "Elements must match **all** of the following expressions:", - parts.map((p, i) => i + ". " + p.asHumanString(true, false, {})).join("\n") + parts.map((p, i) => i + ". " + p.asHumanString(true, false, {})).join("\n"), ) } else if (neededTags["or"]) { const parts = neededTags["or"] tagsDescription.push( "Elements must match **any** of the following expressions:", - parts.map((p) => " - " + p.asHumanString(true, false, {})).join("\n") + parts.map((p) => " - " + p.asHumanString(true, false, {})).join("\n"), ) } else { tagsDescription.push( "Elements must match the expression **" + - neededTags.asHumanString(true, false, {}) + - "**" + neededTags.asHumanString(true, false, {}) + + "**", ) } @@ -556,7 +561,7 @@ export default class LayerConfig extends WithContextLoader { return new Combine([ new Combine([new Title(this.id, 1), iconImg, this.description, "\n"]).SetClass( - "flex flex-col" + "flex flex-col", ), new List(extraProps), ...usingLayer, diff --git a/src/Models/ThemeConfig/LayoutConfig.ts b/src/Models/ThemeConfig/LayoutConfig.ts index 2b50cebfb..353635849 100644 --- a/src/Models/ThemeConfig/LayoutConfig.ts +++ b/src/Models/ThemeConfig/LayoutConfig.ts @@ -313,6 +313,9 @@ export default class LayoutConfig implements LayoutInformation { if (tags === undefined) { return undefined } + if(tags.id.startsWith("current_view")){ + return this.getLayer("current_view") + } for (const layer of this.layers) { if (!layer.source) { if (layer.isShown?.matchesProperties(tags)) { diff --git a/src/Models/ThemeConfig/LineRenderingConfig.ts b/src/Models/ThemeConfig/LineRenderingConfig.ts index 260ab6414..57897166f 100644 --- a/src/Models/ThemeConfig/LineRenderingConfig.ts +++ b/src/Models/ThemeConfig/LineRenderingConfig.ts @@ -7,7 +7,7 @@ import { TagsFilter } from "../../Logic/Tags/TagsFilter" export default class LineRenderingConfig extends WithContextLoader { public readonly color: TagRenderingConfig public readonly width: TagRenderingConfig - public readonly dashArray: TagRenderingConfig + public readonly dashArray: string public readonly lineCap: TagRenderingConfig public readonly offset: TagRenderingConfig public readonly fill: TagRenderingConfig @@ -19,7 +19,7 @@ export default class LineRenderingConfig extends WithContextLoader { super(json, context) this.color = this.tr("color", "#0000ff") this.width = this.tr("width", "7") - this.dashArray = this.tr("dashArray", "") + this.dashArray = json.dashArray this.lineCap = this.tr("lineCap", "round") this.fill = this.tr("fill", undefined) this.fillColor = this.tr("fillColor", undefined) diff --git a/src/Models/ThemeConfig/TagRenderingConfig.ts b/src/Models/ThemeConfig/TagRenderingConfig.ts index cb1396748..20c743fca 100644 --- a/src/Models/ThemeConfig/TagRenderingConfig.ts +++ b/src/Models/ThemeConfig/TagRenderingConfig.ts @@ -628,6 +628,22 @@ export default class TagRenderingConfig { * config.constructChangeSpecification("", undefined, undefined, {}) // => undefined * config.constructChangeSpecification("5", undefined, undefined, {}).optimize() // => new Tag("capacity", "5") * + * // Should pick a mapping, even if freeform is used + * const config = new TagRenderingConfig({"id": "shop-types", render: "Shop type is {shop}", freeform: {key: "shop", addExtraTags:["fixme=freeform shop type used"]}, mappings:[{if: "shop=second_hand", then: "Second hand shop"}]}) + * config.constructChangeSpecification("freeform", 1, undefined, {}).asHumanString(false, false, {}) // => "shop=freeform & fixme=freeform shop type used" + * config.constructChangeSpecification("freeform", undefined, undefined, {}).asHumanString(false, false, {}) // => "shop=freeform & fixme=freeform shop type used" + * config.constructChangeSpecification("second_hand", 1, undefined, {}).asHumanString(false, false, {}) // => "shop=second_hand" + * + * + * const config = new TagRenderingConfig({id: "oh", render: "{opening_hours}", question: {"en":"When open?"}, freeform: {key: "opening_hours"}, + * mappings: [{ "if": "opening_hours=closed", + * "then": { + * "en": "Marked as closed for an unspecified time", + * }, + * "hideInAnswer": true}] } + * const tags = config.constructChangeSpecification("Tu-Fr 05:30-09:30", undefined, undefined, { }} + * tags // =>new And([ new Tag("opening_hours", "Tu-Fr 05:30-09:30")]) + * * @param freeformValue The freeform value which will be applied as 'freeform.key'. Ignored if 'freeform.key' is not set * * @param singleSelectedMapping (Only used if multiAnswer == false): the single mapping to apply. Use (mappings.length) for the freeform @@ -640,6 +656,12 @@ export default class TagRenderingConfig { multiSelectedMapping: boolean[] | undefined, currentProperties: Record ): UploadableTag { + console.log("constructChangeSpecification:", { + freeformValue, + singleSelectedMapping, + multiSelectedMapping, + currentProperties, + }) if (typeof freeformValue === "string") { freeformValue = freeformValue?.trim() } @@ -667,11 +689,22 @@ export default class TagRenderingConfig { this.mappings.length == 0 || (singleSelectedMapping === this.mappings.length && !this.multiAnswer)) ) { + const freeformOnly = { [this.freeform.key]: freeformValue } + const matchingMapping = this.mappings?.find((m) => m.if.matchesProperties(freeformOnly)) + if (matchingMapping) { + return new And([matchingMapping.if, ...(matchingMapping.addExtraTags ?? [])]) + } // Either no mappings, or this is a radio-button selected freeform value - return new And([ + const tag = new And([ new Tag(this.freeform.key, freeformValue), ...(this.freeform.addExtraTags ?? []), ]) + const newProperties = tag.applyOn(currentProperties) + if (this.invalidValues?.matchesProperties(newProperties)) { + return undefined + } + + return tag } if (this.multiAnswer) { diff --git a/src/Models/ThemeViewState.ts b/src/Models/ThemeViewState.ts index 0e0bdab62..49b3a29b9 100644 --- a/src/Models/ThemeViewState.ts +++ b/src/Models/ThemeViewState.ts @@ -450,6 +450,19 @@ export default class ThemeViewState implements SpecialVisualizationState { this.selectedElement.setData(feature) } + public showCurrentLocationOn(map: Store): ShowDataLayer { + const id = "gps_location" + const flayerGps = this.layerState.filteredLayers.get(id) + const features = this.geolocation.currentUserLocation + return new ShowDataLayer(map, { + features, + doShowLayer: flayerGps.isDisplayed, + layer: flayerGps.layerDef, + metaTags: this.userRelatedState.preferencesAsTags, + selectedElement: this.selectedElement, + }) + } + /** * Various small methods that need to be called */ @@ -674,7 +687,7 @@ export default class ThemeViewState implements SpecialVisualizationState { const summaryTileSource = new SummaryTileSource( url.protocol + "//" + url.host + "/summary", layers.map((l) => l.id), - this.mapProperties.zoom.map((z) => Math.max(Math.ceil(z), 0)), + this.mapProperties.zoom.map((z) => Math.max(Math.floor(z), 0)), this.mapProperties, { isActive: this.mapProperties.zoom.map((z) => z <= maxzoom), @@ -682,6 +695,7 @@ export default class ThemeViewState implements SpecialVisualizationState { ) return new SummaryTileSourceRewriter(summaryTileSource, this.layerState.filteredLayers) } + /** * Add the special layers to the map */ @@ -796,7 +810,7 @@ export default class ThemeViewState implements SpecialVisualizationState { new MetaTagging(this) new TitleHandler(this.selectedElement, this.featureProperties, this) new ChangeToElementsActor(this.changes, this.featureProperties) - new PendingChangesUploader(this.changes, this.selectedElement) + new PendingChangesUploader(this.changes, this.selectedElement, this.imageUploadManager) new SelectedElementTagsUpdater(this) new BackgroundLayerResetter(this.mapProperties.rasterLayer, this.availableLayers) new PreferredRasterLayerSelector( diff --git a/src/UI/Base/DirectionIndicator.svelte b/src/UI/Base/DirectionIndicator.svelte index 200684353..895898421 100644 --- a/src/UI/Base/DirectionIndicator.svelte +++ b/src/UI/Base/DirectionIndicator.svelte @@ -141,7 +141,7 @@ >
-{:else} +{:else if !!$label}
focusMap()} diff --git a/src/UI/Base/Loading.svelte b/src/UI/Base/Loading.svelte index e76881db0..7c0c14b99 100644 --- a/src/UI/Base/Loading.svelte +++ b/src/UI/Base/Loading.svelte @@ -2,10 +2,10 @@ import { twMerge } from "tailwind-merge" import Loading from "../../assets/svg/Loading.svelte" - export let cls: string = undefined + export let cls: string = "flex p-1 pl-2" -
+
diff --git a/src/UI/Base/MapControlButton.svelte b/src/UI/Base/MapControlButton.svelte index 38122911f..55bc60626 100644 --- a/src/UI/Base/MapControlButton.svelte +++ b/src/UI/Base/MapControlButton.svelte @@ -3,12 +3,14 @@ import { twJoin } from "tailwind-merge" import { Translation } from "../i18n/Translation" import { ariaLabel } from "../../Utils/ariaLabel" + import { ImmutableStore, Store } from "../../Logic/UIEventSource" /** * A round button with an icon and possible a small text, which hovers above the map */ const dispatch = createEventDispatcher() export let cls = "m-0.5 p-0.5 sm:p-1 md:m-1" + export let enabled : Store = new ImmutableStore(true) export let arialabel: Translation = undefined @@ -16,7 +18,7 @@ on:click={(e) => dispatch("click", e)} on:keydown use:ariaLabel={arialabel} - class={twJoin("pointer-events-auto relative h-fit w-fit rounded-full", cls)} + class={twJoin("pointer-events-auto relative h-fit w-fit rounded-full", cls, $enabled ? "" : "disabled")} > diff --git a/src/UI/Base/SubtleButton.svelte b/src/UI/Base/SubtleButton.svelte index 06431a4da..76a2fe63d 100644 --- a/src/UI/Base/SubtleButton.svelte +++ b/src/UI/Base/SubtleButton.svelte @@ -1,31 +1,17 @@ diff --git a/src/UI/Base/Title.ts b/src/UI/Base/Title.ts index c30ca144c..ba4c8d41f 100644 --- a/src/UI/Base/Title.ts +++ b/src/UI/Base/Title.ts @@ -17,7 +17,8 @@ export default class Title extends BaseUIElement { constructor(embedded: string | BaseUIElement, level: number = 3) { super() if (embedded === undefined) { - throw "A title should have some content. Undefined is not allowed" + console.warn("A title should have some content. Undefined is not allowed") + embedded = "" } if (typeof embedded === "string") { this.title = new FixedUiElement(embedded) diff --git a/src/UI/BigComponents/Filterview.svelte b/src/UI/BigComponents/Filterview.svelte index 8b6ec5288..f3b607196 100644 --- a/src/UI/BigComponents/Filterview.svelte +++ b/src/UI/BigComponents/Filterview.svelte @@ -66,7 +66,7 @@ /> - {filteredLayer.layerDef.name} + {#if $zoomlevel < layer.minzoom} @@ -82,7 +82,7 @@ {#if filter.options.length === 1 && filter.options[0].fields.length === 0} - {filter.options[0].question} + {/if} @@ -94,7 +94,7 @@ {#each filter.options as option, i} {/each} diff --git a/src/UI/BigComponents/FilterviewWithFields.svelte b/src/UI/BigComponents/FilterviewWithFields.svelte index 240997d7a..4268a34f9 100644 --- a/src/UI/BigComponents/FilterviewWithFields.svelte +++ b/src/UI/BigComponents/FilterviewWithFields.svelte @@ -6,6 +6,7 @@ import { UIEventSource } from "../../Logic/UIEventSource" import { onDestroy } from "svelte" import { Utils } from "../../Utils" + import Tr from "../Base/Tr.svelte" export let filteredLayer: FilteredLayer export let option: FilterConfigOption diff --git a/src/UI/BigComponents/NewPointLocationInput.svelte b/src/UI/BigComponents/NewPointLocationInput.svelte index 95d1b72cb..bf77c4adc 100644 --- a/src/UI/BigComponents/NewPointLocationInput.svelte +++ b/src/UI/BigComponents/NewPointLocationInput.svelte @@ -2,7 +2,6 @@ import type { SpecialVisualizationState } from "../SpecialVisualization" import LocationInput from "../InputElement/Helpers/LocationInput.svelte" import { UIEventSource } from "../../Logic/UIEventSource" - import { Tiles } from "../../Models/TileRange" import { Map as MlMap } from "maplibre-gl" import { BBox } from "../../Logic/BBox" import type { MapProperties } from "../../Models/MapProperties" @@ -15,7 +14,6 @@ import FeatureSourceMerger from "../../Logic/FeatureSource/Sources/FeatureSourceMerger" import LayerConfig from "../../Models/ThemeConfig/LayerConfig" import { Utils } from "../../Utils" - import { createEventDispatcher } from "svelte" import Move_arrows from "../../assets/svg/Move_arrows.svelte" /** @@ -53,9 +51,6 @@ lat: number }>(undefined) - const dispatch = createEventDispatcher<{ click: { lon: number; lat: number } }>() - - const xyz = Tiles.embedded_tile(coordinate.lat, coordinate.lon, 16) const map: UIEventSource = new UIEventSource(undefined) let initialMapProperties: Partial & { location } = { zoom: new UIEventSource(19), @@ -73,6 +68,7 @@ minzoom: new UIEventSource(18), rasterLayer: UIEventSource.feedFrom(state.mapProperties.rasterLayer), } + state?.showCurrentLocationOn(map) if (targetLayer) { const featuresForLayer = state.perLayer.get(targetLayer.id) @@ -120,7 +116,7 @@ dispatch("click", data)} + on:click mapProperties={initialMapProperties} value={preciseLocation} initialCoordinate={coordinate} diff --git a/src/UI/BigComponents/OpenBackgroundSelectorButton.svelte b/src/UI/BigComponents/OpenBackgroundSelectorButton.svelte index e617e877d..de9658cdd 100644 --- a/src/UI/BigComponents/OpenBackgroundSelectorButton.svelte +++ b/src/UI/BigComponents/OpenBackgroundSelectorButton.svelte @@ -1,15 +1,20 @@ @@ -17,7 +22,10 @@ arialabel={Translations.t.general.labels.background} on:click={() => state.guistate.backgroundLayerSelectionIsOpened.setData(true)} > - + + + + {#if !hideTooltip} {/if} diff --git a/src/UI/BigComponents/SelectedElementTitle.svelte b/src/UI/BigComponents/SelectedElementTitle.svelte index be5aeaf32..a00e58a72 100644 --- a/src/UI/BigComponents/SelectedElementTitle.svelte +++ b/src/UI/BigComponents/SelectedElementTitle.svelte @@ -13,20 +13,25 @@ export let layer: LayerConfig export let selectedElement: Feature let tags: UIEventSource> = state.featureProperties.getStore( - selectedElement.properties.id + selectedElement.properties.id, ) $: { tags = state.featureProperties.getStore(selectedElement.properties.id) } + let isTesting = state.featureSwitchIsTesting + let isDebugging = state.featureSwitches.featureSwitchIsDebugging + let metatags: Store> = state.userRelatedState.preferencesAsTags -{#if $tags._deleted === "yes"} - -{:else} -
-
+
+
+ {#if $tags._deleted === "yes"} +

+ +

+ {:else}

@@ -34,12 +39,11 @@

- -
- - + {/if}
-{/if} + +
diff --git a/src/UI/BigComponents/SelectedElementView.svelte b/src/UI/BigComponents/SelectedElementView.svelte index ef76ae20a..beeee5d90 100644 --- a/src/UI/BigComponents/SelectedElementView.svelte +++ b/src/UI/BigComponents/SelectedElementView.svelte @@ -8,17 +8,21 @@ import Translations from "../i18n/Translations" import Tr from "../Base/Tr.svelte" import TagRenderingConfig from "../../Models/ThemeConfig/TagRenderingConfig" + import UserRelatedState from "../../Logic/State/UserRelatedState" + import Delete_icon from "../../assets/svg/Delete_icon.svelte" + import BackButton from "../Base/BackButton.svelte" export let state: SpecialVisualizationState - export let layer: LayerConfig export let selectedElement: Feature export let highlightedRendering: UIEventSource = undefined export let tags: UIEventSource> = state?.featureProperties?.getStore( selectedElement.properties.id ) - - + + let layer: LayerConfig = selectedElement.properties.id === "settings" ? UserRelatedState.usersettingsConfig : state.layout.getMatchingLayer(tags.data) + + let stillMatches = tags.map(tags => !layer?.source?.osmTags || layer.source.osmTags?.matchesProperties(tags)) let _metatags: Record @@ -27,7 +31,7 @@ onDestroy( state.userRelatedState.preferencesAsTags.addCallbackAndRun((tags) => { _metatags = tags - }) + }), ) } @@ -36,22 +40,26 @@ (config) => (config.condition?.matchesProperties(tgs) ?? true) && (config.metacondition?.matchesProperties({ ...tgs, ..._metatags }) ?? true) && - config.IsKnown(tgs) - ) + config.IsKnown(tgs), + ), ) {#if !$stillMatches} -
- +
+
{:else if $tags._deleted === "yes"} -
- +
+
+ + +
+ state.selectedElement.setData(undefined)}> + + +
- {:else}
-
- -
- {#if typeof navigator?.share === "function"} - - {/if} - {#if navigator.clipboard !== undefined} - - {/if} -
Utils.selectTextIn(e.target)}> - {linkToShare} +
+
+ +
+ + +
+ {#if typeof navigator?.share === "function"} + + {/if} + {#if navigator.clipboard !== undefined} + + {/if} +
Utils.selectTextIn(e.target)}> + {linkToShare} +
+
+ + new Img(new Qr(linkToShare).toImageElement(125)).SetStyle( + "width: 125px" + )} />
@@ -95,29 +106,31 @@ - diff --git a/src/UI/BigComponents/StatisticsPanel.ts b/src/UI/BigComponents/StatisticsPanel.ts index 2bb479b7b..6b138060f 100644 --- a/src/UI/BigComponents/StatisticsPanel.ts +++ b/src/UI/BigComponents/StatisticsPanel.ts @@ -17,14 +17,17 @@ export default class StatisticsForLayerPanel extends VariableUiElement { return new Loading("Loading data") } if (features.length === 0) { - return "No elements in view" + return new Combine([ + "No elements in view for layer ", + layer.id + ]).SetClass("block") } const els: BaseUIElement[] = [] const featuresForLayer = features if (featuresForLayer.length === 0) { return } - els.push(new Title(layer.name.Clone(), 1).SetClass("mt-8")) + els.push(new Title(layer.name, 1).SetClass("mt-8")) const layerStats = [] for (const tagRendering of layer?.tagRenderings ?? []) { diff --git a/src/UI/BigComponents/TagRenderingChart.ts b/src/UI/BigComponents/TagRenderingChart.ts index c187fb80e..f529de828 100644 --- a/src/UI/BigComponents/TagRenderingChart.ts +++ b/src/UI/BigComponents/TagRenderingChart.ts @@ -8,7 +8,9 @@ import { OsmFeature } from "../../Models/OsmFeature" export interface TagRenderingChartOptions { groupToOtherCutoff?: 3 | number - sort?: boolean + sort?: boolean, + hideUnkown?: boolean, + hideNotApplicable?: boolean } export class StackedRenderingChart extends ChartJs { @@ -19,12 +21,16 @@ export class StackedRenderingChart extends ChartJs { period: "day" | "month" groupToOtherCutoff?: 3 | number // If given, take the sum of these fields to get the feature weight - sumFields?: string[] + sumFields?: string[], + hideUnknown?: boolean, + hideNotApplicable?: boolean } ) { const { labels, data } = TagRenderingChart.extractDataAndLabels(tr, features, { sort: true, groupToOtherCutoff: options?.groupToOtherCutoff, + hideNotApplicable: options?.hideNotApplicable, + hideUnkown: options?.hideUnknown }) if (labels === undefined || data === undefined) { console.error( @@ -36,7 +42,6 @@ export class StackedRenderingChart extends ChartJs { ) throw "No labels or data given..." } - // labels: ["cyclofix", "buurtnatuur", ...]; data : [ ["cyclofix-changeset", "cyclofix-changeset", ...], ["buurtnatuur-cs", "buurtnatuur-cs"], ... ] for (let i = labels.length; i >= 0; i--) { if (data[i]?.length != 0) { @@ -116,13 +121,13 @@ export class StackedRenderingChart extends ChartJs { datasets.push({ data: countsPerDay, backgroundColor, - label, + label }) } const perDayData = { labels: trimmedDays, - datasets, + datasets } const config = { @@ -131,17 +136,17 @@ export class StackedRenderingChart extends ChartJs { options: { responsive: true, legend: { - display: false, + display: false }, scales: { x: { - stacked: true, + stacked: true }, y: { - stacked: true, - }, - }, - }, + stacked: true + } + } + } } super(config) } @@ -194,7 +199,7 @@ export default class TagRenderingChart extends Combine { "rgba(255, 206, 86, 0.2)", "rgba(75, 192, 192, 0.2)", "rgba(153, 102, 255, 0.2)", - "rgba(255, 159, 64, 0.2)", + "rgba(255, 159, 64, 0.2)" ] public static readonly borderColors = [ @@ -203,7 +208,7 @@ export default class TagRenderingChart extends Combine { "rgba(255, 206, 86, 1)", "rgba(75, 192, 192, 1)", "rgba(153, 102, 255, 1)", - "rgba(255, 159, 64, 1)", + "rgba(255, 159, 64, 1)" ] /** @@ -239,12 +244,12 @@ export default class TagRenderingChart extends Combine { const borderColor = [ TagRenderingChart.unkownBorderColor, TagRenderingChart.otherBorderColor, - TagRenderingChart.notApplicableBorderColor, + TagRenderingChart.notApplicableBorderColor ] const backgroundColor = [ TagRenderingChart.unkownColor, TagRenderingChart.otherColor, - TagRenderingChart.notApplicableColor, + TagRenderingChart.notApplicableColor ] while (borderColor.length < data.length) { @@ -276,17 +281,17 @@ export default class TagRenderingChart extends Combine { backgroundColor, borderColor, borderWidth: 1, - label: undefined, - }, - ], + label: undefined + } + ] }, options: { plugins: { legend: { - display: !barchartMode, - }, - }, - }, + display: !barchartMode + } + } + } } const chart = new ChartJs(config).SetClass(options?.chartclasses ?? "w-32 h-32") @@ -297,7 +302,7 @@ export default class TagRenderingChart extends Combine { super([ options?.includeTitle ? tagRendering.question.Clone() ?? tagRendering.id : undefined, - chart, + chart ]) this.SetClass("block") @@ -386,20 +391,26 @@ export default class TagRenderingChart extends Combine { } } - const labels = [ - "Unknown", - "Other", - "Not applicable", + const labels = [] + const data: T[][] = [] + + if (!options.hideUnkown) { + data.push(unknownCount) + labels.push("Unknown") + } + data.push(otherGrouped) + labels.push("Other") + if (!options.hideNotApplicable) { + data.push(notApplicable) + labels.push( + "Not applicable" + ) + } + data.push(...categoryCounts, + ...otherData) + labels.push( ...(mappings?.map((m) => m.then.txt) ?? []), - ...otherLabels, - ] - const data: T[][] = [ - unknownCount, - otherGrouped, - notApplicable, - ...categoryCounts, - ...otherData, - ] + ...otherLabels) return { labels, data } } diff --git a/src/UI/BigComponents/ThemeButton.svelte b/src/UI/BigComponents/ThemeButton.svelte index d3c9d9b2f..92b22694c 100644 --- a/src/UI/BigComponents/ThemeButton.svelte +++ b/src/UI/BigComponents/ThemeButton.svelte @@ -6,7 +6,6 @@ import Constants from "../../Models/Constants" import type { LayoutInformation } from "../../Models/ThemeConfig/LayoutConfig" import Tr from "../Base/Tr.svelte" - import SubtleLink from "../Base/SubtleLink.svelte" import Translations from "../i18n/Translations" import { LocalStorageSource } from "../../Logic/Web/LocalStorageSource" @@ -86,8 +85,10 @@ {#if theme.id !== personal.id || $unlockedPersonal} - - + @@ -96,6 +97,5 @@ {/if} - - + {/if} diff --git a/src/UI/BigComponents/WaySplitMap.svelte b/src/UI/BigComponents/WaySplitMap.svelte index d45fd2c2a..183cddf9b 100644 --- a/src/UI/BigComponents/WaySplitMap.svelte +++ b/src/UI/BigComponents/WaySplitMap.svelte @@ -23,18 +23,20 @@ import { GeoOperations } from "../../Logic/GeoOperations" import { BBox } from "../../Logic/BBox" import type { Feature, LineString, Point } from "geojson" + import type { SpecialVisualizationState } from "../SpecialVisualization" + import SmallZoomButtons from "../Map/SmallZoomButtons.svelte" const splitpoint_style = new LayerConfig( split_point, "(BUILTIN) SplitRoadWizard.ts", - true - ) as const + true, + ) const splitroad_style = new LayerConfig( split_road, "(BUILTIN) SplitRoadWizard.ts", - true - ) as const + true, + ) /** * The way to focus on @@ -45,6 +47,7 @@ * A default is given */ export let layer: LayerConfig = splitroad_style + export let state: SpecialVisualizationState | undefined = undefined /** * Optional: use these properties to set e.g. background layer */ @@ -58,6 +61,7 @@ adaptor.bounds.setData(BBox.get(wayGeojson).pad(2)) adaptor.maxbounds.setData(BBox.get(wayGeojson).pad(2)) + state?.showCurrentLocationOn(map) new ShowDataLayer(map, { features: new StaticFeatureSource([wayGeojson]), drawMarkers: false, @@ -101,6 +105,7 @@ }) -
- +
+ +
diff --git a/src/UI/DownloadFlow/DownloadPanel.svelte b/src/UI/DownloadFlow/DownloadPanel.svelte index 2385f6e04..56fdea15e 100644 --- a/src/UI/DownloadFlow/DownloadPanel.svelte +++ b/src/UI/DownloadFlow/DownloadPanel.svelte @@ -8,6 +8,10 @@ import { SvgToPdf } from "../../Utils/svgToPdf" import ThemeViewState from "../../Models/ThemeViewState" import DownloadPdf from "./DownloadPdf.svelte" + import { PngMapCreator } from "../../Utils/pngMapCreator" + import { UIEventSource } from "../../Logic/UIEventSource" + import ValidatedInput from "../InputElement/ValidatedInput.svelte" + import { LocalStorageSource } from "../../Logic/Web/LocalStorageSource" export let state: ThemeViewState let isLoading = state.dataIsLoading @@ -34,9 +38,21 @@ mapExtent: state.mapProperties.bounds.data, width: maindiv.offsetWidth, height: maindiv.offsetHeight, - noSelfIntersectingLines, + noSelfIntersectingLines }) } + + let customWidth = LocalStorageSource.Get("custom-png-width", "20") + let customHeight = LocalStorageSource.Get("custom-png-height", "20") + + async function offerCustomPng(): Promise { + console.log("Creating a custom size png with dimensions", customWidth.data + "mm *", customHeight.data + "mm") + const creator = new PngMapCreator(state, { + height: Number(customHeight.data), width: Number(customWidth.data) + }) + return await creator.CreatePng("belowmap") + } + {#if $isLoading} @@ -107,5 +123,26 @@ {/each}
+
+

+

+
+ + +
+
+ + +
+ offerCustomPng()} + {state} + mimetype="image/png" + /> +
+ {/if} diff --git a/src/UI/DownloadFlow/DownloadPdf.svelte b/src/UI/DownloadFlow/DownloadPdf.svelte index cd518189c..635ca98b6 100644 --- a/src/UI/DownloadFlow/DownloadPdf.svelte +++ b/src/UI/DownloadFlow/DownloadPdf.svelte @@ -25,7 +25,7 @@ const templateUrls = SvgToPdf.templates[templateName].pages const templates: string[] = await Promise.all(templateUrls.map((url) => Utils.download(url))) console.log("Templates are", templates) - const bg = state.mapProperties.rasterLayer.data ?? AvailableRasterLayers.maptilerDefaultLayer + const bg = state.mapProperties.rasterLayer.data ?? AvailableRasterLayers.defaultBackgroundLayer const creator = new SvgToPdf(title, templates, { state, freeComponentId: "belowmap", diff --git a/src/UI/Image/ImageAttribution.svelte b/src/UI/Image/ImageAttribution.svelte index a7d731268..f4535ff54 100644 --- a/src/UI/Image/ImageAttribution.svelte +++ b/src/UI/Image/ImageAttribution.svelte @@ -10,7 +10,7 @@ */ export let image: ProvidedImage let license: Store = UIEventSource.FromPromise( - image.provider?.DownloadAttribution(image.url) + image.provider?.DownloadAttribution(image) ) let icon = image.provider?.SourceIcon(image.id)?.SetClass("block h-8 w-8 pr-2") @@ -38,26 +38,28 @@
{/if} -
+
{#if $license.license !== undefined || $license.licenseShortName !== undefined}
{$license?.license ?? $license?.licenseShortName}
{/if} - {#if $license.date} -
- {$license.date.toLocaleDateString()} + {#if $license.views} +
+ + {$license.views}
{/if}
- {#if $license.views} -
- - {$license.views} + {#if $license.date} +
+ {$license.date.toLocaleDateString()}
{/if} + +
{/if} diff --git a/src/UI/Image/UploadFailedMessage.svelte b/src/UI/Image/UploadFailedMessage.svelte new file mode 100644 index 000000000..03550587c --- /dev/null +++ b/src/UI/Image/UploadFailedMessage.svelte @@ -0,0 +1,29 @@ + +
+ +
+ {#if failed === 1} + + {:else} + + {/if} + + +
+ +
diff --git a/src/UI/Image/UploadingImageCounter.svelte b/src/UI/Image/UploadingImageCounter.svelte index e78f4a009..865e5fb49 100644 --- a/src/UI/Image/UploadingImageCounter.svelte +++ b/src/UI/Image/UploadingImageCounter.svelte @@ -11,6 +11,8 @@ import Translations from "../i18n/Translations" import Tr from "../Base/Tr.svelte" import Loading from "../Base/Loading.svelte" + import { XCircleIcon } from "@babeard/svelte-heroicons/solid" + import UploadFailedMessage from "./UploadFailedMessage.svelte" export let state: SpecialVisualizationState export let tags: Store = undefined @@ -22,31 +24,40 @@ const { uploadStarted, uploadFinished, retried, failed } = state.imageUploadManager.getCountsFor(featureId) const t = Translations.t.image + const debugging = state.featureSwitches.featureSwitchIsDebugging + let dismissed = 0 -{#if $uploadStarted === 1} +{#if $debugging} +
Started {$uploadStarted} Done {$uploadFinished} Retry {$retried} Err {$failed}
+{/if} +{#if dismissed === $uploadStarted} + +{:else if $uploadStarted === 1} {#if $uploadFinished === 1} {#if showThankYou} {/if} {:else if $failed === 1} -
- - - -
+ dismissed = $failed}/> {:else if $retried === 1} - +
+ +
{:else} - +
+ +
{/if} {:else if $uploadStarted > 1} - {#if $uploadFinished + $failed === $uploadStarted && $uploadFinished > 0} - {#if showThankYou} + {#if $uploadFinished + $failed === $uploadStarted} + {#if $uploadFinished === 0} + + {:else if showThankYou} {/if} {:else if $uploadFinished === 0} @@ -64,14 +75,7 @@
{/if} {#if $failed > 0} -
- {#if $failed === 1} - - {:else} - - {/if} - - -
+ + dismissed = $failed}/> {/if} {/if} diff --git a/src/UI/InputElement/Helpers/DirectionInput.svelte b/src/UI/InputElement/Helpers/DirectionInput.svelte index c9660da9c..134fe778e 100644 --- a/src/UI/InputElement/Helpers/DirectionInput.svelte +++ b/src/UI/InputElement/Helpers/DirectionInput.svelte @@ -63,7 +63,7 @@ on:touchstart={(e) => onPosChange(e.touches[0].clientX, e.touches[0].clientY)} >
- +
diff --git a/src/UI/InputElement/Helpers/LocationInput.svelte b/src/UI/InputElement/Helpers/LocationInput.svelte index 3aad6bf8f..caa5d0c60 100644 --- a/src/UI/InputElement/Helpers/LocationInput.svelte +++ b/src/UI/InputElement/Helpers/LocationInput.svelte @@ -13,6 +13,7 @@ import LayerConfig from "../../../Models/ThemeConfig/LayerConfig" import { createEventDispatcher, onDestroy } from "svelte" import Move_arrows from "../../../assets/svg/Move_arrows.svelte" + import SmallZoomButtons from "../../Map/SmallZoomButtons.svelte" /** * A visualisation to pick a location on a map background @@ -83,7 +84,7 @@
- +
+
diff --git a/src/UI/InputElement/Helpers/TranslationInput.svelte b/src/UI/InputElement/Helpers/TranslationInput.svelte index b49174721..780d85395 100644 --- a/src/UI/InputElement/Helpers/TranslationInput.svelte +++ b/src/UI/InputElement/Helpers/TranslationInput.svelte @@ -3,6 +3,7 @@ import LanguageUtils from "../../../Utils/LanguageUtils" import { createEventDispatcher, onDestroy } from "svelte" import ValidatedInput from "../ValidatedInput.svelte" + import { del } from "idb-keyval" export let value: UIEventSource> = new UIEventSource< Record @@ -18,14 +19,25 @@ const allLanguages: string[] = LanguageUtils.usedLanguagesSorted let currentLang = new UIEventSource("en") const currentVal = new UIEventSource("") + /** + * Mostly the same as currentVal, but might be the empty string as well + */ + const currentValRaw = new UIEventSource("") + let dispatch = createEventDispatcher<{ submit }>() function update() { - const v = currentVal.data + let v = currentValRaw.data const l = currentLang.data + console.log("Updating translation input for value", v, " and language", l) if (translations.data === "" || translations.data === undefined) { translations.data = {} } + if (v === "") { + delete translations.data[l] + translations.ping() + return + } if (translations.data[l] === v) { return } @@ -39,35 +51,52 @@ translations.data = {} } translations.data[currentLang] = translations.data[currentLang] ?? "" - currentVal.setData(translations.data[currentLang]) + if (translations.data[currentLang] === "") { + delete translations.data[currentLang] + } + currentVal.setData(translations.data[currentLang] ?? "") + currentValRaw.setData(translations.data[currentLang]) }) ) onDestroy( - currentVal.addCallbackAndRunD(() => { + currentValRaw.addCallbackAndRunD(() => { update() }) ) - -
+ +
+
{prefix} - - dispatch("submit")} - /> - + + dispatch("submit")} + /> + {postfix} + +
+ You have currently set translations for +
    + {#each Object.keys($translations) as l} +
  • + {/each} +
diff --git a/src/UI/InputElement/InputHelpers.ts b/src/UI/InputElement/InputHelpers.ts index 8c0fe1785..7d7335499 100644 --- a/src/UI/InputElement/InputHelpers.ts +++ b/src/UI/InputElement/InputHelpers.ts @@ -60,6 +60,11 @@ export default class InputHelpers { if (!mapProperties.zoom) { mapProperties = { ...mapProperties, zoom: new UIEventSource(zoom) } } + if (!mapProperties.rasterLayer) { + /* mapProperties = { + ...mapProperties, rasterLayer: properties?.mapProperties?.rasterLayer + }*/ + } return mapProperties } @@ -69,11 +74,10 @@ export default class InputHelpers { ) { const inputHelperOptions = props const args = inputHelperOptions.args ?? [] - const searchKey = args[0] ?? "name" + const searchKey: string = args[0] ?? "name" - const searchFor = ( - (inputHelperOptions.feature?.properties[searchKey]?.toLowerCase() ?? "") - ) + const searchFor: string = searchKey.split(";").map(k => inputHelperOptions.feature?.properties[k]?.toLowerCase()) + .find(foundValue => !!foundValue) ?? "" let searchForValue: UIEventSource = new UIEventSource(searchFor) const options: any = args[1] @@ -121,7 +125,7 @@ export default class InputHelpers { value, searchText: searchForValue, instanceOf, - notInstanceOf, + notInstanceOf }) } } diff --git a/src/UI/InputElement/LanguagePicker.svelte b/src/UI/InputElement/LanguagePicker.svelte index e1e8983ea..c2ee58ca9 100644 --- a/src/UI/InputElement/LanguagePicker.svelte +++ b/src/UI/InputElement/LanguagePicker.svelte @@ -40,11 +40,14 @@ {#if availableLanguages?.length > 1}
+ + {#if preferredFiltered} {#each preferredFiltered as language} {/each} -
{/if} diff --git a/src/UI/InputElement/Validator.ts b/src/UI/InputElement/Validator.ts index 7aeee9654..1bec3faa8 100644 --- a/src/UI/InputElement/Validator.ts +++ b/src/UI/InputElement/Validator.ts @@ -57,8 +57,8 @@ export abstract class Validator { * * Returns 'undefined' if the element is valid */ - public getFeedback(s: string, _?: () => string): Translation | undefined { - if (this.isValid(s)) { + public getFeedback(s: string, getCountry?: () => string): Translation | undefined { + if (this.isValid(s, getCountry)) { return undefined } const tr = Translations.t.validation[this.name] @@ -71,7 +71,7 @@ export abstract class Validator { return Translations.t.validation[this.name].description } - public isValid(_: string): boolean { + public isValid(_: string, getCountry?: () => string): boolean { return true } diff --git a/src/UI/InputElement/Validators/OpeningHoursValidator.ts b/src/UI/InputElement/Validators/OpeningHoursValidator.ts index 57f0ac833..0a44f52ff 100644 --- a/src/UI/InputElement/Validators/OpeningHoursValidator.ts +++ b/src/UI/InputElement/Validators/OpeningHoursValidator.ts @@ -52,7 +52,4 @@ export default class OpeningHoursValidator extends Validator { ) } - reformat(s: string, _?: () => string): string { - return super.reformat(s, _) - } } diff --git a/src/UI/Map/MapLibreAdaptor.ts b/src/UI/Map/MapLibreAdaptor.ts index 0b9886443..de753d910 100644 --- a/src/UI/Map/MapLibreAdaptor.ts +++ b/src/UI/Map/MapLibreAdaptor.ts @@ -1,6 +1,7 @@ import { ImmutableStore, Store, UIEventSource } from "../../Logic/UIEventSource" -import type { Map as MLMap } from "maplibre-gl" +import { Map as MLMap } from "maplibre-gl" import { Map as MlMap, SourceSpecification } from "maplibre-gl" +import maplibregl from "maplibre-gl" import { RasterLayerPolygon } from "../../Models/RasterLayers" import { Utils } from "../../Utils" import { BBox } from "../../Logic/BBox" @@ -11,6 +12,8 @@ import { RasterLayerProperties } from "../../Models/RasterLayerProperties" import * as htmltoimage from "html-to-image" import RasterLayerHandler from "./RasterLayerHandler" import Constants from "../../Models/Constants" +import { Protocol } from "pmtiles" +import { bool } from "sharp" /** * The 'MapLibreAdaptor' bridges 'MapLibre' with the various properties of the `MapProperties` @@ -23,13 +26,13 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { "dragRotate", "dragPan", "keyboard", - "touchZoomRotate", + "touchZoomRotate" ] private static maplibre_zoom_handlers = [ "scrollZoom", "boxZoom", "doubleClickZoom", - "touchZoomRotate", + "touchZoomRotate" ] readonly location: UIEventSource<{ lon: number; lat: number }> readonly zoom: UIEventSource @@ -46,6 +49,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { readonly pitch: UIEventSource readonly useTerrain: Store + private static pmtilesInited = false /** * Functions that are called when one of those actions has happened * @private @@ -55,6 +59,12 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { private readonly _maplibreMap: Store constructor(maplibreMap: Store, state?: Partial) { + if (!MapLibreAdaptor.pmtilesInited) { + maplibregl.addProtocol("pmtiles", new Protocol().tile) + MapLibreAdaptor.pmtilesInited = true + console.log("PM-tiles protocol added" + + "") + } this._maplibreMap = maplibreMap this.location = state?.location ?? new UIEventSource(undefined) @@ -103,6 +113,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { } maplibreMap.addCallbackAndRunD((map) => { + map.on("load", () => { self.MoveMapToCurrentLoc(self.location.data) self.SetZoom(self.zoom.data) @@ -205,14 +216,14 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { return { map: mlmap, ui: new SvelteUIElement(MaplibreMap, { - map: mlmap, + map: mlmap }), - mapproperties: new MapLibreAdaptor(mlmap), + mapproperties: new MapLibreAdaptor(mlmap) } } public static prepareWmsSource(layer: RasterLayerProperties): SourceSpecification { - return RasterLayerHandler.prepareWmsSource(layer) + return RasterLayerHandler.prepareSource(layer) } /** @@ -275,7 +286,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { ) { const event = { date: new Date(), - key: key, + key: key } for (let i = 0; i < this._onKeyNavigation.length; i++) { @@ -319,22 +330,51 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { rescaleIcons: number, pixelRatio: number ) { + + { + const allimages = element.getElementsByTagName("img") + for (const img of Array.from(allimages)) { + let isLoaded: boolean = false + while (!isLoaded) { + console.log("Waiting for image", img.src, "to load", img.complete, img.naturalWidth, img) + await Utils.waitFor(250) + isLoaded = img.complete && img.width > 0 + } + } + } + const style = element.style.transform let x = element.getBoundingClientRect().x let y = element.getBoundingClientRect().y element.style.transform = "" const offset = style.match(/translate\(([-0-9]+)%, ?([-0-9]+)%\)/) + let labels = Array.from(element.getElementsByClassName("marker-label")) + const origLabelTransforms = labels.map(l => l.style.transform) + // We save the original width (`w`) and height (`h`) in order to restore them later on const w = element.style.width - const h = element.style.height + const h = Number(element.style.height) + const targetW = Math.max(element.getBoundingClientRect().width * 4, + ...labels.map(l => l.getBoundingClientRect().width)) + const targetH = element.getBoundingClientRect().height + + Math.max(...labels.map(l => l.getBoundingClientRect().height * 2 /* A bit of buffer to catch eventual 'margin-top'*/)) // Force a wider view for icon badges - element.style.width = element.getBoundingClientRect().width * 4 + "px" - element.style.height = element.getBoundingClientRect().height + "px" + element.style.width = targetW + "px" + // Force more height to include labels + element.style.height = targetH + "px" + element.classList.add("w-full", "flex", "flex-col", "items-center") + labels.forEach(l => { + l.style.transform = "" + }) + await Utils.awaitAnimationFrame() const svgSource = await htmltoimage.toSvg(element) const img = await MapLibreAdaptor.createImage(svgSource) - element.style.width = w - element.style.height = h + for (let i = 0; i < labels.length; i++) { + labels[i].style.transform = origLabelTransforms[i] + } + element.style.width = "" + w + element.style.height = "" + h if (offset && rescaleIcons !== 1) { const [_, __, relYStr] = offset @@ -346,10 +386,13 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { y *= pixelRatio try { - drawOn.drawImage(img, x, y, img.width * rescaleIcons, img.height * rescaleIcons) + const xdiff = img.width * rescaleIcons / 2 + drawOn.drawImage(img, x - xdiff, y, img.width * rescaleIcons, img.height * rescaleIcons) } catch (e) { console.log("Could not draw image because of", e) } + element.classList.remove("w-full", "flex", "flex-col", "items-center") + } /** @@ -384,19 +427,12 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { const markers = Array.from(container.getElementsByClassName("marker")) for (let i = 0; i < markers.length; i++) { const marker = markers[i] - const labels = Array.from(marker.getElementsByClassName("marker-label")) const style = marker.style.transform if (isDisplayed(marker)) { await this.drawElement(drawOn, marker, rescaleIcons, pixelRatio) } - for (const label of labels) { - if (isDisplayed(label)) { - await this.drawElement(drawOn, label, rescaleIcons, pixelRatio) - } - } - if (progress) { progress.setData({ current: i, total: markers.length }) } @@ -425,7 +461,7 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { const bounds = map.getBounds() const bbox = new BBox([ [bounds.getEast(), bounds.getNorth()], - [bounds.getWest(), bounds.getSouth()], + [bounds.getWest(), bounds.getSouth()] ]) if (this.bounds.data === undefined || !isSetup) { this.bounds.setData(bbox) @@ -603,14 +639,14 @@ export class MapLibreAdaptor implements MapProperties, ExportableMap { type: "raster-dem", url: "https://api.maptiler.com/tiles/terrain-rgb/tiles.json?key=" + - Constants.maptilerApiKey, + Constants.maptilerApiKey }) try { while (!map?.isStyleLoaded()) { await Utils.waitFor(250) } map.setTerrain({ - source: id, + source: id }) } catch (e) { console.error(e) diff --git a/src/UI/Map/MaplibreMap.svelte b/src/UI/Map/MaplibreMap.svelte index 3425c1756..2caee99c0 100644 --- a/src/UI/Map/MaplibreMap.svelte +++ b/src/UI/Map/MaplibreMap.svelte @@ -1,13 +1,14 @@ +
+ adaptor.zoom.update((z) => z + 1)} + > + + + adaptor.zoom.update((z) => z - 1)} + > + + +
diff --git a/src/UI/Map/StyleLoadingIndicator.svelte b/src/UI/Map/StyleLoadingIndicator.svelte index 5398bacb8..cd8a554df 100644 --- a/src/UI/Map/StyleLoadingIndicator.svelte +++ b/src/UI/Map/StyleLoadingIndicator.svelte @@ -6,14 +6,30 @@ let isLoading = false export let map: UIEventSource + /** + * Optional. Only used for the 'global' change indicator so that it won't spin on pan/zoom but only when a change _actually_ occured + */ + export let rasterLayer: UIEventSource = undefined + + let didChange = undefined + onDestroy(rasterLayer?.addCallback(() => { + didChange = true + }) ??( () => {})) + onDestroy(Stores.Chronic(250).addCallback( () => { - isLoading = !map.data?.isStyleLoaded() + const mapIsLoading = !map.data?.isStyleLoaded() + isLoading = mapIsLoading && (didChange || rasterLayer === undefined) + if(didChange && !mapIsLoading){ + didChange = false + } }, )) {#if isLoading} - + +{:else} + {/if} diff --git a/src/UI/Popup/AddNewPoint/AddNewPoint.svelte b/src/UI/Popup/AddNewPoint/AddNewPoint.svelte index 6dd3f3575..b8d4659d5 100644 --- a/src/UI/Popup/AddNewPoint/AddNewPoint.svelte +++ b/src/UI/Popup/AddNewPoint/AddNewPoint.svelte @@ -364,7 +364,7 @@
{:else} - Creating point... + {/if}
diff --git a/src/UI/Popup/AutoApplyButton.ts b/src/UI/Popup/AutoApplyButton.ts index b711e71e5..e719837a4 100644 --- a/src/UI/Popup/AutoApplyButton.ts +++ b/src/UI/Popup/AutoApplyButton.ts @@ -110,7 +110,7 @@ class ApplyButton extends UIElement { mla.allowZooming.setData(false) mla.allowMoving.setData(false) - const previewMap = new SvelteUIElement(MaplibreMap, { map: mlmap }).SetClass("h-48") + const previewMap = new SvelteUIElement(MaplibreMap, { mapProperties: mla, map: mlmap }).SetClass("h-48") const features = this.target_feature_ids.map((id) => this.state.indexedFeatures.featuresById.data.get(id) diff --git a/src/UI/Popup/ImportButtons/WayImportFlow.svelte b/src/UI/Popup/ImportButtons/WayImportFlow.svelte index 8c188760b..fb21db3d7 100644 --- a/src/UI/Popup/ImportButtons/WayImportFlow.svelte +++ b/src/UI/Popup/ImportButtons/WayImportFlow.svelte @@ -48,10 +48,10 @@ importFlow.onConfirm()}>
- +
- +
diff --git a/src/UI/Popup/MinimapViz.ts b/src/UI/Popup/MinimapViz.ts index da0f0fed6..bfde1bad0 100644 --- a/src/UI/Popup/MinimapViz.ts +++ b/src/UI/Popup/MinimapViz.ts @@ -109,7 +109,7 @@ export class MinimapViz implements SpecialVisualization { state.layout.layers ) - return new SvelteUIElement(MaplibreMap, { interactive: false, map: mlmap }) + return new SvelteUIElement(MaplibreMap, { interactive: false, map: mlmap, mapProperties: mla }) .SetClass("h-40 rounded") .SetStyle("overflow: hidden; pointer-events: none;") } diff --git a/src/UI/Popup/MoveWizardState.ts b/src/UI/Popup/MoveWizardState.ts index e4ff3d7d2..cdb9255e8 100644 --- a/src/UI/Popup/MoveWizardState.ts +++ b/src/UI/Popup/MoveWizardState.ts @@ -130,6 +130,16 @@ export class MoveWizardState { this.moveDisallowedReason.setData(t.partOfRelation) } }) + } else { + // This is a new point. Check if it was snapped to an existing way due to the '_referencing_ways'-tag + const store = this._state.featureProperties.getStore(id) + store?.addCallbackAndRunD((tags) => { + if (tags._referencing_ways !== undefined && tags._referencing_ways !== "[]") { + console.log("Got referencing ways according to the tags") + this.moveDisallowedReason.setData(t.partOfAWay) + return true + } + }) } } } diff --git a/src/UI/Popup/SplitRoadWizard.svelte b/src/UI/Popup/SplitRoadWizard.svelte new file mode 100644 index 000000000..c1b464d99 --- /dev/null +++ b/src/UI/Popup/SplitRoadWizard.svelte @@ -0,0 +1,112 @@ + + + + + + + {#if step === "deleted"} + + {:else if step === "initial"} + + {:else if step === "loading_way"} + + + {:else if step === "splitting"} +
+
+ +
+
+ { + splitPoints.set([]) + step = "initial" + }}> + + + doSplit()}> + + +
+ +
+ {:else if step === "has_been_split"} + + + {/if} + +
+ + diff --git a/src/UI/Popup/SplitRoadWizard.ts b/src/UI/Popup/SplitRoadWizard.ts deleted file mode 100644 index ac4b76f7d..000000000 --- a/src/UI/Popup/SplitRoadWizard.ts +++ /dev/null @@ -1,147 +0,0 @@ -import Toggle from "../Input/Toggle" -import { UIEventSource } from "../../Logic/UIEventSource" -import { SubtleButton } from "../Base/SubtleButton" -import Combine from "../Base/Combine" -import { Button } from "../Base/Button" -import Translations from "../i18n/Translations" -import SplitAction from "../../Logic/Osm/Actions/SplitAction" -import Title from "../Base/Title" -import BaseUIElement from "../BaseUIElement" -import { VariableUiElement } from "../Base/VariableUIElement" -import { LoginToggle } from "./LoginButton" -import SvelteUIElement from "../Base/SvelteUIElement" -import WaySplitMap from "../BigComponents/WaySplitMap.svelte" -import { Feature, Point } from "geojson" -import { WayId } from "../../Models/OsmFeature" -import { OsmConnection } from "../../Logic/Osm/OsmConnection" -import { Changes } from "../../Logic/Osm/Changes" -import { IndexedFeatureSource } from "../../Logic/FeatureSource/FeatureSource" -import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig" -import OsmObjectDownloader from "../../Logic/Osm/OsmObjectDownloader" -import Scissors from "../../assets/svg/Scissors.svelte" - -export default class SplitRoadWizard extends Combine { - public dialogIsOpened: UIEventSource - - /** - * A UI Element used for splitting roads - * - * @param id The id of the road to remove - * @param state the state of the application - */ - constructor( - id: WayId, - state: { - layout?: LayoutConfig - osmConnection?: OsmConnection - osmObjectDownloader?: OsmObjectDownloader - changes?: Changes - indexedFeatures?: IndexedFeatureSource - selectedElement?: UIEventSource - } - ) { - const t = Translations.t.split - - // Contains the points on the road that are selected to split on - contains geojson points with extra properties such as 'location' with the distance along the linestring - const splitPoints = new UIEventSource[]>([]) - - const hasBeenSplit = new UIEventSource(false) - - // Toggle variable between show split button and map - const splitClicked = new UIEventSource(false) - - const leafletMap = new UIEventSource(undefined) - - function initMap() { - ;(async function ( - id: WayId, - splitPoints: UIEventSource - ): Promise { - return new SvelteUIElement(WaySplitMap, { - osmWay: await state.osmObjectDownloader.DownloadObjectAsync(id), - splitPoints, - }) - })(id, splitPoints).then((mapComponent) => - leafletMap.setData(mapComponent.SetClass("w-full h-80")) - ) - } - - // Toggle between splitmap - const splitButton = new SubtleButton( - new SvelteUIElement(Scissors).SetClass("h-6 w-6"), - new Toggle( - t.splitAgain.Clone().SetClass("text-lg font-bold"), - t.inviteToSplit.Clone().SetClass("text-lg font-bold"), - hasBeenSplit - ) - ) - - const splitToggle = new LoginToggle(splitButton, t.loginToSplit.Clone(), state) - - // Save button - const saveButton = new Button(t.split.Clone(), async () => { - hasBeenSplit.setData(true) - splitClicked.setData(false) - const splitAction = new SplitAction( - id, - splitPoints.data.map((ff) => <[number, number]>(ff.geometry).coordinates), - { - theme: state?.layout?.id, - }, - 5 - ) - await state.changes?.applyAction(splitAction) - // We throw away the old map and splitpoints, and create a new map from scratch - splitPoints.setData([]) - - // Close the popup. The contributor has to select a segment again to make sure they continue editing the correct segment; see #1219 - state.selectedElement?.setData(undefined) - }) - - saveButton.SetClass("btn btn-primary mr-3") - const disabledSaveButton = new Button(t.split.Clone(), undefined) - disabledSaveButton.SetClass("btn btn-disabled mr-3") - // Only show the save button if there are split points defined - const saveToggle = new Toggle( - disabledSaveButton, - saveButton, - splitPoints.map((data) => data.length === 0) - ) - - const cancelButton = Translations.t.general.cancel - .Clone() // Not using Button() element to prevent full width button - .SetClass("btn btn-secondary mr-3") - .onClick(() => { - splitPoints.setData([]) - splitClicked.setData(false) - }) - - cancelButton.SetClass("btn btn-secondary block") - - const splitTitle = new Title(t.splitTitle) - - const mapView = new Combine([ - splitTitle, - new VariableUiElement(leafletMap), - new Combine([cancelButton, saveToggle]).SetClass("flex flex-row"), - ]) - mapView.SetClass("question") - super([ - Toggle.If(hasBeenSplit, () => - t.hasBeenSplit.Clone().SetClass("font-bold thanks block w-full") - ), - new Toggle(mapView, splitToggle, splitClicked), - ]) - splitClicked.addCallback((view) => { - if (view) { - initMap() - } - }) - this.dialogIsOpened = splitClicked - const self = this - splitButton.onClick(() => { - splitClicked.setData(true) - self.ScrollIntoView() - }) - } -} diff --git a/src/UI/Popup/TagHint.svelte b/src/UI/Popup/TagHint.svelte index 84e23fed3..099422e15 100644 --- a/src/UI/Popup/TagHint.svelte +++ b/src/UI/Popup/TagHint.svelte @@ -24,7 +24,7 @@ {#if !userDetails || $userDetails.loggedIn} -
+
{#if tags === undefined} {:else if embedIn === undefined} diff --git a/src/UI/Popup/TagRendering/FreeformInput.svelte b/src/UI/Popup/TagRendering/FreeformInput.svelte index 42aa3ecff..e0c85b22d 100644 --- a/src/UI/Popup/TagRendering/FreeformInput.svelte +++ b/src/UI/Popup/TagRendering/FreeformInput.svelte @@ -76,6 +76,5 @@ {value} {state} on:submit - {unvalidatedText} />
diff --git a/src/UI/Popup/TagRendering/Questionbox.svelte b/src/UI/Popup/TagRendering/Questionbox.svelte index 5724d872a..e52fbbf8d 100644 --- a/src/UI/Popup/TagRendering/Questionbox.svelte +++ b/src/UI/Popup/TagRendering/Questionbox.svelte @@ -4,7 +4,7 @@ * The questions can either be shown all at once or one at a time (in which case they can be skipped) */ import TagRenderingConfig from "../../../Models/ThemeConfig/TagRenderingConfig" - import { UIEventSource } from "../../../Logic/UIEventSource" + import { Store, UIEventSource } from "../../../Logic/UIEventSource" import type { Feature } from "geojson" import type { SpecialVisualizationState } from "../../SpecialVisualization" import LayerConfig from "../../../Models/ThemeConfig/LayerConfig" @@ -12,6 +12,7 @@ import Tr from "../../Base/Tr.svelte" import Translations from "../../i18n/Translations.js" import { Utils } from "../../../Utils" + import { onDestroy } from "svelte" export let layer: LayerConfig export let tags: UIEventSource> @@ -67,8 +68,25 @@ }, [skippedQuestions] ) - let firstQuestion = questionsToAsk.map((qta) => qta[0]) + let firstQuestion: UIEventSource = new UIEventSource(undefined) + let allQuestionsToAsk : UIEventSource = new UIEventSource([]) + function calculateQuestions(){ + console.log("Applying questions to ask") + const qta = questionsToAsk.data + firstQuestion.setData(undefined) + firstQuestion.setData(qta[0]) + + allQuestionsToAsk.setData([]) + allQuestionsToAsk.setData(qta) + } + + + onDestroy(questionsToAsk.addCallback(() =>calculateQuestions())) + onDestroy(showAllQuestionsAtOnce.addCallback(() => calculateQuestions())) + calculateQuestions() + + let answered: number = 0 let skipped: number = 0 @@ -92,7 +110,7 @@ class="marker-questionbox-root" class:hidden={$questionsToAsk.length === 0 && skipped === 0 && answered === 0} > - {#if $questionsToAsk.length === 0} + {#if $allQuestionsToAsk.length === 0} {#if skipped + answered > 0}
@@ -140,11 +158,11 @@
{#if $showAllQuestionsAtOnce}
- {#each $questionsToAsk as question (question.id)} + {#each $allQuestionsToAsk as question (question.id)} {/each}
- {:else} + {:else if $firstQuestion !== undefined} > @@ -46,7 +47,7 @@ // Will be bound if a freeform is available let freeformInput = new UIEventSource(tags?.[config.freeform?.key]) - let freeformInputUnvalidated = new UIEventSource(freeformInput.data) + let freeformInputUnvalidated = new UIEventSource(get(freeformInput)) let selectedMapping: number = undefined /** @@ -112,7 +113,7 @@ unseenFreeformValues.splice(index, 1) } // TODO this has _to much_ values - freeformInput.setData(unseenFreeformValues.join(";")) + freeformInput.set(unseenFreeformValues.join(";")) if (checkedMappings.length + 1 < mappings.length) { checkedMappings.push(unseenFreeformValues.length > 0) } @@ -121,10 +122,10 @@ if (confg.freeform?.key) { if (!confg.multiAnswer) { // Somehow, setting multi-answer freeform values is broken if this is not set - freeformInput.setData(tgs[confg.freeform.key]) + freeformInput.set(tgs[confg.freeform.key]) } } else { - freeformInput.setData(undefined) + freeformInput.set(undefined) } feedback.setData(undefined) } @@ -134,8 +135,8 @@ // We want to (re)-initialize whenever the 'tags' or 'config' change - but not when 'checkedConfig' changes initialize($tags, config) } - - freeformInput.addCallbackAndRun((freeformValue) => { +onDestroy( + freeformInput.subscribe((freeformValue) => { if (!mappings || mappings?.length == 0 || config.freeform?.key === undefined) { return } @@ -151,7 +152,8 @@ if (freeformValue?.length > 0) { selectedMapping = mappings.length } - }) + })) + $: { if ( allowDeleteOfFreeform && @@ -202,7 +204,7 @@ theme: tags.data["_orig_theme"] ?? state.layout.id, changeType: "answer", }) - freeformInput.setData(undefined) + freeformInput.set(undefined) selectedMapping = undefined selectedTags = undefined @@ -241,7 +243,7 @@
onSave()} + on:submit|preventDefault={() =>{ /*onSave(); This submit is not needed and triggers to early, causing bugs: see #1808*/}} >
@@ -285,7 +287,7 @@ feature={selectedElement} value={freeformInput} unvalidatedText={freeformInputUnvalidated} - on:submit={onSave} + on:submit={() => onSave()} /> {:else if mappings !== undefined && !config.multiAnswer} @@ -329,7 +331,7 @@ value={freeformInput} unvalidatedText={freeformInputUnvalidated} on:selected={() => (selectedMapping = config.mappings?.length)} - on:submit={onSave} + on:submit={() => onSave()} /> {/if} @@ -372,7 +374,7 @@ feature={selectedElement} value={freeformInput} unvalidatedText={freeformInputUnvalidated} - on:submit={onSave} + on:submit={() => onSave()} /> {/if} @@ -397,13 +399,13 @@ {#if allowDeleteOfFreeform && (mappings?.length ?? 0) === 0 && $freeformInput === undefined && $freeformInputUnvalidated === ""} - {:else}
- {#if $reviews?.length > 0} -
console.log("Got keypress", e)}> - {#each $reviews as review (review.sub)} - - {/each} -
+ {#if $reviews === undefined} + {:else} - + {#if $reviews?.length > 0} +
console.log("Got keypress", e)}> + {#each $reviews as review (review.sub)} + + {/each} +
+ {:else} + + {/if} + + {#if $allReviews?.length > $reviews?.length} + {#if $allReviews?.length - $reviews?.length === 1} + + {:else} + + {/if} + + + + {/if} + + + {/if} - - -
diff --git a/src/UI/SpecialVisualization.ts b/src/UI/SpecialVisualization.ts index d377fc833..ff0547eb5 100644 --- a/src/UI/SpecialVisualization.ts +++ b/src/UI/SpecialVisualization.ts @@ -22,6 +22,8 @@ import { ProvidedImage } from "../Logic/ImageProviders/ImageProvider" import GeoLocationHandler from "../Logic/Actors/GeoLocationHandler" import { SummaryTileSourceRewriter } from "../Logic/FeatureSource/TiledFeatureSource/SummaryTileSource" import LayoutSource from "../Logic/FeatureSource/Sources/LayoutSource" +import { Map as MlMap } from "maplibre-gl" +import ShowDataLayer from "./Map/ShowDataLayer" /** * The state needed to render a special Visualisation. @@ -86,6 +88,8 @@ export interface SpecialVisualizationState { readonly previewedImage: UIEventSource readonly geolocation: GeoLocationHandler + + showCurrentLocationOn(map: Store): ShowDataLayer } export interface SpecialVisualization { diff --git a/src/UI/SpecialVisualizations.ts b/src/UI/SpecialVisualizations.ts index 2c287a704..f4316079e 100644 --- a/src/UI/SpecialVisualizations.ts +++ b/src/UI/SpecialVisualizations.ts @@ -42,8 +42,6 @@ import AddNewPoint from "./Popup/AddNewPoint/AddNewPoint.svelte" import UserProfile from "./BigComponents/UserProfile.svelte" import LayerConfig from "../Models/ThemeConfig/LayerConfig" import TagRenderingConfig from "../Models/ThemeConfig/TagRenderingConfig" -import { WayId } from "../Models/OsmFeature" -import SplitRoadWizard from "./Popup/SplitRoadWizard" import { ExportAsGpxViz } from "./Popup/ExportAsGpxViz" import WikipediaPanel from "./Wikipedia/WikipediaPanel.svelte" import TagRenderingEditable from "./Popup/TagRendering/TagRenderingEditable.svelte" @@ -90,6 +88,7 @@ import LoginButton from "./Base/LoginButton.svelte" import Toggle from "./Input/Toggle" import ImportReviewIdentity from "./Reviews/ImportReviewIdentity.svelte" import LinkedDataLoader from "../Logic/Web/LinkedDataLoader" +import SplitRoadWizard from "./Popup/SplitRoadWizard.svelte" class NearbyImageVis implements SpecialVisualization { // Class must be in SpecialVisualisations due to weird cyclical import that breaks the tests @@ -429,7 +428,7 @@ export default class SpecialVisualizations { .map((tags) => tags.id) .map((id) => { if (id.startsWith("way/")) { - return new SplitRoadWizard(id, state) + return new SvelteUIElement(SplitRoadWizard, { id, state }) } return undefined }), @@ -666,6 +665,7 @@ export default class SpecialVisualizations { nameKey: nameKey, fallbackName, }, + state.featureSwitchIsTesting ) return new SvelteUIElement(StarsBarIcon, { score: reviews.average, @@ -699,6 +699,7 @@ export default class SpecialVisualizations { nameKey: nameKey, fallbackName, }, + state.featureSwitchIsTesting ) return new SvelteUIElement(ReviewForm, { reviews, state, tags, feature, layer }) }, @@ -731,6 +732,7 @@ export default class SpecialVisualizations { nameKey: nameKey, fallbackName, }, + state.featureSwitchIsTesting ) return new SvelteUIElement(AllReviews, { reviews, state, tags, feature, layer }) }, @@ -750,7 +752,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const [text] = argument return new SvelteUIElement(ImportReviewIdentity, { state, text }) @@ -1151,10 +1153,11 @@ export default class SpecialVisualizations { constr: (state) => { return new Combine( state.layout.layers - .filter((l) => l.name !== null) + .filter((l) => l.name !== null && l.title && state.perLayer.get(l.id) !== undefined ) .map( (l) => { const fs = state.perLayer.get(l.id) + console.log(">>>", l.id, fs) const bbox = state.mapProperties.bounds const fsBboxed = new BBoxFeatureSourceForLayer(fs, bbox) return new StatisticsPanel(fsBboxed) @@ -1596,6 +1599,9 @@ export default class SpecialVisualizations { feature: Feature, layer: LayerConfig, ): BaseUIElement { + const smallSize = 100 + const bigSize = 200 + const size = new UIEventSource(smallSize) return new VariableUiElement( tagSource .map((tags) => tags.id) @@ -1615,11 +1621,17 @@ export default class SpecialVisualizations { const url = `${window.location.protocol}//${window.location.host}${window.location.pathname}?${layout}lat=${lat}&lon=${lon}&z=15` + `#${id}` - return new Img(new Qr(url).toImageElement(75)).SetStyle( - "width: 75px", + return new Img(new Qr(url).toImageElement(size.data)).SetStyle( + `width: ${size.data}px` ) - }), - ) + }, [size]) + ).onClick(()=> { + if(size.data !== bigSize){ + size.setData(bigSize) + }else{ + size.setData(smallSize) + } + }) }, }, { diff --git a/src/UI/StudioGUI.svelte b/src/UI/StudioGUI.svelte index 7ce1f02b6..5c19a0fb4 100644 --- a/src/UI/StudioGUI.svelte +++ b/src/UI/StudioGUI.svelte @@ -42,6 +42,7 @@ ) let osmConnection = new OsmConnection({ oauth_token, + checkOnlineRegularly: true }) const expertMode = UIEventSource.asBoolean( osmConnection.GetPreference("studio-expert-mode", "false", { diff --git a/src/UI/Test.svelte b/src/UI/Test.svelte index db9cd5eb8..a584d6883 100644 --- a/src/UI/Test.svelte +++ b/src/UI/Test.svelte @@ -2,4 +2,4 @@ -No tests + diff --git a/src/UI/ThemeViewGUI.svelte b/src/UI/ThemeViewGUI.svelte index 2dac52e78..8b25ecd89 100644 --- a/src/UI/ThemeViewGUI.svelte +++ b/src/UI/ThemeViewGUI.svelte @@ -118,7 +118,8 @@ let viewport: UIEventSource = new UIEventSource(undefined) let mapproperties: MapProperties = state.mapProperties state.mapProperties.installCustomKeyboardHandler(viewport) - + let canZoomIn = mapproperties.maxzoom.map(mz => mapproperties.zoom.data < mz, [mapproperties.zoom] ) + let canZoomOut = mapproperties.minzoom.map(mz => mapproperties.zoom.data > mz, [mapproperties.zoom] ) function updateViewport() { const rect = viewport.data?.getBoundingClientRect() if (!rect) { @@ -148,7 +149,7 @@ let currentViewLayer = layout.layers.find((l) => l.id === "current_view") let rasterLayer: Store = state.mapProperties.rasterLayer let rasterLayerName = - rasterLayer.data?.properties?.name ?? AvailableRasterLayers.maptilerDefaultLayer.properties.name + rasterLayer.data?.properties?.name ?? AvailableRasterLayers.defaultBackgroundLayer.properties.name onDestroy( rasterLayer.addCallbackAndRunD((l) => { rasterLayerName = l.properties.name @@ -179,7 +180,7 @@
- +
{#if $visualFeedback} @@ -256,6 +257,9 @@
Testmode
+ +
Faking a user (Testmode)
+
@@ -329,12 +333,14 @@ mapproperties.zoom.update((z) => z + 1)} on:keydown={forwardEventToMap} > mapproperties.zoom.update((z) => z - 1)} on:keydown={forwardEventToMap} @@ -402,7 +408,7 @@
- +
{/if} @@ -580,10 +586,9 @@
{ new Table( ["name", "doc"], [ - ["key", "the value of this tag will initialize search (default: name)"], + ["key", "the value of this tag will initialize search (default: name). This can be a ';'-separated list in which case every key will be inspected. The non-null value will be used as search"], [ "options", new Combine([ diff --git a/src/Utils.ts b/src/Utils.ts index 35249370e..a8dc3de60 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -1059,6 +1059,14 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be throw result["error"] } + public static awaitAnimationFrame(): Promise{ + return new Promise((resolve) => { + window.requestAnimationFrame(() => { + resolve() + }) + }) + } + public static async downloadJsonAdvanced( url: string, headers?: any @@ -1388,7 +1396,10 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be d.setUTCMinutes(0) } - public static scrollIntoView(element: HTMLBaseElement | HTMLDivElement) { + public static scrollIntoView(element: HTMLBaseElement | HTMLDivElement): void { + if (!element) { + return + } // Is the element completely in the view? const parentRect = Utils.findParentWithScrolling(element)?.getBoundingClientRect() if (!parentRect) { diff --git a/src/Utils/pngMapCreator.ts b/src/Utils/pngMapCreator.ts index d0ba245f7..d96b3a2c8 100644 --- a/src/Utils/pngMapCreator.ts +++ b/src/Utils/pngMapCreator.ts @@ -65,9 +65,11 @@ export class PngMapCreator { document.getElementById(freeComponentId).appendChild(div) const newZoom = settings.zoom.data + Math.log2(pixelRatio) - 1 + const rasterLayerProperties = settings.rasterLayer.data?.properties ?? AvailableRasterLayers.defaultBackgroundLayer.properties + const style = rasterLayerProperties?.style ?? rasterLayerProperties?.url const mapElem = new MlMap({ container: div.id, - style: AvailableRasterLayers.maptilerDefaultLayer.properties.url, + style, center: [l.lon, l.lat], zoom: newZoom, pixelRatio, diff --git a/src/Utils/svgToPdf.ts b/src/Utils/svgToPdf.ts index 989834ea9..e413d3c5a 100644 --- a/src/Utils/svgToPdf.ts +++ b/src/Utils/svgToPdf.ts @@ -881,107 +881,7 @@ class SvgToPdfPage { width, height, }).CreatePng(this.options.freeComponentId, this._state) - } /* else { - const match = spec.match(/\$map\(([^)]*)\)$/) - if (match === null) { - throw "Invalid mapspec:" + spec - } - const params = SvgToPdfInternals.parseCss(match[1], ",") - const layout = AllKnownLayouts.allKnownLayouts.get(params["theme"]) - if (layout === undefined) { - console.error("Could not show map with parameters", params) - throw ( - "Theme not found:" + - params["theme"] + - ". Use theme: to define which theme to use. " - ) - } - layout.widenFactor = 0 - layout.overpassTimeout = 600 - layout.defaultBackgroundId = params["background"] ?? layout.defaultBackgroundId - for (const paramsKey in params) { - if (paramsKey.startsWith("layer-")) { - const layerName = paramsKey.substring("layer-".length) - const key = params[paramsKey].toLowerCase().trim() - const layer = layout.layers.find((l) => l.id === layerName) - if (layer === undefined) { - throw "No layer found for " + paramsKey - } - if (key === "force") { - layer.minzoom = 0 - layer.minzoomVisible = 0 - } - } - } - const zoom = Number(params["zoom"] ?? params["z"] ?? 14) - - const state = new ThemeViewState(layout) - state.mapProperties.location.setData({ - lat: this.options?.overrideLocation?.lat ?? Number(params["lat"] ?? 51.05016), - lon: this.options?.overrideLocation?.lon ?? Number(params["lon"] ?? 3.717842), - }) - state.mapProperties.zoom.setData(zoom) - - const fl = Array.from(state.layerState.filteredLayers.values()) - for (const filteredLayer of fl) { - if (params["layer-" + filteredLayer.layerDef.id] !== undefined) { - filteredLayer.isDisplayed.setData( - loadData && - params["layer-" + filteredLayer.layerDef.id].trim().toLowerCase() !== - "false" - ) - } else if (params["layers"] === "none") { - filteredLayer.isDisplayed.setData(false) - } else if (filteredLayer.layerDef.id.startsWith("note_import")) { - filteredLayer.isDisplayed.setData(false) - } - } - - for (const paramsKey in params) { - if (paramsKey.startsWith("layer-")) { - const layerName = paramsKey.substring("layer-".length) - const key = params[paramsKey].toLowerCase().trim() - const isDisplayed = loadData && (key === "true" || key === "force") - const layer = fl.find((l) => l.layerDef.id === layerName) - if (!loadData) { - console.log( - "Not loading map data as 'loadData' is falsed, this is probably a test run" - ) - } else { - console.log( - "Setting ", - layer?.layerDef?.id, - " to visibility", - isDisplayed, - "(minzoom:", - layer?.layerDef?.minzoomVisible, - layer?.layerDef?.minzoom, - ")" - ) - } - layer.isDisplayed.setData(loadData && isDisplayed) - if (key === "force" && loadData) { - layer.layerDef.minzoom = 0 - layer.layerDef.minzoomVisible = 0 - layer.isDisplayed.addCallback((isDisplayed) => { - if (!isDisplayed) { - console.warn("Forcing layer " + paramsKey + " as true") - layer.isDisplayed.setData(true) - } - }) - } - } - } - const pngCreator = new PngMapCreator(state, { - width: 4 * width, - height: 4 * height, - }) - png = await pngCreator.CreatePng(this.options.freeComponentId, this._state) - if (!png) { - throw "PngCreator did not output anything..." - } } -//*/ svgImage.setAttribute("xlink:href", await SvgToPdfPage.blobToBase64(png)) svgImage.style.width = width + "mm" svgImage.style.height = height + "mm" diff --git a/src/assets/editor-layer-index.json b/src/assets/editor-layer-index.json index 1163fb5c8..227e48ae8 100644 --- a/src/assets/editor-layer-index.json +++ b/src/assets/editor-layer-index.json @@ -240,6 +240,7 @@ {"properties":{"name":"Bouches-du-Rhône 2009","id":"fr.dpt.13.2009","url":"https://wms.openstreetmap.fr/tms/1.0.0/paca13_2009/{zoom}/{x}/{y}","attribution":{"required":true,"text":"Ortho13, 2009","url":"http://www.crige-paca.org/geoportail/geocatalogue.html?id_lot_donnee_carto=132"},"type":"tms","category":"historicphoto","min_zoom":2,"max_zoom":21},"type":"Feature","geometry":{"coordinates":[[[4.30389,43.53163],[4.22836,43.50573],[4.21738,43.45392],[4.34509,43.44295],[4.53873,43.44195],[4.57306,43.42799],[4.5758,43.41004],[4.54697,43.39607],[4.55109,43.35814],[4.58954,43.34116],[4.68292,43.33617],[4.79278,43.33617],[4.82849,43.31519],[4.86694,43.31519],[4.91638,43.36213],[5.00015,43.36113],[5.02762,43.32118],[5.23636,43.31819],[5.2803,43.2982],[5.27893,43.25221],[5.22125,43.21218],[5.2185,43.19216],[5.24322,43.19116],[5.31601,43.20918],[5.36545,43.17013],[5.41351,43.16613],[5.41489,43.19416],[5.51239,43.19216],[5.53299,43.20017],[5.55771,43.17314],[5.59341,43.1541],[5.62637,43.1511],[5.62775,43.17915],[5.67856,43.17614],[5.68817,43.2322],[5.70877,43.2362],[5.7225,43.25321],[5.7637,43.26521],[5.77057,43.28021],[5.728,43.32118],[5.69641,43.32118],[5.70465,43.34316],[5.73761,43.33217],[5.76095,43.33617],[5.74997,43.39407],[5.79254,43.40904],[5.79803,43.423],[5.75821,43.44295],[5.71701,43.48382],[5.73349,43.55651],[5.67169,43.57442],[5.7019,43.58238],[5.69229,43.61023],[5.71014,43.63409],[5.74173,43.65098],[5.80353,43.65694],[5.82275,43.68873],[5.79941,43.71554],[5.78293,43.72745],[5.74859,43.73042],[5.70877,43.69469],[5.66894,43.69965],[5.62775,43.67383],[5.61127,43.68873],[5.59479,43.68674],[5.50827,43.73638],[5.46844,43.72745],[5.44784,43.71752],[5.43548,43.68972],[5.34347,43.72745],[5.32013,43.74332],[5.22949,43.7582],[5.18555,43.74431],[5.05371,43.79687],[5.03998,43.83057],[5.00152,43.85038],[4.97955,43.87414],[4.85046,43.92065],[4.8175,43.91867],[4.73236,43.93351],[4.72275,43.91768],[4.68567,43.89987],[4.69116,43.88998],[4.63211,43.87414],[4.63074,43.82561],[4.64172,43.81372],[4.64172,43.78498],[4.617,43.76217],[4.617,43.7463],[4.6019,43.72844],[4.61014,43.69568],[4.54147,43.71454],[4.4783,43.70759],[4.4577,43.67681],[4.44397,43.67185],[4.41238,43.62017],[4.4371,43.60227],[4.45633,43.60327],[4.44397,43.59034],[4.42337,43.59531],[4.33411,43.54457],[4.32999,43.56248],[4.30801,43.56646],[4.29565,43.55054],[4.30389,43.53163]]],"type":"Polygon"}}, {"properties":{"name":"Brest - 2004","id":"Brest_2004","url":"https://wms.openstreetmap.fr/tms/1.0.0/brest_2004/{zoom}/{x}/{y}","attribution":{"required":true,"text":"Brest Métropole - 2004","url":"https://geo.pays-de-brest.fr/zapp/Pages/Photo-aerienne.aspx"},"type":"tms","category":"historicphoto","max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[-4.66444,48.46561],[-4.64202,48.30385],[-4.30555,48.32444],[-4.32797,48.48614],[-4.66444,48.46561]]],"type":"Polygon"}}, {"properties":{"name":"Enedis","id":"enedis","url":"https://wms.openstreetmap.fr/tms/1.0.0/enedis/{zoom}/{x}/{y}","attribution":{"required":true,"text":"Enedis 2018"},"type":"tms","category":"photo","max_zoom":21},"type":"Feature","geometry":{"coordinates":[[[4.96608,43.87043],[5.00016,43.83134],[5.00629,43.83413],[5.03698,43.79892],[5.07251,43.8058],[5.09655,43.8167],[5.10067,43.82041],[5.09234,43.8315],[5.09818,43.89159],[5.11079,43.90043],[5.11654,43.9052],[5.10006,43.92387],[5.10273,43.95471],[5.09225,43.96725],[5.11281,43.99938],[5.11882,44.02146],[5.10629,44.03572],[5.1123,44.0385],[5.10813,44.04322],[5.11461,44.04608],[5.09809,44.06561],[5.10453,44.06863],[5.10122,44.07255],[5.1074,44.07535],[5.07045,44.1177],[5.04646,44.12472],[5.03286,44.12136],[5.00782,44.11164],[4.97549,44.1489],[4.96814,44.14755],[4.92746,44.13406],[4.88866,44.13307],[4.8642,44.12488],[4.85768,44.13221],[4.85098,44.12925],[4.84094,44.14102],[4.85673,44.15358],[4.83141,44.18276],[4.81725,44.18516],[4.79597,44.17519],[4.77494,44.16214],[4.72601,44.15186],[4.71863,44.1452],[4.76515,44.09166],[4.75927,44.08888],[4.76554,44.08149],[4.75923,44.07865],[4.83077,43.99659],[4.80807,43.98615],[4.80043,43.96484],[4.78035,43.9557],[4.77168,43.94105],[4.74842,43.93351],[4.74258,43.92807],[4.7552,43.91299],[4.79914,43.90575],[4.8182,43.90767],[4.90557,43.87984],[4.96608,43.87043]]],"type":"Polygon"}}, +{"properties":{"name":"Eurométropole de Strasbourg - Orthophotographie 2022","id":"EMS-Orthophotographie-2022","url":"https://www.datagrandest.fr/geoserver/ems/ows?LAYERS=EMS_Ortho_2022&STYLES=&CRS={proj}&BBOX={bbox}&FORMAT=image/jpeg&WIDTH={width}&HEIGHT={height}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap","attribution":{"required":true,"text":"Ville et eurométropole de Strasbourg - DataGrandEst 2022","url":"https://data.strasbourg.eu/explore/dataset/service-wms-des-orthophotographies/information/"},"type":"wms","category":"photo","min_zoom":3,"max_zoom":22,"best":true},"type":"Feature","geometry":{"coordinates":[[[7.53675,48.59625],[7.53675,48.5955],[7.537,48.5945],[7.53825,48.59375],[7.5385,48.59225],[7.53925,48.592],[7.5395,48.59],[7.5405,48.58825],[7.54225,48.587],[7.54375,48.5865],[7.54425,48.58575],[7.5435,48.58525],[7.5435,48.58375],[7.544,48.58325],[7.54575,48.5835],[7.55125,48.58275],[7.5515,48.582],[7.552,48.58175],[7.556,48.58125],[7.561,48.58175],[7.56225,48.58125],[7.56625,48.5815],[7.5725,48.581],[7.57325,48.58125],[7.57925,48.5805],[7.588,48.57875],[7.5815,48.577],[7.57925,48.576],[7.57325,48.575],[7.5725,48.5745],[7.57225,48.5675],[7.5715,48.56525],[7.57,48.563],[7.569,48.5605],[7.56925,48.5595],[7.57075,48.55925],[7.57075,48.55875],[7.57225,48.5575],[7.57325,48.5575],[7.57425,48.5565],[7.576,48.556],[7.57625,48.5555],[7.57925,48.55625],[7.5805,48.55775],[7.58675,48.55575],[7.586,48.554],[7.586,48.55275],[7.58625,48.55125],[7.587,48.55075],[7.58775,48.551],[7.59125,48.5505],[7.59375,48.54925],[7.59525,48.549],[7.59825,48.54925],[7.5985,48.54975],[7.59925,48.54975],[7.6,48.551],[7.6015,48.551],[7.602,48.5515],[7.602,48.5525],[7.60275,48.55225],[7.604,48.5495],[7.605,48.54925],[7.605,48.54825],[7.6035,48.54775],[7.6035,48.5465],[7.605,48.54425],[7.60425,48.54325],[7.60475,48.54175],[7.60525,48.5415],[7.60625,48.53875],[7.60725,48.5385],[7.60725,48.538],[7.606,48.5375],[7.60575,48.536],[7.607,48.53475],[7.60825,48.535],[7.61,48.53075],[7.612,48.52925],[7.6125,48.5255],[7.6115,48.52575],[7.61075,48.52525],[7.61025,48.52225],[7.59275,48.51275],[7.5915,48.51475],[7.588,48.5145],[7.586,48.514],[7.5855,48.5135],[7.5855,48.5125],[7.58775,48.5075],[7.5875,48.507],[7.58875,48.505],[7.58925,48.50275],[7.593,48.49725],[7.59325,48.49625],[7.59225,48.49575],[7.59225,48.495],[7.59325,48.493],[7.593,48.4915],[7.5915,48.49075],[7.5915,48.48825],[7.591,48.48725],[7.59075,48.485],[7.6085,48.474],[7.612,48.47575],[7.61475,48.476],[7.61525,48.47575],[7.62075,48.47725],[7.6245,48.47775],[7.62525,48.47825],[7.629,48.47775],[7.63225,48.478],[7.63275,48.47825],[7.63375,48.48125],[7.63525,48.48225],[7.63725,48.482],[7.6375,48.481],[7.63825,48.4805],[7.6385,48.4795],[7.63825,48.47825],[7.639,48.4775],[7.63925,48.4765],[7.64225,48.476],[7.644,48.477],[7.64575,48.47525],[7.64825,48.475],[7.64925,48.476],[7.6535,48.47625],[7.6545,48.47675],[7.655,48.4775],[7.65675,48.478],[7.65725,48.47875],[7.65725,48.48025],[7.6605,48.4835],[7.66175,48.484],[7.66425,48.484],[7.66775,48.48675],[7.6775,48.4865],[7.6785,48.485],[7.68025,48.4845],[7.682,48.485],[7.683,48.48625],[7.68325,48.48575],[7.68225,48.48475],[7.68225,48.48375],[7.68275,48.483],[7.68375,48.4825],[7.689,48.48275],[7.68925,48.48175],[7.69375,48.48125],[7.6945,48.4805],[7.697,48.4805],[7.69725,48.481],[7.6975,48.48075],[7.6975,48.48],[7.695,48.47875],[7.69475,48.47825],[7.695,48.475],[7.6945,48.47425],[7.695,48.4735],[7.693,48.47175],[7.69275,48.47075],[7.69375,48.469],[7.6935,48.46625],[7.6945,48.4645],[7.694,48.46125],[7.69525,48.45975],[7.69525,48.45825],[7.69575,48.45725],[7.6935,48.45525],[7.69225,48.45275],[7.69275,48.452],[7.694,48.45175],[7.694,48.45075],[7.6945,48.45],[7.6985,48.449],[7.7015,48.44875],[7.702,48.45025],[7.7025,48.45025],[7.70375,48.453],[7.707,48.45025],[7.71725,48.44875],[7.73175,48.4435],[7.73625,48.44425],[7.73725,48.445],[7.73775,48.44625],[7.7415,48.447],[7.7425,48.448],[7.74425,48.4475],[7.739,48.44225],[7.73875,48.44025],[7.73925,48.43825],[7.75125,48.43325],[7.75375,48.433],[7.762,48.4465],[7.76525,48.45375],[7.7665,48.4575],[7.76775,48.464],[7.76825,48.4875],[7.76875,48.48875],[7.771,48.491],[7.7735,48.49225],[7.78275,48.496],[7.79025,48.49825],[7.7965,48.5015],[7.80125,48.50575],[7.80575,48.51225],[7.8065,48.5145],[7.80775,48.51975],[7.80775,48.5235],[7.805,48.53325],[7.8045,48.536],[7.8045,48.5395],[7.80675,48.54975],[7.8065,48.56],[7.80625,48.56275],[7.805,48.56775],[7.80175,48.5765],[7.80125,48.579],[7.8015,48.5845],[7.80325,48.58875],[7.80575,48.59225],[7.82975,48.61725],[7.833,48.62225],[7.834,48.6245],[7.83875,48.638],[7.84025,48.6405],[7.8435,48.64375],[7.848,48.646],[7.85325,48.647],[7.863,48.65],[7.88625,48.6595],[7.891,48.662],[7.8945,48.6645],[7.89675,48.6665],[7.89675,48.66725],[7.893,48.67],[7.8925,48.671],[7.8915,48.67175],[7.88775,48.67175],[7.888,48.67275],[7.889,48.6735],[7.8885,48.67575],[7.8875,48.6765],[7.88575,48.67675],[7.8805,48.676],[7.8775,48.674],[7.875,48.67425],[7.87475,48.675],[7.873,48.67625],[7.8665,48.676],[7.86475,48.67625],[7.8615,48.67475],[7.8605,48.674],[7.8605,48.6735],[7.85975,48.6735],[7.85875,48.67225],[7.85875,48.67025],[7.85775,48.66925],[7.858,48.668],[7.8585,48.66775],[7.855,48.667],[7.85425,48.668],[7.8535,48.66825],[7.85325,48.668],[7.8525,48.6695],[7.852,48.66975],[7.847,48.67025],[7.8465,48.67075],[7.84575,48.67075],[7.84475,48.67175],[7.8435,48.6715],[7.84275,48.67325],[7.842,48.674],[7.84375,48.67475],[7.84375,48.67575],[7.842,48.6775],[7.83925,48.67925],[7.8345,48.682],[7.83125,48.68075],[7.8185,48.6885],[7.8175,48.6885],[7.796,48.67025],[7.785,48.671],[7.78075,48.67075],[7.77825,48.66975],[7.778,48.67025],[7.77525,48.671],[7.771,48.67125],[7.769,48.66975],[7.76775,48.6675],[7.7655,48.66825],[7.76475,48.66975],[7.7625,48.6705],[7.7615,48.67175],[7.76025,48.6725],[7.75725,48.6735],[7.754,48.67425],[7.75075,48.67425],[7.74875,48.67325],[7.747,48.67375],[7.74825,48.67825],[7.7475,48.6805],[7.748,48.68125],[7.74825,48.68325],[7.74825,48.68675],[7.74775,48.6875],[7.723,48.6885],[7.72025,48.688],[7.719,48.68725],[7.71625,48.687],[7.71275,48.7025],[7.71175,48.70325],[7.7115,48.703],[7.70925,48.70325],[7.709,48.70275],[7.707,48.7025],[7.70575,48.70075],[7.703,48.7],[7.70025,48.69825],[7.6985,48.69825],[7.69625,48.6975],[7.695,48.696],[7.694,48.6955],[7.69325,48.6955],[7.6925,48.69625],[7.6925,48.69725],[7.6915,48.69775],[7.688,48.6965],[7.68725,48.69575],[7.68575,48.69575],[7.68425,48.69425],[7.68425,48.69375],[7.683,48.69325],[7.67725,48.6935],[7.6765,48.69275],[7.6765,48.6915],[7.67175,48.6905],[7.67125,48.6895],[7.66825,48.68875],[7.6675,48.68775],[7.668,48.6845],[7.669,48.684],[7.6695,48.683],[7.672,48.68175],[7.673,48.68025],[7.67425,48.67975],[7.67375,48.67725],[7.67425,48.6755],[7.677,48.67525],[7.67775,48.67575],[7.6815,48.675],[7.6815,48.6735],[7.682,48.67275],[7.6825,48.67275],[7.6825,48.672],[7.683,48.67175],[7.68325,48.671],[7.68375,48.6705],[7.6855,48.6705],[7.68525,48.66975],[7.684,48.66975],[7.6835,48.67025],[7.682,48.67],[7.68025,48.66925],[7.67975,48.66825],[7.6765,48.66825],[7.67575,48.66775],[7.67525,48.66625],[7.67125,48.665],[7.67075,48.664],[7.6695,48.6635],[7.669,48.663],[7.6685,48.661],[7.66925,48.66025],[7.66925,48.659],[7.67075,48.6585],[7.67,48.65725],[7.67025,48.65575],[7.669,48.65625],[7.668,48.6555],[7.6675,48.65375],[7.66775,48.653],[7.67225,48.651],[7.674,48.65075],[7.6745,48.65025],[7.67725,48.6495],[7.67875,48.647],[7.681,48.647],[7.681,48.64625],[7.6815,48.64575],[7.68525,48.64375],[7.68875,48.6435],[7.68925,48.64275],[7.69,48.6425],[7.6915,48.643],[7.693,48.6415],[7.6955,48.6415],[7.696,48.63975],[7.6965,48.6395],[7.7,48.6395],[7.70025,48.6385],[7.69925,48.63675],[7.6975,48.63575],[7.6965,48.6345],[7.694,48.6335],[7.693,48.6335],[7.69125,48.63225],[7.6915,48.62925],[7.69025,48.6285],[7.68925,48.6265],[7.68825,48.62625],[7.68775,48.623],[7.688,48.622],[7.68625,48.62075],[7.68425,48.621],[7.6835,48.62075],[7.68075,48.622],[7.679,48.62225],[7.67625,48.621],[7.66825,48.6135],[7.662,48.61275],[7.65575,48.61125],[7.65525,48.61175],[7.65325,48.61175],[7.6515,48.61275],[7.649,48.6135],[7.64625,48.61325],[7.6435,48.6135],[7.64025,48.613],[7.6315,48.6085],[7.6315,48.60725],[7.63325,48.60525],[7.63325,48.60375],[7.631,48.6035],[7.63075,48.6025],[7.63125,48.60175],[7.629,48.6015],[7.6285,48.601],[7.6285,48.60025],[7.62925,48.59925],[7.62875,48.599],[7.6275,48.6],[7.6245,48.599],[7.62,48.59875],[7.61975,48.5975],[7.62,48.597],[7.615,48.596],[7.60825,48.594],[7.60775,48.5935],[7.60775,48.5925],[7.60825,48.592],[7.59975,48.59],[7.59925,48.5905],[7.5985,48.5905],[7.593,48.59],[7.5905,48.58975],[7.59,48.5895],[7.59,48.589],[7.58925,48.589],[7.58875,48.5895],[7.58775,48.58925],[7.58725,48.58975],[7.5855,48.58975],[7.5845,48.59025],[7.58275,48.59025],[7.581,48.591],[7.57875,48.59125],[7.576,48.5935],[7.572,48.5935],[7.572,48.594],[7.56825,48.59825],[7.56775,48.5995],[7.56825,48.6],[7.5675,48.60175],[7.56625,48.60175],[7.56525,48.60325],[7.562,48.60275],[7.561,48.603],[7.5555,48.60175],[7.551,48.602],[7.5375,48.59725],[7.53675,48.59625]]],"type":"Polygon"}}, {"properties":{"name":"Cadastre","id":"Cadastre","url":"https://tms.cadastre.openstreetmap.fr/*/tout/{zoom}/{x}/{y}.png","attribution":{"required":true,"text":"cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2021","url":"https://wiki.openstreetmap.org/wiki/WikiProject_Cadastre_Fran%C3%A7ais/Conditions_d%27utilisation"},"type":"tms","category":"map","min_zoom":12,"max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[[-51.53687,4.11633],[-51.52039,4.51072],[-52.46522,5.4465],[-53.89344,6.004],[-54.58008,4.95962],[-54.42078,4.00127],[-54.12964,3.59567],[-54.12415,3.46408],[-54.31641,3.20085],[-54.31092,2.80589],[-54.8053,2.27358],[-54.20106,2.03205],[-53.72864,2.21869],[-52.92664,2.07597],[-52.641,2.25162],[-52.2345,3.10213],[-51.53687,4.11633]]],[[[-61.27501,14.90218],[-61.27622,14.36803],[-60.72489,14.36686],[-60.72368,14.90101],[-61.27501,14.90218]]],[[[-61.92802,16.58618],[-61.92686,15.7394],[-60.88128,15.74072],[-60.88243,16.5875],[-61.92802,16.58618]]],[[[55.09434,-21.49651],[55.96576,-21.49],[55.95959,-20.77281],[55.08816,-20.77935],[55.09434,-21.49651]]],[[[44.92054,-12.57363],[44.92502,-13.11963],[45.35274,-13.1163],[45.34826,-12.57029],[44.92054,-12.57363]]],[[[2.35816,51.32937],[1.31,50.88],[-2.25,50.09],[-6.3,48.98],[-2.7,43.9],[-1.7835,43.39686],[-1.78509,43.39037],[-1.80099,43.37017],[-1.79156,43.34067],[-1.76297,43.32565],[-1.75606,43.31966],[-1.73359,43.28856],[-1.66953,43.30065],[-1.65,43.29323],[-1.61053,43.24223],[-1.57149,43.2412],[-1.54626,43.2737],[-1.52629,43.28099],[-1.40868,43.25591],[-1.39531,43.24596],[-1.39411,43.22935],[-1.42732,43.1404],[-1.43479,43.13087],[-1.47641,43.10248],[-1.48311,43.08561],[-1.4775,43.06889],[-1.43868,43.03371],[-1.3542,43.0197],[-1.33135,43.0496],[-1.31992,43.05696],[-1.30643,43.05531],[-1.26236,43.03303],[-1.22612,43.03898],[-1.21622,43.0381],[-1.16736,43.02083],[-1.15845,43.01452],[-1.14775,43.00124],[-1.1156,43.00461],[-1.10852,43.00409],[-1.02313,42.98206],[-0.94508,42.94192],[-0.82114,42.93865],[-0.77253,42.95284],[-0.75711,42.95107],[-0.7476,42.93879],[-0.73372,42.88666],[-0.68094,42.86775],[-0.67446,42.86392],[-0.56721,42.76937],[-0.54499,42.76906],[-0.50868,42.79935],[-0.48842,42.80255],[-0.44354,42.78453],[-0.39208,42.78766],[-0.31683,42.82635],[-0.29987,42.82697],[-0.16949,42.77157],[-0.06726,42.6848],[-0.01993,42.67389],[0.17919,42.72075],[0.18967,42.72039],[0.23972,42.70494],[0.24594,42.70175],[0.29571,42.66388],[0.32567,42.67274],[0.34912,42.69817],[0.35954,42.70415],[0.3715,42.70308],[0.43024,42.67863],[0.669,42.67901],[0.69192,42.70684],[0.67474,42.75286],[0.67409,42.76479],[0.69117,42.83186],[0.70017,42.84402],[0.71511,42.8464],[0.84606,42.8157],[0.92265,42.7797],[0.95073,42.78794],[0.95937,42.78852],[1.07564,42.77079],[1.08546,42.76635],[1.16554,42.69928],[1.23221,42.71248],[1.32364,42.7085],[1.33313,42.70563],[1.37335,42.68127],[1.38032,42.67415],[1.41936,42.60643],[1.43792,42.59264],[1.47238,42.59703],[1.4921,42.62502],[1.50444,42.6331],[1.54636,42.64166],[1.56069,42.6392],[1.60283,42.61382],[1.69377,42.60975],[1.71011,42.59992],[1.72479,42.57499],[1.7272,42.56103],[1.71561,42.50125],[1.72567,42.48452],[1.82774,42.47056],[1.88444,42.4477],[1.88459,42.44762],[1.88467,42.44761],[1.92089,42.43302],[1.93076,42.42442],[1.965,42.36473],[2.00861,42.33818],[2.09393,42.35474],[2.14881,42.40545],[2.16028,42.41065],[2.20526,42.41541],[2.20653,42.41526],[2.20694,42.41558],[2.25973,42.42117],[2.26719,42.42055],[2.41222,42.38021],[2.41933,42.37658],[2.47795,42.32986],[2.5338,42.32197],[2.56777,42.34173],[2.58106,42.34418],[2.66719,42.33008],[2.68585,42.34679],[2.68162,42.37263],[2.68378,42.3854],[2.69331,42.39417],[2.72928,42.40998],[2.7413,42.41128],[2.78424,42.40256],[2.87019,42.44653],[2.87822,42.4487],[3.02214,42.45645],[3.03402,42.45331],[3.0944,42.41457],[3.16081,42.42757],[3.17358,42.41768],[5.8,41.64],[8.94186,41.27688],[9.27311,41.29196],[9.36968,41.35052],[9.63227,41.43244],[9.8,43.1],[7.53622,43.79234],[7.51594,43.84915],[7.51649,43.86397],[7.5271,43.87434],[7.56858,43.89159],[7.58419,43.93287],[7.59624,43.94466],[7.66016,43.9672],[7.68077,44.0164],[7.68603,44.02371],[7.72403,44.05704],[7.72786,44.08615],[7.69445,44.12276],[7.68937,44.13869],[7.69422,44.17795],[7.68608,44.1861],[7.63989,44.18928],[7.6162,44.16827],[7.60548,44.1634],[7.56478,44.15817],[7.5642,44.15836],[7.56283,44.15792],[7.37776,44.13416],[7.36278,44.13834],[7.33878,44.1574],[7.27537,44.15947],[7.26053,44.16682],[7.24533,44.18544],[7.1651,44.22112],[7.07312,44.2461],[7.03259,44.2424],[7.01983,44.24558],[7.01181,44.256],[6.99909,44.29414],[6.91637,44.36804],[6.90972,44.38195],[6.90907,44.39477],[6.91223,44.40659],[6.92167,44.41436],[6.95872,44.42908],[6.95894,44.43129],[6.87892,44.50245],[6.87233,44.5195],[6.88235,44.53479],[6.94659,44.57124],[6.97819,44.61784],[6.97056,44.64696],[6.97413,44.66431],[6.99007,44.67203],[7.07671,44.67134],[7.08666,44.68085],[7.08651,44.6968],[7.07224,44.72311],[7.0496,44.73226],[7.03711,44.75009],[7.03453,44.82282],[7.01795,44.84402],[6.93633,44.87461],[6.8798,44.86346],[6.86698,44.86519],[6.7942,44.90161],[6.78375,44.9146],[6.75744,45.01884],[6.69602,45.03395],[6.68237,45.04558],[6.66501,45.08667],[6.6653,45.10289],[6.67751,45.11356],[6.77056,45.14242],[6.78283,45.14228],[6.85843,45.11699],[6.90009,45.12689],[6.98106,45.19368],[6.99279,45.19823],[7.08417,45.20279],[7.14458,45.25048],[7.13649,45.30576],[7.14232,45.32298],[7.17075,45.35069],[7.19515,45.40409],[7.1856,45.41894],[7.13304,45.44001],[7.1228,45.44924],[7.1072,45.47877],[7.02774,45.5102],[7.0158,45.52354],[6.99643,45.59465],[6.9978,45.60877],[7.01151,45.63652],[7.00597,45.64945],[6.97131,45.66528],[6.94247,45.66172],[6.92419,45.66935],[6.90729,45.69124],[6.8414,45.71373],[6.83174,45.72082],[6.82787,45.73217],[6.82614,45.80353],[6.83102,45.81711],[6.84376,45.82387],[6.94097,45.83551],[6.99582,45.85822],[7.04394,45.92036],[7.04497,45.92064],[7.04533,45.92217],[7.05191,45.93066],[7.01556,46.00883],[6.94898,46.0699],[6.92001,46.07721],[6.90932,46.08406],[6.90491,46.09595],[6.90382,46.12971],[6.83427,46.14509],[6.82259,46.15261],[6.81863,46.16592],[6.82075,46.19862],[6.82698,46.21188],[6.86092,46.2439],[6.87504,46.28007],[6.86491,46.30038],[6.81095,46.33359],[6.80189,46.34639],[6.80484,46.36179],[6.81832,46.38181],[6.82244,46.42925],[6.74665,46.45695],[6.63047,46.47435],[6.50498,46.46871],[6.41748,46.42682],[6.41083,46.42495],[6.31648,46.41557],[6.23946,46.36705],[6.21219,46.32485],[6.21148,46.31057],[6.24707,46.24777],[6.24906,46.23299],[6.24026,46.22094],[6.13778,46.15702],[6.12468,46.15415],[6.05564,46.16288],[6.03509,46.15456],[6.01783,46.15564],[6.00787,46.16977],[6.00388,46.19332],[6.00681,46.20752],[6.01857,46.21601],[6.07717,46.23123],[6.08865,46.23081],[6.1103,46.22344],[6.13038,46.23737],[6.13371,46.30227],[6.13748,46.31297],[6.17817,46.36922],[6.16622,46.38839],[6.10829,46.41643],[6.09704,46.43317],[6.09572,46.45418],[6.10174,46.46979],[6.15811,46.52456],[6.16549,46.54399],[6.15152,46.56508],[6.14872,46.58069],[6.15817,46.59343],[6.46098,46.76887],[6.46722,46.79104],[6.45644,46.80534],[6.4535,46.8239],[6.47548,46.88771],[6.46686,46.91997],[6.46892,46.93522],[6.4812,46.9445],[6.62355,46.9811],[6.72561,47.0418],[6.76011,47.09953],[6.76907,47.10751],[6.85545,47.14636],[6.88913,47.18922],[6.89443,47.19393],[6.96134,47.23479],[6.96347,47.26233],[6.97424,47.27856],[7.05958,47.32257],[7.07007,47.35005],[7.05623,47.37035],[7.018,47.38386],[6.97126,47.37218],[6.95769,47.37359],[6.94818,47.38337],[6.94716,47.39698],[6.9551,47.40808],[7.003,47.44095],[7.01205,47.47287],[7.02102,47.48458],[7.03557,47.48695],[7.0801,47.47718],[7.12853,47.48893],[7.14279,47.48707],[7.15212,47.47612],[7.16708,47.4335],[7.24435,47.40939],[7.32653,47.4273],[7.38747,47.42111],[7.51256,47.48439],[7.54511,47.54283],[7.55424,47.55128],[7.58967,47.56755],[7.60016,47.60822],[7.537,47.67302],[7.53136,47.68564],[7.53526,47.6989],[7.55758,47.72899],[7.54418,47.77232],[7.54581,47.78793],[7.57267,47.83631],[7.5728,47.86435],[7.57554,47.87436],[7.63205,47.97081],[7.62437,47.99865],[7.59127,48.03035],[7.58522,48.04694],[7.59165,48.10648],[7.59605,48.11698],[7.67661,48.21555],[7.70241,48.28803],[7.71085,48.29841],[7.75159,48.32322],[7.74357,48.38427],[7.74506,48.39484],[7.78055,48.47652],[7.78547,48.48337],[7.81449,48.50968],[7.81456,48.57704],[7.81842,48.58883],[7.8484,48.62977],[7.85605,48.63606],[7.90422,48.65865],[7.98534,48.7409],[7.99071,48.74478],[8.10087,48.7993],[8.15824,48.89753],[8.20089,48.94339],[8.20888,48.94863],[8.23589,48.95817],[8.23704,48.97683],[8.2225,48.98787],[8.08069,49.00688],[7.93826,49.06832],[7.8673,49.05227],[7.85525,49.05329],[7.80291,49.07489],[7.76073,49.06067],[7.75401,49.05963],[7.6612,49.06119],[7.64722,49.06722],[7.6296,49.08527],[7.5579,49.09626],[7.54379,49.10572],[7.50113,49.17672],[7.45012,49.19517],[7.36095,49.18259],[7.29893,49.13856],[7.28683,49.13488],[7.1535,49.13839],[7.14315,49.14159],[7.10494,49.16634],[7.06908,49.16018],[7.05478,49.16313],[7.0463,49.17503],[7.04055,49.19794],[6.93753,49.23369],[6.89322,49.22389],[6.88453,49.2239],[6.85119,49.23136],[6.82982,49.21802],[6.83093,49.19366],[6.82473,49.17826],[6.80904,49.17284],[6.76026,49.17752],[6.74328,49.19086],[6.72996,49.22917],[6.67013,49.29269],[6.61627,49.31869],[6.60497,49.33739],[6.60639,49.37868],[6.5451,49.44384],[6.43515,49.487],[6.34423,49.48037],[6.334,49.48235],[6.24643,49.52511],[6.17397,49.52187],[6.09319,49.47787],[6.08635,49.47562],[6.01627,49.46597],[5.99801,49.47317],[5.97516,49.50129],[5.876,49.5114],[5.86126,49.52038],[5.8399,49.55321],[5.77526,49.57414],[5.71578,49.55361],[5.70676,49.55267],[5.641,49.56095],[5.6076,49.53761],[5.59311,49.53424],[5.55401,49.54025],[5.50666,49.52042],[5.49294,49.51979],[5.48205,49.52815],[5.43141,49.60791],[5.3544,49.64041],[5.344,49.65049],[5.33363,49.67308],[5.28157,49.70836],[5.19602,49.70732],[5.18761,49.70906],[5.1412,49.72984],[5.13458,49.73462],[5.09944,49.77323],[5.02686,49.78886],[5.01867,49.79272],[4.99534,49.81116],[4.91098,49.79926],[4.89769,49.80204],[4.88924,49.81266],[4.87625,49.85111],[4.87913,49.86942],[4.89755,49.89424],[4.89654,49.91753],[4.83343,49.96696],[4.82662,49.97692],[4.82678,49.989],[4.8433,50.03881],[4.84331,50.03883],[4.84331,50.03884],[4.85104,50.06216],[4.86277,50.0745],[4.88076,50.0815],[4.90426,50.12639],[4.90479,50.14451],[4.8815,50.16436],[4.83123,50.17941],[4.69517,50.10472],[4.66924,50.06972],[4.67293,50.02716],[4.66936,50.01392],[4.6581,50.00609],[4.45469,49.95251],[4.44542,49.9523],[4.30877,49.98145],[4.22164,49.97089],[4.20633,49.97546],[4.1765,50.00065],[4.16976,50.01217],[4.17177,50.02537],[4.18164,50.03436],[4.23193,50.05551],[4.24074,50.07102],[4.21195,50.13602],[4.1764,50.1547],[4.16601,50.16888],[4.17084,50.18579],[4.23078,50.25233],[4.22904,50.26664],[4.21444,50.28167],[4.14388,50.29727],[4.13761,50.29984],[4.02672,50.36904],[3.91317,50.34291],[3.90189,50.3436],[3.84109,50.36558],[3.74935,50.36279],[3.71576,50.33854],[3.70258,50.33482],[3.6901,50.34044],[3.68415,50.35277],[3.67378,50.45642],[3.61523,50.50558],[3.54779,50.51012],[3.53266,50.51873],[3.52173,50.53459],[3.4748,50.54445],[3.3898,50.50884],[3.37551,50.50839],[3.3056,50.53267],[3.29219,50.55037],[3.28922,50.60028],[3.26588,50.64054],[3.26576,50.6604],[3.27545,50.67757],[3.27051,50.70375],[3.22149,50.7267],[3.2154,50.73111],[3.14877,50.80195],[3.11412,50.80566],[3.09244,50.79092],[3.08218,50.78749],[3.00718,50.78377],[2.93508,50.75592],[2.9161,50.72418],[2.90492,50.71536],[2.89072,50.7162],[2.85265,50.73335],[2.81655,50.73092],[2.79995,50.73795],[2.73267,50.81738],[2.6511,50.82906],[2.63786,50.83696],[2.62781,50.85054],[2.62396,50.86071],[2.61962,50.91067],[2.62452,50.9256],[2.64225,50.94578],[2.63986,50.95766],[2.61558,50.99749],[2.59845,51.0051],[2.58741,51.01763],[2.57048,51.07409],[2.5488,51.09759],[2.35816,51.32937]]]],"type":"MultiPolygon"}}, {"properties":{"name":"Géolittoral - Orthophotos 2000","id":"Geolittoral-Orthophotos2000","url":"https://geolittoral.din.developpement-durable.gouv.fr/wxs?LAYERS=ortholittorale&STYLES=&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap","attribution":{"required":true,"text":"Ortho Littorale 2000 - Ministère en charge de l’environnement","url":"http://www.geocatalogue.fr/Detail.do?fileIdentifier=c86fbd16-a7c6-4053-af40-57acb684cbd7"},"type":"wms","category":"historicphoto"},"type":"Feature","geometry":{"coordinates":[[[[-2.27007,46.70705],[-2.29827,46.73286],[-2.41655,46.73711],[-2.41232,46.69242],[-2.37197,46.67611],[-2.26749,46.68033],[-2.27007,46.70705]]],[[[-3.19941,47.24492],[-3.16567,47.27751],[-3.08686,47.23612],[-3.00637,47.30855],[-3.26482,47.4295],[-3.3343,47.35928],[-3.29614,47.34133],[-3.31489,47.30057],[-3.19941,47.24492]]],[[[-3.06018,47.40542],[-2.82587,47.29635],[-2.78787,47.33417],[-3.02436,47.44563],[-3.06018,47.40542]]],[[[-0.7266,45.08425],[-0.56306,45.15178],[-0.94115,46.01474],[-1.07962,46.10959],[-1.01761,46.35917],[-1.42428,46.41675],[-1.62117,46.51513],[-1.68859,46.50392],[-1.87318,46.65484],[-1.84079,46.69651],[-2.01214,46.83436],[-2.08797,46.83007],[-1.88786,47.01239],[-2.0968,47.15548],[-2.03678,47.21942],[-1.77062,47.20451],[-1.74067,47.33507],[-2.36911,47.3339],[-2.32727,47.52634],[-3.76375,47.86403],[-3.88484,47.98172],[-4.26781,47.89977],[-4.31904,48.0141],[-4.1757,48.05165],[-4.06141,48.21805],[-4.25022,48.43088],[-4.6319,48.44727],[-4.63683,48.48299],[-4.44475,48.55852],[-4.15643,48.60792],[-3.95404,48.56051],[-3.21062,48.72097],[-3.00174,48.67646],[-2.76114,48.43471],[-1.28323,48.59731],[-1.30574,48.72531],[-1.48261,48.72607],[-1.51294,49.24691],[-1.74601,49.48155],[-1.77517,49.63398],[-1.4905,49.57139],[-1.29775,49.65946],[-1.27535,49.62056],[-1.39141,49.53985],[-1.25966,49.43463],[-1.27704,49.29022],[-1.05453,49.25175],[-0.9954,49.37133],[-0.74091,49.32438],[-0.38408,49.30495],[-0.24453,49.26312],[0.01718,49.25479],[0.19504,49.35736],[0.41115,49.3396],[0.57065,49.49622],[0.1709,49.53174],[0.24731,49.65027],[0.61607,49.79062],[1.05936,49.85],[1.70786,50.1282],[1.66458,50.82379],[1.7976,50.89906],[2.60683,51.05779],[2.59286,51.12124],[2.4521,51.12144],[1.64118,50.95919],[1.52549,50.85867],[1.53177,50.46437],[1.43908,50.11819],[1.05727,49.94904],[0.51713,49.86466],[0.12211,49.69292],[0.01801,49.54656],[0.02731,49.37619],[-0.12454,49.29353],[-0.24704,49.29995],[-0.38935,49.34167],[-0.74827,49.35976],[-0.93059,49.40804],[-1.1328,49.3934],[-1.27353,49.55245],[-1.17134,49.55412],[-1.1492,49.63504],[-1.28373,49.76067],[-1.61759,49.68498],[-2.00445,49.76087],[-2.03908,49.67872],[-1.9262,49.65573],[-1.85748,49.3253],[-1.8026,49.32721],[-1.71645,49.24781],[-1.61161,48.68582],[-1.80392,48.66126],[-1.80953,48.73178],[-2.0137,48.73221],[-2.17543,48.65016],[-2.28475,48.71909],[-2.67861,48.58841],[-3.02769,48.9275],[-3.40755,48.87366],[-3.40954,48.91866],[-3.54444,48.90297],[-3.53931,48.85834],[-3.65853,48.82527],[-3.6502,48.75356],[-3.94939,48.74715],[-3.96692,48.77978],[-4.63387,48.66373],[-4.83515,48.54319],[-4.81465,48.39413],[-5.10346,48.51722],[-5.19867,48.44926],[-4.84243,48.3005],[-4.65434,48.31049],[-4.67101,48.2331],[-4.57537,48.22488],[-4.5921,48.14758],[-4.49748,48.1453],[-4.46369,48.18468],[-4.31268,48.17694],[-4.30925,48.15009],[-4.38955,48.14543],[-4.385,48.10962],[-4.60147,48.11469],[-4.63576,48.07798],[-4.96938,48.08972],[-4.98565,47.99896],[-4.47962,47.9776],[-4.35162,47.7415],[-4.14314,47.78847],[-4.14781,47.82525],[-4.08765,47.84221],[-4.04125,47.83109],[-4.03798,47.79909],[-4.08989,47.78944],[-4.10163,47.70921],[-3.9162,47.67831],[-3.8945,47.72193],[-3.97956,47.76268],[-3.99722,47.7975],[-3.97236,47.81526],[-3.8959,47.79911],[-3.91168,47.75915],[-3.77595,47.7371],[-3.76577,47.76476],[-3.53384,47.72488],[-3.55087,47.63827],[-3.38912,47.59473],[-3.34074,47.66893],[-3.2876,47.67154],[-3.2967,47.63161],[-3.22791,47.61132],[-3.18803,47.48441],[-3.12502,47.42693],[-3.01653,47.49873],[-3.07113,47.51185],[-3.03383,47.53833],[-2.90369,47.50905],[-2.89321,47.4629],[-2.75771,47.43461],[-2.74787,47.47122],[-2.66727,47.46686],[-2.56779,47.24467],[-2.24489,47.18562],[-2.2647,47.10763],[-2.18487,47.10698],[-2.09013,47.06562],[-2.12563,47.01875],[-2.282,47.07631],[-2.39769,46.96718],[-2.23654,46.9337],[-2.16423,46.85534],[-2.1872,46.81857],[-1.75643,46.42214],[-1.51008,46.33888],[-1.58595,46.30426],[-1.64442,46.22375],[-1.60176,46.17019],[-1.36364,46.09146],[-1.48685,46.06042],[-1.16979,45.59107],[-1.30744,44.41847],[-1.16795,44.41097],[-1.21836,44.23033],[-1.33584,44.22832],[-1.40217,44.06461],[-1.35706,44.03374],[-1.58551,43.46856],[-1.82995,43.38484],[-1.77441,43.30357],[-1.6061,43.36012],[-1.60627,43.40591],[-1.42806,43.46812],[-1.43284,43.53152],[-1.34673,43.73688],[-1.3456,43.74214],[-1.34407,43.74875],[-1.33474,43.76946],[-1.30923,43.83498],[-1.30384,43.8424],[-1.30102,43.85159],[-1.28211,43.89254],[-1.2761,43.90655],[-1.28302,43.90624],[-1.28366,43.91514],[-1.3085,43.91439],[-1.3092,43.92337],[-1.32151,43.92296],[-1.32117,43.94094],[-1.28825,44.02304],[-1.27903,44.03937],[-1.24654,44.1162],[-1.21512,44.20558],[-1.15862,44.19865],[-0.95558,44.69982],[-0.99794,45.33779],[-0.87904,45.34094],[-0.7266,45.08425]]],[[[-1.69726,48.86173],[-1.701,48.91105],[-1.93993,48.91179],[-1.93966,48.86346],[-1.69726,48.86173]]]],"type":"MultiPolygon"}}, {"properties":{"name":"Géolittoral V2 - Orthophotos 2011-2014","id":"GeolittoralV2-Orthophotos","url":"https://geolittoral.din.developpement-durable.gouv.fr/wxs?LAYERS=ortholittorale_v2_rvb&STYLES=&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap","attribution":{"required":true,"text":"Ortho Littorale v2 - Ministère en charge de l’environnement","url":"http://www.geocatalogue.fr/Detail.do?fileIdentifier=345b8853-8090-4b06-bc91-a5a25df9a645"},"type":"wms","category":"historicphoto"},"type":"Feature","geometry":{"coordinates":[[[[6.45244,43.03504],[6.42477,43.02444],[6.35945,43.02321],[6.35178,42.99905],[6.39852,42.98048],[6.41178,42.9918],[6.47179,43.00725],[6.48364,43.02444],[6.52156,43.04318],[6.51121,43.05765],[6.46985,43.05461],[6.45244,43.03504]]],[[[3.041,42.51259],[3.04121,42.50093],[3.09086,42.50082],[3.14769,42.40072],[3.14949,42.40015],[3.15305,42.40052],[3.15804,42.40243],[3.1877,42.42805],[3.14227,42.5248],[3.06837,42.54635],[3.04884,42.6942],[3.0799,43.03073],[3.22641,43.18727],[3.40916,43.26032],[3.52104,43.25877],[3.66429,43.37628],[3.73841,43.39054],[4.00979,43.53607],[4.17692,43.45636],[4.54355,43.43349],[4.54943,43.35401],[4.83506,43.30891],[4.97506,43.38309],[5.03219,43.31928],[5.25919,43.31928],[5.31082,43.20504],[5.35682,43.18645],[5.36882,43.16785],[5.40232,43.16211],[5.41382,43.17123],[5.40919,43.19921],[5.54232,43.18827],[5.60582,43.14797],[5.6197,43.1529],[5.63832,43.17159],[5.67157,43.1674],[5.69095,43.13411],[5.77607,43.10637],[5.7762,43.09432],[5.75407,43.08328],[5.75707,43.0725],[5.77032,43.06465],[5.85933,43.03469],[5.8877,43.06273],[5.9567,43.06109],[5.96383,43.09277],[6.00033,43.09186],[6.01745,43.06849],[6.10233,43.07415],[6.10483,43.0526],[6.0666,43.04318],[6.06722,43.03785],[6.1427,43.00923],[6.15676,42.98715],[6.19635,42.97331],[6.22221,42.9801],[6.26891,42.99651],[6.25515,43.03627],[6.2019,43.02713],[6.18378,43.09188],[6.30153,43.09909],[6.32478,43.07974],[6.37778,43.08011],[6.38866,43.13395],[6.51341,43.14608],[6.57704,43.17881],[6.62291,43.14563],[6.69779,43.19969],[6.68016,43.23357],[6.72116,43.26007],[6.72241,43.27472],[6.67054,43.29192],[6.68741,43.33113],[6.72416,43.34267],[6.75291,43.409],[6.79104,43.39674],[6.90629,43.41672],[6.96767,43.50273],[6.96617,43.52812],[7.00617,43.53845],[7.03554,43.4982],[7.06892,43.5001],[7.09079,43.51642],[7.06267,43.53672],[7.08254,43.5456],[7.1238,43.53074],[7.1558,43.5437],[7.1433,43.62284],[7.16867,43.64636],[7.2138,43.63469],[7.25417,43.68497],[7.3403,43.66744],[7.36442,43.6894],[7.35305,43.7082],[7.4163,43.71091],[7.45405,43.74506],[7.4943,43.74524],[7.57943,43.78424],[7.60552,43.78603],[7.60368,43.78898],[7.59588,43.79528],[7.59628,43.79549],[7.53853,43.84195],[7.45996,43.79988],[7.44781,43.80934],[7.32353,43.74806],[7.30822,43.76357],[6.64878,43.3885],[6.66865,43.37178],[6.51003,43.27803],[6.56584,43.22509],[6.12681,43.10527],[5.48229,43.24939],[5.47267,43.2309],[5.41567,43.24657],[5.45267,43.3451],[4.80191,43.48158],[4.76416,43.39244],[4.65716,43.42368],[4.67228,43.45608],[4.43203,43.52419],[4.41453,43.49255],[4.16102,43.56433],[4.14452,43.57067],[4.14165,43.57393],[4.18677,43.59946],[4.10565,43.68196],[3.79689,43.52165],[3.77851,43.51313],[3.76464,43.50597],[3.76201,43.50334],[3.74226,43.49328],[3.71601,43.52075],[3.26213,43.28143],[3.24638,43.29735],[3.18388,43.28052],[3.10675,43.24083],[3.15475,43.19419],[2.90625,43.19383],[2.90675,42.76189],[2.94613,42.76208],[2.9465,42.61516],[2.99238,42.61497],[2.99238,42.5125],[3.041,42.51259]]],[[[-0.84388,46.06949],[-0.93455,46.10163],[-0.89497,46.15628],[-0.98385,46.18807],[-0.94235,46.24424],[-0.95481,46.2489],[-0.91261,46.3048],[-1.18192,46.39987],[-1.82473,46.62071],[-1.82678,46.64174],[-1.77535,46.64386],[-1.73652,46.66839],[-1.99529,46.86461],[-1.92891,46.90677],[-1.94723,46.92078],[-1.81066,47.00588],[-1.9925,47.14309],[-1.94019,47.1422],[-1.93975,47.13263],[-1.72612,47.13761],[-1.72553,47.12764],[-1.66971,47.12864],[-1.66897,47.11688],[-1.48582,47.11877],[-1.48567,47.11149],[-1.36054,47.11239],[-1.37211,47.33221],[-1.46003,47.32924],[-1.4612,47.33966],[-1.58531,47.33708],[-1.58355,47.29566],[-1.64011,47.29427],[-1.64084,47.30639],[-1.73418,47.305],[-1.73608,47.34304],[-1.82986,47.34165],[-1.8322,47.38184],[-1.92891,47.37956],[-1.92862,47.38254],[-2.01404,47.38095],[-2.01565,47.39623],[-2.13478,47.39107],[-2.13199,47.35852],[-2.29742,47.3618],[-2.29962,47.29784],[-2.35852,47.29854],[-2.38079,47.3039],[-2.36219,47.33837],[-2.34753,47.33499],[-2.30372,47.41755],[-2.32043,47.42092],[-2.30182,47.4568],[-2.25449,47.44501],[-2.17991,47.58642],[-3.6172,47.93124],[-4.1806,48.05569],[-4.21854,47.97726],[-4.21371,47.97598],[-4.23363,47.93497],[-4.25657,47.93997],[-4.35686,48.02305],[-4.18806,48.04061],[-4.18643,48.04389],[-4.20111,48.10285],[-4.17232,48.1065],[-4.18331,48.14934],[-4.16675,48.18247],[-4.06623,48.16028],[-4.03634,48.21958],[-4.0214,48.21606],[-3.98814,48.2867],[-4.04733,48.29918],[-4.01832,48.35685],[-4.16411,48.38936],[-4.13495,48.44868],[-4.38853,48.50473],[-4.35482,48.5118],[-4.38281,48.57349],[-4.05342,48.64412],[-4.01034,48.53179],[-3.02979,48.69115],[-2.70681,48.40746],[-2.54005,48.48747],[-2.54978,48.49647],[-2.47353,48.53326],[-2.49083,48.54924],[-2.43084,48.57852],[-2.42035,48.56954],[-2.40863,48.51618],[-2.3021,48.52433],[-2.2895,48.46102],[-2.03889,48.48191],[-2.04272,48.43601],[-1.92813,48.44096],[-1.92326,48.49187],[-1.84908,48.4975],[-1.85218,48.53086],[-1.2269,48.56824],[-1.23519,48.64435],[-1.25229,48.64353],[-1.2584,48.70421],[-1.30533,48.70216],[-1.31155,48.76408],[-1.45091,48.75725],[-1.47225,49.1822],[-1.43557,49.20326],[-1.47608,49.24027],[-1.47909,49.29233],[-1.5339,49.29098],[-1.72775,49.46509],[-1.77479,49.44333],[-1.81105,49.61757],[-1.44583,49.60689],[-1.24768,49.35025],[-1.34114,49.2975],[-1.26768,49.24099],[-1.19515,49.28183],[-1.16728,49.24545],[-0.99778,49.30149],[-0.82088,49.28331],[-0.3561,49.23214],[-0.45369,49.18792],[-0.38966,49.12726],[-0.19448,49.21463],[-0.03492,49.1973],[-0.02027,49.26036],[0.00508,49.25711],[0.00274,49.29076],[0.0675,49.28713],[0.07204,49.31532],[0.13769,49.3115],[0.14326,49.35532],[0.20817,49.35084],[0.21095,49.36658],[0.27689,49.36334],[0.28011,49.38433],[0.32846,49.38128],[0.32597,49.35456],[0.45843,49.34492],[0.45741,49.33938],[0.54254,49.33461],[0.54825,49.37851],[0.61478,49.37441],[0.63001,49.49666],[0.5632,49.49989],[0.56598,49.52045],[0.11117,49.54365],[0.13461,49.5809],[0.14765,49.57767],[0.20831,49.67269],[0.4281,49.75445],[0.42063,49.76297],[0.57961,49.82133],[0.9827,49.88916],[1.03838,49.84609],[1.42667,50.05276],[1.42462,50.01747],[1.54155,50.01267],[1.54565,50.06311],[1.80149,50.05116],[1.82156,50.24262],[1.72295,50.24702],[1.75357,50.5932],[1.65569,50.59729],[1.68089,50.8717],[1.7976,50.89906],[2.05937,50.94709],[2.07124,50.92022],[2.66071,51.0196],[2.59712,51.17355],[1.64118,50.95919],[1.52549,50.85867],[1.53177,50.46437],[1.43908,50.11819],[1.05727,49.94904],[0.51713,49.86466],[0.12211,49.69292],[0.01801,49.54656],[0.02731,49.37619],[-0.13342,49.31293],[-0.24976,49.3158],[-0.39014,49.3622],[-0.74429,49.36802],[-0.96463,49.42509],[-1.18545,49.54836],[-1.1492,49.63504],[-1.28373,49.76067],[-1.61759,49.68498],[-2.00445,49.76087],[-2.03908,49.67872],[-1.9262,49.65573],[-1.85748,49.3253],[-1.74277,49.24473],[-1.68714,48.93249],[-1.91027,48.92348],[-1.90304,48.86288],[-1.70557,48.84512],[-1.7243,48.75828],[-1.80953,48.73178],[-2.0137,48.73221],[-2.17543,48.65016],[-2.28475,48.71909],[-2.45786,48.70896],[-2.69353,48.76722],[-2.80207,48.79793],[-3.02769,48.9275],[-3.33344,48.90458],[-3.40954,48.91866],[-3.54444,48.90297],[-3.67013,48.89508],[-3.94939,48.74715],[-3.96692,48.77978],[-4.63117,48.66129],[-4.83515,48.54319],[-5.10346,48.51722],[-5.19867,48.44926],[-4.84243,48.3005],[-4.67101,48.2331],[-4.5921,48.14758],[-4.60147,48.11469],[-4.96938,48.08972],[-4.98565,47.99896],[-4.47962,47.9776],[-4.37619,47.71067],[-4.14314,47.78847],[-4.10163,47.70921],[-3.9162,47.67831],[-3.38912,47.59473],[-3.22791,47.61132],[-3.18803,47.48441],[-3.35602,47.32474],[-2.96742,47.22147],[-2.92848,47.28413],[-2.31733,47.16214],[-2.45286,46.93856],[-2.3233,46.83812],[-2.46561,46.71196],[-2.3466,46.62382],[-2.03483,46.61895],[-1.75643,46.42214],[-1.64442,46.22375],[-1.60176,46.17019],[-1.48685,46.06042],[-1.22511,45.44416],[-1.30744,44.41847],[-1.33584,44.22832],[-1.58531,43.489],[-1.72832,43.45033],[-1.80281,43.40425],[-1.79281,43.28038],[-1.76549,43.25548],[-1.59964,43.35423],[-1.34589,43.50606],[-1.37439,43.53109],[-1.31296,43.72951],[-1.39572,43.74301],[-1.30762,44.029],[-1.21853,44.03249],[-1.22689,44.14022],[-1.09916,44.1456],[-1.01408,44.56765],[-0.96035,44.56434],[-0.9404,44.7018],[-0.93365,44.76149],[-1.01946,44.76914],[-1.01514,44.80113],[-1.10761,44.80787],[-1.05039,45.18252],[-1.06412,45.36911],[-1.04828,45.36911],[-1.0524,45.31013],[-1.00247,45.30827],[-1.00163,45.24439],[-0.9328,45.24484],[-0.93438,45.18185],[-0.88171,45.18081],[-0.88393,45.12051],[-0.81838,45.11962],[-0.81584,45.05321],[-0.77764,45.05389],[-0.77838,44.99263],[-0.66628,44.99129],[-0.58798,44.66014],[-0.39048,44.68413],[-0.43541,44.87317],[-0.19387,44.78678],[-0.15491,44.84238],[-0.14521,44.8392],[-0.09266,44.91019],[-0.18925,44.94591],[-0.12252,45.02563],[-0.22,45.06771],[-0.2907,44.98278],[-0.41621,45.02696],[-0.41611,45.07089],[-0.45512,45.07161],[-0.45661,45.13325],[-0.49184,45.13315],[-0.49094,45.19577],[-0.55275,45.19661],[-0.55379,45.32344],[-0.58529,45.32334],[-0.58544,45.38596],[-0.61619,45.38586],[-0.61574,45.44695],[-0.63978,45.44747],[-0.63799,45.50892],[-0.688,45.50986],[-0.68755,45.60174],[-0.69397,45.60184],[-0.69695,45.62659],[-0.76264,45.6245],[-0.86666,45.8479],[-0.63498,45.76444],[-0.53787,45.89558],[-0.88241,46.01637],[-0.84388,46.06949]]]],"type":"MultiPolygon"}}, @@ -503,13 +504,19 @@ {"properties":{"name":"MSB Aerial Imagery - Area 2 (2020)","id":"MSB_Aerial_2020","url":"https://maps.matsugov.us/imagery/rest/services/Imagery/AerialMosaic_2020_half_foot_SP_Dyn/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&f={proj}","attribution":{"required":false,"text":"Matanuska-Susitna Borough GIS Division","url":"https://data1-msb.opendata.arcgis.com/pages/msb-aerial-imagery"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-150.15375,61.59868],[-150.15427,61.5734],[-150.07015,61.58566],[-149.93763,61.62908],[-149.56993,61.66658],[-149.56684,61.8025],[-149.84116,61.80364],[-149.8415,62.10051],[-149.81575,62.10035],[-149.81472,62.20235],[-149.74606,62.20267],[-149.74503,62.22668],[-149.79275,62.227],[-149.79275,62.38591],[-149.9857,62.38639],[-149.9857,62.58006],[-150.14259,62.57975],[-150.14191,62.61862],[-150.28439,62.61909],[-150.28336,62.56108],[-150.35854,62.5614],[-150.36541,62.19835],[-150.25177,62.19835],[-150.18757,62.13495],[-150.18723,62.02459],[-150.28233,62.02427],[-150.28267,61.96647],[-150.22242,61.96672],[-150.21881,61.59876],[-150.15375,61.59868]]],"type":"Polygon"}}, {"properties":{"name":"MSB Aerial Imagery - Area 3 (2021)","id":"MSB_Aerial_2021","url":"https://maps.matsugov.us/imagery/rest/services/Imagery/AerialMosaic_2021_SP_Dyn/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&f={proj}","attribution":{"required":false,"text":"Matanuska-Susitna Borough GIS Division","url":"https://data1-msb.opendata.arcgis.com/pages/msb-aerial-imagery"},"type":"wms","category":"historicphoto","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[[-150.02652,61.47393],[-149.94186,61.47393],[-149.74214,61.44809],[-149.42505,61.53612],[-149.35709,61.54134],[-149.12181,61.54181],[-149.09999,61.50907],[-149.03483,61.50521],[-148.97427,61.52225],[-148.96789,61.71455],[-149.24466,61.71623],[-149.24504,61.70444],[-149.346,61.70507],[-149.34658,61.67343],[-149.72009,61.65693],[-149.90481,61.65754],[-150.02652,61.47393]]],[[[-150.57351,61.40648],[-150.57308,61.43812],[-150.4693,61.43873],[-150.46884,61.51299],[-150.26741,61.51355],[-150.2674,61.528],[-150.21452,61.52772],[-150.22224,61.96671],[-150.28152,61.9666],[-150.28216,62.02425],[-150.18667,62.02443],[-150.18726,62.13459],[-150.2512,62.19819],[-150.36433,62.19821],[-150.35707,62.56092],[-151.09513,62.55967],[-151.09217,62.44059],[-150.75765,62.44115],[-150.74873,62.00333],[-150.56629,62.00334],[-150.56129,61.78838],[-150.77665,61.78752],[-150.62831,61.40625],[-150.57351,61.40648]]]],"type":"MultiPolygon"}}, {"properties":{"name":"MSB Aerial Imagery - Core Area (2022)","id":"MSB_Aerial_2022","url":"https://maps.matsugov.us/imagery/rest/services/Imagery/AerialMosaic_2022_SP_Dyn/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&f={proj}","attribution":{"required":false,"text":"Matanuska-Susitna Borough GIS Division","url":"https://data1-msb.opendata.arcgis.com/pages/msb-aerial-imagery"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-150.57351,61.40648],[-150.57308,61.43812],[-150.4693,61.43873],[-150.46884,61.51299],[-150.26741,61.51355],[-150.2674,61.528],[-150.21452,61.52772],[-150.22224,61.96671],[-150.28152,61.9666],[-150.28216,62.02425],[-150.18667,62.02443],[-150.18726,62.13459],[-150.2512,62.19819],[-150.36433,62.19821],[-150.35707,62.56092],[-151.09513,62.55967],[-151.09217,62.44059],[-150.75765,62.44115],[-150.74873,62.00333],[-150.56629,62.00334],[-150.56129,61.78838],[-150.77665,61.78752],[-150.62831,61.40625],[-150.57351,61.40648]]],"type":"Polygon"}}, +{"properties":{"name":"ADOP Orthoimagery 2023 (9in)","id":"ADOP_2023_9in","url":"https://gis.arkansas.gov/arcgis/rest/services/ImageServices/IMAGERY_9IN_2023/ImageServer/tile/{zoom}/{y}/{x}","attribution":{"required":false,"text":"Arkansas GIS Office","url":"https://gis.arkansas.gov/programs/arkansas-digital-ortho-program-adop/"},"type":"tms","category":"photo","min_zoom":3,"max_zoom":19,"best":true},"type":"Feature","geometry":{"coordinates":[[[-94.62579,35.74603],[-94.52734,35.74796],[-94.50009,34.34085],[-94.53191,34.34003],[-94.51743,33.47512],[-94.12992,33.47906],[-94.12479,33.12756],[-94.15742,33.12711],[-94.15575,32.99213],[-90.97741,32.98103],[-90.96769,33.41369],[-90.99973,33.41416],[-90.9974,33.52227],[-91.09411,33.5239],[-91.09199,33.60508],[-90.99544,33.60373],[-90.99225,33.73877],[-90.86277,33.73705],[-90.8568,33.98023],[-90.72697,33.9778],[-90.71972,34.24787],[-90.62187,34.24608],[-90.61903,34.35412],[-90.48868,34.35144],[-90.48048,34.62193],[-90.34976,34.61943],[-90.34624,34.72721],[-90.24791,34.725],[-90.24351,34.86019],[-90.11238,34.85701],[-90.10792,34.99226],[-89.97623,34.98904],[-89.96635,35.2591],[-89.99933,35.25985],[-89.99135,35.47607],[-89.85917,35.47274],[-89.85411,35.60798],[-89.72142,35.60441],[-89.71627,35.73915],[-89.61682,35.73644],[-89.59975,36.14142],[-89.89895,36.14973],[-89.90412,36.01468],[-90.23688,36.02241],[-90.23452,36.10408],[-90.10099,36.10119],[-90.09585,36.23561],[-89.99557,36.2331],[-89.98546,36.50334],[-91.15719,36.52708],[-91.15735,36.50003],[-94.64183,36.50323],[-94.62579,35.74603]]],"type":"Polygon"}}, {"properties":{"name":"PAgis 2018 Orthophotography","id":"PAgis_Ortho_2018","url":"https://www.pagis.org/arcgis/services/MAPS/AerialPhotos2018/MapServer/WmsServer?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"required":false,"text":"Pulaski Area Geographic Information System","url":"https://www.pagis.org/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-92.75493,34.84636],[-92.65777,34.84694],[-92.65707,34.75991],[-92.55161,34.76045],[-92.55115,34.6879],[-92.50721,34.6881],[-92.50707,34.66635],[-92.44561,34.66661],[-92.44535,34.6231],[-92.34887,34.62341],[-92.34865,34.5799],[-92.25224,34.58011],[-92.25195,34.49308],[-92.22567,34.49312],[-92.22565,34.48587],[-92.02421,34.48609],[-92.02425,34.62388],[-92.1032,34.62385],[-92.10322,34.66013],[-92.09447,34.66013],[-92.0945,34.69639],[-92.08575,34.69641],[-92.08574,34.71815],[-92.07696,34.71816],[-92.077,34.76893],[-92.06823,34.76896],[-92.06844,35.01555],[-92.23593,35.01534],[-92.23569,34.9283],[-92.26211,34.92825],[-92.26214,34.93548],[-92.42063,34.93503],[-92.42055,34.91331],[-92.45575,34.91313],[-92.47042,34.94247],[-92.48118,34.95006],[-92.49286,34.95245],[-92.52334,34.95063],[-92.55292,34.95626],[-92.55283,34.94176],[-92.64972,34.94127],[-92.64951,34.91225],[-92.75512,34.9116],[-92.75493,34.84636]]],"type":"Polygon"}}, {"properties":{"name":"PAgis 2021 Orthophotography","id":"PAgis_Ortho_2021","url":"https://www.pagis.org/arcgis/rest/services/MAPS/AerialPhotos2021/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Pulaski Area Geographic Information System","url":"https://www.pagis.org/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-92.75493,34.84636],[-92.65777,34.84694],[-92.65707,34.75991],[-92.55161,34.76045],[-92.55115,34.6879],[-92.50721,34.6881],[-92.50707,34.66635],[-92.44561,34.66661],[-92.44535,34.6231],[-92.34887,34.62341],[-92.34865,34.5799],[-92.25224,34.58011],[-92.25195,34.49308],[-92.22567,34.49312],[-92.22565,34.48587],[-92.02421,34.48609],[-92.02425,34.62388],[-92.1032,34.62385],[-92.10322,34.66013],[-92.09447,34.66013],[-92.0945,34.69639],[-92.08575,34.69641],[-92.08574,34.71815],[-92.07696,34.71816],[-92.077,34.76893],[-92.06823,34.76896],[-92.06844,35.01555],[-92.23593,35.01534],[-92.23569,34.9283],[-92.26211,34.92825],[-92.26214,34.93548],[-92.42063,34.93503],[-92.42055,34.91331],[-92.45575,34.91313],[-92.47042,34.94247],[-92.48118,34.95006],[-92.49286,34.95245],[-92.52334,34.95063],[-92.55292,34.95626],[-92.55283,34.94176],[-92.64972,34.94127],[-92.64951,34.91225],[-92.75512,34.9116],[-92.75493,34.84636]]],"type":"Polygon"}}, -{"properties":{"name":"Orange County Orthoimagery (2022)","id":"Orange_CA_2022","url":"https://www.ocgis.com/arcpub/rest/services/Aerial_Imagery_Countywide/22_OC_3IN_SP6/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Orange County","url":"https://data-ocpw.opendata.arcgis.com/"},"type":"wms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[-117.40675,33.65258],[-117.41167,33.65807],[-117.41071,33.65966],[-117.47392,33.70357],[-117.53261,33.71172],[-117.53453,33.7571],[-117.57703,33.76797],[-117.62354,33.81771],[-117.62326,33.82939],[-117.63365,33.82934],[-117.66137,33.86069],[-117.64525,33.86007],[-117.64502,33.86822],[-117.65849,33.87161],[-117.65928,33.87733],[-117.65249,33.88055],[-117.64208,33.88355],[-117.6457,33.88785],[-117.64609,33.89798],[-117.64819,33.908],[-117.65334,33.92379],[-117.67207,33.94484],[-117.68871,33.9677],[-117.6968,33.96046],[-117.70433,33.95814],[-117.71066,33.95831],[-117.71491,33.95995],[-117.71542,33.96594],[-117.72062,33.96538],[-117.72656,33.96306],[-117.72985,33.96153],[-117.73154,33.96527],[-117.73222,33.9694],[-117.72939,33.97319],[-117.72968,33.97585],[-117.73205,33.97964],[-117.73188,33.9832],[-117.73777,33.98185],[-117.74252,33.98202],[-117.75146,33.98881],[-117.75791,33.99582],[-117.76182,33.99339],[-117.7711,33.99356],[-117.77636,33.99679],[-117.78253,33.99848],[-117.79181,33.99447],[-117.80347,33.99696],[-117.80675,33.99922],[-117.81105,34.00075],[-117.81428,33.99486],[-117.81773,33.99124],[-117.82758,33.98456],[-117.83788,33.97387],[-117.8415,33.96954],[-117.84642,33.96756],[-117.84999,33.96892],[-117.85055,33.9722],[-117.85389,33.97474],[-117.85819,33.97537],[-117.86204,33.97469],[-117.86538,33.97146],[-117.86979,33.97237],[-117.88241,33.97605],[-117.89147,33.97457],[-117.89809,33.96999],[-117.91516,33.96788],[-117.91481,33.96184],[-117.92166,33.95748],[-117.93064,33.94779],[-117.97806,33.94711],[-117.97789,33.90411],[-117.98542,33.90405],[-117.98536,33.90484],[-117.98779,33.90473],[-117.98779,33.90264],[-117.99034,33.90264],[-117.99017,33.89692],[-117.99577,33.89698],[-117.99566,33.88956],[-118.00437,33.88962],[-118.00426,33.88238],[-118.01167,33.88232],[-118.0299,33.8744],[-118.03938,33.86656],[-118.03932,33.8637],[-118.04356,33.86365],[-118.04353,33.86002],[-118.04798,33.85994],[-118.04784,33.85485],[-118.05214,33.85485],[-118.05202,33.8512],[-118.05644,33.85122],[-118.05644,33.8476],[-118.06065,33.84746],[-118.06085,33.83538],[-118.06481,33.83187],[-118.06504,33.82021],[-118.07364,33.81614],[-118.08615,33.80363],[-118.08762,33.79718],[-118.10092,33.77641],[-118.09534,33.76801],[-118.0941,33.76484],[-118.09376,33.75941],[-118.1001,33.75896],[-118.10021,33.75567],[-118.11379,33.74809],[-118.13275,33.72455],[-117.58794,33.37667],[-117.58298,33.38562],[-117.58252,33.38548],[-117.58188,33.38662],[-117.58143,33.38677],[-117.57949,33.38567],[-117.57754,33.38518],[-117.57541,33.38534],[-117.56044,33.38835],[-117.55375,33.38867],[-117.55202,33.38847],[-117.55089,33.38819],[-117.54911,33.38836],[-117.54356,33.39068],[-117.54215,33.39156],[-117.53804,33.39501],[-117.53595,33.39645],[-117.53389,33.39691],[-117.53063,33.39685],[-117.52915,33.39663],[-117.52884,33.39748],[-117.52956,33.39927],[-117.52808,33.40189],[-117.52796,33.40478],[-117.53062,33.40817],[-117.53159,33.41485],[-117.53362,33.41751],[-117.53555,33.41813],[-117.53674,33.41949],[-117.53102,33.42187],[-117.527,33.4247],[-117.52451,33.43013],[-117.50352,33.44756],[-117.50069,33.45243],[-117.47754,33.46754],[-117.47664,33.47331],[-117.47658,33.47897],[-117.47398,33.48321],[-117.47285,33.48712],[-117.46945,33.49232],[-117.46509,33.49481],[-117.46215,33.49979],[-117.46317,33.54359],[-117.45513,33.55672],[-117.45513,33.57777],[-117.43001,33.60222],[-117.41428,33.63249],[-117.40675,33.65258]]],"type":"Polygon"}}, +{"properties":{"name":"Calaveras County Orthoimagery (2022)","id":"Calaveras_CA_2022","url":"https://gisportal.co.calaveras.ca.us/image/rest/services/CC_Aug2022_Cache/ImageServer/tile/{zoom}/{y}/{x}","attribution":{"required":false,"text":"Calaveras County","url":"https://www.calaverasgov.us/"},"type":"tms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[-120.93863,38.0883],[-120.65316,37.83286],[-120.64289,37.84152],[-120.63342,37.86085],[-120.59963,37.8788],[-120.59765,37.88824],[-120.58644,37.89615],[-120.56867,37.8946],[-120.56205,37.9141],[-120.54329,37.91982],[-120.53785,37.92597],[-120.53998,37.93616],[-120.53475,37.94475],[-120.51532,37.95114],[-120.52525,37.99398],[-120.50155,37.99129],[-120.49909,38.00811],[-120.46483,38.00861],[-120.43998,38.05969],[-120.43236,38.05926],[-120.42548,38.07309],[-120.41333,38.0829],[-120.40885,38.10273],[-120.38727,38.11559],[-120.38348,38.12668],[-120.37857,38.13029],[-120.37845,38.13555],[-120.37275,38.1365],[-120.37083,38.13906],[-120.37391,38.14489],[-120.37023,38.15154],[-120.35758,38.15427],[-120.35769,38.15846],[-120.36036,38.16077],[-120.35561,38.16371],[-120.35374,38.16371],[-120.34984,38.1703],[-120.34456,38.17022],[-120.34002,38.17233],[-120.33751,38.17806],[-120.33543,38.18498],[-120.33197,38.18865],[-120.33016,38.19523],[-120.326,38.19636],[-120.32527,38.19951],[-120.32247,38.20089],[-120.30164,38.22978],[-120.29201,38.23332],[-120.28939,38.24674],[-120.27258,38.25948],[-120.27274,38.26648],[-120.27039,38.27094],[-120.26591,38.27232],[-120.2607,38.27758],[-120.25542,38.28667],[-120.252,38.28701],[-120.24026,38.29489],[-120.2369,38.29857],[-120.23708,38.30205],[-120.23458,38.30364],[-120.2342,38.30616],[-120.23201,38.30679],[-120.22881,38.31429],[-120.22644,38.31471],[-120.22366,38.31877],[-120.21371,38.32306],[-120.20543,38.32922],[-120.17645,38.37125],[-120.15392,38.38673],[-120.12051,38.39965],[-120.08787,38.4034],[-120.07749,38.41086],[-120.03989,38.42611],[-120.02969,38.42469],[-120.01795,38.43568],[-120.05352,38.4555],[-120.07255,38.44722],[-120.07249,38.50987],[-120.12892,38.49716],[-120.21677,38.49795],[-120.22713,38.49047],[-120.23554,38.48974],[-120.24143,38.48504],[-120.24645,38.486],[-120.24749,38.48682],[-120.2528,38.48715],[-120.25366,38.48774],[-120.26092,38.48616],[-120.26272,38.48326],[-120.26363,38.48253],[-120.26488,38.4828],[-120.26939,38.47762],[-120.27267,38.47787],[-120.27563,38.47594],[-120.28343,38.47534],[-120.28599,38.47668],[-120.29482,38.47722],[-120.29795,38.4754],[-120.30094,38.4745],[-120.30451,38.47206],[-120.30603,38.47235],[-120.3201,38.47074],[-120.32175,38.46884],[-120.3308,38.46518],[-120.3332,38.46536],[-120.33805,38.46749],[-120.3512,38.46624],[-120.35296,38.46544],[-120.36356,38.46678],[-120.37133,38.46471],[-120.37642,38.46246],[-120.38464,38.46216],[-120.39099,38.46743],[-120.40012,38.46651],[-120.4124,38.47056],[-120.41619,38.47366],[-120.42297,38.47336],[-120.44357,38.462],[-120.44816,38.45288],[-120.48443,38.4458],[-120.49564,38.44944],[-120.50503,38.444],[-120.50727,38.43823],[-120.52051,38.42657],[-120.52366,38.4228],[-120.52782,38.42251],[-120.53033,38.41887],[-120.5377,38.41854],[-120.54058,38.42289],[-120.57207,38.41339],[-120.57448,38.40177],[-120.60848,38.39779],[-120.61509,38.3893],[-120.61734,38.37846],[-120.62022,38.35729],[-120.62822,38.35586],[-120.63191,38.34607],[-120.63287,38.33987],[-120.63885,38.34092],[-120.65929,38.33169],[-120.67434,38.33112],[-120.69932,38.31839],[-120.73829,38.30813],[-120.75131,38.29695],[-120.75361,38.29108],[-120.80613,38.2902],[-120.84894,38.25941],[-120.85694,38.24754],[-120.87924,38.24084],[-120.89424,38.22],[-120.91666,38.22964],[-120.95461,38.22012],[-120.99556,38.22528],[-120.93863,38.0883]]],"type":"Polygon"}}, +{"properties":{"name":"Orange County Orthoimagery (2022)","id":"Orange_CA_2022","url":"https://www.ocgis.com/survey/rest/services/Basemaps/Eagle_2022_3in_Aerial_Cached/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Orange County","url":"https://data-ocpw.opendata.arcgis.com/"},"type":"wms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[-117.40675,33.65258],[-117.41167,33.65807],[-117.41071,33.65966],[-117.47392,33.70357],[-117.53261,33.71172],[-117.53453,33.7571],[-117.57703,33.76797],[-117.62354,33.81771],[-117.62326,33.82939],[-117.63365,33.82934],[-117.66137,33.86069],[-117.64525,33.86007],[-117.64502,33.86822],[-117.65849,33.87161],[-117.65928,33.87733],[-117.65249,33.88055],[-117.64208,33.88355],[-117.6457,33.88785],[-117.64609,33.89798],[-117.64819,33.908],[-117.65334,33.92379],[-117.67207,33.94484],[-117.68871,33.9677],[-117.6968,33.96046],[-117.70433,33.95814],[-117.71066,33.95831],[-117.71491,33.95995],[-117.71542,33.96594],[-117.72062,33.96538],[-117.72656,33.96306],[-117.72985,33.96153],[-117.73154,33.96527],[-117.73222,33.9694],[-117.72939,33.97319],[-117.72968,33.97585],[-117.73205,33.97964],[-117.73188,33.9832],[-117.73777,33.98185],[-117.74252,33.98202],[-117.75146,33.98881],[-117.75791,33.99582],[-117.76182,33.99339],[-117.7711,33.99356],[-117.77636,33.99679],[-117.78253,33.99848],[-117.79181,33.99447],[-117.80347,33.99696],[-117.80675,33.99922],[-117.81105,34.00075],[-117.81428,33.99486],[-117.81773,33.99124],[-117.82758,33.98456],[-117.83788,33.97387],[-117.8415,33.96954],[-117.84642,33.96756],[-117.84999,33.96892],[-117.85055,33.9722],[-117.85389,33.97474],[-117.85819,33.97537],[-117.86204,33.97469],[-117.86538,33.97146],[-117.86979,33.97237],[-117.88241,33.97605],[-117.89147,33.97457],[-117.89809,33.96999],[-117.91516,33.96788],[-117.91481,33.96184],[-117.92166,33.95748],[-117.93064,33.94779],[-117.97806,33.94711],[-117.97789,33.90411],[-117.98542,33.90405],[-117.98536,33.90484],[-117.98779,33.90473],[-117.98779,33.90264],[-117.99034,33.90264],[-117.99017,33.89692],[-117.99577,33.89698],[-117.99566,33.88956],[-118.00437,33.88962],[-118.00426,33.88238],[-118.01167,33.88232],[-118.0299,33.8744],[-118.03938,33.86656],[-118.03932,33.8637],[-118.04356,33.86365],[-118.04353,33.86002],[-118.04798,33.85994],[-118.04784,33.85485],[-118.05214,33.85485],[-118.05202,33.8512],[-118.05644,33.85122],[-118.05644,33.8476],[-118.06065,33.84746],[-118.06085,33.83538],[-118.06481,33.83187],[-118.06504,33.82021],[-118.07364,33.81614],[-118.08615,33.80363],[-118.08762,33.79718],[-118.10092,33.77641],[-118.09534,33.76801],[-118.0941,33.76484],[-118.09376,33.75941],[-118.1001,33.75896],[-118.10021,33.75567],[-118.11379,33.74809],[-118.13275,33.72455],[-117.58794,33.37667],[-117.58298,33.38562],[-117.58252,33.38548],[-117.58188,33.38662],[-117.58143,33.38677],[-117.57949,33.38567],[-117.57754,33.38518],[-117.57541,33.38534],[-117.56044,33.38835],[-117.55375,33.38867],[-117.55202,33.38847],[-117.55089,33.38819],[-117.54911,33.38836],[-117.54356,33.39068],[-117.54215,33.39156],[-117.53804,33.39501],[-117.53595,33.39645],[-117.53389,33.39691],[-117.53063,33.39685],[-117.52915,33.39663],[-117.52884,33.39748],[-117.52956,33.39927],[-117.52808,33.40189],[-117.52796,33.40478],[-117.53062,33.40817],[-117.53159,33.41485],[-117.53362,33.41751],[-117.53555,33.41813],[-117.53674,33.41949],[-117.53102,33.42187],[-117.527,33.4247],[-117.52451,33.43013],[-117.50352,33.44756],[-117.50069,33.45243],[-117.47754,33.46754],[-117.47664,33.47331],[-117.47658,33.47897],[-117.47398,33.48321],[-117.47285,33.48712],[-117.46945,33.49232],[-117.46509,33.49481],[-117.46215,33.49979],[-117.46317,33.54359],[-117.45513,33.55672],[-117.45513,33.57777],[-117.43001,33.60222],[-117.41428,33.63249],[-117.40675,33.65258]]],"type":"Polygon"}}, {"properties":{"name":"Sacramento County Orthoimagery (2022)","id":"Sacramento_CA_2022","url":"https://mapservices.gis.saccounty.gov/ArcGIS/rest/services/Cache/IMAGERY_2022_WEB_MERCATOR/MapServer/tile/{zoom}/{y}/{x}","attribution":{"required":false,"text":"Sacramento County","url":"https://data.saccounty.gov/"},"type":"tms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[-121.75804,38.01591],[-121.75781,38.02314],[-121.7213,38.02314],[-121.72144,38.03025],[-121.71207,38.03018],[-121.71189,38.0375],[-121.69383,38.03729],[-121.69366,38.04475],[-121.68463,38.04461],[-121.68453,38.05184],[-121.67533,38.0519],[-121.67523,38.08822],[-121.64787,38.08803],[-121.64794,38.08077],[-121.62941,38.08082],[-121.62917,38.09531],[-121.61115,38.09522],[-121.61086,38.10237],[-121.60185,38.10231],[-121.60192,38.09511],[-121.55578,38.09499],[-121.55534,38.10975],[-121.57424,38.10981],[-121.57417,38.12409],[-121.565,38.12406],[-121.56504,38.13124],[-121.55574,38.13117],[-121.55564,38.13856],[-121.54658,38.13846],[-121.54638,38.14585],[-121.52807,38.14571],[-121.52807,38.16742],[-121.51883,38.16737],[-121.51854,38.19639],[-121.50942,38.19636],[-121.50936,38.20356],[-121.50025,38.20347],[-121.49997,38.22534],[-121.48173,38.22522],[-121.4815,38.23975],[-121.47245,38.23962],[-121.472,38.25419],[-121.43551,38.25395],[-121.4357,38.24681],[-121.42641,38.24673],[-121.4265,38.23222],[-121.41731,38.23214],[-121.41743,38.22497],[-121.32543,38.22452],[-121.32525,38.23162],[-121.28873,38.23146],[-121.28833,38.23866],[-121.27935,38.23862],[-121.2793,38.24591],[-121.25161,38.24558],[-121.25182,38.23844],[-121.21501,38.23835],[-121.21483,38.24549],[-121.19655,38.2453],[-121.19656,38.25257],[-121.15971,38.25237],[-121.15949,38.2596],[-121.14113,38.25951],[-121.14105,38.26674],[-121.12275,38.26644],[-121.12237,38.27384],[-121.10423,38.27365],[-121.10381,38.28096],[-121.07668,38.2807],[-121.07661,38.28798],[-121.06727,38.28775],[-121.06705,38.29508],[-121.05814,38.29503],[-121.05821,38.28775],[-121.03989,38.28753],[-121.03946,38.29486],[-121.0212,38.2948],[-121.01731,38.51237],[-121.02709,38.51257],[-121.02709,38.53387],[-121.03638,38.53387],[-121.03602,38.55582],[-121.04536,38.55597],[-121.04499,38.57043],[-121.05433,38.57029],[-121.05399,38.59949],[-121.06325,38.59957],[-121.06267,38.63581],[-121.07196,38.63595],[-121.07124,38.67941],[-121.08067,38.67952],[-121.08021,38.70128],[-121.08962,38.70137],[-121.08939,38.72305],[-121.19117,38.72378],[-121.19099,38.73101],[-121.3021,38.73177],[-121.30198,38.74628],[-121.48707,38.74711],[-121.48724,38.73998],[-121.58899,38.7404],[-121.58889,38.74754],[-121.60729,38.74776],[-121.6075,38.73318],[-121.62607,38.73343],[-121.62616,38.71877],[-121.64463,38.71884],[-121.64508,38.65355],[-121.62647,38.65338],[-121.62659,38.64629],[-121.60801,38.64596],[-121.6081,38.63174],[-121.5711,38.63142],[-121.57135,38.60255],[-121.58059,38.60271],[-121.58068,38.58084],[-121.59,38.5809],[-121.59057,38.49389],[-121.56268,38.49364],[-121.56299,38.47926],[-121.55367,38.47909],[-121.55388,38.47213],[-121.54449,38.47179],[-121.54447,38.46466],[-121.50752,38.46449],[-121.5078,38.44289],[-121.5261,38.44294],[-121.52632,38.43572],[-121.5354,38.43561],[-121.53582,38.4137],[-121.52637,38.41354],[-121.52644,38.38498],[-121.53575,38.38502],[-121.53599,38.35598],[-121.54511,38.35602],[-121.54528,38.34873],[-121.5636,38.34882],[-121.5636,38.34173],[-121.57293,38.34168],[-121.57293,38.3343],[-121.59123,38.33441],[-121.59157,38.32004],[-121.60047,38.31997],[-121.60056,38.30549],[-121.60992,38.30542],[-121.61041,38.21136],[-121.61954,38.21124],[-121.61975,38.19682],[-121.64709,38.19699],[-121.64725,38.18961],[-121.66551,38.18986],[-121.66565,38.18242],[-121.67471,38.18257],[-121.67478,38.17529],[-121.68418,38.17519],[-121.68418,38.16806],[-121.69318,38.16832],[-121.69348,38.13197],[-121.70278,38.13183],[-121.70287,38.11726],[-121.71191,38.11754],[-121.71203,38.08844],[-121.75762,38.08852],[-121.758,38.08133],[-121.77605,38.08119],[-121.77637,38.07387],[-121.78527,38.07412],[-121.78551,38.06673],[-121.82204,38.06696],[-121.82164,38.07396],[-121.83115,38.07436],[-121.83115,38.08153],[-121.84967,38.08161],[-121.84942,38.07412],[-121.86782,38.07407],[-121.86776,38.05961],[-121.84949,38.05955],[-121.84951,38.0379],[-121.84044,38.03783],[-121.84053,38.02338],[-121.82214,38.02322],[-121.82229,38.01604],[-121.75804,38.01591]]],"type":"Polygon"}}, {"properties":{"name":"San Bernardino County Orthoimagery (2023)","id":"San_Bernardino_CA_2023","url":"https://maps.sbcounty.gov/arcgis/rest/services/2023_PUA_Cache/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"San Bernardino County","url":"https://open.sbcounty.gov/"},"type":"wms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[-117.81374,33.9442],[-117.69709,33.86642],[-117.65711,33.86651],[-117.65702,33.87329],[-117.63812,33.87325],[-117.63785,33.91003],[-117.59357,33.90977],[-117.59357,33.96213],[-117.54077,33.9623],[-117.54037,34.01906],[-117.50421,34.01901],[-117.50385,34.00348],[-117.24117,34.00171],[-117.24259,33.98964],[-116.93838,33.9872],[-116.91388,34.02021],[-116.29299,34.01275],[-116.29303,34.01985],[-115.8132,34.01222],[-115.81142,34.25023],[-116.06097,34.25077],[-116.06043,34.31289],[-116.18796,34.31342],[-116.18947,34.2497],[-116.2507,34.25094],[-116.24973,34.31235],[-116.37583,34.3136],[-116.37459,34.37518],[-116.62529,34.37483],[-116.62493,34.43766],[-116.7513,34.43801],[-116.75024,34.49836],[-116.8759,34.50049],[-116.8759,34.56084],[-116.93696,34.56084],[-116.93909,34.62402],[-117.1258,34.62402],[-117.1258,34.75039],[-117.00156,34.75039],[-117.00085,34.81216],[-116.68705,34.81216],[-116.68847,34.7795],[-116.56281,34.78092],[-116.56281,35.001],[-116.93767,34.99958],[-116.93909,34.93711],[-117.12651,34.93711],[-117.12651,34.99887],[-117.18899,34.99887],[-117.1897,35.08194],[-117.37641,35.08336],[-117.37571,34.99958],[-117.50101,35.00029],[-117.50066,35.02807],[-117.65028,35.02878],[-117.65054,34.83647],[-117.6848,34.83665],[-117.68586,34.54664],[-117.67752,34.54628],[-117.6785,34.24242],[-117.74435,34.03893],[-117.78415,34.0388],[-117.82129,33.97903],[-117.82142,33.96381],[-117.81374,33.96377],[-117.81374,33.9442]]],"type":"Polygon"}}, -{"properties":{"name":"San Francisco Orthoimagery (2022)","id":"San_Francisco_CA_2022","url":"https://til.3dg.is/api/tiles/p2022_rgb8cm/{zoom}/{x}/{y}","attribution":{"required":false,"text":"City and County of San Francisco","url":"https://www.sf.gov/"},"type":"tms","category":"photo","min_zoom":10,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[[-122.5088,37.61997],[-122.45412,37.61999],[-122.45412,37.63449],[-122.50881,37.63447],[-122.5088,37.61997]]],[[[-122.41766,37.61998],[-122.40854,37.61998],[-122.40856,37.60548],[-122.39033,37.60547],[-122.39033,37.59822],[-122.35388,37.59819],[-122.35389,37.60544],[-122.34475,37.60543],[-122.34474,37.61994],[-122.36296,37.61996],[-122.36296,37.63444],[-122.38119,37.63446],[-122.38117,37.64172],[-122.41764,37.64173],[-122.41766,37.61998]]],[[[-122.50886,37.69972],[-122.39024,37.69972],[-122.39026,37.70697],[-122.36287,37.70695],[-122.36286,37.7142],[-122.35373,37.71419],[-122.35373,37.73593],[-122.36284,37.73594],[-122.36282,37.75045],[-122.37194,37.75045],[-122.37194,37.75771],[-122.38107,37.75772],[-122.38105,37.78671],[-122.37191,37.78671],[-122.3719,37.8012],[-122.33535,37.80119],[-122.33538,37.77943],[-122.31711,37.77941],[-122.31703,37.82291],[-122.36273,37.82295],[-122.36271,37.83743],[-122.38098,37.83746],[-122.38102,37.80847],[-122.3993,37.80847],[-122.39929,37.8157],[-122.41759,37.81574],[-122.41756,37.83023],[-122.43583,37.83025],[-122.43585,37.81573],[-122.4724,37.81573],[-122.4724,37.84472],[-122.4907,37.84472],[-122.49069,37.82297],[-122.48153,37.82298],[-122.48154,37.80848],[-122.49068,37.80848],[-122.49067,37.80123],[-122.49981,37.80122],[-122.4998,37.79398],[-122.51808,37.79396],[-122.51801,37.71421],[-122.50888,37.71422],[-122.50886,37.69972]]],[[[-122.45413,37.85923],[-122.44498,37.85923],[-122.44499,37.85198],[-122.41755,37.85198],[-122.41753,37.87373],[-122.45413,37.87373],[-122.45413,37.85923]]],[[[-122.43581,37.92447],[-122.41753,37.92445],[-122.41749,37.93897],[-122.43584,37.93897],[-122.43581,37.92447]]]],"type":"MultiPolygon"}}, +{"properties":{"name":"San Francisco Orthoimagery (2022)","id":"San_Francisco_CA_2022","url":"https://tile.sf.gov/api/tiles/p2022_rgb8cm/{zoom}/{x}/{y}","attribution":{"required":false,"text":"City and County of San Francisco","url":"https://www.sf.gov/"},"type":"tms","category":"historicphoto","min_zoom":10,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[[-122.5088,37.61997],[-122.45412,37.61999],[-122.45412,37.63449],[-122.50881,37.63447],[-122.5088,37.61997]]],[[[-122.41766,37.61998],[-122.40854,37.61998],[-122.40856,37.60548],[-122.39033,37.60547],[-122.39033,37.59822],[-122.35388,37.59819],[-122.35389,37.60544],[-122.34475,37.60543],[-122.34474,37.61994],[-122.36296,37.61996],[-122.36296,37.63444],[-122.38119,37.63446],[-122.38117,37.64172],[-122.41764,37.64173],[-122.41766,37.61998]]],[[[-122.50886,37.69972],[-122.39024,37.69972],[-122.39026,37.70697],[-122.36287,37.70695],[-122.36286,37.7142],[-122.35373,37.71419],[-122.35373,37.73593],[-122.36284,37.73594],[-122.36282,37.75045],[-122.37194,37.75045],[-122.37194,37.75771],[-122.38107,37.75772],[-122.38105,37.78671],[-122.37191,37.78671],[-122.3719,37.8012],[-122.33535,37.80119],[-122.33538,37.77943],[-122.31711,37.77941],[-122.31703,37.82291],[-122.36273,37.82295],[-122.36271,37.83743],[-122.38098,37.83746],[-122.38102,37.80847],[-122.3993,37.80847],[-122.39929,37.8157],[-122.41759,37.81574],[-122.41756,37.83023],[-122.43583,37.83025],[-122.43585,37.81573],[-122.4724,37.81573],[-122.4724,37.84472],[-122.4907,37.84472],[-122.49069,37.82297],[-122.48153,37.82298],[-122.48154,37.80848],[-122.49068,37.80848],[-122.49067,37.80123],[-122.49981,37.80122],[-122.4998,37.79398],[-122.51808,37.79396],[-122.51801,37.71421],[-122.50888,37.71422],[-122.50886,37.69972]]],[[[-122.45413,37.85923],[-122.44498,37.85923],[-122.44499,37.85198],[-122.41755,37.85198],[-122.41753,37.87373],[-122.45413,37.87373],[-122.45413,37.85923]]],[[[-122.43581,37.92447],[-122.41753,37.92445],[-122.41749,37.93897],[-122.43584,37.93897],[-122.43581,37.92447]]]],"type":"MultiPolygon"}}, +{"properties":{"name":"San Francisco Orthoimagery CIR (2022)","id":"San_Francisco_CA_2022_CIR","url":"https://tile.sf.gov/api/tiles/p2022_irg8cm/{zoom}/{x}/{y}","attribution":{"required":false,"text":"City and County of San Francisco","url":"https://www.sf.gov/"},"type":"tms","category":"historicphoto","min_zoom":10,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[[-122.5088,37.61997],[-122.45412,37.61999],[-122.45412,37.63449],[-122.50881,37.63447],[-122.5088,37.61997]]],[[[-122.41766,37.61998],[-122.40854,37.61998],[-122.40856,37.60548],[-122.39033,37.60547],[-122.39033,37.59822],[-122.35388,37.59819],[-122.35389,37.60544],[-122.34475,37.60543],[-122.34474,37.61994],[-122.36296,37.61996],[-122.36296,37.63444],[-122.38119,37.63446],[-122.38117,37.64172],[-122.41764,37.64173],[-122.41766,37.61998]]],[[[-122.50886,37.69972],[-122.39024,37.69972],[-122.39026,37.70697],[-122.36287,37.70695],[-122.36286,37.7142],[-122.35373,37.71419],[-122.35373,37.73593],[-122.36284,37.73594],[-122.36282,37.75045],[-122.37194,37.75045],[-122.37194,37.75771],[-122.38107,37.75772],[-122.38105,37.78671],[-122.37191,37.78671],[-122.3719,37.8012],[-122.33535,37.80119],[-122.33538,37.77943],[-122.31711,37.77941],[-122.31703,37.82291],[-122.36273,37.82295],[-122.36271,37.83743],[-122.38098,37.83746],[-122.38102,37.80847],[-122.3993,37.80847],[-122.39929,37.8157],[-122.41759,37.81574],[-122.41756,37.83023],[-122.43583,37.83025],[-122.43585,37.81573],[-122.4724,37.81573],[-122.4724,37.84472],[-122.4907,37.84472],[-122.49069,37.82297],[-122.48153,37.82298],[-122.48154,37.80848],[-122.49068,37.80848],[-122.49067,37.80123],[-122.49981,37.80122],[-122.4998,37.79398],[-122.51808,37.79396],[-122.51801,37.71421],[-122.50888,37.71422],[-122.50886,37.69972]]],[[[-122.45413,37.85923],[-122.44498,37.85923],[-122.44499,37.85198],[-122.41755,37.85198],[-122.41753,37.87373],[-122.45413,37.87373],[-122.45413,37.85923]]],[[[-122.43581,37.92447],[-122.41753,37.92445],[-122.41749,37.93897],[-122.43584,37.93897],[-122.43581,37.92447]]]],"type":"MultiPolygon"}}, +{"properties":{"name":"San Francisco Orthoimagery (2023)","id":"San_Francisco_CA_2023","url":"https://tile.sf.gov/api/tiles/p2023s_rgb/{zoom}/{x}/{y}","attribution":{"required":false,"text":"City and County of San Francisco","url":"https://www.sf.gov/"},"type":"tms","category":"photo","min_zoom":10,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[[-122.5088,37.61997],[-122.45412,37.61999],[-122.45412,37.63449],[-122.50881,37.63447],[-122.5088,37.61997]]],[[[-122.41766,37.61998],[-122.40854,37.61998],[-122.40856,37.60548],[-122.39033,37.60547],[-122.39033,37.59822],[-122.35388,37.59819],[-122.35389,37.60544],[-122.34475,37.60543],[-122.34474,37.61994],[-122.36296,37.61996],[-122.36296,37.63444],[-122.38119,37.63446],[-122.38117,37.64172],[-122.41764,37.64173],[-122.41766,37.61998]]],[[[-122.50886,37.69972],[-122.39024,37.69972],[-122.39026,37.70697],[-122.36287,37.70695],[-122.36286,37.7142],[-122.35373,37.71419],[-122.35373,37.73593],[-122.36284,37.73594],[-122.36282,37.75045],[-122.37194,37.75045],[-122.37194,37.75771],[-122.38107,37.75772],[-122.38105,37.78671],[-122.37191,37.78671],[-122.3719,37.8012],[-122.33535,37.80119],[-122.33538,37.77943],[-122.31711,37.77941],[-122.31703,37.82291],[-122.36273,37.82295],[-122.36271,37.83743],[-122.38098,37.83746],[-122.38102,37.80847],[-122.3993,37.80847],[-122.39929,37.8157],[-122.41759,37.81574],[-122.41756,37.83023],[-122.43583,37.83025],[-122.43585,37.81573],[-122.4724,37.81573],[-122.4724,37.84472],[-122.4907,37.84472],[-122.49069,37.82297],[-122.48153,37.82298],[-122.48154,37.80848],[-122.49068,37.80848],[-122.49067,37.80123],[-122.49981,37.80122],[-122.4998,37.79398],[-122.51808,37.79396],[-122.51801,37.71421],[-122.50888,37.71422],[-122.50886,37.69972]]],[[[-122.45413,37.85923],[-122.44498,37.85923],[-122.44499,37.85198],[-122.41755,37.85198],[-122.41753,37.87373],[-122.45413,37.87373],[-122.45413,37.85923]]],[[[-122.43581,37.92447],[-122.41753,37.92445],[-122.41749,37.93897],[-122.43584,37.93897],[-122.43581,37.92447]]]],"type":"MultiPolygon"}}, {"properties":{"name":"San Mateo County Orthoimagery (2022)","id":"San_Mateo_CA_2022","url":"https://gis.smcgov.org/image/rest/services/SanMateoCounty_Imagery2022/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"San Mateo County","url":"https://www.smcgov.org/"},"type":"wms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[-122.53756,37.6908],[-122.53704,37.12929],[-122.33985,37.13375],[-122.33933,37.11178],[-122.3187,37.11181],[-122.31847,37.10108],[-122.27737,37.10161],[-122.27826,37.13451],[-122.29889,37.13411],[-122.29974,37.17819],[-122.23801,37.17918],[-122.23867,37.21217],[-122.14608,37.21345],[-122.14785,37.30129],[-122.15835,37.30109],[-122.15861,37.31762],[-122.16904,37.31749],[-122.1693,37.33399],[-122.17976,37.33382],[-122.18003,37.35016],[-122.19059,37.35022],[-122.19095,37.37768],[-122.18058,37.37774],[-122.18189,37.43271],[-122.16123,37.43304],[-122.16156,37.44399],[-122.12023,37.44458],[-122.12036,37.45547],[-122.0791,37.4562],[-122.07923,37.47797],[-122.12095,37.47719],[-122.12187,37.5214],[-122.16333,37.52101],[-122.16372,37.54278],[-122.20453,37.542],[-122.20558,37.56378],[-122.24703,37.56299],[-122.2473,37.58529],[-122.28902,37.58503],[-122.28954,37.60654],[-122.331,37.60628],[-122.33205,37.64931],[-122.3735,37.64879],[-122.37511,37.71531],[-122.50244,37.71334],[-122.5019,37.6914],[-122.53756,37.6908]]],"type":"Polygon"}}, +{"properties":{"name":"Santa Clara County Orthoimagery (2022)","id":"Santa_Clara_CA_2022","url":"https://mapimages.sccgov.org/arcgis/rest/services/imagery/OrthoImagery2022/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"County of Santa Clara","url":"https://gis.sccgov.org/home"},"type":"wms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[-121.42509,36.92775],[-121.19004,36.92935],[-121.18983,36.93617],[-121.1815,36.93626],[-121.1814,36.94317],[-121.17286,36.94326],[-121.17339,36.97072],[-121.18182,36.97064],[-121.18182,36.9842],[-121.19047,36.98428],[-121.19079,37.01864],[-121.18214,37.01881],[-121.18236,37.03236],[-121.17382,37.03262],[-121.17392,37.04608],[-121.16528,37.04634],[-121.16528,37.08058],[-121.17424,37.08041],[-121.17446,37.09421],[-121.18289,37.09416],[-121.18294,37.10796],[-121.1743,37.10787],[-121.17472,37.13541],[-121.18332,37.13537],[-121.18337,37.14911],[-121.19202,37.14898],[-121.19202,37.16281],[-121.20066,37.16272],[-121.20085,37.17646],[-121.20939,37.17648],[-121.20945,37.18326],[-121.21804,37.18326],[-121.21804,37.19011],[-121.23524,37.19003],[-121.23533,37.19689],[-121.24387,37.19681],[-121.24397,37.2037],[-121.25256,37.20365],[-121.25264,37.21052],[-121.26983,37.21039],[-121.26983,37.21719],[-121.29555,37.21706],[-121.29566,37.21018],[-121.31266,37.21011],[-121.31258,37.20323],[-121.32123,37.20314],[-121.32126,37.21005],[-121.3299,37.20994],[-121.33006,37.21679],[-121.38141,37.21641],[-121.38168,37.23018],[-121.39022,37.23013],[-121.39038,37.24382],[-121.39892,37.24382],[-121.39913,37.25066],[-121.40756,37.25057],[-121.40788,37.27118],[-121.39075,37.27139],[-121.3907,37.27823],[-121.38216,37.27827],[-121.38237,37.29199],[-121.37378,37.29207],[-121.37388,37.29891],[-121.36524,37.29916],[-121.36577,37.34],[-121.3742,37.34008],[-121.37463,37.36758],[-121.36609,37.3677],[-121.36636,37.39506],[-121.37495,37.39493],[-121.37511,37.40871],[-121.38376,37.40871],[-121.38376,37.41558],[-121.39241,37.41546],[-121.39251,37.42232],[-121.41835,37.42207],[-121.41896,37.46337],[-121.42771,37.46315],[-121.42782,37.49073],[-121.43647,37.49069],[-121.43652,37.50441],[-121.44522,37.5042],[-121.44533,37.51118],[-121.47986,37.51093],[-121.48013,37.5177],[-121.89358,37.51364],[-121.89331,37.50678],[-121.90202,37.50665],[-121.9018,37.49967],[-122.04832,37.49785],[-122.04864,37.50483],[-122.05713,37.50471],[-122.05734,37.51156],[-122.10036,37.51101],[-122.1002,37.50415],[-122.10885,37.50403],[-122.10885,37.49708],[-122.13023,37.49687],[-122.13014,37.49342],[-122.13877,37.49338],[-122.13877,37.48986],[-122.16025,37.48961],[-122.1602,37.48614],[-122.17311,37.48593],[-122.17293,37.48248],[-122.1816,37.4824],[-122.18152,37.47899],[-122.19017,37.47884],[-122.19011,37.47541],[-122.19444,37.47534],[-122.1943,37.47191],[-122.1986,37.47187],[-122.1986,37.4684],[-122.20287,37.46836],[-122.20271,37.46494],[-122.20706,37.46488],[-122.20701,37.46141],[-122.21128,37.46132],[-122.21117,37.45791],[-122.21552,37.45793],[-122.21549,37.45444],[-122.21976,37.45442],[-122.21963,37.45094],[-122.22395,37.4509],[-122.22385,37.44399],[-122.22812,37.44382],[-122.22782,37.42674],[-122.23204,37.42674],[-122.23119,37.38892],[-122.23546,37.38892],[-122.2354,37.38201],[-122.23957,37.38192],[-122.23882,37.34421],[-122.23444,37.34429],[-122.23418,37.33746],[-122.23001,37.33755],[-122.22974,37.32371],[-122.23396,37.32367],[-122.23359,37.31004],[-122.22926,37.31004],[-122.229,37.29973],[-122.22483,37.29979],[-122.22473,37.29635],[-122.22043,37.29641],[-122.22032,37.2931],[-122.216,37.29314],[-122.21595,37.28958],[-122.21173,37.28979],[-122.21157,37.28631],[-122.20725,37.28635],[-122.2073,37.28291],[-122.20298,37.28304],[-122.20282,37.27955],[-122.19855,37.2796],[-122.19839,37.27616],[-122.19406,37.27624],[-122.19412,37.2728],[-122.18979,37.27276],[-122.18953,37.26605],[-122.18547,37.26618],[-122.18494,37.25917],[-122.18088,37.25921],[-122.18067,37.2525],[-122.1764,37.2525],[-122.17624,37.24905],[-122.17213,37.24901],[-122.17194,37.24559],[-122.16778,37.24568],[-122.16751,37.24228],[-122.16334,37.24236],[-122.16329,37.23896],[-122.15886,37.23901],[-122.15886,37.23556],[-122.15464,37.23565],[-122.15448,37.23208],[-122.14589,37.23225],[-122.14578,37.22885],[-122.14157,37.22881],[-122.14146,37.21865],[-122.13708,37.21869],[-122.13698,37.21533],[-122.13265,37.21537],[-122.13255,37.21193],[-122.12838,37.21197],[-122.12822,37.20862],[-122.12385,37.20874],[-122.12379,37.20509],[-122.11963,37.20509],[-122.11958,37.20173],[-122.1152,37.20173],[-122.11504,37.19841],[-122.11088,37.19846],[-122.11077,37.19505],[-122.10223,37.1951],[-122.1021,37.19167],[-122.09783,37.19178],[-122.09777,37.18834],[-122.09345,37.1884],[-122.09337,37.18491],[-122.08486,37.185],[-122.08478,37.18162],[-122.07618,37.18172],[-122.07594,37.17836],[-122.07188,37.17836],[-122.07162,37.175],[-122.06745,37.17509],[-122.06719,37.16471],[-122.06292,37.1648],[-122.06257,37.15101],[-122.05841,37.15108],[-122.05835,37.14765],[-122.05406,37.14767],[-122.05395,37.14429],[-122.04963,37.14429],[-122.04957,37.14089],[-122.04533,37.14091],[-122.04517,37.13748],[-122.03666,37.13763],[-122.03658,37.13419],[-122.02804,37.13429],[-122.0279,37.13087],[-122.02363,37.13089],[-122.02355,37.1241],[-122.01923,37.12412],[-122.01904,37.12072],[-122.01485,37.12078],[-122.0148,37.11733],[-122.00623,37.1174],[-122.00607,37.11395],[-121.99332,37.11412],[-121.99321,37.11071],[-121.98899,37.1108],[-121.98883,37.10735],[-121.98024,37.10748],[-121.98024,37.10395],[-121.97591,37.10403],[-121.97581,37.10071],[-121.963,37.10071],[-121.96284,37.09735],[-121.95438,37.09743],[-121.95435,37.094],[-121.94576,37.09415],[-121.94565,37.09071],[-121.93711,37.09083],[-121.937,37.08738],[-121.92852,37.08749],[-121.92838,37.08406],[-121.9199,37.08417],[-121.91974,37.08072],[-121.9113,37.08093],[-121.91098,37.07748],[-121.9026,37.07744],[-121.90239,37.07403],[-121.88109,37.07433],[-121.88093,37.07097],[-121.87239,37.07105],[-121.87239,37.06765],[-121.85958,37.0676],[-121.85942,37.06432],[-121.85531,37.06437],[-121.85499,37.06092],[-121.85093,37.06109],[-121.85072,37.05751],[-121.84645,37.05742],[-121.84642,37.05417],[-121.84218,37.05419],[-121.84205,37.05074],[-121.83786,37.0508],[-121.83764,37.04392],[-121.82916,37.044],[-121.8291,37.04056],[-121.82055,37.0407],[-121.82047,37.03725],[-121.8119,37.03734],[-121.81185,37.03393],[-121.80753,37.03395],[-121.80739,37.0305],[-121.79896,37.03067],[-121.79883,37.02724],[-121.79461,37.0273],[-121.79456,37.02381],[-121.78599,37.02383],[-121.78588,37.02048],[-121.78164,37.02053],[-121.78153,37.01707],[-121.77729,37.01714],[-121.77726,37.01371],[-121.77294,37.01375],[-121.77232,36.97598],[-121.76803,36.97604],[-121.76784,36.96916],[-121.76357,36.96926],[-121.7636,36.96583],[-121.75927,36.96581],[-121.75914,36.9624],[-121.75071,36.96246],[-121.75057,36.95909],[-121.72928,36.9593],[-121.72914,36.95588],[-121.72485,36.95592],[-121.72477,36.94901],[-121.72052,36.94906],[-121.72047,36.94564],[-121.71617,36.94573],[-121.71615,36.94225],[-121.70758,36.94234],[-121.7075,36.93895],[-121.69899,36.93899],[-121.69888,36.9356],[-121.69464,36.93562],[-121.69458,36.93218],[-121.69031,36.93216],[-121.6902,36.92881],[-121.68599,36.92888],[-121.68583,36.92199],[-121.68158,36.92197],[-121.68145,36.91855],[-121.67726,36.91857],[-121.67715,36.9152],[-121.67294,36.91524],[-121.67278,36.91187],[-121.66861,36.91183],[-121.66851,36.90846],[-121.66429,36.90846],[-121.66408,36.90504],[-121.65997,36.905],[-121.65986,36.90163],[-121.647,36.90176],[-121.647,36.89834],[-121.62132,36.89864],[-121.62122,36.88844],[-121.61695,36.88823],[-121.61668,36.88148],[-121.61257,36.88148],[-121.61241,36.87806],[-121.60814,36.87806],[-121.60809,36.87128],[-121.60387,36.87128],[-121.60376,36.86782],[-121.59528,36.86782],[-121.59512,36.86453],[-121.58657,36.86457],[-121.58663,36.86111],[-121.56536,36.86124],[-121.56533,36.86476],[-121.5483,36.86485],[-121.54825,36.86827],[-121.53982,36.86839],[-121.53982,36.87181],[-121.53555,36.87181],[-121.53549,36.87531],[-121.53128,36.87544],[-121.53133,36.87879],[-121.52709,36.87879],[-121.52714,36.88236],[-121.52292,36.88227],[-121.52287,36.89264],[-121.51876,36.89269],[-121.51871,36.89614],[-121.51449,36.89614],[-121.5146,36.8996],[-121.51033,36.89956],[-121.51027,36.90297],[-121.50611,36.90319],[-121.50611,36.90985],[-121.50168,36.91002],[-121.50168,36.91334],[-121.4933,36.91343],[-121.49335,36.92022],[-121.48492,36.9203],[-121.48492,36.92721],[-121.4807,36.92721],[-121.4807,36.93076],[-121.47649,36.93067],[-121.47649,36.94108],[-121.47227,36.94112],[-121.47243,36.94795],[-121.45524,36.94816],[-121.45508,36.94466],[-121.45097,36.94475],[-121.45076,36.93784],[-121.4466,36.93788],[-121.44654,36.93442],[-121.43798,36.93453],[-121.43798,36.93108],[-121.42514,36.93118],[-121.42509,36.92775]]],"type":"Polygon"}}, +{"properties":{"name":"Santa Clara County Orthoimagery (2023)","id":"Santa_Clara_CA_2023","url":"https://mapimages.sccgov.org/arcgis/rest/services/imagery/OrthoImagery2023_LimitedCities/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"County of Santa Clara","url":"https://gis.sccgov.org/home"},"type":"wms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[[-122.19707,37.40322],[-122.19276,37.40326],[-122.19229,37.38265],[-122.1966,37.38262],[-122.19652,37.37916],[-122.20083,37.37911],[-122.20076,37.37568],[-122.20506,37.37562],[-122.2049,37.36874],[-122.20896,37.3687],[-122.2089,37.35498],[-122.20457,37.35502],[-122.2045,37.35159],[-122.20018,37.35167],[-122.19998,37.34135],[-122.19567,37.34143],[-122.19557,37.33799],[-122.1913,37.33806],[-122.19122,37.33463],[-122.18693,37.33466],[-122.18677,37.32782],[-122.19106,37.32775],[-122.19092,37.32089],[-122.19521,37.32082],[-122.19513,37.3174],[-122.19083,37.31746],[-122.19076,37.31402],[-122.18646,37.31409],[-122.18637,37.31066],[-122.18208,37.31071],[-122.182,37.30728],[-122.1734,37.3074],[-122.17333,37.30397],[-122.16903,37.30403],[-122.16888,37.29717],[-122.17318,37.29711],[-122.1731,37.29368],[-122.16881,37.29373],[-122.16872,37.29029],[-122.16013,37.29043],[-122.16005,37.287],[-122.15576,37.28706],[-122.15568,37.28362],[-122.1471,37.28375],[-122.14726,37.29061],[-122.13007,37.29084],[-122.13035,37.30458],[-122.12605,37.30464],[-122.12671,37.33552],[-122.15252,37.33517],[-122.15245,37.33172],[-122.15676,37.33167],[-122.15682,37.3351],[-122.16114,37.33505],[-122.16128,37.34193],[-122.16558,37.34186],[-122.16573,37.34873],[-122.16146,37.34878],[-122.16182,37.36594],[-122.16611,37.36587],[-122.16627,37.37275],[-122.16199,37.37279],[-122.16212,37.37968],[-122.16643,37.37963],[-122.16657,37.38649],[-122.14077,37.38687],[-122.14075,37.38343],[-122.12352,37.38364],[-122.12356,37.38709],[-122.11056,37.38727],[-122.11063,37.38385],[-122.10195,37.38395],[-122.10153,37.36335],[-122.09292,37.36348],[-122.09279,37.36005],[-122.08422,37.36013],[-122.08421,37.35672],[-122.07559,37.35685],[-122.07549,37.3534],[-122.07121,37.35347],[-122.0709,37.3397],[-122.08385,37.33953],[-122.0839,37.34298],[-122.09676,37.34278],[-122.09655,37.33251],[-122.09225,37.33256],[-122.09219,37.32912],[-122.0965,37.32904],[-122.0964,37.32569],[-122.09209,37.32567],[-122.09201,37.3223],[-122.08774,37.32236],[-122.08772,37.3189],[-122.09199,37.31884],[-122.09184,37.31199],[-122.09612,37.3119],[-122.09584,37.29818],[-122.08724,37.29831],[-122.08713,37.29483],[-122.07427,37.29504],[-122.07384,37.27449],[-122.05238,37.27472],[-122.05261,37.28504],[-122.05688,37.28495],[-122.05693,37.28842],[-122.02692,37.2888],[-122.02725,37.30598],[-121.99284,37.30638],[-121.99307,37.31669],[-121.98877,37.31677],[-121.98885,37.32021],[-121.94155,37.32079],[-121.94175,37.33108],[-121.94604,37.33103],[-121.94613,37.33446],[-121.92893,37.33468],[-121.92905,37.34154],[-121.92473,37.34159],[-121.92496,37.35189],[-121.92924,37.35184],[-121.92932,37.35526],[-121.92503,37.35534],[-121.92507,37.35878],[-121.92938,37.3587],[-121.92971,37.37588],[-121.93401,37.37581],[-121.93413,37.38268],[-121.92986,37.38273],[-121.92996,37.38961],[-121.93426,37.38955],[-121.93449,37.39985],[-121.93879,37.39979],[-121.93884,37.40324],[-121.94315,37.40318],[-121.94321,37.40661],[-121.94754,37.40656],[-121.94756,37.40998],[-121.95185,37.40991],[-121.95196,37.41335],[-121.96055,37.41326],[-121.96069,37.4201],[-121.96499,37.42006],[-121.96506,37.42349],[-121.97368,37.42338],[-121.9736,37.41997],[-121.98651,37.41979],[-121.98659,37.42323],[-121.99521,37.42311],[-121.99533,37.43],[-122.01254,37.42976],[-122.0127,37.43656],[-122.02132,37.43653],[-122.02143,37.44331],[-122.03862,37.44316],[-122.0391,37.46371],[-122.04753,37.46358],[-122.0479,37.47041],[-122.09944,37.4698],[-122.12533,37.46946],[-122.12528,37.46603],[-122.12957,37.46596],[-122.12944,37.45913],[-122.13803,37.45898],[-122.13814,37.46241],[-122.15535,37.46218],[-122.15525,37.45874],[-122.16819,37.45857],[-122.16814,37.45514],[-122.17241,37.45506],[-122.17234,37.45163],[-122.17665,37.45158],[-122.17656,37.44812],[-122.18087,37.44807],[-122.1808,37.44464],[-122.1851,37.44458],[-122.18503,37.44115],[-122.18932,37.44108],[-122.18925,37.43765],[-122.19354,37.4376],[-122.19309,37.41699],[-122.1974,37.41693],[-122.19707,37.40322]]],[[[-121.92142,37.39314],[-121.90853,37.39328],[-121.90859,37.39673],[-121.9043,37.39678],[-121.90436,37.40021],[-121.88713,37.40043],[-121.8872,37.40384],[-121.88292,37.40391],[-121.88297,37.40734],[-121.87436,37.40746],[-121.87442,37.41087],[-121.87012,37.41094],[-121.87017,37.41435],[-121.86159,37.41445],[-121.86165,37.41788],[-121.84446,37.41811],[-121.84446,37.42152],[-121.83157,37.42163],[-121.83165,37.42849],[-121.836,37.42847],[-121.83623,37.44219],[-121.84055,37.44214],[-121.84078,37.45589],[-121.84941,37.4558],[-121.84946,37.4592],[-121.85376,37.45914],[-121.85384,37.46259],[-121.87108,37.46239],[-121.87115,37.46583],[-121.87545,37.46579],[-121.8755,37.46922],[-121.88413,37.46912],[-121.88405,37.46567],[-121.89265,37.46558],[-121.89274,37.46902],[-121.90995,37.46881],[-121.90989,37.46537],[-121.91849,37.46528],[-121.91844,37.46184],[-121.92273,37.4618],[-121.92268,37.45837],[-121.93128,37.45825],[-121.93084,37.43421],[-121.93512,37.43416],[-121.93501,37.42731],[-121.9307,37.42736],[-121.93062,37.42393],[-121.93493,37.42388],[-121.93479,37.41357],[-121.93044,37.41365],[-121.93024,37.40333],[-121.92594,37.40337],[-121.92587,37.39995],[-121.9216,37.39998],[-121.92142,37.39314]]],[[[-121.70182,37.11749],[-121.67611,37.11775],[-121.67605,37.11432],[-121.67175,37.11437],[-121.67174,37.11093],[-121.66314,37.11102],[-121.6629,37.0973],[-121.65865,37.09733],[-121.65859,37.0939],[-121.65431,37.09395],[-121.6542,37.08707],[-121.64135,37.08718],[-121.64128,37.08378],[-121.62844,37.08389],[-121.6285,37.08731],[-121.62421,37.08736],[-121.62427,37.09079],[-121.61141,37.0909],[-121.61155,37.10122],[-121.61585,37.10118],[-121.61588,37.10461],[-121.62018,37.10456],[-121.62025,37.10799],[-121.62452,37.10795],[-121.62463,37.11483],[-121.62034,37.11486],[-121.62038,37.11831],[-121.61611,37.11835],[-121.61616,37.12178],[-121.599,37.12194],[-121.59886,37.11164],[-121.59457,37.11168],[-121.59447,37.10482],[-121.58161,37.10492],[-121.58166,37.10837],[-121.57735,37.1084],[-121.57747,37.11527],[-121.58178,37.11524],[-121.58186,37.12208],[-121.58613,37.12203],[-121.58621,37.12549],[-121.59047,37.12546],[-121.5906,37.13232],[-121.57773,37.13244],[-121.57802,37.15303],[-121.58232,37.15299],[-121.58233,37.15642],[-121.59952,37.15626],[-121.59955,37.15969],[-121.60386,37.15965],[-121.60392,37.1631],[-121.61249,37.16302],[-121.61253,37.16645],[-121.62969,37.16627],[-121.62974,37.1697],[-121.63831,37.16963],[-121.63842,37.17304],[-121.65551,37.17289],[-121.6555,37.16603],[-121.67258,37.16584],[-121.67252,37.16243],[-121.68108,37.16238],[-121.68105,37.1589],[-121.68532,37.15885],[-121.68508,37.14167],[-121.69362,37.14159],[-121.69358,37.13817],[-121.69786,37.13812],[-121.69776,37.13125],[-121.70204,37.13123],[-121.70182,37.11749]]]],"type":"MultiPolygon"}}, {"properties":{"name":"Calaveras County Orthoimagery (2022)","id":"Solano_CA_2022","url":"https://tiles.arcgis.com/tiles/SCn6czzcqKAFwdGU/arcgis/rest/services/Aerial2022_WGS84_ESRI_Aux/MapServer/tile/{zoom}/{y}/{x}","attribution":{"required":false,"text":"Solano County","url":"https://www.solanocounty.com/"},"type":"tms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[[-122.45268,38.11954],[-122.41595,38.11967],[-122.41593,38.12687],[-122.39765,38.12696],[-122.3976,38.13421],[-122.37922,38.13437],[-122.37926,38.12707],[-122.36091,38.12711],[-122.36083,38.11987],[-122.34248,38.11987],[-122.3426,38.11276],[-122.32411,38.11272],[-122.32413,38.1055],[-122.31495,38.10548],[-122.31492,38.09829],[-122.30569,38.09829],[-122.30563,38.09103],[-122.2965,38.09103],[-122.29655,38.06211],[-122.26887,38.06214],[-122.26892,38.0476],[-122.19545,38.04779],[-122.19545,38.04052],[-122.18628,38.04057],[-122.18635,38.03325],[-122.17725,38.03325],[-122.17706,38.02603],[-122.16794,38.02591],[-122.16818,38.01882],[-122.10373,38.0187],[-122.1038,38.03336],[-122.09475,38.03327],[-122.09469,38.04067],[-122.06719,38.04071],[-122.06713,38.04789],[-121.99386,38.04798],[-121.99373,38.04068],[-121.92978,38.04064],[-121.92972,38.0334],[-121.87467,38.03331],[-121.87473,38.04055],[-121.82886,38.04046],[-121.82892,38.04779],[-121.7739,38.04763],[-121.77376,38.06214],[-121.75541,38.06214],[-121.75532,38.06937],[-121.74623,38.0693],[-121.74629,38.07667],[-121.70036,38.07649],[-121.70028,38.09833],[-121.69131,38.09823],[-121.69131,38.11297],[-121.68181,38.11297],[-121.68155,38.14162],[-121.6727,38.14173],[-121.67257,38.14899],[-121.6636,38.14899],[-121.66333,38.17065],[-121.65401,38.17079],[-121.65393,38.17777],[-121.63555,38.17777],[-121.63565,38.18513],[-121.60821,38.18513],[-121.60779,38.20669],[-121.59882,38.20669],[-121.59853,38.29374],[-121.58924,38.29338],[-121.58879,38.31537],[-121.69029,38.31577],[-121.68907,38.54052],[-121.79074,38.54095],[-121.79098,38.53354],[-121.82763,38.53374],[-121.82763,38.54076],[-121.95676,38.54079],[-121.95702,38.53344],[-121.99391,38.53365],[-121.99352,38.52631],[-122.03993,38.5262],[-122.03993,38.51917],[-122.11355,38.51926],[-122.11355,38.48296],[-122.12313,38.48283],[-122.12297,38.46098],[-122.13205,38.46111],[-122.13196,38.41023],[-122.1688,38.41033],[-122.16857,38.3233],[-122.21471,38.32321],[-122.21438,38.27959],[-122.2236,38.27968],[-122.22384,38.25792],[-122.21454,38.25771],[-122.21431,38.23623],[-122.20531,38.23641],[-122.20509,38.21448],[-122.2142,38.21439],[-122.21431,38.2],[-122.22338,38.20005],[-122.22344,38.16373],[-122.44369,38.16306],[-122.44386,38.17034],[-122.47131,38.17028],[-122.47124,38.15572],[-122.46207,38.15573],[-122.46201,38.14853],[-122.45281,38.14852],[-122.45268,38.11954]]],[[[-122.06711,37.99717],[-122.04882,37.99717],[-122.04882,38.01166],[-122.06711,38.01166],[-122.06711,37.99717]]]],"type":"MultiPolygon"}}, {"properties":{"name":"Mesa County GIS NAIP 2015","id":"MCGIS-County-NAIP-Imagery-2015","url":"https://mcgis.mesacounty.us/imagery/rest/services/Mosaic_Datasets/MesaCounty_2015/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":true,"text":"Mesa County GIS","url":"https://gis.mesacounty.us/"},"type":"wms","category":"historicphoto","min_zoom":3,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-109.06765,39.37875],[-109.06685,38.43416],[-108.3711,38.43452],[-108.37142,38.808],[-108.18198,38.8081],[-108.18204,38.8712],[-108.05688,38.87126],[-108.05698,38.99759],[-107.86943,38.99769],[-107.86948,39.05856],[-107.81779,39.05859],[-107.81774,38.99645],[-107.68226,38.99652],[-107.68231,39.05971],[-107.62076,39.05974],[-107.62081,39.12126],[-107.49568,39.12133],[-107.49574,39.18416],[-107.36995,39.18422],[-107.37012,39.37962],[-109.06765,39.37875]]],"type":"Polygon"}}, {"properties":{"name":"Mesa County GIS Valleywide 2018","id":"MCGIS-County-Valleywide-Imagery-2018","url":"https://mcgis.mesacounty.us/imagery/rest/services/Mosaic_Datasets/City_Color_2018/ImageServer/WMTS/1.0.0/WMTSCapabilities.xml","attribution":{"required":true,"text":"Mesa County GIS","url":"https://gis.mesacounty.us/"},"type":"wmts","category":"historicphoto","min_zoom":5,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-108.93915,39.23931],[-108.93946,39.22429],[-108.90208,39.22384],[-108.90237,39.20965],[-108.86906,39.20925],[-108.86938,39.19325],[-108.85033,39.19302],[-108.85061,39.17868],[-108.83196,39.17845],[-108.83224,39.16432],[-108.79393,39.16386],[-108.79422,39.14972],[-108.75686,39.14927],[-108.75744,39.12056],[-108.73853,39.12033],[-108.7388,39.10648],[-108.71529,39.10619],[-108.71557,39.09225],[-108.69671,39.09203],[-108.69699,39.07816],[-108.67837,39.07793],[-108.67867,39.06313],[-108.65778,39.06287],[-108.65864,39.01991],[-108.54548,39.01855],[-108.5455,39.01735],[-108.54336,39.01733],[-108.54342,39.01401],[-108.53397,39.0139],[-108.53414,39.00536],[-108.51821,39.00517],[-108.51825,39.00291],[-108.51519,39.00287],[-108.51515,39.0053],[-108.47848,39.00485],[-108.47877,38.99047],[-108.46006,38.99024],[-108.46034,38.97618],[-108.44133,38.97595],[-108.44162,38.9615],[-108.42252,38.96127],[-108.42193,38.99077],[-108.44137,38.99101],[-108.44051,39.03399],[-108.42245,39.03377],[-108.42216,39.04843],[-108.38599,39.04799],[-108.38569,39.06291],[-108.36666,39.06268],[-108.36637,39.07738],[-108.34764,39.07715],[-108.34736,39.09142],[-108.32943,39.09121],[-108.32914,39.10581],[-108.32328,39.10574],[-108.32335,39.10218],[-108.3038,39.10194],[-108.30312,39.13591],[-108.28699,39.13571],[-108.2864,39.16505],[-108.26957,39.16484],[-108.26868,39.20916],[-108.28807,39.20939],[-108.28866,39.17979],[-108.3066,39.18],[-108.30718,39.15087],[-108.32416,39.15107],[-108.32446,39.13619],[-108.39798,39.13708],[-108.3984,39.11602],[-108.42201,39.1163],[-108.42192,39.12086],[-108.44104,39.12109],[-108.44076,39.13522],[-108.51489,39.13611],[-108.51461,39.14971],[-108.53361,39.14993],[-108.53332,39.16422],[-108.58943,39.1649],[-108.58915,39.17884],[-108.60791,39.17906],[-108.60764,39.19277],[-108.70123,39.1939],[-108.70096,39.20745],[-108.79432,39.20857],[-108.79405,39.22234],[-108.81274,39.22256],[-108.81245,39.23666],[-108.86843,39.23734],[-108.86841,39.23846],[-108.93915,39.23931]]],"type":"Polygon"}}, @@ -518,8 +525,9 @@ {"properties":{"name":"CT ECO Orthoimagery (2019)","id":"CT_ECO_Ortho_2019_RGB","url":"https://cteco.uconn.edu/ctraster/rest/services/images/Ortho_2019_tiled/ImageServer/WMTS/tile/1.0.0/images_Ortho_2019_tiled/default/default028mm/{zoom}/{y}/{x}","attribution":{"required":false,"text":"Connecticut Environmental Conditions Online","url":"https://cteco.uconn.edu/data/imagery/index.htm"},"type":"tms","category":"photo","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[-71.8723,41.31337],[-71.82917,41.34073],[-71.82943,41.34537],[-71.8381,41.35842],[-71.83772,41.36581],[-71.83286,41.36907],[-71.83189,41.37027],[-71.83164,41.37228],[-71.83242,41.37459],[-71.83265,41.37589],[-71.83061,41.37866],[-71.8308,41.37914],[-71.83197,41.38002],[-71.8333,41.38184],[-71.83351,41.3825],[-71.83338,41.38388],[-71.83265,41.38603],[-71.83253,41.3868],[-71.83347,41.38829],[-71.83505,41.38954],[-71.83753,41.39045],[-71.83864,41.39091],[-71.84114,41.39421],[-71.84185,41.3947],[-71.84241,41.39539],[-71.84243,41.39633],[-71.8422,41.39733],[-71.84139,41.39865],[-71.84119,41.39962],[-71.84139,41.40283],[-71.84206,41.40366],[-71.84304,41.40442],[-71.84355,41.40551],[-71.84254,41.4077],[-71.8424,41.40846],[-71.84267,41.40982],[-71.84235,41.41056],[-71.8411,41.41106],[-71.83912,41.41248],[-71.8358,41.41222],[-71.83422,41.41158],[-71.82756,41.41452],[-71.82549,41.41468],[-71.82491,41.41498],[-71.82438,41.41551],[-71.82428,41.41624],[-71.82388,41.41706],[-71.82308,41.41773],[-71.8219,41.41817],[-71.82109,41.41892],[-71.82005,41.41938],[-71.8186,41.41971],[-71.81698,41.41987],[-71.81535,41.41961],[-71.81279,41.41937],[-71.8115,41.41909],[-71.80781,41.41725],[-71.8074,41.41687],[-71.80688,41.41668],[-71.80598,41.41675],[-71.80417,41.41731],[-71.80346,41.41735],[-71.80296,41.4171],[-71.80185,41.41567],[-71.8014,41.4155],[-71.80053,41.41555],[-71.79921,41.41599],[-71.79775,41.41693],[-71.78694,41.65614],[-71.7984,41.9557],[-71.79914,42.00821],[-71.80069,42.02351],[-71.8893,42.02437],[-72.14372,42.03053],[-72.53157,42.0346],[-72.57272,42.03023],[-72.58204,42.02472],[-72.60714,42.02504],[-72.608,42.03116],[-72.64031,42.03205],[-72.69975,42.03699],[-72.75589,42.03638],[-72.76636,42.00788],[-72.76674,42.00339],[-72.81704,41.99765],[-72.81369,42.03667],[-73.00861,42.03871],[-73.43622,42.05082],[-73.48755,42.0498],[-73.49287,41.95732],[-73.53579,41.45141],[-73.54158,41.40266],[-73.54926,41.32339],[-73.54986,41.3016],[-73.55089,41.29548],[-73.48257,41.21282],[-73.7277,41.10075],[-73.65523,41.0123],[-73.65573,41.00976],[-73.66018,41.00054],[-73.65934,40.99733],[-73.65962,40.99495],[-73.65921,40.99308],[-73.65696,40.99061],[-73.65993,40.98891],[-73.64788,40.97573],[-72.69568,41.197],[-71.8723,41.31337]]],"type":"Polygon"}}, {"properties":{"name":"CT ECO Shaded Relief","id":"CT_ECO_Shaded_relief_2016","url":"https://cteco.uconn.edu/ctraster/services/elevation/Elevation/ImageServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=Elevation:shadedrelief&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"required":false,"text":"Connecticut Environmental Conditions Online","url":"https://cteco.uconn.edu/data/lidar/index.htm"},"type":"wms","category":"elevation","max_zoom":23},"type":"Feature","geometry":{"coordinates":[[[-71.8723,41.31337],[-71.82917,41.34073],[-71.82943,41.34537],[-71.8381,41.35842],[-71.83772,41.36581],[-71.83286,41.36907],[-71.83189,41.37027],[-71.83164,41.37228],[-71.83242,41.37459],[-71.83265,41.37589],[-71.83061,41.37866],[-71.8308,41.37914],[-71.83197,41.38002],[-71.8333,41.38184],[-71.83351,41.3825],[-71.83338,41.38388],[-71.83265,41.38603],[-71.83253,41.3868],[-71.83347,41.38829],[-71.83505,41.38954],[-71.83753,41.39045],[-71.83864,41.39091],[-71.84114,41.39421],[-71.84185,41.3947],[-71.84241,41.39539],[-71.84243,41.39633],[-71.8422,41.39733],[-71.84139,41.39865],[-71.84119,41.39962],[-71.84139,41.40283],[-71.84206,41.40366],[-71.84304,41.40442],[-71.84355,41.40551],[-71.84254,41.4077],[-71.8424,41.40846],[-71.84267,41.40982],[-71.84235,41.41056],[-71.8411,41.41106],[-71.83912,41.41248],[-71.8358,41.41222],[-71.83422,41.41158],[-71.82756,41.41452],[-71.82549,41.41468],[-71.82491,41.41498],[-71.82438,41.41551],[-71.82428,41.41624],[-71.82388,41.41706],[-71.82308,41.41773],[-71.8219,41.41817],[-71.82109,41.41892],[-71.82005,41.41938],[-71.8186,41.41971],[-71.81698,41.41987],[-71.81535,41.41961],[-71.81279,41.41937],[-71.8115,41.41909],[-71.80781,41.41725],[-71.8074,41.41687],[-71.80688,41.41668],[-71.80598,41.41675],[-71.80417,41.41731],[-71.80346,41.41735],[-71.80296,41.4171],[-71.80185,41.41567],[-71.8014,41.4155],[-71.80053,41.41555],[-71.79921,41.41599],[-71.79775,41.41693],[-71.78694,41.65614],[-71.7984,41.9557],[-71.79914,42.00821],[-71.80069,42.02351],[-71.8893,42.02437],[-72.14372,42.03053],[-72.53157,42.0346],[-72.57272,42.03023],[-72.58204,42.02472],[-72.60714,42.02504],[-72.608,42.03116],[-72.64031,42.03205],[-72.69975,42.03699],[-72.75589,42.03638],[-72.76636,42.00788],[-72.76674,42.00339],[-72.81704,41.99765],[-72.81369,42.03667],[-73.00861,42.03871],[-73.43622,42.05082],[-73.48755,42.0498],[-73.49287,41.95732],[-73.53579,41.45141],[-73.54158,41.40266],[-73.54926,41.32339],[-73.54986,41.3016],[-73.55089,41.29548],[-73.48257,41.21282],[-73.7277,41.10075],[-73.65523,41.0123],[-73.65573,41.00976],[-73.66018,41.00054],[-73.65934,40.99733],[-73.65962,40.99495],[-73.65921,40.99308],[-73.65696,40.99061],[-73.65993,40.98891],[-73.64788,40.97573],[-72.69568,41.197],[-71.8723,41.31337]]],"type":"Polygon"}}, {"properties":{"name":"MetroCOG Orthoimagery (2020)","id":"MetroCOG_Ortho_2020","url":"https://maps.ctmetro.org/server/rest/services/MetroCOG/MetroCOG_2020_Aerial/MapServer/WMTS/tile/1.0.0/MetroCOG_MetroCOG_2020_Aerial/default/default028mm/{zoom}/{y}/{x}","attribution":{"required":false,"text":"Connecticut Metropolitan Council of Governments","url":"https://ctmetro.org/gis-shared-services/"},"type":"tms","category":"photo","max_zoom":21},"type":"Feature","geometry":{"coordinates":[[[-73.17614,41.39629],[-73.19539,41.39622],[-73.19534,41.38897],[-73.20496,41.38893],[-73.20486,41.37444],[-73.24333,41.37428],[-73.24327,41.36704],[-73.25289,41.367],[-73.25284,41.35975],[-73.27207,41.35967],[-73.27201,41.35242],[-73.28163,41.35237],[-73.28156,41.34514],[-73.30079,41.34504],[-73.30074,41.33779],[-73.31035,41.33775],[-73.31028,41.3305],[-73.32951,41.33041],[-73.32931,41.30867],[-73.31971,41.30872],[-73.31958,41.29423],[-73.33879,41.29413],[-73.33873,41.28689],[-73.35794,41.28679],[-73.35787,41.27954],[-73.37708,41.27944],[-73.37701,41.27219],[-73.36741,41.27224],[-73.36727,41.25776],[-73.35767,41.2578],[-73.35754,41.24331],[-73.34794,41.24336],[-73.34787,41.23612],[-73.33827,41.23617],[-73.33814,41.22168],[-73.32854,41.22173],[-73.32848,41.21448],[-73.33808,41.21443],[-73.33795,41.19994],[-73.34754,41.19989],[-73.34747,41.19265],[-73.33788,41.1927],[-73.33768,41.17096],[-73.3281,41.17101],[-73.32803,41.16377],[-73.31845,41.16381],[-73.31832,41.14932],[-73.30873,41.14936],[-73.30867,41.14212],[-73.29909,41.14217],[-73.29896,41.12768],[-73.30855,41.12764],[-73.30848,41.12039],[-73.26413,41.11324],[-73.18414,41.1572],[-73.11693,41.14298],[-73.09785,41.15021],[-73.09788,41.15745],[-73.10747,41.15743],[-73.1076,41.17915],[-73.11717,41.17914],[-73.11726,41.19362],[-73.10768,41.19364],[-73.10786,41.22987],[-73.09827,41.22991],[-73.09831,41.23714],[-73.08872,41.23718],[-73.08875,41.24443],[-73.07915,41.24445],[-73.07923,41.25894],[-73.08883,41.25892],[-73.08887,41.26616],[-73.09847,41.26613],[-73.09851,41.27338],[-73.11771,41.27332],[-73.11767,41.26607],[-73.14648,41.26598],[-73.14653,41.27322],[-73.17534,41.27312],[-73.17543,41.28761],[-73.18503,41.28757],[-73.18509,41.29482],[-73.19469,41.29478],[-73.19479,41.30927],[-73.18518,41.30931],[-73.18528,41.3238],[-73.17567,41.32384],[-73.17576,41.33833],[-73.16615,41.33836],[-73.16628,41.36009],[-73.15668,41.36014],[-73.15686,41.38912],[-73.1761,41.38904],[-73.17614,41.39629]]],"type":"Polygon"}}, -{"properties":{"name":"DC From Above Orthophoto 2019 (3in)","id":"DC_From_Above_Ortho_2019","url":"https://maps2.dcgis.dc.gov/dcgis/services/DCGIS_DATA/Ortho2019/MapServer/WMSServer?request=getmap&version=1.3.0&service=wms&layers=0&styles=&format=image/jpeg&crs={proj}&width={width}&height={height}&bbox={bbox}","attribution":{"required":false,"text":"OCTO, DCGIS","url":"https://opendata.dc.gov/datasets/aerial-photography-image-service-orthophoto-2019/"},"type":"wms","category":"historicphoto","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-77.11973,38.93492],[-77.11856,38.93365],[-77.11699,38.93173],[-77.1156,38.92839],[-77.1117,38.92442],[-77.10583,38.91982],[-77.10289,38.91581],[-77.10214,38.91292],[-77.09362,38.90705],[-77.0836,38.90362],[-77.07278,38.90312],[-77.06863,38.90124],[-77.06706,38.89934],[-77.06656,38.89704],[-77.06278,38.89067],[-77.05587,38.88759],[-77.03776,38.87309],[-77.03012,38.8614],[-77.02643,38.85214],[-77.03176,38.79718],[-76.90929,38.89285],[-77.04088,38.99592],[-77.11973,38.93492]]],"type":"Polygon"}}, -{"properties":{"name":"DC From Above Orthophoto 2021 (3in)","id":"DC_From_Above_Ortho_2021","url":"https://imagery.dcgis.dc.gov/dcgis/services/Ortho/Ortho_2021/ImageServer/WMSServer?request=getmap&version=1.3.0&service=wms&layers=0&styles=&format=image/jpeg&crs={proj}&width={width}&height={height}&bbox={bbox}","attribution":{"required":false,"text":"OCTO, DCGIS","url":"https://opendata.dc.gov/datasets/aerial-photography-image-service-orthophoto-2021/"},"type":"wms","category":"photo","max_zoom":21,"best":true},"type":"Feature","geometry":{"coordinates":[[[-77.11973,38.93492],[-77.11856,38.93365],[-77.11699,38.93173],[-77.1156,38.92839],[-77.1117,38.92442],[-77.10583,38.91982],[-77.10289,38.91581],[-77.10214,38.91292],[-77.09362,38.90705],[-77.0836,38.90362],[-77.07278,38.90312],[-77.06863,38.90124],[-77.06706,38.89934],[-77.06656,38.89704],[-77.06278,38.89067],[-77.05587,38.88759],[-77.03776,38.87309],[-77.03012,38.8614],[-77.02643,38.85214],[-77.03176,38.79718],[-76.90929,38.89285],[-77.04088,38.99592],[-77.11973,38.93492]]],"type":"Polygon"}}, +{"properties":{"name":"DC From Above Orthophoto 2019","id":"DC_From_Above_Ortho_2019","url":"https://maps2.dcgis.dc.gov/dcgis/services/DCGIS_DATA/Ortho2019/MapServer/WMSServer?request=getmap&version=1.3.0&service=wms&layers=0&styles=&format=image/jpeg&crs={proj}&width={width}&height={height}&bbox={bbox}","attribution":{"required":false,"text":"OCTO, DCGIS","url":"https://opendata.dc.gov/datasets/aerial-photography-image-service-orthophoto-2019/"},"type":"wms","category":"historicphoto","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-77.11973,38.93492],[-77.11856,38.93365],[-77.11699,38.93173],[-77.1156,38.92839],[-77.1117,38.92442],[-77.10583,38.91982],[-77.10289,38.91581],[-77.10214,38.91292],[-77.09362,38.90705],[-77.0836,38.90362],[-77.07278,38.90312],[-77.06863,38.90124],[-77.06706,38.89934],[-77.06656,38.89704],[-77.06278,38.89067],[-77.05587,38.88759],[-77.03776,38.87309],[-77.03012,38.8614],[-77.02643,38.85214],[-77.03176,38.79718],[-76.90929,38.89285],[-77.04088,38.99592],[-77.11973,38.93492]]],"type":"Polygon"}}, +{"properties":{"name":"DC From Above Orthophoto 2021","id":"DC_From_Above_Ortho_2021","url":"https://imagery.dcgis.dc.gov/dcgis/services/Ortho/Ortho_2021/ImageServer/WMSServer?request=getmap&version=1.3.0&service=wms&layers=0&styles=&format=image/jpeg&crs={proj}&width={width}&height={height}&bbox={bbox}","attribution":{"required":false,"text":"OCTO, DCGIS","url":"https://opendata.dc.gov/datasets/aerial-photography-image-service-orthophoto-2021/"},"type":"wms","category":"historicphoto","max_zoom":21},"type":"Feature","geometry":{"coordinates":[[[-77.11973,38.93492],[-77.11856,38.93365],[-77.11699,38.93173],[-77.1156,38.92839],[-77.1117,38.92442],[-77.10583,38.91982],[-77.10289,38.91581],[-77.10214,38.91292],[-77.09362,38.90705],[-77.0836,38.90362],[-77.07278,38.90312],[-77.06863,38.90124],[-77.06706,38.89934],[-77.06656,38.89704],[-77.06278,38.89067],[-77.05587,38.88759],[-77.03776,38.87309],[-77.03012,38.8614],[-77.02643,38.85214],[-77.03176,38.79718],[-76.90929,38.89285],[-77.04088,38.99592],[-77.11973,38.93492]]],"type":"Polygon"}}, +{"properties":{"name":"DC From Above Orthophoto 2023","id":"DC_From_Above_Ortho_2023","url":"https://imagery.dcgis.dc.gov/dcgis/services/Ortho/Ortho_2023/ImageServer/WMSServer?request=getmap&version=1.3.0&service=wms&layers=0&styles=&format=image/jpeg&crs={proj}&width={width}&height={height}&bbox={bbox}","attribution":{"required":false,"text":"OCTO, DCGIS","url":"https://opendata.dc.gov/datasets/aerial-photography-image-service-orthophoto-2021/"},"type":"wms","category":"photo","max_zoom":21,"best":true},"type":"Feature","geometry":{"coordinates":[[[-77.11973,38.93492],[-77.11856,38.93365],[-77.11699,38.93173],[-77.1156,38.92839],[-77.1117,38.92442],[-77.10583,38.91982],[-77.10289,38.91581],[-77.10214,38.91292],[-77.09362,38.90705],[-77.0836,38.90362],[-77.07278,38.90312],[-77.06863,38.90124],[-77.06706,38.89934],[-77.06656,38.89704],[-77.06278,38.89067],[-77.05587,38.88759],[-77.03776,38.87309],[-77.03012,38.8614],[-77.02643,38.85214],[-77.03176,38.79718],[-76.90929,38.89285],[-77.04088,38.99592],[-77.11973,38.93492]]],"type":"Polygon"}}, {"properties":{"name":"Delaware 2012 Orthophotography","id":"Delaware2012Orthophotography","url":"https://imagery.firstmap.delaware.gov/imagery/rest/services/DE_Imagery/DE_Imagery_2012/ImageServer/WMTS/tile/1.0.0/DE_Imagery_DE_Imagery_2012/default/default028mm/{zoom}/{y}/{x}","attribution":{"text":"Digital Aerial Solutions, LLC, FirstMap","url":"https://firstmap.delaware.gov"},"type":"tms","category":"historicphoto","min_zoom":5,"max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-75.42149,38.45144],[-75.02598,38.45023],[-75.05341,38.80875],[-75.19317,38.82219],[-75.30707,39.01667],[-75.39326,39.27784],[-75.5619,39.46376],[-75.54663,39.58254],[-75.58868,39.61891],[-75.51418,39.69636],[-75.46337,39.7753],[-75.4123,39.80095],[-75.42831,39.80989],[-75.44689,39.81823],[-75.4632,39.82416],[-75.48097,39.82957],[-75.49114,39.83207],[-75.50457,39.83484],[-75.52049,39.83724],[-75.53937,39.83919],[-75.55727,39.83971],[-75.57547,39.83935],[-75.58482,39.83864],[-75.59733,39.83736],[-75.61297,39.8351],[-75.62682,39.83236],[-75.63836,39.82952],[-75.64988,39.82634],[-75.66962,39.81905],[-75.68087,39.81407],[-75.69391,39.80745],[-75.70842,39.79865],[-75.71885,39.79126],[-75.73181,39.78061],[-75.74283,39.76985],[-75.75073,39.76105],[-75.75854,39.75069],[-75.76695,39.73729],[-75.77403,39.72231],[-75.78917,39.72225],[-75.78953,39.65328],[-75.69546,38.45923],[-75.42149,38.45144]]],"type":"Polygon"}}, {"properties":{"name":"Delaware 2017 Orthophotography (Natural Color)","id":"DE_Orthophotography_2017_NC","url":"https://imagery.firstmap.delaware.gov/imagery/services/DE_Imagery/DE_Imagery_2017/ImageServer/WMSServer?request=getmap&version=1.3.0&service=wms&layers=0&styles=&format=image/jpeg&crs={proj}&width={width}&height={height}&bbox={bbox}","attribution":{"required":true,"text":"Surdex Corp, FirstMap","url":"https://firstmap.delaware.gov"},"type":"wms","category":"historicphoto","min_zoom":4,"max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-75.42149,38.45144],[-75.02598,38.45023],[-75.05341,38.80875],[-75.19317,38.82219],[-75.30707,39.01667],[-75.39326,39.27784],[-75.5619,39.46376],[-75.54663,39.58254],[-75.58868,39.61891],[-75.51418,39.69636],[-75.46337,39.7753],[-75.4123,39.80095],[-75.42831,39.80989],[-75.44689,39.81823],[-75.4632,39.82416],[-75.48097,39.82957],[-75.49114,39.83207],[-75.50457,39.83484],[-75.52049,39.83724],[-75.53937,39.83919],[-75.55727,39.83971],[-75.57547,39.83935],[-75.58482,39.83864],[-75.59733,39.83736],[-75.61297,39.8351],[-75.62682,39.83236],[-75.63836,39.82952],[-75.64988,39.82634],[-75.66962,39.81905],[-75.68087,39.81407],[-75.69391,39.80745],[-75.70842,39.79865],[-75.71885,39.79126],[-75.73181,39.78061],[-75.74283,39.76985],[-75.75073,39.76105],[-75.75854,39.75069],[-75.76695,39.73729],[-75.77403,39.72231],[-75.78917,39.72225],[-75.78953,39.65328],[-75.69546,38.45923],[-75.42149,38.45144]]],"type":"Polygon"}}, {"properties":{"name":"Delaware FirstMap 2021","id":"Delaware_FirstMap_2021","url":"https://imagery.firstmap.delaware.gov/imagery/rest/services/DE_Imagery/DE_Imagery_2021/ImageServer/exportImage?f=image&format=jpg&imageSR={wkid}&bboxSR={wkid}&bbox={bbox}&size={width},{height}&foo={proj}","attribution":{"required":true,"text":"Hexagon, FirstMap","url":"https://firstmap.delaware.gov"},"type":"wms","category":"historicphoto","min_zoom":4,"max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-75.42149,38.45144],[-75.02598,38.45023],[-75.05341,38.80875],[-75.19317,38.82219],[-75.30707,39.01667],[-75.39326,39.27784],[-75.5619,39.46376],[-75.54663,39.58254],[-75.58868,39.61891],[-75.51418,39.69636],[-75.46337,39.7753],[-75.4123,39.80095],[-75.42831,39.80989],[-75.44689,39.81823],[-75.4632,39.82416],[-75.48097,39.82957],[-75.49114,39.83207],[-75.50457,39.83484],[-75.52049,39.83724],[-75.53937,39.83919],[-75.55727,39.83971],[-75.57547,39.83935],[-75.58482,39.83864],[-75.59733,39.83736],[-75.61297,39.8351],[-75.62682,39.83236],[-75.63836,39.82952],[-75.64988,39.82634],[-75.66962,39.81905],[-75.68087,39.81407],[-75.69391,39.80745],[-75.70842,39.79865],[-75.71885,39.79126],[-75.73181,39.78061],[-75.74283,39.76985],[-75.75073,39.76105],[-75.75854,39.75069],[-75.76695,39.73729],[-75.77403,39.72231],[-75.78917,39.72225],[-75.78953,39.65328],[-75.69546,38.45923],[-75.42149,38.45144]]],"type":"Polygon"}}, @@ -537,7 +545,8 @@ {"properties":{"name":"Charlotte County Orthoimagery (2020)","id":"Charlotte_Ortho_2020","url":"https://agis.charlottecountyfl.gov/arcgis/rest/services/Aerials/Raster2020/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Charlotte County Geographic Information Systems","url":"https://www.charlottecountyfl.gov/gis/"},"type":"wms","category":"photo","max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[-82.26451,26.94701],[-82.38809,26.94605],[-82.26226,26.71081],[-82.06476,26.7683],[-81.55921,26.76777],[-81.55814,27.04285],[-82.2647,27.0433],[-82.26451,26.94701]]],"type":"Polygon"}}, {"properties":{"name":"Charlotte County Orthoimagery (2022)","id":"Charlotte_Ortho_2022","url":"https://agis.charlottecountyfl.gov/arcgis/rest/services/Aerials/Aerials2022_Post_IAN/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Charlotte County Geographic Information Systems","url":"https://www.charlottecountyfl.gov/gis/"},"type":"wms","category":"historicphoto","max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[-82.26451,26.94701],[-82.38809,26.94605],[-82.26123,26.69942],[-82.06476,26.7683],[-82.00362,26.76846],[-82.00362,26.79597],[-81.98823,26.79592],[-81.98828,26.82343],[-81.97289,26.82343],[-81.97286,26.83721],[-81.95752,26.83719],[-81.95746,26.87845],[-81.94222,26.87854],[-81.94215,26.98851],[-81.98825,26.98844],[-81.98817,27.04348],[-82.2647,27.0433],[-82.26451,26.94701]]],"type":"Polygon"}}, {"properties":{"name":"Charlotte County Orthoimagery (2023)","id":"Charlotte_Ortho_2023","url":"https://agis.charlottecountyfl.gov/arcgis/rest/services/Aerials/Aerials2023/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Charlotte County Geographic Information Systems","url":"https://www.charlottecountyfl.gov/gis/"},"type":"wms","category":"photo","max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[-82.26451,26.94701],[-82.38809,26.94605],[-82.26123,26.69942],[-82.06476,26.7683],[-82.00362,26.76846],[-82.00362,26.79597],[-81.98823,26.79592],[-81.98828,26.82343],[-81.97289,26.82343],[-81.97286,26.83721],[-81.95752,26.83719],[-81.95746,26.87845],[-81.94222,26.87854],[-81.94215,26.98851],[-81.98825,26.98844],[-81.98817,27.04348],[-82.2647,27.0433],[-82.26451,26.94701]]],"type":"Polygon"}}, -{"properties":{"name":"Citrus County Orthoimagery (2020)","id":"Citrus_Ortho_2020","url":"https://gis.citruspa.org/arcgisweb/rest/services/Tyler/2020_Aerials/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Citrus County Property Appraiser's Office","url":"https://www.citruspa.org/"},"type":"wms","category":"photo","max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[-82.78572,29.0214],[-82.7192,28.69176],[-82.42429,28.69321],[-82.42452,28.65186],[-82.25311,28.65241],[-82.25289,28.67976],[-82.23799,28.67987],[-82.23733,28.72122],[-82.22215,28.72122],[-82.22193,28.73484],[-82.20637,28.73517],[-82.20626,28.74873],[-82.17513,28.74873],[-82.17524,28.77641],[-82.15979,28.77652],[-82.15985,28.81754],[-82.1753,28.81748],[-82.17538,28.83132],[-82.19108,28.83135],[-82.19097,28.84508],[-82.2067,28.84502],[-82.20667,28.85881],[-82.22229,28.85883],[-82.22238,28.87248],[-82.23755,28.8724],[-82.23805,28.90013],[-82.26901,28.89957],[-82.26923,28.92714],[-82.28468,28.92659],[-82.28512,28.95449],[-82.30046,28.9546],[-82.30069,28.98216],[-82.31625,28.98205],[-82.31614,28.99595],[-82.34748,28.99595],[-82.34793,29.00973],[-82.37883,29.00929],[-82.37905,29.02329],[-82.3945,29.0234],[-82.39461,29.03697],[-82.42618,29.03708],[-82.42602,29.05086],[-82.45742,29.05058],[-82.45764,29.06487],[-82.50444,29.06442],[-82.50444,29.05053],[-82.58281,29.05008],[-82.58236,29.03624],[-82.73893,29.03574],[-82.7387,29.02196],[-82.78572,29.0214]]],"type":"Polygon"}}, +{"properties":{"name":"Citrus County Orthoimagery (2020)","id":"Citrus_Ortho_2020","url":"https://gis.citruspa.org/arcgisweb/rest/services/Tyler/2020_Aerials/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Citrus County Property Appraiser's Office","url":"https://www.citruspa.org/"},"type":"wms","category":"historicphoto","max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[-82.78572,29.0214],[-82.7192,28.69176],[-82.42429,28.69321],[-82.42452,28.65186],[-82.25311,28.65241],[-82.25289,28.67976],[-82.23799,28.67987],[-82.23733,28.72122],[-82.22215,28.72122],[-82.22193,28.73484],[-82.20637,28.73517],[-82.20626,28.74873],[-82.17513,28.74873],[-82.17524,28.77641],[-82.15979,28.77652],[-82.15985,28.81754],[-82.1753,28.81748],[-82.17538,28.83132],[-82.19108,28.83135],[-82.19097,28.84508],[-82.2067,28.84502],[-82.20667,28.85881],[-82.22229,28.85883],[-82.22238,28.87248],[-82.23755,28.8724],[-82.23805,28.90013],[-82.26901,28.89957],[-82.26923,28.92714],[-82.28468,28.92659],[-82.28512,28.95449],[-82.30046,28.9546],[-82.30069,28.98216],[-82.31625,28.98205],[-82.31614,28.99595],[-82.34748,28.99595],[-82.34793,29.00973],[-82.37883,29.00929],[-82.37905,29.02329],[-82.3945,29.0234],[-82.39461,29.03697],[-82.42618,29.03708],[-82.42602,29.05086],[-82.45742,29.05058],[-82.45764,29.06487],[-82.50444,29.06442],[-82.50444,29.05053],[-82.58281,29.05008],[-82.58236,29.03624],[-82.73893,29.03574],[-82.7387,29.02196],[-82.78572,29.0214]]],"type":"Polygon"}}, +{"properties":{"name":"Citrus County Orthoimagery (2023)","id":"Citrus_Ortho_2023","url":"https://gis.citruspa.org/arcgisweb/rest/services/Tyler/2023_Aerials/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Citrus County Property Appraiser's Office","url":"https://www.citruspa.org/"},"type":"wms","category":"photo","max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[-82.78572,29.0214],[-82.7192,28.69176],[-82.42429,28.69321],[-82.42452,28.65186],[-82.25311,28.65241],[-82.25289,28.67976],[-82.23799,28.67987],[-82.23733,28.72122],[-82.22215,28.72122],[-82.22193,28.73484],[-82.20637,28.73517],[-82.20626,28.74873],[-82.17513,28.74873],[-82.17524,28.77641],[-82.15979,28.77652],[-82.15985,28.81754],[-82.1753,28.81748],[-82.17538,28.83132],[-82.19108,28.83135],[-82.19097,28.84508],[-82.2067,28.84502],[-82.20667,28.85881],[-82.22229,28.85883],[-82.22238,28.87248],[-82.23755,28.8724],[-82.23805,28.90013],[-82.26901,28.89957],[-82.26923,28.92714],[-82.28468,28.92659],[-82.28512,28.95449],[-82.30046,28.9546],[-82.30069,28.98216],[-82.31625,28.98205],[-82.31614,28.99595],[-82.34748,28.99595],[-82.34793,29.00973],[-82.37883,29.00929],[-82.37905,29.02329],[-82.3945,29.0234],[-82.39461,29.03697],[-82.42618,29.03708],[-82.42602,29.05086],[-82.45742,29.05058],[-82.45764,29.06487],[-82.50444,29.06442],[-82.50444,29.05053],[-82.58281,29.05008],[-82.58236,29.03624],[-82.73893,29.03574],[-82.7387,29.02196],[-82.78572,29.0214]]],"type":"Polygon"}}, {"properties":{"name":"Collier County Orthoimagery (2022)","id":"Collier_Ortho_2022","url":"https://ags2.colliercountyfl.gov/imagery/rest/services/Orthos2022/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Collier County Information Technology GIS Team","url":"https://hub-collierbcc.opendata.arcgis.com/"},"type":"wms","category":"historicphoto","max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[-80.85707,26.31698],[-81.22402,26.31665],[-81.22445,26.53704],[-81.59119,26.536],[-81.59079,26.48124],[-81.71292,26.48063],[-81.71234,26.42575],[-81.89595,26.42477],[-81.76936,25.76545],[-80.85773,25.76874],[-80.85707,26.31698]]],"type":"Polygon"}}, {"properties":{"name":"Collier County Orthoimagery (Latest)","id":"Collier_Ortho_Latest","url":"https://ags2.colliercountyfl.gov/imagery/rest/services/CurrentOrthos/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Collier County Information Technology GIS Team","url":"https://hub-collierbcc.opendata.arcgis.com/"},"type":"wms","category":"photo","max_zoom":22},"type":"Feature","geometry":{"coordinates":[[[-80.85707,26.31698],[-81.22402,26.31665],[-81.22445,26.53704],[-81.59119,26.536],[-81.59079,26.48124],[-81.71292,26.48063],[-81.71234,26.42575],[-81.89595,26.42477],[-81.76936,25.76545],[-80.85773,25.76874],[-80.85707,26.31698]]],"type":"Polygon"}}, {"properties":{"name":"Escambia County Orthoimagery (2019)","id":"Escambia_Ortho_2019","url":"https://arcgis5.roktech.net/arcgis/rest/services/escambia/orthos2019/MapServer/WMTS/tile/1.0.0/escambia_orthos2019/default/default028mm/{zoom}/{y}/{x}","attribution":{"required":false,"text":"Florida Department of Transportation","url":"https://www.fdot.gov/gis/aerialmain.shtm"},"type":"tms","category":"historicphoto","max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-87.52087,30.27143],[-87.52254,30.3264],[-87.41504,30.44416],[-87.46452,30.5065],[-87.46495,30.52024],[-87.42014,30.61745],[-87.42147,30.65933],[-87.6506,30.85987],[-87.60687,30.99836],[-87.14441,31.00822],[-87.26968,30.92314],[-87.29788,30.79877],[-87.29612,30.73025],[-87.24492,30.60763],[-87.16347,30.54053],[-87.14613,30.48574],[-87.14373,30.38961],[-87.22278,30.38783],[-87.22166,30.33288],[-87.17394,30.33399],[-86.91777,30.37856],[-86.91777,30.35263],[-87.52087,30.27143]]],"type":"Polygon"}}, @@ -590,7 +599,7 @@ {"properties":{"name":"Cook County Orthoimagery 2022","id":"Cook_IL_2022","url":"https://gis.cookcountyil.gov/imagery/rest/services/CookOrtho2022/ImageServer/exportImage?f=image&format=jpg&imageSR={wkid}&bboxSR={wkid}&bbox={bbox}&size={width},{height}&foo={proj}","attribution":{"required":true,"text":"Cook County GIS","url":"https://hub-cookcountyil.opendata.arcgis.com/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-87.50067,41.45476],[-87.49767,41.68777],[-87.5152,41.73161],[-87.59708,41.82583],[-87.59605,41.88784],[-87.62953,41.96306],[-87.65905,42.04534],[-87.67862,42.08013],[-87.72343,42.10892],[-87.77465,42.17679],[-88.2568,42.17811],[-88.2568,42.17128],[-88.26603,42.17124],[-88.26613,42.08892],[-88.28459,42.0752],[-88.29373,42.0752],[-88.2938,41.98603],[-88.2846,41.98603],[-88.28459,41.96549],[-87.94451,41.9648],[-87.9459,41.73161],[-87.97354,41.71108],[-88.04679,41.71134],[-88.05593,41.70458],[-88.05636,41.62911],[-88.03808,41.61531],[-87.93749,41.61499],[-87.93783,41.54642],[-87.92882,41.53248],[-87.81929,41.5321],[-87.81986,41.45665],[-87.80175,41.44279],[-87.55557,41.44142],[-87.55547,41.44827],[-87.50988,41.44794],[-87.50977,41.45484],[-87.50067,41.45476]]],"type":"Polygon"}}, {"properties":{"name":"Cook County Orthoimagery 2023","id":"Cook_IL_2023","url":"https://gis.cookcountyil.gov/imagery/rest/services/CookOrtho2023/ImageServer/exportImage?f=image&format=jpg&imageSR={wkid}&bboxSR={wkid}&bbox={bbox}&size={width},{height}&foo={proj}","attribution":{"required":true,"text":"Cook County GIS","url":"https://hub-cookcountyil.opendata.arcgis.com/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-87.50067,41.45476],[-87.49767,41.68777],[-87.5152,41.73161],[-87.59708,41.82583],[-87.59605,41.88784],[-87.62953,41.96306],[-87.65905,42.04534],[-87.67862,42.08013],[-87.72343,42.10892],[-87.77465,42.17679],[-88.2568,42.17811],[-88.2568,42.17128],[-88.26603,42.17124],[-88.26613,42.08892],[-88.28459,42.0752],[-88.29373,42.0752],[-88.2938,41.98603],[-88.2846,41.98603],[-88.28459,41.96549],[-87.94451,41.9648],[-87.9459,41.73161],[-87.97354,41.71108],[-88.04679,41.71134],[-88.05593,41.70458],[-88.05636,41.62911],[-88.03808,41.61531],[-87.93749,41.61499],[-87.93783,41.54642],[-87.92882,41.53248],[-87.81929,41.5321],[-87.81986,41.45665],[-87.80175,41.44279],[-87.55557,41.44142],[-87.55547,41.44827],[-87.50988,41.44794],[-87.50977,41.45484],[-87.50067,41.45476]]],"type":"Polygon"}}, {"properties":{"name":"Indiana Statewide Imagery Program (2021)","id":"IN_2021","url":"https://imagery.gis.in.gov/arcgis/rest/services/Imagery/2021/ImageServer/exportImage?f=image&format=jpg&imageSR={wkid}&bboxSR={wkid}&bbox={bbox}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Indiana Geographic Information Office","url":"https://www.in.gov/gis/indiana-imagery/"},"type":"wms","category":"photo","min_zoom":1,"max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[[-86.3097,38.18183],[-86.31264,38.17822],[-86.33109,38.18099],[-86.28777,38.15805],[-86.2718,38.13787],[-86.27866,38.09851],[-86.27872,38.0893],[-86.26689,38.05712],[-86.26127,38.05272],[-86.19093,38.01644],[-86.17898,38.01131],[-86.10023,38.01074],[-86.09466,38.00864],[-86.04537,37.95884],[-86.04352,37.95869],[-86.03632,37.96156],[-86.03517,37.96327],[-86.03106,37.99164],[-86.02831,37.99322],[-85.94916,38.00484],[-85.94706,38.00508],[-85.92644,38.02085],[-85.925,38.02259],[-85.90524,38.08899],[-85.90505,38.09007],[-85.90893,38.14231],[-85.90882,38.14497],[-85.90039,38.17904],[-85.89986,38.17988],[-85.89992,38.18561],[-85.95077,38.18574],[-85.9549,38.26055],[-85.97366,38.26063],[-85.97355,38.27558],[-85.99466,38.27522],[-85.99564,38.30242],[-86.0144,38.30249],[-86.01481,38.33059],[-86.033,38.33067],[-86.03244,38.41768],[-86.25445,38.4224],[-86.25917,38.41516],[-86.26447,38.412],[-86.25802,38.41017],[-86.25215,38.40699],[-86.24927,38.39066],[-86.24576,38.38794],[-86.25517,38.38433],[-86.26163,38.38117],[-86.2593,38.37754],[-86.25816,38.36666],[-86.24819,38.36301],[-86.2482,38.36029],[-86.25291,38.35577],[-86.25703,38.35442],[-86.26405,38.36123],[-86.2705,38.3617],[-86.27353,38.3243],[-86.27306,38.32159],[-86.28346,38.33154],[-86.28605,38.33195],[-86.28451,38.32105],[-86.28941,38.31641],[-86.28263,38.31106],[-86.27581,38.30841],[-86.27864,38.30298],[-86.27444,38.29991],[-86.27136,38.30714],[-86.26773,38.30867],[-86.25894,38.30638],[-86.26423,38.30413],[-86.26485,38.29461],[-86.25253,38.29504],[-86.25313,38.29142],[-86.26959,38.27831],[-86.27486,38.27832],[-86.27612,38.25294],[-86.27737,38.2271],[-86.27972,38.22348],[-86.28442,38.22077],[-86.29319,38.22487],[-86.29788,38.2217],[-86.29848,38.21944],[-86.28912,38.21398],[-86.29557,38.20946],[-86.29032,38.20175],[-86.30627,38.20273],[-86.30848,38.20087],[-86.31671,38.18955],[-86.31847,38.18819],[-86.3097,38.18183]]],[[[-86.92821,41.23801],[-86.93004,41.2371],[-86.93095,41.086],[-86.93041,40.99844],[-86.92929,40.9136],[-86.69579,40.91281],[-86.57968,40.91095],[-86.58017,40.82402],[-86.58133,40.73508],[-86.69536,40.73677],[-86.75238,40.73713],[-86.75719,40.72441],[-86.74927,40.71899],[-86.75651,40.709],[-86.75831,40.70082],[-86.7528,40.68632],[-86.75884,40.68177],[-86.74611,40.67998],[-86.7455,40.67817],[-86.75688,40.66457],[-86.7743,40.66412],[-86.7711,40.56207],[-86.69544,40.56209],[-86.69619,40.17853],[-86.24242,40.18069],[-86.24065,39.94074],[-86.24067,39.92607],[-86.32632,39.92421],[-86.6937,39.92283],[-86.69294,39.86434],[-86.68456,39.86481],[-86.68529,39.68845],[-86.68574,39.62997],[-86.66543,39.63046],[-86.64035,39.63049],[-86.64033,39.62006],[-86.65224,39.60871],[-86.65462,39.6001],[-86.65276,39.56656],[-86.64915,39.55523],[-86.67058,39.53389],[-86.68607,39.52616],[-86.68604,39.51438],[-86.68593,39.46995],[-86.63229,39.46957],[-86.63088,39.34809],[-86.64755,39.35578],[-86.65112,39.35623],[-86.65585,39.34353],[-86.65345,39.33402],[-86.66534,39.33173],[-86.68439,39.33715],[-86.6849,39.00994],[-86.68529,38.99402],[-86.31766,38.99358],[-86.27858,38.99352],[-86.27876,38.93414],[-86.27518,38.763],[-86.25877,38.76964],[-86.25766,38.76989],[-86.25632,38.76464],[-86.25595,38.76412],[-86.2429,38.7655],[-86.24046,38.76564],[-86.22518,38.77887],[-86.22435,38.77922],[-86.2209,38.77188],[-86.22004,38.77071],[-86.2156,38.77862],[-86.21476,38.77934],[-86.20226,38.77383],[-86.19747,38.77366],[-86.1851,38.7837],[-86.1836,38.78391],[-86.17766,38.77509],[-86.173,38.77274],[-86.13588,38.76259],[-86.13545,38.76235],[-86.10381,38.76552],[-86.10252,38.76556],[-86.0931,38.78364],[-86.09219,38.78371],[-86.07581,38.77482],[-86.07469,38.77421],[-86.062,38.77849],[-86.06126,38.77817],[-86.02771,38.75574],[-86.02649,38.75529],[-86.0218,38.76733],[-86.02092,38.76757],[-86.01255,38.75668],[-86.01133,38.75667],[-85.98508,38.76808],[-85.98354,38.76793],[-85.98577,38.75933],[-85.98563,38.75823],[-85.97835,38.7528],[-85.97723,38.75239],[-85.96239,38.76394],[-85.96129,38.76424],[-85.95064,38.76109],[-85.95026,38.76081],[-85.94987,38.75358],[-85.94931,38.75345],[-85.93697,38.76276],[-85.93642,38.76271],[-85.93698,38.75636],[-85.93658,38.7555],[-85.91801,38.74601],[-85.91691,38.74554],[-85.91924,38.75314],[-85.91903,38.75375],[-85.91141,38.7472],[-85.91054,38.74747],[-85.91027,38.75725],[-85.90966,38.75713],[-85.90954,38.75157],[-85.90878,38.75108],[-85.89661,38.75053],[-85.8963,38.75027],[-85.89425,38.7303],[-85.89408,38.72998],[-85.88619,38.73486],[-85.88581,38.73485],[-85.88175,38.72502],[-85.88146,38.72485],[-85.84755,38.73477],[-85.84734,38.73492],[-85.82006,38.77551],[-85.81989,38.77593],[-85.8048,38.77951],[-85.80465,38.77961],[-85.8074,38.78896],[-85.80736,38.7892],[-85.79512,38.80755],[-85.79493,38.8078],[-85.79893,39.12907],[-85.688,39.13067],[-85.68507,39.3387],[-85.68494,39.35049],[-85.94282,39.34752],[-85.95215,39.3473],[-85.954,39.86768],[-85.95401,39.86965],[-85.94827,39.86972],[-85.93807,39.86981],[-85.93738,39.92643],[-85.93759,39.92714],[-85.86955,39.92885],[-85.86242,39.92894],[-85.86218,40.40686],[-85.86405,40.56663],[-86.01292,40.56503],[-86.16541,40.56325],[-86.16901,40.96017],[-86.16763,40.99646],[-86.01846,40.9978],[-85.94662,40.99932],[-85.94044,40.7008],[-85.93961,40.65272],[-85.67424,40.65399],[-85.6385,40.65421],[-85.64054,40.78532],[-85.64402,41.00129],[-85.68359,41.00155],[-85.68562,41.08958],[-85.68764,41.17898],[-85.65224,41.17875],[-85.65887,41.69895],[-85.6598,41.7591],[-86.51946,41.75968],[-86.52422,41.75966],[-86.52661,41.6516],[-86.52664,41.65022],[-86.49012,41.64955],[-86.48727,41.64952],[-86.48627,41.58005],[-86.48617,41.57768],[-86.49511,41.56343],[-86.49809,41.56109],[-86.49811,41.52928],[-86.4982,41.52832],[-86.50521,41.51995],[-86.52484,41.51999],[-86.52465,41.43601],[-86.52467,41.43287],[-86.58209,41.43339],[-86.64151,41.4338],[-86.69839,41.40422],[-86.70206,41.40058],[-86.73794,41.32927],[-86.73914,41.32246],[-86.77633,41.29335],[-86.78424,41.28516],[-86.8465,41.26731],[-86.87032,41.26452],[-86.92821,41.23801]]]],"type":"MultiPolygon"}}, -{"properties":{"name":"IndianaMap Orthoimagery - Latest Available","id":"IndianaMap_Latest","url":"https://imagery.gis.in.gov/arcgis/rest/services/Imagery/BestAvailable/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"IndianaMap, Indiana Geographic Information Office","url":"https://www.indianamap.org/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-87.52333,41.76036],[-87.53164,39.34764],[-87.58095,39.34014],[-87.60653,39.30973],[-87.60515,39.24169],[-87.57906,39.24196],[-87.57872,39.2147],[-87.67502,39.13179],[-87.58541,39.06358],[-87.58507,38.96768],[-87.53237,38.96795],[-87.53117,38.85147],[-87.49615,38.7656],[-87.52018,38.69422],[-87.53597,38.68028],[-87.56155,38.67519],[-87.58172,38.67224],[-87.59674,38.66601],[-87.60266,38.65837],[-87.60447,38.64771],[-87.6212,38.63839],[-87.6273,38.58602],[-87.63622,38.59353],[-87.64056,38.59074],[-87.6388,38.57498],[-87.65317,38.56726],[-87.65013,38.55716],[-87.6709,38.54521],[-87.65459,38.51963],[-87.64515,38.51527],[-87.71158,38.48007],[-87.74076,38.4802],[-87.74403,38.40989],[-87.78179,38.36831],[-87.80874,38.36198],[-87.83466,38.32186],[-87.82969,38.29977],[-87.83775,38.28185],[-87.84908,38.27552],[-87.85767,38.27511],[-87.86419,38.27902],[-87.86608,38.28926],[-87.85938,38.30449],[-87.86333,38.31095],[-87.87071,38.3127],[-87.87912,38.30853],[-87.88599,38.28899],[-87.90745,38.26918],[-87.91586,38.2677],[-87.92152,38.27201],[-87.91809,38.2797],[-87.90882,38.29344],[-87.91277,38.30179],[-87.92341,38.30287],[-87.938,38.29304],[-87.94882,38.25631],[-87.98882,38.25625],[-87.98349,38.2077],[-87.96513,38.18652],[-87.93612,38.1733],[-87.96504,38.06728],[-87.99422,38.05316],[-88.03534,38.05242],[-88.04392,38.04458],[-88.04117,38.03592],[-88.03362,38.03187],[-88.01439,38.03471],[-88.00838,38.03119],[-88.02418,38.01551],[-88.02349,38.00144],[-88.01079,37.96978],[-88.03637,37.95719],[-88.03671,37.94163],[-88.01611,37.91793],[-88.01954,37.90845],[-88.01259,37.88867],[-88.02109,37.88292],[-88.03362,37.89511],[-88.04572,37.89084],[-88.05842,37.89118],[-88.09542,37.90771],[-88.10005,37.9052],[-88.06091,37.84856],[-88.02624,37.83772],[-88.02933,37.82633],[-88.09044,37.82931],[-88.0901,37.81521],[-88.06366,37.79812],[-88.03551,37.81304],[-88.02177,37.80056],[-87.99877,37.79866],[-87.95371,37.76766],[-87.91946,37.803],[-87.89698,37.8125],[-87.9344,37.89192],[-87.89886,37.92727],[-87.88788,37.92754],[-87.83346,37.87323],[-87.78334,37.87296],[-87.68223,37.90154],[-87.66781,37.89301],[-87.68352,37.83948],[-87.66935,37.82375],[-87.61459,37.82816],[-87.58206,37.8695],[-87.59073,37.88847],[-87.62541,37.91522],[-87.58781,37.97492],[-87.58404,37.91928],[-87.54284,37.9033],[-87.50027,37.90479],[-87.45615,37.93499],[-87.43538,37.94244],[-87.41014,37.94176],[-87.38199,37.93296],[-87.20261,37.84083],[-87.15643,37.83609],[-87.12776,37.77886],[-87.08244,37.78279],[-87.05309,37.82199],[-87.03369,37.9052],[-86.97207,37.93147],[-86.90821,37.93811],[-86.86117,37.98263],[-86.81482,37.99873],[-86.79543,37.98764],[-86.77431,37.93418],[-86.72693,37.88881],[-86.67664,37.91522],[-86.64539,37.90777],[-86.66548,37.85059],[-86.65003,37.83663],[-86.59836,37.85846],[-86.5963,37.91238],[-86.5781,37.92253],[-86.52952,37.914],[-86.50206,37.93201],[-86.52437,37.97235],[-86.51991,38.04025],[-86.45124,38.04539],[-86.4279,38.07107],[-86.42944,38.08647],[-86.46343,38.10174],[-86.4624,38.11916],[-86.44644,38.12767],[-86.39889,38.10295],[-86.38292,38.12686],[-86.33074,38.12848],[-86.31838,38.1486],[-86.32833,38.15967],[-86.36713,38.16358],[-86.37863,38.17924],[-86.36988,38.19651],[-86.35614,38.1992],[-86.28611,38.15454],[-86.27255,38.13415],[-86.28199,38.0908],[-86.27031,38.0539],[-86.17744,38.00962],[-86.1165,38.0153],[-86.08131,37.99995],[-86.05471,37.96186],[-86.04312,37.95692],[-86.03419,37.96234],[-86.03179,37.99116],[-85.94708,38.00496],[-85.92184,38.0247],[-85.9033,38.09998],[-85.90759,38.15724],[-85.89403,38.18598],[-85.83601,38.2371],[-85.83189,38.26959],[-85.81713,38.28145],[-85.78486,38.28266],[-85.75533,38.26379],[-85.73456,38.26662],[-85.6592,38.3088],[-85.60959,38.43504],[-85.58281,38.44915],[-85.49973,38.46091],[-85.46805,38.50795],[-85.41969,38.53037],[-85.41046,38.56441],[-85.43758,38.6099],[-85.43758,38.65509],[-85.45406,38.69743],[-85.43089,38.72972],[-85.41407,38.73494],[-85.35416,38.72891],[-85.30283,38.73909],[-85.27674,38.73989],[-85.24979,38.73253],[-85.21563,38.69154],[-85.18232,38.68497],[-85.14662,38.69194],[-85.08945,38.73105],[-85.02405,38.75917],[-84.99315,38.7767],[-84.93899,38.7759],[-84.89016,38.7951],[-84.82115,38.78266],[-84.8087,38.78975],[-84.83033,38.83008],[-84.78579,38.86504],[-84.78458,38.88268],[-84.82364,38.89765],[-84.86544,38.89838],[-84.8796,38.91702],[-84.82956,38.96542],[-84.83844,38.9916],[-84.89728,39.05372],[-84.88998,39.06292],[-84.81982,39.10805],[-84.80589,41.76022],[-87.52333,41.76036]]],"type":"Polygon"}}, +{"properties":{"name":"IndianaMap Orthoimagery - Latest Available","id":"IndianaMap_Latest","url":"https://di-ingov.img.arcgis.com/arcgis/rest/services/DynamicWebMercator/Indiana_Current_Imagery/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"IndianaMap, Indiana Geographic Information Office","url":"https://www.indianamap.org/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-87.52333,41.76036],[-87.53164,39.34764],[-87.58095,39.34014],[-87.60653,39.30973],[-87.60515,39.24169],[-87.57906,39.24196],[-87.57872,39.2147],[-87.67502,39.13179],[-87.58541,39.06358],[-87.58507,38.96768],[-87.53237,38.96795],[-87.53117,38.85147],[-87.49615,38.7656],[-87.52018,38.69422],[-87.53597,38.68028],[-87.56155,38.67519],[-87.58172,38.67224],[-87.59674,38.66601],[-87.60266,38.65837],[-87.60447,38.64771],[-87.6212,38.63839],[-87.6273,38.58602],[-87.63622,38.59353],[-87.64056,38.59074],[-87.6388,38.57498],[-87.65317,38.56726],[-87.65013,38.55716],[-87.6709,38.54521],[-87.65459,38.51963],[-87.64515,38.51527],[-87.71158,38.48007],[-87.74076,38.4802],[-87.74403,38.40989],[-87.78179,38.36831],[-87.80874,38.36198],[-87.83466,38.32186],[-87.82969,38.29977],[-87.83775,38.28185],[-87.84908,38.27552],[-87.85767,38.27511],[-87.86419,38.27902],[-87.86608,38.28926],[-87.85938,38.30449],[-87.86333,38.31095],[-87.87071,38.3127],[-87.87912,38.30853],[-87.88599,38.28899],[-87.90745,38.26918],[-87.91586,38.2677],[-87.92152,38.27201],[-87.91809,38.2797],[-87.90882,38.29344],[-87.91277,38.30179],[-87.92341,38.30287],[-87.938,38.29304],[-87.94882,38.25631],[-87.98882,38.25625],[-87.98349,38.2077],[-87.96513,38.18652],[-87.93612,38.1733],[-87.96504,38.06728],[-87.99422,38.05316],[-88.03534,38.05242],[-88.04392,38.04458],[-88.04117,38.03592],[-88.03362,38.03187],[-88.01439,38.03471],[-88.00838,38.03119],[-88.02418,38.01551],[-88.02349,38.00144],[-88.01079,37.96978],[-88.03637,37.95719],[-88.03671,37.94163],[-88.01611,37.91793],[-88.01954,37.90845],[-88.01259,37.88867],[-88.02109,37.88292],[-88.03362,37.89511],[-88.04572,37.89084],[-88.05842,37.89118],[-88.09542,37.90771],[-88.10005,37.9052],[-88.06091,37.84856],[-88.02624,37.83772],[-88.02933,37.82633],[-88.09044,37.82931],[-88.0901,37.81521],[-88.06366,37.79812],[-88.03551,37.81304],[-88.02177,37.80056],[-87.99877,37.79866],[-87.95371,37.76766],[-87.91946,37.803],[-87.89698,37.8125],[-87.9344,37.89192],[-87.89886,37.92727],[-87.88788,37.92754],[-87.83346,37.87323],[-87.78334,37.87296],[-87.68223,37.90154],[-87.66781,37.89301],[-87.68352,37.83948],[-87.66935,37.82375],[-87.61459,37.82816],[-87.58206,37.8695],[-87.59073,37.88847],[-87.62541,37.91522],[-87.58781,37.97492],[-87.58404,37.91928],[-87.54284,37.9033],[-87.50027,37.90479],[-87.45615,37.93499],[-87.43538,37.94244],[-87.41014,37.94176],[-87.38199,37.93296],[-87.20261,37.84083],[-87.15643,37.83609],[-87.12776,37.77886],[-87.08244,37.78279],[-87.05309,37.82199],[-87.03369,37.9052],[-86.97207,37.93147],[-86.90821,37.93811],[-86.86117,37.98263],[-86.81482,37.99873],[-86.79543,37.98764],[-86.77431,37.93418],[-86.72693,37.88881],[-86.67664,37.91522],[-86.64539,37.90777],[-86.66548,37.85059],[-86.65003,37.83663],[-86.59836,37.85846],[-86.5963,37.91238],[-86.5781,37.92253],[-86.52952,37.914],[-86.50206,37.93201],[-86.52437,37.97235],[-86.51991,38.04025],[-86.45124,38.04539],[-86.4279,38.07107],[-86.42944,38.08647],[-86.46343,38.10174],[-86.4624,38.11916],[-86.44644,38.12767],[-86.39889,38.10295],[-86.38292,38.12686],[-86.33074,38.12848],[-86.31838,38.1486],[-86.32833,38.15967],[-86.36713,38.16358],[-86.37863,38.17924],[-86.36988,38.19651],[-86.35614,38.1992],[-86.28611,38.15454],[-86.27255,38.13415],[-86.28199,38.0908],[-86.27031,38.0539],[-86.17744,38.00962],[-86.1165,38.0153],[-86.08131,37.99995],[-86.05471,37.96186],[-86.04312,37.95692],[-86.03419,37.96234],[-86.03179,37.99116],[-85.94708,38.00496],[-85.92184,38.0247],[-85.9033,38.09998],[-85.90759,38.15724],[-85.89403,38.18598],[-85.83601,38.2371],[-85.83189,38.26959],[-85.81713,38.28145],[-85.78486,38.28266],[-85.75533,38.26379],[-85.73456,38.26662],[-85.6592,38.3088],[-85.60959,38.43504],[-85.58281,38.44915],[-85.49973,38.46091],[-85.46805,38.50795],[-85.41969,38.53037],[-85.41046,38.56441],[-85.43758,38.6099],[-85.43758,38.65509],[-85.45406,38.69743],[-85.43089,38.72972],[-85.41407,38.73494],[-85.35416,38.72891],[-85.30283,38.73909],[-85.27674,38.73989],[-85.24979,38.73253],[-85.21563,38.69154],[-85.18232,38.68497],[-85.14662,38.69194],[-85.08945,38.73105],[-85.02405,38.75917],[-84.99315,38.7767],[-84.93899,38.7759],[-84.89016,38.7951],[-84.82115,38.78266],[-84.8087,38.78975],[-84.83033,38.83008],[-84.78579,38.86504],[-84.78458,38.88268],[-84.82364,38.89765],[-84.86544,38.89838],[-84.8796,38.91702],[-84.82956,38.96542],[-84.83844,38.9916],[-84.89728,39.05372],[-84.88998,39.06292],[-84.81982,39.10805],[-84.80589,41.76022],[-87.52333,41.76036]]],"type":"Polygon"}}, {"properties":{"name":"Kansas NG911 Orthoimagery (2014)","id":"Kansas_NG911_2014","url":"https://services.kansasgis.org/arcgis7/rest/services/IMAGERY_STATEWIDE/Kansas_HRO_2014_Color/ImageServer/exportImage?f=image&format=jpg&imageSR={wkid}&bboxSR={wkid}&bbox={bbox}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Kansas 911 Coordinating Council","url":"https://www.kansas911.org/"},"type":"wms","category":"historicphoto","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-102.06762,40.06783],[-102.06732,36.93037],[-100.62412,36.96251],[-100.62447,36.99871],[-99.69063,36.99762],[-99.67484,36.93672],[-94.52637,36.91422],[-94.5589,39.19129],[-94.74524,39.19062],[-94.74678,39.25379],[-94.80789,39.25299],[-94.80892,39.3165],[-94.87003,39.31544],[-94.87209,39.43898],[-94.93166,39.43778],[-94.93423,39.50152],[-95.00002,39.50318],[-94.99483,39.625],[-94.93209,39.62334],[-94.93372,39.68387],[-94.80703,39.68473],[-94.81098,39.81632],[-94.87209,39.81526],[-94.87227,39.94173],[-95.06813,39.94028],[-95.06641,39.87905],[-95.1198,39.878],[-95.12169,39.94146],[-95.18177,39.94041],[-95.18332,40.00132],[-95.24975,40.0029],[-95.24666,40.06651],[-102.06762,40.06783]]],"type":"Polygon"}}, {"properties":{"name":"Kansas NG911 Orthoimagery (2018)","id":"Kansas_NG911_2018","url":"https://services.kansasgis.org/arcgis7/rest/services/IMAGERY_STATEWIDE/NG911_Imagery_2018_SID/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Kansas 911 Coordinating Council","url":"https://www.kansas911.org/"},"type":"wms","category":"historicphoto","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-102.06762,40.06783],[-102.06732,36.93037],[-100.62412,36.96251],[-100.62447,36.99871],[-99.69063,36.99762],[-99.67484,36.93672],[-94.52637,36.91422],[-94.5589,39.19129],[-94.74524,39.19062],[-94.74678,39.25379],[-94.80789,39.25299],[-94.80892,39.3165],[-94.87003,39.31544],[-94.87209,39.43898],[-94.93166,39.43778],[-94.93423,39.50152],[-95.00002,39.50318],[-94.99483,39.625],[-94.93209,39.62334],[-94.93372,39.68387],[-94.80703,39.68473],[-94.81098,39.81632],[-94.87209,39.81526],[-94.87227,39.94173],[-95.06813,39.94028],[-95.06641,39.87905],[-95.1198,39.878],[-95.12169,39.94146],[-95.18177,39.94041],[-95.18332,40.00132],[-95.24975,40.0029],[-95.24666,40.06651],[-102.06762,40.06783]]],"type":"Polygon"}}, {"properties":{"name":"Kansas NG911 Orthoimagery (2021)","id":"Kansas_NG911_2021","url":"https://services.kansasgis.org/arcgis7/rest/services/IMAGERY_STATEWIDE/NG911_Imagery_2021/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Kansas 911 Coordinating Council","url":"https://www.kansas911.org/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-102.06762,40.06783],[-102.06732,36.93037],[-100.62412,36.96251],[-100.62447,36.99871],[-99.69063,36.99762],[-99.67484,36.93672],[-94.52637,36.91422],[-94.5589,39.19129],[-94.74524,39.19062],[-94.74678,39.25379],[-94.80789,39.25299],[-94.80892,39.3165],[-94.87003,39.31544],[-94.87209,39.43898],[-94.93166,39.43778],[-94.93423,39.50152],[-95.00002,39.50318],[-94.99483,39.625],[-94.93209,39.62334],[-94.93372,39.68387],[-94.80703,39.68473],[-94.81098,39.81632],[-94.87209,39.81526],[-94.87227,39.94173],[-95.06813,39.94028],[-95.06641,39.87905],[-95.1198,39.878],[-95.12169,39.94146],[-95.18177,39.94041],[-95.18332,40.00132],[-95.24975,40.0029],[-95.24666,40.06651],[-102.06762,40.06783]]],"type":"Polygon"}}, @@ -610,7 +619,7 @@ {"properties":{"name":"Dakota County GIS 2019 Spring Leaf-Off 6-Inch","id":"DCGIS-County-Imagery-2019-Spring-Leaf-Off-6-Inch","url":"https://gisimg.co.dakota.mn.us/arcgis/services/AerialPhotography/2019AirPhotoLeafOff6Inch_Spring/ImageServer/WMSServer?LAYERS=2019AirPhotoLeafOff6Inch_Spring:default&STYLES=&FORMAT=image/jpeg&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap","attribution":{"required":false,"text":"Dakota County GIS","url":"https://dakotacounty.us"},"type":"wms","category":"photo","min_zoom":5,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-93.32967,44.79107],[-93.32964,44.63037],[-93.28189,44.63074],[-93.28169,44.47194],[-93.28176,44.47137],[-93.0395,44.47103],[-93.03924,44.51125],[-92.91932,44.51049],[-92.91899,44.54325],[-92.79268,44.54324],[-92.7926,44.62971],[-92.73207,44.62948],[-92.73122,44.71411],[-92.80342,44.74652],[-92.82767,44.75056],[-92.85209,44.74695],[-92.85959,44.75359],[-92.87724,44.77283],[-92.88149,44.77492],[-92.9049,44.77408],[-92.92808,44.78111],[-92.93969,44.77563],[-92.94843,44.76786],[-92.95859,44.76724],[-92.98604,44.77501],[-92.99291,44.77517],[-93.00306,44.77206],[-93.01685,44.77635],[-93.02153,44.79431],[-93.00523,44.81541],[-93.0119,44.83657],[-93.00859,44.85652],[-93.01041,44.86586],[-93.02074,44.89279],[-93.0309,44.8967],[-93.04083,44.90391],[-93.04445,44.91514],[-93.04725,44.9195],[-93.04724,44.92318],[-93.12863,44.92335],[-93.12882,44.91965],[-93.13257,44.91243],[-93.1641,44.89048],[-93.18289,44.8872],[-93.20075,44.86486],[-93.20325,44.85263],[-93.22179,44.83825],[-93.25188,44.81146],[-93.28177,44.80611],[-93.30453,44.7945],[-93.32645,44.79245],[-93.32961,44.79107],[-93.32967,44.79107]]],"type":"Polygon"}}, {"properties":{"name":"Hennepin County Orthoimagery (2020)","id":"Hennepin_Ortho_2020","url":"https://gis.hennepin.us/arcgis/services/Imagery/UTM_Aerial_2020/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=1&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"required":false,"text":"Hennepin County GIS","url":"https://gis-hennepin.hub.arcgis.com/"},"type":"wms","category":"historicphoto","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-93.20054,44.86147],[-93.1781,44.8865],[-93.17243,44.88651],[-93.17245,44.89458],[-93.18381,44.89456],[-93.18382,44.8986],[-93.18951,44.89859],[-93.18952,44.90666],[-93.19521,44.90665],[-93.19534,44.947],[-93.2018,44.94696],[-93.20189,44.95506],[-93.20673,44.95505],[-93.20702,45.03576],[-93.28101,45.03561],[-93.28115,45.06788],[-93.27548,45.06789],[-93.27566,45.10824],[-93.28136,45.10823],[-93.28137,45.10984],[-93.28426,45.10984],[-93.28427,45.11226],[-93.28708,45.11225],[-93.28711,45.11629],[-93.2928,45.11629],[-93.29289,45.13241],[-93.29858,45.1324],[-93.2986,45.13643],[-93.3043,45.13642],[-93.30491,45.14448],[-93.31005,45.14447],[-93.31007,45.14851],[-93.32147,45.14848],[-93.3215,45.15251],[-93.3272,45.1525],[-93.32723,45.15653],[-93.33863,45.1565],[-93.33866,45.16053],[-93.34436,45.16051],[-93.3444,45.16762],[-93.34599,45.16762],[-93.34599,45.16858],[-93.35011,45.16857],[-93.35014,45.1726],[-93.35585,45.17258],[-93.35586,45.17662],[-93.36158,45.17661],[-93.3616,45.18064],[-93.37301,45.18061],[-93.37304,45.18464],[-93.37874,45.18462],[-93.37877,45.18865],[-93.39018,45.18863],[-93.39021,45.19265],[-93.39591,45.19263],[-93.39594,45.19642],[-93.40762,45.1964],[-93.40767,45.20066],[-93.41309,45.20064],[-93.41315,45.20871],[-93.41886,45.20869],[-93.41892,45.21676],[-93.42463,45.21674],[-93.42466,45.22077],[-93.4532,45.22066],[-93.45323,45.2247],[-93.45894,45.22468],[-93.45898,45.22871],[-93.48753,45.22859],[-93.48756,45.23262],[-93.49327,45.2326],[-93.49334,45.24067],[-93.49905,45.24065],[-93.49909,45.24469],[-93.5048,45.24466],[-93.50484,45.24869],[-93.52768,45.24859],[-93.52761,45.24052],[-93.5219,45.24056],[-93.52187,45.23651],[-93.52757,45.23648],[-93.5275,45.22841],[-93.53321,45.22839],[-93.53325,45.23242],[-93.53896,45.2324],[-93.539,45.23643],[-93.54471,45.2364],[-93.54467,45.23237],[-93.55037,45.23234],[-93.55034,45.22831],[-93.56176,45.22825],[-93.56172,45.22422],[-93.57313,45.22417],[-93.5731,45.22012],[-93.59593,45.22001],[-93.59585,45.21194],[-93.60155,45.21191],[-93.6016,45.21594],[-93.61302,45.21588],[-93.61298,45.21185],[-93.64722,45.21166],[-93.64713,45.20359],[-93.65284,45.20355],[-93.65279,45.19952],[-93.6585,45.19949],[-93.65846,45.19545],[-93.66416,45.19542],[-93.66407,45.18735],[-93.65836,45.18739],[-93.65831,45.18335],[-93.65261,45.18338],[-93.65256,45.17935],[-93.64686,45.17938],[-93.64682,45.17535],[-93.64111,45.17538],[-93.64102,45.16731],[-93.64672,45.16728],[-93.64667,45.16324],[-93.65238,45.16321],[-93.65233,45.15917],[-93.65803,45.15914],[-93.65799,45.15511],[-93.6865,45.15494],[-93.68641,45.14687],[-93.69211,45.14683],[-93.69206,45.1428],[-93.69776,45.14276],[-93.69771,45.13873],[-93.70341,45.13869],[-93.70336,45.13466],[-93.70906,45.13462],[-93.70896,45.12655],[-93.71409,45.12652],[-93.71404,45.12245],[-93.72031,45.12241],[-93.72026,45.11841],[-93.72596,45.11838],[-93.72581,45.10627],[-93.7315,45.10623],[-93.7313,45.09009],[-93.73699,45.09006],[-93.73694,45.08602],[-93.74264,45.08599],[-93.74258,45.08195],[-93.75397,45.08188],[-93.75405,45.08591],[-93.76542,45.08584],[-93.7652,45.0697],[-93.7709,45.06966],[-93.76851,44.8903],[-93.60927,44.89126],[-93.60925,44.88905],[-93.52439,44.88947],[-93.52365,44.80364],[-93.43786,44.80979],[-93.34477,44.78525],[-93.24592,44.81373],[-93.20054,44.86147]]],"type":"Polygon"}}, {"properties":{"name":"Hennepin County Orthoimagery (2021)","id":"Hennepin_Ortho_2021","url":"https://gis.hennepin.us/arcgis/services/Imagery/UTM_Aerial_2021/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=1&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"required":false,"text":"Hennepin County GIS","url":"https://gis-hennepin.hub.arcgis.com/"},"type":"wms","category":"historicphoto","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-93.20054,44.86147],[-93.1781,44.8865],[-93.17243,44.88651],[-93.17245,44.89458],[-93.18381,44.89456],[-93.18382,44.8986],[-93.18951,44.89859],[-93.18952,44.90666],[-93.19521,44.90665],[-93.19534,44.947],[-93.2018,44.94696],[-93.20189,44.95506],[-93.20673,44.95505],[-93.20702,45.03576],[-93.28101,45.03561],[-93.28115,45.06788],[-93.27548,45.06789],[-93.27566,45.10824],[-93.28136,45.10823],[-93.28137,45.10984],[-93.28426,45.10984],[-93.28427,45.11226],[-93.28708,45.11225],[-93.28711,45.11629],[-93.2928,45.11629],[-93.29289,45.13241],[-93.29858,45.1324],[-93.2986,45.13643],[-93.3043,45.13642],[-93.30491,45.14448],[-93.31005,45.14447],[-93.31007,45.14851],[-93.32147,45.14848],[-93.3215,45.15251],[-93.3272,45.1525],[-93.32723,45.15653],[-93.33863,45.1565],[-93.33866,45.16053],[-93.34436,45.16051],[-93.3444,45.16762],[-93.34599,45.16762],[-93.34599,45.16858],[-93.35011,45.16857],[-93.35014,45.1726],[-93.35585,45.17258],[-93.35586,45.17662],[-93.36158,45.17661],[-93.3616,45.18064],[-93.37301,45.18061],[-93.37304,45.18464],[-93.37874,45.18462],[-93.37877,45.18865],[-93.39018,45.18863],[-93.39021,45.19265],[-93.39591,45.19263],[-93.39594,45.19642],[-93.40762,45.1964],[-93.40767,45.20066],[-93.41309,45.20064],[-93.41315,45.20871],[-93.41886,45.20869],[-93.41892,45.21676],[-93.42463,45.21674],[-93.42466,45.22077],[-93.4532,45.22066],[-93.45323,45.2247],[-93.45894,45.22468],[-93.45898,45.22871],[-93.48753,45.22859],[-93.48756,45.23262],[-93.49327,45.2326],[-93.49334,45.24067],[-93.49905,45.24065],[-93.49909,45.24469],[-93.5048,45.24466],[-93.50484,45.24869],[-93.52768,45.24859],[-93.52761,45.24052],[-93.5219,45.24056],[-93.52187,45.23651],[-93.52757,45.23648],[-93.5275,45.22841],[-93.53321,45.22839],[-93.53325,45.23242],[-93.53896,45.2324],[-93.539,45.23643],[-93.54471,45.2364],[-93.54467,45.23237],[-93.55037,45.23234],[-93.55034,45.22831],[-93.56176,45.22825],[-93.56172,45.22422],[-93.57313,45.22417],[-93.5731,45.22012],[-93.59593,45.22001],[-93.59585,45.21194],[-93.60155,45.21191],[-93.6016,45.21594],[-93.61302,45.21588],[-93.61298,45.21185],[-93.64722,45.21166],[-93.64713,45.20359],[-93.65284,45.20355],[-93.65279,45.19952],[-93.6585,45.19949],[-93.65846,45.19545],[-93.66416,45.19542],[-93.66407,45.18735],[-93.65836,45.18739],[-93.65831,45.18335],[-93.65261,45.18338],[-93.65256,45.17935],[-93.64686,45.17938],[-93.64682,45.17535],[-93.64111,45.17538],[-93.64102,45.16731],[-93.64672,45.16728],[-93.64667,45.16324],[-93.65238,45.16321],[-93.65233,45.15917],[-93.65803,45.15914],[-93.65799,45.15511],[-93.6865,45.15494],[-93.68641,45.14687],[-93.69211,45.14683],[-93.69206,45.1428],[-93.69776,45.14276],[-93.69771,45.13873],[-93.70341,45.13869],[-93.70336,45.13466],[-93.70906,45.13462],[-93.70896,45.12655],[-93.71409,45.12652],[-93.71404,45.12245],[-93.72031,45.12241],[-93.72026,45.11841],[-93.72596,45.11838],[-93.72581,45.10627],[-93.7315,45.10623],[-93.7313,45.09009],[-93.73699,45.09006],[-93.73694,45.08602],[-93.74264,45.08599],[-93.74258,45.08195],[-93.75397,45.08188],[-93.75405,45.08591],[-93.76542,45.08584],[-93.7652,45.0697],[-93.7709,45.06966],[-93.76851,44.8903],[-93.60927,44.89126],[-93.60925,44.88905],[-93.52439,44.88947],[-93.52365,44.80364],[-93.43786,44.80979],[-93.34477,44.78525],[-93.24592,44.81373],[-93.20054,44.86147]]],"type":"Polygon"}}, -{"properties":{"name":"Hennepin County Orthoimagery (2022)","id":"Hennepin_Ortho_2022","url":"https://gis.hennepin.us/arcgis/services/Imagery/UTM_Aerial_2022/MapServer/WMSServer?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"required":false,"text":"Hennepin County GIS","url":"https://gis-hennepin.hub.arcgis.com/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-93.20054,44.86147],[-93.1781,44.8865],[-93.17243,44.88651],[-93.17245,44.89458],[-93.18381,44.89456],[-93.18382,44.8986],[-93.18951,44.89859],[-93.18952,44.90666],[-93.19521,44.90665],[-93.19534,44.947],[-93.2018,44.94696],[-93.20189,44.95506],[-93.20673,44.95505],[-93.20702,45.03576],[-93.28101,45.03561],[-93.28115,45.06788],[-93.27548,45.06789],[-93.27566,45.10824],[-93.28136,45.10823],[-93.28137,45.10984],[-93.28426,45.10984],[-93.28427,45.11226],[-93.28708,45.11225],[-93.28711,45.11629],[-93.2928,45.11629],[-93.29289,45.13241],[-93.29858,45.1324],[-93.2986,45.13643],[-93.3043,45.13642],[-93.30491,45.14448],[-93.31005,45.14447],[-93.31007,45.14851],[-93.32147,45.14848],[-93.3215,45.15251],[-93.3272,45.1525],[-93.32723,45.15653],[-93.33863,45.1565],[-93.33866,45.16053],[-93.34436,45.16051],[-93.3444,45.16762],[-93.34599,45.16762],[-93.34599,45.16858],[-93.35011,45.16857],[-93.35014,45.1726],[-93.35585,45.17258],[-93.35586,45.17662],[-93.36158,45.17661],[-93.3616,45.18064],[-93.37301,45.18061],[-93.37304,45.18464],[-93.37874,45.18462],[-93.37877,45.18865],[-93.39018,45.18863],[-93.39021,45.19265],[-93.39591,45.19263],[-93.39594,45.19642],[-93.40762,45.1964],[-93.40767,45.20066],[-93.41309,45.20064],[-93.41315,45.20871],[-93.41886,45.20869],[-93.41892,45.21676],[-93.42463,45.21674],[-93.42466,45.22077],[-93.4532,45.22066],[-93.45323,45.2247],[-93.45894,45.22468],[-93.45898,45.22871],[-93.48753,45.22859],[-93.48756,45.23262],[-93.49327,45.2326],[-93.49334,45.24067],[-93.49905,45.24065],[-93.49909,45.24469],[-93.5048,45.24466],[-93.50484,45.24869],[-93.52768,45.24859],[-93.52761,45.24052],[-93.5219,45.24056],[-93.52187,45.23651],[-93.52757,45.23648],[-93.5275,45.22841],[-93.53321,45.22839],[-93.53325,45.23242],[-93.53896,45.2324],[-93.539,45.23643],[-93.54471,45.2364],[-93.54467,45.23237],[-93.55037,45.23234],[-93.55034,45.22831],[-93.56176,45.22825],[-93.56172,45.22422],[-93.57313,45.22417],[-93.5731,45.22012],[-93.59593,45.22001],[-93.59585,45.21194],[-93.60155,45.21191],[-93.6016,45.21594],[-93.61302,45.21588],[-93.61298,45.21185],[-93.64722,45.21166],[-93.64713,45.20359],[-93.65284,45.20355],[-93.65279,45.19952],[-93.6585,45.19949],[-93.65846,45.19545],[-93.66416,45.19542],[-93.66407,45.18735],[-93.65836,45.18739],[-93.65831,45.18335],[-93.65261,45.18338],[-93.65256,45.17935],[-93.64686,45.17938],[-93.64682,45.17535],[-93.64111,45.17538],[-93.64102,45.16731],[-93.64672,45.16728],[-93.64667,45.16324],[-93.65238,45.16321],[-93.65233,45.15917],[-93.65803,45.15914],[-93.65799,45.15511],[-93.6865,45.15494],[-93.68641,45.14687],[-93.69211,45.14683],[-93.69206,45.1428],[-93.69776,45.14276],[-93.69771,45.13873],[-93.70341,45.13869],[-93.70336,45.13466],[-93.70906,45.13462],[-93.70896,45.12655],[-93.71409,45.12652],[-93.71404,45.12245],[-93.72031,45.12241],[-93.72026,45.11841],[-93.72596,45.11838],[-93.72581,45.10627],[-93.7315,45.10623],[-93.7313,45.09009],[-93.73699,45.09006],[-93.73694,45.08602],[-93.74264,45.08599],[-93.74258,45.08195],[-93.75397,45.08188],[-93.75405,45.08591],[-93.76542,45.08584],[-93.7652,45.0697],[-93.7709,45.06966],[-93.76851,44.8903],[-93.60927,44.89126],[-93.60925,44.88905],[-93.52439,44.88947],[-93.52365,44.80364],[-93.43786,44.80979],[-93.34477,44.78525],[-93.24592,44.81373],[-93.20054,44.86147]]],"type":"Polygon"}}, +{"properties":{"name":"Hennepin County Orthoimagery (2022)","id":"Hennepin_Ortho_2022","url":"https://gis.hennepin.us/arcgis/rest/services/Imagery/UTM_Aerial_2022/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Hennepin County GIS","url":"https://gis-hennepin.hub.arcgis.com/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-93.20054,44.86147],[-93.1781,44.8865],[-93.17243,44.88651],[-93.17245,44.89458],[-93.18381,44.89456],[-93.18382,44.8986],[-93.18951,44.89859],[-93.18952,44.90666],[-93.19521,44.90665],[-93.19534,44.947],[-93.2018,44.94696],[-93.20189,44.95506],[-93.20673,44.95505],[-93.20702,45.03576],[-93.28101,45.03561],[-93.28115,45.06788],[-93.27548,45.06789],[-93.27566,45.10824],[-93.28136,45.10823],[-93.28137,45.10984],[-93.28426,45.10984],[-93.28427,45.11226],[-93.28708,45.11225],[-93.28711,45.11629],[-93.2928,45.11629],[-93.29289,45.13241],[-93.29858,45.1324],[-93.2986,45.13643],[-93.3043,45.13642],[-93.30491,45.14448],[-93.31005,45.14447],[-93.31007,45.14851],[-93.32147,45.14848],[-93.3215,45.15251],[-93.3272,45.1525],[-93.32723,45.15653],[-93.33863,45.1565],[-93.33866,45.16053],[-93.34436,45.16051],[-93.3444,45.16762],[-93.34599,45.16762],[-93.34599,45.16858],[-93.35011,45.16857],[-93.35014,45.1726],[-93.35585,45.17258],[-93.35586,45.17662],[-93.36158,45.17661],[-93.3616,45.18064],[-93.37301,45.18061],[-93.37304,45.18464],[-93.37874,45.18462],[-93.37877,45.18865],[-93.39018,45.18863],[-93.39021,45.19265],[-93.39591,45.19263],[-93.39594,45.19642],[-93.40762,45.1964],[-93.40767,45.20066],[-93.41309,45.20064],[-93.41315,45.20871],[-93.41886,45.20869],[-93.41892,45.21676],[-93.42463,45.21674],[-93.42466,45.22077],[-93.4532,45.22066],[-93.45323,45.2247],[-93.45894,45.22468],[-93.45898,45.22871],[-93.48753,45.22859],[-93.48756,45.23262],[-93.49327,45.2326],[-93.49334,45.24067],[-93.49905,45.24065],[-93.49909,45.24469],[-93.5048,45.24466],[-93.50484,45.24869],[-93.52768,45.24859],[-93.52761,45.24052],[-93.5219,45.24056],[-93.52187,45.23651],[-93.52757,45.23648],[-93.5275,45.22841],[-93.53321,45.22839],[-93.53325,45.23242],[-93.53896,45.2324],[-93.539,45.23643],[-93.54471,45.2364],[-93.54467,45.23237],[-93.55037,45.23234],[-93.55034,45.22831],[-93.56176,45.22825],[-93.56172,45.22422],[-93.57313,45.22417],[-93.5731,45.22012],[-93.59593,45.22001],[-93.59585,45.21194],[-93.60155,45.21191],[-93.6016,45.21594],[-93.61302,45.21588],[-93.61298,45.21185],[-93.64722,45.21166],[-93.64713,45.20359],[-93.65284,45.20355],[-93.65279,45.19952],[-93.6585,45.19949],[-93.65846,45.19545],[-93.66416,45.19542],[-93.66407,45.18735],[-93.65836,45.18739],[-93.65831,45.18335],[-93.65261,45.18338],[-93.65256,45.17935],[-93.64686,45.17938],[-93.64682,45.17535],[-93.64111,45.17538],[-93.64102,45.16731],[-93.64672,45.16728],[-93.64667,45.16324],[-93.65238,45.16321],[-93.65233,45.15917],[-93.65803,45.15914],[-93.65799,45.15511],[-93.6865,45.15494],[-93.68641,45.14687],[-93.69211,45.14683],[-93.69206,45.1428],[-93.69776,45.14276],[-93.69771,45.13873],[-93.70341,45.13869],[-93.70336,45.13466],[-93.70906,45.13462],[-93.70896,45.12655],[-93.71409,45.12652],[-93.71404,45.12245],[-93.72031,45.12241],[-93.72026,45.11841],[-93.72596,45.11838],[-93.72581,45.10627],[-93.7315,45.10623],[-93.7313,45.09009],[-93.73699,45.09006],[-93.73694,45.08602],[-93.74264,45.08599],[-93.74258,45.08195],[-93.75397,45.08188],[-93.75405,45.08591],[-93.76542,45.08584],[-93.7652,45.0697],[-93.7709,45.06966],[-93.76851,44.8903],[-93.60927,44.89126],[-93.60925,44.88905],[-93.52439,44.88947],[-93.52365,44.80364],[-93.43786,44.80979],[-93.34477,44.78525],[-93.24592,44.81373],[-93.20054,44.86147]]],"type":"Polygon"}}, {"properties":{"name":"Minnesota Composite Image Service","id":"Minnesota-Composite-Image-Service","url":"https://imageserver.gisdata.mn.gov/cgi-bin/mncomp?LAYERS=mncomp&STYLES=&CRS={proj}&BBOX={bbox}&FORMAT=image/jpeg&WIDTH={width}&HEIGHT={height}&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap","attribution":{"required":false,"text":"MnGeo","url":"https://www.mngeo.state.mn.us/chouse/wms/composite_image.html"},"type":"wms","category":"photo","min_zoom":3,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-97.17831,48.87603],[-97.1904,48.81522],[-97.15809,48.81035],[-97.18153,48.79821],[-97.08987,48.68402],[-97.17544,48.56222],[-97.13912,48.55541],[-97.16595,48.54825],[-97.12678,48.5202],[-97.16268,48.47779],[-97.12817,48.47437],[-97.15064,48.44082],[-97.12483,48.4419],[-97.14588,48.43116],[-97.12259,48.41793],[-97.15398,48.41814],[-97.13118,48.40729],[-97.16339,48.39287],[-97.13335,48.38221],[-97.15627,48.36559],[-97.11224,48.29648],[-97.14504,48.26877],[-97.1207,48.22476],[-97.12452,48.22318],[-97.1372,48.22696],[-97.14967,48.22316],[-97.1522,48.21964],[-97.13907,48.22196],[-97.12289,48.2165],[-97.11785,48.20974],[-97.13931,48.21676],[-97.12929,48.20839],[-97.14752,48.17058],[-97.12098,48.15956],[-97.14652,48.14223],[-97.07227,48.04808],[-97.02317,47.87399],[-96.97416,47.82335],[-96.99169,47.80842],[-96.93499,47.76706],[-96.93113,47.7154],[-96.85096,47.5983],[-96.87184,47.41882],[-96.8376,47.38899],[-96.85847,47.36769],[-96.829,47.32762],[-96.84488,47.19282],[-96.82192,47.18425],[-96.84147,47.15185],[-96.81257,47.03859],[-96.83956,47.00674],[-96.79177,46.92847],[-96.75327,46.92457],[-96.80255,46.81153],[-96.77546,46.76676],[-96.79821,46.62933],[-96.74722,46.58235],[-96.72201,46.43999],[-96.59961,46.33014],[-96.59269,46.17522],[-96.55452,46.08399],[-96.58118,45.82302],[-96.6626,45.73869],[-96.83866,45.64752],[-96.85776,45.60597],[-96.69255,45.41735],[-96.5218,45.37565],[-96.45314,45.30079],[-96.45306,43.50038],[-93.84857,43.49963],[-91.21772,43.50064],[-91.23187,43.58183],[-91.26899,43.61659],[-91.24414,43.77468],[-91.43253,43.99684],[-91.59208,44.03138],[-91.72156,44.13035],[-91.87517,44.20058],[-91.91863,44.32268],[-91.96682,44.36399],[-92.23086,44.4445],[-92.33612,44.55401],[-92.54807,44.5678],[-92.56944,44.60355],[-92.62148,44.61505],[-92.63211,44.64904],[-92.80786,44.75085],[-92.75065,44.93731],[-92.76207,45.02433],[-92.80313,45.06157],[-92.74092,45.11296],[-92.76188,45.28702],[-92.65043,45.39852],[-92.64651,45.44035],[-92.7456,45.55302],[-92.88376,45.57549],[-92.8692,45.71758],[-92.78463,45.7642],[-92.70771,45.89491],[-92.55194,45.95166],[-92.52519,45.98387],[-92.46936,45.97382],[-92.42856,46.02425],[-92.35177,46.01569],[-92.33292,46.06271],[-92.29404,46.07439],[-92.2913,46.66815],[-92.2071,46.65195],[-92.1761,46.68635],[-92.2047,46.70405],[-92.1463,46.71595],[-92.1166,46.74865],[-92.01631,46.70598],[-92.08868,46.79367],[-91.7799,46.94341],[-91.57352,47.09003],[-91.46563,47.13124],[-91.04681,47.45632],[-90.7776,47.60573],[-90.43711,47.73164],[-89.97463,47.83056],[-89.75663,47.9041],[-89.68041,47.96408],[-89.63918,47.95373],[-89.62363,47.99464],[-89.57027,47.98571],[-89.49176,48.00536],[-89.5698,47.99899],[-89.61071,48.01786],[-89.65088,48.00354],[-89.77537,48.02279],[-89.89721,47.98751],[-89.99383,48.02802],[-90.02334,48.08468],[-90.13579,48.11215],[-90.3743,48.09092],[-90.4674,48.10875],[-90.55671,48.09594],[-90.57969,48.12381],[-90.75159,48.091],[-90.79823,48.1369],[-90.77794,48.16385],[-90.83641,48.17704],[-90.8393,48.23957],[-90.88576,48.24596],[-91.08248,48.18116],[-91.26678,48.07884],[-91.42958,48.04866],[-91.48819,48.06839],[-91.56752,48.0438],[-91.55912,48.1086],[-91.63993,48.09712],[-91.68212,48.12251],[-91.71176,48.11466],[-91.71537,48.19951],[-91.86437,48.20696],[-91.89311,48.23799],[-91.95836,48.23314],[-91.95411,48.25227],[-92.00653,48.26542],[-92.00012,48.3211],[-92.05523,48.35937],[-92.26256,48.35492],[-92.30618,48.31625],[-92.26959,48.24819],[-92.36992,48.22029],[-92.46978,48.3521],[-92.45644,48.41409],[-92.50748,48.44799],[-92.65623,48.43648],[-92.71269,48.46299],[-92.69868,48.49485],[-92.62702,48.50328],[-92.63489,48.54256],[-92.72842,48.53938],[-92.95002,48.60835],[-92.9548,48.63154],[-93.17839,48.62301],[-93.25466,48.64282],[-93.46548,48.59164],[-93.46739,48.54646],[-93.79338,48.51632],[-93.84436,48.63022],[-94.22422,48.64947],[-94.29121,48.70782],[-94.41584,48.71098],[-94.45239,48.69241],[-94.64538,48.74403],[-94.69441,48.78945],[-94.68347,48.88413],[-94.81627,49.32141],[-94.9574,49.37021],[-95.05831,49.35326],[-95.1534,49.38449],[-95.1532,48.99888],[-97.22956,49.00046],[-97.23421,48.94739],[-97.17831,48.87603]]],"type":"Polygon"}}, {"properties":{"name":"City of Bozeman Aerial Photography (2021)","id":"Bozeman_MT_2021","url":"https://gisweb.bozeman.net/image/services/COB_20210417_WGS84_WebMercator/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"required":false,"text":"City of Bozeman GIS Department","url":"https://public-bozeman.opendata.arcgis.com/"},"type":"wms","category":"historicphoto","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-111.11853,45.75121],[-111.1187,45.73664],[-111.14471,45.73659],[-111.14494,45.71462],[-111.13456,45.71467],[-111.13509,45.68218],[-111.15272,45.68215],[-111.15272,45.67971],[-111.16263,45.6797],[-111.1626,45.67032],[-111.1552,45.67015],[-111.15509,45.6513],[-111.13548,45.65113],[-111.13531,45.63794],[-111.12515,45.63096],[-111.10951,45.63087],[-111.10948,45.6237],[-111.10432,45.62367],[-111.08871,45.61294],[-111.07852,45.61293],[-111.07677,45.61067],[-111.07671,45.5802],[-111.04551,45.59404],[-111.02002,45.59389],[-111.02004,45.60568],[-111.01056,45.60572],[-111.01058,45.62009],[-111.00105,45.62006],[-111.00103,45.6273],[-110.97011,45.62733],[-110.97007,45.6382],[-110.96011,45.63817],[-110.95998,45.65255],[-110.95475,45.65255],[-110.95404,45.69923],[-110.96973,45.69994],[-110.96998,45.7036],[-110.96986,45.73627],[-111.04063,45.73675],[-111.04051,45.74041],[-111.06631,45.74044],[-111.06635,45.74662],[-111.06888,45.75132],[-111.11853,45.75121]]],"type":"Polygon"}}, {"properties":{"name":"City of Bozeman Aerial Photography (2023)","id":"Bozeman_MT_2023","url":"https://gisweb.bozeman.net/image/services/COB_20230430_WebMercator/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"required":false,"text":"City of Bozeman GIS Department","url":"https://public-bozeman.opendata.arcgis.com/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-111.11853,45.75121],[-111.1187,45.73664],[-111.14471,45.73659],[-111.14494,45.71462],[-111.13456,45.71467],[-111.13509,45.68218],[-111.15272,45.68215],[-111.15272,45.67971],[-111.16263,45.6797],[-111.1626,45.67032],[-111.1552,45.67015],[-111.15509,45.6513],[-111.13548,45.65113],[-111.13531,45.63794],[-111.12515,45.63096],[-111.10951,45.63087],[-111.10948,45.6237],[-111.10432,45.62367],[-111.08871,45.61294],[-111.07852,45.61293],[-111.07677,45.61067],[-111.07671,45.5802],[-111.04551,45.59404],[-111.02002,45.59389],[-111.02004,45.60568],[-111.01056,45.60572],[-111.01058,45.62009],[-111.00105,45.62006],[-111.00103,45.6273],[-110.97011,45.62733],[-110.97007,45.6382],[-110.96011,45.63817],[-110.95998,45.65255],[-110.95475,45.65255],[-110.95404,45.69923],[-110.96973,45.69994],[-110.96998,45.7036],[-110.96986,45.73627],[-111.04063,45.73675],[-111.04051,45.74041],[-111.06631,45.74044],[-111.06635,45.74662],[-111.06888,45.75132],[-111.11853,45.75121]]],"type":"Polygon"}}, @@ -698,10 +707,10 @@ {"properties":{"name":"VIP Orthoimagery - Best of Color","id":"VT_Best_CLR","url":"https://maps.vcgi.vermont.gov/arcgis/rest/services/EGC_services/IMG_VCGI_CLR_WM_CACHE/ImageServer/WMTS/tile/1.0.0/EGC_services_IMG_VCGI_CLR_WM_CACHE/default/default028mm/{zoom}/{y}/{x}","attribution":{"required":false,"text":"Vermont Imagery Program, Vermont Center for Geographic Information","url":"https://vcgi.vermont.gov/data-and-programs/imagery-program"},"type":"tms","category":"photo","max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[[-72.39879,45.03277],[-72.9142,45.03205],[-73.35654,45.02957],[-73.34404,44.95095],[-73.37494,44.86414],[-73.35503,44.79889],[-73.37734,44.63226],[-73.28911,44.47201],[-73.314,44.25331],[-73.37065,44.20177],[-73.43725,44.0433],[-73.40944,44.02578],[-73.4067,43.92751],[-73.38756,43.89097],[-73.37468,43.84728],[-73.39528,43.82351],[-73.35786,43.77742],[-73.36661,43.75175],[-73.37065,43.72403],[-73.38996,43.70902],[-73.41631,43.65111],[-73.42884,43.63545],[-73.41734,43.62179],[-73.42129,43.60364],[-73.43112,43.5881],[-73.39665,43.56733],[-73.37202,43.6252],[-73.30344,43.62806],[-73.291,43.59917],[-73.29688,43.58735],[-73.26769,43.57225],[-73.26005,43.56671],[-73.24868,43.5539],[-73.24564,43.53962],[-73.24872,43.46177],[-73.27871,42.83375],[-73.28695,42.8204],[-73.28355,42.8141],[-73.29102,42.80203],[-73.27629,42.74632],[-72.45849,42.72696],[-72.44502,42.76467],[-72.45723,42.76467],[-72.45724,42.78809],[-72.48902,42.78808],[-72.48902,42.7971],[-72.50612,42.7971],[-72.5061,42.93212],[-72.45711,42.93208],[-72.45709,42.96812],[-72.40806,42.96811],[-72.40763,43.25613],[-72.35836,43.25606],[-72.35514,43.5747],[-72.3106,43.57467],[-72.30811,43.58005],[-72.30796,43.62326],[-72.28813,43.62322],[-72.28803,43.65201],[-72.25828,43.65199],[-72.258,43.72037],[-72.22076,43.7203],[-72.22075,43.72388],[-72.20835,43.72383],[-72.20829,43.73647],[-72.19836,43.73643],[-72.19827,43.75263],[-72.17592,43.75258],[-72.17588,43.75977],[-72.1585,43.75971],[-72.15841,43.77508],[-72.1758,43.77506],[-72.17566,43.80118],[-72.15329,43.80111],[-72.15296,43.86767],[-72.10812,43.86756],[-72.10771,43.93057],[-72.08529,43.9305],[-72.0813,43.93947],[-72.05783,43.93938],[-72.05716,44.0276],[-72.03971,44.02752],[-72.03956,44.04728],[-72.00711,44.04718],[-72.00689,44.10993],[-72.00531,44.26317],[-72.00501,44.29919],[-71.95486,44.29894],[-71.95471,44.31874],[-71.83435,44.3181],[-71.83418,44.3343],[-71.78903,44.33403],[-71.78862,44.37002],[-71.7033,44.36946],[-71.70291,44.39825],[-71.6753,44.39808],[-71.6752,44.40526],[-71.6526,44.4051],[-71.65224,44.4303],[-71.62964,44.43012],[-71.62948,44.44092],[-71.60184,44.44072],[-71.60151,44.4623],[-71.58392,44.46216],[-71.58369,44.47656],[-71.55102,44.4763],[-71.54994,44.54288],[-71.53727,44.54818],[-71.49952,44.54784],[-71.49766,44.65583],[-71.53549,44.65615],[-71.5352,44.67235],[-71.54782,44.67246],[-71.54692,44.72824],[-71.59739,44.72863],[-71.59701,44.75385],[-71.57933,44.75371],[-71.57916,44.7645],[-71.54632,44.76423],[-71.54543,44.81822],[-71.53248,44.83611],[-71.49454,44.83578],[-71.48643,44.86629],[-71.48443,44.97967],[-71.4413,44.97926],[-71.43791,45.02784],[-72.06845,45.03196],[-72.39879,45.03277]]],[[[-73.40326,45.15867],[-73.40589,45.06384],[-71.43518,45.06334],[-71.43517,45.16352],[-72.00006,45.15006],[-72.38791,45.1596],[-72.61742,45.15915],[-72.61704,45.16462],[-72.68816,45.16299],[-73.40326,45.15867]]]],"type":"MultiPolygon"}}, {"properties":{"name":"King County Orthoimagery (2019)","id":"King_WA_2019","url":"https://gismaps.kingcounty.gov/arcgis/rest/services/BaseMaps/KingCo_Aerial_2019/MapServer/WMTS/tile/1.0.0/BaseMaps_KingCo_Aerial_2019/default/default028mm/{zoom}/{y}/{x}","attribution":{"required":false,"text":"King County Geographic Information System","url":"https://kingcounty.gov/services/gis.aspx"},"type":"tms","category":"historicphoto","max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-122.54845,47.31598],[-122.42753,47.31774],[-122.4269,47.29719],[-122.39668,47.29761],[-122.39607,47.27705],[-122.36586,47.27747],[-122.36464,47.23637],[-122.15337,47.23902],[-122.15234,47.1979],[-122.12216,47.19825],[-122.12166,47.17769],[-122.09152,47.17804],[-122.09103,47.15748],[-122.0006,47.15844],[-122.00015,47.13789],[-121.97002,47.1382],[-121.96958,47.11764],[-121.87923,47.11851],[-121.87963,47.13907],[-121.63859,47.14105],[-121.63827,47.12049],[-121.60815,47.1207],[-121.60785,47.10014],[-121.51751,47.10073],[-121.51725,47.08017],[-121.48715,47.08035],[-121.4869,47.05978],[-121.36655,47.06042],[-121.36676,47.08098],[-121.33667,47.08112],[-121.33686,47.10167],[-121.30675,47.10181],[-121.30694,47.12237],[-121.27683,47.12249],[-121.27768,47.22529],[-121.30786,47.22517],[-121.30842,47.28685],[-121.33864,47.28672],[-121.33884,47.30728],[-121.3993,47.307],[-121.40019,47.38924],[-121.36991,47.38938],[-121.37054,47.45107],[-121.30992,47.45134],[-121.31011,47.4719],[-121.27978,47.47202],[-121.27996,47.49258],[-121.24963,47.4927],[-121.24979,47.51326],[-121.21944,47.51337],[-121.21975,47.5545],[-121.159,47.55468],[-121.15912,47.57524],[-121.09836,47.5754],[-121.09889,47.6782],[-121.038,47.67832],[-121.03823,47.74002],[-121.06875,47.73996],[-121.06891,47.78107],[-121.09943,47.78102],[-121.09948,47.80158],[-121.95393,47.79639],[-121.95571,47.87861],[-122.13907,47.87667],[-122.14114,47.9589],[-122.35268,47.95636],[-122.54845,47.31598]]],"type":"Polygon"}}, {"properties":{"name":"King County Orthoimagery (2021)","id":"King_WA_2021","url":"https://gismaps.kingcounty.gov/arcgis/rest/services/BaseMaps/KingCo_Aerial_2021/MapServer/WMTS/tile/1.0.0/BaseMaps_KingCo_Aerial_2021/default/default028mm/{zoom}/{y}/{x}","attribution":{"required":false,"text":"King County Geographic Information System","url":"https://kingcounty.gov/services/gis.aspx"},"type":"tms","category":"photo","max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-122.54845,47.31598],[-122.42753,47.31774],[-122.4269,47.29719],[-122.39668,47.29761],[-122.39607,47.27705],[-122.36586,47.27747],[-122.36464,47.23637],[-122.15337,47.23902],[-122.15234,47.1979],[-122.12216,47.19825],[-122.12166,47.17769],[-122.09152,47.17804],[-122.09103,47.15748],[-122.0006,47.15844],[-122.00015,47.13789],[-121.97002,47.1382],[-121.96958,47.11764],[-121.87923,47.11851],[-121.87963,47.13907],[-121.63859,47.14105],[-121.63827,47.12049],[-121.60815,47.1207],[-121.60785,47.10014],[-121.51751,47.10073],[-121.51725,47.08017],[-121.48715,47.08035],[-121.4869,47.05978],[-121.36655,47.06042],[-121.36676,47.08098],[-121.33667,47.08112],[-121.33686,47.10167],[-121.30675,47.10181],[-121.30694,47.12237],[-121.27683,47.12249],[-121.27768,47.22529],[-121.30786,47.22517],[-121.30842,47.28685],[-121.33864,47.28672],[-121.33884,47.30728],[-121.3993,47.307],[-121.40019,47.38924],[-121.36991,47.38938],[-121.37054,47.45107],[-121.30992,47.45134],[-121.31011,47.4719],[-121.27978,47.47202],[-121.27996,47.49258],[-121.24963,47.4927],[-121.24979,47.51326],[-121.21944,47.51337],[-121.21975,47.5545],[-121.159,47.55468],[-121.15912,47.57524],[-121.09836,47.5754],[-121.09889,47.6782],[-121.038,47.67832],[-121.03823,47.74002],[-121.06875,47.73996],[-121.06891,47.78107],[-121.09943,47.78102],[-121.09948,47.80158],[-121.95393,47.79639],[-121.95571,47.87861],[-122.13907,47.87667],[-122.14114,47.9589],[-122.35268,47.95636],[-122.54845,47.31598]]],"type":"Polygon"}}, -{"properties":{"name":"Suan Juan County Aerials (2019)","id":"Suan_Juan_WA_2019","url":"https://gis.sanjuanco.com/arcgis/rest/services/Basemaps/Aerials_2019_WM/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"San Juan County GIS","url":"https://sjcgis.maps.arcgis.com/home/index.html"},"type":"wms","category":"historicphoto","min_zoom":10,"max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[[-123.02167,48.44667],[-122.94666,48.44781],[-122.90151,48.41307],[-122.80263,48.40771],[-122.79199,48.4428],[-122.80881,48.47866],[-122.73912,48.49572],[-122.78547,48.62161],[-122.73088,48.63613],[-122.7556,48.71208],[-122.95747,48.71593],[-122.97086,48.69577],[-122.9997,48.6978],[-123.00348,48.73427],[-123.0433,48.7431],[-123.07626,48.70528],[-123.08485,48.66335],[-123.12845,48.6638],[-123.22698,48.70302],[-123.24655,48.68353],[-123.17445,48.64702],[-123.21514,48.60107],[-123.21393,48.57336],[-123.1808,48.56575],[-123.16621,48.52006],[-123.10235,48.47684],[-123.02167,48.44667]]],[[[-122.98339,48.78214],[-122.93498,48.76653],[-122.91181,48.73858],[-122.80229,48.73982],[-122.81946,48.75499],[-122.9343,48.79572],[-122.98374,48.79436],[-122.98339,48.78214]]]],"type":"MultiPolygon"}}, -{"properties":{"name":"Suan Juan County Aerials (2022)","id":"Suan_Juan_WA_2022","url":"https://gis.sanjuanco.com/arcgis/rest/services/Basemaps/Aerials_2022/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"San Juan County GIS","url":"https://sjcgis.maps.arcgis.com/home/index.html"},"type":"wms","category":"photo","min_zoom":10,"max_zoom":19,"best":true},"type":"Feature","geometry":{"coordinates":[[[[-123.02167,48.44667],[-122.94666,48.44781],[-122.90151,48.41307],[-122.80263,48.40771],[-122.79199,48.4428],[-122.80881,48.47866],[-122.73912,48.49572],[-122.78547,48.62161],[-122.73088,48.63613],[-122.7556,48.71208],[-122.95747,48.71593],[-122.97086,48.69577],[-122.9997,48.6978],[-123.00348,48.73427],[-123.0433,48.7431],[-123.07626,48.70528],[-123.08485,48.66335],[-123.12845,48.6638],[-123.22698,48.70302],[-123.24655,48.68353],[-123.17445,48.64702],[-123.21514,48.60107],[-123.21393,48.57336],[-123.1808,48.56575],[-123.16621,48.52006],[-123.10235,48.47684],[-123.02167,48.44667]]],[[[-122.98339,48.78214],[-122.93498,48.76653],[-122.91181,48.73858],[-122.80229,48.73982],[-122.81946,48.75499],[-122.9343,48.79572],[-122.98374,48.79436],[-122.98339,48.78214]]]],"type":"MultiPolygon"}}, -{"properties":{"name":"Snohomish County Orthoimagery (2020)","id":"Snohomish_WA_2020","url":"https://maps.snoco.org/gisimagery/rest/services/imagery/2020_orthophotos/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Snohomish County GIS","url":"https://snohomishcountywa.gov/1402/Maps-GIS"},"type":"wms","category":"historicphoto","min_zoom":8,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-121.48447,48.31322],[-122.43728,48.30382],[-122.43701,48.26053],[-122.42631,48.26061],[-122.42601,48.25338],[-122.41509,48.25353],[-122.41501,48.24632],[-122.40418,48.24643],[-122.4009,48.12332],[-122.31338,47.97124],[-122.44255,47.76787],[-121.44448,47.77831],[-121.4463,47.86478],[-121.31674,47.86594],[-121.31874,47.90844],[-121.44602,47.90855],[-121.44775,48.00961],[-121.4154,48.00951],[-121.41603,48.0531],[-121.40508,48.05316],[-121.40529,48.06754],[-121.39447,48.0676],[-121.3945,48.0748],[-121.38371,48.0749],[-121.3842,48.11104],[-121.39488,48.11099],[-121.39504,48.12558],[-121.40607,48.12534],[-121.40658,48.14705],[-121.41707,48.147],[-121.41719,48.16882],[-121.42803,48.16869],[-121.42821,48.17596],[-121.44972,48.17583],[-121.45007,48.20465],[-121.48269,48.20434],[-121.48447,48.31322]],[[-121.78481,48.13713],[-121.78575,48.18802],[-121.8178,48.18757],[-121.81822,48.20261],[-121.63391,48.20377],[-121.63373,48.17472],[-121.59044,48.1751],[-121.59016,48.16074],[-121.46012,48.16143],[-121.45994,48.14684],[-121.44917,48.1469],[-121.44887,48.13249],[-121.42747,48.1326],[-121.4269,48.1181],[-121.41668,48.11824],[-121.41606,48.11113],[-121.40584,48.11118],[-121.40489,48.07426],[-121.41591,48.0742],[-121.41495,48.05997],[-121.4484,48.05989],[-121.44871,48.07466],[-121.47021,48.07427],[-121.47026,48.08913],[-121.49204,48.08856],[-121.49232,48.11054],[-121.58848,48.11013],[-121.58836,48.1022],[-121.68679,48.10151],[-121.68901,48.13825],[-121.78481,48.13713]]],"type":"Polygon"}}, -{"properties":{"name":"Snohomish County Orthoimagery (2022)","id":"Snohomish_WA_2022","url":"https://maps.snoco.org/gisimagery/rest/services/imagery/2022_orthophotos/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Snohomish County GIS","url":"https://snohomishcountywa.gov/1402/Maps-GIS"},"type":"wms","category":"photo","min_zoom":8,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-121.48447,48.31322],[-122.43728,48.30382],[-122.43701,48.26053],[-122.42631,48.26061],[-122.42601,48.25338],[-122.41509,48.25353],[-122.41501,48.24632],[-122.40418,48.24643],[-122.4009,48.12332],[-122.31338,47.97124],[-122.44255,47.76787],[-121.44448,47.77831],[-121.4463,47.86478],[-121.31674,47.86594],[-121.31874,47.90844],[-121.44602,47.90855],[-121.44775,48.00961],[-121.4154,48.00951],[-121.41603,48.0531],[-121.40508,48.05316],[-121.40529,48.06754],[-121.39447,48.0676],[-121.3945,48.0748],[-121.38371,48.0749],[-121.3842,48.11104],[-121.39488,48.11099],[-121.39504,48.12558],[-121.40607,48.12534],[-121.40658,48.14705],[-121.41707,48.147],[-121.41719,48.16882],[-121.42803,48.16869],[-121.42821,48.17596],[-121.44972,48.17583],[-121.45007,48.20465],[-121.48269,48.20434],[-121.48447,48.31322]],[[-121.78481,48.13713],[-121.78575,48.18802],[-121.8178,48.18757],[-121.81822,48.20261],[-121.63391,48.20377],[-121.63373,48.17472],[-121.59044,48.1751],[-121.59016,48.16074],[-121.46012,48.16143],[-121.45994,48.14684],[-121.44917,48.1469],[-121.44887,48.13249],[-121.42747,48.1326],[-121.4269,48.1181],[-121.41668,48.11824],[-121.41606,48.11113],[-121.40584,48.11118],[-121.40489,48.07426],[-121.41591,48.0742],[-121.41495,48.05997],[-121.4484,48.05989],[-121.44871,48.07466],[-121.47021,48.07427],[-121.47026,48.08913],[-121.49204,48.08856],[-121.49232,48.11054],[-121.58848,48.11013],[-121.58836,48.1022],[-121.68679,48.10151],[-121.68901,48.13825],[-121.78481,48.13713]]],"type":"Polygon"}}, +{"properties":{"name":"Suan Juan County Aerials (2019)","id":"Suan_Juan_WA_2019","url":"https://gis.sanjuancountywa.gov/arcgis/rest/services/Basemaps/Aerials_2019_WM/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"San Juan County GIS","url":"https://sjcgis.maps.arcgis.com/home/index.html"},"type":"wms","category":"historicphoto","min_zoom":10,"max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[[-123.02167,48.44667],[-122.94666,48.44781],[-122.90151,48.41307],[-122.80263,48.40771],[-122.79199,48.4428],[-122.80881,48.47866],[-122.73912,48.49572],[-122.78547,48.62161],[-122.73088,48.63613],[-122.7556,48.71208],[-122.95747,48.71593],[-122.97086,48.69577],[-122.9997,48.6978],[-123.00348,48.73427],[-123.0433,48.7431],[-123.07626,48.70528],[-123.08485,48.66335],[-123.12845,48.6638],[-123.22698,48.70302],[-123.24655,48.68353],[-123.17445,48.64702],[-123.21514,48.60107],[-123.21393,48.57336],[-123.1808,48.56575],[-123.16621,48.52006],[-123.10235,48.47684],[-123.02167,48.44667]]],[[[-122.98339,48.78214],[-122.93498,48.76653],[-122.91181,48.73858],[-122.80229,48.73982],[-122.81946,48.75499],[-122.9343,48.79572],[-122.98374,48.79436],[-122.98339,48.78214]]]],"type":"MultiPolygon"}}, +{"properties":{"name":"Suan Juan County Aerials (2022)","id":"Suan_Juan_WA_2022","url":"https://gis.sanjuancountywa.gov/arcgis/rest/services/Basemaps/Aerials_2022/MapServer/export?f=image&format=jpg&bbox={bbox}&bboxSR={wkid}&imageSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"San Juan County GIS","url":"https://sjcgis.maps.arcgis.com/home/index.html"},"type":"wms","category":"photo","min_zoom":10,"max_zoom":19,"best":true},"type":"Feature","geometry":{"coordinates":[[[[-123.02167,48.44667],[-122.94666,48.44781],[-122.90151,48.41307],[-122.80263,48.40771],[-122.79199,48.4428],[-122.80881,48.47866],[-122.73912,48.49572],[-122.78547,48.62161],[-122.73088,48.63613],[-122.7556,48.71208],[-122.95747,48.71593],[-122.97086,48.69577],[-122.9997,48.6978],[-123.00348,48.73427],[-123.0433,48.7431],[-123.07626,48.70528],[-123.08485,48.66335],[-123.12845,48.6638],[-123.22698,48.70302],[-123.24655,48.68353],[-123.17445,48.64702],[-123.21514,48.60107],[-123.21393,48.57336],[-123.1808,48.56575],[-123.16621,48.52006],[-123.10235,48.47684],[-123.02167,48.44667]]],[[[-122.98339,48.78214],[-122.93498,48.76653],[-122.91181,48.73858],[-122.80229,48.73982],[-122.81946,48.75499],[-122.9343,48.79572],[-122.98374,48.79436],[-122.98339,48.78214]]]],"type":"MultiPolygon"}}, +{"properties":{"name":"Snohomish County Orthoimagery (2020)","id":"Snohomish_WA_2020","url":"https://gis.snoco.org/img/rest/services/Imagery/Aerial_2020/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Snohomish County GIS","url":"https://snohomishcountywa.gov/1402/Maps-GIS"},"type":"wms","category":"historicphoto","min_zoom":8,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-121.48447,48.31322],[-122.43728,48.30382],[-122.43701,48.26053],[-122.42631,48.26061],[-122.42601,48.25338],[-122.41509,48.25353],[-122.41501,48.24632],[-122.40418,48.24643],[-122.4009,48.12332],[-122.31338,47.97124],[-122.44255,47.76787],[-121.44448,47.77831],[-121.4463,47.86478],[-121.31674,47.86594],[-121.31874,47.90844],[-121.44602,47.90855],[-121.44775,48.00961],[-121.4154,48.00951],[-121.41603,48.0531],[-121.40508,48.05316],[-121.40529,48.06754],[-121.39447,48.0676],[-121.3945,48.0748],[-121.38371,48.0749],[-121.3842,48.11104],[-121.39488,48.11099],[-121.39504,48.12558],[-121.40607,48.12534],[-121.40658,48.14705],[-121.41707,48.147],[-121.41719,48.16882],[-121.42803,48.16869],[-121.42821,48.17596],[-121.44972,48.17583],[-121.45007,48.20465],[-121.48269,48.20434],[-121.48447,48.31322]],[[-121.78481,48.13713],[-121.78575,48.18802],[-121.8178,48.18757],[-121.81822,48.20261],[-121.63391,48.20377],[-121.63373,48.17472],[-121.59044,48.1751],[-121.59016,48.16074],[-121.46012,48.16143],[-121.45994,48.14684],[-121.44917,48.1469],[-121.44887,48.13249],[-121.42747,48.1326],[-121.4269,48.1181],[-121.41668,48.11824],[-121.41606,48.11113],[-121.40584,48.11118],[-121.40489,48.07426],[-121.41591,48.0742],[-121.41495,48.05997],[-121.4484,48.05989],[-121.44871,48.07466],[-121.47021,48.07427],[-121.47026,48.08913],[-121.49204,48.08856],[-121.49232,48.11054],[-121.58848,48.11013],[-121.58836,48.1022],[-121.68679,48.10151],[-121.68901,48.13825],[-121.78481,48.13713]]],"type":"Polygon"}}, +{"properties":{"name":"Snohomish County Orthoimagery (2022)","id":"Snohomish_WA_2022","url":"https://gis.snoco.org/img/rest/services/Imagery/Aerial_2022/ImageServer/exportImage?f=image&format=jpg&bbox={bbox}&imageSR={wkid}&bboxSR={wkid}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Snohomish County GIS","url":"https://snohomishcountywa.gov/1402/Maps-GIS"},"type":"wms","category":"photo","min_zoom":8,"max_zoom":20},"type":"Feature","geometry":{"coordinates":[[[-121.48447,48.31322],[-122.43728,48.30382],[-122.43701,48.26053],[-122.42631,48.26061],[-122.42601,48.25338],[-122.41509,48.25353],[-122.41501,48.24632],[-122.40418,48.24643],[-122.4009,48.12332],[-122.31338,47.97124],[-122.44255,47.76787],[-121.44448,47.77831],[-121.4463,47.86478],[-121.31674,47.86594],[-121.31874,47.90844],[-121.44602,47.90855],[-121.44775,48.00961],[-121.4154,48.00951],[-121.41603,48.0531],[-121.40508,48.05316],[-121.40529,48.06754],[-121.39447,48.0676],[-121.3945,48.0748],[-121.38371,48.0749],[-121.3842,48.11104],[-121.39488,48.11099],[-121.39504,48.12558],[-121.40607,48.12534],[-121.40658,48.14705],[-121.41707,48.147],[-121.41719,48.16882],[-121.42803,48.16869],[-121.42821,48.17596],[-121.44972,48.17583],[-121.45007,48.20465],[-121.48269,48.20434],[-121.48447,48.31322]],[[-121.78481,48.13713],[-121.78575,48.18802],[-121.8178,48.18757],[-121.81822,48.20261],[-121.63391,48.20377],[-121.63373,48.17472],[-121.59044,48.1751],[-121.59016,48.16074],[-121.46012,48.16143],[-121.45994,48.14684],[-121.44917,48.1469],[-121.44887,48.13249],[-121.42747,48.1326],[-121.4269,48.1181],[-121.41668,48.11824],[-121.41606,48.11113],[-121.40584,48.11118],[-121.40489,48.07426],[-121.41591,48.0742],[-121.41495,48.05997],[-121.4484,48.05989],[-121.44871,48.07466],[-121.47021,48.07427],[-121.47026,48.08913],[-121.49204,48.08856],[-121.49232,48.11054],[-121.58848,48.11013],[-121.58836,48.1022],[-121.68679,48.10151],[-121.68901,48.13825],[-121.78481,48.13713]]],"type":"Polygon"}}, {"properties":{"name":"Wisconsin Leaf-Off Orthophotography (DNR)","id":"WISC_DNR_Ortho_Composite","url":"https://dnrmaps.wi.gov/arcgis_image/rest/services/DW_Imagery/EN_Image_Basemap_Latest_Leaf_Off/ImageServer/exportImage?f=image&format=jpg&imageSR={wkid}&bboxSR={wkid}&bbox={bbox}&size={width},{height}&foo={proj}","attribution":{"required":false,"text":"Wisconsin Regional Orthoimagery Consortium, Southeastern Wisconsin Regional Planning Commission, Wisconsin Department of Natural Resources","url":"https://dnr.wisconsin.gov/"},"type":"wms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-87.80099,42.49185],[-86.80092,45.42641],[-86.92108,45.43123],[-87.5885,45.09437],[-87.65734,45.10951],[-87.67811,45.14076],[-87.73407,45.17913],[-87.73853,45.19958],[-87.72686,45.20865],[-87.70489,45.26244],[-87.65339,45.33188],[-87.65253,45.35588],[-87.67039,45.39145],[-87.70077,45.39134],[-87.75398,45.35287],[-87.85552,45.35117],[-87.85509,45.43809],[-87.80994,45.46651],[-87.79381,45.49913],[-87.80291,45.54778],[-87.814,45.54815],[-87.8149,45.56074],[-87.78689,45.56095],[-87.78495,45.58048],[-87.77499,45.58059],[-87.77666,45.61925],[-87.79372,45.61932],[-87.81321,45.64282],[-87.81333,45.66373],[-87.77853,45.67044],[-87.77853,45.68343],[-87.85509,45.73962],[-87.89886,45.76094],[-87.95637,45.75968],[-87.97761,45.77049],[-87.98161,45.79745],[-88.04546,45.78417],[-88.09267,45.78704],[-88.12031,45.80846],[-88.11679,45.83305],[-88.06829,45.87854],[-88.09731,45.88272],[-88.09645,45.92369],[-88.24167,45.96499],[-88.32467,45.96517],[-88.37128,45.99303],[-88.38278,45.99303],[-88.39445,45.98253],[-88.42346,45.9839],[-88.465,46.00263],[-88.49427,45.99613],[-88.50397,46.0214],[-88.53848,46.02248],[-88.60783,46.01926],[-88.62203,45.99007],[-88.661,45.99031],[-88.67306,46.01187],[-88.72456,46.02593],[-88.77653,46.02739],[-88.77666,46.03395],[-88.80279,46.03511],[-88.80262,46.02608],[-88.81652,46.0254],[-89.0799,46.1394],[-90.11398,46.33793],[-90.15402,46.41505],[-90.15424,46.46018],[-90.17797,46.46022],[-90.17811,46.50046],[-90.24152,46.51173],[-90.31311,46.5562],[-90.55206,46.59568],[-90.76973,46.72951],[-90.51292,46.85972],[-90.96405,47.03082],[-91.52058,46.75962],[-92.18091,46.749],[-92.18047,46.73815],[-92.21688,46.73746],[-92.21665,46.73194],[-92.25247,46.73125],[-92.25072,46.68918],[-92.31583,46.68788],[-92.2958,46.15986],[-92.29649,46.08561],[-92.33631,46.06704],[-92.35103,46.02706],[-92.4327,46.02778],[-92.46858,45.98348],[-92.52634,45.98372],[-92.72718,45.90303],[-92.79362,45.7601],[-92.86803,45.71942],[-92.89095,45.64552],[-92.88239,45.5639],[-92.76538,45.56142],[-92.69088,45.4741],[-92.6529,45.4452],[-92.65213,45.40683],[-92.7047,45.35987],[-92.7095,45.3256],[-92.76225,45.28832],[-92.76512,45.18059],[-92.74075,45.114],[-92.80392,45.06237],[-92.73972,44.93661],[-92.80632,44.74771],[-92.55295,44.58753],[-92.31812,44.54693],[-92.29752,44.48622],[-91.98097,44.37982],[-91.8924,44.24126],[-91.72623,44.1083],[-91.34445,43.94611],[-91.26892,43.79737],[-91.26377,43.4579],[-91.12164,43.34166],[-91.06087,43.24995],[-91.13262,43.18365],[-91.17004,43.0882],[-91.14704,42.93179],[-91.08387,42.87118],[-91.07872,42.8017],[-91.06773,42.75911],[-90.98225,42.70212],[-90.71137,42.64431],[-90.64476,42.5453],[-90.63618,42.51792],[-90.64285,42.50648],[-87.80099,42.49185]]],"type":"Polygon"}}, {"properties":{"name":"Monongalia County 2022 Aerial Imagery","id":"Monongalia_WV_2022","url":"https://gis.morgantownwv.gov/image/services/Imagery/Monongalia_County_2022/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=Monongalia_County_2022:None&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"required":false,"text":"Monongalia Morgantown Area Geospatial Information Consortium","url":"https://mmagic-monco.hub.arcgis.com/"},"type":"wms","category":"historicphoto","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-80.42454,39.73301],[-80.42545,39.73286],[-80.42754,39.73233],[-80.42926,39.73168],[-80.43025,39.73122],[-80.43179,39.73031],[-80.43265,39.72971],[-80.43362,39.72887],[-80.43451,39.72794],[-80.43547,39.72672],[-80.43623,39.72559],[-80.43689,39.72436],[-80.43747,39.72293],[-80.43775,39.72195],[-80.43796,39.72069],[-80.43798,39.71988],[-80.43786,39.71843],[-80.43747,39.71694],[-80.43629,39.71445],[-80.43627,39.71343],[-80.43617,39.71265],[-80.43582,39.711],[-80.43532,39.70953],[-80.43456,39.70812],[-80.43359,39.7068],[-80.43224,39.70543],[-80.4303,39.70391],[-80.42863,39.70289],[-80.42688,39.70211],[-80.42497,39.70147],[-80.4225,39.70103],[-80.42252,39.69984],[-80.42243,39.69866],[-80.42222,39.69768],[-80.42171,39.69614],[-80.42175,39.69486],[-80.42153,39.69325],[-80.42104,39.69127],[-80.42007,39.68913],[-80.41934,39.68776],[-80.41757,39.68553],[-80.416,39.684],[-80.41355,39.6822],[-80.41466,39.68081],[-80.41541,39.67966],[-80.41609,39.67819],[-80.4165,39.67663],[-80.4167,39.67503],[-80.41665,39.67337],[-80.41746,39.67203],[-80.41801,39.6708],[-80.41849,39.669],[-80.41867,39.66781],[-80.4187,39.66634],[-80.4186,39.66538],[-80.41823,39.66389],[-80.4176,39.66246],[-80.41694,39.66138],[-80.41635,39.65972],[-80.41691,39.65802],[-80.41718,39.65643],[-80.4172,39.65494],[-80.41698,39.65346],[-80.41645,39.65186],[-80.41596,39.65089],[-80.41515,39.64962],[-80.41405,39.64836],[-80.41292,39.64737],[-80.40905,39.64465],[-80.40969,39.64381],[-80.41048,39.64238],[-80.41091,39.64108],[-80.41126,39.63983],[-80.41155,39.63829],[-80.41156,39.63679],[-80.41131,39.63528],[-80.4108,39.63373],[-80.41006,39.63233],[-80.40902,39.63087],[-80.40791,39.62978],[-80.40675,39.62883],[-80.40265,39.62629],[-80.4005,39.62445],[-80.39889,39.6235],[-80.3971,39.62269],[-80.39508,39.62206],[-80.39316,39.62166],[-80.3905,39.62142],[-80.38862,39.62104],[-80.38691,39.62086],[-80.38459,39.62083],[-80.38304,39.62099],[-80.38085,39.62035],[-80.37851,39.61989],[-80.37615,39.6197],[-80.37599,39.61884],[-80.37574,39.61799],[-80.37513,39.61659],[-80.37426,39.61519],[-80.37318,39.61389],[-80.3719,39.61266],[-80.37033,39.61152],[-80.36795,39.61027],[-80.365,39.60829],[-80.36383,39.60682],[-80.36234,39.60546],[-80.36045,39.60424],[-80.3588,39.60344],[-80.35705,39.60225],[-80.35559,39.6015],[-80.35374,39.60079],[-80.35184,39.60029],[-80.34981,39.59996],[-80.34801,39.59989],[-80.34657,39.59991],[-80.34463,39.60012],[-80.34161,39.59953],[-80.33961,39.59944],[-80.33807,39.59948],[-80.33634,39.59965],[-80.33384,39.60023],[-80.33193,39.60039],[-80.32925,39.60003],[-80.32709,39.59943],[-80.32543,39.59911],[-80.32378,39.59898],[-80.32194,39.59899],[-80.32029,39.59911],[-80.31778,39.59937],[-80.31584,39.59983],[-80.3132,39.59994],[-80.30981,39.59976],[-80.27055,39.59946],[-80.26807,39.59961],[-80.26612,39.59957],[-80.25061,39.59933],[-80.16508,39.59868],[-80.15889,39.59539],[-80.15645,39.59126],[-80.15509,39.58941],[-80.15313,39.58772],[-80.15066,39.58626],[-80.15002,39.584],[-80.14903,39.58211],[-80.14713,39.57997],[-80.14529,39.57846],[-80.14422,39.57692],[-80.14226,39.57504],[-80.1398,39.57342],[-80.13737,39.57108],[-80.13526,39.56982],[-80.13322,39.56887],[-80.13052,39.56809],[-80.12786,39.56776],[-80.12506,39.56653],[-80.12346,39.56456],[-80.12162,39.56298],[-80.11934,39.56165],[-80.11697,39.56062],[-80.11559,39.55916],[-80.11335,39.55755],[-80.10895,39.55521],[-80.10388,39.55172],[-80.09385,39.54408],[-80.06118,39.51973],[-80.06216,39.5173],[-80.0625,39.51477],[-80.06227,39.51212],[-80.06141,39.50974],[-80.05997,39.50772],[-80.0581,39.50583],[-80.05061,39.49892],[-80.04701,39.49669],[-80.04195,39.49472],[-80.03767,39.49371],[-80.03304,39.49333],[-80.0322,39.49031],[-80.03083,39.48816],[-80.0289,39.48629],[-80.02684,39.485],[-80.02623,39.48334],[-80.02494,39.48147],[-80.02327,39.47979],[-80.02116,39.47827],[-80.01877,39.4771],[-80.01636,39.47627],[-80.01314,39.47564],[-80.00952,39.47448],[-80.00695,39.47407],[-80.00468,39.47393],[-80.00328,39.47208],[-80.0015,39.47057],[-79.99894,39.4691],[-79.99627,39.46795],[-79.99302,39.46709],[-79.99159,39.46607],[-79.99106,39.4643],[-79.99018,39.46271],[-79.98902,39.46126],[-79.98732,39.45972],[-79.98521,39.45841],[-79.98311,39.45736],[-79.98125,39.45676],[-79.97987,39.45529],[-79.97796,39.45383],[-79.97536,39.45251],[-79.90369,39.42574],[-79.90052,39.42457],[-79.8983,39.42406],[-79.89586,39.4238],[-79.8934,39.42383],[-79.89158,39.42407],[-79.88936,39.42458],[-79.88689,39.42554],[-79.8848,39.42673],[-79.88303,39.42823],[-79.88147,39.43009],[-79.88052,39.43171],[-79.87989,39.43333],[-79.87964,39.43552],[-79.87971,39.43705],[-79.88428,39.47882],[-79.77561,39.61878],[-79.7745,39.62139],[-79.77413,39.6244],[-79.77054,39.65456],[-79.75287,39.68691],[-79.74982,39.69244],[-79.74921,39.69384],[-79.74887,39.69517],[-79.74866,39.69658],[-79.74868,39.72127],[-79.74894,39.72316],[-79.74957,39.72496],[-79.75072,39.72684],[-79.75222,39.72856],[-79.75471,39.73037],[-79.75751,39.73168],[-79.75986,39.73234],[-79.76237,39.73274],[-79.76424,39.73279],[-80.42158,39.73322],[-80.42202,39.7332],[-80.42358,39.73313],[-80.42454,39.73301]]],"type":"Polygon"}}, {"properties":{"name":"Monongalia County 2023 Aerial Imagery","id":"Monongalia_WV_2023","url":"https://gis.morgantownwv.gov/image/services/Imagery/Monongalia_County_2023/ImageServer/WMSServer?FORMAT=image/jpeg&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=Monongalia_County_2023:None&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"required":false,"text":"Monongalia Morgantown Area Geospatial Information Consortium","url":"https://mmagic-monco.hub.arcgis.com/"},"type":"wms","category":"photo","max_zoom":19,"best":true},"type":"Feature","geometry":{"coordinates":[[[-80.42454,39.73301],[-80.42545,39.73286],[-80.42754,39.73233],[-80.42926,39.73168],[-80.43025,39.73122],[-80.43179,39.73031],[-80.43265,39.72971],[-80.43362,39.72887],[-80.43451,39.72794],[-80.43547,39.72672],[-80.43623,39.72559],[-80.43689,39.72436],[-80.43747,39.72293],[-80.43775,39.72195],[-80.43796,39.72069],[-80.43798,39.71988],[-80.43786,39.71843],[-80.43747,39.71694],[-80.43629,39.71445],[-80.43627,39.71343],[-80.43617,39.71265],[-80.43582,39.711],[-80.43532,39.70953],[-80.43456,39.70812],[-80.43359,39.7068],[-80.43224,39.70543],[-80.4303,39.70391],[-80.42863,39.70289],[-80.42688,39.70211],[-80.42497,39.70147],[-80.4225,39.70103],[-80.42252,39.69984],[-80.42243,39.69866],[-80.42222,39.69768],[-80.42171,39.69614],[-80.42175,39.69486],[-80.42153,39.69325],[-80.42104,39.69127],[-80.42007,39.68913],[-80.41934,39.68776],[-80.41757,39.68553],[-80.416,39.684],[-80.41355,39.6822],[-80.41466,39.68081],[-80.41541,39.67966],[-80.41609,39.67819],[-80.4165,39.67663],[-80.4167,39.67503],[-80.41665,39.67337],[-80.41746,39.67203],[-80.41801,39.6708],[-80.41849,39.669],[-80.41867,39.66781],[-80.4187,39.66634],[-80.4186,39.66538],[-80.41823,39.66389],[-80.4176,39.66246],[-80.41694,39.66138],[-80.41635,39.65972],[-80.41691,39.65802],[-80.41718,39.65643],[-80.4172,39.65494],[-80.41698,39.65346],[-80.41645,39.65186],[-80.41596,39.65089],[-80.41515,39.64962],[-80.41405,39.64836],[-80.41292,39.64737],[-80.40905,39.64465],[-80.40969,39.64381],[-80.41048,39.64238],[-80.41091,39.64108],[-80.41126,39.63983],[-80.41155,39.63829],[-80.41156,39.63679],[-80.41131,39.63528],[-80.4108,39.63373],[-80.41006,39.63233],[-80.40902,39.63087],[-80.40791,39.62978],[-80.40675,39.62883],[-80.40265,39.62629],[-80.4005,39.62445],[-80.39889,39.6235],[-80.3971,39.62269],[-80.39508,39.62206],[-80.39316,39.62166],[-80.3905,39.62142],[-80.38862,39.62104],[-80.38691,39.62086],[-80.38459,39.62083],[-80.38304,39.62099],[-80.38085,39.62035],[-80.37851,39.61989],[-80.37615,39.6197],[-80.37599,39.61884],[-80.37574,39.61799],[-80.37513,39.61659],[-80.37426,39.61519],[-80.37318,39.61389],[-80.3719,39.61266],[-80.37033,39.61152],[-80.36795,39.61027],[-80.365,39.60829],[-80.36383,39.60682],[-80.36234,39.60546],[-80.36045,39.60424],[-80.3588,39.60344],[-80.35705,39.60225],[-80.35559,39.6015],[-80.35374,39.60079],[-80.35184,39.60029],[-80.34981,39.59996],[-80.34801,39.59989],[-80.34657,39.59991],[-80.34463,39.60012],[-80.34161,39.59953],[-80.33961,39.59944],[-80.33807,39.59948],[-80.33634,39.59965],[-80.33384,39.60023],[-80.33193,39.60039],[-80.32925,39.60003],[-80.32709,39.59943],[-80.32543,39.59911],[-80.32378,39.59898],[-80.32194,39.59899],[-80.32029,39.59911],[-80.31778,39.59937],[-80.31584,39.59983],[-80.3132,39.59994],[-80.30981,39.59976],[-80.27055,39.59946],[-80.26807,39.59961],[-80.26612,39.59957],[-80.25061,39.59933],[-80.16508,39.59868],[-80.15889,39.59539],[-80.15645,39.59126],[-80.15509,39.58941],[-80.15313,39.58772],[-80.15066,39.58626],[-80.15002,39.584],[-80.14903,39.58211],[-80.14713,39.57997],[-80.14529,39.57846],[-80.14422,39.57692],[-80.14226,39.57504],[-80.1398,39.57342],[-80.13737,39.57108],[-80.13526,39.56982],[-80.13322,39.56887],[-80.13052,39.56809],[-80.12786,39.56776],[-80.12506,39.56653],[-80.12346,39.56456],[-80.12162,39.56298],[-80.11934,39.56165],[-80.11697,39.56062],[-80.11559,39.55916],[-80.11335,39.55755],[-80.10895,39.55521],[-80.10388,39.55172],[-80.09385,39.54408],[-80.06118,39.51973],[-80.06216,39.5173],[-80.0625,39.51477],[-80.06227,39.51212],[-80.06141,39.50974],[-80.05997,39.50772],[-80.0581,39.50583],[-80.05061,39.49892],[-80.04701,39.49669],[-80.04195,39.49472],[-80.03767,39.49371],[-80.03304,39.49333],[-80.0322,39.49031],[-80.03083,39.48816],[-80.0289,39.48629],[-80.02684,39.485],[-80.02623,39.48334],[-80.02494,39.48147],[-80.02327,39.47979],[-80.02116,39.47827],[-80.01877,39.4771],[-80.01636,39.47627],[-80.01314,39.47564],[-80.00952,39.47448],[-80.00695,39.47407],[-80.00468,39.47393],[-80.00328,39.47208],[-80.0015,39.47057],[-79.99894,39.4691],[-79.99627,39.46795],[-79.99302,39.46709],[-79.99159,39.46607],[-79.99106,39.4643],[-79.99018,39.46271],[-79.98902,39.46126],[-79.98732,39.45972],[-79.98521,39.45841],[-79.98311,39.45736],[-79.98125,39.45676],[-79.97987,39.45529],[-79.97796,39.45383],[-79.97536,39.45251],[-79.90369,39.42574],[-79.90052,39.42457],[-79.8983,39.42406],[-79.89586,39.4238],[-79.8934,39.42383],[-79.89158,39.42407],[-79.88936,39.42458],[-79.88689,39.42554],[-79.8848,39.42673],[-79.88303,39.42823],[-79.88147,39.43009],[-79.88052,39.43171],[-79.87989,39.43333],[-79.87964,39.43552],[-79.87971,39.43705],[-79.88428,39.47882],[-79.77561,39.61878],[-79.7745,39.62139],[-79.77413,39.6244],[-79.77054,39.65456],[-79.75287,39.68691],[-79.74982,39.69244],[-79.74921,39.69384],[-79.74887,39.69517],[-79.74866,39.69658],[-79.74868,39.72127],[-79.74894,39.72316],[-79.74957,39.72496],[-79.75072,39.72684],[-79.75222,39.72856],[-79.75471,39.73037],[-79.75751,39.73168],[-79.75986,39.73234],[-79.76237,39.73274],[-79.76424,39.73279],[-80.42158,39.73322],[-80.42202,39.7332],[-80.42358,39.73313],[-80.42454,39.73301]]],"type":"Polygon"}}, @@ -755,7 +764,7 @@ {"properties":{"name":"Rio Mosaico 2019","id":"rio2019","url":"https://pgeo3.rio.rj.gov.br/arcgis/services/Imagens/Mosaico_2019/ImageServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"text":"Instituto Pereira Passos - Prefeitura da Cidade do Rio de Janeiro","url":"https://www.rio.rj.gov.br/web/ipp"},"type":"wms","category":"photo","min_zoom":4,"best":true},"type":"Feature","geometry":{"coordinates":[[[-43.59375,-23.09163],[-43.49213,-23.09163],[-43.49043,-23.05158],[-43.42965,-23.04994],[-43.42958,-23.03186],[-43.42655,-23.02912],[-43.35517,-23.02925],[-43.35275,-23.0322],[-43.35273,-23.04931],[-43.32336,-23.05052],[-43.32046,-23.07079],[-43.27378,-23.07079],[-43.27156,-23.05116],[-43.24219,-23.04994],[-43.24219,-23.02902],[-43.23053,-23.02917],[-43.22783,-23.03186],[-43.22776,-23.09163],[-43.11654,-23.09163],[-43.11722,-23.03416],[-43.14502,-23.03414],[-43.1481,-23.03106],[-43.14754,-22.98957],[-43.11653,-22.98732],[-43.11722,-22.90906],[-43.14502,-22.90904],[-43.14805,-22.90629],[-43.14923,-22.86457],[-43.14741,-22.82414],[-43.14433,-22.82106],[-43.08564,-22.82104],[-43.08564,-22.72164],[-43.16528,-22.72227],[-43.1653,-22.73907],[-43.16696,-22.7417],[-43.19618,-22.74253],[-43.1962,-22.76033],[-43.19771,-22.76284],[-43.25866,-22.76343],[-43.25873,-22.78092],[-43.26176,-22.78367],[-43.41453,-22.78622],[-43.41511,-22.80369],[-43.42776,-22.80537],[-43.45873,-22.80481],[-43.46052,-22.80212],[-43.46123,-22.78622],[-43.55392,-22.78749],[-43.5541,-22.79474],[-43.55793,-22.8019],[-43.5704,-22.80269],[-43.57864,-22.81028],[-43.58017,-22.81603],[-43.59306,-22.81851],[-43.59375,-22.84646],[-43.72215,-22.84891],[-43.73108,-22.85144],[-43.73374,-22.85711],[-43.75373,-22.85651],[-43.75466,-22.86261],[-43.75861,-22.86767],[-43.78738,-22.87297],[-43.78944,-22.87424],[-43.78951,-22.8854],[-43.79156,-22.8879],[-43.8121,-22.88817],[-43.8121,-22.93182],[-43.80039,-22.93188],[-43.78897,-22.93578],[-43.78326,-22.94066],[-43.77767,-22.94095],[-43.76014,-22.95055],[-43.75786,-22.98804],[-43.72977,-22.98767],[-43.72766,-22.99051],[-43.72696,-23.00888],[-43.69775,-23.00989],[-43.69606,-23.04994],[-43.68379,-23.0512],[-43.68033,-23.06129],[-43.68026,-23.07079],[-43.60544,-23.07086],[-43.60269,-23.07389],[-43.60267,-23.091],[-43.59375,-23.09163]]],"type":"Polygon"}}, {"properties":{"name":"Rio Mosaico 2022","id":"rio2022","url":"https://pgeo3.rio.rj.gov.br/arcgis/services/Imagens/Mosaico_2022/ImageServer/WMSServer?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=0&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}","attribution":{"text":"Instituto Pereira Passos - Prefeitura da Cidade do Rio de Janeiro","url":"https://www.rio.rj.gov.br/web/ipp"},"type":"wms","category":"photo","min_zoom":4},"type":"Feature","geometry":{"coordinates":[[[-43.59375,-23.09163],[-43.49213,-23.09163],[-43.49043,-23.05158],[-43.42965,-23.04994],[-43.42958,-23.03186],[-43.42655,-23.02912],[-43.35517,-23.02925],[-43.35275,-23.0322],[-43.35273,-23.04931],[-43.32336,-23.05052],[-43.32046,-23.07079],[-43.27378,-23.07079],[-43.27156,-23.05116],[-43.24219,-23.04994],[-43.24219,-23.02902],[-43.23053,-23.02917],[-43.22783,-23.03186],[-43.22776,-23.09163],[-43.11654,-23.09163],[-43.11722,-23.03416],[-43.14502,-23.03414],[-43.1481,-23.03106],[-43.14754,-22.98957],[-43.11653,-22.98732],[-43.11722,-22.90906],[-43.14502,-22.90904],[-43.14805,-22.90629],[-43.14923,-22.86457],[-43.14741,-22.82414],[-43.14433,-22.82106],[-43.08564,-22.82104],[-43.08564,-22.72164],[-43.16528,-22.72227],[-43.1653,-22.73907],[-43.16696,-22.7417],[-43.19618,-22.74253],[-43.1962,-22.76033],[-43.19771,-22.76284],[-43.25866,-22.76343],[-43.25873,-22.78092],[-43.26176,-22.78367],[-43.41453,-22.78622],[-43.41511,-22.80369],[-43.42776,-22.80537],[-43.45873,-22.80481],[-43.46052,-22.80212],[-43.46123,-22.78622],[-43.55392,-22.78749],[-43.5541,-22.79474],[-43.55793,-22.8019],[-43.5704,-22.80269],[-43.57864,-22.81028],[-43.58017,-22.81603],[-43.59306,-22.81851],[-43.59375,-22.84646],[-43.72215,-22.84891],[-43.73108,-22.85144],[-43.73374,-22.85711],[-43.75373,-22.85651],[-43.75466,-22.86261],[-43.75861,-22.86767],[-43.78738,-22.87297],[-43.78944,-22.87424],[-43.78951,-22.8854],[-43.79156,-22.8879],[-43.8121,-22.88817],[-43.8121,-22.93182],[-43.80039,-22.93188],[-43.78897,-22.93578],[-43.78326,-22.94066],[-43.77767,-22.94095],[-43.76014,-22.95055],[-43.75786,-22.98804],[-43.72977,-22.98767],[-43.72766,-22.99051],[-43.72696,-23.00888],[-43.69775,-23.00989],[-43.69606,-23.04994],[-43.68379,-23.0512],[-43.68033,-23.06129],[-43.68026,-23.07079],[-43.60544,-23.07086],[-43.60269,-23.07389],[-43.60267,-23.091],[-43.59375,-23.09163]]],"type":"Polygon"}}, {"properties":{"name":"Jaraguá do Sul Ortomosaico 2020","id":"jaragua-do-sul-2020","url":"https://www.jaraguadosul.sc.gov.br/geo/ortomosaico2020/{zoom}/{x}/{y}.png","attribution":{"text":"Prefeitura de Jaraguá do Sul, SC","url":"https://sistemas.jaraguadosul.sc.gov.br/index.php?class=GeoWelcomeView"},"type":"tms","category":"photo","max_zoom":19},"type":"Feature","geometry":{"coordinates":[[[-49.25368,-26.26563],[-49.17549,-26.31065],[-49.16931,-26.35804],[-49.19403,-26.38449],[-49.19266,-26.42016],[-49.21051,-26.43676],[-49.21806,-26.47733],[-49.22562,-26.48471],[-49.24621,-26.48901],[-49.29634,-26.54185],[-49.30595,-26.58054],[-49.28106,-26.61953],[-49.23798,-26.61922],[-49.20433,-26.62966],[-49.17824,-26.61615],[-49.1645,-26.65237],[-49.13292,-26.64316],[-49.10408,-26.61063],[-49.10133,-26.58177],[-49.0876,-26.57993],[-49.08554,-26.55168],[-49.0567,-26.54615],[-49.05121,-26.51912],[-49.03404,-26.52219],[-49.01756,-26.51298],[-49.01138,-26.48287],[-49.02511,-26.45643],[-49.09515,-26.39863],[-49.10545,-26.39371],[-49.10477,-26.36972],[-49.13635,-26.33219],[-49.13841,-26.30265],[-49.16725,-26.26571],[-49.16725,-26.21336],[-49.19128,-26.21274],[-49.23454,-26.23061],[-49.23386,-26.25524],[-49.25368,-26.26563]]],"type":"Polygon"}}, -{"properties":{"name":"Bing Maps Aerial","id":"Bing","url":"https://ecn.t1.tiles.virtualearth.net/tiles/a{quadkey}.jpeg?g=14307&pr=odbl&n=f","type":"bing","category":"photo","min_zoom":1,"max_zoom":22},"type":"Feature","geometry":null}, +{"properties":{"name":"Bing Maps Aerial","id":"Bing","url":"https://ecn.t2.tiles.virtualearth.net/tiles/a{quadkey}.jpeg?g=14368&pr=odbl&n=f","type":"bing","category":"photo","min_zoom":1,"max_zoom":22},"type":"Feature","geometry":null}, {"properties":{"name":"CyclOSM","id":"cyclosm","url":"https://{switch:a,b,c}.tile-cyclosm.openstreetmap.fr/cyclosm/{zoom}/{x}/{y}.png","attribution":{"text":"Rendering: CyclOSM (hosted by OpenStreetMap France) © Map data OpenStreetMap contributors","url":"https://www.cyclosm.org/"},"type":"tms","category":"osmbasedmap","max_zoom":20},"type":"Feature","geometry":null}, {"properties":{"name":"Esri World Imagery","id":"EsriWorldImagery","url":"https://{switch:services,server}.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}","attribution":{"required":true,"text":"Terms & Feedback","url":"https://wiki.openstreetmap.org/wiki/Esri"},"type":"tms","category":"photo","max_zoom":22,"default":true},"type":"Feature","geometry":null}, {"properties":{"name":"Esri World Imagery (Clarity) Beta","id":"EsriWorldImageryClarity","url":"https://clarity.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}","attribution":{"required":true,"text":"Terms & Feedback","url":"https://wiki.openstreetmap.org/wiki/Esri"},"type":"tms","category":"photo","max_zoom":22,"default":true},"type":"Feature","geometry":null}, diff --git a/src/assets/global-raster-layers.json b/src/assets/global-raster-layers.json index 7099d062a..f89c6ecdf 100644 --- a/src/assets/global-raster-layers.json +++ b/src/assets/global-raster-layers.json @@ -12,6 +12,112 @@ "url": "https://osm.org/copyright" } }, + { + "url": "pmtiles://https://api.protomaps.com/tiles/v3.json?key=2af8b969a9e8b692", + "style": "https://api.protomaps.com/styles/v2/white.json?key=2af8b969a9e8b692", + "connect-src": [ + "https://protomaps.github.io" + ], + "id": "protomaps.white", + "name": "Protomaps White", + "type": "vector", + "category": "osmbasedmap", + "attribution": { + "text": "Protomaps", + "url": "https://protomaps.com/" + } + }, + { + "url": "pmtiles://https://api.protomaps.com/tiles/v3.json?key=2af8b969a9e8b692", + "style": "https://api.protomaps.com/styles/v2/light.json?key=2af8b969a9e8b692", + "connect-src": [ + "https://protomaps.github.io" + ], + "id": "protomaps.light", + "name": "Protomaps Light", + "type": "vector", + "category": "osmbasedmap", + "attribution": { + "text": "Protomaps", + "url": "https://protomaps.com/" + } + }, + { + "url": "pmtiles://https://api.protomaps.com/tiles/v3.json?key=2af8b969a9e8b692", + "connect-src": [ + "https://protomaps.github.io" + ], + "style": "https://api.protomaps.com/styles/v2/grayscale.json?key=2af8b969a9e8b692", + "id": "protomaps.grayscale", + "name": "Protomaps Grayscale", + "type": "vector", + "category": "osmbasedmap", + "attribution": { + "text": "Protomaps", + "url": "https://protomaps.com/" + } + }, + { + "url": "pmtiles://https://api.protomaps.com/tiles/v3.json?key=2af8b969a9e8b692", + "connect-src": [ + "https://protomaps.github.io" + ], + "style": "https://api.protomaps.com/styles/v2/dark.json?key=2af8b969a9e8b692", + "id": "protomaps.dark", + "name": "Protomaps Dark", + "type": "vector", + "category": "osmbasedmap", + "attribution": { + "text": "Protomaps", + "url": "https://protomaps.com/" + } + }, + { + "url": "pmtiles://https://api.protomaps.com/tiles/v3.json?key=2af8b969a9e8b692", + "style": "https://api.protomaps.com/styles/v2/black.json?key=2af8b969a9e8b692", + "connect-src": [ + "https://protomaps.github.io" + ], + "id": "protomaps.black", + "name": "Protomaps Black", + "type": "vector", + "category": "osmbasedmap", + "attribution": { + "text": "Protomaps", + "url": "https://protomaps.com/" + } + }, + { + "url": "pmtiles://https://api.protomaps.com/tiles/v3.json?key=2af8b969a9e8b692", + "style": "assets/sunny.json", + "connect-src": [ + "https://protomaps.github.io" + ], + "id": "protomaps.sunny", + "name": "Protomaps Sunny", + "type": "vector", + "category": "osmbasedmap", + "attribution": { + "text": "Protomaps", + "url": "https://protomaps.com/" + } + }, + { + "url": "pmtiles://https://api.protomaps.com/tiles/v3.json?key=2af8b969a9e8b692", + "style": "assets/sunny-unlabeled.json", + "connect-src": [ + "https://protomaps.github.io" + ], + "id": "protomaps.sunny_unlabeled", + "name": "Protomaps Sunny Unlabeled", + "type": "vector", + "category": "osmbasedmap", + "attribution": { + "text": "Protomaps", + "url": "https://protomaps.com/" + } + }, + { "name": "Americana", "url": "https://zelonewolf.github.io/openstreetmap-americana/style.json", @@ -24,10 +130,11 @@ } }, { - "name": "MapTiler Backdrop", - "url": "https://api.maptiler.com/maps/backdrop/style.json?key=GvoVAJgu46I5rZapJuAy", + "name": "MapTiler", + "url": "https://api.maptiler.com/maps/15cc8f61-0353-4be6-b8da-13daea5f7432/style.json?key=GvoVAJgu46I5rZapJuAy", + "style": "https://api.maptiler.com/maps/15cc8f61-0353-4be6-b8da-13daea5f7432/style.json?key=GvoVAJgu46I5rZapJuAy", "category": "osmbasedmap", - "id": "maptiler.backdrop", + "id": "maptiler", "type": "vector", "attribution": { "text": "Maptiler", @@ -88,7 +195,8 @@ "text": "Stamen/Stadiamaps", "url": "https://stadiamaps.com/" } - }, { + }, + { "name": "Stamen Watercolor", "url": "https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?key=14c5a900-7137-42f7-9cb9-fff0f4696f75", "category": "osmbasedmap", @@ -142,8 +250,6 @@ "url": "https://carto.com/" } }, - - { "url": "https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json?key=eyJhbGciOiJIUzI1NiJ9.eyJhIjoiYWNfdW4ybmhlbTciLCJqdGkiOiIwZGQxNjJmNyJ9.uATJpa6QcrtXhph3Bzvk2nX3QsxEw-Q8dj5khUG6hGk", "name": "Carto Positron (no labels)", diff --git a/src/index.ts b/src/index.ts index 1eac36b03..7ff0e1a61 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,16 +20,26 @@ function webgl_support() { return false } } + +async function timeout(timeMS: number): Promise<{ layers: string[] }> { + await Utils.waitFor(timeMS) + return { layers: [] } +} + async function getAvailableLayers(): Promise> { try { const host = new URL(Constants.VectorTileServer).host - const status = await Utils.downloadJson("https://" + host + "/summary/status.json") + const status: { layers: string[] } = await Promise.any([ + // Utils.downloadJson("https://" + host + "/summary/status.json"), + timeout(0) + ]) return new Set(status.layers) } catch (e) { console.error("Could not get MVT available layers due to", e) return new Set() } } + async function main() { // @ts-ignore try { @@ -38,12 +48,15 @@ async function main() { } const [layout, availableLayers] = await Promise.all([ DetermineLayout.GetLayout(), - await getAvailableLayers(), + await getAvailableLayers() ]) console.log("The available layers on server are", Array.from(availableLayers)) const state = new ThemeViewState(layout, availableLayers) const main = new SvelteUIElement(ThemeViewGUI, { state }) main.AttachTo("maindiv") + Array.from(document.getElementsByClassName("delete-on-load")).forEach(el => { + el.parentElement.removeChild(el) + }) } catch (err) { console.error("Error while initializing: ", err, err.stack) const customDefinition = DetermineLayout.getCustomDefinition() @@ -52,16 +65,17 @@ async function main() { customDefinition?.length > 0 ? new SubtleButton(new SvelteUIElement(Download), "Download the raw file").onClick( - () => - Utils.offerContentsAsDownloadableFile( - DetermineLayout.getCustomDefinition(), - "mapcomplete-theme.json", - { mimetype: "application/json" } - ) - ) - : undefined, + () => + Utils.offerContentsAsDownloadableFile( + DetermineLayout.getCustomDefinition(), + "mapcomplete-theme.json", + { mimetype: "application/json" } + ) + ) + : undefined ]).AttachTo("maindiv") } } -main().then((_) => {}) +main().then((_) => { +}) diff --git a/src/index_theme.ts.template b/src/index_theme.ts.template index 3ad3b9924..5079901b7 100644 --- a/src/index_theme.ts.template +++ b/src/index_theme.ts.template @@ -18,10 +18,20 @@ function webgl_support() { return false } } + +async function timeout(timeMS: number): Promise<{ layers: string[] }> { + await Utils.waitFor(timeMS) + return { layers: [] } +} + + async function getAvailableLayers(): Promise> { try { const host = new URL(Constants.VectorTileServer).host - const status = await Utils.downloadJson("https://" + host + "/summary/status.json") + const status = await Promise.any([ + // Utils.downloadJson("https://" + host + "/summary/status.json"), + timeout(0) + ]) return new Set(status.layers) } catch (e) { console.error("Could not get MVT available layers due to", e) @@ -39,6 +49,9 @@ async function main() { const state = new ThemeViewState(new LayoutConfig( layout), availableLayers) const main = new SvelteUIElement(ThemeViewGUI, { state }) main.AttachTo("maindiv") + Array.from(document.getElementsByClassName("delete-on-load")).forEach(el => { + el.parentElement.removeChild(el) + }) } } main() diff --git a/src/test.ts b/src/test.ts index 50826840b..52729071c 100644 --- a/src/test.ts +++ b/src/test.ts @@ -1,7 +1,4 @@ import SvelteUIElement from "./UI/Base/SvelteUIElement" import Test from "./UI/Test.svelte" -import MvtSource from "./Logic/FeatureSource/Sources/MvtSource" -new MvtSource("https://example.org", undefined, undefined, undefined) - -new SvelteUIElement(Test, {}).AttachTo("maindiv") +new SvelteUIElement(Test).AttachTo("maindiv") diff --git a/test.html b/test.html index e87f422e5..1ecb87c01 100644 --- a/test.html +++ b/test.html @@ -2,9 +2,6 @@ Small tests - - - @@ -18,7 +15,6 @@
'maindiv' not attached
-
'extradiv' not attached
diff --git a/test/Logic/ImageProviders/ImageProviders.spec.ts b/test/Logic/ImageProviders/ImageProviders.spec.ts index 62e9051e6..c6409b6b9 100644 --- a/test/Logic/ImageProviders/ImageProviders.spec.ts +++ b/test/Logic/ImageProviders/ImageProviders.spec.ts @@ -83,7 +83,7 @@ describe("ImageProviders", () => { ) Utils.injectJsonDownloadForTests( - "https://graph.mapillary.com/196804715753265?fields=thumb_1024_url,thumb_original_url&access_token=MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85", + "https://graph.mapillary.com/196804715753265?fields=thumb_1024_url,thumb_original_url,captured_at,creator&access_token=MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85", { thumb_1024_url: "https://scontent-bru2-1.xx.fbcdn.net/m1/v/t6/An8HQ3DrfU76tWMC602spvM_e_rqOHyiUcYUTetXM7K52DDBEY5J4FWg4WKQqVUlMsWJn4nLXk0pxlBLx31146FqZ2Kg65z7lJUfR6wpW6WPSR5_y7RKdv4YEuzPjwIN0lagBnQONV3UjmXnEGpMouU?stp=s1024x768&ccb=10-5&oh=d460b401c505714ee1cb8bd6baf8ae5d&oe=61731FC3&_nc_sid=122ab1", @@ -91,6 +91,11 @@ describe("ImageProviders", () => { "https://scontent-bru2-1.xx.fbcdn.net/m1/v/t6/Alorup_ipsumMC602spvM_e_rqOHyiUcYUTetXM7K52DDBEY5J4FWg4WKQqVUlMsWJn4nLXk0pxlBLx31146FqZ2Kg65z7lJUfR6wpW6WPSR5_y7RKdv4YEuzPjwIN0lagBnQONV3UjmXnEGpMouU?stp=s1024x768&ccb=10-5&oh=d460b401c505714ee1cb8bd6baf8ae5d&oe=61731FC3&_nc_sid=122ab1", id: "196804715753265", + captured_at:1627748022000, + "creator": { + "username": "filipc", + "id": "109372117958792" + }, } ) diff --git a/theme.html b/theme.html index e8674e27e..af8f524f9 100644 --- a/theme.html +++ b/theme.html @@ -9,11 +9,19 @@ - + + + + + + + + + MapComplete @@ -59,21 +67,24 @@

-
- - - - -
- Version -
- -
+
+ +
+ + + + +
+ Version +
+ +
+ - +