From e262d45c1a84e1796f398816634223524a8ec99c Mon Sep 17 00:00:00 2001 From: "Zenuni, Arijan" Date: Fri, 17 Jan 2025 12:33:16 -0800 Subject: [PATCH 1/3] feat: dashboards samples - executive service slo dashboard. --- dashboards/README.md | 34 + .../config.yaml | 24 + .../executive.json | 756 +++ .../executive-service-slo-dashboard/sli.json | 4138 +++++++++++++++++ dashboards/manifest.yaml | 19 + 5 files changed, 4971 insertions(+) create mode 100644 dashboards/README.md create mode 100644 dashboards/executive-service-slo-dashboard/config.yaml create mode 100644 dashboards/executive-service-slo-dashboard/executive.json create mode 100644 dashboards/executive-service-slo-dashboard/sli.json create mode 100644 dashboards/manifest.yaml diff --git a/dashboards/README.md b/dashboards/README.md new file mode 100644 index 0000000..9246af8 --- /dev/null +++ b/dashboards/README.md @@ -0,0 +1,34 @@ + +# Dashboards + +These are sample dashboards based on configuration as code for deployment. The dashboards are designed to be deployed via Monaco, a tool that allows for the management of Dynatrace configurations as code. This repository contains various dashboards that can be used to monitor and visualize different aspects of your Dynatrace environment. + +## Prerequisites + +- Monaco >`v2.15.0` +- Dynatrace Platform environment with Dashboards installed. +- OAuth client as described [here](https://www.dynatrace.com/support/help/manage/configuration-as-code/guides/create-oauth-client#create-an-oauth-client), including the additional scope: `document:documents:write, document:documents:read, document:documents:delete, document:trash.documents:delete`. This returns value for the environment variables `CLIENT_ID` and `CLIENT_SECRET` mentioned below. + +## Executive Service SLO Dashboard + +The Executive Service SLO Dashboard is a comprehensive set of dashboards aimed at providing insights into the effectiveness of different Service Level Indicators (SLIs) and Service Level Objectives (SLOs) for a set of services. This set includes two main dashboards: + +#### Prerequisites +- Replace the `DT_ENV_URL` in the config.yaml > executive-dashboard config. + +1. **Executive Overview Dashboard**: This dashboard aggregates SLO calculations by application, offering a high-level view of the overall performance and reliability of your services. It helps executives and stakeholders quickly understand how well the services are meeting their defined objectives. + +2. **SLI Threshold Evaluation Dashboard**: This dashboard provides a more granular view of the SLO calculations, breaking down the performance and availability indicators for each service. It allows for a detailed analysis of how different SLI thresholds impact the overall SLO targets, helping teams identify areas for improvement and optimization. + +By using these dashboards, you can effectively monitor and manage the performance and reliability of your services, ensuring that they meet the defined SLO targets and provide a high-quality experience for your users. + +## Environment variables + +You need a Dynatrace Platform environment and the following environment variables to try this out: + +* `DT_ENV_ID`: +* `DT_ENV_URL`: https://.apps.dynatrace.com +* `API_TOKEN`: Create a token as described [here](https://www.dynatrace.com/support/help/manage/configuration-as-code/manage-configuration#prerequisites) +* `CLIENT_ID`: *Returned when creating the OAuth client* +* `CLIENT_SECRET`: *Returned when creating the OAuth client* + diff --git a/dashboards/executive-service-slo-dashboard/config.yaml b/dashboards/executive-service-slo-dashboard/config.yaml new file mode 100644 index 0000000..b863665 --- /dev/null +++ b/dashboards/executive-service-slo-dashboard/config.yaml @@ -0,0 +1,24 @@ +configs: +- id: executive-dashboard + type: + document: + kind: dashboard + #private: true + config: + name: Executive Service SLO Overview + template: executive.json + parameters: + slidashboard: + configId: sli-dashboard + property: id + type: reference + tenanturl: DT_ENV_URL +- id: sli-dashboard + type: + document: + kind: dashboard + #private: true + config: + name: Service SLI Evaluator + template: sli.json + \ No newline at end of file diff --git a/dashboards/executive-service-slo-dashboard/executive.json b/dashboards/executive-service-slo-dashboard/executive.json new file mode 100644 index 0000000..1b8f711 --- /dev/null +++ b/dashboards/executive-service-slo-dashboard/executive.json @@ -0,0 +1,756 @@ +{ + "version": 16, + "variables": [ + { + "key": "App", + "type": "query", + "visible": true, + "input": "fetch dt.entity.service\n| fields managementZones\n| expand managementZones\n| dedup managementZones\n// | fields managementZones = replaceString(managementZones,\" \",\"+\")\n// | fields managementZones = replaceString(managementZones,\":\",\"\")", + "multiple": true + }, + { + "key": "Link", + "type": "query", + "visible": false, + "input": "data record(link=\"[{{`{{ZONE}}`}}](https://{{`{{TENANT}}`}}.apps.dynatrace.com/ui/apps/dynatrace.dashboards/dashboard/{{ .slidashboard }}#vfilter_App={{`{{ZONE}}`}}&vfilter_MZ_Override=true&vfilter_SLI_Threshold={{`{{SLI_THRESHOLD}}`}}&vfilter_Target={{`{{TARGET}}`}}&vfilter_Entrypoint={{`{{ENTRY_POINT}}`}}&from={{`{{FROM}}`}}&to={{`{{TO}}`}})\")\n| fieldsAdd link = replaceString(link,\"{{`{{TENANT}}`}}\",$Tenant)", + "multiple": false, + "defaultValue": "[{{`{{ZONE}}`}}]({{ .tenanturl }}ui/apps/dynatrace.dashboards/dashboard/{{ .slidashboard }}#vfilter_App={{`{{ZONE}}`}}&vfilter_MZ_Override=true&vfilter_SLI_Threshold={{`{{SLI_THRESHOLD}}`}}&vfilter_Target={{`{{TARGET}}`}}&vfilter_Entrypoint={{`{{ENTRY_POINT}}`}}&from={{`{{FROM}}`}}&to={{`{{TO}}`}})" + }, + { + "key": "SLI_Threshold", + "type": "text", + "visible": true, + "defaultValue": "50" + }, + { + "key": "Target", + "type": "text", + "visible": true, + "defaultValue": "99.0" + }, + { + "key": "Data", + "type": "query", + "visible": false, + "input": "timeseries avg = avg(dt.service.request.response_time), \ntotal = sum(dt.service.request.count),\nfailures=sum(dt.service.request.failure_count)\n, by:{dt.entity.service,endpoint.name}\n, filter:{ \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n }\n| fieldsAdd managementZones = entityAttr(dt.entity.service,\"managementZones\")\n| expand managementZones\n| filter in(managementZones,$App)\n| summarize avg = avg(avg[]), total = sum(total[]), failures = sum(failures[]) ,by:{managementZones}\n// Performance SLI\n| fieldsAdd high=iCollectArray(if(avg[]> (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd low=iCollectArray(if(avg[]<= (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd highRespTimes=iCollectArray(if(isNull(high[]),0,else:1))\n| fieldsAdd lowRespTimes=iCollectArray(if(isNull(low[]),0,else:1))\n| fieldsAdd performance_sli=100*(lowRespTimes[]/(lowRespTimes[]+highRespTimes[]))\n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability_sli=((availability_good[])/total[])*(100)\n| summarize status = avg((performance_sli[]+availability_sli[])/2), by:{managementZones}\n| fieldsAdd status = arrayAvg(status)\n| fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n| fieldsAdd Error_rate_consumed = (1 - (status/100))\n| fieldsAdd remaining_error_budget = (Error_budget - Error_rate_consumed) * 100\n| sort managementZones asc\n| summarize records = collectArray(record(status = status,budget=remaining_error_budget,zone = managementZones))\n| fields string = encodeBase64(concat(\"{\\\"results\\\":\", tostring(arrayflatten(records)),\"}\"))", + "multiple": true, + "defaultValue": ["3420b2ac-f1cf-4b24-b62d-61ba1ba8ed05*"] + }, + { + "key": "Entrypoint", + "type": "csv", + "visible": true, + "input": "true,false", + "multiple": false + }, + { + "key": "Tenant", + "type": "query", + "visible": false, + "input": "fetch dt.system.events \n| fields dt.system.environment \n| limit 1", + "multiple": false + } + ], + "tiles": { + "0": { + "type": "data", + "title": "", + "query": "data record(string = decodeBase64ToString($Data))\n| parse string,\"JSON:json\"\n| fields zones = json[`results`]\n| fieldsAdd total = arraySize(zones)\n| fieldsAdd length = floor(total / 4), remainder = total % 4, i = 3\n| fieldsAdd start = i * length + if(i < remainder, i, else: remainder)\n| fieldsAdd end = total - 1\n| fields zones = arrayRemoveNulls(iCollectArray(if(iIndex() >= start and iIndex() <= end, zones[])))\n| expand zones\n| fieldsFlatten zones \n| fieldsRemove zones\n| sort zones.status asc\n| fieldsAdd zone = replaceString(zones.zone,\" \",\"+\"), sli_threshold = $SLI_Threshold, target = $Target, entry_point = $Entrypoint\n| fieldsAdd app = $Link\n| fieldsAdd app = replaceString(app,\"{{`{{ZONE}}`}}\",zone)\n| fieldsAdd app = replaceString(app,\"{{`{{SLI_THRESHOLD}}`}}\",sli_threshold)\n| fieldsAdd app = replaceString(app,\"{{`{{TARGET}}`}}\",target)\n| fieldsAdd app = replaceString(app,\"{{`{{ENTRY_POINT}}`}}\",entry_point)\n| fieldsAdd app = replaceString(app,\"{{`{{FROM}}`}}\",$dt_timeframe_from)\n| fieldsAdd app = replaceString(app,\"{{`{{TO}}`}}\",$dt_timeframe_to)\n| fieldsAdd threshold = if(zones.status >= toDouble($Target),1,else:0)\n| fields `APP` = app,\n`SLO`= zones.status,\n`Budget` = zones.budget,threshold\n", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "threshold", + "title": "Test", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-categorical-color-13-default, #1c520a)" + }, + "comparator": "=", + "label": "Good", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "Bad", + "value": 0 + } + ] + }, + { + "id": 2, + "field": "Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": "≥", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "connect", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["APP"], + "categoryAxisLabel": "APP", + "valueAxis": ["SLO", "Budget", "threshold"], + "valueAxisLabel": "SLO,Budget,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": false, + "label": "Service request response time", + "max": 150, + "scale": "linear" + }, + "legend": { "hidden": true }, + "tooltip": { "variant": "single" } + }, + "singleValue": { + "showLabel": false, + "prefixIcon": "", + "autoscale": true, + "alignment": "center", + "trend": { "trendType": "auto", "isVisible": true }, + "colorThresholdTarget": "background", + "recordField": "Status", + "label": "dt.entity.service" + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": true, + "lineWrapIds": [["APP"], ["SLO"]], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"APP\"]": 166.2552032470703, + "[\"SLO\"]": 84.70832824707031 + }, + "columnTypeOverrides": [ + { "id": 1470735.1999999993, "fields": ["APP"], "value": "markdown" } + ], + "colorThresholdTarget": "background", + "enableThresholdInRow": true, + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["APP"], + "dataMappings": { "value": "SLO" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "SLO", "rangeAxis": "" }, + { "valueAxis": "Budget", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["APP"] + }, + "autoSelectVisualization": false, + "recordView": { "fieldsWidth": 203.49 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "1": { + "type": "data", + "title": "", + "query": "data record(string = decodeBase64ToString($Data))\n| parse string,\"JSON:json\"\n| fields zones = json[`results`]\n| fieldsAdd total = arraySize(zones)\n| fieldsAdd length = floor(total / 4), remainder = total % 4, i = 2\n| fieldsAdd start = i * length + if(i < remainder, i, else: remainder)\n| fieldsAdd end = start + length - 1 + if(i < remainder, 1, else: 0)\n| fields zones = arrayRemoveNulls(iCollectArray(if(iIndex() >= start and iIndex() <= end, zones[])))\n| expand zones\n| fieldsFlatten zones \n| fieldsRemove zones\n| sort zones.status asc\n| fieldsAdd zone = replaceString(zones.zone,\" \",\"+\"), sli_threshold = $SLI_Threshold, target = $Target, entry_point = $Entrypoint\n| fieldsAdd app = $Link\n| fieldsAdd app = replaceString(app,\"{{`{{ZONE}}`}}\",zone)\n| fieldsAdd app = replaceString(app,\"{{`{{SLI_THRESHOLD}}`}}\",sli_threshold)\n| fieldsAdd app = replaceString(app,\"{{`{{TARGET}}`}}\",target)\n| fieldsAdd app = replaceString(app,\"{{`{{ENTRY_POINT}}`}}\",entry_point)\n| fieldsAdd app = replaceString(app,\"{{`{{FROM}}`}}\",$dt_timeframe_from)\n| fieldsAdd app = replaceString(app,\"{{`{{TO}}`}}\",$dt_timeframe_to)\n| fieldsAdd threshold = if(zones.status >= toDouble($Target),1,else:0)\n| fields `APP` = app,\n`SLO`= zones.status,\n`Budget` = zones.budget,threshold\n", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "threshold", + "title": "Test", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-categorical-color-13-default, #1c520a)" + }, + "comparator": "=", + "label": "Good", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "Bad", + "value": 0 + } + ] + }, + { + "id": 2, + "field": "Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": "≥", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "connect", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["APP"], + "categoryAxisLabel": "APP", + "valueAxis": ["SLO", "Budget", "threshold"], + "valueAxisLabel": "SLO,Budget,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": false, + "label": "Service request response time", + "max": 150, + "scale": "linear" + }, + "legend": { "hidden": true }, + "tooltip": { "variant": "single" } + }, + "singleValue": { + "showLabel": false, + "prefixIcon": "", + "autoscale": true, + "alignment": "center", + "trend": { "trendType": "auto", "isVisible": true }, + "colorThresholdTarget": "background", + "recordField": "Status", + "label": "dt.entity.service" + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": true, + "lineWrapIds": [["APP"], ["SLO"]], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"APP\"]": 168.2552032470703, + "[\"SLO\"]": 84.70832824707031 + }, + "columnTypeOverrides": [ + { "id": 1470735.1999999993, "fields": ["APP"], "value": "markdown" } + ], + "colorThresholdTarget": "background", + "enableThresholdInRow": true, + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["APP"], + "dataMappings": { "value": "SLO" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "SLO", "rangeAxis": "" }, + { "valueAxis": "Budget", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["APP"] + }, + "autoSelectVisualization": false, + "recordView": { "fieldsWidth": 203.49 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "2": { + "type": "data", + "title": "", + "query": "data record(string = decodeBase64ToString($Data))\n| parse string,\"JSON:json\"\n| fields zones = json[`results`]\n| fieldsAdd total = arraySize(zones)\n| fieldsAdd length = floor(total / 4), remainder = total % 4, i = 1\n| fieldsAdd start = i * length + if(i < remainder, i, else: remainder)\n| fieldsAdd end = start + length - 1 + if(i < remainder, 1, else: 0)\n| fields zones = arrayRemoveNulls(iCollectArray(if(iIndex() >= start and iIndex() <= end, zones[])))\n| expand zones\n| fieldsFlatten zones \n| fieldsRemove zones\n| sort zones.status asc\n| fieldsAdd zone = replaceString(zones.zone,\" \",\"+\"), sli_threshold = $SLI_Threshold, target = $Target, entry_point = $Entrypoint\n| fieldsAdd app = $Link\n| fieldsAdd app = replaceString(app,\"{{`{{ZONE}}`}}\",zone)\n| fieldsAdd app = replaceString(app,\"{{`{{SLI_THRESHOLD}}`}}\",sli_threshold)\n| fieldsAdd app = replaceString(app,\"{{`{{TARGET}}`}}\",target)\n| fieldsAdd app = replaceString(app,\"{{`{{ENTRY_POINT}}`}}\",entry_point)\n| fieldsAdd app = replaceString(app,\"{{`{{FROM}}`}}\",$dt_timeframe_from)\n| fieldsAdd app = replaceString(app,\"{{`{{TO}}`}}\",$dt_timeframe_to)\n| fieldsAdd threshold = if(zones.status >= toDouble($Target),1,else:0)\n| fields `APP` = app,\n`SLO`= zones.status,\n`Budget` = zones.budget,threshold\n", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "threshold", + "title": "Test", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-categorical-color-13-default, #1c520a)" + }, + "comparator": "=", + "label": "Good", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "Bad", + "value": 0 + } + ] + }, + { + "id": 2, + "field": "Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": "≥", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "connect", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["APP"], + "categoryAxisLabel": "APP", + "valueAxis": ["SLO", "Budget", "threshold"], + "valueAxisLabel": "SLO,Budget,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": false, + "label": "Service request response time", + "max": 150, + "scale": "linear" + }, + "legend": { "hidden": true }, + "tooltip": { "variant": "single" } + }, + "singleValue": { + "showLabel": false, + "prefixIcon": "", + "autoscale": true, + "alignment": "center", + "trend": { "trendType": "auto", "isVisible": true }, + "colorThresholdTarget": "background", + "recordField": "Status", + "label": "dt.entity.service" + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": true, + "lineWrapIds": [["APP"], ["SLO"]], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"APP\"]": 152.2552032470703, + "[\"SLO\"]": 84.70832824707031 + }, + "columnTypeOverrides": [ + { "id": 1470735.1999999993, "fields": ["APP"], "value": "markdown" } + ], + "colorThresholdTarget": "background", + "enableThresholdInRow": true, + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["APP"], + "dataMappings": { "value": "SLO" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "SLO", "rangeAxis": "" }, + { "valueAxis": "Budget", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["APP"] + }, + "autoSelectVisualization": false, + "recordView": { "fieldsWidth": 203.49 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "3": { + "type": "data", + "title": "", + "query": "data record(string = decodeBase64ToString($Data))\n| parse string,\"JSON:json\"\n| fields zones = json[`results`]\n| fieldsAdd total = arraySize(zones)\n| fieldsAdd length = floor(total / 4), remainder = total % 4, i = 0\n| fieldsAdd start = i * length + if(i < remainder, i, else: remainder)\n| fieldsAdd end = start + length - 1 + if(i < remainder, 1, else: 0)\n| fields zones = arrayRemoveNulls(iCollectArray(if(iIndex() >= start and iIndex() <= end, zones[])))\n| expand zones\n| fieldsFlatten zones \n| fieldsRemove zones\n| sort zones.status asc\n| fieldsAdd zone = replaceString(zones.zone,\" \",\"+\"), sli_threshold = $SLI_Threshold, target = $Target, entry_point = $Entrypoint\n| fieldsAdd app = $Link\n| fieldsAdd app = replaceString(app,\"{{`{{ZONE}}`}}\",zone)\n| fieldsAdd app = replaceString(app,\"{{`{{SLI_THRESHOLD}}`}}\",sli_threshold)\n| fieldsAdd app = replaceString(app,\"{{`{{TARGET}}`}}\",target)\n| fieldsAdd app = replaceString(app,\"{{`{{ENTRY_POINT}}`}}\",entry_point)\n| fieldsAdd app = replaceString(app,\"{{`{{FROM}}`}}\",$dt_timeframe_from)\n| fieldsAdd app = replaceString(app,\"{{`{{TO}}`}}\",$dt_timeframe_to)\n| fieldsAdd threshold = if(zones.status >= toDouble($Target),1,else:0)\n| fields `APP` = app,\n`SLO`= zones.status,\n`Budget` = zones.budget,threshold\n", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "threshold", + "title": "Test", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-categorical-color-13-default, #1c520a)" + }, + "comparator": "=", + "label": "Good", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "Bad", + "value": 0 + } + ] + }, + { + "id": 2, + "field": "Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": "≥", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "connect", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["APP"], + "categoryAxisLabel": "APP", + "valueAxis": ["SLO", "Budget", "threshold"], + "valueAxisLabel": "SLO,Budget,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": false, + "label": "Service request response time", + "max": 150, + "scale": "linear" + }, + "legend": { "hidden": true }, + "tooltip": { "variant": "single" } + }, + "singleValue": { + "showLabel": false, + "prefixIcon": "", + "autoscale": true, + "alignment": "center", + "trend": { "trendType": "auto", "isVisible": true }, + "colorThresholdTarget": "background", + "recordField": "Status", + "label": "dt.entity.service" + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": true, + "lineWrapIds": [["APP"], ["SLO"]], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"APP\"]": 139.2552032470703, + "[\"SLO\"]": 84.70832824707031 + }, + "columnTypeOverrides": [ + { "id": 1470735.1999999993, "fields": ["APP"], "value": "markdown" } + ], + "colorThresholdTarget": "background", + "enableThresholdInRow": true, + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["APP"], + "dataMappings": { "value": "SLO" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "SLO", "rangeAxis": "" }, + { "valueAxis": "Budget", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["APP"] + }, + "autoSelectVisualization": false, + "recordView": { "fieldsWidth": 203.49 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + } + }, + "layouts": { + "0": { "x": 18, "y": 0, "w": 6, "h": 11 }, + "1": { "x": 12, "y": 0, "w": 6, "h": 11 }, + "2": { "x": 6, "y": 0, "w": 6, "h": 11 }, + "3": { "x": 0, "y": 0, "w": 6, "h": 11 } + }, + "importedWithCode": false, + "settings": { "gridLayout": { "mode": "responsive" } } +} diff --git a/dashboards/executive-service-slo-dashboard/sli.json b/dashboards/executive-service-slo-dashboard/sli.json new file mode 100644 index 0000000..4d1d4ae --- /dev/null +++ b/dashboards/executive-service-slo-dashboard/sli.json @@ -0,0 +1,4138 @@ +{ + "version": 16, + "variables": [ + { "key": "Service", "type": "text", "visible": true }, + { + "key": "App", + "type": "query", + "visible": true, + "input": "fetch dt.entity.service\n| fields managementZones\n| expand managementZones\n| dedup managementZones", + "multiple": false + }, + { + "key": "MZ_Override", + "type": "csv", + "visible": true, + "input": "true,false", + "multiple": false + }, + { "key": "Endpoint", "type": "text", "visible": true }, + { + "key": "SLI_Threshold", + "type": "text", + "visible": true, + "defaultValue": "50" + }, + { + "key": "Target", + "type": "text", + "visible": true, + "defaultValue": "99.0" + }, + { + "key": "Entrypoint", + "type": "csv", + "visible": true, + "input": "true,false", + "multiple": false + }, + { + "key": "Data", + "type": "query", + "visible": false, + "input": "timeseries {min = min(dt.service.request.response_time),\nmax = max(dt.service.request.response_time),\navg = avg(dt.service.request.response_time),\nmedian = median(dt.service.request.response_time),\nperc75 = percentile(dt.service.request.response_time,75)\n,perc90 = percentile(dt.service.request.response_time,90)\n,perc95 = percentile(dt.service.request.response_time,95)\n,perc99 = percentile(dt.service.request.response_time,99)\n,total = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)}\n// , interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if($Endpoint != \"\", \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if($Endpoint != \"\", \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize min = avg(min[]), max = avg(max[]),\nmedian = avg(median[]), avg = avg(avg[]),\nperc75 = avg(perc75[]), perc90 = avg(perc90[]),\nperc95 = avg(perc95[]), perc99 = avg(perc99[]),\ntotal = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval}\n| summarize records = collectArray(record(\ntimeframe, interval, min, max, median, avg, perc75,\nperc90, perc95, perc99, total, failures\n))\n| fields string = encodeBase64(concat(\"{\\\"results\\\":\", tostring(arrayflatten(records)),\"}\"))", + "multiple": true, + "defaultValue": ["3420b2ac-f1cf-4b24-b62d-61ba1ba8ed05*"] + }, + { + "key": "MDA", + "type": "query", + "visible": false, + "input": "data record(link=\"https://{{`{{TENANT}}`}}.apps.dynatrace.com/ui/apps/dynatrace.classic.mda/ui/services/{{`{{SERVICE_ID}}`}}/mda?metric={{`{{METRIC}}`}}&dimension=%7BRequest%3AName%7D>f={{`{{FROM}}`}}+to+{{`{{TO}}`}}\")\n| fields link = replaceString(link,\"{{`{{TENANT}}`}}\",$Tenant)", + "multiple": false + }, + { + "key": "Tenant", + "type": "query", + "visible": false, + "input": "fetch dt.system.events \n| fields dt.system.environment \n| limit 1", + "multiple": false, + "defaultValue": "guu84124" + } + ], + "tiles": { + "7": { + "type": "data", + "title": "Successful", + "query": "timeseries total = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n// , interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval} \n| summarize good = sum(total[]-failures[]), by: { timeframe, interval}\n| fieldsAdd value = arraySum(good)", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "singleValue", + "visualizationSettings": { + "thresholds": [], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["interval", "value"], + "categoryAxisLabel": "interval,value", + "valueAxis": ["value"], + "valueAxisLabel": "value", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["good"] + }, + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "upward": { + "Default": "var(--dt-colors-charts-categorical-color-09-default, #649438)" + }, + "downward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": {}, + "columnTypeOverrides": [ + { "fields": ["good"], "value": "sparkline", "id": 1736865813168 } + ] + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "interval", "rangeAxis": "" }, + { "valueAxis": "value", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "unitsOverrides": [] + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "11": { + "type": "data", + "title": "", + "query": "timeseries {avg = avg(dt.service.request.response_time),\ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)}\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize avg = avg(avg[]),total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval} \n// | fields avg = arrayRemoveNulls(avg), total = arrayRemoveNulls(total), failures = arrayRemoveNulls(failures), timeframe, interval\n// Performance SLI\n| fieldsAdd high=iCollectArray(if(avg[]> (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd low=iCollectArray(if(avg[]<= (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd highRespTimes=iCollectArray(if(isNull(high[]),0,else:1))\n| fieldsAdd lowRespTimes=iCollectArray(if(isNull(low[]),0,else:1))\n| fieldsAdd performance_sli=100*(lowRespTimes[]/(lowRespTimes[]+highRespTimes[]))\n\n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability_sli=((availability_good[])/total[])*(100)\n| summarize status = avg((performance_sli[]+availability_sli[])/2),by:{interval, timeframe}\n| fields status = arrayRemoveNulls(status), interval, timeframe\n", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "lineChart", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "value", + "title": "Test", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-categorical-color-13-default, #1c520a)" + }, + "comparator": "≥", + "label": "Good", + "value": 99 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "≥", + "label": "Bad", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "connect", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["interval"], + "categoryAxisLabel": "interval", + "valueAxis": ["interval"], + "valueAxisLabel": "interval", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": false, + "label": "Service request response time", + "max": 105, + "scale": "linear" + }, + "legend": { "hidden": true }, + "tooltip": { "variant": "single" }, + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["status"] + } + }, + "singleValue": { + "showLabel": false, + "prefixIcon": "", + "autoscale": true, + "alignment": "center", + "trend": { "trendType": "auto", "isVisible": true }, + "colorThresholdTarget": "background", + "recordField": "value", + "label": "dt.entity.service" + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": {}, + "columnTypeOverrides": [ + { "fields": ["status"], "value": "sparkline", "id": 1736865813403 } + ] + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [{ "valueAxis": "interval", "rangeAxis": "" }], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "recordView": { "fieldsWidth": 203.49 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "14": { + "type": "data", + "title": "Average ALL", + "query": "timeseries min = min(dt.service.request.response_time),\nmax = max(dt.service.request.response_time),\navg = avg(dt.service.request.response_time),\nmedian = median(dt.service.request.response_time),\nperc75 = percentile(dt.service.request.response_time,75)\n,perc90 = percentile(dt.service.request.response_time,90)\n,perc95 = percentile(dt.service.request.response_time,95)\n,perc99 = percentile(dt.service.request.response_time,99)\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize avg = avg(avg[]), max = avg(max[]),\nmin = avg(min[]), median = avg(median[]),\nperc75 = avg(perc75[]), perc90 = avg(perc90[]),\nperc95 = avg(perc95[]), perc99 = avg(perc99[])\n, by: { timeframe, interval}\n| fieldsAdd metric1 = (min[] + max[])/2\n| fieldsAdd metric2 = (perc75[] + perc90[] + perc95[] + perc99[])/4\n| fieldsAdd metric3 = (avg[] + median[])/2\n| fieldsAdd metric = (metric1[] + metric2[] + metric3[])/3\n| fields metric, interval, timeframe, value = arrayAvg(metric)\n// | summarize metric = avg(metric), by:{timeframe,interval}\n// | fieldsAdd value = arrayAvg(metric)", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "singleValue", + "visualizationSettings": { + "thresholds": [], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["interval", "value"], + "categoryAxisLabel": "interval,value", + "valueAxis": ["value"], + "valueAxisLabel": "value", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["metric"] + }, + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": {}, + "columnTypeOverrides": [ + { "fields": ["metric"], "value": "sparkline", "id": 1736865813201 } + ] + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "interval", "rangeAxis": "" }, + { "valueAxis": "value", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "metric", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941491874 + }, + { + "identifier": "value", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941499055 + } + ], + "recordView": { "fieldsWidth": 242.76 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "15": { + "type": "data", + "title": "Average of 75, 90, 95, 99", + "query": "timeseries perc75 = percentile(dt.service.request.response_time,75)\n,perc90 = percentile(dt.service.request.response_time,90)\n,perc95 = percentile(dt.service.request.response_time,95)\n,perc99 = percentile(dt.service.request.response_time,99)\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize perc75 = avg(perc75[]), perc90 = avg(perc90[]),\nperc95 = avg(perc95[]), perc99 = avg(perc99[])\n, by: { timeframe, interval}\n| fieldsAdd metric = (perc75[] + perc90[] + perc95[] + perc99[])/4\n| summarize metric = avg(metric[]), by:{timeframe,interval}\n| fieldsAdd value = arrayAvg(metric)", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "singleValue", + "visualizationSettings": { + "thresholds": [], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["interval", "value"], + "categoryAxisLabel": "interval,value", + "valueAxis": ["value"], + "valueAxisLabel": "value", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["metric"] + }, + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": {}, + "columnTypeOverrides": [ + { "fields": ["metric"], "value": "sparkline", "id": 1736865813235 } + ] + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "interval", "rangeAxis": "" }, + { "valueAxis": "value", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "metric", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941491874 + }, + { + "identifier": "value", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941499055 + } + ] + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "16": { + "type": "data", + "title": "Average of Min,Max", + "query": "timeseries min = min(dt.service.request.response_time),\nmax = max(dt.service.request.response_time)\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"),\"RMI_SERVICE\", \"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize max = avg(max[]),min = avg(min[])\n, by: { timeframe, interval}\n| fieldsAdd metric = (min[] + max[])/2\n| summarize metric = avg(metric[]), by:{timeframe,interval}\n| fieldsAdd value = arrayAvg(metric)", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "singleValue", + "visualizationSettings": { + "thresholds": [], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["interval", "value"], + "categoryAxisLabel": "interval,value", + "valueAxis": ["value"], + "valueAxisLabel": "value", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["metric"] + }, + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": {}, + "columnTypeOverrides": [ + { "fields": ["metric"], "value": "sparkline", "id": 1736865813517 } + ] + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "interval", "rangeAxis": "" }, + { "valueAxis": "value", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "metric", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941491874 + }, + { + "identifier": "value", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941499055 + } + ] + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "17": { + "type": "data", + "title": "Average of AVG/Median", + "query": "timeseries avg = avg(dt.service.request.response_time),\nmedian = median(dt.service.request.response_time)\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0,\n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize avg = avg(avg[]), median = avg(median[])\n, by: { timeframe, interval} \n| fieldsAdd metric = (avg[] + median[])/2\n| summarize metric = avg(metric[]), by:{timeframe,interval}\n| fieldsAdd value = arrayAvg(metric)", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "singleValue", + "visualizationSettings": { + "thresholds": [], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["interval", "value"], + "categoryAxisLabel": "interval,value", + "valueAxis": ["value"], + "valueAxisLabel": "value", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["metric"] + }, + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": {}, + "columnTypeOverrides": [ + { "fields": ["metric"], "value": "sparkline", "id": 1736865812886 } + ] + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "interval", "rangeAxis": "" }, + { "valueAxis": "value", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "metric", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941491874 + }, + { + "identifier": "value", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941499055 + } + ] + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "18": { + "type": "data", + "title": "Failed", + "query": "timeseries total = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n// , interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval} \n| summarize failures = sum(failures[]), by: { timeframe, interval}\n| fieldsAdd value = arraySum(failures)", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "singleValue", + "visualizationSettings": { + "thresholds": [], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["interval", "value"], + "categoryAxisLabel": "interval,value", + "valueAxis": ["value"], + "valueAxisLabel": "value", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["failures"] + }, + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": {}, + "columnTypeOverrides": [ + { + "fields": ["failures"], + "value": "sparkline", + "id": 1736865813148 + } + ] + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "interval", "rangeAxis": "" }, + { "valueAxis": "value", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "unitsOverrides": [] + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "21": { + "type": "data", + "title": "Performance Insights by Endpoint", + "query": "timeseries avg = avg(dt.service.request.response_time),\nmedian = median(dt.service.request.response_time)\n, by:{endpoint.name,dt.entity.service}\n, interval:1m\n, filter: {if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )}\n| summarize avg = avg(avg[]),by:{endpoint.name,dt.entity.service}\n| fields avg = arrayRemoveNulls(avg), endpoint.name,dt.entity.service\n// Performance SLI\n| fieldsAdd high=iCollectArray(if(avg[]> (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd low=iCollectArray(if(avg[]<= (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd highRespTimes=iCollectArray(if(isNull(high[]),0,else:1))\n| fieldsAdd lowRespTimes=iCollectArray(if(isNull(low[]),0,else:1))\n| fieldsAdd performance_sli = 100*(lowRespTimes[]/(lowRespTimes[]+highRespTimes[]))\n\n\n| fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n| fieldsAdd perf_rate_consumed = (1 - (arrayAvg(performance_sli)/100))\n| fieldsAdd threshold = if(arrayAvg(performance_sli) >= toDouble($Target),1,else:0)\n| fields `Endpoint` = endpoint.name,\n`Perf SLO` = arrayAvg(performance_sli), `Perf Budget` = (Error_budget - perf_rate_consumed) * 100,\n`AVG` = arrayAvg(avg), dt.entity.service, threshold\n| fieldsAdd link = concat(\"[mda]\",\"(\",$MDA,\")\")\n| fieldsAdd link = replaceString(link,\"{{`{{SERVICE_ID}}`}}\",dt.entity.service)\n| fieldsAdd link = replaceString(link,\"{{`{{METRIC}}`}}\",\"RESPONSE_TIME\")\n| fieldsAdd link = replaceString(link,\"{{`{{FROM}}`}}\",toString($dt_timeframe_from))\n| fieldsAdd link = replaceString(link,\"{{`{{TO}}`}}\",toString($dt_timeframe_to))\n| sort `Perf SLO` asc", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 3, + "field": "threshold", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 5, + "field": "Perf Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 0.1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": ">", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["Endpoint", "dt.entity.service", "link"], + "categoryAxisLabel": "Endpoint,dt.entity.service,link", + "valueAxis": ["Perf SLO", "Perf Budget", "AVG", "threshold"], + "valueAxisLabel": "Perf SLO,Perf Budget,AVG,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": false, + "lineWrapIds": [ + ["Endpoint"], + ["Perf SLO"], + ["Perf Budget"], + ["AVG"], + ["dt.entity.service"] + ], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"entity.name\"]": 190.08593750000003, + "[\"endpoint.name\"]": 300.4583435058594, + "[\"Endpoint\"]": 175.58334350585938 + }, + "columnTypeOverrides": [ + { "id": 1089317, "fields": ["link"], "value": "markdown" } + ], + "enableThresholdInRow": true, + "sortBy": { "columnId": "[\"Perf SLO\"]", "direction": "ascending" }, + "colorThresholdTarget": "background", + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["Endpoint", "dt.entity.service", "link"], + "dataMappings": { "value": "Perf SLO" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "Perf SLO", "rangeAxis": "" }, + { "valueAxis": "Perf Budget", "rangeAxis": "" }, + { "valueAxis": "AVG", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["Endpoint", "dt.entity.service", "link"] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "AVG", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1734017015396 + } + ], + "recordView": { "fieldsWidth": 200.67 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "22": { + "type": "data", + "title": "Availability Insights by Endpoint", + "query": "timeseries \ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval,dt.entity.service,endpoint.name} \n\n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability_sli=((availability_good[])/total[])*(100)\n\n\n| fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n| fieldsAdd avail_rate_consumed = (1 - (arrayAvg(availability_sli)/100))\n| fieldsAdd threshold = if(arrayAvg(availability_sli) >= toDouble($Target),1,else:0)\n| fields `Endpoint` = endpoint.name,\n`Avail SLO` = arrayAvg(availability_sli), `Avail Budget` = (Error_budget - avail_rate_consumed) * 100,\n`Successful Requests` = arraySum(availability_good), `Failed Requests` = arraySum(failures), dt.entity.service, threshold\n| fieldsAdd link = concat(\"[mda]\",\"(\",$MDA,\")\")\n| fieldsAdd link = replaceString(link,\"{{`{{SERVICE_ID}}`}}\",dt.entity.service)\n| fieldsAdd link = replaceString(link,\"{{`{{METRIC}}`}}\",\"FAILURE_RATE\")\n| fieldsAdd link = replaceString(link,\"{{`{{FROM}}`}}\",toString($dt_timeframe_from))\n| fieldsAdd link = replaceString(link,\"{{`{{TO}}`}}\",toString($dt_timeframe_to))\n| sort `Avail SLO` asc\n", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 4, + "field": "threshold", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 6, + "field": "Avail Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 0.1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": ">", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["Endpoint", "dt.entity.service", "link"], + "categoryAxisLabel": "Endpoint,dt.entity.service,link", + "valueAxis": [ + "Avail SLO", + "Avail Budget", + "Successful Requests", + "Failed Requests", + "threshold" + ], + "valueAxisLabel": "Avail SLO,Avail Budget,Successful Requests,Failed Requests,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": false, + "lineWrapIds": [ + ["Endpoint"], + ["Avail SLO"], + ["Avail Budget"], + ["dt.entity.service"] + ], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"entity.name\"]": 190.08593750000003, + "[\"endpoint.name\"]": 300.4583435058594, + "[\"Endpoint\"]": 139.58334350585938 + }, + "columnTypeOverrides": [ + { + "id": 1080912.5999999978, + "fields": ["link"], + "value": "markdown" + } + ], + "enableThresholdInRow": true, + "sortBy": { "columnId": "[\"Avail SLO\"]", "direction": "ascending" }, + "colorThresholdTarget": "background", + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["Endpoint", "dt.entity.service", "link"], + "dataMappings": { "value": "Avail SLO" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "Avail SLO", "rangeAxis": "" }, + { "valueAxis": "Avail Budget", "rangeAxis": "" }, + { "valueAxis": "Successful Requests", "rangeAxis": "" }, + { "valueAxis": "Failed Requests", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["Endpoint", "dt.entity.service", "link"] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "AVG", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1734017015396 + } + ], + "recordView": { "fieldsWidth": 200.67 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "23": { + "type": "data", + "title": "Availability Insights by Service", + "query": "timeseries \ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval,dt.entity.service} \n\n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability_sli=((availability_good[])/total[])*(100)\n\n| fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n| fieldsAdd avail_rate_consumed = (1 - (arrayAvg(availability_sli)/100))\n| fieldsAdd threshold = if(arrayAvg(availability_sli) >= toDouble($Target),1,else:0)\n| fields `Name` = entityName(dt.entity.service),\n`Avail SLO` = arrayAvg(availability_sli), `Avail Budget` = (Error_budget - avail_rate_consumed) * 100,\n`Successful Requests` = arraySum(availability_good), `Failed Requests` = arraySum(failures),dt.entity.service, threshold\n| fieldsAdd link = concat(\"[mda]\",\"(\",$MDA,\")\")\n| fieldsAdd link = replaceString(link,\"{{`{{SERVICE_ID}}`}}\",dt.entity.service)\n| fieldsAdd link = replaceString(link,\"{{`{{METRIC}}`}}\",\"FAILURE_RATE\")\n| fieldsAdd link = replaceString(link,\"{{`{{FROM}}`}}\",toString($dt_timeframe_from))\n| fieldsAdd link = replaceString(link,\"{{`{{TO}}`}}\",toString($dt_timeframe_to))\n| sort `Avail SLO` asc", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 4, + "field": "threshold", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 6, + "field": "Avail Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 0.1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": ">", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["Name", "dt.entity.service", "link"], + "categoryAxisLabel": "Name,dt.entity.service,link", + "valueAxis": [ + "Avail SLO", + "Avail Budget", + "Successful Requests", + "Failed Requests", + "threshold" + ], + "valueAxisLabel": "Avail SLO,Avail Budget,Successful Requests,Failed Requests,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": false, + "lineWrapIds": [ + ["Name"], + ["Avail SLO"], + ["Avail Budget"], + ["dt.entity.service"] + ], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"entity.name\"]": 190.08593750000003, + "[\"Name\"]": 166.20834350585938, + "[\"Status\"]": 104.09375, + "[\"dt.entity.service\"]": 75.11175537109375, + "[\"Remaining_error_budget\"]": 136.03030395507812, + "[\"SLO\"]": 74.71780395507812, + "[\"Budget\"]": 103.38068389892578 + }, + "columnTypeOverrides": [ + { "id": 963744.2999999989, "fields": ["link"], "value": "markdown" } + ], + "enableThresholdInRow": true, + "sortBy": { "columnId": "[\"Avail SLO\"]", "direction": "ascending" }, + "colorThresholdTarget": "background", + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["Name", "dt.entity.service", "link"], + "dataMappings": { "value": "Avail SLO" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "Avail SLO", "rangeAxis": "" }, + { "valueAxis": "Avail Budget", "rangeAxis": "" }, + { "valueAxis": "Successful Requests", "rangeAxis": "" }, + { "valueAxis": "Failed Requests", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["Name", "dt.entity.service", "link"] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "AVG", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1734046759478 + } + ], + "recordView": { "fieldsWidth": 200.67 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "24": { + "type": "data", + "title": "Performance Insights by Service", + "query": "timeseries avg = avg(dt.service.request.response_time)\n, median = median(dt.service.request.response_time)\n, by:{dt.entity.service}\n, interval:1m\n// , filter:{if(toBoolean($MZ_Override),in(entityAttr(dt.entity.service,\"managementZones\"),$App),\n// else:if($Service != \"\",matchesPhrase(entityName(dt.entity.service),$Service),else:false))}\n, filter: {if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0,\n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )}\n| summarize avg = avg(avg[]),by:{dt.entity.service}\n| fields avg = arrayRemoveNulls(avg), dt.entity.service\n// Performance SLI\n| fieldsAdd high=iCollectArray(if(avg[]> (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd low=iCollectArray(if(avg[]<= (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd highRespTimes=iCollectArray(if(isNull(high[]),0,else:1))\n| fieldsAdd lowRespTimes=iCollectArray(if(isNull(low[]),0,else:1))\n| fieldsAdd performance_sli = 100*(lowRespTimes[]/(lowRespTimes[]+highRespTimes[]))\n\n\n| fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n| fieldsAdd perf_rate_consumed = (1 - (arrayAvg(performance_sli)/100))\n| fieldsAdd threshold = if(arrayAvg(performance_sli) >= toDouble($Target),1,else:0)\n| fields `Name` = entityName(dt.entity.service),\n`Perf SLO` = arrayAvg(performance_sli), `Perf Budget` = (Error_budget - perf_rate_consumed) * 100,\n`AVG` = arrayAvg(avg),dt.entity.service, threshold\n| fieldsAdd link = concat(\"[mda]\",\"(\",$MDA,\")\")\n| fieldsAdd link = replaceString(link,\"{{`{{SERVICE_ID}}`}}\",dt.entity.service)\n| fieldsAdd link = replaceString(link,\"{{`{{METRIC}}`}}\",\"RESPONSE_TIME\")\n| fieldsAdd link = replaceString(link,\"{{`{{FROM}}`}}\",toString($dt_timeframe_from))\n| fieldsAdd link = replaceString(link,\"{{`{{TO}}`}}\",toString($dt_timeframe_to))\n| sort `Perf SLO` asc", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "threshold", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 5, + "field": "Perf Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 0.1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": ">", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["Name", "dt.entity.service", "link"], + "categoryAxisLabel": "Name,dt.entity.service,link", + "valueAxis": ["Perf SLO", "Perf Budget", "AVG", "threshold"], + "valueAxisLabel": "Perf SLO,Perf Budget,AVG,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": false, + "lineWrapIds": [ + ["Name"], + ["Perf SLO"], + ["Perf Budget"], + ["AVG"], + ["dt.entity.service"] + ], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"entity.name\"]": 190.08593750000003, + "[\"Name\"]": 195.20834350585938, + "[\"Status\"]": 104.09375, + "[\"dt.entity.service\"]": 75.11175537109375, + "[\"Remaining_error_budget\"]": 136.03030395507812, + "[\"SLO\"]": 74.71780395507812, + "[\"Budget\"]": 103.38068389892578 + }, + "columnTypeOverrides": [ + { "id": 787543.7999999989, "fields": ["link"], "value": "markdown" } + ], + "enableThresholdInRow": true, + "sortBy": { "columnId": "[\"Perf SLO\"]", "direction": "ascending" }, + "colorThresholdTarget": "background", + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["Name", "dt.entity.service", "link"], + "dataMappings": { "value": "Perf SLO" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "blue" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "Perf SLO", "rangeAxis": "" }, + { "valueAxis": "Perf Budget", "rangeAxis": "" }, + { "valueAxis": "AVG", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["Name", "dt.entity.service", "link"] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "AVG", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1734046759478 + } + ], + "recordView": { "fieldsWidth": 200.67 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "25": { + "type": "data", + "title": "SLO", + "query": "timeseries avg = avg(dt.service.request.response_time),\ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize avg = avg(avg[]),total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval} \n\n// Performance SLI\n| fieldsAdd high=iCollectArray(if(avg[]> (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd low=iCollectArray(if(avg[]<= (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd highRespTimes=iCollectArray(if(isNull(high[]),0,else:1))\n| fieldsAdd lowRespTimes=iCollectArray(if(isNull(low[]),0,else:1))\n| fieldsAdd performance_sli=100*(lowRespTimes[]/(lowRespTimes[]+highRespTimes[]))\n\n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability_sli=((availability_good[])/total[])*(100)\n\n| summarize status = avg((performance_sli[]+availability_sli[])/2), by:{interval, timeframe}\n\n// Error Budget Calculation\n| fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n| fieldsAdd Error_rate_consumed = (1 - (status[]/100))\n\n| summarize budget = avg((Error_budget - Error_rate_consumed[]) * 100), status = avg(status[]), by:{interval, timeframe}\n| fieldsAdd threshold = if(arrayAvg(arrayRemoveNulls(status)) >= toDouble($Target),1,else:0)\n| fields status = arrayAvg(arrayRemoveNulls(status)), status_value = status, budget = arrayAvg(arrayRemoveNulls(budget)),budget_value=budget,threshold,interval, timeframe\n// // | fields status = arrayRemoveNulls(status), interval, timeframe\n\n// | fieldsAdd value = arrayAvg(status) \n// | fields value, status, threshold, interval, timeframe", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "threshold", + "title": "Test", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-categorical-color-13-default, #1c520a)" + }, + "comparator": "=", + "label": "Good", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "Bad", + "value": 0 + } + ] + }, + { + "id": 2, + "field": "budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": "≥", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "connect", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["status", "budget", "threshold", "interval"], + "categoryAxisLabel": "status,budget,threshold,interval", + "valueAxis": ["status", "budget", "threshold"], + "valueAxisLabel": "status,budget,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": false, + "label": "Service request response time", + "max": 150, + "scale": "linear" + }, + "legend": { "hidden": true }, + "tooltip": { "variant": "single" }, + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["status_value", "budget_value"] + }, + "bandChartSettings": { + "lower": "status_value", + "upper": "budget_value", + "time": "timeframe" + } + }, + "singleValue": { + "showLabel": false, + "prefixIcon": "", + "autoscale": true, + "alignment": "center", + "trend": { "trendType": "auto", "isVisible": true }, + "colorThresholdTarget": "background", + "recordField": "value", + "label": "dt.entity.service" + }, + "table": { + "rowDensity": "default", + "enableSparklines": false, + "hiddenColumns": [ + ["status_value"], + ["budget_value"], + ["threshold"], + ["interval"], + ["timeframe"] + ], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [["status"], ["budget"]], + "columnWidths": { + "[\"status_value\"]": 116.72221374511719, + "[\"status\"]": 211.50694274902344 + }, + "columnTypeOverrides": [ + { + "fields": ["status_value", "budget_value"], + "value": "sparkline", + "id": 1736865813658 + } + ], + "colorThresholdTarget": "background", + "enableThresholdInRow": true, + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "status", "rangeAxis": "" }, + { "valueAxis": "budget", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" }, + { "valueAxis": "interval", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "recordView": { "fieldsWidth": 203.49 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "26": { + "type": "data", + "title": "Performance SLO", + "query": "timeseries avg = avg(dt.service.request.response_time),\ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize avg = avg(avg[]),total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval} \n\n// Performance SLI\n| fieldsAdd high=iCollectArray(if(avg[]> (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd low=iCollectArray(if(avg[]<= (1000 * toDouble($SLI_Threshold)), avg[]))\n| fieldsAdd highRespTimes=iCollectArray(if(isNull(high[]),0,else:1))\n| fieldsAdd lowRespTimes=iCollectArray(if(isNull(low[]),0,else:1))\n| fieldsAdd performance_sli=100*(lowRespTimes[]/(lowRespTimes[]+highRespTimes[]))\n\n\n| summarize status = avg(performance_sli[]), by:{interval, timeframe}\n\n// Error Budget Calculation\n| fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n| fieldsAdd Error_rate_consumed = (1 - (status[]/100))\n\n| summarize budget = avg((Error_budget - Error_rate_consumed[]) * 100), status = avg(status[]), by:{interval, timeframe}\n| fieldsAdd threshold = if(arrayAvg(arrayRemoveNulls(status)) >= toDouble($Target),1,else:0)\n| fields status = arrayAvg(arrayRemoveNulls(status)), status_value = status, budget = arrayAvg(arrayRemoveNulls(budget)),budget_value=budget,threshold,interval, timeframe\n// // | fields status = arrayRemoveNulls(status), interval, timeframe\n\n// | fieldsAdd value = arrayAvg(status) \n// | fields value, status, threshold, interval, timeframe", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "threshold", + "title": "Test", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-categorical-color-13-default, #1c520a)" + }, + "comparator": "=", + "label": "Good", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "Bad", + "value": 0 + } + ] + }, + { + "id": 2, + "field": "budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": "≥", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "connect", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["status", "budget", "threshold", "interval"], + "categoryAxisLabel": "status,budget,threshold,interval", + "valueAxis": ["status", "budget", "threshold"], + "valueAxisLabel": "status,budget,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": false, + "label": "Service request response time", + "max": 150, + "scale": "linear" + }, + "legend": { "hidden": true }, + "tooltip": { "variant": "single" }, + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["status_value", "budget_value"] + }, + "bandChartSettings": { + "lower": "status_value", + "upper": "budget_value", + "time": "timeframe" + } + }, + "singleValue": { + "showLabel": false, + "prefixIcon": "", + "autoscale": true, + "alignment": "center", + "trend": { "trendType": "auto", "isVisible": true }, + "colorThresholdTarget": "background", + "recordField": "value", + "label": "dt.entity.service" + }, + "table": { + "rowDensity": "comfortable", + "enableSparklines": false, + "hiddenColumns": [ + ["status_value"], + ["budget_value"], + ["threshold"], + ["interval"], + ["timeframe"] + ], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"status_value\"]": 116.72221374511719, + "[\"status\"]": 171.50694274902344 + }, + "columnTypeOverrides": [ + { + "fields": ["status_value", "budget_value"], + "value": "sparkline", + "id": 1736865813185 + } + ], + "colorThresholdTarget": "background", + "enableThresholdInRow": true, + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "status", "rangeAxis": "" }, + { "valueAxis": "budget", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" }, + { "valueAxis": "interval", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "recordView": { "fieldsWidth": 203.49 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "27": { + "type": "data", + "title": "Availability SLO", + "query": "timeseries avg = avg(dt.service.request.response_time),\ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n // and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and not(entityAttr(dt.entity.service, \"isExternalService\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize avg = avg(avg[]),total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval} \n\n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability_sli=((availability_good[])/total[])*(100)\n\n| summarize status = avg(availability_sli[]), by:{interval, timeframe}\n\n// Error Budget Calculation\n| fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n| fieldsAdd Error_rate_consumed = (1 - (status[]/100))\n\n| summarize budget = avg((Error_budget - Error_rate_consumed[]) * 100), status = avg(status[]), by:{interval, timeframe}\n| fieldsAdd threshold = if(arrayAvg(arrayRemoveNulls(status)) >= toDouble($Target),1,else:0)\n| fields status = arrayAvg(arrayRemoveNulls(status)), status_value = status, budget = arrayAvg(arrayRemoveNulls(budget)),budget_value=budget,threshold,interval, timeframe\n// // | fields status = arrayRemoveNulls(status), interval, timeframe\n\n// | fieldsAdd value = arrayAvg(status) \n// | fields value, status, threshold, interval, timeframe", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "threshold", + "title": "Test", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-categorical-color-13-default, #1c520a)" + }, + "comparator": "=", + "label": "Good", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "Bad", + "value": 0 + } + ] + }, + { + "id": 2, + "field": "budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": "≥", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "connect", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["status", "budget", "threshold", "interval"], + "categoryAxisLabel": "status,budget,threshold,interval", + "valueAxis": ["status", "budget", "threshold"], + "valueAxisLabel": "status,budget,threshold", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": false, + "label": "Service request response time", + "max": 150, + "scale": "linear" + }, + "legend": { "hidden": true }, + "tooltip": { "variant": "single" }, + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["status_value", "budget_value"] + }, + "bandChartSettings": { + "lower": "status_value", + "upper": "budget_value", + "time": "timeframe" + } + }, + "singleValue": { + "showLabel": false, + "prefixIcon": "", + "autoscale": true, + "alignment": "center", + "trend": { "trendType": "auto", "isVisible": true }, + "colorThresholdTarget": "background", + "recordField": "value", + "label": "dt.entity.service" + }, + "table": { + "rowDensity": "comfortable", + "enableSparklines": false, + "hiddenColumns": [ + ["status_value"], + ["budget_value"], + ["threshold"], + ["interval"], + ["timeframe"] + ], + "linewrapEnabled": false, + "lineWrapIds": [], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"status_value\"]": 116.72221374511719, + "[\"status\"]": 157.50694274902344 + }, + "columnTypeOverrides": [ + { + "fields": ["status_value", "budget_value"], + "value": "sparkline", + "id": 1736865813193 + } + ], + "colorThresholdTarget": "background", + "enableThresholdInRow": true, + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "status", "rangeAxis": "" }, + { "valueAxis": "budget", "rangeAxis": "" }, + { "valueAxis": "threshold", "rangeAxis": "" }, + { "valueAxis": "interval", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "recordView": { "fieldsWidth": 203.49 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "28": { + "type": "data", + "title": "", + "query": "timeseries min = min(dt.service.request.response_time),\nmax = max(dt.service.request.response_time),\navg = avg(dt.service.request.response_time),\nmedian = median(dt.service.request.response_time),\nperc75 = percentile(dt.service.request.response_time,75)\n,perc90 = percentile(dt.service.request.response_time,90)\n,perc95 = percentile(dt.service.request.response_time,95)\n,perc99 = percentile(dt.service.request.response_time,99)\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize avg = avg(avg[]), max = avg(max[]),\nmin = avg(min[]), median = avg(median[]),\nperc75 = avg(perc75[]), perc90 = avg(perc90[]),\nperc95 = avg(perc95[]), perc99 = avg(perc99[])\n, by: { timeframe, interval}\n| fieldsAdd metric1 = (min[] + max[])/2\n| fieldsAdd metric2 = (perc75[] + perc90[] + perc95[] + perc99[])/4\n| fieldsAdd metric3 = (avg[] + median[])/2\n| fieldsAdd metric = (metric1[] + metric2[] + metric3[])/3\n| fields min = arrayAvg(min), median = arrayAvg(median),\navg = arrayAvg(avg), \nperc75 = arrayAvg(perc75), perc90 = arrayAvg(perc90),\nperc95 = arrayAvg(perc95), perc99 = arrayAvg(perc99),\nmax = arrayAvg(max)\n", + "davis": { + "enabled": false, + "davisVisualization": { "isAvailable": true } + }, + "visualization": "table", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "thresholdmin", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 2, + "field": "thresholdmedian", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 3, + "field": "thresholdavg", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 4, + "field": "thresholdperc75", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 5, + "field": "thresholdperc90", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 6, + "field": "thresholdperc95", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 7, + "field": "thresholdperc99", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 8, + "field": "thresholdmax", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": [ + "min", + "median", + "avg", + "perc75", + "perc90", + "perc95", + "perc99", + "max" + ], + "categoryAxisLabel": "min,median,avg,perc75,perc90,perc95,perc99,max", + "valueAxis": [ + "min", + "median", + "avg", + "perc75", + "perc90", + "perc95", + "perc99", + "max" + ], + "valueAxisLabel": "min,median,avg,perc75,perc90,perc95,perc99,max", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "comfortable", + "enableSparklines": false, + "hiddenColumns": [], + "linewrapEnabled": true, + "lineWrapIds": [ + ["min"], + ["median"], + ["avg"], + ["perc75"], + ["perc90"], + ["perc95"], + ["perc99"], + ["max"] + ], + "monospacedFontEnabled": false, + "monospacedFontColumns": [ + ["avg"], + ["max"], + ["min"], + ["median"], + ["perc75"], + ["perc90"], + ["perc95"], + ["perc99"] + ], + "columnWidths": { + "[\"metric3\"]": 144.75057983398438, + "[\"metric2\"]": 132.75057983398438, + "[\"timeframe\",\"start\"]": 88.45428466796875, + "[\"timeframe\",\"end\"]": 88.45428466796875, + "[\"interval\"]": 45.27430725097656, + "[\"avg\"]": 100.4646987915039, + "[\"max\"]": 116.61515808105469, + "[\"min\"]": 96.28761291503906, + "[\"median\"]": 113.43576049804688, + "[\"perc99\"]": 123.01388549804688, + "[\"perc95\"]": 106.01388549804688, + "[\"perc90\"]": 126.01388549804688, + "[\"perc75\"]": 113.01388549804688 + }, + "columnTypeOverrides": [], + "colorThresholdTarget": "background", + "enableThresholdInRow": false, + "selectedColumnForRowThreshold": "thresholdmin" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": [], + "dataMappings": {}, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [ + { "valueAxis": "min", "rangeAxis": "" }, + { "valueAxis": "median", "rangeAxis": "" }, + { "valueAxis": "avg", "rangeAxis": "" }, + { "valueAxis": "perc75", "rangeAxis": "" }, + { "valueAxis": "perc90", "rangeAxis": "" }, + { "valueAxis": "perc95", "rangeAxis": "" }, + { "valueAxis": "perc99", "rangeAxis": "" }, + { "valueAxis": "max", "rangeAxis": "" } + ], + "variant": "single", + "truncationMode": "middle", + "displayedFields": [] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "metric", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941491874 + }, + { + "identifier": "value", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1733941499055 + } + ], + "recordView": { "fieldsWidth": 242.76 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "31": { + "type": "data", + "title": "Davis Auto-Baseline Performance Insights by Service", + "query": "timeseries {avg = avg(dt.service.request.response_time)}\n, by:{dt.entity.service}\n, interval:1m\n// , filter:{if(toBoolean($MZ_Override),in(entityAttr(dt.entity.service,\"managementZones\"),$App),\n// else:if($Service != \"\",matchesPhrase(entityName(dt.entity.service),$Service),else:false))}\n, filter: {if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0,\n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )}\n| fieldsAdd name = entityName(dt.entity.service)", + "davis": { + "enabled": true, + "componentState": { + "selectedAnalyzerName": "dt.statistics.ui.anomaly_detection.AutoAdaptiveAnomalyDetectionAnalyzer", + "inputData": { + "dt.statistics.ui.anomaly_detection.AutoAdaptiveAnomalyDetectionAnalyzer": { + "generalParameters": { + "timeframe": { + "startTime": "2025-01-07T20:18:00.000Z", + "endTime": "2025-01-14T20:18:00.000Z" + }, + "resolveDimensionalQueryData": true, + "logVerbosity": "INFO" + }, + "numberOfSignalFluctuations": 1, + "alertCondition": "ABOVE", + "alertOnMissingData": false, + "violatingSamples": 3, + "slidingWindow": 5, + "dealertingSamples": 5, + "query": "timeseries {avg = avg(dt.service.request.response_time)}\n, by:{dt.entity.service}\n, interval:1m\n// , filter:{if(toBoolean($MZ_Override),in(entityAttr(dt.entity.service,\"managementZones\"),$App),\n// else:if($Service != \"\",matchesPhrase(entityName(dt.entity.service),$Service),else:false))}\n, filter: {if(toBoolean(\"true\"), \n if(stringLength(\"\") > 0,\n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, \"\"), \n else:\n matchesPhrase(endpoint.name, \"\")\n ), \n else: \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), \"Cloud: AWS\"), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), \"Cloud: AWS\")\n )\n ), \n else: \n if(stringLength(\"\") > 0, \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, \"\"), \n else: \n matchesPhrase(endpoint.name, \"\")\n ), \n else: \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), \"\"), \n else: \n matchesPhrase(entityName(dt.entity.service), \"\")\n )\n )\n )}\n| fieldsAdd name = entityName(dt.entity.service)" + } + } + }, + "davisVisualization": { + "isAvailable": true, + "selectedOutputs": [ + "1112848820", + "886519930", + "1039399041", + "1194693316", + "856224669", + "620787884", + "-1608067782", + "724517224", + "311079573", + "1859179492", + "1781420580", + "-1602617846", + "-270017229", + "1717490352", + "605043999", + "-2069792029", + "1699865599", + "-1531208183", + "-812171667", + "1711080058", + "1838979663", + "500380041", + "-1215404862", + "794878060", + "-877139433", + "608995741", + "859955021", + "-1280784085", + "532647203", + "-1684488583", + "-1640699086", + "-1429786988", + "1781440141", + "1551855039", + "-1592667407", + "293563444", + "1419246682", + "1670333511", + "414072613", + "119309663", + "363024507", + "-1208842415", + "567906074", + "315229465", + "-1745684720", + "680480560", + "-758118413", + "2141601342", + "-1765821959", + "-1778803593", + "-1326400000", + "-1226097255", + "1789458622", + "-973849942", + "-958705998", + "62963150", + "-2109091309", + "1076593879", + "1101223119", + "1965241637", + "1506298235", + "-1908304831", + "-358252863", + "1303266503", + "-1768412591", + "-80352131", + "1314685435", + "780749804", + "142589561", + "-1329927757", + "1657044500", + "-1975157793", + "1028381093", + "-2079066595", + "109668434", + "-1603416454", + "-1978066005", + "-1276497849", + "290451908", + "-1688162265", + "1361026578", + "808206824", + "546162722", + "-1875374191", + "-296261742", + "-62878163", + "99492045", + "-912506521", + "-1834776329", + "831879074", + "36657217", + "2057309994", + "303849932", + "-499233512", + "-1949234859", + "1234739005", + "41323947", + "1799628998", + "52168071", + "-250569415", + "1693933166", + "537628938", + "1505711987", + "542154746", + "-1800668216", + "2104521094", + "-1874600475", + "475967086", + "-450932525", + "1443481382", + "-288121993", + "-147198692" + ] + } + }, + "visualization": "davis", + "visualizationSettings": { + "thresholds": [ + { + "id": 1, + "field": "threshold", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 5, + "field": "Perf Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 0.1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": ">", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["dt.entity.service"], + "categoryAxisLabel": "dt.entity.service", + "valueAxis": ["interval"], + "valueAxisLabel": "interval", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + }, + "bandChartSettings": { + "lower": "avg", + "upper": "median", + "time": "timeframe" + }, + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["avg", "median"] + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": false, + "lineWrapIds": [ + ["Name"], + ["Perf SLO"], + ["Perf Budget"], + ["AVG"], + ["dt.entity.service"] + ], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"entity.name\"]": 190.08593750000003, + "[\"Name\"]": 195.20834350585938, + "[\"Status\"]": 104.09375, + "[\"dt.entity.service\"]": 75.11175537109375, + "[\"Remaining_error_budget\"]": 136.03030395507812, + "[\"SLO\"]": 74.71780395507812, + "[\"Budget\"]": 103.38068389892578 + }, + "columnTypeOverrides": [], + "enableThresholdInRow": true, + "sortBy": { "columnId": "[\"Perf SLO\"]", "direction": "ascending" }, + "colorThresholdTarget": "background", + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["dt.entity.service"], + "dataMappings": { "value": "dt.entity.service" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [{ "valueAxis": "interval", "rangeAxis": "" }], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["dt.entity.service"] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "AVG", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1734046759478 + } + ], + "recordView": { "fieldsWidth": 200.67 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "32": { + "type": "data", + "title": "Davis Auto-Baseline Availability Insights by Service", + "query": "timeseries \ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval,dt.entity.service} \n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability = ((availability_good[])/total[])*(100)\n| fieldsAdd name = entityName(dt.entity.service)\n| fields name, dt.entity.service, availability, interval, timeframe\n// | fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n// | fieldsAdd avail_rate_consumed = (1 - (arrayAvg(availability_sli)/100))\n// | fieldsAdd threshold = if(arrayAvg(availability_sli) >= toDouble($Target),1,else:0)\n// | fields `Name` = entityName(dt.entity.service),\n// `Avail SLO` = arrayAvg(availability_sli), `Avail Budget` = (Error_budget - avail_rate_consumed) * 100,\n// `Successful Requests` = arraySum(availability_good), `Failed Requests` = arraySum(failures),dt.entity.service, threshold\n// | fieldsAdd link = concat(\"[mda]\",\"(\",$MDA,\")\")\n// | fieldsAdd link = replaceString(link,\"{{`{{SERVICE_ID}}`}}\",dt.entity.service)\n// | fieldsAdd link = replaceString(link,\"{{`{{METRIC}}`}}\",\"FAILURE_RATE\")\n// | fieldsAdd link = replaceString(link,\"{{`{{FROM}}`}}\",toString($dt_timeframe_from))\n// | fieldsAdd link = replaceString(link,\"{{`{{TO}}`}}\",toString($dt_timeframe_to))\n// | sort `Avail SLO` asc", + "davis": { + "enabled": true, + "componentState": { + "selectedAnalyzerName": "dt.statistics.ui.anomaly_detection.AutoAdaptiveAnomalyDetectionAnalyzer", + "inputData": { + "dt.statistics.ui.anomaly_detection.AutoAdaptiveAnomalyDetectionAnalyzer": { + "generalParameters": { + "timeframe": { + "startTime": "2025-01-07T20:18:00.000Z", + "endTime": "2025-01-14T20:18:00.000Z" + }, + "resolveDimensionalQueryData": true, + "logVerbosity": "INFO" + }, + "numberOfSignalFluctuations": 1, + "alertCondition": "BELOW", + "alertOnMissingData": false, + "violatingSamples": 3, + "slidingWindow": 5, + "dealertingSamples": 5, + "query": "timeseries \ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean(\"true\"), \n if(stringLength(\"\") > 0, \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, \"\"), \n else:\n matchesPhrase(endpoint.name, \"\")\n ), \n else: \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), \"Cloud: AWS\"), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), \"Cloud: AWS\")\n )\n ), \n else: \n if(stringLength(\"\") > 0, \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, \"\"), \n else: \n matchesPhrase(endpoint.name, \"\")\n ), \n else: \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), \"\"), \n else: \n matchesPhrase(entityName(dt.entity.service), \"\")\n )\n )\n )\n}\n| summarize total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval,dt.entity.service} \n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability = ((availability_good[])/total[])*(100)\n| fieldsAdd name = entityName(dt.entity.service)\n| fields name, dt.entity.service, availability, interval, timeframe\n// | fieldsAdd Error_budget = (1 - (toDouble($Target)/100))\n// | fieldsAdd avail_rate_consumed = (1 - (arrayAvg(availability_sli)/100))\n// | fieldsAdd threshold = if(arrayAvg(availability_sli) >= toDouble($Target),1,else:0)\n// | fields `Name` = entityName(dt.entity.service),\n// `Avail SLO` = arrayAvg(availability_sli), `Avail Budget` = (Error_budget - avail_rate_consumed) * 100,\n// `Successful Requests` = arraySum(availability_good), `Failed Requests` = arraySum(failures),dt.entity.service, threshold\n// | fieldsAdd link = concat(\"[mda]\",\"(\",$MDA,\")\")\n// | fieldsAdd link = replaceString(link,\"{{`{{SERVICE_ID}}`}}\",dt.entity.service)\n// | fieldsAdd link = replaceString(link,\"{{`{{METRIC}}`}}\",\"FAILURE_RATE\")\n// | fieldsAdd link = replaceString(link,\"{{`{{FROM}}`}}\",toString($dt_timeframe_from))\n// | fieldsAdd link = replaceString(link,\"{{`{{TO}}`}}\",toString($dt_timeframe_to))\n// | sort `Avail SLO` asc" + } + } + }, + "davisVisualization": { + "isAvailable": true, + "selectedOutputs": ["1837543844"] + } + }, + "visualization": "davis", + "visualizationSettings": { + "thresholds": [ + { + "id": 4, + "field": "threshold", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 6, + "field": "Avail Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 0.1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": ">", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["name", "dt.entity.service"], + "categoryAxisLabel": "name,dt.entity.service", + "valueAxis": ["interval"], + "valueAxisLabel": "interval", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + }, + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["availability"] + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": false, + "lineWrapIds": [ + ["Name"], + ["Avail SLO"], + ["Avail Budget"], + ["dt.entity.service"] + ], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"entity.name\"]": 190.08593750000003, + "[\"Name\"]": 166.20834350585938, + "[\"Status\"]": 104.09375, + "[\"dt.entity.service\"]": 75.11175537109375, + "[\"Remaining_error_budget\"]": 136.03030395507812, + "[\"SLO\"]": 74.71780395507812, + "[\"Budget\"]": 103.38068389892578 + }, + "columnTypeOverrides": [ + { + "fields": ["availability"], + "value": "sparkline", + "id": 1736866459665 + } + ], + "enableThresholdInRow": true, + "sortBy": { "columnId": "[\"Avail SLO\"]", "direction": "ascending" }, + "colorThresholdTarget": "background", + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["name", "dt.entity.service"], + "dataMappings": { "value": "name" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [{ "valueAxis": "interval", "rangeAxis": "" }], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["name"] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "AVG", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1734046759478 + } + ], + "recordView": { "fieldsWidth": 200.67 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "33": { + "type": "data", + "title": "Davis Auto-Baseline Performance Insights by Endpoint", + "query": "timeseries avg = avg(dt.service.request.response_time)\n, by:{endpoint.name,dt.entity.service}\n, interval:1m\n, filter: {if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )}\n| fieldsAdd name = entityName(dt.entity.service)", + "davis": { + "enabled": true, + "componentState": { + "selectedAnalyzerName": "dt.statistics.ui.anomaly_detection.AutoAdaptiveAnomalyDetectionAnalyzer", + "inputData": { + "dt.statistics.ui.anomaly_detection.AutoAdaptiveAnomalyDetectionAnalyzer": { + "generalParameters": { + "timeframe": { + "startTime": "2025-01-07T20:18:00.000Z", + "endTime": "2025-01-14T20:18:00.000Z" + }, + "resolveDimensionalQueryData": true, + "logVerbosity": "INFO" + }, + "numberOfSignalFluctuations": 1, + "alertCondition": "ABOVE", + "alertOnMissingData": false, + "violatingSamples": 3, + "slidingWindow": 5, + "dealertingSamples": 5, + "query": "timeseries avg = avg(dt.service.request.response_time)\n, by:{endpoint.name,dt.entity.service}\n, interval:1m\n, filter: {if(toBoolean(\"true\"), \n if(stringLength(\"\") > 0, \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, \"\"), \n else:\n matchesPhrase(endpoint.name, \"\")\n ), \n else: \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), \"Cloud: AWS\"), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), \"Cloud: AWS\")\n )\n ), \n else: \n if(stringLength(\"\") > 0, \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, \"\"), \n else: \n matchesPhrase(endpoint.name, \"\")\n ), \n else: \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), \"\"), \n else: \n matchesPhrase(entityName(dt.entity.service), \"\")\n )\n )\n )}\n| fieldsAdd name = entityName(dt.entity.service)" + } + } + }, + "davisVisualization": { + "isAvailable": true, + "selectedOutputs": [ + "1850082858", + "-483892828", + "-57791427", + "404886298", + "36273057", + "2094015538", + "-1287811868", + "-1705393674", + "-1273128535", + "1205747194", + "351147962", + "1312240148", + "1340406347", + "1501588398", + "183513823", + "-1449853285", + "804134911", + "693262773", + "-461062447", + "442390436", + "-1187428433", + "-1915349451", + "-58093476", + "-175594382", + "-519593241", + "1024337313", + "1260876273", + "-1708995757", + "1266402395", + "-536222907", + "-682757140", + "2104517962", + "-2020054351", + "-969523649", + "-839205939", + "-1817558102", + "-1968565820", + "1199348407", + "-1719778535", + "-1005780321", + "1348764163", + "1450355565", + "727287556", + "-1004136283", + "-1693521074", + "-1472553170", + "-760817781", + "712664416", + "-2059255867", + "-1274162041", + "433077854", + "1202974621", + "-557212960", + "1597419892", + "-816783252", + "-1599652912", + "-756033173", + "1997017127", + "-972784337", + "146115865", + "-141235965", + "397211773", + "-242418179", + "278514231", + "1318201453", + "-529869119", + "242344067", + "-242448142", + "-775756987", + "477273547", + "-1101732406", + "262962207", + "-1354327911", + "457926945", + "1424450252", + "-1428550748", + "224225491", + "282734263", + "1035162650", + "-422042669", + "413619468", + "-338103946", + "-978554628", + "1439578925", + "988748684", + "554391313", + "1172815985", + "-930248297", + "-698836985", + "-160788100", + "1539880061", + "1291226356", + "1946855186", + "1942853702", + "1903282921", + "-1956303871", + "922400467", + "2094673368", + "-708947593", + "-1585476475", + "-1368402128", + "-1436238060", + "-816228341", + "1280952868", + "1711795094", + "-764203752", + "-973198247", + "122062640", + "1696850603", + "1349841784", + "498824583", + "2032851394", + "-1614603296" + ] + } + }, + "visualization": "davis", + "visualizationSettings": { + "thresholds": [ + { + "id": 3, + "field": "threshold", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 5, + "field": "Perf Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 0.1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": ">", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["endpoint.name", "dt.entity.service", "name"], + "categoryAxisLabel": "endpoint.name,dt.entity.service,name", + "valueAxis": ["interval"], + "valueAxisLabel": "interval", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + }, + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["avg"] + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": false, + "lineWrapIds": [ + ["Endpoint"], + ["Perf SLO"], + ["Perf Budget"], + ["AVG"], + ["dt.entity.service"] + ], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"entity.name\"]": 190.08593750000003, + "[\"endpoint.name\"]": 300.4583435058594, + "[\"Endpoint\"]": 175.58334350585938 + }, + "columnTypeOverrides": [ + { "fields": ["avg"], "value": "sparkline", "id": 1736866920186 } + ], + "enableThresholdInRow": true, + "sortBy": { "columnId": "[\"Perf SLO\"]", "direction": "ascending" }, + "colorThresholdTarget": "background", + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["endpoint.name", "dt.entity.service", "name"], + "dataMappings": { "value": "endpoint.name" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [{ "valueAxis": "interval", "rangeAxis": "" }], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["dt.entity.service"] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "AVG", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1734017015396 + } + ], + "recordView": { "fieldsWidth": 200.67 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + }, + "34": { + "type": "data", + "title": "Davis Auto-Baseline Availability Insights by Endpoint", + "query": "timeseries \ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean($MZ_Override), \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else:\n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), $App), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), $App)\n )\n ), \n else: \n if(stringLength($Endpoint) > 0, \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, $Endpoint), \n else: \n matchesPhrase(endpoint.name, $Endpoint)\n ), \n else: \n if(toBoolean($Entrypoint), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), $Service), \n else: \n matchesPhrase(entityName(dt.entity.service), $Service)\n )\n )\n )\n}\n| summarize total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval,endpoint.name,dt.entity.service} \n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability = ((availability_good[])/total[])*(100)\n| fieldsAdd name = entityName(dt.entity.service)\n| fields endpoint.name, name, dt.entity.service, availability, interval, timeframe", + "davis": { + "enabled": true, + "componentState": { + "selectedAnalyzerName": "dt.statistics.ui.anomaly_detection.AutoAdaptiveAnomalyDetectionAnalyzer", + "inputData": { + "dt.statistics.ui.anomaly_detection.AutoAdaptiveAnomalyDetectionAnalyzer": { + "generalParameters": { + "timeframe": { + "startTime": "2025-01-07T20:18:00.000Z", + "endTime": "2025-01-14T20:18:00.000Z" + }, + "resolveDimensionalQueryData": true, + "logVerbosity": "INFO" + }, + "numberOfSignalFluctuations": 1, + "alertCondition": "BELOW", + "alertOnMissingData": false, + "violatingSamples": 3, + "slidingWindow": 5, + "dealertingSamples": 5, + "query": "timeseries \ntotal = sum(dt.service.request.count)\n,failures=sum(dt.service.request.failure_count)\n, interval:1m\n, by:{dt.entity.service,endpoint.name}\n, filter:{\n if(toBoolean(\"true\"), \n if(stringLength(\"\") > 0, \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, \"\"), \n else:\n matchesPhrase(endpoint.name, \"\")\n ), \n else: \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and in(entityAttr(dt.entity.service, \"managementZones\"), \"Cloud: AWS\"), \n else: \n in(entityAttr(dt.entity.service, \"managementZones\"), \"Cloud: AWS\")\n )\n ), \n else: \n if(stringLength(\"\") > 0, \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(endpoint.name, \"\"), \n else: \n matchesPhrase(endpoint.name, \"\")\n ), \n else: \n if(toBoolean(\"false\"), \n isNull(entityAttr(dt.entity.service, \"called_by\")) \n and isNotNull(entityAttr(dt.entity.service, \"calls\")) \n and isNull(entityAttr(dt.entity.service, \"databaseHostNames\")) \n and not(in(entityAttr(dt.entity.service, \"serviceType\"), \"RMI_SERVICE\",\"BACKGROUND_ACTIVITY\", \"QUEUE_LISTENER_SERVICE\", \"RPC_SERVICE\")) \n and matchesPhrase(entityName(dt.entity.service), \"\"), \n else: \n matchesPhrase(entityName(dt.entity.service), \"\")\n )\n )\n )\n}\n| summarize total = sum(total[]), failures = sum(failures[])\n,by:{timeframe,interval,endpoint.name,dt.entity.service} \n//Availability SLI\n| fieldsAdd availability_good = total[]-failures[]\n| fieldsAdd availability = ((availability_good[])/total[])*(100)\n| fieldsAdd name = entityName(dt.entity.service)\n| fields endpoint.name, name, dt.entity.service, availability, interval, timeframe" + } + } + }, + "davisVisualization": { + "isAvailable": true, + "selectedOutputs": [ + "557915797", + "-1865085861", + "741809634", + "1158455205", + "1536483070", + "193218957", + "1891404059", + "716564553", + "-642905610", + "-710758203", + "-1049899259", + "1100069355", + "-1364443244", + "650554769", + "2067099008", + "-1212934844", + "700466272", + "-2025678998", + "-168152626", + "938727003", + "126796464", + "-1712657686", + "1001450659", + "-1397223091", + "1388807800", + "-431000322", + "-924908882", + "817174412", + "-1817196668", + "625266650", + "226200339", + "1266664309", + "-417734162", + "-770298336", + "-1546973102", + "1896485141", + "-781746117", + "1185175720", + "1545404038", + "-618244672", + "478013148", + "-273238862", + "682095355", + "-258038150", + "-503463439", + "-1886492143", + "772754004", + "-1476035553", + "1751941978", + "1125066968", + "-2136940319", + "1130934142", + "-1246071137", + "-367294837", + "-793071981", + "-1475681361", + "2040161396", + "-733085384", + "-2008564432", + "1433990278", + "399597532", + "1264196002", + "560481314", + "245668136", + "-2035034190", + "-1697118242", + "-112011172", + "294468813", + "330026970", + "-1736537068", + "-1469852939", + "228035648", + "-828581626", + "436609406", + "450943027", + "-1520262565", + "-304895476", + "726484136", + "2018803365", + "1189835912", + "-1655869965", + "-1198249783", + "-1984905213", + "1140907250", + "220002163", + "498786702", + "1800340526", + "-16636472", + "703092056", + "-1584451709", + "1689378210", + "-71656693", + "-1589706067", + "-31052807", + "-69386058", + "503945886", + "-1521607668", + "1934867111", + "-1627112984", + "-981889382", + "-1370811313", + "-1152201493", + "921000404", + "-378457125", + "332173993", + "583394151", + "-1194361530", + "1677354063", + "-918764748", + "1055738119", + "-1675188264", + "-1430989315", + "-1726694693" + ] + } + }, + "visualization": "davis", + "visualizationSettings": { + "thresholds": [ + { + "id": 4, + "field": "threshold", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "=", + "label": "", + "value": 1 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "=", + "label": "", + "value": 0 + } + ] + }, + { + "id": 6, + "field": "Avail Budget", + "title": "", + "isEnabled": true, + "rules": [ + { + "id": 0, + "color": { + "Default": "var(--dt-colors-charts-status-ideal-default, #2f6863)" + }, + "comparator": "≥", + "label": "", + "value": 0.1 + }, + { + "id": 1, + "color": { + "Default": "var(--dt-colors-charts-status-warning-default, #eca440)" + }, + "comparator": ">", + "label": "", + "value": 0 + }, + { + "id": 2, + "color": { + "Default": "var(--dt-colors-charts-status-critical-default, #c4233b)" + }, + "comparator": "<", + "label": "", + "value": 0 + } + ] + } + ], + "chartSettings": { + "xAxisScaling": "analyzedTimeframe", + "gapPolicy": "gap", + "circleChartSettings": { + "groupingThresholdType": "relative", + "groupingThresholdValue": 0, + "valueType": "relative" + }, + "categoryOverrides": {}, + "curve": "linear", + "pointsDisplay": "auto", + "categoricalBarChartSettings": { + "layout": "horizontal", + "categoryAxisTickLayout": "horizontal", + "scale": "absolute", + "groupMode": "stacked", + "colorPaletteMode": "multi-color", + "categoryAxis": ["endpoint.name", "name", "dt.entity.service"], + "categoryAxisLabel": "endpoint.name,name,dt.entity.service", + "valueAxis": ["interval"], + "valueAxisLabel": "interval", + "tooltipVariant": "single" + }, + "colorPalette": "categorical", + "valueRepresentation": "absolute", + "truncationMode": "middle", + "xAxisLabel": "timeframe", + "xAxisIsLabelVisible": false, + "hiddenLegendFields": [], + "leftYAxisSettings": { + "isLabelVisible": true, + "label": "Service request count" + }, + "fieldMapping": { + "timestamp": "timeframe", + "leftAxisValues": ["availability"] + } + }, + "singleValue": { + "showLabel": false, + "label": "Name", + "prefixIcon": "", + "recordField": "value", + "autoscale": true, + "alignment": "center", + "trend": { + "trendType": "auto", + "isVisible": true, + "isLabelVisible": false, + "isRelative": true, + "downward": { + "Default": "var(--dt-colors-charts-apdex-good-default, #1c520a)" + }, + "upward": { + "Default": "var(--dt-colors-charts-loglevel-emergency-default, #ae132d)" + } + }, + "colorThresholdTarget": "value", + "sparklineSettings": { + "showTicks": true, + "lineType": "linear", + "variant": "line" + } + }, + "table": { + "rowDensity": "condensed", + "enableSparklines": false, + "hiddenColumns": [["threshold"]], + "linewrapEnabled": false, + "lineWrapIds": [ + ["Endpoint"], + ["Avail SLO"], + ["Avail Budget"], + ["dt.entity.service"] + ], + "monospacedFontEnabled": false, + "monospacedFontColumns": [], + "columnWidths": { + "[\"entity.name\"]": 190.08593750000003, + "[\"endpoint.name\"]": 300.4583435058594, + "[\"Endpoint\"]": 139.58334350585938 + }, + "columnTypeOverrides": [ + { + "fields": ["availability"], + "value": "sparkline", + "id": 1736867103496 + } + ], + "enableThresholdInRow": true, + "sortBy": { "columnId": "[\"Avail SLO\"]", "direction": "ascending" }, + "colorThresholdTarget": "background", + "selectedColumnForRowThreshold": "threshold" + }, + "honeycomb": { + "shape": "hexagon", + "legend": { "hidden": false, "position": "auto" }, + "displayedFields": ["endpoint.name", "name", "dt.entity.service"], + "dataMappings": { "value": "endpoint.name" }, + "truncationMode": "middle", + "colorMode": "color-palette", + "colorPalette": "categorical" + }, + "histogram": { + "legend": "auto", + "yAxis": { "label": "Frequency", "scale": "linear" }, + "colorPalette": "categorical", + "dataMappings": [{ "valueAxis": "interval", "rangeAxis": "" }], + "variant": "single", + "truncationMode": "middle", + "displayedFields": ["dt.entity.service"] + }, + "autoSelectVisualization": false, + "unitsOverrides": [ + { + "identifier": "AVG", + "unitCategory": "time", + "baseUnit": "microsecond", + "displayUnit": null, + "decimals": 2, + "suffix": "", + "delimiter": false, + "added": 1734017015396 + } + ], + "recordView": { "fieldsWidth": 200.67 } + }, + "querySettings": { + "maxResultRecords": 1000, + "defaultScanLimitGbytes": 500, + "maxResultMegaBytes": 1, + "defaultSamplingRatio": 10, + "enableSampling": false + } + } + }, + "layouts": { + "7": { "x": 6, "y": 3, "w": 5, "h": 2 }, + "11": { "x": 0, "y": 3, "w": 6, "h": 4 }, + "14": { "x": 22, "y": 0, "w": 2, "h": 3 }, + "15": { "x": 20, "y": 0, "w": 2, "h": 3 }, + "16": { "x": 18, "y": 0, "w": 2, "h": 3 }, + "17": { "x": 16, "y": 0, "w": 2, "h": 3 }, + "18": { "x": 6, "y": 5, "w": 5, "h": 2 }, + "21": { "x": 12, "y": 7, "w": 6, "h": 4 }, + "22": { "x": 18, "y": 7, "w": 6, "h": 4 }, + "23": { "x": 6, "y": 7, "w": 6, "h": 4 }, + "24": { "x": 0, "y": 7, "w": 6, "h": 4 }, + "25": { "x": 0, "y": 0, "w": 6, "h": 3 }, + "26": { "x": 11, "y": 0, "w": 5, "h": 3 }, + "27": { "x": 6, "y": 0, "w": 5, "h": 3 }, + "28": { "x": 11, "y": 3, "w": 13, "h": 4 }, + "31": { "x": 0, "y": 11, "w": 6, "h": 9 }, + "32": { "x": 6, "y": 11, "w": 6, "h": 9 }, + "33": { "x": 12, "y": 11, "w": 6, "h": 9 }, + "34": { "x": 18, "y": 11, "w": 6, "h": 9 } + }, + "importedWithCode": false, + "settings": { "gridLayout": { "mode": "responsive" } } +} diff --git a/dashboards/manifest.yaml b/dashboards/manifest.yaml new file mode 100644 index 0000000..cacfbe5 --- /dev/null +++ b/dashboards/manifest.yaml @@ -0,0 +1,19 @@ +manifestVersion: 1.0 +projects: + - name: executive-service-slo-dashboard + path: executive-service-slo-dashboard + +environmentGroups: + - name: default + environments: + - name: DT_ENV_ID + url: + value: DT_ENV_URL + auth: + token: + name: API_TOKEN + oAuth: + clientId: + name: CLIENT_ID + clientSecret: + name: CLIENT_SECRET \ No newline at end of file From 3cf59a0b0b2ffafdfa24500e2563d21a936b12ce Mon Sep 17 00:00:00 2001 From: "Zenuni, Arijan" Date: Mon, 20 Jan 2025 10:01:53 -0800 Subject: [PATCH 2/3] docs: added images --- dashboards/README.md | 2 ++ dashboards/images/executive_sre_overview.png | Bin 0 -> 159116 bytes dashboards/images/sli_evaluator.png | Bin 0 -> 366503 bytes 3 files changed, 2 insertions(+) create mode 100644 dashboards/images/executive_sre_overview.png create mode 100644 dashboards/images/sli_evaluator.png diff --git a/dashboards/README.md b/dashboards/README.md index 9246af8..c7282a2 100644 --- a/dashboards/README.md +++ b/dashboards/README.md @@ -17,8 +17,10 @@ The Executive Service SLO Dashboard is a comprehensive set of dashboards aimed a - Replace the `DT_ENV_URL` in the config.yaml > executive-dashboard config. 1. **Executive Overview Dashboard**: This dashboard aggregates SLO calculations by application, offering a high-level view of the overall performance and reliability of your services. It helps executives and stakeholders quickly understand how well the services are meeting their defined objectives. +![Executive Dashboard](/images/executive_sre_overview.png?raw=true) 2. **SLI Threshold Evaluation Dashboard**: This dashboard provides a more granular view of the SLO calculations, breaking down the performance and availability indicators for each service. It allows for a detailed analysis of how different SLI thresholds impact the overall SLO targets, helping teams identify areas for improvement and optimization. +![SLI Dashboard](/images/sli_evaluator.png?raw=true) By using these dashboards, you can effectively monitor and manage the performance and reliability of your services, ensuring that they meet the defined SLO targets and provide a high-quality experience for your users. diff --git a/dashboards/images/executive_sre_overview.png b/dashboards/images/executive_sre_overview.png new file mode 100644 index 0000000000000000000000000000000000000000..f2164b6ffaff3230e23417edb561a4f10c12f4e8 GIT binary patch literal 159116 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 Pe|vU1**)HVLkL literal 0 HcmV?d00001 diff --git a/dashboards/images/sli_evaluator.png b/dashboards/images/sli_evaluator.png new file mode 100644 index 0000000000000000000000000000000000000000..11c6bd49ec87cc5436272e1fa3f73f2ac1e6dab4 GIT binary patch literal 366503 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

{S%x6Q|$!#MG(@Al7yjL*)u z`1x0Ma~S9s^NG>dw3kXvAcuW=suM|!DQZKv!y$=Jit?Y2&1P?FZ_pV$w3SNGf%~jC z3(oT$`^*m5i(rmmSTy{|1=|I@P>QG9R8|I=Iug4aA+owXj+VNM`ySOcWPeP@u%1imF#chh}G=Sj)mTxtIXZLHOHt{ zzz4y2>dog*#CY=#f2|N358-|xaV_pEVrh@RJPsO-M7US_XIn3A8Dcgzr&09=OXpWJ zJKdSjkIz!T9c+`3ONMH%`G5&}DL~Y6b+mVWe`#yUzsOS&)qCiAe{Y7qHqy!=r>7U%ZXIaEAfyyU2qh zyM-;;=4{I6O6Xu-v9+#@xVqYnP0B&|{_0{~L<-ij_r2`5E%aOUsYS|yA@})U_v0}M zd+c{z0S}%=&yfv!heKb z6qvU{m(F>!hXw{l7V~G5ZaMpyceZ#`ld*`3;=liqygbiiNGt8ZE%xi*7XA|tSKo1QOY(~8pCL$;- zD#^&i27Oh4CszEn(re#;pI-csoNGFVLg5l~=uMB>is>X?zU20gK0=j~9?!>men6*qIRy%eHQtM9r`07%lXme3{N`C6@ zr|W80LTN}$_g~RVNq=k+bf^%E@5t=?Lb;mVC#sSjx*>h-RIg-Awl0_mn5m6&IKr8H zlMyT+@CyZZ`tGH|-t^qVbMy)@HS9aC^Rx(2rj_(gdt?pR(A04``|67#)dcj6L&=kL z`G)(D0jn0wsO!sPzv!P9815EUua|c`pIXcZ0uFlvP{Qt{Tp?Q?fgeUHu#{#xuW5S> zns8nfZkexXFG1Wi(g<~desJp8(j(~I>xvID$Q~SVK*|0*ZwN(t;zJb3 zHybLX#h^?X_`z&MIq-bmAriwUu`?wIGIsgbo(YTWF}s`mu~)Q>-C2=-WGEPtU6X5b zz>N*JM>}fVRQ*GMmztJM(`mPfeZMN70j`NB zW3RJ0QinC?WG(o3cGHzD?E)OC=J^n@R)Cx}bSS*As^;Ih$xAG|cUj`qRneC68tV^} z?T3arD7Reb&SwVD+Z*$>Yk-wim`UpoU&8uj4(vas}X&KdBnPp|8X zFg&T(MJ#Jl?)ljI>nc7Pt2+Lttl@ck*FNos%<#GrJrY*rIaiJ$rmt>1@+7o2v2KHC`YHZ;FaozOJ=Csfq*Od|Y z^A=~;rsg^9zT^48#EfK^J6Lep?rteKwNB;h2OX7jsH7yu@6Tx!c)PwJ8>+8gl!{#A z#Rzn!G?JZ5i9cGJZ&}ALd?Ogx)`I@{osKoL>HeH1HlQ4jJ*}SiH#cZWt1Kda7H+G} zR;6sr8@DEGrY<;pHY_XCm>ajPT$2(_qH{Jk?D)7XJJ5k?Q9m{xZJh7TfW?T-KIu9n z;~nwRW~r#2>#y!4GY)@}9w7uB5+bD+hhlqIg5F+K#LFK-GIT{IL%g^$e7})6DI9xs zHR5FTXTXAON68&YPGFh_bUafSRdX;E@hYuR9O{}Og3+3;z|EAHE$JKN!!o5PXo0tT z_;8^ScyQw}+~LR4YWKQ5(bBI%Hz3+tooQD3Bb(H&@7sjbQPmxmdve1;HSI!h3cl+; z6XrK-PeiSyeAM^3u7+_q{w|9|nbzbZfVTJ9?ZLQP_x@~p&tPU(2){+?= zS}t(AKV7a9#AFFpeF&z`3L{6<7843ROnflC|E&~y^)EAFArQLU-F!6w7vumh2@-BQ zF%vp`(s)7Y<4H!L4yK5Aui0vsnr$x6$UbogqNQffW;sYL|Y zM)Bx;e@Os@$?W?$(tl`bcb`tmaCc~Y^-eYL)C?T!VmBd;)qxFCQJcO^)rvvo$Goq@ zqCDJ-=Ismp@;Kb7!H|@ zFv{11SI)6Y57^iAZq4+AylSM(XlcmJcCl|TL(yTVfVAJ`DeM<7tRL-B197?nc$pJy6scNKp+N53C}8J62F)jD6)$t-k^9=n$D*zr}S{lm5e(Ldv$oKwb z38f!53m?|*MNXY~1K)nSJkMU^&`ppS|?wEekQH5ScqJax+E^&86TOP-HG)1&Q;Ui z9dU-3vDN5Bqi~7?zeily1*X;@pN47!7O+_jqcrQS3K32zetWz`2>UbFbv0zNSVPVPE$rioT^)}dr< zj8DZ*|LJ1^R{(&k00$Rkb6N#9>1>9}kG~~WG6Em~;rqS8SP-n;Wdj-x;Qp{cYQ~Ur zpAZ=QvRO5yD1F1=_XurT+5=$jH+&xP>E&@gcnz_+b+(#q#SBV+xv=R@Z~-2P0EgvK z%n@}nvZO*L=nX<0Q2XUy#0Sa;Y!8U>HjBX5pF)ylx@?Ex6KPEu#m;AbC6$$Z!8_-O zRo~e?gXnPaiVR&{S3ac62c9zf<8}Fv^4syg-b3sAfvyoNpKktI9}QX>SaEy;33Mkn zm)dalX{sK*nKD5XfMx2}W;#FF?h8_fkHAPrFC%l6>Rxby)3 z#|x#4Z!gB&j4{~%^*K$0KJW3Dw%JyY@lE|WQ`b<<^5(lcna5bQ%0@7EdHUyZWew7r zKh{3Oy~gUPkTrJ?R_%tD#%KN3{L>;Gm{do*Ur4Kj5*SSn9x^!YIHhKtDb! z>pvTk?$uGBi!289D^chNCWsibJ^^;<77>#EsmTc!&PPL%Ru3dybEV#B#8*gDIDdCI zv6Z_D;Cn^w?vmk6%O@PL0Tf#(8O~!iKGko?Yl3>#T`S~s!J2mM2W<)~TQ&YbCtAT` z)XBhN1UNMpzp>wxTAbo%Jh4txImwR&0!~e<^@@r30+7hZ=AiJ2yfGJ8%F z{3qrrn^SSgpi~K83bFXJy$~>)QztcgIDPaxo$bNN;I#~J0zq7OxufXuwYmpqhq=dI zyL%F0hb%8r2)i{8Z%PKZdnWIHuyUNaOTYh^jsQO|zL+N#eZ!1j4hR>WqLAv?@^c%} zb(-XRgh0SX%-#8(1%k7(GkG`ae&+qKBG^^1-#?2F&*;tYNx(0}XK}n;@LvRZ(WmcM z;CqAF)%{l9sA zR|!G@w)0{Nb`~-RKTG`o`!j?VIFuKZVE=Kj;h#Eps(JtUFFgl1)le3~!jW&YO-%9U zzWM+B*uVV7@3#C2W#CZy6I}RT|4n@j4hJMbrGATP`AI4AL-&87>GWZRr_298JS6W3 z1&#k-i8_&8I*H7`obmT()^g%@{^qsGdvN&9d8o(xij5BklV`+XY>)k7VdBOkrubS~kb^g;C7ype;{X^qIsZaDIf?AtJQ+ia!;?J1t zpXvC|*QlHShlkYifiVB^Sy{OZvO}Dw(B;AI2!F~ymAN9}pA7BW3#Ggxm5yovR#hX! z8q)t|&zHyk+JNz2nzMGz@4^vAn9!tv6a_NQdaB-+66#e~hY3y~76Q%r3omMq&xnk& z=21`yoIsHluw6rW>c2v(f8mq7$;@H3YS$vT5Qzx-q4j<50zn(syFYc`FH#nvM(1ID zpMN#tY74muDWFg13cwrM2MoS{Lmxks@2J`q`N!20=ya+2(U>1N_oon1k3a_a4PUH8#4b*f9D7#jxl9T+y*45WE#YoGaNc=zecf)iugJq ziyMy+G2ZcjpGGcFC(Mm zjg8=ZV0Em2Gp;9S6p{`=Hk1f>1k-2ldlddlqJLowC5;2RZbUY#4!9cwnDLcP%VK2V0GiT z|39SZOGt2rgVLw4Faxq0vC4S$=XpF6Zvkh7p$Onx0VyxIkb>VykK&|Io9gY;BmST4 zE1+`duN$HCfi49wpg>HWrTF*;jhR5I&hy!;(HxmE!8gr5%Y8H{MNG%9vll($38o94 ze*O8bA3rGR%#uCdJABE~9VUoaaQVbl%OzZf(&{84YJF9y#{$jsWYzl$=w6!T#|y-mTr)St)%oMn)7t7Lv1Tn|NwW;JwmmXkaY z)&RaKReC`If79K+@kBz#WbfE+#ADkE_PtLKq1E<{C^{s0F}p)iF;+qE0>brU8W-J@ zyc9!b)+Eko4#nKyZxmK2BPx7#m$>Fz4Jq9@6qYiPX)G#`&YKuI6tWidONbCiZfk0R z3Xv3O4~x644xnh0i!`V=xla0{e)ymJxc;iy|BJ{^QQd^nZ}PC(_PAXK#6MoD8_GFL z`O8atCbqD#*FrJu_tti~6ms+!aS;pTq>n+S6@V*C0?<3j?Eh1|N zm+k6JuFV8fAtWD;l-k~dxbdp151fS#Sq{sNrTupC!*w&za!A7AOxbkbPkUn?SAgvj zv)}&{&i+Nt4)0M8K&?H-tfq73i6+wGo(>p{47$PEztJ#~nQOiH-M`CA%*+_$W2HSZ zwrhTT*wesjl%T2ozM%gaWvNk#ucn_QFF<9ZAz2U$^_>giQhyCuemIsy3jMFTVP~5s8^QB>_H~j=^OW;|$XDaLb9_m9 zc0V}UU#QuWE?YuB)UW+stxE&f68yLP6HeBnKX2hiu+xU?dBEpzQYMj^@B=8%`i6w) z-&73$7GQ4|uG&`XH}lOtGJ-X-c5e7+pO2mM_;KtSqTcCUCw$tNssq2AWg@uur7;I{o(FD~A2BFS?1WKCf!nyxK=6`r3 zL@Hq-)_tToXRtm9wB@AhN~Sj2RV`8y9d=qt)6N2t>w|Ix(^XV7+QNzsX82MpYqpz9 zsxj{4zVMw||6&YtqBpiyG^kuX{+*N&OZ-dp*X}v&IqxSBbAd166vfJIvj06>%k0%v z(p}ax1Hzc>$5?H58>$tYovh33;oFT7T|S5FgU23+p5kHgqRz9idERk6V=pZ{FX9o} z?-|ezRuJ}r7W97vM*gIC4=`n6+67N3J?}xrOVgHnL&A*hJ8%cViN)%3$>>CPyS~?^ z5oSyVv4wv~hzYVSgk&t*9W8wt!E{w@u6BrHI;*g-`4xAIF(2!>07=U3+>}f$F40UV zep&o-{t7*3L;=H}-j(oV2adPb%~qcZVc6amT?%yQW7$dqoj=>x1C!fN(s8>jH#F&B z8w>l~+Q-Ya+wPdWx&p&v%rEEKk@C8ak&moKuA#-mJU43W>#7xYigpLkSW2d^eMdNA zitX_OY+v`SAzhXxyh@pTARMJz3$mnFJGI?^H4I9cOr;jKz7at$bRuk})DpdtRQ1eUH<3;LreMmnwfM>-=m!w242^uBy8;o< zbMV-Z1A#-@%5WLDyCOD&%i15ZEMz-UE+}Tm|Fbxt-$xu1F*c@dSb0Fq5%Q7C2tHkC z8|}07d&!<@wRU?qCI=3BKHmCet4X5HUy^pfjlDD%--23x#al!I0WzmU_5|JkP2Lj> z1T`AtvlgM{#)=iV`wie#&5vicBul^RMxGj14S(Ny1vwmTn8LXCC;fWoYA(z932NUV zii=pjI(CDVC*0FC|Dg2OTe9vL<6{eKo=C>g)t`f9nEJUqNmTG|&^FtpX9U~E{kwbT&6Xp=CbuON+Ez7LcI?X^Uv&>09>1_>;X zI~aCy2h&a;U-$i|Ym-535(=yKL@n~|yKi1xajEx ztY@&c->romt}6%{t%MpH-_*O!_S{nKd-&6yUlvOFD=DMc2Y?UhTgcn92RY0Z?muzX z&jz@Qdv`mOjvZFM6}St*HeMLkS2*gqer5(Be-qO8a&$7Zyl)=d&-CAUpfdZ1ASz$< zZ_<)QQ-R_&c~pAs>6cViZxDr23y+hj=J*JNwuaZ!%-EzLW| zc6lpSZ6YtD&At*QR1*NuaEsv*)r+tuGD$9K-&a2*P}>p`SEoypYEw5b&v7^;&{x2e z3$o8eI@n4MPQ8CEU-Pmm>C2<9(| zw-}C|Yjz9FQtFiclr0cVKG1SoMZZ04r9@9q#EwPUle~L~LuKT;B0SOB;JdO8yP{#Y zpc`qgutQi#X7S#Qh;zNHbYb3aJ0`jEsMBpPnoB6dE`^VPg>)(F+-&nQdS4o%5Zb{0 zZ1}`qf!%10hHF42PEOBIRAcVQZ$}9!hVA(stS;6gBx2|Gp{jS3SN1B`>o+tW z&G{O-u{4b?iGIaDC;uxCpe=vz3x{OJ?+LquNA_53Qug=iY>sC~*B8uD$MXLpYM zO8562X>W}>%q|)a<{!KFFY*evbtf0k9R`Tc^Nq$!T99ik_qdM0EB4waucFhxT#Akd zYN*~_jP~)4(^ELuh^Uj?T$WxDU7T;xEu1JSp0^uY#u)>H#q0D^u}Frh@q;@p<_dP+ zR;;CZ+nwXbzMCs!wcgT-N;j{yt0W+omn-$3^l9fGtpmd^E$IL!6fVQolS1NPwXo^B zbdEoc4=1Piqzw*d0Ue;CjH!iB1%=er>>iP3e<~@NYE(deIk&g(cm<;A@DBKbHF{`{ zpKqp0gl<6K-vuP5gcSLqWmE`Y1P%^nTMp;x7p1M^WaAN=8~gQH z&zN@qU|O&aw~=IxhV8G=VOEWvIQwY!%r9~I7UvvnBnP_FnIZW_7dlsW?4^$f!|Wpr zaRyg1Xif%Z0zLFF8>GXpNAxg221~U$qW-}xwaYRPUtlW36*oM4wH* zn`yll8J83rw;l7zsiT^QkL%p`_U?D_{>bFWgqk(ZKWdVXwjK&jw}uZb-apoz zqk7Fo_KPRTkg{e!Z3hi${MjL~s% zbs~N1-v_CER~WyCXg`82`t4E#vBP7unn%+yp&+H32t z>!1sOO$CqDmLEy^&WYXWbKi`uP5bUuybF)Jb?h~}n4(>Pv)EqDdr?{zaZ7jO?u}KW zN+psKpaBn82dho$O=lJogfW$lo5zYoagUuNSnE`}F4@^7Z?3rSdfDTAam{c(BleGY zPZ^;N;}SXGxMZNj$VsCvQ3OtBlFcW>Em+WHA~l@@T0zz2hJYf7_B^5x?Pri&VG8>H z875ufS0Qj^i1hC_7RV63+Pl!keBeF;revuQDe(#Lqxfu7>s~4S*u99y>&nVje91?J zyS-T{_PDk774CB6@ziKnV0o25naJ-Qb>*Q)tk{E(S#fn@F4)CNV>{!c?XLb2?QY+% zzWp>`7E>9OyCk$+t@QhmW=;E+!exXzA0bSavp)!!&3>KjzIQn&_N(fxX=@fMrGzCRIg;YyGb6mhR;hS)|t?x*cWEjPvux!K-$~u8o)L< zlr3S`_x7$2H@S|doV=<0zG^y6?b4vOuV~~`jM0jGtTzUuIP^XT6HLP58@0RYQLlb) zGagI29t<~|wFY@Wt*rJbU_?C}sY`c|5+?hr}mubM(KBQ@V zE=DKKkQ+j?1Q$Ej<>(rH$aB?3f&A50Sk$OCa5%%7dwyne(X^`^TOBNS!0Fg!q@?sSriMf9>di?m zce37O{sL8@qpa^!sZpc2!)w*QAI+a@vE^XAbIi?D9)DAYgV0i4Bli1Ssnm^Dup8H< z0U9Fvw9aX2-toLF18y-%rm5QU4nyCe^LTuz?AYbWGiC$`mbd(S0Dl!4((ijP;afk*tutKKUI@ZDum z#TBSc1f<4lJJx#e*n4)7wb;U)((e1tBP;fe^iJu-RjBQ?25Yh7N+cE;##^t9=l!kHZ>kn;K02_t+v=()^F;^ z$C_w;C3U+S;yW)Eu-2TaOmSlO2`APZRJ&98zzE0GtfYdm*Zv#Oqo=>Vx(a&+G_qK1 zFuEA#?6hb+?(70OoJ%h8;3%&3_&ezZtnv(Bf#+38f6+NS28uq*%cCZZmImCAAR+~d zd77@ruZh}Mve+ba?BJ8cPZbAf?Tq^eC+Zz1JzNcf!|2U^X8h#~+y8H!=Q3g=JXJxHw z(d2G>GVgeJbi_0sYP{G(Y3tHE3JFLkQnOrRxNh26nmeNYM{#?IjrMAG>RChc2TGMR zr2)kxTwGZ8P$QXj5p_AaYhsUz71Y=YG?uz#T;ArLv$!!P@;I_dq2pd_dmVL#jZ?|= zbX5EE&tF%hxxdcP_rLV`P~WrEa}-#k*E!)>e+jvH3X zBbacjQ(ug;3_Z&2;W0d>5fGJp5?o`GF^Jza?`V>aC|Fx(96PMXlmi(>9A9iZ{`RAd3X=watp(YyAW-XXagY zgzCf;+M0K1>$ivJs~o&=JPdq3ITz%F+~3G+H)gGJIx1%E_B~jMgeMOf95m<7jFq;X z(R_X+?Twil_*sNGh93v~asB#Z^73of{2-+6gqQA7U3vt)cd_PC6Sr2)A5(^e@;L*H zKi_J7LVPS4+c9^~DgC0PZ&tnoE6U5`O)lGA#?>YiNEfeY_)YEf31ZbR z!CgM@O~o?o$J3Y+MnHGK71{{I+Q*NQmo6>&zq&|F;pRv<@!>;ocS@b-QA1}%1=AD8 zx5^+J_L+ZsWTzYN7k8Vw?+0tgQ|Nl*km;q#W} z?(aO00yDq88I8Q#*rL|Z_SB`mJ$#hl8I_+)|LZJE`CGm3EJdCl*(eNU%F&tb4320y z+ZEkoAezWEO$+E$PZE_fkD7MR3Xw(yE1ii6NB@Si1ti}cN_pAghhcZM$(Ke@oNb=R zdOd(NFGc*K;DM;8Jo2o@=5)p-Jb z%R7iQ84%yZAuPmvFtHaN6BB^95a<;MAp*>;5S+e2aji9QCfRP&8Lo_GPNS^{gMPav z2o-{DH3JzN(xO^k-u83Y>R$1bP|I6y#fm>|;o^pmoNDJ+x*EHAS{H4*yzSxjblshY z2m7Ld!=dR}w{5MtrF`->+eZp~of_9R`t&I-eoM?#sc`lgAnxw4GctM?`TomOv+tMg zvw~8tO~?k3NePNBr_yTswMDmq_=w%;JVV~Pq{EL2FZ$qm>R^}tMcjOHUC&sb`(%S^ zm^rn$QyC+nNyH>E*M4bF7VY+9Ik^e zfE|4IbOAS!tB^7Q{_YV%BV6~S?wt`J{b!y-PT$DBmVte3xUfwZ&^pleu!ySGF8VB( z@bd9e9dBt-w!^T%t+j`}#e2K>o-*^i9hH={@`imISpLBrt*|YucC=9$g=Ka|Vt9@g zM{}k7&6s#JRzH6JW&9p#Z*^ZYc|%2hG)Tc>R6@d8)iVDUtOnK9twWiv47qhf*LA-w z=?ro8HR^@$ksH2Y^X?c?eXUYm``_r|a>*Aec!h5W33PVm9`3G{v>lG>%PXk;;mXaO zqm#J*3~nP@TxCbeMgO&+GwUvqucS z*wSH{VnlnL0o4-WKBaFXK9D=M-xzVcH#-O~XR?|P`f0@lUz^1FDMX;X zu%<3riV)b+N(3>BcBd!uNej`$NYLXzO0ug;AOEtA=$!N|)`ZQY{4IU)KD!kq%vk)+!P&8e zjqkDnpVYfA_vtc^55C9E#!q3H<#)x+$1opo+m)XwQ@SuZQ4UpdxY3#+YjPTC31M6* zPH;nj>swQJL^umy%?_O<%7qjKKx#V>b`8>Ptg*WsZ*8?rxO^jqGf`suCN<(q?`s+^ zBcoC;=@HG$MFd18o79s-0tiHoC*ua$c_Y7x)Zi+4NVrmFw^UvPi;KwkeA~C%#V%5`I?Z ztCbq>v9vRICW567J5J}(HwPeUVf1ohzhQMm%H5s-(>W5<>?}8*Ta6LFE%Y3w0y5gO zkC(c%)ZTn-9`En*GK+%4jiovu!)7ZXYJ~Lhl=NHW*vUi08N9Hr+=Q09?|q)5W&c}D zn-KFG*1a8`Q+Iu4nElS9D!GD@G(X8(kd|<1-Du}|hew$3lJS)r|06_6O;a3ug%mQI*qA2`AR43Lxgp5 z6hLAX)8YyY6pBDq1#O4K?i))T?E@=wN3NZH`)#K`NjySwZvoHZBOqAhW>h!N~UOwozOP5Lch?xfWWzS}yYNIiRa)K$W$ z?^-a}^jrG|g;pkd{PsezrXbQ2IWaPy;p+`MaHli(@rE@I&YSxlBrvEsV+9>foe6?tKM?U(}Oa8T@p5#-HC#e|Q^^4t+UwbvOL zMT8$-dt52;rF2CAy9i7Q?Sn0677zcdGSGj=Nojqv5$)|Y-oPCg08Z+Z^IDtug;y3X zul+XH#t_U`ZHRSgw6Ry^E{G(iWg~yRK#}8}6_r0?MBL}L0I4GZ^k3r#AVmn3!&N^% zwF_jZlw|q_0tX+PWH6k$ znFJ;0+RRH($YZ1k3Fm6-_(7Wc(UoRUXXagmw2Ge3W2lZK);BTJr6N>F6n>6x>s$TN z)B;p*W#;YM{+O6j@Z;%ec2_<;wb0?2^JYBQ>H6$h42=wXq*ZBjPL2pO>|lR!QPo4* zf~jMtAAp@>>({wCK_Cm=&IivX8^Rb9!dWo}H80LcQ!+3J#`5M!!)lzTn>kBT@2Cxy z$>t>0n6GsC^IBwdXI?yaBQE1&9M3e@&5JCDe)vc&pNguW(Vauvf$tw-+X>qt1SgJc zo#efm#<+C!>K^+9CRvp)iAwc7>*qn+UR1IXl!-OL(Z+Eg&oCODH8?i<+1owg(HWS# z{zeSAgXUMOmDz*G2F)qLDtmk1-xnme;|`YJ1BoE*x{s$S59!?1Th-d1+!US4zbd_; z2W7f^+4=BWyY`m*9ABpFw#+Scd+(hvx+*)>k57OW&UfY2`pkA^X%>VsCm;x(NLS+C z9<3(VcBjrZJhi4IK}oSyc^E@jfD76z*dr8D5+Efg)IR@dh783Jr09JACM3sv_bcJV z_1>Ao8#Vnc}pdSB~=-?c(IyaEkrPazX>~d|Dv&pQc=2r2s#!j5Y*E%u5{hWCxDcerTM+r&q z`NwZ;4~knr=q~c)>ggDl79P1QSpx(pdDa-29k6X?R{H7F?U#-7?b@pn@T0lhUw0N5 zy!#rbs$q%85}9FnmG?pV3~%8h<9m=D(w+bU zsE5SUvd^1*SUd|Bz#h39Cz$c}G;|VOVivwWP5Xm^H!c1e9Rl4LtP~_4#W}A&X)EFK zgX8n<9FjFo_%g(Y-$* z>vM*nVKCQnv2u&;oP#`k_s1kl4ReVcdssxbt*tjRdc5DaIyZN~jT}rhbT1lKR1h9d3VNUEgB6 z>^$^__!bm;vXEII?~GBIcc7<9_)jUz$(uEKg1`KMv|;2mY$$nP$WUwyz;VxQdl0>f;9TT{dhpJ5 zyS)wz-G0RL+(KW=C5gPPg5d7h8Eyo+DY)UB$xI?*z~^A zgHSQq`lz7USU+a$!z{@1cpEW6;n4l}`cu1A5GLBF@R+>cHFo6}t=`B@0Yb?Ep$G`i zlaO3e)Sux6`5UUX5skHSY$7}0c^EkX1bRYbDW2y8Lho+>9nTFs*XSI^Jg37StTP^o66@LWg|f!|!(5n0t`2Qa`S`XTQmDviFA8lo)PMA^Hke zNeK8KF*`&+a&^P@i=t7WVj_f>ZrU&&wlrO#SSu7pRQ zL}C7rQzB$|p}*I%?vTGY|2KgPm}&1>61K!oYKK281AFlEtM7q1V0uE6Kp79kY~5c~ zbds|~(lj}8yy2Myg)Xm^es*B(W+yM)k^7x`c=uxr{|a>!FN7D)rLRXZ>k zclxMI4hXYUX}VwNpH}kEJ^{?RUGW;@BtH*gg{+PrR$S4qXwG5syv|xcu&-CAwlAS3 zQ#Ex695U2pQm;j?UO<>?KRdDs64H41@U~@p;McWo8;xe(KP1^8#tOmNb4LNfS6I3t z#<)KINd1vr_s_V4vTC_C^U(Ij71O`bWe8y=`;{&86=*K$x$-tQyHUz zNMwRAvdyn@|0e!G6j1%SXfWJ8y6+2a*kCu%4g0nPaOL+4o(%c(sKQnHB=4SWYVsud(QA-F6MPZKK?iDM z7^;2A$kbl|L^V|rB?FP?Q2xY}aXZofXFbC+8K7>}#_ zPm3i%$!bBmDkm(S$7D7+hCrAYOnr$8T`CMtbh(Y8z?slQw~eKDii!*s05_-Rt(E;4 zn-Wki?)3i-IH%S#!FCN2M7&g(nEqW9^N+_~x>`b@!)Z0=E8=8Lux8gg_3j*MZ{nHO zf^&T|M9`c)SQsNW&utmjo0q~G@YitDo|D< z<}iT@cx{NTD=orrS3iX0H-l0_;j==5p(^@<#G{)h3zzVuvs_^xBhb^`I~)D7HRzPz z)7Sou->6E8l;5{V&J+H-3x^QMn7pAv6&!z#1v^{u952h42xgnnxB_W073KAEs-`#F z8oY}SAF|^>36=Q&qwOt#vfSRi;fIF?0i^^9X^=)bBqWs*q(hMIZV(;>K^jE5B&55$ zrAxX&Ktj4x_!hYLe$Ri-`R1MZ&i-beaRv+Sb+2{BFRqmj!O!LD*(fR&i9=XSdhY$< zDgbeju!ubX--`@)?f!lz`~!02?+|f1?7hEmfeTcgi61y~h~EE0s(_%}djNGI6&^i! ze|vbreg;6Hfe%DR*XBJ+@92ZVX-a| z4&euZ2!D!nVVEa$!0}AXSw#1LNSzRB_8qf|%0w2~FyG?tc@RuQ1y zJ@6IPA{N5zbKRf0evMd-?w|n&_*VMh?_Do`uj^bD{wb@g!4$8bb(da}DVkMH0|U&J z@1)nztrz!HNUX2Vnfd(=4x&y4e}6OU+TFSNJ)hO|Ii|?K-|KMD*>-WT=`5_GqHanx zf}c{q!@WUgN%u$7f~B%#KfXz0NQe4)$rW4i9=Pd}D4wE?MIF+~tOOmMJzR zm2u!9-&GOC1R&Gg?uZ!;nfS%s}vMY!<#cI)j= zx-lA=w33R-YCa$GG%fomzk-|_A|KmbBlF%iX_*UQ_kD!VM95CuL*u(0LJoXY(Bdyj z%f>za1m6IBqN2}>fuKu)bDITPuaHT;7DLsFRTc0FkVK*gx%;E3t;nAya*!ozL5xn4 zRQf%`ZXY`A_RL((BY2oC^N663R3#5yk(?8`GsP=|!{S@mb|rIuKb_~z zL)ceJCD0GbSm31xUq8wM)ul-u)TXKFxqX9HPmY_GeuQWyjt+#mnE_kk{$(Oyk2|k0|T%BeU{EI5^n0uj-BL40b>1_DxrJMdMFWu?Q^%1*id%%*5HUtwrxTBU5 z;EDJSpytJEfE+${_&iVE(;bdxAq$z8c?knm1b)45etNuPuNeZ#OmgiR0Gp zZDsF47XSon|NG+ImNZ~H&kvYP2G@!juZzTkHt8A6lkUUHN&~HCtNlk81_iy!O>9YM z@s1A9_T}=>T?>!^$S+mpxi`{;S(*5I>(Cou^;31i%TfKOO*fXijjzcd=x-6cPO*!> zHypD3$T*K__BVpEB8!zdwhs`=;0MW0!taaXoInitB4H=eS=w}icuGV)7%MMNnyU+k zh!js-yIM9^Px^w`f8qExp5MPs4j_%Lp}wMq^wK6Cu$R0XU8)9jlTzQ~(RZ@6)49Dn zIWL8<|0L3DJj@chZJJ^12=r!_G_fc$h_o)c2|vP~8V2zjs^Yh8*SC)j!rTc|>!h-e z+iG^igr?L!`@2lN?K0`7keQi~ItDPiZf!OCr16GY(dp)3f3VD$GNAP%_tq26T@3oAdGQq8R2m1Sl&JN%c3%W-q4lA3kMo zDeq~eg@fdvV1gTFh)NUm%ul1<_X}!JXY@gA>Tg9WGQKk8F+aJwYHC$ottwq&w1{S~ z3M&7(3X`tqkxG^OO?$vk>|dq=k>}a)^8LmT0m><~&_q*Qn6xkie@hwQeD)u^1;`;p zeb7Drr7^mckA%1N%$34>jK_Z}8o9-loaB_p*P#e=){Vbs8sxo1KJ5YM-s}8q4J1n5 z7h4Mpft4ydH@)%zh6cB6m>r*S-^_-MF6ba%pZ(|rBf7qMH6HYA_w;DUX#hMNy_rtn z`g(PysiIOly7x6tRWah?oV%QjlXu6ZP>SmS%+Y)j8sB!`vo;A9vXkV6nlKd5MX&Rjr^^MYU=rrdHdqM7&X>PBQv}3570+q?i0a(JeSCf3 z4g?V7U{g?UYBz>RW{%G5}#RP{g6v!p-7P@FUOH{^sQS z=nPnEa7GRRC->~?TQ!*r_!^W8r{DD-PQ7pdR36&ZYRYAaVo($ys&5&crFL`{2W|d2 zw~cQx^KIC>fPxdUT|#sUT%GYZtl{1o&5hn<+ zvXVy4b;ht$QE^BP|8_;Ogf2Yy zKVi^e*9iRV`i^cwxqiE*14*6XHwQm8!xb-oW8G4qBv~J$lqlc`7MLTXrm`>r7YgxO zFm(dU{0KYEZD%W}>FQz^MBMLoZ-`-(5N-})R}hIo2?B%%b%$$3X-S0<9l>Q7P}WRj z%!t2MlJwtLNgqgJg6977i2{ZTen4FAH@6fP?#uvUW}-kSSVqt;!{aivlHsC`B&h*N zohnk?rLEVkE#0-5F&eQixZIm9;6VTylJ!}DY$nH*kYiZ;lK8{X|pzYwga|f)6H+|+lGjiUeXgEkLh~rP%_i7 z^QO$uJZMgH&uCOg=&Hf?#*{dj60)p&OKF2-$Wo~bdUQV|%o5Z;`_bs%SVd(BCJKtR z;E=1hSJlM}qq!GmW^W~pchAwemzV57t?{`YaqihWAU=wSl|?(1LMW z@VwtdSO7?({5tb({1?}oQ%F7!{u@>`G>jE;$_})Cttf$3_TbrvIw%kQ+h?YN-H405 zU3@)p)^`xX`QW2atlK`x-=5_P0cu5V1L{3&hg%Vgr*9Dc#N5qw71&)umsbi3-}M5- za=B;Q{dd9S9?$^^an%Xhx%L#y=%nM-%0K3{=B^i`5ZBlRY2#KUvquaUn_`)7>;nl- z^%k{&a@9ItQzsJs3+0eD-mL;9GV9Iu&PKwgD#%pq^5JN$s6`Do2gm9pJIgPO-?Z}D zB>Y^Ys_3Dh4ow--u4jh$V-RVqQ3QL2ONdJBD|fw*(h5t{ zg*lMz5PSaYL2CGsl%G$rR@=sWF)Ya8B!AGG)BQGgf4+!vl za6JPh|Fj-uE&uz%qBsv)EJne^tp0A}API;ssIz2<__^M0R*ryp2c&C6_wR?Uysa1H z;jT*iJv%d!$;3N%F%5Xv($YZNy9Lfv7i)1nY=jWs_r8V3OSFk?t6xBvzkznPY{8id zUX)$t=<|TcE5p-U*?17IjGXA02b0NJ>>If&f&vf$NlzIF|S z0YFaxj_krsOp1*ikmz)Fn^r_xpT6SPMvr_#n#kX>|>oRiopDU zO;)e1k4!b&dgY!T?yY?f+2~fJdZ*+y<~Npu(1(MFn;25p<>?BldAW(3dRav6{`1fS z!0qxR9q7WcLg3#mxURjfH&CGyCx<&*?H_#ArxvPRnSXuAaxF?%18U)F&@}MZMCCnd zytrs0#=?RYhleyT)cw^A=3PlIin7DS!lzB~>8)YV1bw5~@;*yNb%#7ndLexIb%goz z8d@&KPb52PcU>*jb&MSMw=0W|_U^0TrX1Ag3mz!Ivr7*_M({1tp78*C5uD+1LB}t( zZk+*CFz)Nr zvCeNCs8_lFMjaXjkTFXC5<+Q-AIzrH%w z>hc%;;%GZ{15m@{CXLNA_{M49)StC7km;h$eq)pl$XG{M2xiBz{&H=V39FqAi#)B~ z;omLh6ri#OG^x1~!u35?w?YTz?FV(jg7kqQ^8`S5D$$6m3|#YT;~nKXqZ#qjJ`WE`iS zjcuJ~GgVBm<0rXCh%(Y!VVD+vtb!#Ef528Aa7nst+*yvu+OF@ikHl%W~`2gid3lpyb*~Uwem9-dN-;X+bB&(HQTS zmp-PdOrlZhV%=|?wXN581*=sJPxc|ALdA_mDv(q4DXidi@7$d@s)KO?4NSCmaw}{S zI*JXQ8nKq{FK#fGkTd;HdPik8KK*(&!RHn`hhI1NMq4P0=kttoh9T3YX^p)d zv3xd$Gn`0Q@mL9u_9aG@8ug-<;a*=*S@;pdk?{k-8fYVRu1s1y4-E`Fb`!nv_R-#g zbd}}g0BtFkh4mQG#hqxYWIvlXKrH@F-gP>~K4DO*bfRrh<*o|3jPnzbx6Qr}Tl4Hg z0Ro|Qa#1fiK%@@-=!yfH8SRUp-2!4Tj)XJs1-mFSqzPbD@B2J^)Ew=TVU=DQA#ehJ zamTbMlRH0nRc!-!u9dDBH#WGET1OgFdm7FILi(*N-M2?KRNtw>pD6!^F+d&`nTn3M z`l0P)G$lE^X65;MsV%57z!LJe9!ogXVvacJkCB)07z=V^JpPi&z3An>Wm#fZq2pEf zEFnYX%zwk*<9aSjdV;fEi<)SG>kQd*F%VO{WNSp{{oIZ+B zW7~lIGU7tN43!rRJEdi^XQMpRVaCbq&n0SMy!whI7=v@<&mG)jql$32rJsC2@| zkuyc>yE{{t9>T&rjUSdlj=s~hJVMYNn{A3kT*NOD-uo_g%d|;o;J}RMjudD}yPO;b z5JL?}f1<)wk1#@-R=uANCnBtgwB5Wo`na-y`A0=f1{m#|43=W%*M+;un#>p~ zNYcI1Ra)%7H}k3lXRdH#-AdXruAPW22BJ5D-&V5QeeeDmY9{o`vahdSY3@7LYiwGA z7;I6VxR6mC%S@#CcU#3J-pHEnCr3-02!(Ev58_$z&}iv0aoz?Kx`o@T?^pMfBq==!u(6o`l$%$rJYBz>q1)%LEma-$E}V0mlRh z_2yJhtnXjyk{t`K?k2K6rKJp1Jr_0n#y6*wo^5ojZ}wd#viwo=3L!l^w`LG)X6QuW zb}2yeMlRlk*zY47Y~k&gNfi1 zwUYJYyf&2wQgQ<+e|}{Ou8`}P-bAYFso@(ae}kj-Si%kD|GQU=9l*imv=l+9TDZQO zh6-&+y_r4S?TfDf=!KwQRmHZWM@8PH6Daf>&Bj1$7!DJQ62gPp7AL4S>(6Nn9WXby8!r^H68zaav@k!K_$XJYfBP+dAmPPvjJxxoVbR7^NnKe{ zdYSd9z$&L;-bwsM7IWQ+8S;F|E zk)Hv!Ts~%Qu7>RN2=2|!vl_&dPW1_!@kw3zLe19Pwr`xB!O4~hDrE9wvq6?F3loLr zn^}dr7ydGuArI#^jU@~eN_Cvvy%nsdUZ)nC>sBgrt7k5t{Dzb3 zumw#waAh&VDcALhQdC!~m;k=H}4^spl;=g&955KEU87QSc^nmkEJWsnd&JcJQPc&MDhZDkk62GFgYX>L8E6?uY!a zCGA_b|C&2Y{9^5!smzQ_uZ9r;@h_r_AfN>BU58UF$}w3?fxw1|9($!_Ij&;22@VYr;GU~iuQ)vZE%1bYb3&d%)x zOm9ZXNXW0EHpfS0@RC1-u~4u-$!dCj3m`poThjFcN`gl8TZ0q`S&R06@(0De`gRWg znF-H<>}x0I6UPMQj!=EokWa#43Xh+gCC=Me%F-tf=ne#1uor0gHoV2IjqCNmdVa!v8EYP#H>x%s;TXk?5jHgRE>?SG~YbtUHu|q{2Hxd0X&2b z2Srmb^VygA1Gj`1)!U?73YQx6{gD}GUCNQ?eZP%$dKVe#%cPvS%eYy3na|#+uzWAc z!#qX8=jGo04H{ej=nn~D~w4W{Q35lJwlkC>#N z1RjBiKYae;>-u;7tPz+Qr52%BWnF~|VSMX^*>5?~j^r4fV-?L^%ZdeLU3=*U!wmAD}22{l~Dw0u+(FO zREA&uy%Kd;+v2ohFSDMSQJ5ECIUmHt?XVqHFfvKB`k3XIlC}(0)eXh*inYF{lMGR` zoOQWpI(E2bt-B!Tb&a&rWHpznkgl{PtyevlbHg_C^t8(QEk1fKeTj{GQk*<0Q=y=* zn42gbJ95nHcYWn2rxyHWj6CJltJN$gpKpS)%;=#|Mkz30Pl_*`N8*TxghuX=*Vhtn6R znf)`!n^7c8l4L^d1fodKZeUv9?E2ZnxIE`>Eeq3xdOj9WIb!51Ec2JnuOM94$X(Tn zS!Gq*y6#aM!je^X1bs-f8o4sNUr&1dm%o{{S-^#)@YA^eRAR$=^!o98alKV}aq00C z&SzP%O;Jb7LjJZE+Z`#M8kX%9bwuYukD^i@#Vqt~pY8dLo4RTay_i|`vWny6oz)P< zVZ52f%NL7qI6c~^D;!_J+uUn;T#J(_3{DxuWckmAd=EJUImarjMcdOZg%|sYDyLurk3RRFni`NVo@X4V*f~F{wJxL zI6-V&rs+cK7F@5!&o-5J4r7us@0S+e*z_I2C9hP_;6IJ*>XWlYP>hazEuJosGhV>o z{vGy^W!`U0=Q)p@QCrdl93`YoRh9Md$togorp(jLcO~5fn`+^bUTwzFhfm@5@Jku% zE;As+#1>b`5bAMfV?>*;W2`t8s~T){eP3z>j2ISoGD$MMELgR@&tdX;$35NnKV0h4 zJ3of5O?ii_OjEK~S+Ob+$ZA#0A5{@K2@&_nh=0?ES6~PeQXx{PL)Wx?r6kS! zphgJXBH0v@>Uil#PdSFTzK3~27ctd9czS4rS5x&iR~*Tpw;<^th~JVE`_tv|!+V?` zq#bIP@@uwf_jd&QHigMA>{I85W=cy3&IU93NREAwdluJX#B1f0kY=ieUMpLyMaJi; z@DbWmw|G%0BO&XbJK3aoSv_DRMF@`S&+{zWo;S?ZT^(zlb+?tZPk|qV{}_*-|A#9V z+3()gz{G$S=N?glonme04)>eqInWsX7)Mx)v%X~Gei)S5wTj-{`(l|24~ECP24r`= zcSWGU{RejUF<$vnzKS|yM^w+7=;v7i7VqZ_q4=$Itc(wNBmmyUU;aJXhQqTTv+Fuz5=wRUzhbejj#!ql;f?*? z;$O0A3g&-LUupfOC@?vKH~4&JFCKa2xjrws*KDJj=0NNRi|MsL&3D6+sMs5C(c%1*M)E!Vi0rB=Jp;{5|qD2{> zN*sZ9j~K{14dL=3tAb>ELkK|KNu22ZgZ7WQ^Xxv{8lOj69SXdrdxJ5J(^Ojeus_1$ zqVCW5ihdW;m)7e#Z_51d2T4cb?u=qFDpAm=cHsj~WfhhG&`l5r$3TUlOsJ*4d`k|~ z?Njcusq5UuPCg_Q-QriRAG-=uD4rN~naBP9Zu~b}tSa~Fr`se{SqXfWRczQYCPLQr zu9>X4831Wh9iqw0w9kD(6DJv`TBjgd@g| zh$VmhOrhJ{(Y$Gsip=7+8IFd4c~a_jqN(a0yXxke@`rfUuL;ow%YnuMT&?xy*-vAq zOutMl?P99DT&qO$nT~&~Or)^AW3&}blB5=K8DSgnfUS+S?6W!4>b%&9lzKe*dbKWA z$|b3WQeR-hchzrsA}$^7gm~a}Ld?VT^r8dM=_{q$QDGU~|oD{L~ND zzO|OWTU$F{uAFZAgw_}}=i5u$j_OXVgj1Z#?|8ZxpEy-bOm%M9(>C!E@O;t(ouOEdKt!UpYzp&mP+sgN@#dEJ2Yo(Qgy5sZ}7U)%u?G{`)5Mbv|7c{ zF)J6asIaD5nkxKxh?2~$M!VILN3C=qP8Nx#eKqG;1|436Cp*jzCWyszo^265Fj@qy zWlA-Dh4Nc5Mqknb7(QG{@v}!6;9QQ~{!$8&!1#_$Jqd6XhdYH1`pwqMuLryC1*pxv zQb97chz>_9_FXbS*(!BgG2W^&$R2&U(`3M~p+DG4)e}Bt7JLsS#tSXWh|8v5h}3YT zv-Gq#+ZlFoc;cvHF|~txLhGo)*!W?afRrG*jH=PX`6c+n05Lv0rL%HQjgt_=y4SA) zQEPI~WuF`-C=MHSzJ$h>#L++Fdnz{&dVf~9S@Z9H$bvV**NC{j1j<80bLp^|w<>P! zBTXn*)%XY}QdW&_b*$l{8w|s#%df#_L|urQMb37Bxr-m=*0hBEmhe~ z0?>tUpsvf`Ci>#y_z>PF=4+N^CnlT|#+eOOV};ryMiz$oqF>_lO{RK9Mb}Q$tSBrg z;XC5Ayq>1T#THQT6L<6&Fxa0_jLhy4Hs=?d)nr!DpcA&SW*Wy0n(ozM9=WF4jK6W*@J)Wm+aGh^7Tv>$@ej!QA{|U1GeWqtDYQ zgT!3cl2j7sM`gLK{_yPTbn0-?uDbf{S%0WW92#cc z09a;6#$rH!W6;TtF!x_KMDr%X`{%9pc{uc%!?~DW`=>v1*f|jNe3D^ES@^6`{E}M* zKS~3)Y*Bc+9nlsbM**L4}<|0TcnT@#>i^ZpC9% z%{VA7et*{mrVn5Rxv;|QCST%wc}L!d0ie?jI({QVLvkNxpBqN_vtfs_KfhtZAs)da zkyih-B}y~(+v?O+i>cUrU-~UTIkB$Rj~a;w zGhAqQx$bT^v2~i+cK5U=nw@iw0Pb7G<7w`E+@@tm6d`^duz!gdS00mS*F4A1jWp!0 zB6xT~@X%(o?3B4uY9j5&S>ywfqFPK}0~$@_8A?IjF~*{_W5o;m?Wt5BsjsNtR*$D# z#snAeW%MU>*5jzZoo03$_{3}36c6YBJmnmy*fV~bGB-Uw{+g2+iDpqAXsUqb$ZwZb}c-A|{cZa6((#j=onhQDbjEx?4p=rv4FJ{VoIPJ*#g>XnO zd|Os2uZGHr{0RLB_XuZRdN5n}LUGK*%Qg&l8q=lsA@YR88uY++xZNoVQv~|Jh?@usVZmrefjd!A!3da z;tvcKxTt6Fa0;lwQIgbyA6rsb zqk>ardBm0GOA*9B>7A@nRYDTA@l+eR4HGF|QbdGCNk(nIWS)xEB)dz3Gji6#=YaYJYFlT zB;ZD>pEgSTP@|%sj3ZMZ{!6#1F{^63YwRT1^W6;R$ZP`!Tx=Y>9=?}BB}IT#m>8oG z;mf9Zy`t8ZCsK8skkt)x!ROgL%Hkk#vCX_(q)s-c!A~Nkl??n1x>R@@PK*YP3bk` z>&UvgU`fP;YZg6n?1Wyu3Ydg^HkW|d()1i7-AUEhBUL+9Vgp7KMVz<-6ylo^ES5uj zKcwa9)#WZ_3zmk|ru6OHjT+sj>Z}@HF!13^a z(ssn6ZtziOVCLE7BWa`?T7xV5PdSdxu_@?tS#rfU*#?Z?MuSLVWc@!lpTs#~Y)m+7 zQ(mxqSx~~0w0J2(kQr&3W5B5Wi3_spqE@(lvR z)24Y9_P=l#urkfE)O2#qXH#4qCi7)|pnH4G#TylT z8OT`Z_ZZZ^GMP#xPsC!A>VFD{&xkX8MD(i&$fwXflsCSYaZ&FhE`AB$Z= zzlTmt$hG`r4*c&=uaeqBP0wb0>Mp_#4 zZWJgW$jA)J;@c(#NbFB;*<17Mw&|5P6H zcYzkWcIqxuBs0y53jms}ZpJM{PhMVUCKbo^X?b~9{5qY5)(tB~lU?ni{bO)OLe2~7w7 z-xv1J@KAkzMTAVhXA!Arp_9S1-DcL*oo=15dDmd7<3Gwt!=TfsVR>aAYc=guK0p){ z#Hgv6lXg<{-j*rEJcWR^UcK&_mZ6GSh&*y(y#|kYFQ`Gt6)=x33 zD?$zB{*5b^(_}55P9#T@SbzVBZP|X45*~hfBjX45!yTzceCo6iA1^NX{W;*C=+Sjw zmMNR<6+EpfzCgKfPfP8&!cwY3bf{fuF8bjVX+sV9qv;iBM_A+yhA>J`E&t;=B~@vT zV3#$9H2v|+F+huZ;GuhiM`hl__!g0NL%aJzgBP`K8$;14LXDw?7JTjXt zAhX-YbQnjOuX2CwDen+p0( zYgj~MixA-8M`+{4Xyeg_g!UADADD|1P%+YSz4w?*81+w|ctvI-BU3rDc0K&c!|Vut z*`ts#m8U49hNDPLzlNF-O0CSUYM38lZ245?^+qP96&68!`im~Y*-2SGFe5Kn#WgTdC=vZw%Cy5d0X@%QD#{XR3e`Vojs`=D-uI{=HiT$$!=4>E=uH z7&XhVmX?<}wLEz?*5W^~4>Aq1z{FiklTe8&gX#Ad0@@`b$DLR*yWdXCO(}O(6JEuY zaH+6l_v)P=i)yGF>dgQadMVh`$V%6F)Z}GWW4<8LnlGCy%E? ze7;dI?NBeJdE82N@bp69gdlj1AcW*BaQJHnX5!@g;hfsO+CW4{brlNv*M#Yun3R?R z4~HhxYYh<3Bh8EP&qb8qPI!1Z*10Bj7q&50*+;=OZ3UqL(>72m*azKQW@)6T1e**9 z;4#3~W}h!bGa7RD=bQ8r8Nt$jhg80#c z555KiXp7BXisKvu>?>((C(h#W@l`o8=|AB{*dA0{jAhftl4O0$MA(OioB7ioyl;L( zyZEiQy7ikl{dT~{)JYZ5AFH6XpZb**p5{zqqsk3(*}3-RSp?Pg-$k?PtX0I zj(r7VNLz9-b8}`|OKByDx;>h327_~y$V<~un&#cbv^3#cLA%h#4W+8V*)**-&0shK za0`~xscRT0fsdJ(!AmhQI~SKv9QSV5?O9eP7(o_RDix1Yh0^?B*aI|HT5tfWFHXye zb%_^cRIKnFbpjI|B#l!<0wmUS$p0xpgkBc^p!}x@AspNhN4E?>SZt1X`(YDD`cZJg zbB2*LYV76YLA=Y?l*_>kuzlmB$&X8x-6Q6XZR-BVxx?uXiKP;1DMa|iqd1t1b_PCA zB}C%BK=V)q@1Vt-V@`?lL2lnLi{vUtyNb=KIW*^HdI-EDAv?ONsXL z_Df9EGPO@cxY&Yq^Db|8yA*strEee+vn}^l&|MK!atRBG@pT-e;{1%P78e@nrM&?! zBeJt6Q{r{fN$?4{9KSmKdTD7QrUcsDez6w&AO+t&3c!uS;O1<8v~);kjx!i_APh zA2TvhAu8tAb~?36fk2BNK1R-XQRluQtSU1%UoQl-J z{e^#cAcRHR*ZC;T;PMB2rKO)Za<(7EbMPZnP!;bC7ky24@O#xI+48NZ^UvUuUF=2l z<`VUe5B2IlZ9!QZ!N>oVPXwE6OisZt+EgMG?J<{3ydr_m_|{7*MNk_bq@4|+1eLj; zgI!Gvg!EZP(Wa9>Nf?6S>)2~d^eLus-M~7v(9czyq=RWhrdnPgLN99nrPoyc554B< zT({msX-vXn?(wxyKLJpo_&W3XFYYE8AC4NiSBz;%Yt zsP#Cmey;dtjlm@7W)|7-`GusR8R?x8!Kgv^K(!cq19{?3 zxh~?BHNG24OoC4lLcn!z{2B^J|Cb5m=h~fWvYGgP|M&xbYgTneuD4j=K_=nDH)NpG zEJ;qO0;;bp>A1rgrr?)rpIb}Kp#v{>!VEjhK(_q-i&b#V@LlhhL@VqMxnc$bk-KN! zX~ZActb*<@tp8_MTn9TWOZ(VH-Gh!-9A5`gNO5P=4#*OLNQB>(&i}`ec{fZ7j4!w| z31|`j$Nv2PW}OCi{JgoQin6?75x|4) zAow(>&T+w96yqtvTQdYQmU%NA!rib4!M{}G(w+Z%6*(}lBE-kliIFu0+(unqItcd} zh8h-bJ3s>sK+@8HyDCLK*iC<-h67`G(fhm>swVgY_v!1S&&>Y}UN}ofAQJqK(F=F} z+Mu?7<;T1A*TMj)O>&zKfGdFYEAUBtESUn9S^y|BnxMF@vJ>kmd`FiOR{<02*nVWF zLp;6z2aoC9+8yEiv3xG=v3O(kBj{p&G}`=_#2w3spHPgvRSv-CVijX z7vgw}C7j8QYSQE|{oz1Mq#|`zxX=JAcoVIG+>s@ixZcWYu%0JfP-Hy;3nX7KhVkp8 zKgSx-vW{htdS!5npm`z~qLNZv3q7Ou`mpL&gBvI53bjErEpLa~;N!#i|G|3yj|1;c znIbIo#~#Rx`R~~SYY}wk@c$mWq07Jki$Y`x{6h%2`Z7Rz*CL`nf+jZK~%` z?^z0`s!;j%pB>SoIe{u+vWZ-JnjI7vEzXM_|#6=v% zR5m_-r}z2__Y(?jl>6hzK=1umHtRrdiYHA7j{-6MEr-d@0CPN+!+qN|e>-lBLUKR} z40n?o!&1+6LI*-cZLu_@=G!{?p9jH%wn>PE5a19IN3TfviRza*j=4vg#eQ*lCA=nD&_J&0Y8?d4I#N4#8fZl}iAm>h|No;;+_=|RBi;f2!s#cM*Z@y^O zK0K!qoQkcs@ES&|WVIOmR3Uwu8>oUsM9Tb`833AOWTbz&dXfIUV+%HUs}QBFG?>!6 z*ZR6Kcn#F)K<5Fx?&51Ye`K58YwTA z=L(K3Wk-7`3Y!=BH990L@fDW}x20INk&DfdiMoWxPp*74+5#Se*9V{3U|d3(8PWSX z^BgMtQAreF5{3>o0hc1za6JhhHDdYQH~@jeeERB8pHEUEP{}63{l#VJh1QVTr+|=FK?bmXX^gzQn`4JcllgG0_jwRY4a{e zMW)hgANQ%@xKuZh?x8;>#eHVsdrt&~0H2gNnIQQMF>j7uVxexi$JIx+k`9P>=>vVe zbeew2?;ZU`SOla$39Y=-KkJW1QqX>WlF9g)W{}`qEYWxvk0lEBpwu>CL|=N`eAO~A zzFxQ8B+A9qm2vfZDTlh;SC5`nwqF5qw0!hW#W~$W%vN)Y%PF!bZF@u7{3OK;qC1o= zLKB*l1q~GzvrVeRHr=THSTTwJz0FyRun4Brpvr(rqAmh|Lhq_hX`T<}6yzWnA8bnX zCr>aA@S4>if|CC|rSN$#?it9QOI%0y?ki)+x67gu7m#v2$7cF=TxKl%(EUO5Zge2 znEuAUOwYw|fFC-7=i9N0BuRz*ff^Bfq$?<&kII=0gYP5q_C=cyZZ;$3bIu5yo|PK( zPSZnpKglI%n$qM#x}j<6uNV3_nSLEc$bRih;TD~HWZ$}8$-Yvfxa=5;-HKh(*iK98 zW(X#7*vvgOTeZZLW_pyxKma}o;g5MUvx0hge>O=WS z6gMt4UMo^JMbN^Rc!6StfFz2GOVB#ltTnp}mt5psyUCczx3i(iMBC}B@b&x%`F0SP z-ZFm2u@zAyk)vj%ab-n&njX2{l=I%Ilxx_&9nLRozPzwJg$t4!ilgDf{_=l*2 zu_WAH=8CefhYx;Ff2&(Lm-ck8unsM0ODu`G%P5xgZ6VkwG@nr4*Io-Drfyh<~LlL*-x>8hNh8a;ui(JVaZ> zD2y>#ZzoHGBu=n9uzreGim(l*g~WtQJZFT2bwX|U|6AS!E{zqfg{)fjGl6t9sTupP#Sh}B z>7vdMXC(a0f``-HhWE%szT1`yXeU?ERa%J7US0U+`kmz>_1E{aQE%$K++13n=v3td z$tN`NRcN`ex|Om_H(!6ftSw#w4!+d{6DL|=^{dHLcRQWdRuYqRi{(fCf&I3JT;@Go z9sdtsUjbBQ+qJtv5Re7|=?N+NtH1D~mylhb^bb!D3V@R%TW3?o5B zZ$zngcfQ#^#3#QdO;qB6Ebl8h)pA8j8@rpE$aIg*O&OE;7Ygbr$LDA23)luys%1RQ zW(m1=875nQ9g}*ST~XcNBbmS#q}b>x&u88b1>|9^4i1HeZ?;{?)pG$`+xDxGkum1e z4krAqjI3;n_8=CnG{n+7x|UL9#eo__SjA-F;lBJ_4!nODSjV1G7QAz_k-<9s!v#|v z(b-~yil{x>;E@a-g;abJ37qmzl@vu0nH{9rCa%vu=GIq7Ojpdkab>Z4v^(3Hx?dM& zfhG9)FKwZlF}|lPXG|E-OP_BBq+IcfVa0TurFfCacefg3RdVCrUp+fdTfiyDmB~qJ zGE1_Ur#XCi4V&4G6icfZ(8Q6eiRcz?aY_^Efd&=3452p(5e1%oY{ld7D8 zGndt7l5-bbPB}_dSqW8D#jvdLikTADw2xGx|83?IwUjVCp~LBWK#fW~6coYeH;pd- z>6($&5{i#_|4&`czdAPm`#KvN(KJ!?n+*O0R@^V%1-B?96pPeq13Yi zCX}Cn)u!MAZoSn)#`bh7dU&dt(u+7p0K;o%D^tioRu5<=2=p-~^y)WhKl)TSD#cI^ zHAAz4jg`tsMaKYWiJ;#l8^2~Td^ckd@IT`tm%s=e>DzvZXH@J>s0dA>V`1flITB&5 zQpExEDom(DlHbpF)wbb87Jxt;ZZ2B?H0~B23J-+m$;Q0!GYB)$5il^muG0q|L3v1% zS+P`$USo-oK5)9NwoFeZfD59pEpdMz16aYGYkenmG7h+5cit8~DK~xJ0=L+MS{b=^ z`t}mO7Q4znzI{%*(4h0Hf<&_nwWLxV>RM7$nM~uftXYNeB+Y8RdQD*E+-A$G=k4lE zb1?DR8_%1Mp5Aa$DDiN@Hf)0B{QU5|I%041i zt;*+wVstQ_~Bd8e<$(~Gy$-j++a+{5Wu)yrD1a@a$Rg2&I>){ZKsL^~lbQnU$h2J|BG% zOhrgAd+{T${P1$6ChC}Wew65u>^xWez#$oD#vvqfW_e1veC=vtYR$L0d&Zhg@%97G zGIKNDaW%!!M!}4B#X2Uu!){MR)c6+2NMa#9IfE7&9gMsib#E?p_)XvX68NwbA(wg5 z|6-`}G$($>sxkRUFJt@pS38rI0JHj`&w?n|Ky++Wp6fvb>R1UAZF~jQ#&m2=qZGX| zyAU6GqtoE5RLI(6QQi&lVLZ6(hcOnmoYd`XySd^`YT?Vdw!}9f;a6e!Q@k!S`CgS!o*Lya9j%pBtuCrR{l zwXFncFy$?wdupcysROU(9HcXE&UPw2D~+bk#2P$sq?=c{1*v~s)7Dch3BvmIszz*= zuSy8_B2Ttrua2v>akO}-&UV4uwu%*-hfIZC~&`edtkx@lYiT>kq>9aMdqkVYgyP9*Z+D!YCd6M2iN zGZ7`1m;D-a!x=1-)Xh51($V-ss^KCRV%G=eOKnqd7O`!Y*9Kik%hPdpcZ`!}5A6B@ z`;`_Fm7!`6SM4b!OqTM##Z%@dnHWaeC*~?{%+Ng&Z|Uz%j^X9#V)T ztFrdDOxL;{wKBaa)ICJe8CSq64~|}5SUB;R65gDC6LpEMbx9|JbbOtSwAEOOZgW!| z3psf>S|g4zA8gPy+y3F4itw?+-mlOT)i^C*X5a_OS-{;MI!&%*hop6(KJ7?_DP!gY2kp{Y z`hdzZ{dDQToFY9)nKVbRU^?RoA=XuZ;y88rvtss9;)DYie&Z8aDv+Y*5On7ng~YJl z>w6_WBjKZc-_o$kL?E71m-fyWmM>%fX#meu$%b z&54r3%Pkw^u))tS1_lY^BVRJ(YbRvd7iE5a8C5rSjMMwUTs4&A`0^A{6JI>W(4r|? zH#(vp$+f%NZ(_S(uv2IdCxaX#r68D6=%O(8%}}5JHpF~Y=+vO~Y^Sw>*s#~(vDT*0 z@ntn;Hd4$nEva#L4M(4HN-Z7`C3P|8-Lm-%nR){QvV4~DLCwwLl^EdAg>Dwv9>fd` z9vH{TFx;YdE7DYzjwn>)HPl!*9O<8ust^$bNyg+0M9P=&KZb>fS2cB>_G@{ zW|PmV@`WSR;yTP<8pj6mB)J_%q-^EK#?;d^YB+5-*riq!W+5sRnF|xCGSgdF!#CwH z*SDy25nt-_cgK<&dz2S=Kg7t0q(^i1KMfr(_X003{bJc4zMg(N#_>l7cxNLnc5OH8Si=%^`5Np66 zSFU!q(54zz1Cw%lI<^1Dp;*3%WCBGj>-c0%*ah zDzI#W0q{RsE?ki7rYUn@rv&zkpWjJ=#)d+G=Hh1@>1`ju>E7P|LXa2$MD+tLl?Rr$ zm+654Q3{aiYf#S~9z{CHIgguv(0g;xI~?q>t5o&H6SqFd8PEW|s@zobP6U${Uw1U+O8urn4GiS- zn)k;?Mj&smiCkUiU!04L3=G(0z)mprN!UzdrVpRAcjC^S{jFYiBOY^}jX5;kI(WXWhj-fUcGC??tWhm4F zB=@+r*EpkOdqIPZ^g}Gf10|r3$D%4KW-)1&Mwa86{mWot44rqVY#Yhg4CiYPeCBIo z&1f!}d1Y%jl2MYxWYhJx%fVGuGW0B%F0|@xYT{B*`!;`sr^IJ6G!6)vZ;!D+=}*LU zRxgNr#&Z=~08Zk-zaA3}zSag~VJcKPv=Cz^<~2L-CU<%S^8c@N)U*DjbjHtgA*(z# zlL0*w4_Kc4b~F760g%I3$@*aOG-hZ0T6OWdk8r1)eTXm>r78S)nJkd|~J z@1TY-Ed1LX{Qn`60(-wO{}D)&ZC?A5NI)RpbQC}xr4=88F-5V#Sj*GM4Id%bOM`=d zNEUO&lRNh?)OwJU6U;@*g3ZebR)WTqCr87{!7BfyN|XPnQZ(=8k<0e3(Lf@#XRJ~p z0(D?Oq&m#VNXdYykrb_lMe2_H+(w}1bWg|sGHf?031YtASuk=*lq=AXGVDZ?b7AJ< zw%EqCglj?GLMne)J$a{O#717vAl}e`#)^Fy2NTJQ5Ja8=T9*3Aq^K|xjUMrMCi{5cxfc1ZEpy*X4>0Pyd_kn8^`^D;ann>^7#Aeg&GwV z1hUI+4EXH2%CYG1J*4Ft+VoloEX%Rt0^*yQA-AH zCA0{>>Y`u*c@7X?Ikeh6-$C3GBM@Lpmk3>LFCrRZeeV%}qFBY1kEl0OTH33w9yTn` zv|K4P#-DP^%sLbRo}sHtb%hAA4X{a6q^RTVX1w{!fd9|UKpCD+)$Pu0EPROd1(kV& z%<9?iTJIL%*S??KWb(WmKS}XCy$;2Dw%#r(=v>Bq91j$3Z{K*@p;Zi&%xrczxLk90 zziVlKP3@QKorT$egjjEq#tA0`z2O5sT4R%!L6o=&F=(6$mK5Y^8pVJ`hn*3E%Bho_ zTpGVC2lRp-;+X&{nAAn57?M3V+5+~7a7g{EH~f3YjZl(Qo64GY=#{v2(a^L#xl^=K@V zRmvRbNObl1LS5RZgyZ0Pi!Z5pbF;G6au@k+ybKmt{)BoMuzV^>zpy@%ub@Ng&!2r z@aIAz@s1AKJRI%2$D-s2u`$q2=MbG(G3bsFgFx%I&Uh6e(e>saJG5r zrXVtJKrLU*w(?J}`GiAFh92&sQ>Cg_0Y+EX_c}B-5-@^#sJwyrqZQc3Y8B{G|IP*Q z20?rM*AEHwf7-yYgQDHrK}XBm^_qpF|IDFX3#C~Dm4!So*L@LwjW#?Sx5wJ?X>gc} z=SJi00T8v1AE`DTw>9`d3MDYTJsrpp>uG38U}d~_`bWWJ;8l$F+)`s{bNA!Nif`!> zkQkicrPAG-cgk3TSLCN2)OT3Af9-!N zSsf(w01mwtg*VVrVK_(ae@YNNN!Gr#YB2y>exrL~P^&zx)N^=p?mg}2^0>cs2UVWE z0!!cHc*`v_^Y7hEV&ZrUy<%~#d{a|xT+p$mQk}IsxICHDSaPX8nsuBzrBbO=C?om? zR8wL0L4#YJhNKF}*g8A@U-|O;tCaD4<9>TBSS5OP0nV*j@z=}}$o1o1%`bmE+ul>w zvX&frDC`dyGQ?4F$27(-en4Lc?s%CC4pWq|M|%NyZWM5^SY%*J48A$6|8q-11pjGE zgUB82?N4(qZ+Cz^HCVi?FJri~xOD(Mz3!Z^&^d5=fgydGfbC-qp;fz&Tsa|cj?iI} zRRwdB`NiONO;A;**IVL$l$by@M{JX9jn2GG6td`($PRB_2+*{ zWZ5hnGXYHwKf$QHNWvSsIeU_xtuVPv9ymCG7B{$pX+RFbnj3^P(SLtDz+0N|^~&it z&(9zP^$P**w86|84Lxrc5P=OZHR5a6ukH-1uC6^j6lS_xHX7DO=qXzbh!&KCTFcBJ zxm}QyG%g;2y&VoI9wIl7u!edF!*yIu%%e2Z?XOJ6?nLh75 z&v^#Xsh~p9YOW3vH#ljhPF_}&DYxX5@OcznK30Cu$)~IwK-3q_B(!8v69xp5go-EL zeU=QvhGcH+&|Uy^J8cn6g69WVpYK-SA|jH4xE?-RA#0na_X3z5NGQyEdO8%^p_UOo zxiG2S5nn{TZ%e_ke6kjknh-jh$e1e{1iJ_LR5PM`3jWIMBzcfKtnL$rl!JY%d&zQ! ziIhY9lH7rfqCxYQS~av}<(=eY*t9VQVWB!mts2Pd{9(`W!D8)FLE9@2K%oG==9Q@; zrVJ|pK|gGs@`bzz6$16fvE?5;)a{ZqPf*F6=Xaek~Ij-AiE{X zNMozK$YiTj3sL#JNkcg96A5@1j2dz(A9_`J6>*4z4QLO4{I%9BpZ~GeuxFjF)vOy8 zgx=5fxB{RIxhnB)BV;r{!RH`XE!1?`opp7fghv_=g|ZP$CCLi%(J7aKr~LNGg25go zk{L!^w49bs{Y>}+n^8Gd5&csl6a-H%wAMC(5E(F(^N#`eo=I>^Ee<@n3ZxHnf;Ar7 z+tYxII|5UirmyiRLHMs#!*h;rf!M^B^&Y%BK%1_I#8Unh&qvF~mTy!Z@Tz5%XYGSu z;kG{Z1K%OZ3tH93VdxtV_5ioKm4)tJcl z$JT@dep*A!sUs=eCd)bmxi0lRC&Pa)zCfShO~(;uR-IK8dP}EquL`Wbttx-FpqUbP zr&KeggJ@K~*nIm^H@9Y^I5}BfJ9Q@>Uz8`)IOEGLNb5zGZv@a+!MvRo<1l~Bx+nx$ z0ab2*R9wNf?&&w}nt6y@K~!dMUAACg~Y!M(q~Vgq>gg|bNY?(*O@sjC)}>LibGl@9WfOr+)CU^0w|p_ z<;0Ftu9|5kPjg}MYsDkD!depvzO8n^L9IzJ``V?lJ>q{93_AAEuf>T0Pylc$gfL3w zLkJ*AiBWh=M4WIbAnm2EG1`NzN3Yt$EEkYr;LXx0zo^XK+^o%e zR^Gf?>gqy0Sq{L$tNycpUFc38I`DJJ7g3Y;qb0W=*GT22Kg+!_J_?5U<TIiXDC~!XCNJ&x* z+M{{PK=;}^nW)U$4OQj=V>LX;90?RFMQI*JxFWe4Ni>NUs!#*HCXuAHok#w2>*{3x z+xBp)*Geb>(f84US^vc{-Iv4#wQdP0FC|Z^7n;>x`r)ku1`q_!01WX!iR9_Z z&@>o1H~0#U#VvzXZZr@{0%!~|B8GOTui9Hn-wSbaUJfBGf1O!VTBI`yhyOu$pBV8V(jpp7~Xn@F7~eqf_20?D2|eKQS4pV*9s8Dr-C z#;37rFi3C;0Y#99F2POlOqQv}okH0Ji_o2e05xz-swqtP zW}V{Ka*ZU#;CR>pKCkZJhwfzxjJ!hjxCa2tfYo5_=un~F?>e`oku=O(GgTFfODfCD zWAMvl?eXO3P2f|Vzmq>gU1u0qz&;Fc9RR_0jJ6b9qzr&KqpR%Jnd{wg!BoVB$s)lD zfCU;}e3b@%V|4}9Q0M%Eq_}yow#}j64Mk+a(ZD&Sg#ma->s!T=_6Y#>Av+l=i%VLz z_tkMnET6Jg!(*z}?O)8bp+UUd8-THA%c!+}>^*QqaG;lssjdhy9B9lkG*->lnu+ap z*%yyNsx2gm#j6aN*(#S~s`U?40z74mSyO^V2q$w72%I3Q3gY+{2NRd$?SVquy4Up= zJ=DiD^e~dQB&rC%48E=$80;RT-{bEWEw7VP2?T*t|0GieO;_;=v*`*j&z@%meWnpsMWIFla>af|izXa4|4Tg&0 zIig+F=tz2e3q_lgb4nrm=LKpQwSqtZj`^qZoELhyIIIpc@c+X8gR{<|=gmT--bh)% zH8}4vX(7J4<%A^?5ob~XFTa*z^A22s)x#V^d+fIdF+@_*FBx-jGspib@p_U)C09a^ z5Y?92X@8iOP*El_IqqwUh(G+g0VF_YTCd0$xl2H33ESXFjpaeCC${(v{_;n%O2pen zwjFbq|BTZMZiPt*^!;TALvs?kf#XFpbyK=-KHn|YHQdBa>GU{xYPHUZWjE4JY!Aa*kh?a=*k24kH zHFFrZkPq7?B7}h0M*@tp(Oo2EZ|>5wwqrd?`H)go;S`R;wpbZmt~=kFz4&SNYqTL; zUwE3fPmdR1FX5=&3T7w#uVHl7y8H+L%pU+M%kTntG*bYw?KGr_mrd5Q0;-@v?XL?! zdzf<76tT>eNeeP8pp{o4+5tb;)*+L+QO-9`9_iTr{+(4c>VRQMp3C#8`hkN&q+W07 zcT72cV(Sg^i}6d5-Vym#BR-|`Q7&+1z>7x%B#s*h^bm)-1LXW($4x8{=#wcq0itz{Zc0rD@0jsyHq4igR?fNa%Xyvc~ko z>ayarO_SD^_wkM;n#H3Q-;%ND&WcA)mNovUu!^`S%1;n&_$H{ z|2K_&xFZ!SLi{B}7Y^*6Lj^SEDkg}G!W;y!X#v#26d+f0&-khzq_C$MZ?1UshL0$N z(wvB*kXllh)F4B}%niYKBOX%WZ(TAzZi#FQObhmw&L(R%ZO;X@CZm9;#YF1URzp?Tn2AX_m~yF{ zEeNIVc3f)7T7U>fef|#cy~)aGfJ|g|yeKU!6*h%bzC9w6#;rbUFD!ZZJM~|LUCta_ z9qpl0iDjJB2jRd0oDsmO1MI_;zkg0iN`ZA&xC44O1Ll7_$j)FdOEGkBMee;3*uI5tBL=xRctT zfCq1DCO_lTB0Ats-2eNX0PRUp=>kA*@f0S?&8jF8qak^%k1(AJp&el)y1NKR8J=FW zpz#?`NUHwS=;G(!G!gvunFOIbfjtgq?kbdQ$BlggKi4Dx4b!8K zM=}Goe@H-707G*<-yhJ*ih~~Bpt7eAT8;-$VW2Ry&c_d(#l_9RxnQy0T9a^zT)AJF zY{71<6G%s`Q0~4u>R%)f=W|HKopKK1F{X9grf=7AE|onmTxmE^uWW1lT&OK0wY=$g zU$@%$CJh8Hfw1gVBW^DEDXYxp+8Mj!Oa*Wf(QsVI=)hakh7qWEEhxBTk^HWdWUXj5 z0@j;8_;rMiER@L)v$SZ!Pgjt8_aNt`ZyDku3G7FzQ(ejkXLl0=-!E(-gudc;-_R8P z15?3)0Vdc59B>U2tHG^cDQh>r#draPoURZvU?s*t8URmSC(#UGC0a48&^^8b^odj1 z$8~L~8Dotf!MAcYBqTVbMOGq`4q{|+(0HR zj+}H+`^Whs`WwZQmB;~9$&e|aN>p7Stq>rzAmf#Z!RAp#L8m`t5>ZHkTJ-QElWfOy z^7R#|K;woG0E7KE^!$$sVNV2A0kyDatRTw*C(+S+u=M`rgz@xo3JR)bK zbQ~K}kAtR=7D57f?;};Iq<{XraQJAYU9`WAS!^T;AiNaf@LXtmWgOu?l;JNaRi7}Y zT5?}fR(o7NBFzXPmb?!}?PCfe49kQM!wJ(R-e9Z`pvjX$dO|0I_;W|#qa%7M-?w|| zlR(Qj&cP_;fD@&~A~kkh2^ce~#nPrwfADjn{Cde|(6cLGt7bm`hph_g=`|3GBlaf! z1-L2zVGS53+9mrE;1$J~_b=D0rp0&ID!kI<=75>H?STC70s8F$@W8(#zUmP$QrF&#38p=3+~(4IcVPWyE09_kw&ztq&7I&kd(;S&uh!K|wz0A5^B)&kiDkAS zAb30VAj%XBZEA)s5}hh!R`LN9v)UKh=BOdgnV#V$=}v|h?r>I-IAC&y06o&HAyC3?{fJ!LB>=!7*9sNt4C(Lm_-E#)14E!pBICq3j0ps zaEkXHv^~ERVTTDuILNW(adSZ}IBgyft)^H3-Aa}Cv2hPO7C#!9Qj=FiMsQ`jo(+=I z2K+>jhj`st`ri5yQ0D!k?I#y2`^QY`#A%JTCE6*W`ywVsjK=h=Gx+ugNp25^r>@nk zXQw4J`P8f`bm5g^zMo=)?uCn2J*LF8D*P{D67|tv(|Wa|uThWrW`iOc zWbSV@re<%}H*^b1oga1XcYDbyPiHhDRgkf_`V9Gz_VC*qtiJU9dY#byorUZlq76e1 zvohbeG(dI zOjio^5C#C90rs>>AuKG-8M+hjTJBp9$U%m*>=@h!0l}(^!=fLE*oqnEGR9R~?T&ICYI7tbU$VlOA@`G5n8lD z2+hNffcm|GY05C>|HHNNph;vdHdwP*R4|f4=uv+LQ}SC0b&huDr%!WQ5JY~Ta)YTvtMANdP?&p?VVua5YHC&mF6P$ z4>IoXiCb@*NQ@;>TN%iTFT@YGe+ zMTjCc9A3>_*J1+QQWw|N+#~!A`F4<_zrWyv0HC zCJ2#Vc%|vWTQC84XBu7OsoVm2d3aHEurzSfvP1+<%t>Vbb_&ARQ`sOKlvTzjNZ|3f z(@>31%WxJkeRg)&A$@rSYN>~DR2tsZoMVIdD;2SSjm3`=nUW!rEKk5>uvG#xbman> zkiBrT8@$Fe?)xFkU>QP>zpSFdf;r)fOv_n+GvFRQ495)$QU?&X)!$qOzyepd2puoe zuHK4qG)CI4wHDy|Dq=FADrsD1a9c(jjV@#si5RNj#B7n%;db`m9LxTmXb)jDJQ4oU zQPNBr#+6{ z=EIR{iE0W~UIPtcg)W1s4|i;D`1InaaIU-ho(f`2^9>z1ow5oGlU?>&M^!2%h~<&= zcKzl~G~}}a%O}=w0bHDx17cHIeb`PWdu)g43ufpW=87dGp=1O!0TJaSPAC(CBa}0V zq%Q+}9g{q->t^ph6TCc1NxRAFxzkUtj-*`Lo!`|HT|Zh6eJ&aS6i!=FoS6tTN16bKCHor}mxAup zK8$bqP5>G&LD=Hi)(lYuVbp@3Uqm63MdWUKiLi=#!Tu{^|9zD^=hVBXxfPQATHL}2 zENSE|f`=8Evm;G-7JjW+6pb$e-+|q$?f&^!&;2z2+Cjuw-$HISStj?2S0+zp#JG=$hMkmnAO8RMCm+>%-5gyK9h5@=J= za(S&1BB26rGFk-7G2N}7oM5@!afCn$mM>VZvWxxW7Mk2cE4%Dn2Ki5V^leQc>CYef zjI7Ik9&5(&Os)xypV>laF<6tehmpB0^d7xWhjPK~+kzs;+PBBnhFEVn>m%kdk6J_A>vTtyp*$!x(`UbZatTl0A1%G4%jte$mDS-}%g5DtSkg56 zk}<|tLgadZB9PbMR|fYhA}@y<_Y47RaLR)ukQ9ge(=(JWlTdFirO?C^kvO+w>>aK! zN3-%xOyfinebqpf0-&<~BYj&ic}f&>$yTCbsXjp0Jq@fZ^XDJx1qDJ2jcoQi$N})$ zO}Q1LGa+C$X#KFM^DS&@P^_~Cn}?6D+(oSW=akGMV@*$82AsDWjLV9+iA6iid0&KEgcEZ{8v^mGz z!p_m@rM*Wh%LvvH?=CjY%B}4#rE?k)(8(yhw3G_rAoyGTY#|0FPiDa(oIR2Kxj{qP zGXz8Bgv{Nb&ZI^LW2|QD@r)*JPQpP))~a7t`PSC-#^x(=cVJR1ANiS@J~{z|aNuJkA^y*+ zkq*X (I>!i$!CBFj~vCRC@UtOt;^{hqiU72BbZj!VV7&7|cXkH-;uEDDin?EMH zBpRx}H>#ynX}-C#GhOJpFzjn}90WS{lV?cD?FAr2FuG4@jg%BI$=u>^2>^Dtsy9I z8Osl-kcX1Gg9^%CjJl=hw_aL zFI<@Dd<$^A|M*zeNHa_tISrl#= zb5IXBpJ2W78ku>I zdX1*B3fa{-f+;PorVJ`(E0A%EA0tzof+rK}P$z;R9}ypbW>~D{RhtBCmQIK0TzlUO z$bvbA3>hr9nqQQ-jjX5Bi4M=Mdj_-|=ki}#absR$sbU?WT+ZGn7(6O2Suy*fr3`LX zO>2@Io^8iov|G9v-uW*krtZs!ZRC-EkXKpblgz_A{ZJ-e^8=r~hCD4SyRP|wTNy_Z zRKa$Es-IpBW}|^6qYMsiHRU*sP^$axrSX}vj^ZkMT-PC2t6=ASs%(zMJy+u+ab}(Z z9tRbAGdNwoJbvEYWXhAmU75L{FDzPLjWrEu zYKFk5FHOB;=nA|#si zxY5KV@G$swisYSvQAZ7>cGBbLJKEs(xekiw1E({4Q9H!z_tVY4!(fV*@kn9W$xjh* z7FJg4&JL;H4xi~PucQGcto4Lv;*MFla}>w{ef4%EqFMlVkv%>^e+)nAc&ZJhV4XY$8u4{V^OdXhq+ji_qUT4eI9OuOw5#LK*;YSYe_^Eq{^Gzk3U zzW);;7_p=Sg2u5{K+xDwzubD~%x33o=sV@y-@q{?kXU>5z!~vA?Wx7H2_OUz6BS5p z*blF;EKuQDT@NyAFCFzs_CANJ6@!k`TH@-W#f8)VRJUaQ@$>fCdHJ>huOIkWi}D^< zAgkVmti0=vdq3h)5YVwOOf|N}gQQGV_mTcVudXG2fb+&&G3mg-h5tL72L$~T>JVS5 zSS%MJpka27_g#y|J6P7wS>Qb^^bmq-=_CW4qnzX;je>*fkFR?O>hTgQEbDef%V}_b zdKi1!x-Rv%t6qbT{vKPWZuc#vsMU)tXOwzgdaj{YH984gsZemqkedo75+DC*~TxgRN$>_%Vf_#YeV!uje8#wZQ05)J0f`={_AIwTb zKxRjfH~|)$fW^NPR^*p`215RHlif^=X9yel+b>L{w#a=CDa8!ZWHy#Kmgq&IkaRr{ z&yKh7ZUXO27$P<*81T?vJl)jLVrIDcP-y6(x@cE6UtZQ9u6xV3yc?MhTzcV57uYM0 ze0ly5md^?Az?67kfb66yk9AAxmg4~qc2kdxwGV!1YZ{x85E~x0(|Hv8S?mImYy|#l8f3CGf^4MGgSR6c zVVlu0Lo%(FA!om(db^9B<5S7{2@R7rcE_QNps%NMMPv2Wb6eo_W4W=z2`<;@kb0&t z^;M32yH+nv6Sxvi!XY}(Udm4{MdQ&V+g*wmpSLYn;Uxa2zp5`&1~;Sq)6Y|mmP&VZ zYT@m5dAfQY`%J0=axVW6+?9y{+FFh}D2X1``L_BOC~Bw@_F6lSeV(PxKM-I}*hiIeP^!v|w~{I?<5TmT?W>xqZ4u;7ni*6`aSy#mDv&h; z&80h5%seeKD%IC=V2=2m6j_1XLqDq#96`l(^p1GN#+WinAQKW7Ow49r^<$9KYO_l3%)c*-BaR0 zCcHffc|1G)&eR2-gDE_alwDnCw+gc=?!$ia^b5(JtWL>Xpq`L9MwgY%?Go#tHZNi&UBdFs)|1H;Q#0RoQVAud1s9XA12!C+PePB2ioc3?)r0*_w9NXgd zNF~=*(C-_Ooq+`6Az11Yya|j3`YZPT+2D4rl7-p)GV7gnjB4?vX%pL{E3dlD3@#dR zU5Zp|X1P8J4ZbL@jt0gXAjltI;ByX&9}VAhw*|h3eFuS@3=K^Ql4Hzhd&Q-C7nB?0>&Q?79w z;!FIsK(@(|s>&F`J)*ZkB5~wZ03i?QQ1BlkfJz4o zzr%{HCYaFlBE>Zx@tKE3Bbplq3X|d5jdT`c7G-Y*#Nz*4EC>1o<7GsJUKux)3XE zZ=(?iK^#;Gj}2G8jl$3Gd^LrievUE8KNYDAxxx^1Ld*o%9sgBfJj`s}wO%kjr;$V_ z>C2mi7Ptjp#+7)^%CpWXz2vW95Dp2HgxYRR1?66C_kC-=OqLH`=00($Ls*hHGixaU z26PPKI^%pZ5Wy;R5Ie!@EvJ(Ho<%`I*Mer#H>6b#v8X@l;`f-kcOp;%{`kBk{hKRz z9sm|lo_|2?0~ZD`Us5Mnj~BW#CJ63`PYi7S@T(cUL^3^eXUQm*4hW0$dD7m?XW*Yo ztj##D?Gxf5y#4;;Eck?C@+|foPWl$Rp+Phl6eV>mH&qh)@AopaV6x5?Mn-F%eRJ+F zV9I;!&U5``YTG(Vfh zuE4uEf0rid|Kf}G6O9w6z5FpE?UO@X=^(t+uh>G1IN5@4n?MYek0QWt(L3Q@qa*+# zBZV)($P(3M;}La68ek^;?JtP@gJnNhT|sV79Xf`XK2ZE?T-&z_>{87cw@0(YN=L8N zYKMD(3>1q$nJ4PEL@k&b;6`bm{?=2Af#{j~!ED47z=JKUT@JW#Q5k{o$2539*(R9y zdN!#vVBM2Sv8wxZg0F6|;S#z@zRH?&LEN;V+i?3xM{Vtw3BVz&CZ-OdTygW=5otGw zob&FXE`NrJ-Rj|8Wk+elwPonjiMv?^#S6GOKAAZe!(s-+?ga8@pmy|3gl@^@wN33= za6X?bkTepx@N1l>{1l9UTi;f&mz#Xas1PKRPoyyc6EqRq z7yZ5yvUA*Rcmw zd#X@H!$E^7p+swQ@q(Dkj7b=Q5_gp7B&flSxQcfl1rYwYKmlbP;nL}%_&E8J*8wb7TT$q=6?z}vJeIHv`eQ?>OmE=utrs~`&QHLu(F zL!=ZwLYgukS9JNzf&1iqNLe!@IqKeLOW!SRd@mg6!*h+EyEPv09!hE-m@9uNq*&{e zLWPd(b*H(Zi-VQd`@6a&x3PmwG(Kg3&8@yNV4$K)nHiyIos4&w$8N=l-80hgS2mxE z?R~JOaG)Cof4e&0BPynk`*$$bsLWPIL<)bAL0F2M9i1;G%gh^ez`yY3!{4?yADO|g8`zAzno6_97Vkl!t0{`%Fp zdyt;SbTkXLI2)tCR>_roA=M4f4USFbuKx@d#@(e(q0c@_KX+q|_Q!Mq0f@4TbXU2o zA?P8on#altABB?&Ih1)l;ulXLHB^z`^105~5ak)*>)p#xg7!|>7yG#G5|iH@!hHT(lJX&#|E6f?_{JMmtyV=vGO9d= zP1qx*R*>9-6Jy>YaY4?mDb#Fzr17b-4L7io~cw6P1J0bwv`9Xs>n%M$}S-V8~I_%-zH>y(NtNKM|KFjMm#1b2$ zp%dfDTy*1wn&I3GF`s#lHrsaxU(eZLyaTLdE#)I%kS%+bN_9WPi6R8O4 zMUg4;qbo|R-aOp76*!_G9MV%Una?Hv-0rXps9;`>iNQ;KI~0)?Q?u8e?pPvsB!3`4 zJj94dtz7($9bw$C5jNb7?Xr*7*OYVe(&V`{ySL2Wu9~MoB(p@Wq_TKh2h~S{E(Aj0 zRwIZ3NI9IY8BNI#PpNP^c8h{GvY^mvgkR!X*e;udqgrSvsW2AWb7Xhitk<4 zinAm~w2RyAmOQDr`6+-|Y6tiJ&0gRt#QkqAD3;5C ziY-YlmFH&9-Is^!PxPp!vwO4_);mis0jmRCLn(>>hrPFss&f0*$2SN95)x9u{ySwYRHtP8tubz9)_m1)V?~dVk2kgUn_j=cw z@yt1&Ip2*Q$%4XB!R?&7MeMgiN6y6?g?R$`LNmKVq4<1sQrlz&_vo%Ys(N2k8=YAn zx_J7HGUJX2;o4W_^TAYj1l8g3^e$G?D(R?GSS9s}q3hMRkk$O|%(_N&2^wIb9W%^#Zb40dt6wSL+L?I#3pnV;cT_Ws0 zKfJZ!Qqm#3l&hp{*2!Ax$j0QRftOcjsV-`f6tAh$Q&(-;oq$l*i?zhF-DP{%HQ|!( zzKve5lH0}il>LRazIjryW@DD4;e!{c87z={NY>76q%1Lq?L3q74PCOiid5N^AYdn) z-?qMKWcS6o#SAB*^%cBL%?7szmGKN(?aU^_^(=I0l@S}fKw=S$z)#)MrdoV!9@brX zhB=3;+$woP-V>%K-EPJfw!~)r9`i;Yfn~DVcXB#%J#Nk%L{5@NPrP3A5sgQC$sEju zeyZDB^70W2X)*fsGo9#`HW@P?8iLcEDy5}3GVifQNoM}{lWJGz-x_SU9_F^Gg}S@n zwz26-b@Pr^9@zuM3ON{%C zap^Cu3w;&3FOP(TvG2w?(otKjyFuhBC40)2XRH)@e>Z?~->_RURS1a>74xhJ+wK$r zS1S?0G}C$|1vgLhoGjE4XHO&bD2!J*ba}KgX6Dr+4k6MtKH}nh9}UZjHc9FEpt6FG z=Vz;tAL@^Bt2~NlyAG3K5-k;jIIaA$M;cQ4l{4`sG3kN4Owo}G`*<^M1=WWu{IYm` zGD8+f%;l)=E*#iz5%kQk_Q`X<^@YixALyDHsJ$fJCEGtu7<;R2HHK`Kgja*0C+*|&-TCdDG zfA<$3OA_b%{Wy-^<@u|{xx>6y@KYFsRc^ZgsY%sMoZYW!a62{_N3W#)B)hW|_?Fp` z!t=dZ;{cf*mJ~$iAoyYvxs-v3tZt7_A@Zd|Q2Cn?o0j`TosYw&B+V9SI6qYHgFUt% zys&~Z*Y&KKj(nL#y&SaCGU{9qTHW%QcGunP(72qZJ(61@aeYau2rKzK-MsBQ{@f&h zJQoa3d2redhueq^VihK4N0HA+xD@na&-15BCPw{Lo7 zdS=DTVUegL{g&*pp5hI~gV;Vq^7cE2T# zf5TQgV3d{-HM8zaCnc^T|Dg11-Zd4P6hl=PAF-3y))-k#ZA)&Mo+rCuq1RDv3Tvh= zl0waFDXikmvSl4m`*Bz7spb{fO-jPJi3!7Ba(wvOEuCx2gh4+)w$SO5t!9B3xcY3` zX0gR(V%X!Y56w0|p3ck1UQMk+LhR5m3jIf!m2ZxtFrPnIV$39n>b}EzsAiOT>nmH> z7g3%~>67?IWn6kjO=fKqY;wp9nx3ZtAXB`1DZY*Y$7|w99Vv zUr^wu^_w<4ym0o}l2?7nc2*x3^3K!x30^U62;&IqBk1;=`D#*akLW0AC%3Y z!*MSJkd1OOLFVL=YV^PWkyRBUpkj`Kj10%?xdK6$JS-srUsf7HjPeJT#{GFDQW!}C z0)__VYjA{zCva=3+7*skb@i0y;Wgp0U$@~DhHHl-oRB!4!;JWRToA0$ZrY$AW?B5A z+cVfWti0uVmaJCH18v&JS`Oc^S#JP}9b4ruZA(8Wc0e>y71*wWWzEw*OoRg=P|t&q z7cWu~WVKfJzs(v(1BP=uMDTmp?R#>)5`I7za;*AfAH2-0eJ=|06EdJN86q%zqQ4Fp z`M56VefMw%Fpb^sz1%0#-DkgVrC^Dsk1SLOH?w@FKhhRPg)7SP+>OF{bxC_B0G?MS z@>ABh>5zT_VzF6)I6FCl-UD%;JqR3(Sl155Nk0(RC#Bv1k9YS4v!h!`M-)vg^N$6Y z-mN!o>ovHOPwOH^-9z_g3dd-dBlHFpHMDga8SW+pZ(KfB4rYYlo3kbaw`#foGn@@P zv z%&j-3;9#dCDryhU9nTOxu1TP}LrmGQh*?kk@F_152d)erQ6F=F-AmdWNlKuKnQiOtl=eT`_^B#;)$NOIhb$}7Shd>U=#!JyB1=9!GW#8~$0Y{YjT~3y@ z6cq~#ri!R7oiF>i&ydw~I{^#O!K0it((_2Xy%HNR;yyT|lk(99qFa&k4U6GKiM2+0 zc6-V`QLRCJX_m?}MbLD8rU}#2ohBGYh@<&06m(Sf3aekjKCQ_gvxzH&2`vc+w)5oaMVSGom+qSY7na`y-0ptL7f;~97wam) zE~8+yilx9M!|zQC;&LAKJCtYBG8`J~=iPwUFf&oPf0T0ZhRDsaYUedV|`3gDH`KPY@a>0Z8%L3#lp zw#Rwj3EO~0>hCOZ{MA!NfBZ{ZK(2~F`3;p{by%Vj3!L)97myi#UfRH!5qIjH|B+1` zArha}@SXOEbr&+A4)HWtt4k8xTWeLCsIAQL&!qtdM!L;Auga@>du?(q>4NX@V{~k+ z(P|w93#UZ^=-$ifhetq@hrru73rn1X=qW50N7x$lmP}XrK~3Oh0q2D8=&^{-N8`}W*)x+NWoQz2H{@H z@iBU#aw)793OT(4tSlsKXyJ#GAno!cbbM})9Fz8g5xg?~xpr|NF zMtXGYvk_gVMZyod{z1d>!QR-$@v$|jyh@BzCam+6SOUX;lLf#(_@Ku&$n|V5$R76s z9lL^N-$&sEtTDTGj%tSC?B-=5gd9^0UNu|EIGTAEuhD{P={~Y4XqA4zjmZrT{}D0H z>IiKBZ4OfxZvgrlPe_naLQcvEK{H<50zy+iapohcPvF#}aD|o37w=xS!Q91!a)Fnq zsV>k-UYs@thqVb^G~z0k3d--W0$ zMcu#p0>bFul21wwAsXNeCj_r^_P^gQ788$gBn`HIM!%?n+Tgo(K)hpc@`ttTTpivf z$1D&NK9m$~q?2+W6n#&CU2kZMHf8>rGcI41dWM;_c%qym7K=T|%m9I5F%pSDjV^ya z5DySehm?OIoWg3HWBEk~$73v=7kiUPx*(zLbm0EwwcA2_>&5h`E*Q^Ice*Un*BAI{ zIo*c|4?aHz54!@G(H6oc`m4zG1(akim0+hiZdA?WuLA~t8sN<~UTsGFUYh?18V&iv zNvgV^e?)z`>W|gE>95F$Qce^F#0A~_<`E$Zy zE=L4_Y3@#kOScs6@{ z>qk^j2WwPoRFhjCb7`aGXqMQJpy7uiocf5RD)sSyf=#TrY=Gt?%(&oJcP+mxtCy3% zO2|2+o-DtG&wiU4fP-{ayK;gAm^l3_--!E5JM;HG_tV+MWYEVwTstGC*n0O`eOq){ zb=|=Z7+o`N)fG|;VJs!N^$p+;rZ-dw1dWqJ@ccfTR5CX;MYFHo;={%c!EUGmJ@Bo( zKLAAiLm1uquvYsp@9lPIdkY=tAv?-xU%-j@Oq+lE|E;5R@;>4um;*B6cD7#Tb>vkw zE<92=cfh3S>9yad1Ng$%L)~Q^onf<34n)xEz@mY*XJpWPT)@lDKCio4`H};wVouP6 zf($prTlz2#2f1F#pRgI!{`yN_UAEml29S`r6?t#F+x0_L+u+$z55KfHs*R?|zQUG! zwOXFLM3m6%H5f2@N~u@2@M3BFrPop-5XAS zN<1qJ(Qxa<1fHo$_+AzBJU(damkixM=N3A0H(R`mn%MoarxnzeLy-h#n=m!#)~h*W zKie;u#hlKtz(5Eq82}+pG3(lg(MQN{#J?-fFV{CnaF)T70MB-VJ7yAX`j#{>(&TQwED>`efq zO{sR?bAVAx5f4;xw>2(jAQTzB40^F}KQO23Owqjiz%)bVsMKYW0)@BbRtYB5DCId1 zY^lii09L*Rn|UzpuzCnOl)n47zh5!Kp_dl)KLo7LoM|YH0^10BcGDYRf&-byZbon6 zahZn5AsBWrz5<9UmKZqKfrwm_DNVcO>G))x4bFM%^ z@xILMt8v?%Wc%E=hW-y@bDpeJ@^Cumxv8O_u^{MGEZ$}Dz(6Dv29+0VKT*Z-LIY^e zlkX<>zg$}=-k5r-z=r1d;6TAZIE9|V4|x|&RyZEH2VO)(0u6(>09E0Jm;#SUEITst z4iQdWGpQ#C_FkrusSN>;@alaC%Fgf5dQv2m9it*P}q8bRJDvH(z zL_|dC`3_A+lTn#}UYLFv-GFva%yV?y^Sg?M9itAJ8=Zmv83{ru$+ZN_{K{CbWH9zZ zWMqTn(Y>7fo?V9Q2Db()Vs$;1a|2qRUAl?N=B5Hf<~EvC=*Tt z&?FsKI%|2qCq|5&d-{$dq?EXt=Z^SrM&y^aYsJ^=M%$=ui#OQPM?%H~rK(FACL%W@!gd@-ExF~=UqKOW2w5@g!D3ccFZRJfC*2YaD0B)%6oS#!+yatq+=UJe3+OO#`uO}cvEA*P z_V=441iQf-mCz=sa#zR9HvD%MG|XdnJZjd)oX(b4XFg(RguSK!+0N~+-7oRNtv+ud zd1@a$vMv&NJMZlaCgo0NNXwp|B{N`PgkVj9Nq3RffT{I~>dlA7>lg3+y}nlme>rt> zHk5ph^Z?Sb*RB{{ssy8T&V|`CYf5wb%5H_(-;$)FtJvFAzy!LMcKWV%t;wfReC*_q zBBkYBFv^V8?*0pK&k#&KwC7+L7sV+uNFwFjB>%z4Zz%V>*I=K4s7G01SL@5XxuNO} zHT2%t>59It>IpM>8M=N+mLs93UW%eS@|LR0l4Yl0zC;lxNtk z5yYvtZif8WWG^?9LOzb8+B3cdt2s-HvqQ744kWSXsb3e=3e}3>;mT*;=|V`CtSzmq z^@WAbUw_(d>Ty?ymC|-~TNYRGF}#UC4mNT+8cIsydD<)5`G>s~#eu)vSXjsu!;!w8 zT+wt*@9nje*Qf}3x%VYRKx2Q8$p@7H052mVi9g-?E&%rfa$Ks8eJkj;ud1SeF@9Gb zUy(e$3yFGi+xZF@fpiPr_30rBBIe6KOyh&2_^HB|QQE=Fx}0NpxR`rbPWYJ6nNC9s z9|}m(twIKP)@S8e?3Olpb*ZB|F0-Zu9c9J`@wIHNk5_uG~4E|>m zWu0Y8F5q?VImVa6i!tDY_}vSL;4ZtB|BDp?LqC7$BsdIM;W|}PH1ph$_yQ9OVyARI zz-)*lSkbkMNjGh$ASBu%r-1NW7fg#=-tl?k+v8O~suAdpx86YtMi?x9R z^Av0lb{98|#_=c7|6sVHcpZg4W zLg$YL>*p+2$!IktCMs?sH#{OmlDssfY_MIxnYr8Zi!y!Rj{g`^zD=T=8wG+M8+-VAxB*OZT8I3Q zZo>@$!uZpZEl!$G;axCdx9)1H)+a^g}VEvDH|m79~NL$g4Rm!@8&*U-Jxh| zx!ZYi!avMAOrH>2-*8Rufr5Am zD28SAd=?}}n2d=Rb+`&UX1X88Eb9;6OOEavl5mhXR+h?aBf)avNb8sX&gyx+mxFZQ zx_#n8R|!{{GV8$|x%y+3j*Kox?UA~-VUGwIW3OH2>YyknpFTA5P{?#@Urh(P2LtGT z`*+{;Z|Xf!3Cn;cd=4b)MgrOj9DM#`St=NVB;47q@4 zaHb&HP%hsWrwe8uW8y$LIPj6dAYOnDT~~}$0`Yv%LE!&a$puz`Q7?Hy4V#p4mjJ(Y z=tt7OJ|E$7R3e(@HAA#NAPBU3q9Ey$D=pVa`Sxl;MA0ondKj1h6IMa)INywdejY>> z&EF8RIKch6_**|dZ1H{;lWJ)3Bi*W}4zKUwcHilrcMSPRJvZ0Dc>Y;R%E zoS=afd_N%+gh7e3P>G*TzaL?nTW6KXg^f*^i;cY-Pr_oSG`U=ufB&iLw#y_3_o8_= zM&|2*vcx(bLDEgWBX`&79@C92yx1d)6RU(T;VmYIRbr>k)oYR;fxGsR05n^A&vuC6C24n?2Tx=G3XuIT_tDaMvA=kT)Tw}QYjDZ%4LFVu$d%;Qf zQvyq{p!h602Vk-}7;x@9H~JA&85}^?UNt)+m;b*hPtnt>`aV^gT3o5h(_j*<-vs4T z-vxtNF97m}`KNZS!tn|wvtCGz-}#Bj9^TcHJh*?$MMVZ;1t=$Z(}|TH)k(6qtnpWb zg-&Iu);hNYzxI==uWEW!ZeT?$PO5NY7X)?+eA+S1nAQJi%uU2{yl;~}cYM~)J`LK7 z5ZnZu;}}{e-aozSU}+F24Z?|$hTg*$rCaOt3!!e-itw4F~!Gv7JL9E zxxdPa2%kRMY#9U-l27NByO%fynYGWW@-{pN2fcQjvl_lKfu371CH55Y_be?ktbp~` z$@+<|ICZtWt@c=u&*SIimDttBg5%9kImnQPyA$1O6uK{D%sCcz&aaV~n>jjDbvF8S zNcLQ{%f*DWyNW-M`V-SLcewKPZC(;45jTv$gK0}UjIBN-I{3Tn2zp%Dw1fQRs!|Y= zT1EZM>%Tba?@u2NgWfA^gqP!C2T!(nyv|R+#M2zDir}I1+=1(`@vvYVs9~(N<=8w( zBZhw;nP z28nvOnKKos?I04I3HgIZ1@-?Q z+6L0PV92YXag>T0Pd;w?8@<-o3>W2gb7Uaz$B5Tl7K={am0U2o?4CvOB^ZzvqwP8O#X%tPBj|6hV|eZQ=#AfQPKE3bp3UiZ+I}BC-Ix; zAz`ncGJ#F&mg*9nj3^Q%hEOj-{N5|gVUIKgJvaO!@fhSGN%Jj@6bO@*JE=H^gu4+) zbk*31Q?oe2cSP}k)S7brPg2{SO(`9fa{=#{pZCbJ5MURlFiM>74W6vEDi7|eS2Szx_PDYWRh07L{2qD`r%d+ zeZc5(nMtH%jFksq>=7{M9J%s%%zt`o6dd1AVa;!X%`*O3;~Dep)wgYrOT74e6c48Q zf5;vEKIpgd>CwJE;KMP{c!Ql8+NBHFw+~)Icv|4*mhY; z?@8-6u8R3nS@^IOalLygjSM@{D>o`CQgLBLP~fO7ZUG6~N4NoI6rA5H6K6oTz!Z8) z5memQ>tYh1b1vZgnvaP$$V&o3n{CH8Vc>LC&H`~TA7t=se>DOn*X{J&@W&!Er#$`R`7ttjz{p)d~V2}H)VkKh3i=bk2?t-GtizH+k zcD|GlFqs{n`Lua`KSE2gpz=K!T5dMQ@BaNx*a^@f5?=>3&UrntDR_ipx;GCYwDBTE z8n^9R){DW!mtMa6*>w@X!9C~F2%F|4U0NVzmC2i?!QP&=ALk#dS!JJSrJE`1Otvz! zvNjWbI{RgjK#dRY1B8@p4YYq%wNdYy=3iN6L|zmFHs-$cbytHcp1(ZBkNgnUrCohh z_;&Co7XW5s(|_7nP-;}xP?cXs$lhbt9p645?*cEHaH|rEcc5;2CN@B7iKwR*fJ7#Q ze8VX6gGPC0yv}>cS-+hNlMUJW_{#ND>yf9i`xEcN3|qIY+6wWc3#r=z>zgc$Ij&k* z)a$Y8f(n1F5?Hu z2W#!D9w#i;d7b@xC8gPJOs#73CxWi0S`%(j6GsX5UHdf)39qmT%x^PxvRr?116fcU zAz;TOxJ2ff!epa>dR_ElQw<1HiAG;pP*;0Xda|}x&;01)`gBAvmL#iLHSwNH@ad^im0( zoQ|OFw*Ja9g%&-7Xk&y|%xE?N86eWpd%Y!+S-2lPzj`%Z~&4IRf9E z=_6siyT5<4P$vX00e`i$b%iTW*mn@q1_$Ap7}OWiK7JY-bypjHb8w77@Uy~nlJIev z(*#sF9&-lOG4Y~dM@E-kN2w_FUD zilzJp2SO+6VIwpYU& z%%cjG2#z}%*cyK>a$=Im+||LhV{M}bK~+Va>=6O1x$`5xquU^!tCbyBatYPW%e&2<7?7y@%9v0@2I8q*5cwn&KPSRRn4H{3Gcg69 z_RX()Z!O!~fEFEc@&rh9+LxTLwH@A1gI^sIbwW>uU(!bjHVQ``3?TVRsfWH8T|!Iq zLfoXo=tQhKGj^ZWW5OrB1(8N>-Fizds5k#owMq zGxw#JK*wN@N5@)ol(S{&Z6uuwx~7kt9LOhFHC86tDf}J#(10VQYGY{@|jn93S zLB?*4kqwE@7%1G}oiS>5P6?h%GQy?ejwW$U7G^!1I!QE84*?V9{O4Zplr8N%cROH{ zM07)qKq1B_ulEI}V*u5U2lY?VC-zhNuB$>Y+}B03NuHG885;&gw{a!Zk^`;cZCJvB zx8Z$)#KR19a*nXG8+`h%V|aJ-$6?fmigs-62=TbJZbalQsZ<}-)~;5%cwX1k$#t+y zJAJ>ges&OA+pEzxP&t>VqoL#R)#>1P{~SGPkRyu~cXiCy$;$2g!-k{3$yv5F**9Tz znS*m#BGcBR&Wu5MhqbJ%C)rt#>XsJwh@76pI_d>|Qk&by5t1}*u5wJSb!p2$UIPsz z%J+tz{FR2npDImTP zjy5ykH3C{mQ)r;ZrZ@UP?qKbH-P1toe+aA3ibRv;!P zu5bbA0h@7KImey9&IF$ELbt0}E9H?yK;L=&TNL6>|@^N&I zN5)`D9j8FACO(S=%T6I{*>v!zg~`{w8sF%NaoxEO=ULR)dGPrGj~u@p=uOHEGG-s% z@sY%|!2;II3F)_;g&_RLn!%DRj0u22`SI@8S8gvLg0qjvhakW<_1HR^I`8rEiao!A ziG1C=x^ORkA7)O81#L__PNgEGCvM8DzRQ$V;VN+%f5t9rsnK^Y#U2>j+O+z>-BB`! zJC-X^GjgNERbIWyv-ghoR>tDt&b()CBcnY7l3p$KyDF1oK83IL8GY+`$+WgPQp!hW zvk(LviElZ8lkju<{4He9Hfq+u<>LUBjdB z36?~z4~qxyqod;40Q%M`(3ynuQxak8A=dzg>s~w;>+gX)xgE;pO)K9Kw(qsdmwuE))~$D~O6f1adm8{Qt|_HO$F>r2Le>1xuhQ4^qf66HnGk1FU7+&hKEHxv_t|-F#fR5$=3@CU~Z{M|G>Cca?6YSVXGm zlvPDGqvgb7W`Zg6a6o-cDK$WXG5+uhww&2HP8)qvOm`kq;4>6~;BrqbARNtYV94;V ziBa(D9lHO>#y=jWug{Oe^k&6$Rrw}k(| z7!vLNH`|7R{&U;j(ry|SPQ^TeR0|I2zJv-a&ifIjn_LWf7 z-&6_?6I1*@#_}JnTdUPigw!B9>7`yIQLN(5!qQa-5!BDzA(&ilohVv-lAQpbAAKUT zFupWN6l?^TB1(e34{KJbX^TM(_2w z1z()P6D;#{vSj}6G%@mN4YpOnCA@Trh+LRv*6 zz4i1?$lQYp2AQb%&H6ixXv{_?N#AxXd zfPw#zqM3&5u8)K_iJ_wJQBLbk&s6XAl+gzyy-(uPAJ!s+XVrA?cdskd{}j$9Ux`{U zzAk_`Nk@xWqD~X0UOTGDmeMYPpvQ8c{aE-l-xgT7ybSBE*$9tP& z61aj571O>$;r`pHdpEy=fRSA9NnrjF6i0YLT=wkcdx`^OIOmok(R?t+3o&(O)$XTp z!8C)He;0RdwQ4$lASQd&BuFGin=QrY+jVVyrkU~4v-S<1YwBB%M;iAjv*kj?)yA~Jy8%7?cAdEz%^{(po6n22ze zADw75lfo5_SCr!5r4kdZ-lFZ;Uff=5sblE4c)PPYPA2D+G(#kPbk_6!_JnEnp<{>! zrNU7qi+_QK$&=51aqi3S^(Y}-r4Lf<>&8^iwW$#FFfs9Aw*LJaL177RmEV_%CHo)6 z`DZMZ^b=)ZUh&T8-KiT>XVV`}ux3u=NU`kXSqPzC&dECwNl+DTpxKp537W`G;z-GD zIEvr-#M!1Kp1b8Ba{EA_AIEd@M(FLDVfLx`TqF6fQ5@m<1kn1cnB>4(r&50})ctb( z#p?VcEO{KRxP z26rC9Q+^#@><$E1SV!zP$pYkA{(plY{`%(2#sX{{KV}mwK2&1HGnO{OC&K z?-34V^uMtgKLH6P1!j78>r4kF+f`#AnSTE&LBdIR*%*f-Z%VnWY$wssf!45Lg6PFZ3yS``U1<#Zxz89C5W$l7 z$6uF1uag~-59%<6y^s8|n^+YhP??vjb5@ufjt-}u-+(0tVu!{D0_C=MAQ;SDAO!Q>=}53XD+)L4K)ituW1EGy_>OD;ekCye31n?r5GPGk ztLvlOaBwKH90r1{CtrzcFK zSqL-EN-psg)3Kj|P*zVa*GLK0c;|)xn?I}(iup4m`xY0fl9i*TdqRT+`@!SHv!L1% z>EvBr8T`LGs%h$1rin7*6G7YD1`jwYKy4KXB_l;Nf0bSBnrc+vs z%_s*FgNz5;I!b?=KP~I8^jsq~L_S`%%4|=XrP^5{Q^ps>yET~cAS}{v3#(uAh7j{I z6jT6)A+Kaih+iHmK$^PVlePDe)8?bGdej68G&pL*wX#v&t%NACi)Q+ov6WgU5}GWR z3vek5(2b$>Hk3f8dFN<*;eSIC^P|HfM_}6o4CgB8X$i6Cp-iT2bpv3(a0-# z7ZIr^H;)np_Y{nb+=c?Ea9EhX|DU8L@Cj=eKi2XBA+1;0%|1g(XpAPfSBg4o^|(V^ z=5@0X+S|to3h@i2I07@fh`0GZ&yKL#-_DSPgoHD5cCzG%h*m$=PM&}Ouxi5-g6U~#QBniy-Y0T1+|z^Xq2qFVs_|Vs z#Ws~)TE!viA7n~zt5nR6s1{KqfR{mIIuj$mY49SpBYcAJTfqpK<0lv-7KY<(pF`{U zY42I!fo-n7>odcOm zGX$Gj=!kKN!8FW6;Ke6I$OL~U^+4d@etHj(hLs8b8Ia$DswInwA|dNENRWTzOlo;g zIA=+%*l~zBE4RGJ_n70kwYXx1qha<=&UE@HO|P=QxRG|gPYg*0StAc;`E@L~*t>M0 z9IZDhF<*x2HHtxSJ)L=}@P328-pv6&oi_-qhOhik|68z!4OJOrn#PU~7f4)ux74@n zzjeEUqlM(`D}N8IWSAa>#E99FQ1YJAN=xF`Q@ftHvvR^H3x-~K&6H%tc+;fa@^la0 zbo~E0X$~H{1#~@Mih(E=07IA$GOigr)4bw#B<+#yYwDoGm_|2fB{7!GR|^$$<4}!| z4C3t4yvO*UHSxhZfiWj~uBBfhg&w`89Q$YW-iB|V?tKFJWHQ@FSD*i`o}c7@N;wE6 zS3%dri+?3fKqPZa&eMBtPj5rr*cvtRR}ES!Zr!SsCrFx?_3c@@lG+j}~;<3*4OKH$M#Cav9xlo140Adz77_?^FIkju{Ren0JrlTfi}QR~+C0YOSu_&ZPMQgeyojTP zo3e?N4|NJAY5%^HETi{%e{unSe2(S=nV90vYgLB>6;FHQdiL1+YOQGRZZxp`_=9q+ zSFK;GE3r(;#vlR96A3h$LM1x(pQY?LXf4y;=NJX`$mdewy_>ypFu|BoRwUQKU|=QD zea}pX@PYEcbVrJ|8wsy`Uk+Y4F?jzOeppturfXl5vSDPIQDhm-aKJaxd((C7E*hQT zmekL`8qinM!r|7cF_!q(ke@ik?}yOayK0^^R%AP~qOk@+k;;^@ z)~H+x=9v)q9j4my^r@Gl$8m*oI=8q9>TqC(WgU1PtlhR>& zG}BtDV-k)}lN9NJeg|y$d@pft5fys$OG|LYgvdDBw$h#Q zLVX_nkejlHKlU5X>oP>saOHO)JV8_<`})(6njMFz5@(!(hggGNg*h^B+bl=q#;k`4 z(`6Qj=DRDSC7#$t^9Nh66_zBc)!#|jU-e&YNYVw zlR-eu3q#BzjGip7ZHSFbkSzi65N*;U?l5&lEv2$Ly4_A-I%8*=NZcAZa6S?eO8orjf zxS*gdjkT6yPB(+TCh*^G#&aKQq%RZp%(&CB^_;eIRGCCEK9DY|J04*fLzo1AK|D5i zlZc1S?*{`1M6070Ny}F7`HHc^mKtlJUf(KGcZRb1S#WPevgN&2jJ4vHf0$XAGtgkv zR_0_ORBSUPB~m5B5hX~AuXwxe3iN^R^N%Mn4+A0%X*Du1@3g7+wwFF4weHlG%6;1Y zm8#V07J&odWNtL?Sq`38u)NM(>qrzY46nQ)iT%dmq*l?Oq4wTLHB^s{01Z0sB|G;la8u+I#1Os?N?A>PfCT3Ulr^m-fUK^rY-lGd; zdsSXY#Q!a*2fxS8U}SOFDpdU3T9KBisVaQGdNi|Azet3}w{r^w8>P!7pDg-v=6Y`h zE59r4x1x5Meww<*Bmf*rg{**h5~W;&%o61TrD18_8ozIMq8Q@u2ZYYfPH8LSL6ixToB3p*$9XlclOv`8MPJ5%}^6)x1{U zv_zhmpw?sin~hgzNJ|m5qQ*z70iT9MC-1@e1lvKJ#zm|vp{6(A@VVB9g3*jRAOj{{ z+MrEoo$j=GAxyD#?56Af-AFdtbb8+%TsL>tYtm0r90DFoM1X&lcN6#C4QWQJdtyJ-1QS-p~-F=o-&0B02+ z&Q#q93aZ~+yY9Udl^2few1mctH1Evln57DFjabHI&Sg2}WjOoj+KhRg-cSA7&fI-% zfa0SJFV@q?wjQ{56yt<*g`Wi-aK7g69jch%-BIJIXzGZqzcz6IMF#mb6Hd&VzrhEn z8ayRF6r8G%iPm#xBzPN9rE$9okfTAkz_<>tgE&dZaZ@hw{IGqPp?Umxki#TXrMg-E z)VMQ2_2L0I-ZA1TAqOR5f9j@+w*{Ipp+|M+h?B*fC$Ky);7UH85|n#rH9R$+bR!%j z1PS2|7bLwBWBFov4MZGv{Jd(gH|Ze)x|Q;PtHx_TkL@p>-nUSGuT;`EP@<+f=+ZJHB+_FURIxK@&9{tWwVE0DGnGl= zx#_trm1RcmXL7zi}?a<1e#M+TT_K-_(BZo6fhCnLTT* zV|D%b1>shLhM3mgcssQ8&fFTmzjt7z3s11sr3+m!Wv@%5b zb~{+s^c5sW`R0%kT{$T?LiIHu()4`85(CApb8%4vxxfnYc~0}-&?+B3D9@-)8w|C2 zGFAyZNJysvOWiat$XaFRorSORNJnO5WxbYxp3liN5i%3NpZjxh=7=nmA2$SMwC>jh zvE<<=-PLn+>tnfFDu!%5fpm{$~4_2z4OjS=cN+3H%TT1$_AY%J=4A+!5{Vny5|4YSy?hV=Fd zU)tB^_E8p8@~IIP=QDOi9pfXoy(LKxN-6c#kBhJJG^W`x@zo5CkI;k$$9OzSQ{+m0 zL-dX({Oc3cv4c5B=~c}0Y~?vjsv?j<;<#aJY>dUa_ueSOVXA1WGa{x>`@}9|)+V87 zlIz~KdTQmHyRej|=bcFQvFv!(Z_4lXy)<7*hrH1lxg8uZxgo4lK|_rrYt*)u`;~ia zSh}>ZZlB=tSR)fGP}g6PzWtd(`I{C(>A-NEkcu4EcIv|bebz=x-JK85>#oD`lEd-R zHrnP>o3x-l}U`piCMeOF+icF_Wkm#L!`+z?n^ps0u23?Tr$V~`zz zp@N+982608gcmgl%k|Vc!CTkx~7ET zvv5T2!)y zt>>n8jVI@prk0iyVEckEpdj=k5`kwO72vya_&K`sNVl;A4;sxhvA$SaYIWxM?t>0+ zn#lDQSxJM6nf$l3uNkqIXyzPx0gPu%H*TnjrKIfh#V+=4v`SfP=D;fPaAn|#afNFQ zqaK$w{h*O*9-aR6lFmF&`^aAM*IBLl!(q8qhITb3y~>Wp-g@y1O8bdH!}1aJ9QZvA z>aGgNp_2VKm??YGLsH`9O4*M8Kla|jDUR-27se7GBtY;$aF^ij5ZqmYySuw2KyYVp zcXzj-!GpWI6Wj)F^Cs`P=iJ}<55BJos=9h+cJJQuEPK}4l(nVtU+9CpbcSb#^Jfx5 zOn}%>{VFYl4Q4@AwMpujcw%z-=d3ZWjz+q-8Tx7&(EE}` zlDnv`6_$lAgf`}wLpQ_Tjuqy~Cl3dVp`0p>TkUe5)y?ZB67WfVWefP>M+10s-@QO9y@B#L5@pK}2T zdJE&=DcE6KsFdGvyD?w0TRxnzdJ+Ub@8G&yzNt{O@W+M@TcVCGl#s*$)Q{mMKZv6s zL*GbG_|Eb1drWO^uTi_YEIls*0frMy<%;v>JO_hKGN9H2+yKNf3=sr%{5}_Fq@6Jl z$9@tA`P^~ceTx0#hU6|lV;=+U?Kw7B`&IgEDpZ3-w+@TAXRvYxRf_G=?DFO4Amc>L z-ZAZU+XZW4=b)I@S8ScNjg`Kso3fXA;+lcpopO1mE{t zsDfyts;y3v#XNzLBXkKcC=NbE2xVt~td+y*-eI+lJYTMg9&~DwUM$K?=89!3h@oe~ zEQ=l7iw$gh&6}7qOg11sLz%u#Pt6iu^MyNu(IwZOyl@UOGqFIgT^FP2fNT~ZnHY1B zIqB8}4bz2BR5O7piiXR30bBK6Zc#HuVMm|jw9X@c=E znmBF?sM-MXvwa!~{oWD!#m&^Fb5@_E| zVmdlQardYGEBdc8bHa|b?Viq(R?80I(l|hDdm7NJH9%Hnz?*qGBdBktB$}o(xu}=7 z%{@z!M;9(EI9slq_e~XrYPbwaU z^}+O;oiqj3MRg%_k*4HxcI^a3T^y+fBN?!lYf(#TFl+{`_kPKig-&Ar+#FG8fX2)% z0t_nd8RR_XpV>}~O}5cA3}08i&dSK#TOJQmJXdk|iBX!Y4CgSDei4m_3h^qf!$TM-P-sG6LV@j?C#6cF7E_ZipGig|S8UJia+e^Xm}hSl$Eby85hr|T zblw@^9-lwB^~EiWfvS%n)`G{b>ex`HK(>UOQeuD-h+z%yECTVb-}%2Klv%4Z@jzKp z0}|CT!Qyp825*m$p_(ET@~M^QgJ%W?<4X60N{pVUP|Og=Pt&%!RZ@1fn&R>YH>E;^ zO1No>SLhQ)e;4mU1*_)&ie?#Ul5`O>GB=AO<4;#GE7sdlKmk?NlD2pwG_j6(k*%=H za8)HgNdhQH#b^^BryLB#X7+ldro|3$r2ybRr0%9( z`Na_-QyonbrI?x|%NE9z@>K)ab!g2}LO=g=*S!}aXzaGqj;-=z2i#|}5YFbE>~H71 zl!aj0qI#67&;H3RQB|%}Ad-&j^Anz|lxF3TRW8oA@q_ ziyPAE3QmBVvmCj+{V`-SoQ;+r5W(_<8c)qeOMmDK1J{9DojU~?EBoZ-b84H{$D)9* zF2)v6h-_cH&R#}F4=-N3^OHe9-?qU$4S*Ovd+#iO0krV(q2#-|k>m@?>z*EYQqM1z zcbS=8dsRF^qmKH`J`Wh@U?Nb(@8ht^+w;1)Kla$vTR#AiXPaN6+X<4+b5|l#QMtJM^P~IGr347Og{gY zu>4?^Jf01ifRT#4#%P4)ay&x;kI4XFZ`Iq%XB*jvQ3XXr_u$wB%hcv?4Kt5_ltmGdj+g(O?rW^5dWrff{)i*dN?bi11_X9&lK^$u} z9;_mq%>u+c^vKF+Ey!u2#FRc5UG8*JUMIbU6mAv9vq|X3HXL`S%)3d{q^^35;fsgQkfJGXYnw7&H$rNyq<{SjK2FjN5`0vNn>>-?6j2`S^!mu zM$rm}W~B<5RZHo|+(g*&WVGmKHGjWVOsGC&D-lVEB25{!feTY=p1KC6=zsxzK|FNI z%_w+B(8xZ4XhqQM(Y^p|U$$h#nl=m*st_NWs+F78D8`k=$k9R}0~$lltY)7Pi*HlQ z;imlxwbA;SK#kf*@F-Xuhcdcw>dxq`GgV|V*9iL9Uj7ueWJ<7F%HmQHwWe4*M`lQ^ zVsf}lwY++)X`YaUFrSH_2A+uu<}hiBw+WjgJpkhS;$ zmO(>}`&#!9AMwztxTlW-8jU|=J7&3tlXn0wq0pgWvWdU&d)Z#1aEVyqJb9b!i}-?P zs!6~!BcXNxoqU%W0Ky$fTF>0Ec2bb_4URE~LPJ6us(2PkJx1)3aY^p;X))ZWfP*=Q zi9tfrCp_BJNSmj@U!tvklt?JMa@rD@DfvN1vacJ`n=dMbgcM8lw<)}ys-|onl|`M` z*{EgX14?-Et3>Q&MCk7o#n9j}no%-W=!)%eAillpKV{MC=uIh7(=Qr(zvLalt|%eH zz%ZdEaXd6qIw3QXwyth~bRHq-2Pxl!^c^@9?tckgArtt?4ObxA*PiU)LebkmVqx3* z=J8FWnbi@O%?Os%MYZA9nq+UF4!5TQHZR}>R9-d({Ox2{!I8x!k|u5kW6 zck-eprtgnycWez!Ob+YV2I4i=`gOox-b9^Dm7Rq%*f?AFy$;7a4Vnv8jh%{7&C0;> z$2rL4!9|6O!Ku6L1^9Rp=H(u9aNHN*w{F%gZZa+25@nnfQd;z?I#askY67pem3#na zp?V!oj(!*rTS;;PB9-Mpuuwc~SjUB@u4z(fLa@tZ$q-<~F_kltnz-NB_Hsy%TB)XO zP#Y8%wT^H%qO^H)@s%5{#jc+O`5# zJq>88eZ=tMATD)(I7Cm9bX$wZo%T~=-O-@6D=z>QQtR6gx(X;;zm11ll{vy|-;83V zE-obj0f`4qJ&&PLb}v80RvPlrY785FIJKP$R@Ks9n9~Ij>9KJfER+rs3Oi_Iq7wzv zDaLhQsL~1Hv)ZA>>iY8{r3X`ESj%IgsgmZB5Ofk!cE^qSlva$XwE7zHU8_PRK#CFo z_b*98qb>kpI>!Vs2CJqoGeE=F`emAVDYXtGrBgM-QA!)aa zdCY4;ZK55JI` z9v!?Lm?RlYT8~Y~zc*EPq)#(!mTU3WV*8-9S$c~%{%peNzQ{>Qn4utzk|araELws9 zSk^7xHFfqZ2CR{x11x<>l1#=8FD+N0u{1uU)&5jk5R9<|!gx4bW9lWj^C>Q-B4f@t zPp=MjOgpt#5tjaw#{zI%zFB*-sC8c_Vgb}}LMZxcfA5dly1DOP;&y?gesZT$G09wM zD5=R@4rzQ6CV4Wcc{BCyPt_nxX&f%PAMCtd_c2GkDT&e+^Rx~iXMo)@VzwYtL_@0= zc}#G22=Lhk<|iq%gwhk_R}v;0r;C<;brpNCe`>K$uIHE*awpAhfsRDmrd>{7{uQm& z5x^Tb+3lwR2PjU4vo4$9Li2X8L?UBN^Q~?HEANGjD zBH*8z$0(DmmD!-wE85KrYBjtnL8@zH0NZ4l5gN%uG-Wu1KvFa?dLYowfogbNf?lw`G1)vqj7 zj{AVE(tX3an~qJ$GnNB(gArg#nz^pP>!kpAGwjr73%JYOR*H{EHNYeZ zl)FM%Vdvm|h*)I%tTfHzysg{3@r&MW1&c=?C(H+^tt}H!ZMrnFvMCVBuQj2 zc1wF7(60TRJt%=w5&q?z{Cm;4$xkqKQIZaAs|RF$BLIm)`eEba`{|)$ctKs^%zv0j zLPU^&V;MJ%wzQ>lNL6rw;`m!YUySjAYV$Cl1C$wiId>-*?!f1kJo(j0$Q6a|AfgD{DYz&TD0Q}!o$=pr?uSkE&caew}QL7cu z6>M`AO1l@ZQ7LnTi35Fg=zY`ox`4MWEoLI6K7~3xx*uzk*{weLDvp18Nu0zPAW7D1 ziducZHPMIKYW*%#y-zl6IQ&%Qw2lo$*bh%wuqP7U~Rhl-aA2lMjS$+UNf zWKwoD-%A#q1Af#6b2fn8lovrOJ3=jq!zHWJDip6lM+?nT2wo?x%PyZFVB^U!6O}t$c-f+rE%99D#4WHT>*sY^wSojxm52v{<+j5i;;!}1fAxE6Ds53%Za z9DZP%5c;eH2M~Sk-I&@;6Wo^x@#MolU_z9T&}r^wjO29eJ{C>O7@@KcP8cY6|LVT{ z_?&ptrH)nv)i)?`ACO1#xPu$_ZnXHTdnisiKo`*;jv8bEK(zkgN{NHgiZsbOv5I+K zMM#ESC4c8jq0tgpop>v`WX@HbQt?90H4VLpJgU!1#-KiGyF;(!jDbLZ5DBnu{$B<| zAdg?=y9PJuzI%Hh#i$WNDsga|9dgL)$$GA1ON`)U+X#JxY~sERdb&T*aJ9lmxBFms z&p`Dc74JpnL|^G$t7&%DL!oGDQ0F!rS!RvW54eo(i|YC&Fudf`oIUe6JC-g$tk&sz z#txi$AIHQQWtH-`C>jmr0XI|8pz%id^bUgs1u2ShDy=L_%z_siV01PHPhu8|f>Mk> z5i=Ub7*#v!`T$%^$@w4nR_P6j zjF-3rzjFV`PWd7#u9#PLZ}tuV7Y(?tcWe?#fZY^2y)}SJquniEY(M{9zs}9>-k;>q zFutvaK1ZA_kJW04d+bOqvWR}|!w2nb$ize@djjd9%5Fu)=1d?2D$Bil{npxnCK%_BP~+p;cQ{kVJV_kFg$t!*+o$tPYLj`G1E?N0E_S)Q^G<1 zlv&@1VtBSQN(5VkfkLs85yQ!Vuu?5ACnZ4f10~8Q#xU`)WGqB29n#70^^H_K`xw2k zvUj$VI2jhY$Ys~!HTbMALU<(~z_dE=Gg-g}5Pr|`$u5{>QVQ^R7S$&7i`1fwtZ>jC@D{Wr?- zw^!AjGEvGs*g)=QjHRM-j`3B{W;pQa`_CdeN+83u;a{QCJEU0s1v{YqP>`I5sBGC} zSVjf5I<^hgVF_?vfj1C`b6)eTKn>fBtF zEhPcoz3faRw}4Z8g7km+pZ|h1z#-%(L4kX=U3@;G-c^L_{Q8d{T_W$t#oKW)n)b>M z|14wO+xJmJEE0KsHJ_2+z?$L*>DUQ|086|_3do#Jbbzh@&lrplg&*NZYb4`QAbNrf zqZOGXrbM1V)~|tW>?EmA@%e~f6(as7e|^vJRZ6CcE!wsZ z7tF#bChd57ATq`8)d|rh1m0K($Tq=$KMzCvp9D^#P~Y32#U~S;<#gZ#g?5OeK&=0* z?)`t~UjElLzbhR7O9J8lLOK3V2Mchg`x^wznqExw`kgjJ)&DC#|EtyidGS37$n$~g z{9oJqUvAP%0bRl)`#`x<@m3e-zs>spZ1sOU{QrNA|1ZwQ+8RRV|JY3uBvg<8QsJjw z82G>*16iQGNmDRG*4u?XHYgl|=z{%cgW3`kJoQD_&YBV}Ga~-oF5i-UZ&SpWBeH0r z;r=8BcgFhOE{bX^wj=v~B?F=>A^`m;zL*E$-O1nO$NxfAH4hLhQF>jLv^m|T%O&!F zwNonU_-A3a!+kHXbKGyo65Oyb`$MOZM@E)K4gQ@|Vg2?5;K2j!e9Q24T@bz2v{(az zf?w&G%9XIU?4@rJ@b&+-Vq~D~n~V!FU~;^+hH?LvF~CBB`aH+poU8MeP?*s5t@!WH zxi8NoFa~Z5=|58J_(LwfjKvxQIsLa|gEjk#0?B`{a@+pcK>ITKZ%XlR)Tp7l^fce7 z6@dqeCk04^7kmMJgZwf&t)@iy7ydz8Fa7krh5yzOEVTJwUxI+?TIEHwKL<{}vV~;l zQt_ecg71hE&UZ;jPO3du9NTMoxjoIXe17_hY74SR)bSUp~9w zGJ8xQx-^NzA6^T8&wDthmsU4IVBY?7_y97{YL+!VEEC(%H3FpCcc4|>MU&Jyn16r| zxd;X=M9vB}{Q7;G?myGy2S5Kd^Nc;`@ z&u_hObIKev3t`t!E_k_2d8Xtj|)Mu@-tDK~*^43%a2G3zOi z1NA-bpCO=t`<5NtbIX9n5kUWUki-eljyDO=b=XdUic|2Nb4etrr$`%rs(HcT`mLQP z`(HCSas)*E{k{l6V|b1vxOZJZ?E&FWw|>L;F9PcTtG@jm(cd3Z`mNPRS_4Pk0p|k^ z1C^a4WRT3%1=jvzFp$p&*g9WN#d~_N#(4voW|1-f^iK>Pro@iq6HW5ZC}Rw$KQjzR z?x)KVZThi0$>RH;sz(GM8XM$$pG|Jk1&@)KCXNq1aJN_)ZoY=n=}tQayswOjt$r^5dNkle)H>G!x5cu&klb3*_iOpm;G!} zusmOuM(SNa;~%W(`mB3)OuP$IN)HRf%uxU`+h^A|Z}k5PazA=hIjVPE_s9$kBDIlv zqclRWe+C#2>Z{pD@sbcSMsAJ(wZBbC>C#J+VE5CTU}XQPs1JwZ_oFt_pWK)OC~<-) z29YqtqDM{f_w9i#B+gGeYwL{Z$-)1CHJU1@`DZfpi0KpiqM4ITiMkWi{~fASnAej+ z*>-PDWC&^hEK=ZIq#pJxR-Ddm0IL5B7&4^3di8HYCV)*8@k?b{CK&+oCDy?IP2Bkw z>stx54FcLuQv7%FhGD+_Go7i@-x2>z3~;9|GM%YhpcNW2(PK~}t8>4jn7)JR-_KJ4 z9yTF4WRBNc6TE->Lyw9KZ0{=04y$TKe^qVbxL=+7NO zLV{AStyEv!Fd)ATNGMP+!-}cipq^;m4vJ{?YHQdvwi(N7V^K?_Hir_XM#SY_V{bI7 zt5|xw0k-W!7pi#=I@vAeFxc`#HY2>MnGUV}cuBC)eh zUxb*tvSav4+IDq+0O=C118yYU#`kNB>@f*SO43`6c19l8tye1#8Q!<+;TibgJW&UZ zrD~dNRCa64d1^kMdYjdO`5GL-v?$v?mfKpjGF0c2$N48{6P5BM*4tmmP=L}W2X|&g zBs|UTPD)^@Fa5pZUbS$(3&a^h5~)Q^0|Szi0FIWo2;Ok1X*6hv`ViJ%4);5Us`iWk z0~zZrWcxAk|4jmU6F{5!SkB>{j$#D+IGVvb#p@)+zXDwnDRI5rda)*t4}NHVFq=Au zhAZXZ^nH%5gHA`JCFYdzx-LBZ(Y@kT=NB~jbUmwNti_Gji1~x|Gn(qag3HSDwWkK_;NV0%D7bUE9ggsKNUMhDvO3#ghUnz@UpBz?f#MX45XZ=P|zQ7_{v3k3aRpM|3R6?6&b9cWkFJyidSw;uvpIDQ$ zh7H3{umy9=8j(x-t}^)XZd?bLk$2ap%RcR`ZbNu&-f(+|H$ksnk^Yc4Uuo-qwmqd&Er0Sh7MJ$bo0+Qhxtq>7Spr`K zzN3TP6Rxb0>#4H_BfOPr2vzlVm#Qp62`(-yJfA$gxyR$ScYJoIUvIqA((E|6NO`_F zJ$;<*3$JM8>FNOXeJaq&Xh_zGQdiYeFHrjS;Yq3CGLpifj%Vx5Nlv@RO^fO;riL!E z8K|>uhL*ZhvT0_Y@ku_~YkD%Z{jvpzU>!2~hx3G_|~DhN%1L7iYKG`pq| z?wUD7_oSIgo`!G3y0&XwQB1C{(xF)Z$pB;vT}S`l%!DS*Zo~8rgyv-DeM2zgarX+e zl|b_6C8wu)rpK`g{2y!rEAHqXbckzX>7h3umlc0|7afQ7*8`Jyc;?ppTHyp<>*#Wt zez|em`A^}CrAUacE88AL;5b)H3n`!c6I)DDH4<+zVfZ`Q0Lbnx!Fg}`uoq(Y04v4P zr5g7xH)DC{QEFFy^=pd9K32efz*4&={9UsL2g9%;#5J>su#Xq_Tt#cJ+gow6DnEh^ z+s$ZN#GBFk1RP8jGs)|2IGKg78m=n%kKaha*Dfn~S3HegQL78T`E8q8-uEo=ATxUc z15HTU*#HPMGhgYgj%&_cA6O+`rFTA83u(HaAi(oD%Qp{C?x&GHZV#Ak4@jx=twyq9 zcEXx#IIOLnyC)eR{2qbX3<>dP9d_A_Zg!u$*meM3@chICNBy+6y%K*pNQ z1nsg_-cuK%s>2*Kup_ohmO&hP*gktkxom!%bYD{dfc5JLcQs?CwR9Brt?!0@)kZn# zC)%X-&=k@7(u$WNgJv3&PV0~H6%QxNOE?keoq~xD1)-QQ?63X$gMFp?PO;Vis7PLa zx=Ct-!Q+0jQ#lzgns3~Hm!7hVRO%xA4klOHT?rfVmTJ-Gpljqt_SEGQ%Qc#>GG1R} zJFl_N_Hp%6_iMf~ZWa_?*<-Qag{L)=ut=>6bR@|5>n#OCK{b#JuYE)B&fP1`kSJ(* z>6OVCFV5G-%hFv~KNTc56(?)8$m%pda@2VQl@Pq@5-7wW91iGXA=pHQ1JF401w;(_ z@pMteVb%^i+8UlalYj~Q_?VP)!^U=c1Fi$6Hj?-0=IBVg^?kFcPs{q+*vDt*L!TQS*UOa9=X!_TF@Lz?=KKANT|N%?BhNMU51AB_5~BpO z4zO656)1u*Yg{h)cs$POappUx1P#`R(GaO=Jo|f97rSFV3R+;tHA>Pw09+PYK>f4p zenChe0%Xd+P$G3+A`^AT!&rkIVph0tTu^bN-B{Tcc7hIOV>-fS|Es6Con( z&Va;`X0V0o$mH$gk*<%;%`bJSfLm~pK?xRZhQhLg@s&g`t%b!<&GZuNO2zOk`q60d zl+nKCaT_PvDv*rtOo!7Im`cb<=8Ljn&DZM74}-F{$ouA(qnjI$h!50{%qxOa=Fzqg z8KS;SUPeM}k|oBNQkkxeM{`xWfgZd}%)XNbdmOum`)~7Bl$I6evqn1gr)>9<@-8Lj zv%0zBD>8SK6_?Iwu=kvApqSUk8Rg#0rHwuYY=->|(nATp*njL~HOM7*0Mmq=+q|v% z#w0A&cUNPjtJ=LkfeIyB|Jpp#L=*k%l6UIUEtDsq)yBM@6LOFLjfm_1;JvDIy5w~mo8eeZ9dheBxfGJ;K%LOn zpE7r|T#oQYLPGK|F-1E^H{IAowz$}QQ}g1BlG6V4JBDD~G$4;f?|xpasj#p*KYw`y z(*VUmUP(z^d3r~b^AiO{QIXk=c_Q#7Ss?u<;=6;5-g946BfDZx&t5+(n|ys{W)C&Y z^E`GYPrBVFwMxsV#Yj}hmjiB<6emY>XP*On>V<{ld#IkFDrd8QMzD2ek6sf+7hc}W zBVf>646DO+T4$b}8c6@T_5L#0yYawUy;3WMPt(0lt47#?y{3*`RLne zAnj}O@bkYCQ|U`4*BaLD3qSCX^IXidPd;$md5_%PT%-CPY7r_ObyWw6#O`W2-IcD2>H+cT&Qr%T?qPm)vz zaC#d@*Ll)$tDjG~y60QYem#s{Af#EC;A?w(_yikDJp?a;$valsyat^}0#V^O=p*Ap z0PRV0f4;r4gKa0oQI}mub9Kc2^DE`bC*8=4OwCy!;fMElo_920VWR#a?E!4OL|osL z?rx>k3g7AXfvNAE!7ApB$13mE7tQTqD3cj_;q2VQ7>nqeoc5Lm*|Ouz>iz3u#moFm zsnv1$tBI?px6R8)v78~BOtU+&BpMZ(rdQEr(8qQ`YX^cHUyxet?|$U8k5!!JcNltZ zKkh13HQ6P%%@38Ij1{J|*)TH%A9Q4jukd!&!RDK-XI*48EBs!QUp-!2UYsK*g{*f~jL`}WYC?4|Lx3_1Jb~$@+Yotx-!&w*i?W;Zu$}VYSSD=jHfykvQ zCgfUnd_DCk+W5#eSn&#cHJ9(wo=^2nmhLjck3?P>Hy^u#E8|LTLvy~I81v*tH5Uo* zibLZY)r>VvZgIz?PAK9O0wr;OZTl23qb2Rx2LmavpqdT``@4nu3~f`%4bJiL=k?H< zJmb19ZJ0H`zS?82U9w4S_7dLWERfjk?6Az#N?&SjS8MyCV4ct~uTlf;M}6WLG4qBF z9$lMfu8dV)pT?Z;TbUlsN+^>3(V<`~X7mNTVvzlA7oqA&i*4ERHb#YoTWv)xmqUl8 z58Kc}y9bhuR+D4TF57;2qo-l`ta09+Z%x@{?CxncIXkrtF8Fd9halgFf0RpCmWUn(lf)iB)ekmy z;NlAFXIKxrb-+$}z8w`dF4*95dG@?ss=zXG+~{e-Rr3cB?ucAJUHz1&R{v=2Tynh?)B0e=eE$egny92e~3keUrSoXX;eMLt6 ziB7HZsDbUt^>>bj6Oh{4?wP{waWT?Bih>S*twXE1ShHKk<+6{l8|w4y!^wp-N>g+< z((6MU0m##<4bg@v$KWkjGqdFm%|?-*O!LhTubQ>4Z6Y-mk{Yj%+zt=wxO$3ThV-$gC6@$9AzXcF z2k1ve*-rcY!v4$1#g}y4G)uY>K-v0QV$N3RV}3p9IBj}bgfxL@3E7w~FJ~K|{w#6c zd_`BOh%F}nd|txG@HR5T^#;J#%dXHM;1cAv5473Q-Sac*T9i&UEFm7P!5uNVNS#Wo)oQFaoxPK+qonC6&z3Wkn?Su;CR+?y) zQE%DFkZe|CN|;(A^Kg{1vYKAxGXP3cue=y!&XWdibT!UjGbrP4#afsmAIFxOBOM#7 z`wm@4PNmFrp=@<)eo?uc!!C_MkgaR-j;|Z!gK}rn2Fm=hefy(gJq|ig4ePiJy-!&J zO9;;9kk_Vp1A+3pFD0E)R-7V2w5YwMsKu;gMl=-_3v11XILUn-p=h;zGNL^wJ1(~v zneq->GclX$xn5two3drx&`<8={%E=S;dGC-_|(m`*EFS}^Xr;^ef747L%@3iuwwNzB2=dO|Cl zuD$)LlX8*C?Ep%c%Qkpb2};Ye@yO1`Za?#cH&^DE^g2p+AEN(=tia~F;HM~NRMB_P zq|w!=a6dm-S9i*&-$T4vEINPkw$cTursOT9G2801?>I^7cTI@Z(<7uPZyi%&p2VQ+ zPWpYIVxzCGP%ltXtRP4BG{|mKD5YmQdzrm08U9Bd>M2-}MJhnfZ7Zb4AFRu_T{>r% zG-W1bu>N>63j6RuYespSaU?^M&NCTav2F)fRk+7G5wCLEbmQ>--QK~d73cvr(*35X znB^w0?`4f((SwKN1VCN4AIuxSjFALl0N#)!a4DxussDxWw7 ziquKp>^*gsjiqTtJoWa&%yw(YsHcS=_QA(=v`>`lOF&swmINEJy^(^q)3!B|2EUpZ z(+gNj{&ZfI;Xu9o)qTz*Gn`TknmF%GymjYmYvf!gSkVP%wjWuvQ)C#?@} z7$O%@rVL(8K!Q%dry0Rxfl}cDB+U&aST%xMydl}SJSKwhSM~s{9Z;%lo=^C!f&cGv zH$PxINK?>J!RMpP&nI`YV;_v{R@+gvWerGoD{0GhgkhAj37(!teXe+19RbsEzTp(6 zDpu_4^V9b8!*6n(iO-cSJ}Z^$M!`b86rL_8Pj@fd6aX_>l>Jlh=Zp;P0;R>pj)zD9 zF;Z^tK?t*0@^^O;UM|mP&(TbFNlHtn57as0v0{ABkI(l{XJF!jX%*5zgIN?go!7Ee| ze#rO9V(;uFGhq;dNqST5Ugs*9hcHjrn!$V}(9VV@49>PnV=PNPZfUW`pu=xp^#p2z);sSl?X!3{EmBRu3f4SQ_=uNz;11 zc!KrOi*p3P>BeXEHH#R$6~r78gItt+mu~C$1?e{wNNNoJk+J6!pnf~X=NtI;}HzJo{Vq3&}XkDHn%2i2M#PZ_7yRsZE=AZ=m#1V?A>1LEoD8fVDI zmG&oo@^na831q0x(0=?xjB+3ZBu6ZSvWJPCMAwGA2Zg-t1T>Y`bBt9&md703gfso& z63_WMLo(L%_Qa!%&i->*5hv_JXH`;6#;@RDGlSoY6 zuSi-FRHyuF-yfmB*?|6W)AJ%N3L`<$$-SbB&5yxaAg(|!CSJ5g(3k#)lt z=kv|n&Ghzf@fYkQ>XsmeVzM+xTbdB=+wR+wf1zOMxcbgy%K_CY~-PTUiU8F${57BH;&jf2f zrHAYsNUGcozP8hy<&Jl{sslwHyPD@YkvGjVs}{ACpR9?77g+I{^-0qBG$a}?gOB^o zF|l0&YmzRQoCVx>OO*8~nodjuzcW+Wlc0(~P?$#f<(+=(tP~`O8hsD(p@kArgQo`_ zAwkRQ$#<=JhTlTzmf5?Se%_Dn&jWKsWRyYeam`tX`Q6w8hr=3ZY2!%g{#qvl6WDs(5f zO-uF0p5aShgZXbRKAL>@CxV|#K|4wx7a<|-i*!6Ey?l00Zy7f1EPBXThscT8A6s^@ zG^;jv9%Z7b3)X)XGcuDEY-?SLh-bSJUM77MBD)us29{I1S?N)e6qg4br~vWItXaarNq zsuTD$$}a$Hed#$5Tz1$rar$_3v@@$&5n)Jvw7!+L(Rr?O;Y;D`NYz>x)*l9~o*0=p z%bT9rh(@N}tx{lXA`WNk@U-aw&!|Es5HjRyvF5qkx>loMFjM$_SfO)reCTru=6gO9 z9m1NAB}3=CkYY)NPiHPl9Di-c0%z6k_M4MS>z;1Xq~>$RS)iTxKr6MX&Gq$F2Hz?q zxts}aqi#L4w@2^g0 z(V_{O-Yp;}^Ybl~nJ8y9p8aTKxrbXIU!%OuVow#5){|YY%aMQQ_IFL`(J(Bgrq`}9 zfN(&XXq>r$Pc?0c4a8=D{Iv75U%6-fwa6IgWk{IQTfufk8ON z32WV|pz1Ep)1fr^geu~&S8?dj|*8|YxZ%=c9j>?)tpJ_x;5{b zs-Sy(jY8VhShXNx`&l3?_n_&X!#D&#`BYa9UL+DXY)%;4jche;WE}HUihdkgzs9_z zW|l2_x<8aUi+f|B=?0C(S6=FBidrnm4W}}yI3y~^&%kk4*wl>pk@X!rMXf*rD~A@m z-?~3P!5x;9@f(OB9EkSmiJ$m>HkBtH-*SXCQ!^^+l@hQ#Fy80#y1cr!NR3|*%W_q= ztEfYYknCBRe4Ic*<{mUC$95Mo9?B~pS7QFClW^aPw+E6Jy47>L5y())6JtHx-L-Dd@gd%_5`J!@hn7T zIL;6@RBTs+wg)yPp=*~Uc*Ez*kDu z$*L5VnK=B0NqRVKWXwwOmX6bXq>mmI%0UN0C}dsGQdmg{Uwr{171ZuTVEG8xa_g%w@5DBj#2&=zCcQ#T5W2sy$s`An%G3bOkJ@jgEO?w_rG1n{lRZU^@Y#@0rMuf;aSXtCqjXg{%t6#`IVgmMwqPTOw^CMJZd z)He32nAop}&-%5Z4h+4RmDnHn!a5{dfDY)>^`jXN45cytYmGM30{t z!&=e0O7<3qL`zc?kVJ0BT^Df&(48OFDYt8W((YJVYqx=^n|i+L8l{l8;_=oQ#;(p) zce441X8I~ZV2RADC7SaLawAoGf1cL9SzToCajS0Sv(d)m z%Pl?2YJA1+(QAt>mJ`A;d#UMmy?iC5 zyl#(|(-@mNupY_pw}OPe&Sxt{UKZ@-N1?U`BJ}S-sMKJ#>1y-5EBhXiSo{b^d zS#{WI7F}!>*_8I;>i`g4o#ySZd%yyF-^d1RYw!iE>K8?K*2NTf;AB0gQIRAItjBAt za`i6`ve`QKlaRo7ro_l%yJzoS@ts7fv9W#WvGXy=vO^@05jh7} z65(0a8&&4Ch3`sbIn-^_a6!H;75T{<8brTiV5AGPyWC(8zUYr3PdaN}u(lqQCrZvB z1!Zm1iDT@`>WvX=XpxFs^yZSIkCwX9mZq&GzV02x+!bx%cIK>Y7!=(@KQH;oS`9c)wB{+ez-;b~_dCg)p}o59IK|K|?t4uK_SYxp{89`mEx8 zJW%3Z0nmhO4U@b=#4!3|1&sj7llBCTKlQR9EBO|XGn)Re7R2|se>5*S-@#YgKD#(O zMx=+_(F3VPz#on#=na?Ks}FyDW?Rs>`(ZGoHzWPQI8A;gi)u>Y&)(e(7T`_U0hqzqT*MM(D5;V;pJ@lS?sxsdu=ok7ym z{Pr{nQ4&?f-22h@h`tp%NSKW3s-88Ob!fkhYThFnN}@v*Y0W-A^(DE?QPe!A#1xQ8 zC61ndZaGr0yOxIvV)@qHcR*i7#I8V1n1f-Lbbvf)B)!RlYR*%NPznFJ*RLHJsv8!N zsS|uO8+f>frXhx(l9lJfCA`so7=!Paz%cdmj^PXtyVG|Eg`+Fq!O?*L8r)^%nO@o}!XIv}CT!Y(Gs}quj=@ z6Ggg_w5_3*b`<0Qh_Y z2NM%1Z;}sT`xA1_!lX&IX?trQlZtiWbZ8q&it&7e?-){d9kOABBp&yW7Rm7~ME55O zL4tjkSTkk_Wtw;^-ac!a1n8BuRnT_$c;U-_rIB=fH<(XlrW5~;$j3KPIBrJN#n>h5 z=Y?-iBdjI9E{qhkHTI*=4qQ21OsL|$@}rE)hu@r2mm<&mqY1 zdrzR&N3n-u^DO&!tmga1iB@1qRg8Ce74QUok>S4c6RiJad@$sq3Ayq#Uyn3)#K!X8oBOrvQJ!1oE@%;U#>82w_01VN|s#O&dUgWkm8gYYoBt0k30t^Cd5u%NJ?%2SZ(49|!kjkzt zWm;cT;P%6wEis2H)JY7)U)mby#A9KmfLxpF$)ig~`sELvn_cy`9CIv}5C_LRF&6;? zzfLQ&2cAw^r&OlV51-%8i6qp^tC`=P+2(FFOBpD7i~7p<71u-<9asqNR)8SNGmMkz zm2dYu2m{fYLE^@YOPh7D~mU_lkj`vzeB~<{Vaws-$!r>Xjd+?+F6yc&lu!rx7pI96Uh# z2gmIs*7)%Nz%YkWLvNL6<)Ix!Bk&;FHkqZ`a@5#uB&_}nIUTDa3)JKw5=Yzm!qT60 zkv(^#E4}Z)WnAMv$2>_J9-PUsZ6-q^Ng(MnD3s5x_jrX(%x@;B3-^zh3H~~lR}!AF z-r_cny&Lx48y$1k*@>C^>RY1?f3qcjrTfs1YGS18SsmCAY;M;86M3yZtVo#`@&&Ln z2diH7a>NLSNu=xQbD!h-GC}VOea_7K@xz#jtrDLdoZQ%)b8{~KgjMseRC(}4$fXzT z&R$~oTI@MV(nWOKm0a|!>s{vWSVY~#?EfuER*KO!-+rkEZPDPfHi(mfo*x=AN&Izq zvC9Eo{^Tpl=}K_0CGU?&@t-#6l+FqQJf>{x%F1qB+Ez^^^XpUM}!;qY|>;4sQX zt-5@aq&S}ki=Be?n_+y(rK#G_`Xd3y4_(`I+s-QW{BO;D%kqrI%zCFix{`Ik>@gYh zf}p7CsnFq3Rl5BAGZ@ty!fyZJ8~o(+jo)JaR?)>Sm%Dq%!SNyA(ix7G_ov?z5O@Qw`L%y&M$j=#Dr0P zfRP*Ry&n|nFZb(x{lc2+@HsySZzN4}rUFum4+LS0%r#X_k%I_94wb_FrJwlom~{^2 zPI^{fB5Y9#c7&Ey({SX-_mZY)c$-4yiH!U=xy;8yip3pJ$@@xQk0_@FNk**jz23r8 zt3ipC#cO~rZXIwbpvkYI0o@M{(gg-;pudnw5yBN2suR(hM=@p}hCV~~%g)22vf{gH ztq&u4(TyiM#^3~{Uw0o^Ue<64Hm!@CZ^NuKjr8epfXFe6dCb74QT66^r4)CHF$N8md3lA4&cd(^$>NG+ z!iypEbILp`GxA%fEwCR){bs8jlIgZahbCB~5uGn5TOoYAhwkRKV@q_H>5?ip3^(c_ zE^q%2dwVSO3CYQJK#k_D=BHjdXqYC`X2~BWYtI-1Qh5)FkpPMvQ}D zgl9A*O>ng2=K@O|GZKy1B-0N6m!hc{XHqemn+V$X=L}w?SX(Go7PiBBoiG#TBE>Ly z75Qg{D%P93@%f@)SqSx&=0u_pW7sa~+GE}Df%P`3VXg)ImFI>Ipv6IADS5dj^tj)W z&0-jxD3dRnW69e+PI?{EvM$&8ES5t+%x3fh0mNZoyAXhX@ik3r99OiyzghM%lEFbT z*(ltFOcvPsK)lRqvwKT@IgvgNy{&a!3mCo;$o>AZ0N^OC0I;KDi}wcu`}5c`Pm3^u z9mp!DJ$r)<6bdo#6WWnj@vFl3`LGe7DG{&*KF<-zpsfLr2QcYQl=q@K_zd`e7Rs_x zSdGLo#iGTStYm)oX?(FuHuSkaX+2CO1DMxlz=0^`Xp)M*3jSp1a!Ws-lEeb_&hhfL zfPG`U9UXhMJzBWkkTZEzCJ1Ox4MywmqB96K&*}P-$40{BjS5Rn`lXY!^LJK8J@WhH zI`RksqjEICkK?b4Soz}GcIiJ&9~{U=FF(WY@Ff$ZhW3yLh+NvjMGTk{6&1HWh<|vu zE_7vl*^Tbm6{Bgxfva+)QPW@gtqPkV6|d>u5WPr$!$W!nygf8e_&mW=97;-NX1~vuRWv!!QVmXJPha_yK;#c-x*JIZ;Tz{?`ycPo8FtCLQK=+YVbvRL@z z&C$dGN87NPu^%u=+5CaocGEH!eo1Nc^mRGY)hPttlSISVU0!h9@YJ`;J;I2<0cXx9 zW=Jv;+kmZpI5E`Jm+|A_1YZ1c=OJwYc2yV&0`6!DkNl~>94kDtk-Bo<&yi4V7PcoR z(?#&jYo`f&3X1f$l!r&OvD( zsO!=#D~(-$YCC2Jr`{bxC*u^@`lG!#^Irg^bmUQL5%lEp`GQvVQ!aWFF1L=ycU$iZ z4dqnS_o#n!&au;{2e>Vp`G)GFhc!T9__M7%CR)4pyyqL_6-?q&6zOT1#^rg8$op+* zwS<6~l<}UZ!0Yj$T&G1-iDm4-(O~vBM`xdw|G5TT5-QqGTcw-c4Cp)*&7-_|GMv#2 zaNj^P+vwMa<&%2fv{>ic`A%lz{BEPLr>C>b`>tBRd#BpkI$J9m-l#l~vn4pF`}&c@ zbTV)A0bAe1Zs!3G#HjoGqAU6(jik+>qs{lsi#7h$;Wr?JpjJ4G==D6^%rOGoVHW=_ zm@_MujQb?n4Z)9O&|I5r)(8hov&Y55_5cN)uf@R+x3Vt}0P)JGbBC&z`R4UFMMTct z$a~Ej%)4D+&I41NOCbr=N@=};=&(16<2YsXBg2zIQ z@;IKEzpP+IP6L`*inZ{u0;gO0@d`R~V;RqmMtaOKX%adi%$*R zJ$z@se+P{DTY&TT^lY%ydP72Wf5woP4@VkgIzh6Y!P#6dsiP#p$qWRMtcU+g7Z$LB z()+iTJRZE(P7KC+>hTo2kY%=yAeqd{X?Qty7rIBDjqscMep3wYQ3~pAEw;rbYPk=xw5l3({uVA%eo&YRVkH`gM(QYOlcrPkQRPAIbqst4l^=bs zBWD;#wONfYOFA=|CZBQy0fhDzGGG`+eJ(g`DxVtVR_7|`7H7MVtm8@6xl&@Bb@}^H z-j@rpryn02H_a?;yg*m<=q>7dcV??CL%5z?ONqJ@aM@TdGY5S~2UuB){@k(Atb<0= z(;}8S)s}`hH%&PE%LwL&2QOdsq095At>@{d1{+_y+fv{b_i&^Tk=oK1JQ1bNw~5u# zfm5-Uz6`}QV&BWuN2v?-QI-i(UfOqf{(7#u?|F+R@y@zkGSh} z`QgbHCG>MS%;B)wi`h6|8{)pPzNYJ}kwUAl4{$i*yt-u;g|v7=D6Ot5uyiQ^eauEs z@i|K>KJ$o}d&w=-vBFa>>6bu87ZQR5hm%awWMYVBFN_?OHtGA8;&`ay1*j7@r;IP- z535DWCwrrAI%hANiRxOKTu7VWUm)6P)dj8q=L15=+Ltr=@+_an&7Y^4tK~qxF7~}p z1)|8)fR9o@tUVbsa<(+sIv@^=WpTRN>NZ{uygW0Wt;|hd_NrdVp1-!keX_~5bduDw zH07jc-CS#Se+G0@A?`p>d8^aabkUzV`L^dbopb;0i7H}Ns=Z1OCxaMjJ+GF?$kIyR zw4vqpB?~w#c$9ZeAkiQpl!%%144@;wxz8HiMlvok;w?FCG#6#L0@?&4N^9rg!7&S{ z#Cujj5THR&4QyQ2?tTD_3J^JbPQ76wGB;D&!IuhreSa3*{sKaTtM2P#a3t?f&-1L3 zAwQ~5ke#lxC4Ioms_VrV!9M~+HYI4Y-6^X-FgorjqxAW1ejSL8gC<}Y^ZtviFRQ0Ai4wX0M4Qc(%`wo;t?Mn@Q=kPxafmCLpskhr zhOLV$Q=EqB8YN1)#5*9Q1eA=vTCZ6S{~1c{ooM0@?n?1uv}>sg@_0({3EHKex%qO= z{}cL-VN|Job_u}-|Ix6_rAyHMq;uvEz?hX0PJK{o9^9ShcK7VTglgldwx_qNJHNVx zav*pgufJDDI`a8h|cz2*hguJsxEUpHPQ?v}iLUZd^-^Xlx7Mp`RjHdH9o=*=(tmL)R z8_Qo82ee>eXtd2S0P(YLM0p7H<1D0~u}NBViW?Kt$|F=@4ZKlLq+U(q zMRDolm**A@Lxq6YN|xNvq8jJcC8wvo2(`9!C6LD4ZF9&iTY6=LJI0>UPGAjaux~uM zT1IDKW$o9J2eBpV&PpJaYjcS~CmRwk4xpAoOU;f#Cx@paBJFC4Uo4we%6A5!Yv?Bs zL&Ex>16UO(5b%CEnl`bE zFZyJ6C<7*tr|g%Y!h2-!fuoh32)J`AdoiABm+isk}K_gD7FBhu(zvUKNU zx-06AXeQWG3$PCQXsPcz^oc9P0Q17?0S77vj%gt@h99@z0b$fWel(zCJkMB|o zFs(hNZvjOz7z-5DL&;!M^#swflGUPCNo9eL9zYHD@?^~WDOYj-(7ZiUuRPmtvvoZ; z*erDyvI4D5A!DXO>BAeVO88$^^&^;pf`B&#C6+*gxr?~+PO-SXa3GOfKmAx>)ud{z z7p;$)79z7ublARHT9#e~R#v$d*E&|;J4UTLmFK8}%yA6CoRVuQRo+bCize9*IEpSd zIv1o6y@!i4)HM_gj5f&`=pGn@-*`pWv80_~m2%B=F2-mGn%XJ8l%Gsz&~|)dx{{7R znC)S7M2i-_X3h29yD+DX#4yc{=y&^GL?S}W4+}ZTJt>NAYob$0!s7=amL4+ ztG&eynB^`5wj3Gw&IlUYZQZhO(8Ui(5+T^YfWMSz(^dMk&zm~9Ng=PQa+<~OMJ;Bj z{3|>WmzmTK$Un3+w~Tt1d6?&TA8Q#*G$Y1rc`F=uSRt$(04?Eaw{-Q-7546kcBvY> zk(l1Vw|njSQ|($y8N-~~vEiV)1YcZM(?Jy9n&SlCTeVwH`^!ePMEe%+AVqNr~Li={&7dlBMzRMuk#9@Gjq8!ykc#m1|iVRHBG z(B>>UEw_WxQ=lMUsDKs0mGe<6npgg?1W zQX2zQ`;&qHVt9acm%H-mA1D?FikyJPm)J+r?+GLi zK(g1XG;+#ElLA|p#Y6jH<__$%7_xk*$eD{o8s9cG(hOf7$bNq)goYe)GWh@YDw)rj znv|(*-o4J=uJ*#NPni~hmA{yWnQ@9*)`57kw+V(^dR(8w-X;``w+^2ah;YCiWqef!D8>OfWu>u(RNF=>~L=iO}50wszE zaB6Le$L({2^PeA+!<=2BNM0eZ#H!-3h@{~D+s4x=)F4?fgG&OSDgXho2o)UqZKZ`( z@(L{gwFXG;fL+=Avy6-8xxv7ne?RpXek+mj#dwPTZ&=2^8G#APkNWs6NBq6y`@gZb zh+9$nKfe&zZtzdXM1VL=t<1l}^4`Q1mW;sv8Ac3j!aps4n4tU$n7`8lu3jcl=`Obwl}E=cB~H3cf%|2Gs2Ro;+7$%Man}&ob z&H``81pN^r9{2w51jQ`upk6>Ui3V>N;ll&$HmJHUnvrv)~T7?x@?2oYD z@NT~xAUvncz>fP#0FUYC{O_tSM1U%*jtO|P5~6`&xF%T|CXO6`O>CczEki_;Mg$ho z1~PO6x$@#C*hm=|)CHy*slsi}gwW3qtRzhKkRJz#xPnvkAqH}XiE?H0QOQ*_!oD5S z0ZA2f>@OrSqE2d>Oe|#N6^g`$WG)7A_~ZMs>k{YHRlzp`Z8leHMW2_1CELe*8Phvz z)QqA;_-RNJN=O!XFe4Kjc6>!t(bk*~3Ua;~Z?=**4rR_0R0XWY`$gCoCIX`^8HiL} z2>4AYxtQl&q1k>oK*CW_NJQa}(cwS6_Q!7hv_8!8-w)jUYyHGtXvAtsEyjECj+aRH zkThM@{%__i;+u1TIjDs8)^H}&=^Pr#h-B`H^dXdrTKJE#Yb2Q>9wwO5WdLbXN3 z$yT8W@<^OUpx_i4QEspQf9(2@`r{1-I1SJYQipJPwpQbsaaXg^of?j1=3t7 zQp%^VbFxu;Z$ww{K59BP0Sm#LoXcU!X06*nKm89M4BgDx3l-a8W~2`VWH2IlO2;4@ z;^*z@o2y;h40SfEej$Dhf&qiI@sh``B;pRCD4{?oGU8BN=uPSpG59=@De45If{$uQ znq0cbEK-F%08A1MwAkd`L6~Jr4c4=<@Rz7VCKX$lVM8ip)?4Uu6z1FLuBakH2(OD< zOxKmA#I%$eK!NH-EGHM;jt!s8);{XKofcMXGpK|;s2Pw<%(QO<)?IWigygop#b8Q{ zOgf>Yq%f13`?lbOtyQqHh}i4fu>FVR=KMzL1#^`Pnrj*x$Ge%X4;}(uF71NPTRcr*wh>5$tN@5$O$v* zFT`}o$_qB^op!1&pVCpi*pgLEM*J-EXLEK~v7!)7h$-i0aaoIhdOMmMgQ3GyU0xNe zXET1<+mr9$o?(;K5`_D3nwc{88onKTAHC?5lptV87uho<0@1DKOFk3lEep|)vlIwJ z3&9*)ZN&UtA@ZtI`wTSHFByk4P?!H@CLYQvwK=~hMs3XYE8n7+-bNh~J3W$QV7sMt zX{l7wm;~J?^Xjr+Rm86_Gl`E{joy5dTG~@wXS_-MQydxez?m_@z0dnGMSrMh)xSpv z=Ah7D>|cJdksFvDTo4EUEti;yPQE0TysvfGyck9j@Hf5|jn{Z-qQ-jjXbztEktv~> z6I{5L4f-zgz8@_A1VJFZqayWyc8;1ag1#YM>8g3Z9ScPgm&&=6kheVRq&C{ca=p1l zHDXu7Z9cG;YW9n$fp(ZM2=>!>ah0i%lys^Vd?;0VKiea7*%m}P6`dZsbGY>VP$s+j zkME0giI)$`Gs{ZqcFl{M>}%W)S&}PKw%To6kLs6B;j%SW`|xpoy6o@MaPKGk6|8CUR48BN-K&yC%OF(83%tv0dDc14<6ebf|BJ@a zGIwxd7Lrw+QJ*6Syd?873>#^!+SCQU#w6P_x`#AxijqjVok;-=9^^Hw{@xKqqcPIP z9Np#U71x%I7kgkiYTw?%gSWxdP%micSI*JS1N?hqkhsv)cTm zWa>~s&~`wpu~nj`Z`U6!W8eMdcMnMTZY3H``ZWv_PUoojxVu%eL2$CGjR-+8;?oPe zYbb$Eq_LXFK_xf}1w}4gnjC|o8ty0xkYyS%3S7*t)@aBNo7eM|;#>u(e@>y$X%&`R zFtc8J!MSVyv`E+Kj^i_-ZGtkG0YyAjXT63ji3#;x|DhdtLmbZwN$fMMru>R)v9b-Jcy0*s0=(xG)@*W$ksXLlI4YJApKrXM@Xns2 zY^x{4h~tDpC7iB)q7(qn=8R6f>gay)9?RU?uDii^Nb2wfX%zC1oULFxe?^O>+d&@* ziIczV&$_-I` zoOdw#Nz7-sPWtJe*wk0Z`w7e-ni@*6vQ${n@jvq(OZsIk zcB~RA=i29c&>!-DeRXg`QB}iFbwimx?&3_aAstR8ERvRR3q}MIO5mgH>TG0s~^#~kMFdz<+2p+q6N~{L!RbT!W@Xq_2py$`2okz4<>D=`e&^r1?TlH zy%pwn`daG`;AQV+H|Na|whBw}!k1~_2F8ann&b3oRjXt1z6D*yFFW%ubFr>t{TRl~ zaCJW^G#&Oc&B!s!#s#~Aya>c79tmw*Pq$pOxqcT6(ZerYG$rBg1O2io#paKy>Qv1L z2?ZZ4WZ4~Kf1NDIQ?ropN3p`Yx*@5Y+5%|1{%~Y9?sU5FyNWOy~Hw#Mi4g>Mwn>ldMBSH#Oghpvi zTqkqDOCRcnmX&m?WqlwgH0YqF&29vIO^YM0_twQ$+gGFO@GnoV`)c-w{(}G+DA6I~fhqv^=6&Pf%UWp|z?h zX-#EUC;W)A)D@K0DPU`+-jic~DwKwM`TAy(7|`KO-;J)?TpuTRjDt3jlo-GaFfhc= zsgX$B4Lx>cM;Jd0h$1L3n1rj;BPzU;j`2<~6kA8k%Hq?&=?nBiaxE=lM{&q+-s{?< zVd9Fbm!gIo(c0;~N$+--N!hj@JkV*4@#L)&K3;hLg~az_lxj>fwsLZC?1NLe@Ngd*Rd)XMzi0oa9k)6TlPWET7*1E#F>sDp;zTZ>Rp(N4aGeXmTw6 z3iiVRw^n8KUoHlNHx^WIN5bEH8u($f3tb69IKUTFI| z&Dic+q{Wy;p?W~DU2p2p7J6Ai*oc7W zn2>5jCZDsEP(xacdKB$aMC zI$jZ4mjn?=NosNM!Hxx_d>Npo)^+=VOz6%#S!EUJBGLU5`;fH8sJ)da={>*ar6|ht zbWvgm;ln{j?m;AcH1%HKYQ@7TN!`uF!dH*66!k#O^2TqBI^NS-bORi9UqJ&>GV;?i z^|tO@oOZ5pj42PIw|#SVg?6PF*esmW^|LeevnQ+EQe6=}SfvGOLK%yY*x|^($<(2y z^|{qA=F_9Jz0Y&9Iwk79$JyL4wqBgr$@k$bPfe7r(cvhx=o7yfpA z1p?^JXY%X@FH?@!qf9M9`Bmbd!1-D5M3N|ZDcU@TuG5RFAH5nTG~)0$cLXOtj6MUG z6HwIC!5q_Ua1U|ew&{w>I2WPGWn#85qxfCjV(5#WQC1E8=>&N|@?HGKeNR9lGc!pu zG{WgRE54n~pzm=Zv;PsE%tcrh5q>ed0Oe3?EMD}Z9#p8Jds>2yt*4F^$vhCwA;Z5){F{!G#WFA~+*NE-%v+0&>P%Bxn>kri(IzL&XK&ZnbvQlIG z*5~vE54^M~>C&r92^nNo1xxFmS0~L!xne&rzEU+p${EZTu8s2-WVByoTijOpJW-11 z(r>#Pr*?ZL2d0)QtWu3uPXQCRrL5K zzf5UZVt3Ty&FvvDV6O-@8RJFcrKJt9+=x*>izIq0<2IitO2^05nsp?w{_SLN*D1;^#-UBplQ)v^Y%`-r&(;l)KDTQS?`* z(rShR6Jv~7192P`+0hZy8qxEeJLH+nDLvNy%2i7slc_FxF~3JS|9QQPXCQ~JtaGZR zMJctnGn-~2gQX6u-j1e>!16`;kASqdsFQi0;}Sf5e@n0-Ek2N_AVb!+YmApZ3c#g( z*H*^|a?^#P43;&YA`IciagvuJ_PCNLPyv;cKJm&&!KAib zn=K{+B{yFkQ0CO&F@ouZx~i`UylbKz-VO2Z+ms@dwgUp|m{zMiJZOj=Phq*q>HD_0 z%Cuw98BVi9M|INeu)+$FVHwBJSc=o!LoK@+VZhltQAkTzME(&`I1k~ zEbRNOuXm#@KdQ_;g6QmfQWS&wc7Enc%CA=a96eaevY`^%d3 zJ5wqOJ`<0g)ywPV1}mXKxCEJQ8zI~0VZXyD`FHlZNH(u?jaH3Hwn($vmI3N%ueiwC zeE4f?;NOcJ1+uKI7T2tkzLND5{%^vxuuy7zh3i?V*0gt6fWgbd9N*OOa};W~@4Ve| zh+Q-Sxy&#Ann>VNtkwM}tBAUmoynRAwcZG_S@%f&F8@aX;-kRt=(CCk0Q99CU%wQ{ zvX_{ef#DCYsPlia*V=%!UE%9Wb#M5%{7Ul?JonrI{7!E)7C@BY1gMwi4mPtSAZyJb ztcw!p9!5s9b|jOAnoGhR-uXzfUE<58T5V22*c>i2WX?U%85aZk*o_VBy4N1x7g4P_ zSBVHF0h_=QXT^Ghmj>4D6)(N}+4>hdzDxuF145#%3xdftVONTg+rv?G_${i&vZ-j& z-Bq|AiXIuC~;{x&Jw62MEiYo39)04=JTkk7;KyO$ z@&6=8Y7DJns1F2N32DcqAe@r-bOu%qM09TJ!FpoD7~L4346GF8w$d%NSogz;1Nap1 zTlX=Lr+PCNR3eed7ohdG*=VSj{$cv7*qTXZ zS1XG4Mn7d8FV_W^puJ{w4P@Oxc1yEB!V_*tYv&39rf7XJ+#e;^g zyTQ!LDsiLEQuw?306Sj4eX4NEMb|BxhvjYBGdQVa<5deue}|CBMj#Ew1$Mf!++%wE z!GHvqfy>N7Yx|wYHy9;_?k@tJeIqS1wWzM)eP;YjUOik5&a?%eSDo^k#wS^VOdPp1 zdpS(@=;*N176GH`wq2Ex-8!|F8CXBP0T>EzWr-gR6U{pN-J9UrZG69Tr#Sc`yicq= zeyQ1*9S*fUFG;7ruD#e$JhoadRO>%#5x#^?2Kt5jh0M?PAdvhvKD2Cf$Z?-3+u-GN zIu#+*b_!<2SstHXbiUjFDzYWudc;Dci$RmYy`0CHa1$IrRZN3SpQWu=xV$qo;$`K( zgq2%;QI2tfY=x0DU#z-RZ(C|5UH9z%qP$d3h17{V=DBV$i*xXBLo5{XCmXTw9HHj8 z_@i2tuXWZLki!eUI_V#kZ^+`Y@m;{~hwWHX8GIVxYvqMG4S2_SkB=GRjxGb4gE=NK`jrz);jo&y|kZ`y;Oq z2rou2D6B?g=qAF5T2UL$;Va-FbNxQDYFOb)F+WZtZxfJ)%NprCm zB+*s>D&z2Zz8ilu{eE)L38?0X3HQ>*&POj|ucA|>%UxC%9U0DZF05cRaDDt}v#TWn zaWJ|(lr}6d*pS|cLIvQR9g8h=>fni-eli7L-=hR;$k3)CRj zW?lq&m*?3#?v$9RZ}`s8& zkM;I+qy>b)bMx!qc9NrAm6p093C1Fly384i_iwkE=VDnThfv3W)Pqa8Nh)out+9zT?X7&HfEV#`k1a*&K_z4KIPq z^CGK@mJ1YXHnQ%o%!^;XqecEZsi{VgvbT<8ynfqa~t3*=)m!>Qq8 z0b5fl?P1-y9|82bO}!1&QO`puL(5VcH2rR?pR_CvDeCGP4&e;p3Yo&Y=US8M0S{F| zbRSKpB7VRV&sEtQ7i|}{zPg!g_D=&_8srQga$3(@CzCjya<^B}5i(1UWnVjl_?bRr zu;fZp$+ts6-5PQ8fr;_`?fa{ai|S14V$S2jU5U_?thC#@APd!f>!%~JCRsnlF`(Ng zxVFi1=1=(-db=SkGSE{lw>&vI6e>if`xy%4h}zWT_x)MBS;P-SZcFC4eMR-wv|`xg zhrzPpCYOSW->5i8<+H(2_O>GEg*x_v4tLojg@G_voUqOa;O(URz{f0wWq!Qip;lpO za5-Mq3~P(#nxLZStPN+OC07^vrS^>qrWM}A&hm-Ua?H>i(jt=ej=@dK?m0pf4xEN( zL}goVomvkBC}eaQs}75Iuo4@zpmaQ(k$OjL}S5*a;UBFPM7I|hP84tTW z{<5Iwu2q80FsM?qGR#eEHpZ|_OX3&TW$0m;>04gybCSCB6k+=SU}U;1dbM@4d!AE> z+Ne2qi~iZp30zMfs?V^&nVqZj2Vv}=zx(&YPaKG}tzY3VWxpWumr8d*%h;O=(s4op zh3w3kPVH{ul18!-=Kp2X#cJ_%u<)(uRJOB*l1a9lN4xH$_jLtQ@JWknHah{fCj$|E zK|0Fd?IL-&2A7_3$7ml;m3vM#4Hr29I@2FzQlS~tnI`drsjR4vifCMDTbo*G2wDCu zX@*0;kp4YxgUk$Gy0t3&9c9-%R6|(JP|9{J7S?@k$XCNi;^kFxI$mcQ;)dEXLbTW~ zjo#z*b!5uORHHWeo>iqqFJkvyCfu{0->o?EDYA?^W3Ibyo39e+Ips+f?+8)wB7&if z5oGcX`2n6y!G!dU)UX)VgXWj}Z)QYH%qUp$UbfbiV%SYD+6w2O*O=;eb3Hc2hHa-& zstMtOL?MnAF34lB&#W@uYXINkB73ZF_Xf_(`Bk^-;XG)>+#yY`b&a^CX=3tfce?CC z_k6b{FFB2`%6pA^j=H3yM*XLKBNyQmt&dGJGa$q?JV-%7;j&%14v!wQ2Vul%HPEJ! zdn28->i9*ncuoz!lzSZBt(om)9=fUKjwdnMPeXr_Mxu0Itm#8g)y`;YZ3*=Pbl(vP z2tRtS>iu~{$gBNWppi~D1wqflNGjOQ7P1#Y-Ke&!IrfsIwT*W?PB|Q<*`m>}$f%H| z9?0a9AEDgOd0~5h-3U@ma{7&~(4`E1z`#@oNR(rsu8fHj+CpGrw%izQoUytmv3~hh zPti#p`t4oEh&yfcPsjj*o{?fCR=N$1a|qYw`8k$8e%y~d;WzB4o`u%LkbD}NI?FIY z4g7*+U;hk*kHfBMG4K}4QW818yJMnWc)-n4*RcJN#hW_eqDqe!9=N}4O;ZfASNljC zt%%h(T4Dv)KtVUEfJ@d-;Jx`3jPO@=c(>D*KN8qz_n@wA=@dI}ARO=vrlc;F~X{=xUgpjrfdKwz9~#A;)Qn*&9e<9eF@Gq zl>QDNey~hN{T|}uw6MXpW;$mpoIY`QY)k!Q-KKasFvgYac;kQq-;xy&n_TgL*I5fY zL@VKs%`Tp7>M_{jonlhiIt8&K?PgLx)(|gs_7>AKs?a?t)Rz*jgziE zfhvAgd+dS0ftpOXLgC!#&#$4?dD<_~IG7dSZYUi19!JE9SmrT=>@Z{NReeAnSVYQ3 zYh@dXv;Si|Z3~cIT<#E&*K-WIoqBL=kAyfldq?ncJf1gCpj~5&XSF!{jI{41MzdXK z(pD|TlkP`#hw^8sui|F9JU*^C&0MYLDMO|4&7Qb@J=0{zV{;0oe$wLj)1zIll6ddg;p0&#OvUmg=exVJ z|2-y&*;5=ovcbr_!cKs*9&rgfGvgBYuZ{ z8COmlgWoa9py|}3#n{v3`2CW-EPx}e#+g?Il~i4#q6(;19%3Jkl@mT_zw?phXsPUqU`~R zJ&kkOhP=r(+Iu#im2um;JG%UL4}4n>-jA%RsQIJBD`l)g-Fu@1Uclp`z+MCyb5aX? zw^wx{vs|fv@(W1rB8vl%-j{@+xonTFr_xTYa#Jn-e%PaR*e3ArS%ek%NYpss0^XuL zf8Ix%mBF%7Ld()HW?^TFXIiNKMmmo$i?DTZL zbgNKHb03ZyO0U$e+*CQn{Azb?OOND@@iHlL{0j}WG&5#V%g<3+qt7$_S%s-|xVkWX z=movUcu@)@_k^k`uTZxPiv1#b(2Hfe^=rh}b8SW}p$YPJc+dg#CA4r>K@A_S@l$e- z-&9ZB3hqU7C+)7?;IpGzXfv#&`In z+8eFS)-t8HoV!>ugW)Yr;HE$ao#O}n44sD`)Wy06+TaVUPuIG1+ca6Tk+&EkW4qnu z$hoJY$U(<^Z@}r_h`(YMbWMx-y;a7S#=Zl(sPs6I5=_f>G$8U=v8&jGmNKmR@sa}T zH?xskHfri2gJC$!B|n&GVLRRcyUe%kT(<14dwCSK-WF&cU*{?$-9LJu2vVw$v0)@} z@6(@k@XOsPs7Qm&GR|W#?a52 zc^FR&DyfBF6s4YlA@MuNm+a8LbFnPTz!W4=q7Wb&8) zyQVryU70=aa&!^!3fQ-AW7@56|B3yC<6#go7~l_|WbwEmt&j_`K4($+ zUFflC^Z!NzIK9gX-0tR13^?(y8r~rSZcxfk!YPRqJ1)Vr$-9UItmqp{Id10&uGI8& zT@7gg-#;JiJX?!QU-x5?b5ivU1Z4nf90y+Rx^>W;O$YJ ziAX5lvii(PaEKk@iEf3jW;Ictp7I-#9KC%y^Yykncg}d+>NF-P3*xcTPLT|vk>M?! z&YGPrGY{2O1R4q+5_!+k5f{KIcAxJCxT6Ko3SogRpXOVefg^Fwf%_?ix*Jl%p?8d> z`t9-<7t41m(VwJ0l)_AR-Cg-h-GhB}7=}Ga4fi3t34O*1*C!?%Lvncb+&AxxSlgZW)!zqkK1f%$tLU4lz^RU6d1=y-3HhIG6A z{1q- z>Z*RqnZs)*9=z$o9TEDa(dY}O2+(PvZ**GZ$irs@JzPgFuyrOx{>t2XB-$rvfleeF zDHxK}m5HG@Yp%}P$;t$~p`x(qd%VkTR}LK}yy$XlJn--1F9amkLm2+Y;fsVg;!JyR z?FdU;fE2gQwJR8TMN)daY#dguwX)(h=d7bNU5A_~+!o zf4Pa^&CJ|7($jf7VnU0uHnKuv61;R-sW>ZqR*k}N+0~Qp{^jv0GLC4EO7g;M^6>Mn zX9hc`GpnW+FL^Y%5dMp^I#UBurkI;lY5{ohpIY1;)X#BE8b^zGIf+5T;voBX87z#N z{KT4pTM;)7Ixdkw=Yi^-b5)^mT#nBjA>-GUaieIK+Zc$o>M3JMy@LkgflQ=X-C!ps z)%FRvb-4O9=Frzu9FNDqrLzXJ?USuni|sq#r-F;uJNd2Fi|DnNUd~>h=OZ_&7eiUw z(?H-+lJ;v{1MuLrT*3@fO7G?TEtKS@-ZN!;L9f*5#pHbL`(`+__e|g8o9FKi;*&0m zHo5EFZTS@Ad_($3Kes4<-xT`MMi|On0YM`U8;Akgm2k0|Stdo8Opkj~oYk_A?}*#U z&MMobj3%Q`9GaEKWzVdQV|C1F0Dsu$t318q;kVxhs}%lb13gS+QKoG8%6TGq-LC7s zLz%C7W`x~ix5lHi_In2HSAgj#z4qaslgE+h-OuBz2yXnc%aNwWwn_zo-^nMzRP{UG zXQ`j>53^IvPmQ`9-7PqjT~Wx>wSA9PU)6E7Lj=yO%M?D^SqBJ*&vq?caDH(;O$&b} zcacy=rMvsE`80-L2tND&!-y46M7?S7TEQzWr@{`mN>%ABhue60^GRemL%WtD`nh!{ zEH}DVya~28Rg@)sxNdNQ^>gRTYVPU0gpB=d2p2GOqjBEOL_3C;zi4T32K1xf6R&O4~=pMr#umU|S=l)@_m{79Z z1TW4C*Xy&eb);RX=ab^gvB)Q>1Jlvv*-umTr)>OhuK2C$95*{>+dCkn_hSEQ{h`%# z$~?rX$#IJs7koLo;>f|QjH0?v7Td75yP^K~tidJFmJqwMIT%@+=13j@1$4^76>uM4 z5~R8g81ui>e@Ww_G@|D(qv#c1pRF@gWO?^&PVgf$&xC4sr;_ftohCUqr%9IgU!v4a!#{CuK4)h{f!$c`_uL;vm!=V6LJO?*Ae0y1 z8#a=>_k=D+W0FUe=khNV|BJfoC)CxjFmFFl>8ah6 zV}^mDlnHOK1u3PF@Q@A2U-6PDE_8xv^HC=EDjiMS3qt2hxT)iMdXg0S*q~9bpxN4~AY5X_m!Q4z4O}XWaRUupz}nt?Cu=_Y0|ih*CXn@7#^B8uE<#2cucXqa+0?yZrw86tyr}o;IOlUK&6GH5 z6GQjP|Mmho8ijP241v7z++>rkn=ybFqXhyRQLgD91^tFbeFmpvT*O|8% z{D_n5TH%l%x*uU)!@OV18>h-n4>StuHbtVsatS##oMo3De6$*g$_3hyi*$42$4 z06rmb$27QgJV3PZs|%zKRJ%Pco(wySLtOlOmSj9EwoaYyAA_<8`H+N_Z>Ys~f6RW`!)_R<5p*l_!~t`W!@V zES|g&afu|d$9$c&!kbc{x+dH{>%$yiS@G6>z9AL;pXLvpSxQ)ej8+=nRH!5SDIRzJ z{8mMECueNlQv)Xd-jvSVk=yL#LphV42`$!#2o}G5a`&%HTEhPyTVDZG*Ai@dkl+r% z-QC?SxVr`k?(Xic39dl{1PKIpf(D1+8rs z1RLjB@}3dfxI1PGY34OFo$H*!9S8d>mnC4J=e`l8@HvQ$;oqF5|L;0;;5HRtmRqHX z##J=%HCm1w1q$=3mj#d}C`nJW)bebJ0h1v)D;hvF}wAq1=pEzWD<@Gn*zKMCr zUjem{v^)D!T@5G_M581J8G51Wu70(aMnjfpB&Rm7o*vqkDIb#B=?~Alw9K5jj#oOCe*H`86+L2-kzX9{Mh39wj)7vB1CJY1`fydFmeiyp{S{Ni}rg>nv9+S2~J;4Cyngc!dI<1Jf93 z8>>@g(0b-E0rC5glD=VqL6^!mcxRSpT3r3x7IFLHj_0WUpOU+~c!gNQoW;d^4vOUpA;F~L=bo+O+KP|#T^RQ zq2lPnD7pLnSrs`E3vLhdQTNd8cfZ(Jwj<+iap|R!5IYx?O2{d-T7pG}w5%aoYA-{A z58U-dfqfQ_h4bG(9kN60<_^|36MT2L2uYluSPmsYvB5Q@0QA6fV^hvvHPUd#D;{hZuT9pC zJsQSus@!Lyi_V$qFzaH81rQ3Q<^R7rfegu~&$(#4WyDl!;0ATDRBurg@v_^?GNM*= z!b{C{wcq^6jajygKI>KHp(uLnMq^1tVqch6))w3TNUV&MC63m$j$DVSa-Vhw(+Hy) z>;c^oHOa(<2=wxB;OF8OW8&JWys|d>`6jtLJabl%6bZ706}@N!hnyY9cAhowxyWQx zV6iO0Xho@pX3WG_>e;Jy3D}hpR>q6S0j@~r%;#4cgi9U`9Kb!~u`1*qSf~0^B(SXg zBItPF)IT~{?D{3dN@r+C;{!y8+lH49?QC;?EZrnPo-sPoO#CUQx9}D(RzFL%9<=w1 z(`bJPN3V_;*+##dpxbo$<0CiM%;|SIOpM=1@9R=$wFh7MK+u!llD?|Pe;VD9dTjjFA?89@u={*%p}7ip~m@e?SsYvbjIg1MhTH zw9dXjIn~FDB>VcEBNqNRweC#;E!|?`_LeHv0-228ZO)#hp4&&yd_1Hqtp_RTbzE-{ zcTT4B*vtsGm#N-IUzZ~U6L@5X|IHU$*lCqlA|VjUhENZ>d45v`shLKzXM?BY-?$|=!Zm-$ z?e?j`PR>~(MUHksP3O`g=U$_ZQK*AfBbJ0m?iI5O{Du0LQ+t6J1x>q^&BO9Fui9sY zjBd@$^@Nm{nLq~7;tJxL!! zui|zEce%-Px{Y*85~g=z#O5YaxS~)I%y^?VW>9LMv#?nKc?gTsriVIx96rzcq2gyt zvR|ueAu=k|nNFzgU&SB;xNxu6-6G-A1TdsHzZayxi|6(Dkak|b_v|fpL+>bv zF2&wP?IzL&u$;Mz^?$3mR$4d0N9mH#674tjom<=ao0JZlWS_PN;>Y3%m zw;ga`YLxHYRdii;ysiBF7Mq$8Nm-)2IkJy}NV;FC2aqXYe?kqM-dGw?g@V^27IsGr zE+=W&tFEU|(FXpEr|t~@5+Ix2;|7IXxkZfGLIM$rsJhJQAI8FG)e2nT<}m;W;Tskp z6q@IA6QnU;nlv{XG7}?igsFXtl|=C|9(dm0^^5J1MI;K|IS>kgw6EeJ)VEz=YY`cF zRvBDe!34s1k+L--tIBdib zNSNzTiE9LY^rb>g8wvm9!naxZUgOra^!4W~!Q0sZcBY0liWADh*Wvl6)<*8NfO@(Y!mr{NQsDiawNt106uqjSralnQ^AG zHAF)DIBifgq)9ATY$pL?FtD`ag@=Bxhd*^sl3D^}f3w=EXq5B-?y0GYdpp(HmCtps83 zMFDK>@`D0{6)Le&Sty0K&?ErMGphday$(t7hkU>gTrIn!EGh9TeTe{Cbk6nA5wbj6 zT4jHH%x8%^ZX@>Gj6;6DdM-Kr@C%UB)Q1s#M~;!1^7`@7L;)AzGZ)GWO2mqB0-^Yl zU-;t*-plQgz0Zfk*$zMV-$Z?z+X~ohW-?lxU8UjbB)`M}{bdfIBfAcvZebk{;EmA) zd>rOzR*P%SoxRz5T}bekLnVH!Kc^K5l*k?^0A5{!A{L-EkAkQ4oo^FQg~joiRS9)l z??PA~8Cb5Qw%v(W@ELKHnIhJlD?|*`j(+XddDYNG;pfP@z)T|5qkQ`-y$u7+ z$P#CBzIme~7wZ9_ApgkH#RLDI&A~(mFO>)0!Q4ulH* z_h|<3A*)S7To%O1>(Y1vP$>S>v+@fLC?38OfCN4Rlm zQ-w(W_qGraA*hD#7IV8X}{GX2zzyViBYJ1LNg$*bu zQJ+JU|Fy2a?F~@=9*2Wt$Bi)iU+UYae}_vyxR~sSMqT0G;erI@yy(Ef76;_K7RCRg z%bkV^2i1}dg}I6%Ghnhd>&Un$bN<&y5d!wRp5 zA?M@w@WHL3|CtU5)J|j6NnnL1G2qqhB^d~CMoWX8Kv4JEvq6mF_-L}~zqP=N3Ia4ICPKx|FhEQdlM#W{8UMQt_On}c**8zxrNz-vHfI{;}MU zxBzm@^|8x=evHErVPGc$T6VzM{1LXJFo5U7o0TPyfN&!-8jtGjfpN#-tG76u`~3Jw zlVk3$jR=f}1-m#F8qo9uIA13*sc^Tc1@Y@FI5cX$Qa5>D-*=FoB$72Y&Hm@8Up}blV1}IKpq#y$@JwtA?JRRywie%Kz zB$kgZR@WaW#l-9W@$(2`kfMo^jY-1iEU(Nq00(#z@W)&uFawQBc?(N^{&$)1+Og>S zS3f8Q8+ci5XGH;YFaVsyn}G01l_G#A9wNL=jKU#Xa^Ld~B-;m2uIA&{-J-0>{ z2w`egR86%1+PcJXo+k68z$z!bdll6`(SJ^nx)L{BYCJ(!LQ{2Q_@4(9paPlxb=Pz# z<4!vFX|8~!{29<*TyoNI2yl~K#2RHvF(%**rYSM`g{rkgweakp-C&42FFQ%bQTK!3 z!O7$GI`eb+QDNRu{+9Wt<2caT0Rsfc`-NR6Gp)pkZSg1 zmVrJFfkx3F>6H9GJ7^y0v|4|5`b$F2@A9bz>f7-C_+KoaJNM)<<;CTbjrJJmf7tvz-)c^Aj^nX{8*Q7Mg zYY(72kVB(~nVIdT$MCS@AZFSBp5f67ki&s5a$C#8T1yLZ{mM;(e@|YU&rk0M|6lLh zd;JsXhj{9|Q{O@)F4W;m%?>azqg=99)9)FfTJrz56xbYw{&D+-0m9;~8D;Wpf41KP z@J{=fwwLUk>$ZlIULb>&Gh%(9PqK8=xQ|8375*~M$X|Eb=F8N6vDD7hw^H>iW1t5- z$=I7Lo5x6mHuj&5V4UF;AE@`H5BtHcgQC#EMP469>Blz~p}_(h{O`m0JQ(Q_bg=() z#|ApaAC>2}KR;aPcUb#6ufR#0`hPflBBE4u$+bMN;J<&EP%Sk0CA6B=@H=^QMX~ax z?P{uIu4+ei+qL2Se#?DVX8fn}yZO}kI1c~&y`5|--7MCSho|Y;4&SZxY=P93rn|FT zp{L6WMf>NiXuM-rhZ9j+`{U&jvegPuIg#Tz22yExTU@1HW+0i3@vCIXD!Ynz>qJ z!!jG~2L$uLSnsj_H`c#UOPK!bkS1i{sApDXoWTC>(H&U<56Y#xH(LF4V}Jd$XJsny zQa%`;{Yha;k(GCJiLLFzls^+9ftN+1psht9YbTIkt%tjN97 zw{T`2pJ>@@Rg6Hs%I{qHq=f6`e6J+efAZJEa~I{HKyOS}<}wl6htmyY@0G=y-(RZy zb#+OerNZ84m}X5cWeVv{US+PjcbxS%%-SUSSq-+_>`$q;9nISL**NrO<~}yvoO}Oc zPioS=28^TnZckUWT%+&z`JY=ZZiHg|y-J*JVrx@Zs%(D{jrkn3-?(**yC0Ep_SpNK z@8ob*)m1G-T(q{C$==}kw>n;{NN!B9tu`aST>9B=y#DUXQml|yv5?HO4#U;TF_v9c zn+tFSdj{`s6esU@2Y{~>`V&$3FDJR5d_Q`yuY2FR^4QnQBlJn9_1j((p1;Rb={}Wp zVQ!s2tCs`atYU7<^-}xH34g!^1QIuutZZq0)q=;y5(THHVB1}4JfB^wt}l#OzgJ1N zH-bv(xPL*~w8Inz2q~&$NT9N!Jc0HsS(5gA8#z_a|LJf9FZa|!)cgb*+MxTQ47ed7 z&qAyDT=Mw3>cW?Tp}2tc*KhSU{R}7+8cn;In3xr8TIpB20amx~r9lUe<}HdzCv4wK zJ}ph4XCphCdSpO(sLTI$y(EwUt63cjO2tA?k56LqT5s**;?0C!*KUh9lC+TJ%g30N z?OO{oT|ci2rjwU*3fn~Bze2?=YMfg~D<$pEN60T1W#d9Wo9f#HSqJ@{C04m`TTmhz|qhn&u!|{U2_rw)2K4Z%JexjAeIu8a6 z&xYchL4`g4Pa-0TveC1CkL!rrG;D5Jt+Q9aX_p>v$4*Y{L-?1!rWV49h_-m+XKWNm zBSU;5U4oop5S50W$uIj(Z(pvbfy?BnhFN7ArSv)v{wtS6Km3wC^b?GdcVEEoE*( zZb$diD_dl7Ii+x4yDEerA8y%3M0_};rY6|e6QO=6A>{ww9JyE4^k`i6Ay28yH`Z7r zvPxQAo$6d(5oE4AA_t3Ed^L!ArjcW~L6PV3A@4|os*euN(h1>UZmpI^JiI|7;IM#Y9X)}2o_ z#D!&I>GzmW;3e}Gxc3G2Qu}d}yR7>nW75_f=e@HT&EII1E$czEU&MmA0_G566j;2j zf#x~m#s!xS_$53b8`+{T1LSx6Cr^*-?tO5`Qx-eTM@?Er>nvQvp&L#rlf_oY&=Fv| z>qb9*E84{?y^T+yzUCn{SQD>z9^u@5Z@3Ou!zL-A#%R6EfHe3Vjd90{4C^^TO=KO4?sd)dFh0l)1gfN~ z!e|9E&TKonR9n>FhCBJHzSX6t2ScwrrpNj?$lZ3#nrgniG`IJ2@W9o!iixX&l@sKl zX5XQuYuIEe5{b_foGGDe;K}B;uk!OJN3T_EiO;Y;fnq^?edRNY$I^Yz>>Gp=55xI; zJv}9-;2PD`wIi}XRIcMMGVf2J#(AJYb6zq5eK^jB%EVLnKZqkwS9G+MHbZs|TKlTm z7T`jY6lWXQpRQfS2B9@FW+ z(uxgUP&LgiyUD^8l1#@vFyj#pw65MW=BPUbuPerNMxoQ2n?B`tswBC^wR#!6e(a=y z!||NM=Y?*6#jiMaEZ~5T`CUC7^24r3W2GyfR9zT*B%4Q0<(pld#Mf_#mdib?>`@8D2<4yY_u? zLIUZ|n$%Q=Vht)5c#Yq zvHXNXCQEr9JVN~%D=7ty`4ypZN$$n9;t_9{9cA^3Ux07RFRx6DoZo%RZ1?L;6PE7< z7S@61fvo*FYhYZ?qrxDfl<$|dD0#%UwLVph$=xjKgC)zc)!uy%OVM8z5jVTwuj`)e zL|E2=FW~>*)$W$sbl=XaIS`q6_Ow@ZnZ@VZkq+u1By#3fYAY{0y4q^oKr3ffU`jcN zY(5`K*)L+AVA^h;{iIpncAwHvren~i^>))Hr$N}D#<34SAJ9J~a~-pgbw{x)+oZ9_ zlh~TN-1E%;#Q&EI5EbTYHrJ~DtDv~NsNAExEOUn;PZqn`a|PTv&`p;-aHCmnO|GEV zFHU=%dR!^|!!dHyciB@{FtOOc8%DRwwQfvL9n8w%URIYC53~Y%Dk^?*+JrYn&OMAa z4VA5|`m4ribDjFz-$I|yVGNUT`nZ`UoZ%%cbe)lGP>Jvq91!K~5giuU+fJCE1NtqK zC>34V71>z^!3>}9bELtJ(s>$OpA8%ua-U7{f0<8kvFvjiw^Zh~YbuF)yM^)3-6?0s z8CTQIqkKVvWf1X7vYEpS(CzivG*++1_boCO5K&OTm;!MXhh)MVq|zekRbaz%&f&=)s-k9&6qPbS?3TplfMH^k~pT|x*mUo0xwg)yBSMfM}h zWe8FG0UwS4S^}KCO`fj$IkpRY5(k1Xfs9@=A_ea0eDc6Mwx~Ix=UvcsS0c>X_%`xK zxj4x5rwwkIdT>y~Q@#Yk^|;Z9PGpjzpFeV-?nmtyLy)22!P8-B5?+ET+HX1y&>G8&1RHl6PRrZK20()9@W!qB;I@kM6aplUXdLw^)Q^&U2-a(75$krxe5s3>8Kk0+)~ zkadGO?qZ!P=eh-{a%|2m=FV@glGz5sQ0%D4b#9x!5Oh721_6)f%JG@>R&B)%f#-MS zNey^g7_d&^LKIwSts2lCwGCywj&}--DS-$=G5EZ&0+*vXxs5)OsM1c@hEjTM z(Zb)i10$?vS8pbh{lW-c)0j&um@pQuX_S>ousghWb~GgV>)z;UY+%_79M+afbhJl! z8|Hs?@s)KrLb8DGdsnW{RJ)@7%l)v`4H8LOk~!_{mU;NBtLl9maMSVFB+V-4#?`YO zyXz$53-#LE;w7C4(Wdut+4fm1B`0&9JT!1CoxuieG4jc(o=L{%8e+Ev!9i8ph?I=G?`^NMsxXP~)nj}M~zJ{b2Zp83x!*SU#K28Mc@n>Fz>lk>VPun@IUd2Av$2Olb;jQEy9XLY1&PJxE+qp0Qd&bEy!pCulxh61$v;xH~ zhUpDi^4;K$5qFV8O5P4;+<5&q{v4@u%iY+Swc$4cNakl$d1TlnPWku;3syKn{I!Zi zFSW^W{)rzkI2Tbyoor^q1w2=E3>z@R)IT;ogJsv_krP4L-CbD;8Lams@7&Yj!PcaX zaI_Xc@nrg|L6zw(!=}fzXUq*=8e4 zrlMGy&jUNS?E}V=3byy*rRl&5LVq-S+iAu)8sI|KyswXiC;^w8qsYTBD9xh3s&Z0x zuAy$e*z;rW`S-`j?h#)T;QATpJ!j(&5A4~*)o2h?LI} z=)oB02Tz;WnZCz)UUTLtpS<(FdTQwInYPO8Py=GSJ8vAQq_$3QTinlgJJEtPa$;PwI1f5j^A=8zqfLrSN6)G-*5Ar+zVqP-6I!u-0 zb3IsMCU~~VteOo>jh5_iv7MJME2Ov}6JkJO!x}>iHz1i;7*I2u_o6E(_=UvR2=>w^ z7%W;nmM2V;G}K$WIj0sMZ)3`UuM<zERkr zFbNN%=Paf_)pITUlCMdtufu^tiY(H?DOko1RR>0kcdy>Qm8d|Jnq9>n`}kZwMbfPcaleJ ztBGnHpcHSD$r`s%$){V&NWYt-JSDxMaJ(BW1@q~0<*N;}JE|UA${WZ1p`S!t5A52l z4|#L)pCv%*-$+v=LGdGK0t-4_Z!<%--MEk9H}wxA-R&PBN6_UT56#tkL2J2B6;a#M zQ(o}gRLu zg@t;J@8$H`3uy0b^6<7jF!ei(38VZ6bxyAel?)CKf5kLpb4!Lc(kaRA+-FA#$G!cS zOe!FJnS}Bt{IvhJsr&~I#h?Q87RLOKEK3{fEEY+z(L%78BzCoyrudk=7JBNLGDP9)dlI%TQ2oc-|8mH~LGVk3r~0*r|HnTnV=DG9^F zUEldIL@@chGTwW9^}Q<|ShpvY9Cdl}Wjgld`iL;Nze}#NGJnwO-HWZ1Y#tBMS+G(? z(~lzLA8T@e7=qF{h1>;)tXdB23S9y(8CmumZ8vTJfIkvOf~WTbHq({u`juT zQvw@jG);l+Oo|QdmlB(uHM^1a1(IV>DHSy<&fhM!1LH*!A>cI=m>vf%HjFf5G4>0P zF~+$lTkrHRBLQrg+`SCE^E9~IaNxM_bIIbhjQGvpDE#2)Vj_+ zhe0u#a;sjyPyef7{BlDQpF=Qv0cJw`xLEtxLJ2JTI7ps(18?FW;M3 z4|Q{G;Rwk7det=V*$u*a)PCjb@#8IsfcvkH{oYL=Y9nTSbGIm|M7Z#rPFgl+u0(uC zI?d6QWZYH`r$Pw(RYc4jRs$MC`RMLaHevqUDR!Em_k)wvz~R93_}8jd*!5oQ(DbwV zsjk({;zvJJ&`x7s@G!H(WmQ^c+(u|iG40*7EplvIIvsvyPr`Ugs`U>CJ=6#9Yl81i ztI=1`eB0bzKx(O8MzAKH4IWC9x3^4HosZ{+oS@}wpn1}jd+0G{!F z?tHca4SrAC>CEQxAR1VH2&=>rf(BUQiu75uj#lr3oNVM}s#BihF3=8eVJeqVd7PjW zO@pJ*Uw(aGSx0m1h7==+`%bG&w}J7~Hre$}Qo4j@VZ!fsZ*_uIN|CQuCba2LZG)Db zM6FT2HAUoO7gDjVd!3QiWGj<<{7P>&4ptn=dp*k*4QJ&NpOiO6u4HV~F+UkVE zP|YNWXf{$5y8dw59|wMV_sXBHtuOZ>fb@p(zT2?_F@Q_P09bi=M^|Q$ZW~)qc&(S& zXlSojD;6bJhJi7AXDm$t%H#ZZQ!Z`jF~mNmrBfztyu05RS<}&ULVyb>En@+-ZVEGe zO6Bp<^-%HhM?)e+e@1RDvi$BlkvncM!}&Vpi;375+T6`}$?(%FL)I)d@UN%L>N?x4 zr0kaK+qbu|fzag+-XUdaYT~~q<&yv^6?BL9SEe=+w`*Es|9!KzB#KOt??M#0?W-}X zbQj7l9UWNT1OT@lvK>PxAgi(p52yY8eH(}4dNVz>iJkv0`ABiegecFu|Dt`GJk-b^ z&g|dQ6ex)Jyw!z@`q28SW?HJ`VCC+M5(jnC(e;$L(PB{g7A5Q3H+BX$^Agmt;f?l* zc)Tjpe#T}|hO9IH>V|T2`MPXc$r6JU^co-k*4_OK(F*sWgez0XrgR|X=olH9b}|4v zZVEnhp{b1P_$?l#h|ez)NNq5X1WfvuH|2QPLtiZYxVyFdJMws^fsOv?Cl?ENdTva2 zzH#3olFh=e_PUp`lca%wiDU1YXXaSm+vF;EY}%;?!#9xlCWN;}G+(!FqKRMFfDY)2 zKC{quVqpbY*NgDJu4a^7VI~`nF?>V&rJn zLr&;`D|Gl0nXHV|JbWOttx!K~zi^_%4LD(|C9?kA(X7#|qe3_~+*C7_nml{3@ZRA4 zWLO_r)*|J>LNK)Mew?w59gu-gHc<>qn25lhe0?+c_2LDb3aM{YkHtnd*!-io$d>fvXKn@b7vB z5E-1`OE(df?xSQ-g?aprG}vcZqsqCZ=qY}&{K*Z@2G><0t0?UAm7Sl&92+Gj#!sGA zv}d(Ppn$Hv@uyzFJ^i+Po@|;ea{uUiGO()Y2aDw^wo4`Uc$>|7LYQBlrc@pl@i@%2 z2|h!^fW;L-1Sls9GtXeUGI~Jl>NNk<^FX5W}?TTM`Q|!l?qIDqyq?Od%)zr@|alwE-4zmYsw?51=%1M0wr=!H`fBlaJ$wb3-%kmk7Rt zaEPT0(vz7<12yA82#exQ6D}4%dm2qZjx|(L<9F$@kf0B`Qsc2YI2#@wx8(lA3q4hm z3(KW1kbzos{BqC$dZqy6>*qJSs|1Gi-D1&O*AX)k(w3{`KP@gGT?{8=d<#&L%7^ZD zXR*#`38xh5o87Lj{d5+a?7V+Z+P*ua8kDhLl2kw^J+dQ@2C3;-njDu4e3cT%c%;!z z7tAJ@#|CHks2alXpk-x-1mc4NiIEb7fH+?Clz6!gKT{1|RhF$S5Y*JpO6?oQ$8WMF zLZccRwJM>lXx2sv!opHM1yz*;01-yHfglio*%-9bc%8S%iP2e>@{~qA?aCH3j8$+S zY!OqfWgt{U5R9X1ghhtW8@fgpi1{57vZ3Hcn_|GYjzAmFAyOCO0ULF(`%BF<0rHXz zj|h^!1c=-3xU6gwfL{$-e>E9lWs9d)%pN`h+v9pW09GY2Y|6Bs+`ie(G0JtU9$pTo z-G&R_X6|P?>{p!S=u&0h_hp(Px|iUVy>JaQzMm$|4U6BU9H`8*z^k+8F#HO<(5L6? z+av#FIXBO8vEdvjldvo>l(Kh^u}j21EEDB?gJKM*)^0S^z01oEhUlcBM!VlTq1Vho z=7zHXmg>jL!6d>1B*t3s_H{h#U(4*guNZt-N74y8h6-&RG};9bA;>x^TfZIsY5=e? zIUc_`%Z<-mPb+2nGyA>w&03TE_JR2hCfE?lK>Er1!gLA8O;!jX2P$nY;C2>&fx2EV zl}Wyz2lA{ax~ z;%04v@bJUCwAeoeKpNmV4e`qdWUcY(ZWfB4&mZ!{j9mHYlt=WTb{f|Dod)N=01-Hl zv1hV;SQ+!v;IKMmn*Ijt!Shj(hs*vko4UpIHNOiYP&;E{c~5^@p^Drp9^Np78}t+;LN%N+aT=f$e)DwEURvj@yHECc?=mAmB|fq+YG2y2td4 zd=FUfzAHG%bK(NqW*U_x@zgY`z@7g6d$vt}#pSb3dYJc~l(wKvTDJMk>9bJ{ZYvRl zULf$JU|dZk{nDM`E$V+Pq3=n7ANGz4g87gc(@7H9HX%5K#33SpVmTo!U>nLyh)*VU z%H_3!ki2P%s>3(I4{SQDiF4G;0sncs?HQ}v&wJwi@v z3=Tnp6lA0LONZ{JN4!>vUPNcXLEKna#^#md`k#Z707K8@l5zir!47P;^5vJa!Ja8f zd2b0#pn`~7X7>j&JXH|d8p4~bvcta&9HAB@Og{ZUq}vtm472eicR!qd7jOr}$A;>?MD@^3pMe#ZSyt1&mLVZQKHw$5*moV9qDi@ibI|lM#V47Xq z>vqw_1T$=gn*tusPWNx-^eaC1^q)h!Y4vF}J?fGmLwr8@&N7O#==K)av&2hv zueMG$XFC86RTv?^qGZwdR^;_%I$25l`@xC#cloV!J%{WR&&;MhZWC-9;9KuAYR>g6 zN8T#*1sz>qexr{tg#s5^Z^t@7b{lpCz^}B@X@go?*9$?O8Qv5i-*#!Oed{E+u?^v? zKY&s?6x=I1DXnoae*u&)uv$pTtzBf9TN^m*Hk{w7rEl@;Gzwnu_t z;t4xc!?Dw;bJ=FL>!qoF5{PbGo%(Dj<7>&g;RxiLht88vT{R{ScD?{qD0VB{Zr=sR zf`Q)S2*U_T$bygD))8-0PMdYUa`RSNPx+*5pU;hOv^M++5dbQjm08>5-&Z9klOFey zbe-K~Y!y;p6|vOh%($2{ZI&a@>(kY_{w{g15CN1=^0Zz)s}C;5l9BQ_1rJ)gR!8l8 zEmP2I7aNr%=aH2jXwSkhn!f#Y^wjUjZ2;mWdO44odj(s|DtxsAg@u zlEq>Pu{i2Oi@PAd8`#4j3V?p@iqK33tRX_KECtvA8Ty%vI%{Tp;VvGokozZu!fS-R zOm!iu+hhSo4EX#9QZm_=qMUN{+Oj}z{!twGWMSUo zghS{1Wlf40`)on}gO%zR8%2gtMdbpI_O(64sMadi?&1@DnJ=t7*5)9&f z_Zy%sEyho;-MmZUS=A^~&J$Dq{8wd`CBRlMzyUjp~p5=v8Q<2EtCR zkP$co_Wb`9BOrj}ki2XxC|d9tm)+n%b`N5)*oT46r2P;eF+Hcvap`x2AKw&tKa^aK zrv;9uBJ3Ftl#{Tj4oruNL}sHx$wGnV_%BmXLlH&v5ezszuk)^^^_ix>Pg2*bkOnE9 z_vdMC9~e=0!Ns>5A8t0B4yBoFeedp(+P;oZmfG{X{*^;$lmj$rsk0ZL}FHHYlf zYz7#RIvw`KzVpp`a?DFd;+poQX`dQhGDCQjEsFxd+WVT)gv|wa7amci6D*rmqaZrR z1n;Iz9x@BfK_4>cd88*#I%|XhoHL7bW0TLdKiE9eGO{TwS#mvtiPG9s24UF)7qZu; z637GzAmkcCjrVBh#Hc@dC8JEryda+l?lL-CnqS5tv;wt}7~3=@_vr~1+x2g6B$7eF zWT5IS6iY-9VuYxN{nsSC;oe%HYQ2V2iV`{);4pH58M3m9#pfDnQ%iso1Y7dHcT_+8 z&{o?YCXSl1en`otS_9*l(OJYfvfO>0a?)?3^d{RA=E}Y646U8fP`@a_XbgY$3td%+ z+{EyO?pcf^EdDZr0Hi~B%SK34 z$kM-owq(kP3HbDYlJ1SD@|sI0>|I{<-$_0iR0iO+763EFlJzKn#Zz7ZXz)%K^} zID@s#21OK~Z~@T_xE+J}TX0*mw}_zU-xxYzpP@Yy@LhN-xYP$BL=PFAIY!gOMk7?h zHw)7my|_HvkQ|OTN4!9hBC<^$n7qL5|Kk@?lktEBsJoVU%9}A~g#Q%&tBAG|hE=r6 zY>EJ&gB_p2;d7Nf+$GUqI7%Gg(dY6AdM(E#6sGlJenC1RrlWE>EcKwM{ z2?@k_y9&!!X01T!9tvyAc3Jz0xnHB(Hu+tfrMoJ09|$D3J;+hcj3>jGa>k?wn>0vX z-~LYh90(2&7K0$8V*J2?m-e!)1eJBQ&?GSdEwB#R*4iu4j zcDpNQ&&>zG8dsIHW=AkvX{~z+iWdK&QSgJ$4Z;{|rKoIm0hze- z1UtGp=%>*zk7CS0sR77ThBy%`+4*gX5?FATs{`*9J6T~`0g?xDr7zIMHiN1P=^Y&1 zv=`K6!Vwa>cq}ikZ}h_5_c!q{l~!7_r;)1nHDqcAHa|HlPCkT0wJU4U<>&MpIu=kdk>OWKFU>3eVWSnn||b0*#6dQE?R`&>F*SyGAbPvsLJGv5v0Q-cM7 z?n-Hfucr2BzflqCtV${dgDLG9RZ(-byb`n5yDsYYvKbMO9|4+$m&Q8r(R3^1)?9|O zAwy4QTxd?Z^WMd@0NYN|?qoO4=|J$09@TzQngJQ}M% z``X1)_$j!g`uB_vhQDQ8*K&Q4g77fmqaW*HL%y>KO(71$kZk8K9}1oiaKoh8)a>_w zKc@l8v^hgW1zK!5E5pnw!P-HQIAcSbJTC(wu7lXI>!@2xsjJgO?<#OD% zmU=h<=UMdc26p5@+v-db^tNaKIm6lU!#E;hu4;G^*MX7VW{SQeaK7eBSn^IqfGc3< zt;FUL?|>H-wi)?!nrL)PqflyG!nlsu%V&BsYTWCHw#2EeM!aITO>N*|iXv{A#R9$d zzJ_n*yQzEszO9L3a1xi0OZCl~G#U#Nbt2Q)eQHH)b~8CV96>pxBJmS0keHvgkEiP( z^tXhNTK~%h=$;M3uTv_*d;{OoIJr=}Q$3vu*VaG_(~sLyW2~pe^$D$2V8kHI_>6aW=)$Uh*-A)FzZC;JHG)mug^N4ZWz|efwM@u>{Z$_x@>g%j-uMEkx z){V;8)rLh)xBz?&;E!A(V0t3ZIeD9urbwy-yfB}nTt$G+RbehjNgi_ZTi(gigA3UO zE&g`mWG`RRC`|(wJL5DX!xi@t&#G;BEL<^Nu`Wfs41R=umhj2{lb zsp=p=l8f7)Eu~svvn%MT5a@N0Gu6Ly=uH{19<=T%#PITNii;jN%lv?_;a!>6k%CnG zMkl29;9x9VYSHKxzzU!@1F(rJHo!j5@z`I5_q;LN32}^r=(VojS#&gW=YPha70AlL z{WT#32kyH!!$6ZohJK7zV-o%EXe%HbrVi9D=yIZib5CtzcTdF6PEwWx4=h-5fBFC$ zb+qhX0RVPu1D`7yT3UqoVdA6QuO9(URt!{6r4AKPRePt88dDg(ITexJ7Ixxv0}Z`9 zn@p}LEsypW)bO0%^Vz*OZd5@~C++}`-NLTyW0ipPh{)VW9JeUP{E8Pxma@m_9C*iu zU>lA?`bcaoa=N;jtV(*=5=3Dpm0!hRi)_ys^xT76!_S%(Gy^r|e1XhodvIkvvhZAz zLQFsdjz?(3La+c{LC}GmfVl|JBRb4}MRbJHiMSe~ra{myJ?`IEC!9s9-1Bi^=C|`I%hrQE z0QOsQ=#}H;?>z|~+sfCp;R>RqXRt>oOXbb^H;b|NB>HgLcFm5842L~EscO0r3D9H) zIluV4PEnOU@e?|N^C#p>;;x7-Jzw_$B*0IvaH|gy;=>oF&A1#gO8a3^IgnuwWSPan zKggm_YgnTtP&Mk}APr#6NZEZs8y*_?WL46p+aGc#yvWO75_VZIqtfSci zK>Mup&EKNHc#W5?3s)z51%Z9KLZGC$Z`MIMm9kk>LXMfsX_LhGVvu<6jf~$f8z@vo zsnzm_^;3gC&@B_zdTu}PMZiP4#+m>Y!>%;Vv`Beus`izz_Asvudb9YfgwEr_T6YJL zfTGvbRCQhF-{oY}%h&~Y9d@%}Y7?oH$HzH63EHSmvTnA3=8P&m+MF!BV{hSGCVm7pb=o~zP`Y6)XJkb4 zDn5@W(jD1d?3T!Ytfgt%{aXj6#7`3}jN#_ndRix=y{rHvw*myX2{t?%w$S#g)eN@F zp4jf@CRQ+kNvUrr-0q!r!t?GPgFF>6jho}4W6W&cHAs*_}3eV+pyW9ue&D|y- z>XQc7qR5RlKhslu$z2UimMM~gBixfyh0dz8GEEN{>v51-r(gdso=Wb2%jj8N*5i#- zVz&~GkYLg*F;8ECWUcuB7<=oWtlIB;_@<>(x96AMczQol&^&bFSKZuf5hfC!diR^;L^ve#UirO&vydi3)@u z9%f@O(bS;9;^REhq}-1#dgE(PK1~Y$0)IjIB8ZR~TY|#I27s{B$#xN$*UV$Xav}4? z)N96W%009bB`i2PD5^wX~4r%js+=7e0-z-H=aLTLc1!4~jTL^_2!3oNwdV47$w!Ajo8AQh9H zx1zCoSDQf`sK_m@*FA2}FqKaSl07GFSmep?TB~-u(7Y^uMbJg_{wn z{B+iu;vGdWwD}EPERmqvHXP_iMX#62qmy(1;Ue!D(pd_jHo=Vy{_!HweNSb>CblN# zT}K{QVS&9ybIx`lUO;8i8x?U1S1B-+pi7xrfOZ6@bxL{wc`c8-*O(iZyFPmUURF-D zUv4W&^kYQ}C*K}L!Z){R<3eWtqR@HbCs~$TVZ=hASvWJF1xjMd?9jeKi@H&$JjLhp zh(?iANt_}7CA_lIRYbVZ^Fu`n6zXjR#GkUeSmw6oF5OR7Tt9wd>!2qR_N4|5-u3H& z$Gr2BI}vR@GR?UN`iQ+yxO1L)u6Jw)%l7?Ik?36(W{&oBh_@_n=wPBj>b1=I#<-O9 z*1q-4t&t9%XbNaJ%XN_L0o>y8uLdHGqF%B0maf!qHvnyy;ct%8Kr&dF+-NM3Iss13w`H{>VNLB^jDL=__62L@HIoE#R_tQBVKcVPYv|1qNOH#-Cn8usx&h5;vID`vzHKS6-U`1eJXK=Si^p# z-3vaJ)BFHN?i@PmfYRD{R2w)gCZAi6p*bqhIbKPWoQcY;GkjdOo%j-z*E`0=seF(f zR!Esm)r-&#HHd@bj{YZHCAuJj5XzE6WS%aSw{J)qYkW`=+&rN0@V@nq?mnY1(u8GK zT{?0ATzFVZjU#Qw`u3Gm{`N^Jfn21Z0E(1T2R(gwvqCiG~tl!}e{14k;W! zv^z5{pYp;yFvbDd+wUg`)yC$PIcL2Gfz2P^p}Lj>y3utXCS*VbnvcV6rTsP^LBHhnX)~3Cv zXC!=z?@pEV7}`R`K~M5|e$As6W)%fJllrFEPDl+@rEqMz`N%)F6-^b;d@*oS4<mtybXuIubVeySSWSDI6Cq0!LPRr?6aMouX0)zRJ|AAkKI zQU11%i?yvACK~L7>w%sb#KjdB9V|^yb%0%N17_l<=y@lP)l@dQM3sw^ncuKbkE6d7 z>kdT7SB0HV_ca1v`FJFlj}wQtLADm%sAL!I2#a#Ithcj@-&^oL#p84Lr!dU02RC$c z5Z>p+zaz-s5#py%5Q#U@y+(1x-Hr}jsOfumwxtL9txB<%=BhXX9`|gfG7n{?@Pi_Q zGQ)x@)N|JHB+WAt0p;ix=1)@S3mr&(G}Y?3?NxM{my6)OGkJEg$ls;b>mW4s}9lO zPQ7)Ku}kl?T#mii!EcuUOu@fJhKBKdrP!f4JX|UfLH<=q|HJ3s z+LkyFDZw8cfQ2F!f+Q14Nk_-|W$YY>-{4RrYenY;j5wu_q8~g{PzJUgHR{~Gw!mxmjDMj z+tSH7KXX9uadbx0CT4bIo2 zv}AgIZmQX;)vi6l=m;P_S9ldWb6;9-cB8Ino}yvv0Dqjo9Y zc4c&V&|8PYw7rb1-*}Zd6!x+3+DN`$y&%zm&tOIUqQSDK)m#p`*lq8LPOuhqnQ8QS zsM?o?4(W*B%EYiq@ zm{(eD)4J(fq|TMRzL`d4dG0o3*vX*M3{({tyceO^J)=gEBVMFt!bAAS>V<1h=)O** z!&p6T+)s&2N}qV?2`_@DjkTtOs)Y&TdSdQN2x?8ng%H6}BSQtmV8AWv6&CRAl|xxw z&Lwb7jjTjg_&oi6-Ei&rEt|f}1OM) zU>EEuU#{eI<{hZO)Bh;cCzQBE$;pwlM2wb(Nk@e7l|4hY%swakx;PBmKAB%45zCSm z7uZ*NC~0V5V4&2wQED{B1e$Ii9ebuL>>9Lmx_Q5U^A!FqmxK^JVbEOq8b4iaF%hXV zV&EpBSi#V8DxH-){IS(I8bXu-%*vGD|ubacnKJ*6( zWDI%=z8+5;H0Z*NsRHhU(&y=ZlIHMQzhz6zhxmmZ9u;l=D8IrA_g6}vi_MJs78>gj zs&bc~A0NsWlaj=xLI5o`BSe3rm)(l)I84vC$aiMHq;7R?$PkRL7fKU6H)1%0{W~M; zPz!gb$9F>OwaA%XTQ6_s@2)QIZoj9CY<{zOH{i9@caQR|VJqJreO10bk`cLGjq$l2 zK=*xd*-17?$8tC1dpW6py+S*5yM(8%M31(A#reMAcu`OrHC7^6joLN!DII6Yp@k=x zyY~7vbi(>8-cf8}bjFb#goj%g3y(?@q=rDo$nTFj-f-*$*3h|mT4bb4{5^06moQci za3U=3U<`bLVC1?-JPTlDdPPMm2`~HlB1WGF0DY&ZVzPSf`3tCYqkcHD^rMiK#0d;~ zF`BQ*s+d8;sQh=-eMS1}s2@1BJWTwkp3)f%eHkMd&rxu~kO`f_|1SL@;jTp!Q(Ykn zS%l!8FPBmq=>H-THI=>+pjU3@j7Wg(zzLa}9OpGg+Xxl=1(Hc2K<-nCMueb-4lTY*YvQoZp>+dOB~$_zPF@ za_emv3J4fi?U^faWG|D;f_dPS{N?7#3hg9^*7fP@#hxStzD-^cCKdb%C@mJyXhJy& zWAW>TBMiKC{BO=m43(>oySs1aU}#YYKE_s}CiQA3i9cO~=}I^Q4X4u`zOt~Jf0xtY z<`V2AWD;_pY*?OA+sjnqa9239|HE>z*o5cx>7$-2KQy4W_LkOMSLwjCAwc z-J88TQv|e`-g$Y^7=s_r(97=5LUpIV` zM#1+FP3qfvk>Pzgtk=UqNs!jV!CtAmn%Q5BP8Mb#f<%JS$?lvc9IbY(othwZ{v zyb%108~KTjm-_*gi~zwnnEM4_ip}wob3Y3A<;({iCt$XLTZm&(T3reN#BL{$mNu<_ zj3=VTrHBVY64ux7sBo4*bjNF~R8Xb((18K!S}@_Xm6LG^^{p*ME|vDLSY~k(-`^o5 zDq)U0>#42ure1XGtoYDhg1@wRYIgkNPj1!#_UMV8i6h{dpD781wNQbG5QR~r$yz^} z&Fi6%6du{f6)TS|$$btrzVEmNRYpNnE#|L4j z4D~vEXBIKrB)n77Juz%e1f()_ZZO_ohh(BNzj3<6S~pXjyGx>F1ci!hqo3}HfU+A_ zEqeLoLhSKNCHY-DJL;jn1Nr1g^W1se9Z~qF#7R*gwOVvY85@9cHsSTsYs2JHBBk&m z)%Z{!sdkK&Xbc3?Uk0+O0UG`2RS{Zy){o@qjE1~021uLV?2>xghJX(#HE6f@v^L86 zeF(q^c$C?gW`j;uZ3zvTY%Br70>%#!@v>u+TWLPOJ*sSB21`mLI42^DSe<$;0PGJc zgh2^PMLPE?foK6wZJ<@t4scWNLj{r|#1`fqzVvUPJ+B!DpB>8jni0Ypo|7&l;xZkW z_I#Y;NkXKLH|9=cPOMRG&k;CKD9L9&))=aQ#a#_vEh7xKqBB+!KXfHd!dUBvfqk!C z2yjYNcX@UIZy`{$U*6uF01xZ}tlaB+fFP)j|7fsa&!bOqCjtm}#;*F`tLkg3ABBH& z1qT|GGk_fdDWACRalkYUqqcZv%QD`M4x=KEFdJ2|7^8*+()Ux8-$W2np4j4F%cHGQy-js6hla?Z?7hdrCPXOP+F<; zSAnR+`0}ME)(?s&Jh2V4et&5^gjvi$mTQmd2VcjQVWtf2dLn1OEJs1`Pr!R;WT8tl z=@$+Uy4I3>V{2HoGGl8R!twsu|D^Z;k+>f7{XPC=Uk9>by5y(G92IiG{xgpcBDlIZ zWVv>Huz3FkDOL+{`1@aTp8w5&Q|GW-_^ZxZrs~ajRKV>IxIN)Sv5WN9K#JF~|77J2Ebosi6kCiQzmlT|iX*W;V>(c#8IS)m+ zLDpoqqZ72eG9S=U-vxLKDawud6y-wY%f|pgGd|_^LQ!ZyO1}6t{DLzhmayu4>=#JQ zC@?Ai?#RvOS^R@-T=y4iJ{Rj_)UV4k=KpNRE8cl%;Wrgf50}4e5mdDbC^7G$AQE`L zEU&GfS+~=b%z8csa4@&0cCS7o-auo4nhOo$1cn^Qt)HMOh>r;iHLUyt_LkE(TXYKy zaT(~r5JPGzO6mK7`r4LwqinpB43F)S*qN`R3%wHv?7#ze217;}M$$>-&!!(}Gd!m{RUm z`pe0+A{1%xve1R8hUbMSSQ%@N5<@a03RLF*48dC}R^zd;BgMtQCBg-8iK1?ZbTpZ; zTS5L=ph{+s4_h1_p4J{!FoaMPc@-q=!tc`RsUfU^P#mHxB$NZXpF*IVASp0ye;!Ot z7A9u#hoMo(&OgJ#qzeI&`rf($-0%5~OL9FgM3Akg^hf!hwlWa9yw5zdLnR{z;k?bb z!e7;QwBE~{>(534s?iJ*oaCN|Nqm?{CDgzBLze+EMGR9Q5wvUE2A)l>ZOC{J?Qrpa zf&k@ynX|LWgAJAUpV%8IvZ4zU6AlJLaMz9#!7noPeX;rgj4UmQ|rf)D0_4>Is)l_hbq7Qel!2{9}FhYR4m_4e)nf$Y(JN;Bz~15ax1#PRs+U*&A!hb_0Pdic7B ztDp*g_#XucGZRFY5anV7(uRTEcK2s#J}ghHe;@ptJzE%_R|B?a-sZ^uVe1|?h5MQeN;C@uFdxf z3@Hv$bd7=pZAErp_r#JRp|S|kTwV9Y-{su>&XNvBAu1YH&-gYK6!wJ zJ8EN?lgVn{S$Y-W91cFXgQS^$fBeJ$$O|K?bv@v`1#9dX>h z4x`kpZf!B{5GY?t|8!9tM)N7s^{ngvz|_%EG5*oAY2qP$$FPC?4h!d{+@+N>AxP%o_`(@A4|q<$MSegr`so zDF53m;xI9134=PWaxniUwuM~@Ljrw&mXjGO@9E~6BaQT*{|8zOXCwG;I*WfN>*Ifp zEm|~4%fYVq^Q%I-o6m){cayE|s1$P%S;DTHM=+i8y&Ulikb@Weznuo6VJmy@&qNze zgOM3W?nXlUe`?Z+YIl`O(fega>V!IV^T_G8uNdm#jCwdOVlD-`Lx=8vb(f2k4;5-( zoelLLa>$6$?DFcL=X%&gk}!YUm&&jZYv{u?T|&gGQMUH`B!=~2eA-@&wo$Ro#Yp7- z9i6l@WS#%*!f<#}gw8|Ww|^?cdxZ1E_-OCI@O~u=))2Z85A-_|QavmR8Z4p=C5Bbw ze+DK6{y&G+3gjbVmz85N@73>}1Z4+^8v~R`OgU8-!XS7MKf)AvHUB<7*uSw;=y<^Q zP~?Ac0c=&-5C0heUc5h5$7EaekG7SQc(=+3%fII(?lvjQ`roN>qyEo5RR6h$KAf9X z2&;_mpPgKg0#6!#=tE5S7ZR9wE5fwo`|ltofI++$;XD-3g-_->5xO51h97u(uZm4h z>3_lpf5wacuN@En2POxV)9;^@(g_jD06T1QWz=E=7=skz9|T52(bmD2SsC0U+*P`m z4f0)becW9CT-a`HfQ8onmlp0T=o^3c&)E<5KGy%{`Qfy_PT-uAsPIRefViH}Xf5X3 zMhkc(49jwEV*N84T$>cFU0fl zWdVt%Pfe)-Z#R{LnIRQo_^urD=C4wZ8PqEhO>r%PsE4;F^FA)Szu!4zw+cdEu!%#J zdy=F(rCIs`n5UJ9Ux)@a!3O8=f?jfi`QKRpPJ@*Z$iFvc$(_60xk!lLdVga+BuWg3 zUhUqW+{4yx#Qr&c*D_W#>*0wfLFgpW+@!|o-5sHBqE{=D|GTvWz`HRq?DAOdrt9zU zV7xZvjU#S?c^6WZ1rb>f{{PqytR^lUR4A9oa_^%&1ZjP|6tnZ>p-wr@%|G+xY?PZ| zK9Y4F^uOf9?|%ux!-nL1KXM3i(6{<9Gb2Q;XtYVNdmBl;pz!(ssCu9ljM7q-R%b{R z3mf?kjsLEKpN5c>5I6b2TO~kq0Bqsr-!Y(ETgwodzp54n7$PVrL7h5Lsz5Pllxy|i zKJ)H@yjwVI@1|L90mfZxWE5v<@%SUwcfG$Mq`Mvd-%Z??`=3p$W>M4A*biPVK)4V+ z*R|o^p}iRWDxA0(EBtT7e?mxt_l-+M0c3K_1*w}a26soC8{T7!;QlvB6uHR89Thm2 zI(AxT>YADdS=w1(OiP!1Yw9uWRlK6ds1yWY(prA9HgC`4hO0Ei{S7cF0o_D)Qhm^x z_0W9mq<%N1|5;8c0``Y)6QC{tfi~L96gv zO=!|gb_p7A)KUr?v19%PU0&{5Jhjmva&MFXsNuf=i!Tw-dRsxG%;LAX#t++Oj&vs= z<(-66I3d=p#hw=iypTz*FV{YCnZB?(wye{nJ(Ure^ z24Gcj-(wg4@3?Zg^%DxX6rU#X5cou5Pl7gT-kAdPyXQ$wC1?an<%Z5D zW%$3KlSXU%jB-uhk#1<@LG22gJ!Zq%7IGWqaH;^FEWFah>~C`axH;fQSTfi1=RI=d z9-eL9CL5q?w^)n21LUSYCj7;A0zMBt9g&_;f0~9GA8X1tU4@{WoE=$c$lz@4mPxJ% z-~=_`%0`r$wZTX~u&m1|&bYkyGk8G3*K#`tX)9-KQjd|o6NCQ$@Q*o7&ot%};F9&} zuINX?aLdY(!2}sn%Wv1TLaW(m1>^U_KS%|{f|f3s>ruk(Fzr^a~36b3+lK?FtbSV`cBDdBX(#BTO` zi=q@b1}XmuBGVP#iv*aqi6p))C#%(;+}28Wi5;JlTPAU|spcGw_yOpFgS{zu)LDsA-vu2qdWt47nAeS zq6?hpidGd4Ps*ZtRYmTKCA*4lRul-Qk244|WqtubTvRX}DC<#$B6$8{Vg#7l6 zjhAe?qn>*jgi*kKs+_J~jPHq2Zk>^e^;=eq9r%Wo1HstSFVG=O$a0_$ICUxe48Xfn zid9P+r=)^?f};m&tysb3fOf!!hu2$3l|YpP7nfMFlB(I$pBo8HaL=MST$9t}xp#~l zeK)&l4*yR{n}$v-P}v(8$I?=e3VO^XTPj->c*yUwva(txVXfjL$iLAevdT-5zV&fI z``I>w!ASmJ|H!`4rOj{7i$&GL;sXeJj2}%D94eRX2%gamc$1Zd( z%fhop-_kWd`Nx)^nQrOeKT0>twcLnlp(qxR%l%e_AVga}-ixQtXe9DnQ{xH4_x?5( zH<+;bwvEIG8_dnjY`N#z-O>aUgSQ}kb@7hAn&Eyi@Tnu$u4+n6Zq1*_6{__yX|oC4 z;#pCO8BL4eNBiI@0t%;?8NaC!sy8RSFS)#12}H<&k)Z5i%B=*ol&Zf}X@twv@yQOL zk6bLs$0ZJr($hWx-hUNSur!Q!L3_YN%=WQWA5#qIEyG#eXayQyFv@ zthT?JT;-#&eIw(=RZ`GK1%7#*I@nq@z)K);#$e~i6Sv=jK&Oy_aqlo`A62=WQEq~2 zwIcuPWLsnjxfD-0giFkZUaYThTL(ay4X63Kc>CX-Mg8({9hARxUjQ(m`x;fm z@e(*Wt<<)~q5WH%7Zgf(Xm=`_eyU{wyifKGsQWzSrzp=MkC3p!&FGiQTwTG^5(%Ia zE0g!4d{WsTSe?7V>=b4AX`R_=6OiQNztn4mh{d4XaP7o54!}_vIcfk_1>7~4`!eYs zZ=ThrrME8tQbEYaW_6)H=(`B9t>Kh>$w8B%pu77+dP0C6^Z}{D8ucZ>JUo~LycarT5 zNsX~OwH*eK4p6)U_5>?N0SxPEJlo(a#z6cCn(;p5k`?{1f~henZB78;w)^4byxiIk zwQ#tB(LxGr0DrGx3Cq6~1r7p9025r5)KEVH+%=#|?$8a+(s27osqZGKE~woBwnO4? z{}Qw~6BI@s33I^6-gw`N4_p9Pk2gC@yC3aNr{H*=k1yp;ar@Gbf*v)dZhh)y^<0S#s5~pe4kzo1%tZJ z2h|?pb~K;sa25;Gw)|p&y7*tjEG<)b)AFE~{kxddPT>uq5Claj3P;v(nCV%hmqWx3 zceLp+;u8X+Jb%!4`Ybk#38@3o)%|lOb+{$sDBW^VMSkPJ<2fC918oKfp4>^Q^+`kr zmJkF8{V?&yCru$iL{B!vpEHfi=Vt~{o}H8O`Umf^<1N^i2u>YuCaa+3I>AErw5p_( zu+(z_2x}os_@qCFAoWkjzk&__If1 zqCilro3lvN9bp{h#8G;XAjAURsVg*yXRIm2baFdyAq)ecP&zkCOIn^Zj?ZlsggaSr zKWLcPCx0&cAX@A87_ahzq2}yZ*f&boQWCysiKRpb8#OXG7fVHcJQdMf>Ti((8kE>h zkC*j$(hH1p*1oNRmYJa7&qqyi>JNsJynzpfk_R(1Sja3Tpr=Ktl#Af!jjR!tlY$?O z@b0xa#M698dG^dA^oGtoryTp*eg^&=T!Bu74R*!U5|?;JuXugdi@q*P>hU=H3)jSjd8#SMNY6ILxDhHM%Fm+74$C6oj!Uoi>o#V?cl*?^*Z0cOg8Bd}rZC<rSZ- zu)ABEUyAaK57#J*6;MI!?`_w}w>h|Vp#0e8@Zve#&4=&=Ja#fEO&&prXu8->P@f-D z*VTW#d9Dl@`vnig_@J}GOKm?Tj!XnkZCyYa42^x} zKrLU%AWW?yKro87w_vmBtS|oEav`0B{F7e8&J^DCXbb}~;R-o5h&NHUpjqF}pN&#* z0bsfX z92NP{FwX^9m!%xMoX5WKo03Dp@UV-CPm)1hG5r+~lbMclTA0L|d`U`l{a<*Oz|{NF`P z(UPk5ZtsXcZyko`;IAahq!1IWN`~K8=_rqpx1l$$aIY9DRK?C(!D^2nk0cRNWNDgc z@lpd-Z5)+(!)?nX^&LkGoCf4RvoJB1q}Z&MI!U%eF*kdRcI*77XpsLnaRNax!1+za zd9hp^Z9;f=9sZ-1WVf`Xbz_H>#Wh|nw_)t(<4IKN%Bx!=C(cZ)@nxIugEfr@jcV)A zw?*XNf;SO<&M={$m~@T#+;s|so-!T@JrfsZk!yOG+TxDn>R#>d_i5>QUUp;hXgG< zt0V|2)85ReLFW_f>NI!C_ZbuwV>GD`(hhW+b3DX?1Y*E{2zlwT6#c6EDT2@!S;`W? z<#hbv0d)gRu8IB@AB+fw-$0`Cl8g@t58d{Ec7>4bj^~X)8iaANquna8r5I1X5Q8qp z(}NB%))=j5jq07U9u?At`93rhss;!0sk?yH6&LZ16}PMV8I?Nw ze|Ck=dI~>FqM{4^GNb2F>y`&5I}a$TJ33#WRLmh2n!e9&)o{bF5`@;OjFnN3KfC}X z$9!_3j=l$#PPT-S7FbIb0Ue9}LZT*_0mgB{*@jkGhu1fcpb6OI=bOQ=L!jO;FgP+jU3Ogyx*d1pxQD?1|@QfCp8e zm8+H))rGX+|It;K(?elt?W}~?XvmUwT@yTeRPPTnCmktX_AwQvEsOI9BHt&cQhLJA zl;8Q4CGwQ%O)h%r-6?otlYTE2(xH3(95vA!#OD>Ojo^2t!XcD6?NbQ`Aj^J7O=Im< z5HX*O8YxPCkOg-kj=@6DGaNPpkoQJ* =BypHaPyR_1OPnW<$M|J92_*v9^^)^tE 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 B1E2r^ literal 0 HcmV?d00001 From b6d9e022006949580b6cb60d499934410bfe8c37 Mon Sep 17 00:00:00 2001 From: "Zenuni, Arijan" Date: Mon, 20 Jan 2025 10:06:22 -0800 Subject: [PATCH 3/3] fix: relative path of the images --- dashboards/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dashboards/README.md b/dashboards/README.md index c7282a2..8bbca19 100644 --- a/dashboards/README.md +++ b/dashboards/README.md @@ -17,10 +17,10 @@ The Executive Service SLO Dashboard is a comprehensive set of dashboards aimed a - Replace the `DT_ENV_URL` in the config.yaml > executive-dashboard config. 1. **Executive Overview Dashboard**: This dashboard aggregates SLO calculations by application, offering a high-level view of the overall performance and reliability of your services. It helps executives and stakeholders quickly understand how well the services are meeting their defined objectives. -![Executive Dashboard](/images/executive_sre_overview.png?raw=true) +![Executive Dashboard](/dashboards/images/executive_sre_overview.png?raw=true) 2. **SLI Threshold Evaluation Dashboard**: This dashboard provides a more granular view of the SLO calculations, breaking down the performance and availability indicators for each service. It allows for a detailed analysis of how different SLI thresholds impact the overall SLO targets, helping teams identify areas for improvement and optimization. -![SLI Dashboard](/images/sli_evaluator.png?raw=true) +![SLI Dashboard](/dashboards/images/sli_evaluator.png?raw=true) By using these dashboards, you can effectively monitor and manage the performance and reliability of your services, ensuring that they meet the defined SLO targets and provide a high-quality experience for your users.