From 6d2a5a1817eecc81f318981b7bd41100c796f37c Mon Sep 17 00:00:00 2001
From: John Hartley <41830007+j-hartley@users.noreply.github.com>
Date: Wed, 16 Apr 2025 08:07:50 +0100
Subject: [PATCH 1/2] Remove locations API
fixes AB#10635
---
content/developers/api-reference/_index.md | 1 -
.../api-reference/caps-api/index.md | 1 -
.../api-reference/iam-policies-api/index.md | 27 +-
.../api-reference/locations-api/index.md | 137 ------
.../index.md | 17 +-
content/developers/yaml-reference/_index.md | 1 -
.../developers/yaml-reference/assets/index.md | 2 +-
.../yaml-reference/estate-info/index.md | 6 +-
.../developers/yaml-reference/events/index.md | 17 +-
.../yaml-reference/locations/index.md | 82 ----
.../story-runner-components/index.md | 1 -
content/glossary/reserved-attributes/index.md | 1 -
.../grouping-assets-by-location/EyeSymbol.png | Bin 1673 -> 0 bytes
.../LocationAddNew.png | Bin 38450 -> 0 bytes
.../LocationAdded.png | Bin 48498 -> 0 bytes
.../LocationAssetCreation.png | Bin 43046 -> 0 bytes
.../LocationAssetUpdate.png | Bin 34899 -> 0 bytes
.../LocationAttributes.png | Bin 32668 -> 0 bytes
.../LocationDescribe.png | Bin 20406 -> 0 bytes
.../LocationDetails.png | Bin 29675 -> 0 bytes
.../LocationForm.png | Bin 22543 -> 0 bytes
.../LocationIdentity.png | Bin 28848 -> 0 bytes
.../LocationSubmitted.png | Bin 20266 -> 0 bytes
.../LocationUpdateComplete.png | Bin 181950 -> 0 bytes
.../grouping-assets-by-location/index.md | 413 ------------------
.../index.md | 18 +-
.../index.md | 16 +-
.../overview/creating-an-asset/index.md | 48 +-
.../index.md | 60 ++-
29 files changed, 74 insertions(+), 774 deletions(-)
delete mode 100644 content/developers/api-reference/locations-api/index.md
delete mode 100644 content/developers/yaml-reference/locations/index.md
delete mode 100644 content/platform/administration/grouping-assets-by-location/EyeSymbol.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationAddNew.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationAdded.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationAssetCreation.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationAssetUpdate.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationAttributes.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationDescribe.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationDetails.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationForm.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationIdentity.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationSubmitted.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/LocationUpdateComplete.png
delete mode 100644 content/platform/administration/grouping-assets-by-location/index.md
diff --git a/content/developers/api-reference/_index.md b/content/developers/api-reference/_index.md
index d7e3f1dac..e08a389e0 100644
--- a/content/developers/api-reference/_index.md
+++ b/content/developers/api-reference/_index.md
@@ -23,7 +23,6 @@ aliases:
Events API →
IAM Policies API →
IAM Subjects API →
- Locations API →
Members API →
Public Assets API →
Tenancies API →
diff --git a/content/developers/api-reference/caps-api/index.md b/content/developers/api-reference/caps-api/index.md
index a47042e93..0c447e948 100644
--- a/content/developers/api-reference/caps-api/index.md
+++ b/content/developers/api-reference/caps-api/index.md
@@ -49,7 +49,6 @@ These are the available values for "**?service=**":
* applications
* assets
* blobs
-* locations
* members
diff --git a/content/developers/api-reference/iam-policies-api/index.md b/content/developers/api-reference/iam-policies-api/index.md
index 5f5a641d1..9ed1e3103 100644
--- a/content/developers/api-reference/iam-policies-api/index.md
+++ b/content/developers/api-reference/iam-policies-api/index.md
@@ -11,12 +11,12 @@ menu:
parent: "api-reference"
weight: 115
toc: true
-aliases:
+aliases:
- /docs/api-reference/iam-policies-api/
---
{{< note >}}
-**Note:** This page is primarily intended for developers who will be writing applications that will use DataTrails for provenance.
-If you are looking for a simple way to test our API you might prefer our [Postman collection](https://www.postman.com/datatrails-inc/workspace/datatrails-public/overview), the [YAML runner](/developers/yaml-reference/story-runner-components/) or the [Developers](https://app.datatrails.ai) section of the web UI.
+**Note:** This page is primarily intended for developers who will be writing applications that will use DataTrails for provenance.
+If you are looking for a simple way to test our API you might prefer our [Postman collection](https://www.postman.com/datatrails-inc/workspace/datatrails-public/overview), the [YAML runner](/developers/yaml-reference/story-runner-components/) or the [Developers](https://app.datatrails.ai) section of the web UI.
Additional YAML examples can be found in the articles in the [Overview](/platform/overview/introduction/) section.
{{< /note >}}
@@ -103,10 +103,6 @@ The response is:
"display_name": "Friendly name of the policy",
"description": "Description of the policy",
"filters": [
- {"or": [
- "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae",
- "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc"
- ]},
{"or": [
"attributes.arc_display_type=Valve",
"attributes.arc_display_type=Pump"
@@ -187,10 +183,6 @@ Each of these calls returns a list of matching IAM Access Policies records in th
"display_name": "Name to display",
"description": "Description of the policy",
"filters": [
- {"or": [
- "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae",
- "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc"
- ]},
{"or": [
"attributes.arc_display_type=Valve",
"attributes.arc_display_type=Pump"
@@ -269,10 +261,6 @@ Define the Access Policy parameters to be changed and store in `/path/to/jsonfil
```json
{
"filters": [
- {"or": [
- "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae",
- "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc"
- ]},
{"or": [
"attributes.arc_display_type=Valve",
"attributes.arc_display_type=Pump"
@@ -319,10 +307,6 @@ The response is:
"display_name": "Friendly name of the policy",
"description": "Description of the policy",
"filters": [
- {"or": [
- "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae",
- "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc"
- ]},
{"or": [
"attributes.arc_display_type=Valve",
"attributes.arc_display_type=Pump"
@@ -384,7 +368,6 @@ Each of these calls returns a list of matching Asset records in the form:
"attributes": {
"arc_display_type": "Pump",
"arc_firmware_version": "1.0",
- "arc_home_location_identity": "locations/866790d8-4ed6-4cc9-8f60-07672609b331",
"arc_serial_number": "vtl-x4-07",
"arc_description": "Pump at A603 North East",
"arc_display_name": "tcl.ccj.003",
@@ -424,10 +407,6 @@ Each of these calls returns a list of matching IAM `access_policies` records in
"identity": "access_policies/6a951b62-0a26-4c22-a886-1082297b063b",
"display_name": "Some description",
"filters": [
- { "or": [
- "attributes.arc_home_location_identity=locations/5ea815f0-4de1-4a84-9377-701e880fe8ae",
- "attributes.arc_home_location_identity=locations/27eed70b-9e2b-4db1-b8c4-e36505350dcc",
- ]},
{ "or": [
"attributes.arc_display_type=Valve",
"attributes.arc_display_type=Pump"
diff --git a/content/developers/api-reference/locations-api/index.md b/content/developers/api-reference/locations-api/index.md
deleted file mode 100644
index 48882da9a..000000000
--- a/content/developers/api-reference/locations-api/index.md
+++ /dev/null
@@ -1,137 +0,0 @@
----
-title: "Locations API"
-description: "Locations API Reference"
-lead: "Locations API Reference"
-date: 2021-06-09T11:56:23+01:00
-lastmod: 2021-06-09T11:56:23+01:00
-draft: false
-images: []
-menu:
- developers:
- parent: "api-reference"
-weight: 119
-toc: true
-aliases:
- - /docs/api-reference/locations-api/
----
-{{< note >}}
-**Note:** This page is primarily intended for developers who will be writing applications that will use DataTrails for provenance.
-If you are looking for a simple way to test our API you might prefer our [Postman collection](https://www.postman.com/datatrails-inc/workspace/datatrails-public/overview), the [YAML runner](/developers/yaml-reference/story-runner-components/) or the [Developers](https://app.datatrails.ai) section of the web UI.
-
-Additional YAML examples can be found in the articles in the [Overview](/platform/overview/introduction/) section.
-{{< /note >}}
-{{< note >}}
-**Note:** See [DataTrails Administration](/platform/administration/grouping-assets-by-location/) for additional information on creating and using locations with DataTrails.
-{{< /note >}}
-
-## Locations API Examples
-
-Create the [bearer_token](/developers/developer-patterns/getting-access-tokens-using-app-registrations) and store in a file in a secure local directory with 0600 permissions.
-
-### Location Creation
-
-Define the location parameters and store in `/path/to/jsonfile`:
-
-```json
-{
- "display_name": "Macclesfield, Cheshire",
- "description": "Manufacturing site, North West England, Macclesfield, Cheshire",
- "latitude": 53.2546799,
- "longitude": -2.1213956,
- "attributes": {
- "director": "John Smith",
- "address": "Unit 6A, Synsation Park, Maccelsfield",
- "Facility Type": "Manufacture",
- "support_email": "support@macclesfield.com",
- "support_phone": "123 456 789"
- }
-}
-```
-
-Create the location to POSTing to the locations resource:
-
-```bash
-curl -v -X POST \
- -H "@$HOME/.datatrails/bearer-token.txt" \
- -H "Content-type: application/json" \
- -d "@/path/to/jsonfile" \
- https://app.datatrails.ai/archivist/v2/locations
-```
-
-The response is:
-
-```json
-{
- "identity": "locations/08838336-c357-460d-902a-3aba9528dd22",
- "display_name": "Macclesfield, Cheshire",
- "description": "Manufacturing site, North West England, Macclesfield, Cheshire",
- "latitude": 53.2546799,
- "longitude": -2.1213956,
- "attributes": {
- "director": "John Smith",
- "address": "Bridgewater, Somerset",
- "Facility Type": "Manufacture",
- "support_email": "support@macclesfield.com",
- "support_phone": "123 456 789"
- }
-}
-```
-
-### Location Retrieval
-
-#### Fetch All Locations
-
-To fetch all locations, simply `GET` the locations resource:
-
-```bash
-curl -v -X GET \
- -H "@$HOME/.datatrails/bearer-token.txt" \
- https://app.datatrails.ai/archivist/v2/locations
-```
-
-#### Fetch Specific Location by Identity
-
-If you know the unique identity of the location record, simply `GET` the resource:
-
-```bash
-curl -v -X GET \
- -H "@$HOME/.datatrails/bearer-token.txt" \
- https://app.datatrails.ai/archivist/v2/locations/08838336-c357-460d-902a-3aba9528dd22
-```
-
-#### Fetch Location by Name
-
-To fetch all locations with a specific name, `GET` the Assets resource and filter on `display_name`:
-
-```bash
-curl -v -X GET \
- -H "@$HOME/.datatrails/bearer-token.txt" \
- "https://app.datatrails.ai/archivist/v2/locations?display_name=Macclesfield%2C%20Cheshire"
-```
-
-Each of these calls returns a list of matching Asset records in the form:
-
-```json
-{
- "locations": [
- {
- "identity": "locations/08838336-c357-460d-902a-3aba9528dd22",
- "display_name": "Macclesfield, Cheshire",
- "description": "Manufacturing site, North West England, Macclesfield, Cheshire",
- "latitude": "53.2546799",
- "longitude": "-2.1213956,14.54",
- "attributes": {
- "director": "John Smith",
- "address": "Bridgewater, Somerset",
- "Facility Type": "Manufacture",
- "support_email": "support@macclesfield.com",
- "support_phone": "123 456 789"
- }
- }
- ]
-}
-```
-
-## Locations OpenAPI Docs
-
-{{< openapi url="https://raw.githubusercontent.com/datatrails/datatrails-openapi/main/doc/locationsv2.swagger.json" >}}
diff --git a/content/developers/developer-patterns/getting-access-tokens-using-app-registrations/index.md b/content/developers/developer-patterns/getting-access-tokens-using-app-registrations/index.md
index 6f52dc947..166d9aece 100644
--- a/content/developers/developer-patterns/getting-access-tokens-using-app-registrations/index.md
+++ b/content/developers/developer-patterns/getting-access-tokens-using-app-registrations/index.md
@@ -6,7 +6,7 @@ date: 2021-06-16T11:12:25+01:00
lastmod: 2023-09-27T11:12:25+01:00
draft: false
images: []
-menu:
+menu:
developers:
parent: "developer-patterns"
weight: 31
@@ -17,7 +17,7 @@ aliases:
---
Non-interactive access to the DataTrails platform is managed by creating `Integrations` with either a Custom Integration or one of the built-in Integrations. This is done from the `Integrations` page in the DataTrails UI (reachable
-from the `Settings` page or the `Integrations` shortcut in the sidebar.) You can also do this via
+from the `Settings` page or the `Integrations` shortcut in the sidebar.) You can also do this via
the App Registrations REST API.
{{< note >}}
@@ -40,7 +40,7 @@ The high level steps are:
If you have already saved a `CLIENT_ID` and a `SECRET`, with the correct [permissions applied](#grant-permissions-to-custom-integration), skip to [Getting a Token With the Custom Integration](#getting-a-token-with-the-custom-integration)
{{< note >}}
-**Note:** Creating App Registrations requires **Owner** privileges.
+**Note:** Creating App Registrations requires **Owner** privileges.
If `Settings` or `Integrations` does not appear in the navigation, see your DataTrails Administrator for access.
{{< /note >}}
@@ -57,17 +57,17 @@ If `Settings` or `Integrations` does not appear in the navigation, see your Data
**Note:** Optionally add any `Custom claims` at this step by clicking the `+ Add` button.
In this context, claims are pieces of information that are asserted in a JSON Web Token (JWT). *Registered* claims are name/value pairs that are defined by the JWT standard, *Custom* claims are not defined and can have any name/value combination.
Ensure the `Name` *does not start* with `jit_` or `arc_` (DataTrails reserved names) or use any other well-known reserved claims.
-
+
See [here](https://auth0.com/docs/security/tokens/json-web-tokens/json-web-token-claims#reserved-claims) for more information on JWT Claims
- {{< /note >}}
-1. If this Custom Integration should have administrator privileges, assign it the `Owner` role by
+ {{< /note >}}
+1. If this Custom Integration should have administrator privileges, assign it the `Owner` role by
checking that option. If you do this, ensure the client credentials are securely protected.
1. Once complete, click `Confirm` to complete the custom integration
1. You will then be presented with the `CLIENT_ID` and `SECRET` required by the archivist token endpoint
{{< img src="RecordClientIDandSecret.png" alt="Rectangle" caption="Record your Client ID and Secret" class="border-0" >}}
{{< caution >}}
**Caution:** Save the `CLIENT_ID` and `SECRET` to a password manager or secret management service as the `SECRET` can **not** be viewed again. A new `SECRET` can be regenerated in the Integration configuration screen but this replaces and invalidates the previous `SECRET`.
-{{< /caution >}}
+{{< /caution >}}
### Grant Access Permissions to your Custom Integration
@@ -133,7 +133,7 @@ Having completed the steps to create a [custom integration](./#creating-a-custom
# in an `./datatrails/` directory
mkdir -p $HOME/.datatrails
chmod 0700 $HOME/.datatrails
-
+
# Create the Bearer Token
echo Authorization: Bearer $TOKEN > $HOME/.datatrails/bearer-token.txt
cat $HOME/.datatrails/bearer-token.txt
@@ -178,7 +178,6 @@ If you have existing assets, the output will be similar to:
"arc_description": "A shipping container being tracked",
"arc_display_name": "New Shipping Container #1",
"arc_display_type": "Shipping Container",
- "arc_home_location_identity": "locations/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"height": "8'"
},
"confirmation_status": "COMMITTED",
diff --git a/content/developers/yaml-reference/_index.md b/content/developers/yaml-reference/_index.md
index 9ae1c065b..f2f1affbe 100644
--- a/content/developers/yaml-reference/_index.md
+++ b/content/developers/yaml-reference/_index.md
@@ -19,7 +19,6 @@ aliases:
YAML Runner Components →
Assets YAML Runner →
Events YAML Runner →
- Locations YAML Runner →
Subjects YAML Runner →
Estate Information YAML Runner →
diff --git a/content/developers/yaml-reference/assets/index.md b/content/developers/yaml-reference/assets/index.md
index 0780b4767..72bffb293 100644
--- a/content/developers/yaml-reference/assets/index.md
+++ b/content/developers/yaml-reference/assets/index.md
@@ -26,7 +26,7 @@ aliases:
Adding an `asset_label` allows your Asset to be referenced in later steps of the story.
For example, when you want to add an Event to the Asset after it is created.
-The `arc_namespace` (for the Asset) and the `namespace` (for the location) are used to distinguish between Assets and Locations created between runs of the story. Usually, these field values are derived from an environment variable `ARCHIVIST_NAMESPACE` (default value is namespace).
+The `arc_namespace` is used to distinguish between Assets created between runs of the story. Usually, these field values are derived from an environment variable `ARCHIVIST_NAMESPACE` (default value is namespace).
The optional `confirm: true` entry means that the YAML Runner will wait for the Asset to be committed before moving on to the next step. This is beneficial if the Asset will be referenced in later steps.
diff --git a/content/developers/yaml-reference/estate-info/index.md b/content/developers/yaml-reference/estate-info/index.md
index edcb2633f..6d2d72e21 100644
--- a/content/developers/yaml-reference/estate-info/index.md
+++ b/content/developers/yaml-reference/estate-info/index.md
@@ -6,12 +6,12 @@ date: 2021-06-09T11:39:03+01:00
lastmod: 2021-06-09T11:39:03+01:00
draft: false
images: []
-menu:
+menu:
developers:
parent: "yaml-reference"
weight: 207
toc: true
-aliases:
+aliases:
- /docs/yaml-reference/estate-info/
---
@@ -23,7 +23,7 @@ aliases:
## Composite Estate Info
-This action returns a report on the current number of Assets, Events, and locations in your DataTrails estate.
+This action returns a report on the current number of Assets and Events in your DataTrails estate.
```yaml
---
diff --git a/content/developers/yaml-reference/events/index.md b/content/developers/yaml-reference/events/index.md
index f383b5c82..48e57b3d2 100644
--- a/content/developers/yaml-reference/events/index.md
+++ b/content/developers/yaml-reference/events/index.md
@@ -25,7 +25,7 @@ aliases:
The `asset_label` must match the setting when the Asset was created in an earlier step. The `asset_label` may also be specified as the Asset ID of an existing Asset, in the form `assets/`.
-There are a few optional settings that can be used when creating Events. `attachments` uploads the attachment to DataTrails and the response is added to the Event before posting. `location` creates the location if it does not exist and adds it to the Event. The `sbom` setting uploads the SBOM to DataTrails and adds the response to the Event before posting.
+There are a few optional settings that can be used when creating Events. `attachments` uploads the attachment to DataTrails and the response is added to the Event before posting. The `sbom` setting uploads the SBOM to DataTrails and adds the response to the Event before posting.
`confirm: true` tells the YAML Runner to wait for the Event to be committed before moving to the next step.
This is optional and only necessary if your workflow requires 3rd parties (public or other DataTrails tenancies) to immediately view the Event.
@@ -49,26 +49,13 @@ steps:
arc_evidence: ARQC 0x12345678
wavestone_door_name: Courts of Justice Paris Front Door
wavestone_evt_type: door_open
- location:
- selector:
- - display_name
- - attributes:
- - namespace
- display_name: Paris Courts of Justice
- description: Public museum in the former Palais de Justice
- latitude: 48.855722
- longitude: 2.345051
- attributes:
- namespace: door entry
- address: 10 Boulevard du Palais, 75001 Paris, France
- wavestone_ext: managed
attachments:
- filename: functests/test_resources/doors/events/door_open.png
content_type: image/png
confirm: false
```
-This example creates an Event with custom Event attributes, creates and adds a location, and adds an image attachment.
+This example creates an Event with custom Event attributes, and adds an image attachment.
Events may also be used to release a software package as an SBOM, such as the example below:
diff --git a/content/developers/yaml-reference/locations/index.md b/content/developers/yaml-reference/locations/index.md
deleted file mode 100644
index ffc755146..000000000
--- a/content/developers/yaml-reference/locations/index.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: "Locations YAML Runner"
-description: "Location Actions Used with the Yaml Runner"
-lead: "Location Actions Used with the Yaml Runner"
-date: 2021-06-09T11:39:03+01:00
-lastmod: 2021-06-09T11:39:03+01:00
-draft: false
-images: []
-menu:
- developers:
- parent: "yaml-reference"
-weight: 204
-toc: true
-aliases:
- - /docs/yaml-reference/locations/
----
-
-{{< note >}}
-**Note:** To use the YAML Runner you will need to install the `datatrails-archivist` python package.
-
-[Click here](https://python.datatrails.ai/runner/index.html) for installation instructions.
-{{< /note >}}
-
-## Locations Create If Not Exists
-
-This action checks to see if the location you are looking to create already exists, and if not, executes the creation of your new location. The action checks for a location with the same identifier to verify that the location does not already exist.
-
-If this action is executed as part of a series of YAML Runner steps, the location created can be referenced in later steps using the key `location_label`.
-
-When you create your location, you may also add location attributes. In the example below, information such as the facility address and type have been included, as well as contact information for the location's reception:
-
-```yaml
----
-steps:
- - step:
- action: LOCATIONS_CREATE_IF_NOT_EXISTS
- description: Create Cape Town Location
- selector:
- - display_name
- - attributes:
- - namespace
- display_name: Cape Town
- description: South Africa Office
- latitude: -33.92527778
- longitude: 18.42388889
- attributes:
- namespace: synsation industries
- address: Cape Town Downtown
- Facility Type: Satellite Office
- reception_email: reception_CT@synsation.io
- reception_phone: +27 (21) 123-456
-```
-
-## Locations List
-
-This action returns a list of all locations that meet your specified criteria. Setting `print_response: true` is necessary to print the full output.
-
-```yaml
----
-steps:
- - step:
- action: LOCATIONS_LIST
- description: List locations for which John Smith is director
- print_response: true
- attrs:
- director: John Smith
-```
-
-## Locations Count
-
-This action returns a count of all locations that meet your specified criteria. Setting `print_response: true` is necessary to print the full output.
-
-```yaml
----
-steps:
- - step:
- action: LOCATIONS_COUNT
- description: Count location for which John Smith is director
- print_response: true
- attrs:
- director: John Smith
-```
diff --git a/content/developers/yaml-reference/story-runner-components/index.md b/content/developers/yaml-reference/story-runner-components/index.md
index be81e6975..45555279f 100644
--- a/content/developers/yaml-reference/story-runner-components/index.md
+++ b/content/developers/yaml-reference/story-runner-components/index.md
@@ -26,7 +26,6 @@ aliases:
| **action** | Required for every operation, the action specifies what function will be performed. |
| **description** | Optional string that describes what the step is doing. For example, "Create the Asset My First Container". |
| **asset_label** | For a series of steps run as one file, the Asset label could be a friendly name used by later steps to refer back to an Asset created in a previous step. If the Asset already exists, this field may be used to reference the Asset ID in the form `assets/`. |
-| **location_label** | For a series of steps run as one file, the location label could be a friendly name used by later steps to refer back to a location created in a previous step. If the location already exists, this field may be used to reference the Location ID in the form `locations/`. |
| **subject_label** | For a series of steps run as one file, the Subject label could be a friendly name used by later steps to refer back to a Subject created in a previous step. If the Subject already exists, this field may be used to reference the Subject ID in the form `subjects/`. |
| **print_response** | Specifying this field as true emits a JSON representation of the response, useful for debugging purposes. |
| **wait_time** | Optional field specifying a number of seconds the story runner will pause before executing the next step. Useful for live demonstrations.
diff --git a/content/glossary/reserved-attributes/index.md b/content/glossary/reserved-attributes/index.md
index c1dfd8a3d..f815a3734 100644
--- a/content/glossary/reserved-attributes/index.md
+++ b/content/glossary/reserved-attributes/index.md
@@ -26,7 +26,6 @@ Select an attribute to see an example of it in use.
| [arc_description](/developers/api-reference/assets-api/) | brief description of Asset or Event being recorded |
| [arc_display_name](/developers/api-reference/assets-api/) | friendly name identifier for Assets, Events, and policies |
| [arc_display_type](/developers/api-reference/assets-api/) | classification of the type of Asset being traced that can be used for grouping or access control |
-| arc_home_location_identity | physical location to which an Asset nominally 'belongs'. NOT related to the Asset's position in space. For that, use `arc_gis_*` (below) |
| [arc_primary_image](/platform/overview/advanced-concepts/#the-primary-image) | an image attachment that will display as the thumbnail of an Asset |
## Asset-Event Attributes
diff --git a/content/platform/administration/grouping-assets-by-location/EyeSymbol.png b/content/platform/administration/grouping-assets-by-location/EyeSymbol.png
deleted file mode 100644
index 4d611499d30197313631b77cb6ae66dcfc6d0eac..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1673
zcmeAS@N?(olHy`uVBq!ia0vp^azHG>!3HGXX8P`DU|_V*baoE#baqwWn
z(3qH&I(J
z3BDXH4;`-->xPfg-i5O^3bvfxJGZg1^w$6X^Bb#fno3Iii~Ilo|Mzb|LJt^3`&h61
z=4JR`5w|0#Y{4gBh$f{*c&7RKGH3zW91Kj1LJZ7679$Wcv}ZD~fY}TTYCxKSfq7CJ
z13Qow0^)!LOmJDb1+t
zIX_n~F(p4KRj(qq0HlS%rosxy%uOvxRH(?!$t$+1uvG%9umZ9{!um=IU?nBlwn`Dc
z0SeCfMX3sAdIow1N_Jcd3JNwwDQQ+gE^bimK%T8qMoCG5mA-y?dAVM>v0i>ry1t>M
zrKP@sk-m|UE>MMTab;dfVufyAu`tKo-FP
z#GR=XnFyQmilN>DdQcxEqi?8ZppQ*kNoE=jZ6FzlHn6`S*4cmzvkJ(pNX?0K$;<_Y
zD$r?m#s)TETQDRL?u2LzElw?R&d&wvE3rew3RE+)B)UehjS&bNO-zw(M3O+#2=aiH
ze^DmTvP4h_+8NsDV~9c3+vtOW7b&z@&48P~G)OS2MR{CF|;Nq!X>E>GPO@IQnpFn`@RN==XFb26r7u5{P~QHadFC_m=CN<|CxN+{xJT_KT~hN
zs@}8EdamEa9J7fhQwqw<+n+yAH=B7jZNkZvJ=d;X+pu?U@87?*FTPf-S+mAtXX~52
zmhZm*-mzzo%g&f%*RF}J3DbV{)oRmCow$bbva$pdsX!gEj~_l9IKbD=oVE2=><9Dg
zJ1p
zlinD?!_Llb@lD=&Wk`~V)W&lO1_j5orgkxZ`2E*IMM#3L-Dl(R#|IxiRGf5D<=Eqo
zvmY!n?K}Q>!_Axxx8DY6h~)T`E<2+(nUkrJVM~;*al*z3h3TgQSB7lZz5DcolrRdnl;`>#U!ec}O3M1DA3qA3o13q{+WmRc_n%YGKTo#O*V7X#
z5xnv1*RP=C)4Wszp6BP~Z3@1%{BmYo-1>6HEn60@6Puj3UE5`G;KMIpLMp1N9;xq)
z@#APed}z<=*0}ZRB3!JBLY*Ap;o&v*@}>{pyy+<|UUl@2Udg1#C3SUuSzEcJq*tl;
zUVHmiSKUD*IQDFsamTG1JN{lb=H-_=dwYAAs{9Yz!|lVra%R?6sd|O)-@p6Veq{*s
zI`AcO&AN4ma*UGSf0qmPOV^ypGOg&t&FYKKey!Quf8#GheaqVVs^5QC{9|TqaI9x}
SCqEHX5P7=#xvXHsBzBC7)mCw8mQuvtk&xJXR9n;@
zA+fg@F=}tVdfw-}&-?Ru{Qmmgk4M7m&g;JJ>)zM>yq?!bEe$1FY8Gk=3JO}~S1)xa
zD6TkAP+WNV$CdLOK9if4=YKB1b(CIEV7u9t&L1w>%BjmyP!vbe99v#Kf4=JS$_P$D
zasB)6&xKZJl=XQg*dAo)uIps)qHg1EX>IBLTM7k*&wa3iy^EH!y^}lqzNCrI{Wtd|
zpFF1LafZq-@_4?5WFxSKf`Y>4
z#zu+Bf0Zh+5P6N~&Mw5R-pFsc@XoV~*`&fr=i8=&=hdo`6oJ>eG3vUvii872Npobf
z;~?eVs$d-&U&Y()ki~m@6K=8$$tpH9_>WWojQ|U3cqz_?ob}tCr34AYHcFIAOStCc
z-^JcylnSXFq=C{NWYh-q=73J^-bz1{t}H%E^)?^;Oa=oiDt<7^y>6F!UX0}(%ion%
z9VUBy&CT$Uzr0WNv$iLvu|5iM12c9ZCCoo_KiFRT;?%r
zcf?5hqFlO`mKn##z6FTCb@&>$n*7v(MRdFO*HBWy>xkh&qkhs$n0cOt8T+$@LL1DN
zAy}$*o(8+edjF`ghQ_c%mk?7ILale-(rnH-9tW8g{_H*pe8A`wztM3Q|9g4;PFTSO
zhN7kZYRnjG6>M;19w}jq)GshcE3QQpIQ4zOzS7dxj;<#$6FrvE5Ot)z1&Jdk#~{T~
z%W;i;!1f35u*(c`qbb2DEj^)#qI#&ymiQ9bdS^6Z$&35W?5O5!gkQuu;Rn{`b6$L&
zbRFfK6LCNi7s;~d&fZwOV@Dwn3$XBN{EhB+q&u8ABUp3D4
z4vUGM9oL+7Ugn{L$?IZuJYPAQNZC}(aodlST{>u0({a}dz8&yPw+-?ov^d4HzyR`G
zseHpdI&u}id>LORI6Bdd39|zGplm3?2Zq5hrM?UtzCVlW!4ZIw$N@jU_p#N7z^*aS
z6bdt{{a|f54`ReG3JdTVzoUJcToOTECRC=~PeQckU_ma=^i&(d@Vma?lo@K^`taE@ICz6z_iQv
ztQHw*35Mh+(u0To?!>Qy87<6WN|AH+3u|fRUX!VK{OQVxzR6hw<^1gGo3AV6RSYXw
z$+!vmy*i{2i-+!LM2RxZp)zO(r%TB
z*jJhwZ{tz^89Lo6UCAtYa}QdeN;(YUJ0=2VCxy9>Uumam$5jew=+5Ym9P#!%$W9sS
z|6;!s>^@I~WjfXSJbN$eAusCkhOWFI9+$!z4tC-Pb==l-&-L6d>b#@+y7m-mRATHJ
z0}0swGLcxT?;{R!*Ki8`lLL#&)fwqeJX{XxYIn3_^D6SYE*1sJaO+Vw7?}uc$GXV2
zNTw+AiQRvGAjM{+!i;SS<>0{FAjjRzmVp%Inqw<)%Dtf?OqUN6cmA1c>0*P=Uc--n
zxHfmCVT@b>8k%_9fWqvqkAx~Qaaz`_dz2y26_hLV)==jNw<}(9p1rO73oN8|Y?-8#;FiDI8UK`+HOr;`>??hcL-D@@7~_2H_V+J)+xru%~H-&=v}XJ%X6
zu+*K7Q5@oxu^J?Pp~>zy`OhZ^&zcJXd(60(fX(Su-1E{51*t?};{3y|ve5+|Ck%5;
z{!2ns=;)hQn^4S<$)lyzKJdW8$ldDrV{2+YnY=Q_G-&$(uFOR#*sVWc00Kz)S^4pO
zfquw)cDRVm8e8)t8&FBwYlZSX;cm+ah>!(F-6WoQ!J&YB8(s9ev^wh>YXb495>3h)
z=RduIG84T%6l=#Zpp$})D0ynH)?pyfmpk`x5RS>4x?Nbt4~{?Io{C0}eKqKo&S>m2
zQ^9PMyHdH))Z$R!#bcYui}XW|GfNeAfJ|+o9+m`I_$Hs&%J!z#A0ChQh;yCU
zzv`2JD+2kmu|e2*OnxtRtX5_>GCa%`Hm7}R{Ezm}3#Ibjc6}m;Kn*+p*jXG=1uKo`
z{_a`7rI@2hNWPxS
zpPn`=1IL_=_>c6D22N_sYe+1B_~xdrWt`gP9!(KR30f{Cg7?o^?T9xGWbEr^+s}DE
zY_B|0CaP?t#12bv+qK2K65QO|DXOt9H|k;Uu5R?5;goVW5~_F2P(n^3iE
z3kYP2y0~?PS$6b(H9sl{U!L6I`cE64$3Yp2@^$kf5gzMV^p_uP%YXCDIjxfqxz0Ht
zN;J)?@#v9m^K$Oh8n4~%f7=ik-p}he7BgpuQb>du*xSAfL+;d>J@E0+erc$r;K^!F
z`@`8&4&w3ROM`jRb=C#EC#qhpD;J>nr)RO$#)-GW%a!?U8lKU%u!#XIPZQ)IPp3Bq)2cXP#0p%
z;wa(M&ko*>mCDQFdon9>VR{)}=sI5Sq^;TNBB#e+nFiwGUQnTxv|IdjAyj0|vXZ>s
z_o2AOPlWQtlCnw#mP?;9V)mswdseD?0q`G_>a8&->up4u^V?-22FGqcss}R6UX-C6
z$adAuO182YNw~nSdv13uj|r&@9m^4K2
zWt81IqFFs9Yn7mKRCeDf@>VI$ymKMm=v}LB`I|l!rMoYW;;Mwr4m>CshO;m)I;&K=
z5nQ=UKXY7_c9s~>?eYR~JQ~EAs<;vFZ)O5gJGyC}*!FzBCLSrdN#9zv(Wn94S4!X$
zb0EXChpCi!XWxn_BsC&qOdNigvhfTEAN!$j6L2HJG(VaS{o!0xHVt#mhL!wN$sB
zp122P)44w_=?C$$W;C*bS07G8;SSE|dQh=$9-H&`8LO>&y@Jfl`>@R|_;Td+zh|dQ
zGg|v=u5*u_#~+RQN?TFJ;~6Q|R+Mz~9BR;#e*_P$aWn6#F~lEqb7Q;qU(`D5_rlEV>{_@$~O%-om}6rtY0I
zo*m`+o0jM_H%s@o4tXF3JD^jIA9))DnzvvuA3oTik~2t(@N~{!W7S
zyMJD^DPc|kG;S}5E`5u7`_EN_;;Vw<{}IEOkRV9Rule7yTxOZVw*C_5hS7hEO~sI2
z={zZAJQsLO8dUgK0yB@Y!Rzj0x8yYT3#@|VK;Pv%MSO(
zd?wxrC-`q?sv;jKH%Y*nv}JUaq*mjdd^~Rc+c#G_%Yt+zJtY0!J)Q5!_x1dDFyqSr
zi8N|z@sl94e={irpZtEshKbn0dEiYRE?Zg+D`ls?_^=C?qjQ8E0
zYf0gjJyIhYnzH^G-poxS6-a1(grM|RB
zob!?;EPntToy^glFha%C`d(C??4%j*XVsg36F1&pa~6F(Uwuwnj+0tIy<`U}Z6_gkSd__F;F7~K
zNkw
z?^Lhibbk--*PPZ)&=Xxo|AT7qQ@yd%j!r7OeGi!y)6GVwx505RaYh~q|Hy^}NhP>A
zhcJP)(BMqU2z;>v8=tRdkwk8W`PU?U1N#^5O`JtY#*bJi9O1HoE`OT)&E6cp-KXW<
z)**T_IzRFWua)BD{c;^B`|?5_ac?kT;Y{;$NJu+)okd-|2mbw@_seTU8fP`auct?}
zRpl7TYUVJf>1D65^~71neQgWF1!pzP(+J6>m+kkJhEZt^?v-F5+(S2Uw$VkkO4==^
ze9C0@@N-nEjQ_#Wz>6$SK_3gX?)edq7+lzT&s)vlqsqf3HAA-EgFPJ09(6YVZY7&JG4Gd
zAIJYNz5gcV;_to_RJLuo$SWoG$}zq}a`doVhXZdhev%zNo)}}19UR45+pvW46bdlu
zsXwgX@N>!J_K!x>``2$zWt%IGChm0YRMhQqg6oMpzs5gr55&l$nPk)gk{AE@LxO;@
zJG*W(`hATpr-@YET%Y-FPX_nM;*GgiBtikcr*e9tv^4PqE&x7BZ6ws6M1Zq<`hIL^
zl9kEQ>x29qQ7ps(h01a8YWIZmpKGhkeC%zYmYckF#6oI*i8L<2cCyE5OL^{{QI^f!
z0?$|r9}`@UhA2@IKEbuX>WNu<8rA3(&B40!=w$lx?BRO7NmO&bWzO^M_&?9l#VGQevPd^o|X_&n0EwbHPvD$_dUSRdxANE1Y_@EmS
zb`xdxw}F0*Pc&deoId2s18NAAyOt)S!R?J%D7_L)7i`J%es=w7|KdldY#
zJ?pL!{H*T$a*JA%Z;6A7Lw5b1mHN$)J7P`m9$1Vj_35Ydc_M(Vk{-)!{o6~*?Vpmq
z)&6)!kQj$J>y|_}X$y|aWCkXFDptK}A>;+Mz((mOBnk=)co%`k->wNTSPwkJ?Hhk2
zNJg$UCZEQ|t$r@T1?g2R`$T9rYVrCU93jA~_jt=NYfE|?8|-Wyk@;#S%HA$Mn6Qcg
zMnKtD`;^NTxH#sStE*4G@+E!d;?l-M-r1Y4m|Sjn-dbbp=?yvR@93Uit~4+>w^|{P
zPSj0tjK?dJ-w+56;)~^se+(j=0_2!=EwwZJClaBT9W+wi-E*y+08bs`<@I4G4{?Khn9iqj2cX<-n&^{|k#K+8D0r0ePkhZ@~&&
zloXhE5&YNNO$*JR(@6C5@QpfOUD!RPrhXEyiM~6WoW!=;*2>mnejJ!t=)K1sd5wdS
z-Mv$Fx758RHDJ}Tp0%<=TWp!CS&{EmNZE48Jo3mavxE_~Rt(AglvTf7S5UGOxmk3#
zb%Q2ywTP5QR26h_-{ZJph;Tq=f`GdUB^p&haoF`NXh;E+!6Uzw%96#A^@!ZTXy1#LVU6%ex$(~
z?Qk||?;K#@?BT}W8yu9zYa)Swd!rd&-tjdcb@ig9dUdJb5==pyDgh3y9Jxk#
zF}xdtfcxi8AWh<~z?$~+KniWU8sxN8I^v=^glONfvtgB0_a<6DaU8S5k~ykUXsgzu
z^U>|77^)t*nMhqbJ~n}5E06TdE1CWp;!OTLchTFOwJ=X<01iquU+)Cz2uk7neRc+T
zUV|fn;42Q))YRMHZ!Z`b_11X}F;h4A4Z)D{&d{X%&Xc2++Z0uyZ|M3zPhtmF_ACf+
zXSKfL=F%PO@R0F8Rptx&FSXr6PdhI3O2S=Ioi!hC
zd`ep3iIxVIbXH|LDPWjcb)Z^s5FB9=QDFshBE$_Ok>}aE1y-F^1dLL(H%1qK@_NOrKa7^?Dh>cIPxF%-SLkf{
zny}(2PF@U}La|PoIxQDU=eWgT1xUcECGA*&_wHIV!FO;%o?t2%sTPkvS_i5`olN_y
z*EQ8?WJ#kjl1U5f(rOlug|S|3XZWIA#cJ)U!$_IZ0GLT@W^?rfQVNn6$2M8`E-UQ@
z%m+>l=pHZl**;)e+wdb_Hy?4529GnH%4*o7Ev<2fH_&nEDp#-6ajy<)XT4QFD!Q&8
zZ-*fW5;y2uS4Yr^O~`}`;;16jtI}BrG(ap-bm2P?m8KY(lzo0P%{HkuuC}8Pd?e^Z
z9mYG
zYD`;MzKnU^?+yE{YItJy)KC4YC-7EbOyj9U&ruX%N{d&>ySO1)a&KEiDCar#s#O%(
z3hR&(lVg3P(MT?I5$E+8x9Te0^Fo?obz7CdE$*OC)Uj1o*mASB-MoceZb$~GUQ{-_
znzgGKio{G7)~77{ETyJGC?J($kKGFbUhg>ZyD+$o+j+Q+^c3C9avvRP3UxwS#`uvB`#4F|r-+L8bj+1C;^DPzrcXPlWe{;o8|TB96xIOIAlzH9sAOv*!O1e=-uA
zP|)dTQVvWKW)Y-n-9>&k)?15ZhloxZkgOrN#LsDIfjmKbKo~-x3&(%?KYD
zY@u@fvnJ>YFHa`!@cKIDS1Itd;7{F=Ts`9wyN^2X@U3C%;}>>XU4C<%y%$RHnq9=L
zVxd@;KY?>=l{;(u1W#qRt&PtiTRAq|&Ql1#(32eEhTc>=>3SJPZ>YGvGYVgb+ATiY
zp~aATepJP`VQlT3e9@b3I^~jFnsU)80|lueFKRsuDrLqQ*UY}B;Xcn*w!n^SyB|5b
zT-YvKyzpWqTWZ+=;H?N~GB)HO4#`2;(d_OnTzdY?H)ul%nq!pzaSz?y8FBZ~xr6qK-33goxxYN!o&&0GU>Z%X1gt#Qts
zkLn@iTmdpFmG$$_P8S!<2S4}8NJht@g2KE^*IF
zF>m9YHS3er?_BLJz9OKX0uHgMh-qP3M~^R5M-rIrwn+;-t7}{2yKj7Rxxa)pm*(5#
z89}?2rx(CS@fP^njW)fgcUJ4O)s5HmUM1?P_;}T|)ah}*)%utrgvG;!J)1yHCjym`
zfLX+(&$2VZOS{DgSD6VHD4r_j0p7A@QY-GU_dL@>%q23bVCNQQZi{N;8V}#r_>3~z
zFtYce_tN?&C&c_KY}-s-VSNU4jfXWYdW_FeuO_Ym-A?evTF^897GRRoSSh-8u{|uU
zpf4cx5kI){L&sgmdQa_*;{wdZqT>x!-t+uG869lebG58
z)mvz&y2R`DjdOchK5))pR}{*(CwY}fX(7!UMda+GQSG^;qtPfH_GNLYiOxP)x6+vd
zY)+hcbU2c;`BbLHd{iW6E+{?nc+Z#OVT9IrQee{z8LY^2uXf
zv2lf3-+YsIRpY33)^nIr5ig@;c1mtPHg*~uB%PjHI#23l)@5cJ1L=35ooDz*IU~+}
ztu*Ue)=kFsPqvxaPh|nGXSWNArch7Cx{0tJ|Mbg8Ju7F^Ubc(fEn{M_k`?^?gSea-J!m+a8d;ZDJ%~
zyUUa-l~!lrr4Z6S>8q~?N~dhw+S!D!^El-(oVJRK*nr?U>H&sebKq9zz*xg1y)$`-
z^Xx7**@;&aTMfa4P7i8A!WgT_zz0_^^1`-=-`RKR+6s~i
zm4nJfL0;oZS*_@Msczcuo{D!8I%#){SubH0c7#J69FAi{!(!9wjlu$6^>$x55jo`s
zT*kb_g3}~qsMqN+*n2W=IM}i2)*kOhYoc+Ajm$}LltD69{jxfvU7REA8Z!X3H1vbQ3Fbe9hTA
zrZP0LRyTx7WPbJ|wd~21xF!t;D^_WyTY3$MaXWg}^H#l28rbjQmS2#p!uf%?jYx{<
zhjYs2XE2U6xLsiN60e?T0^Ph+BFdUaZ1gL8AF@EIXLDRBMLt>pf`kH&lCMZmiJ>!0
zwVH0Y?I|I58{@2B$42i*3D+ED_0LYYpLO`w`z6hC&v*I0?9+^Ek48&Vyf)nmmsKP$
z1$p*q3G(QCDi9A4HDA{o@H0{1d*f%+UQY)M?|CoH&I7ManN0eKVlO{7(F>6S%A3upHCb;2W`l}y*d
ztZ>=w)D>r@lvp2j)))ScbsQXgXNaFkyPq=CjI83b@6LJvYLU3VFvqVsZP$iOc_z$L
zYYuYn9g;@Z3x#2CxAexZB|)Ps;U&MaL&HJ`)BO(`y!=OsjFT#zV&n7Txx;If0uSkm
z--|-T?Yhqy1xgQE@mUWJy7TqQf0Pz}8`CMbnn$ckujPJ4kr{2Sn?Dp+cu8lFy{_$e
zI1TGEMPe_WMTSPKJ+4fSLrREhw2_wBl(okOoOg618HT{wnI=AbkL)8GkfmzO9!MUj
zOZbcA^#rdXV~){+oQ{ZD#y5P~doDZM<)e=;P+yhI04~Y$Z&kUj{`Pxjek}8#wU9&hhnm{&L>RjN%>>(I-Q8rQPtH0$XDr18AsU>en3J^QnT9
zD{2A7W-v!Z;AvD>OG=Y3BTYX~1=(*UA%3mfattBq-cy~B1SMqo#HtT2^P&>dq}wlZ
zU2BoyZq$=}?P6}aa-qAMWQz6bxu(vs_x=lLp~>6hy=X4bVtJ4nD=T#B4Kx!ooL$RH
zkMt9T&S`l#gU56m0R}8jNfj(quufv{vWHF7xPjM6?jhay184TtpLbkKpbGDcZKoy5gi
z8jUo~`F1K;duUyCXZdY`-fjCh>$=BCtWe7N;JMgt-^r`XTyD^aAhyagUV@DscNPbA
z66Fr|^fpcCpl)?rj7m_K0{HWx{S`ygrk=ab!KCKV4vqd966TnH`z@(OV*SBOd8(U#
zaZTQKq=2PA(E!-HyYNS8{@^ZtsI3)x31l{SeJEiwie2yIaA#G=UiFI*fixFEaI>6N
z<}c076o%E+voljlNHji&{*3MlH7Qa{su09~Q$LEJ=Dch?yLr@}l`))({jq)0K6W#2
z{d_0tACPww5Y#%2_GL_v-(=tv{{oM&VVZYD=JM*w_SJbTwGTI%!*t+W;sKW>Wyb)K
zOlN_!Z(LP%KzB8R%ABmkk-M1i1$Za8H)Vg#NhKu`f&oWD3Q)02wl
zS=itm3mlO7TDblFm)NX`FyZ@NfuToDIhafEuzFN8W3-}NF;3vTuq@bFZm
zD=Gh$Gl+YPUsx99*V93*54V
zmFk(dJh;N;T*Rd6zL>2cdi7X@oV#XIYuWMh8New_)gppJ_fRxJ93Bh--H=m0h9H)X
zZipIZB|mlDgf!$b>5pDE*&la?HMm;jo{YW$9*u&SDbP*8XfO{js?GQKYKV#HpJu{2*yqf@+U9>){REWULwhJHKQiclPdU&hlH5
zzZvOWgK8DWo3jT%7C7Y78}W4)T0baKrlwY{m$V=x>K9$_FanV0j9+aj_)dAaSo%n`
zEHEVH>J)d>b@`pS0bbLtv&Y~YQ;&TnzWP}eFAqt(
z-n_ymCz)1d!byl#`r9FN@mEI6K>nEFBaRF%$H*mzz%m0KIJN=3h?w*P1%6Z6EFO4NKW?vNoeOUS2twzN`DZtLp5&!Z7CuKHyTw!aPFSA(${|TQkGduV2Mu@R
zW_q8S;gdE1Nb)@M5#RWin--Ek??|}Y(OQWA2XpC5bOk5IRXr#6fOEO=oLgw0^XH#-XT4cF_y5;0a;=7C<2sw-I%2d3`;5hK|&Wbr{
z+NtEJ2HmUOjt-NWmzWis5Hwa?XK%uYWa-llE#ynn*H)}rt8unl3OTw>M;nTrny!x<
z@lpgv^_w6mkLeng{MAoeA0fqUKgIygJq9dtSv1oH3)&H#v30`$71~AT>*2D{4|w2D
zz}kVN*Lo5ZP)pBo+|2Lgi`F{(DMdOXXP_0qg`?L_Qh6roDzLfz)Dh;0W08tb;M
z8lS-;S`x!A21r!=a@|?b$Sk*`BqN71XKN<8yVjvaEi7GUPsn-tV%}XFB&iE7Q~HWF
zl9$!^KOT$7&U@)yuIc>9q@EmpbY6-l+@H7X9J{|L1|f7dB?q3nMvT=j!cGS_c=&sD
zl`sLuHnau)O(M(bGDJE9ahzJAxs1An-)V;aO8nT15zI`nUzSAdko$5^fK_zIPINV;rq`JLo)GWRal+4#ne668KO5D@ledp$*J4t=zA+F-s
zy6dP_zD7#SSX*0rK5ukFcgd7`>Br@3G6UNP;C-n$=J-eQ!!};pUsS7J@SXnptdx$o
z1#ultAPlN0begbw$h|%c@_1jKg;UB9Sfj{`*gio_lV7qw%R6GqPIns?ZquOLFiSHHHGKFvE^x{m)D%G@|iJo6c$k2Wy49gpwOHliKJk~2IVzj^%XmCIRi@khE{
zV3R=IKj(jK-zjkFx;QspP-=|KOZ9mbxnQUec{kpNzWgeTKcLbVuI7}l4fBXtM*WGJ
z4yA=x5+3JhCuIJ`%yDksb>y#{kyn{8HX>=&h&lI^*VwR1pen&hL*1K#-Fj|rHGSsk
za{^0zF0}e*mXr+41O>lfTF{@cXiq0)^aRB;1v<9!P%k2i1J}kWplt<7bZW(NJHBtf
zB#?aRFzw`mf6_<9LYyl#ZVKFIG|_|Eo`-wETrN}M)6A+~bnJr5{o?f3i{mliqgw*5
z%iZ1mPf@;mhK$y^$!idP``}zD+n%azV5_h17SNBHV
zT=)acby}4U`s&g9%QC0s+FxE-imKRi)?g_=IPbQ=iQLZEvi%R*2aM+w>~Wo9MOs$-
z=acV3Lsv4Bze^yGPAc{JdV|U}`DbQg6J{}}dzFiXdnxk)kM(F8Eg)XiB^Do9@o^U7
z&!d4gd_RB&A8BUFPhJ7bR|YiwMh5W&2EdJ3Ugw2Jvghln^^uAn!b4xR($rBiAfiOdMS6{eIi}xE(t)Acf9&eC+M}v+j%QTDW
zxm!w6$|b$?kHeff-b%&d&y?+gZFf)~Gr163#hNNq*U#-Spl7UNVjwnNO?cY2>&bya
zT$`x`d51JVk_Kk_qI9Mt+RXOyEF#3i*1;=CWD8SQi|uk=ZfZ;`$K%}EZ6RFCSzfn6
zTZk=@^^~X%o4ISty4n>62j_cYB0%K(v)&kHi!am^Z^GFO3WdGjBffZ>=}CC#E*ibJ
z$Z0h}zYnQy?8m)UVsf4b1l?DP(6#p1^U-hd$^Qn!STEl;Chg4RSr+F6h|%~z@h6-g
zMpv%)-<{o*zOpO8o)DU5dt7%*RJMC5Z~o~kKPvM9FTn4kDgAchN9xG%%cM@BMsJV7
zXs=!g1hZs
zYoVi{v-$wM^Ns?aGCr3pmP}2>Lmrv{`Q%%1$*GlMp2PY0_)55CWjQgY?}txQTP8Ol
z`5|M|pL6Zo>qVJMd_J02o!;|XI#xd|q7qpR`^ZRlT)$|qaOS+^Dpqr5(=gG{6&We$
zC)Y>kZ-lN#!&S_yo-a$Fe0N*Fd$D~~WZbX}N
z=z4HyZ8GhVn;LOC`C1u!JoPeXZT;hkaX*tXl&}HDG|3kc(R(uKZ}%qM(KLNOqVksB
zxq%yE1G;>|z0JbXP?`K+(V!zy!;jhGq9nlu?1{7pw4cZE4f!*`LojfAj!p;$3fc&V
zd#A9p?zdV2z0XniFGtMVgD7Epq;O%jRC#|Z&ruDBh#N}3E7^;bY-K^HSx5o=hievJ
zO3rLGq-*SIwd+i@aM~&l%N@qep$DIR&;3#Jqx?6;z9KIdRcw(ys4((FDgbk|cECCQ
z^iYf+)6&@>k(`wEVLnX6k3ckdRdnU~;30G<;c3R(LTBivtbQEz3&ZQ3_&HmZ^9!p(
zNJF1Sz5_7gByI`MbFkWm@K87?NTGE7yfekg*|)!V6R|k1m(!x5JgO~5y#I3ACQvlE
z?g#CB$x}4{`fDz*;o!?OOPiX75}cPub*-)0x^B*U(O^`=GMS;^z-G?At;|~mo6agE
z?kpR$SFNi#VL_7fHumglo!PvTO|`b}#H7O3``)(2?ijEIvfRv&Q0xQDdUy@Lj>tGV
zq36F&NZ@N%^Cn6df>G{o{by5KWBsE^>OLw_$=5|K5u^WIp#(X^GKX?tnzc{kx
zG=z)figQ{yjHlQNgaf6DFTs8prJ$=x(LohO+g(l$nr`
z^n7eV1;5TGC8g@KyDCa}wk~gK^|MH>%T$b6EYV{5bcm^}UC>zim|;$PQV?|SP`m3i
z>_kM=HkE@JSUpB*UwM06bfx9p@93MZD>t4`eqwA(G=H0__SL3#kYU1cep1(
zP|s@bsjrWVDLQ{)iRsWB5Aee&1|j%-W|>rI1LQToP+tT+fH!?&+WRwDR)2T8BI!Ni
zIv(|IoYCDXjMSZ!!Ijh@bGnPK5+{-SWIX%y$;@ItGJWIUE%Y)yGy+A6dhXJ$jT*_(
zvUMHNH})o-z0p)nZcSR+MUff-Yiup_ZGi58GS^c^56l90W90at(7>djOa?GX-~MEm
zk}>jNp6RG0S5_7^KzZucZj&1;wwT|Hs8-WjC`)EW*!{vA>yXN4Zxal%sCM-7AgPMH
zwcF%|@07^Rjh8|3wD(h-gCp)alOBZnqurV8Y(ZamL77M#o_aFgiF#euIPlP2=TqXm
zCu$oe>f6ttUR@a~jiG+JrgCZgBpPyt(YAS0%NCOsXnpx6*{1}S<8zn{E#h@jR5i)4;i8}^OWOTtbzfJN@
zghz^*yM6@4SBZL376+khZ~gH}DJtl#dR)`B*@V&vu>M5;n9z}A#POv4;o=g`Zxs
zSF>F1kAU#ran3kd|LUo~h^12{M31kAK3A)b3l3b*DX8V}wOh0l=$V^a*}2C@7d&tf
z6@^d5rz_NfqTF<}2x#cUsYiASE&R5i9Lvsed=BL$LBE|}bK2B=wP$sd?L)H+1xq)~
zS6%hrb4%w^Ne%^tK2F9mcN=jJLM+y^*9JRYoxA3H=}R%)rYL~})v|2Gcl5FzXC15y
z90kJFA7EpRd8~U`&If50df`X?Uj3uU)Ai*`Ftrvk#JYLhE-0MYkKhmyL-d`5cs37L
zDJ{QKYSCkRCS}n=_H!S`UUdvqWLc;5IXI53)4-g;UBeL1qatuKp%Ggg47yD)E{B9*
zy-zn8B<$=i?+N{jdGSZg()8qM1Z*V!rdXQ(W>X$pN!O?kjKXcnJ7?_ZSB=y!1Oz##
zmn1ZL{EBr-Eeh@?=!AyU$Zkj9BGq9-zz^naJu5+9YSZqwN~5D1k_sPzJ3=Hosh07%
zGI_4Rz;-JCb8FT9(`Oa
zE*DH?%rZ~DQE$3WeFA>_6BFXR@9hzk^N@{9txc{Rl7_T
zzQybQ*k}K!t&n^8?x5B(0(i_v_r=uifJ(*dkpVufxw<5(HsFXahxg_9=p|F*z2>=N
zNkG-Xe%tKDF=QBefZU|c@s4A#BmA$xy>#kvT%$s>Xs14f;AIc;Kp&d3p+Z&f!Fhxt
z#Xt1fxA48z##6Jf_`+h9+rel}s^p
z|6Ha2)OGHhj{cVkOi}goUlK2csr5ffpTGM*oZtVS)eIVc&2<{Dsj2W&I)Q$xXOZv?
zKR&s5&LH|HfpQ}20yTy^7P2)`B%$;p8fIBFZCTNI8Vt!=z)FPvXwQ9USu@2raD4wc`pS6C
z^MQ`PJzH%bvR|dFV!82O&Nir7VF#F265rE)j>eoIb}GMYMb1H|GvBOsjA2fwO3G|T
zA%po~$Yhxo`I8uQ@aapc>kwA*JTrMkH$_(mgYMLu{sANf^(*U=Y^Ic~D;u5(T)-
zN>|s47n%GsA_gTaHba;8sqD7@G+BxHUcqis4(+0z=Y)rA;(P0(5$>xwVi}Hwo2M&}
z2XO`#92}|o!?ESEx&V?dIQ}g^=YMDBIhmj5_3S#)5bVT;5ik)qVt(p}*!_Io{exXb
z{kgQp@%x{tX*7+=!NFzP?&}xaYFoMxcj|e)vj|v=oZ8m27U~(bG~l4|dflKSCSerJ
zkm=qWAfseY`X#~iVl=u2r}@cK&`;Hs*VByFyOI@~F&;QS&Br*O3!Scemcw4k+VLMh
ze~#HxMz-$WT)hqBlxSz7={xAOj0N@o47d(4l{nN;P=D^^!j-$Y)l>eY!c~-lgs$4$Ag-p8dlz@_%IEpKzI9Pa$
z51A}9P&WKIm)xBB-ZZB$F>Bv3ge`*h{ovN&9R)G5?&_*n2g6C_`yrQBAGf(}ETa
zq7=r`Wdx)n>RI>fzdLk|O$|-xwE1-!(C@GT6r)x8YEIsTUgNE=pB>tjQCo0J6S`^r
z-v|w~+iz34ld6OKnUJzZa_E`320kFWH6e|OJSvvzImwP&<$#{a_DyNF-6)Pop*$MRba9s%O`e%iRwUHmHyHsUkqJzz?5%e%y&z
zVR^_@>$kvL3e>;Jm}=cDjTF^Bt*|k!aZRIU5z($3G8rg$LhBcZ?0Suo53~4L(MG-hC!!GnhX+gw;qf{z%`J<%l}=
zcx5kjo!1A3cALwpa7?*)!Q9-tQ4-rdb-shB!?1=3B>n{S3P
zPJ#yYjc(L2WpBRU%XhVLXQ_M?!@xM;n0Xrl7oA^yf`$E#Dm8+P(=+D5mgsg*
z3AT3_WvCsXg~s!K+nxnhW2If8r9HOOxhIN2#r3X8g>u)lf0kg?wE>N}xy(Owtfe@4
zVM$^Ma)DzJDiU^{?+D88A{n!{8FJXYw12);Mn191KKxM2@8c8Ge;rA8x@Ye*at|EX
z%_3|0UU8S4m;TM&QAN0R`8<4b9d=BHc<4bqXFVr@U32Bpddj
zJYb~0y=I-vaZxbkp@|tzqOC{IT-hw~`YzgoGmKr18NcKj$rsTuup;x%aql95(*D}Q
z0g)HPLV{Jixn^BreW1>8S6AsESr7CI{TaNss_+F%!WKtOEA=HcEpdQYZ+hH_p;;<3
zwHW^?nHTAJeOZVz$Sb_B&}(ewk2`lti0XYIrL*NuN)5~9izpd!wO-)Ki$bwhQ4-%q
zt){3A8qZLvGfZHa*DG)Ae=%6Q9FqBNcepOr>2^Fb_@?_*NRQo
z*bF?wlnHIQ`~N@g-ZQGHHS89}z7>J(RzyI+j&v!Z7ZCvg>AfRJ4Ixqj(m_PrKtK?r
z_f7~sp#+G6(tAmO5K!raA|)Ut{_EWIm2cFi!5eVuZGpt1kJ4VK
zMWS)A9TSw$?ed{G%jKdXdRy@DwK^W>k>mF?qq4_2xmAASS;-T#2fqOV4_kJTrGw6^mWrpJb7WKSgI%upSk4sCBRuV))DjlsSP^bF*d&e{Mi>03JAczHm?VDvbny-grG(ho5cY?!{C
z2O0QEmYTW3M^95K#Odje|J`H@SxWQMEVL%%s}zwX1Dd6sFkr854PJ
zNYao&*
z#yVS)`|J2I774c(E^rqf9&BO%dR!}KVZ@E(-Beg$-lbfp0%mc?LB)!>Cc^2C+1xaJ
z-Ndqn@Gu%ThtY=@p3LoT=`JST!$TKz
zz~ol&YIR#ALV|(#ecXpl_4$JVPdXYi(7BogI7WG4lDcZ}4UWZQE%qB-oa#*1)LF7j
z1xBz~{x9yb)F~DHZ&$MdA*0#x(d6pi&ragDy}e^=Dzw^4yCI5Q#@e(ZH`t>6|dF<#umz<~tZO^U5&z_=!uf%}`sxWdNxl*+n%f
zz8rw<7Ccn@VE3sEA?wYc#qAtZsf*HJVwfLJh-!YW=n$Qe1IX?+3r1uoHqty=DujY42{wq2OS!7ai
zOW)gWF3L61<=DPHQb1?~hV*Mssv@>kNtErMH=DeSr5HBGI5TlSdp>ezj|d@-6g&Fv
zURf(M&4@NM=xDLoC;YwB^qqsqN*FU)^&<#}Pc=P&N?*#kmorhke?ITB@d
zh)Zdw3H2as;)odV_le8x{4iCQ)j6u
zE!XP6k!2_v|CAD0A$QYr0bbE6=_OZcm^wKXm^>>k1}2iIMW0$XzS=9b+b;)}xb$D$
zr@XZ@1~aRsVb_zsde9dLd!$qE_l;*rJ*n6s$xNHke0Fnxj>D2SZY;JksPpd8WeW~bMkeRL;
z-ve6W82o0gJ}UaU#=CE%!0xTILoYhckpvM-)keCD>TOB2NN$6%Zm9|DQgfyF^a1lZ
zRQyx(WNc14HGYqfB$cLoC1Z_Mb;Gka0FoETnG~3lzPmrvt;)BvUmj~?JbwsoLt%Ho
zHe;Q^TE~G{DFpu1m+y&mSJSP*SL2KI0UvscWzu%*$t5rw1s#jDy~f
z%>P6;rsWu!m`rs6IU3OJ?yeEJHaw9U<4uvvo1&<~pWzzezcc6ylWDW#&$k&Ui
z7H09}~f@9SjCmlIyzH>GrpxBdN~=JTTeR1G)O5k+aByZ;Fjx{SMR*
z4rL`6TYaltv$UHI1N^^&vGW0kO3;Sd
z2T!(rh1O9QmZ)FPs{4^F>%|;GE%v4(l9vDplVpmo;^k6&RZc4@zD0)o{e&1|-J%U`
z5tyF6M(rQ-34-C3V-wcJ@ai(YORZ-D%04gl&OeoX%$mjd4yU^X4Jebsw67nUk4z3s
z-Y_*LP2pcwa6Ah9em`UKVqPnpG`7!{6}{7x%et}|sF2qu|8^4B$r-8n$9|P#1r)4)
zun8Se;MwYpm~ud^GuxVD{SAS|_WAok1P)_5g){Q?(;fO!w1XH?hyblq_fLy;T5q!oPU8_nD0_v
zhHU@GeEVG~Fowd+GwnVxs)ptyH-cPD&({818u~Vb*$V%CtViu_GZ0C*nYB
zQ$C&s=%1D%kgZEY~u_di^Hqq>SuG1-L&`!XazoKkL(Q`aG-s
z+=*G(-(d1CKEt8QV3UW(-db+AZG)`Pd|W++O!t9>rjV;Fh5S9kS9LReph}mglY>;&
zHqYrW5}45szkp<N0^@|xJ9|vxF%wMGDm_}}VDXk$T$xW12)KDy<
zCk9PaO$#292yaN_4o)7A=gZV3Se5@)+14ObxgESepN#5vKBHyw=6H{b!dtI)KU%i*
z^`yzsNwbU83`+Wb%XEEJ^m=-#n5kVs?qZTu?i+R%Hyd9R>5!-KpcT8d3eDD=T3!oW
z!
z^jIt39`u}sJ|rcgRm+f(GW+o`EhqfEonnn+87s$rf@}ckHgR~cJG*Gli0lWSGPH=A
z(k3@V+FAx!9-|3D95Jp{ugV2HKHJ5#NMg2hSlJsfK?}+2<_Ba0@-A?kyT<2ZK?sv?
z#As5?;oz_#wbH{xUn)xP(6ib)S_f<$xeWI+XW{o
zyedm}^$l!&8W1t;j4+^vz8`_Kyo0r3G33ra_9;Wd>yW36$Hb|rzd>(O)mj&QPK?}>rGkc
zCESIH*+qC6q1gF$T;TYkw2aj}&~1!#1Z(G%{Ll2VWws6*?WJ&8{$7
z38V?kPcf6KVR?eWfdX-<2(V1r+0fy)32OoVJDvXFXbcx={qdpzjWIU{UD<5oG5y9T
zJWyIG4T`bUY^buB^jBJF<+t0xjYu0Xe)k8ui%LCEf0c8&0?;^P`B?4kj?SiIG^x=z
zpKpIpaZB=9^flE#lJG>{-j%E0S!Jjuk5da22{jA-lYx%eL=TOqc@qXYmMKas`Y=w*
z$!Frg;6{*;P+VPGBImTYx9}|n4O(_lUQBy
zGUVnZ@2Po%?Vh}qa*eAMOvgTl_nUk`c6*mKK;Ubi^W8&VsWK
zT|?+q1oq@LRpi0fzIx$nhErGyCmAcN)W_~s-fmd+*dO0)7!1Ue_c)hc-Ys77Ek%?Ks)xgm#MfubrM^ERq*PzW9Bo0kEquP*g&DEXe<+*)XC@U9w#n3%V<(z=$ht>9tf#lW*U
z_xwq4&f?Xl{!~rMViEOjBe86&4PW3e%b>Z?8iFBP_%)3AOtyX9VFbib27!`&keXRd
z7`5aKVKnrw^mJU!Hj^f`KsM>H&LU~c%m1rG(RiN}_pVZ4^=d;wV*~C`nL%A>N5XVX
zMplVZN==(2*p?kP8`-FaEIO-$rda!;@#@j7JO$J>@^@kn64#mo#Xp?(mn0Wq$OX}n
zijC
zo;dI0*0w(9OgXf41SQi&H8>Sp1gyAEUzO|6INT2Y%O8jeSXZEC1csACHCOg6Yd;Op
zMPDqtZUf)!8)DTw?34`CwAhbl59HKb2@p0Av~5+R0lLTWaH5xM!w16WtN
zgLj^PP8-rDfr1%Ov#{H7Y+VcU>Y1|SkSSH3^kio!uw$tyDS%KZ(d>b%CyZj(WL7e~v{GXSO~RUeTu#IH(40@R+CV
zbI9Jk&s@8-g5!*)s_d|=!R-s?xt=$xnQSdW8I6V5gX|+M_P*a%Z}7x6`41bdCH2LP
z?DqNW?zH-2fb1fPl!qJ1nw9Z@aF$u6_tOzW<)e9tU;GF$I
zMIN}v9`?c^g9-yO%Y8H7(!*D+ySt(+-7n8mybS1i>v+p51V|*go#DUpqOh!DBFmYN
zFg@oNCU%<%dp2#n{*Z&iJyIN{9%db>ja6K9i~>2`I;ipST3TaF+R&t16nmgx0Xxv}
zZP|OF0Ez;Aqn8mHR$!gAp-srQ=PnDw}9=*n_Kpd$h7n&i4+4j?3
zR~+z}3ke)p;X4BTUh@wG(FXAk9R1MIp?|&QmpIZth~4|ah0PPVUxH}0-~L4{{-1{G
z{u_v(G4hl%%bAnKntcI#BWxF8o9Z=7FyQ!s=A_cE@XD4hyXxhcWhVsVu9Hne~H$8
z`26Jog~gPVdRIIP_P3nl^c)@TgyUzY2f!oz&+!AaD|KxIL{X&W=~zVizf81@r>5p2
z32*fQ(5Fn>1dt~S|6{GN-vCl_zjrSeW`gppBc3y3`*&uFb*2TK4=4vntDZR|D|xoM
zFRogmV$cfS(OtWH{YkLw-T@YOV&Pqn={T?mejfLZbQXI+A
z+gU)3_2rjyz|)zZW4$IA!lyB0z5{N4eavavrA$Y+G<{?JSwgfX%=7adO#w~s=Vuno
z7|!T9jLZW+EU-k*h$1lF?mlzSw@B9atjI5+1eE4^t~Yn~4^w?L0@GaYNLF~Q+)&?j
zju9Q7r3E9J4y_TTi?SMJjUE|FqA0}AqP&?WKQ&05M1Rf|G*|lJ9C)R$o_99aVR7Rm
z*rdW1J428^p-g9(;=U+fdQGKDE0
z2v3O5S6CY&^bt$ID;uG(hr65&Fi14c%?maHx^?fL##NdGq~r#@q^*FVTG!l%a5iZ(
zKq&{EpIqxcQ3i$Ntq+E?0!mozyI&@LT^2E~!>&z1+4|KgLps}LcVS~PQR+jzwPZX+`5
zf2H}V>ny5z#IbbPvGPs~uKW*ZVqt$pqyCw`?$zV!{|R-cg!Uh8PY3NQ0l0&Pq@;Vg
z+g(G`h35#9CHU3zRjl3TQ`U0V-;%YwFx>Vb`3>0na;uUq4K+&$#WL0{OvQzb>J+t#
zZ5|?dd}YbTFy5eWIMi|xJ4G#7zBmXvM2c*b5*UY?T|}475A!Ay>sp)=l;2plMvshc
z)3L#g!Q>1oe}8?+gK0Cfk*)eKKHur5&4ikUEG;d-ez?&C%)&Z$@>zGwZ4&Vq=Y1w;cggt0LrQ-!Y#jPFQBoK
zRUAUX8J{=o)
zaw6}P!!X+gH;QBaq3<1bW0Q4y|AVEgluP#>QFjKPHm)0Scr%maHb>}vLz6qqw_*-u
zsfqQPenwF2Mmf84Motm+d)e2O==6h(rr`)(h6R%<3QCStbZl^NCx1zqht>gcxF5Y%
zEwF6YxZU}*k@E4{E<~tT=1c7*kC4MP6ozqHV0Q;=3Qaiapej-PJutAePPuvOb5-kh
z-((4xfp@S9${)Xe7G|=&fs&N|%-^^^xJC{u9V{03THWhH5T6z9ksh4e+QzdP7a7VC
zp4LcK^v<6)=Yf8bwk`o@^o^BbC5t7o%WHB&fuf+{cB;P-RN6P;)upF}l68JRH~M0O
z>7bsh770mMu~C35X#a8(pyUjad)~gzcR2oeKveHgGPjy7EUpoxFR`IbK-&xbB|VPP
zwIUwBEdYQ&rf;i#J}{`t@`J!G0Yh?nU$Rzpa4bC*O$I5VhlOLT+iG;lJRc3+z*CBl
ziC*WFT50)?x>ndrbV5x9O7o@-p_wwC9GjIY(^dWKFxsSERzY#D<}<5zdrNJVH%9a>
zAEyH0;@sWd(Ewi!|IO;&-rM)JAt_gAcY$`4)VD7fM<#1aQ_0D7R!O1|^ZeRca%T}K
zM+1M_G(|6OXW8OB$IkUl@wghKyqU%JJA?KC4Q3S4A+SrI~g&!IL1-5V8GuRGap@LDct%nybW@
zyQjJO^*ad}uJyF27wVRzGzPhmb2f7FhfPZGl;*I0J3vX?U^;SCRPlgFeAHTX!yDYlC
zwfiuIcy$DZDm7i?Qk7cGesk=t$diwc$Y;F_x3_QQvGEF-2A>O!hU@P%tM9E1Zx{<>
zwy!|nWzL;*KNN8qd#E1nUX7=>)|--D=_xJi*9ycqZy0vvmv;7!+w*etKbeM%R)%f{
z86GaVlf>zS-?lH|3_~uOlGmp!hbe*2dy{1+t%sRXpvz9};+e~@g3s~5zRx*n_tjpW
z4}zPX`d}(0&N#yJU{%h)=nQr3CdI2&b;bG5{A2i29mD~@%l4SVrJ{p_ZVIMY(Y=7e
zDkny&`WckG_bzgM-&$=)R0U6B`^c?WSjlYh$S*%
zLOY+q^ksZ2L~G4#EWBbo`32mGy3_I2rCR02>z0}W%d;w-ana3EtqV9Q7uSZJhAhAhkTX?ui@}z)
zB>^PRQq0|{!i3{eECj_G-2vRmPko14RP#64FY1Agf%%0E`og&Nab^zJhjIZ8I=yx5
ze96qvG~PQ3OY7YttWRey;5KwbbLH`M0~6
zxaPlIM}gV$6-UR4=vU}
zv7&Epgxui}2F4D#+K|2NMWo&2F{jJyyj8lDsUe`%sg8H0Jp?$LuNSUez7g)e@*9+Q
zt8dhpEpB44%`L;{x5WAqvRE9636tT>!txibeT+V2E3}!92-QaH?W|?KSCV%cx})X7
zJ(%U}Uc#2iO&*~{v3jfwT;)+)sVC|yBxx$
zq!!dT>$r+SF=M%)Y|^{Hf*SbBPO|o!W@pIbKG)QQoL$~tPl{&{uPxG!WrZ`^7ECnc
zK@B(+MO~v?m<#lw&TXs7nPxx50L8_l<9(gGwtrv2@+^yl@pB!ifXOUC$$q#*{5A;c2^<8
zf`xyxT%F2<_v(}s#8URq8n*dm+8n|o%2`XU+_@@izV
ziHpYdckUS>Ou44C6K6#?TCnqmeUn$lO8YlV5Q%?<}+6u01Y~$x6
zCf>}5q71i0ULRi9FSx6@@;xA3HmTx~d&24<$Q;_A0d*lk@S#Z|#fiG?NfzbG##iAp!O4
z_-RmK#lU1{p5&R;p=M~{@YeTuRc_~kg-iui3EaaFpXy;y>-Hg;-bw#JN8K_pFJH`z
zCwgYYq+!Z%U;r|6TMV^2_<+-Zni*ZdH{2a+3cFhv&0b#?y$n>=$4};oESJcC@sxYv
zEmi$&>^f+LsLm!$96{R%vl;K?$R;^CQz<4Z9&3e`M5#wep5^^#Wd{BU*BQX3$~|MH
zmhxFn>5ZzoO~xg4a?V;xR=S``_ec0qx#;3PO*bf8>D;~nxO0m`#P`dcSrlEorcb(G
zTJO)D?0(M?f6-gUUhIU>K;!AVBDwH$8kZe*i}RcYNPAof8Fcb#{g
z2_^s~$_c$?^s8f!Moaw%Wb*UW_j~>u#kv14SOF#fH1pF0T>s$!#V7^qTo>i#=SS!N
zqddP^u_W+PDTAYYPNmTeDe?36J|Bd>d^!4)Gm-GGJp8lu{@cH7j{c8ihP0t8qHq@P
z_Mt?l;=)2Bpz9q`Uf5rHtdu_TU&@3kK?H=T^D0^%zfo^sVH
z@{ma*Q>DoCSF3Ol=XSW8tLs24W5ik9&yk{`83itki=P_@DBY3T2c$!5z-0iPV2n@S
z-Q9iY8>>sK?+LHlE@lNtF4O43Mt_}zkQ;Ta`#)e-eQfnmPpv_B@3F%h(0}W1t%=I-
z5QXJs{E;_)U07`=P@J?8!U(7AQ+UCVaKKNh7*IvWJ|l^yjfrElEplevd?-eEBX2Qo`iok!i`=_)K!Jr^9f_>2Z>)CXU0
z+dV7Dv4)dZ5mw<4un5Mdv#rHkR(2KlZnm1u+YYGK|8qS1BsKr1@^&y~FW`$bcq`njum6EEs;R!gW-*qP8;7I(Z=D9TfBB)Noxyx0bH9B*}sthqR0
z0U>U4L6n2dpS1sowDa;mKF(z)&+W(;$;N*Cve{q
z*Sn51;jwKqNaK}uM8P5#atou(&99usKj+4J
zF6+h+ootIIL>?VeHU#g>S2ZthEc4TWEiD&KJ-Md}T^U$1S(WK^v84JU|0Jkrogo5(gx~S{rG`$tM(>!FRV!?+gifD{t
z0rcM94Af@3ig!cz;J*%=6*>AUic}JcTaZ6flizxu0+R9Vt{w_{^hs>J*d
zT(mlI_Pq0uh@rUJ_)bp|V`3%Bkv}i*))?bF|Lrfj>c&-lCX-dIMjE5eyt{X~?P_l{
zMsx2Loa9p<=S#Ru5h=DTL|Od({#}oLwSc))6?~ugJV$^V*}z%7@`Y$eJUPJN4Wc2()3dX~Z+2D+=5OcOl}{XR8sbm*W699xe2O3?auaDX
z;5seNc~#;;C}-p>;FttdTxNJ|T@s7(Sl?DV60ai1c
ziqE|}%oRHy8<%ybdLS*NO=%O#M$#WJ`9gjz=4VBPD^KrXJBWpG
zA+cTJ+E&O|9u62
z*ZQ3hg%h|xUY*QwWgyy|61-EGQl{z1TQQW^&e|0jf&8s#+r-Z504a617_oqWGblY&Y$lYn$7
zTg&vX(*~)v+p?CQ{n-od*=uE-o_)2Br@?=*!rY8BN_(2AfJfH#;N?2>BFbU$Zb~Wv
z(Sn4Sf_NV3yVaYo)3%RgAaB&QPvI4QB%)1vdU4QUL*DY~XP+Ma*PM{as_bW+0`x~S
zqAr$8=sVrv5U{MPtzXbnQG`^T-t~&9tTDFfOYN{W&Yj`y$W!zUO*BM%Wpod~k`+I4
z3zg*5(}n9lya{G_*T835T`;P6U8b$DV1RvWZBJ)q_7aovvA_Ot{kb9L&7BPk+87ce
zHTdZBAo^oArY{aFUg+`5-6D^BjEcJeY0y|#AuS1+D0oridVZL638+iTV?v)V1XCDD
zr9bCXmWUXcu7ZJUt95+pX@3NOK#GkA&H{S^NSM%_af3
zlIgzsaZ%e4(c4{i{jaY5I*nP#Q*zI&J@BvdY|w3){ez}n$KyfG{pSZw9o`~9^3#J
zrTOx>gO7h-#9jS4CV)BXzT$CF_=#krO+Z$^*XZ7zZE_^ScsMXNe0JB+kIC}R+Bv1--c9mBEX|?G=Vir>EKm~}T
zd8+lnpU&5QId^v4LvLB;t%v1fWz6|sxA1J$>8cE1fGS4Ema|7@`;a^XNm;pkrb%`9u=wp_r3mi$du)G!V?n{!&RmnJVv^riMjxS%jU>+&T0ICe9sHLf~abH%U47b
z_d_IxYjiVHRKTc&@65K7*OE^jo^}Y8g`AD4GANRWA~z7|@ake83pEp5mj1#$z|Z7@
zy(U$PRvr<(hOU9+>f}v#n3%yn+)MdW3;8Z^*fX1OH;p=kZ4E1I`aNl6v)*Ot>bOzc
zcJAH%mv#7mOA*Po29GS*7=@jyPwy;e@yFncP|#o@PrJqMTsb|GI2sV-N+v%gtgxm6
zyWO+IW51)p#_!==diukX#M5e*g%MMtqo!IW0!>BKWRym*XGf8}9Bo=Jkj9l5
z;1%2WJcUF*&1IdX;OQvJm)MQ(H?cJdzh>`l*|;M=keCj}-1Nq|4c+PC?tXLje0f`0
zhvZxH=@P(H*8BN$qpmu@0n;1OIT@GjTvurOtT5+>xIvE3nJzx}#`w^xMTejtti^%>
z^i6%Kh}(hGxhNQMyg08+uNoXN80izOag&ktLgoP*4;+H$X#p7xwAe7}46q?si-TMC
zxpF_qLrmUgGIE`nWuMT@*&CaG;;LPBnSH!&(qXFJvJ@`Goex#6Gls~9hclNxTFX&A
z{%70~ZTNesB*2{j{KcjBND}xNueL
zlg?p4w9d;{uy?>%n*$bmJ1-}()+hstPt@u#dS%q9W;pxiZl{2eY2i
zinL6;L-|NB%45uKc7&`=@I2Of3Nljq*oK&o9O<4At*tw*pIe=w+w&rOeE$klrBYQw
z83+x4WiaMg)57K#J@IPpKj67YNP<5Sh}z<655RnTb&p)Gn_pUd-EOpfpf@P1D`%V3
zMz3G!O`8JK=d|Q4ebApSDQSHsx0bXp6u4il-YNOW7e)ip&d8hPjyzGT^1d1<+TYH
zWiZ5}hQDZ}-fPiD|8HoPM9i;EE2v8aNaOGDIBXJYI>*=k7(XA*?mUA3XNT;RibYIw
z_D1G>on6dJc@>3z0qQcib5QvqS!vZxY+iXYu3*nixNP-VteqxBPd7C`iS;V;{Zmpp
zsDe@59up6}hGBX#jrYu_NcFal&(uK4JlvXeyKD)u0?{g3K&gMmf
zY@Hf(t|HaTuDBytOmY8`2EU?0pd4RjWYzX1{BM_nY~KJ<2mHBwvacK6+#`
z!dEOn^`wAmEtyWuIBP9EsS2#T!R7|e>&fWee*bgs>FX
zmWG)q(GSrzju(nUa<Vp_q>zlsD6(m{T`A5RY&h3Es$5)P5i6tOVU=a
z_iBm}5L012D`?>8=#;0h=u`2<5%~eOmf>MiVI@Ot(IN_8439=^yI7Ry32TL_bxubg
zOj`VkkTM(GJIlGWjh^d_o!K_+3WlFRdXJrFt)fN6!kjXq0l7ro3_y;KS*tLOb#4Li
z{Z@SBmd+bdW#M;uJZ*eN+O0k^rudRsv`Gnc+^#2$&9g4cCw;11kz4q
zs2t&lI{4!V>QZ9!K9k0Nj_Mc5=A8nv=-JO`0z4Q}Z*aW%$NIV2ebF==;i1K1))BRW
z9QdsK>zjyfZ`)CELRy6`0*}1$A4;JLsLSQX6?RE~iIrBV{rqbhn!-{O(qDAY>A`jaM&
zbm<}>a7D@aVwdpX%*G^N5wQR?-~a}Q=)R_BlYRL9v|-v0xszXgwD-N|@es=W&SFM*F^;6hUsu%Rk1qtx;fb)RjILNPEeLT5RG2-2!6&{zG
z^hEd{XCD
z5$I(@x$(=1UU%83N5&z@x@_%QpkdL%XS+N`m{y99O0p=Q{FoiOTb(UWrl@m=PXDvK
zO~w>w2gbbQv{Gm%Hn<|B+0WJ`9KQ@>-l*u^dA#G=30rQPlB_w;claznwr5Xh{(p$Fj!;I>N@vTpS|b7Y^t*xX<=ne{qj#XDsres~dT1Lajb--;_JbAIR|AMKfD#l>vp#&w>d00CQECMij{
z6iCPjrIBfSt{un0b>^gdN15h>7Yh17f@i$X796`UNkMkAxKE_`8~dVU7da7425e&`
zwWqqO9Z5ob6V+3N-?XiQ^gN^uy*a~6^v`Kt>1u<|+L@1Z7b;YHm`v>AZMBl1kXEsi<%#yE2>N8A&+f
z>_ES>rlIv-fbHt*p&hwf4vtIL>ymqp2H@!U9P80*Gg=K{yQ8ToV7p92t}*piwH6eS
zbPP}I(doQxRfipX7vwW;YCqa4GlQE6Fs&ot!Do+Y&vVtIpgYAxZ~2eTM2$6U?4wYi
zFd7g0YZQ_VJl?S&V`4tg9wmBqYe(=0Gu=LMeDdI9{918%@
zDwcY&!2uiPlKP0ASr%cb!begGfyG?9X$8+Edh6#V#-sXQm&y-DN$h=lTeH<$qhi41
zfco$W)dVQ~{U?F)!$9Aiy-Oo$^R5R9V)BbLq9;!}UXs^#fnVc3{^8+`(;<1UST5S^
zUek3SEB3C`-2NgvinT^~I(g!gJ3azjK~vDJk5_CPKe4`Mx*vM%pa}SmHrwW
zUTF{i{?lHHd9sXKya0=xk`R@p4Dal_Ber^Ee5mV*KV;UAZvI=22;zO~LSjYeSWkuB
zAs6Xg8!5~;2OpqB{`7&uD5U(anGWko(4jeR@gmQXaD
zcEg)RU)NnDc+mY`df5OuSe(&$vdBwxo@WwY+$Sfq)2#HXrx8qj;H
z!sH#=EWJ#|Y0X&}<6>aAiJr!1
zU$RBEzk_xcylMplqm4EQNKWP9*0*?5`n~;qm`a&Xie}Na4yNIQ?dQ4+zvZ*?Hy@l}
zrO{OW9XBUN_0<0g8)>dR{NuOZJI#a0-;5cWYajpr_yI34=VCYtgLTzdwF}t?X_Q{{
zCFZ($gP(=D%nnlD%4L&WZQ}K7<@@1jN#(}zrkM>Be!B&C7@79NxyAH5E-aQC{0^qR
z@m4LBC&|g_lwFSJ`h0qh)Mk|bp{TZTjd{8H>0WFc5uI+{V5QFJ_Tax
z>G0%1tgM9hgEVtC1M*m;mOa4~nsRd}YUHZHPKXQmR3hubzpJ&)&fI?H>nv^Mm~*FD
z3`9S-{ZSZ>@iM|qH@;I$&%svd9qPuXPfgaZK)|*kS66l
z?S@B1X)nJpg2SU79iHF&K4|Rjpz^`gr|N(%{&K1QlSwB&)4Sf|z9JjaG77G?K5Imz
z8+N#emDti(sMsE_Tf*o%?F4N=D1R`2A1U}d3B8xb3>$UkpUQ@Xl6qW{f|VIyyWy#MDISVF$p?l$ob^X1aG8k46}D3(y|Xsbz9nnR(PnUhbI(Dv7FjF%LQGbK)`B7@W4D3kY)>n
zB8&J8WyfV2gw)3DK;-qI(Y6j_Sy^NRtJSk_EOQ7=KnbW2HLb(w#Y+TxSO5bq?v_nR
zzn=nlj=_CZrz#!@6vHmIv7>-fJR7eQTo)Pg?XLX4E-7d9gbbNJMi
zWaaI<-i#uz<0lm=dWkN_~E0d6iXj!>Jm
zaZga=1*;;M?P$UMWIf7X?G@cTkn4#R46Hblv^>y=3Zw@bA`sRRVEH2!0W@$uV&%mJ
zIV|5k;5qCaIKjs=HO$ivAVi6-Bc@zWVCm-I^uBbaQ%v1yYpD
zUSmK88$v7n$UB4c_J%q^$5|>p{ur5$Ag%oivhVeIsMa&V*t#R?yC0bxY3RWBOLelKyQ26)^Q2z-
z#}-x;`NtN5;yW71`<-uiExf5;A!54bUlJ8tBIPP@dH`meL9HQI%w#uI3vQJBYQP8B46h_~(!z%(y;I`$r-1rv*DlB;Qy80)3
zx7ZCwFQ_f(y$7U6R{Av6evl2Wp=yE?d~A5D(X2IDZoJ(^kAfzQubl|HEU+wUe}oh&
zqtvKwJsyuwjqJV?hr6>FO{ddAaVz&)T3Zc`jTvG?*;3MA<+fXpu1a
zRA#Au1%pW!&nLx<5StQ9bT1W~ek)D!A#NM)70$S;%j<$C(izmb7zA8W%G=UsG1OTn
zMz@i?r)SEsgOjU*!zT$gSK01J`kr+znlKeG>-8>WI!#R?@RzfM^Q)hh+g;&_GX018
z!;gbVj;aF!bfr9!w9H9yD=*5nyg2V|=yiJK=R2_`O`wjHQu4;)cmVsxu+3NIZ@W5&
zr$-ox01Aj}$?^(G(M+_g41T>SX&8Sh9upZ@pV(;J70PI;c>MU7)e%c;3yYKCC1`%p
zm6>F8r7-qEq=7;0v$;pY_+`J^?#V@C7mrhjTqdQaP=}Ayeotg5MV*Yl(fiRAsgP{d
z6I+OVu;=r%=7Su4^Mq~7O6RHBj9y61
zoZ&&El}jnQJ-7C|Ql^(gSE{|J9Y^&ks(QMiYww&vgeIELn
z>8BrTA%GB0e*RHeVd=OSVeHxScdChAg`T$Qg<*Ocl`%19D2XC1OM+=J*r7;yS|WQZ4T9c9)8C2XVuPFwu3#K
z0fw%uqiDe7P-6QVy!qRc?f9_O?`$CSQx9J#eNFYMOGH(NA`?o(r30-OBHp5=neo74
zWYNxH!`|Wst8BXyKwKNwrI~Y!-bXEK^7rv~nJIIQ2qDh(poljbRz<)5@+IAQ>%zsz
zbJyyM-S%w=f&2f14U%6=5Uo@-)}G%KJClYFiTKLMdvTD
zcOKjTIvv7t+VRhN9)Xx)F&~PG+Yp#qr`rV1iS5(3
zvvrdSJ}~*pdsqkFYm?9xQ|M>L?AWCjqvd9nx~Ya3kjw1n&*OU!ZP9|3w&NF@9Yw95
i_I}>{|G$uvx4uL2)Hj!s4Ho>7wWp!}UNt8%H+~1cT*c-9
diff --git a/content/platform/administration/grouping-assets-by-location/LocationAdded.png b/content/platform/administration/grouping-assets-by-location/LocationAdded.png
deleted file mode 100644
index b271bbb811b630c2e9ae9eeb25e332d39aa07f45..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 48498
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