From 3ddd01e4227bc1fa42cc264d3745b733c1ffb3ff Mon Sep 17 00:00:00 2001 From: Alec Swanson <70179303+aswanson-nr@users.noreply.github.com> Date: Fri, 23 Aug 2024 14:26:52 -0700 Subject: [PATCH 01/17] Update config.yml Remove unsupported markdown content. --- data-sources/windows-certs/config.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/data-sources/windows-certs/config.yml b/data-sources/windows-certs/config.yml index f02f63ed57..f2cd3dd007 100644 --- a/data-sources/windows-certs/config.yml +++ b/data-sources/windows-certs/config.yml @@ -1,12 +1,10 @@ id: windows-certs displayName: Flex Windows Cert Expiration Monitoring Install Plan description: | - ## Windows Certs via Flex Using the infrastructure agent and a flex integration you can pull certification expiration using powershell and send the information to new relic to be used in dashboards or alerts. Follow the regular flex installation process to add this flex integration to your agents, study the data to confirm if it matches your needs. - ## What is Flex New Relic Flex is an application-agnostic, all-in-one tool that allows you to collect metric data from a wide variety of services. It comes bundled with our infrastructure agent. You can instrument any app that exposes metrics over a standard protocol (HTTP, file, shell) in a standard format (for example, JSON or plain text): you create a YAML config file, start the Infrastructure agent, and your data is reported to New Relic. icon: logo.png @@ -23,4 +21,4 @@ install: url: https://github.com/newrelic/nri-flex/tree/master/examples/windows/WindowsExpCertSample categoryTerms: - - infrastructure \ No newline at end of file + - infrastructure From e1d1e5eb54d3c32d0717ba0501cc19df54bc7e08 Mon Sep 17 00:00:00 2001 From: Steven Broderick Date: Fri, 23 Aug 2024 14:35:05 -0700 Subject: [PATCH 02/17] chore: Update example data source --- _template/data-sources/example-data-source/config.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/_template/data-sources/example-data-source/config.yml b/_template/data-sources/example-data-source/config.yml index 7dda052980..d32837faca 100644 --- a/_template/data-sources/example-data-source/config.yml +++ b/_template/data-sources/example-data-source/config.yml @@ -1,8 +1,7 @@ id: logs displayName: Display name description: | - ## Description - ## Supports markdown + Description does not support markdown. icon: logo.svg install: primary: From 50a7812da24a7b38893aed183ed17aefa77d1a3e Mon Sep 17 00:00:00 2001 From: Alec Swanson <70179303+aswanson-nr@users.noreply.github.com> Date: Fri, 23 Aug 2024 14:38:22 -0700 Subject: [PATCH 03/17] Reduce description length --- data-sources/windows-certs/config.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/data-sources/windows-certs/config.yml b/data-sources/windows-certs/config.yml index f2cd3dd007..2dc80367ba 100644 --- a/data-sources/windows-certs/config.yml +++ b/data-sources/windows-certs/config.yml @@ -4,9 +4,6 @@ description: | Using the infrastructure agent and a flex integration you can pull certification expiration using powershell and send the information to new relic to be used in dashboards or alerts. Follow the regular flex installation process to add this flex integration to your agents, study the data to confirm if it matches your needs. - - New Relic Flex is an application-agnostic, all-in-one tool that allows you to collect metric data from a wide variety of services. It comes bundled with our infrastructure agent. You can instrument any app that exposes metrics over a standard protocol (HTTP, file, shell) in a standard format (for example, JSON or plain text): you create a YAML config file, start the Infrastructure agent, and your data is reported to New Relic. - icon: logo.png # Searchable words or phrases keywords: From b36630ac8e73702ce96e6c5264e223234a57c698 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Sep 2024 20:43:45 +0000 Subject: [PATCH 04/17] chore(deps): Bump express from 4.18.2 to 4.20.0 in /utils Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.20.0. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/master/History.md) - [Commits](https://github.com/expressjs/express/compare/4.18.2...4.20.0) --- updated-dependencies: - dependency-name: express dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- utils/package.json | 2 +- utils/yarn.lock | 216 ++++++++++++++++++++++++++++++++++++--------- 2 files changed, 175 insertions(+), 43 deletions(-) diff --git a/utils/package.json b/utils/package.json index 2c5c738747..b8998b8941 100644 --- a/utils/package.json +++ b/utils/package.json @@ -39,7 +39,7 @@ "ajv": "^8.11.0", "cockatiel": "^3.0.0-beta.0", "cors": "^2.8.5", - "express": "^4.18.1", + "express": "^4.20.0", "glob": "^7.2.3", "graphql": "^16.8.1", "graphql-markdown": "^6.0.0", diff --git a/utils/yarn.lock b/utils/yarn.lock index e6c3ce9d14..1c48279c52 100644 --- a/utils/yarn.lock +++ b/utils/yarn.lock @@ -1221,21 +1221,21 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== +body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" - content-type "~1.0.4" + content-type "~1.0.5" debug "2.6.9" depd "2.0.0" destroy "1.2.0" http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" + qs "6.13.0" + raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" @@ -1302,6 +1302,17 @@ call-bind@^1.0.0: function-bind "^1.1.1" get-intrinsic "^1.0.2" +call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" @@ -1436,10 +1447,10 @@ content-disposition@0.5.4: dependencies: safe-buffer "5.2.1" -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.8.0" @@ -1453,10 +1464,10 @@ cookie-signature@1.0.6: resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +cookie@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" + integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== cors@^2.8.5: version "2.8.5" @@ -1545,6 +1556,15 @@ deepmerge@^4.2.2: resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" @@ -1612,6 +1632,11 @@ encodeurl@~1.0.2: resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" @@ -1619,6 +1644,18 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" @@ -1701,37 +1738,37 @@ expect@^27.5.1: jest-matcher-utils "^27.5.1" jest-message-util "^27.5.1" -express@^4.18.1: - version "4.18.2" - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== +express@^4.20.0: + version "4.20.0" + resolved "https://registry.yarnpkg.com/express/-/express-4.20.0.tgz#f1d08e591fcec770c07be4767af8eb9bcfd67c48" + integrity sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.1" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.5.0" + cookie "0.6.0" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" finalhandler "1.2.0" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.10" proxy-addr "~2.0.7" qs "6.11.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.0" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" @@ -1838,6 +1875,11 @@ function-bind@^1.1.1: resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -1857,6 +1899,17 @@ get-intrinsic@^1.0.2: has "^1.0.3" has-symbols "^1.0.3" +get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" @@ -1884,6 +1937,13 @@ globals@^11.1.0: resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" @@ -1915,6 +1975,18 @@ has-flag@^4.0.0: resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" @@ -1927,6 +1999,13 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +hasown@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + html-encoding-sniffer@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" @@ -2658,10 +2737,10 @@ media-typer@0.3.0: resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== merge-stream@^2.0.0: version "2.0.0" @@ -2784,6 +2863,11 @@ object-assign@^4: resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= +object-inspect@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== + object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" @@ -2893,10 +2977,10 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +path-to-regexp@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" + integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== picocolors@^1.0.0: version "1.0.0" @@ -2972,6 +3056,13 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -2982,10 +3073,10 @@ range-parser@~1.2.1: resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" http-errors "2.0.0" @@ -3108,16 +3199,47 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serve-static@1.16.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.0.tgz#2bf4ed49f8af311b519c46f272bf6ac3baf38a92" + integrity sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" send "0.18.0" +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" @@ -3144,6 +3266,16 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" +side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" From 2f3003db87d7659ce8fd784123dfeb9b18c72e16 Mon Sep 17 00:00:00 2001 From: Andrew Anguiano Date: Fri, 13 Sep 2024 11:02:21 -0400 Subject: [PATCH 05/17] feat: Combine release-artifact and release --- .github/workflows/release-artifact.yml | 50 -------------------------- .github/workflows/release.yml | 47 ++++++++++++++++++++++-- 2 files changed, 45 insertions(+), 52 deletions(-) delete mode 100644 .github/workflows/release-artifact.yml diff --git a/.github/workflows/release-artifact.yml b/.github/workflows/release-artifact.yml deleted file mode 100644 index 0feb2c5717..0000000000 --- a/.github/workflows/release-artifact.yml +++ /dev/null @@ -1,50 +0,0 @@ -# This workflow runs when a tag is created with the `v` prefix or a push -# to main occurs. It runs our validation script, outputs the artifact, -# creates a new tag, Github release, and uploads/associates the artifact with the release. - -name: Release artifact -on: - push: - branches: - - main - tags: - - 'v*' - -# Permissions for attestation -permissions: - id-token: write - contents: write - attestations: write - -jobs: - release: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - with: - ref: ${{ github.ref }} - - name: Setup workspace - uses: "./.github/actions/bootstrap" - - name: Validate and generate artifact - uses: "./.github/actions/build-validate-artifact" - with: - output-artifact: 'true' - - name: Attest artifact - uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c - with: - subject-path: utils/build/* - - name: Create new release tag - # Only run if this is a branch push (we'll need a new tag) - if: ${{ startsWith(github.ref, 'refs/heads') }} - id: version - uses: "./.github/actions/bump-version-tag" - - name: Create release - uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 - with: - files: utils/build/* - fail_on_unmatched_files: true - make_latest: true - # If we have a tag output from the previous step, use that as the tag - # name, otherwise use the current ref which should be the tag. - tag_name: ${{ steps.version.outputs.tag || github.ref }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1773cc5925..e5aaeba293 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,13 +4,27 @@ on: push: branches: - main + tags: + - 'v*' env: THIRD_PARTY_GIT_AUTHOR_EMAIL: opensource+bot@newrelic.com THIRD_PARTY_GIT_AUTHOR_NAME: nr-opensource-bot +defaults: + run: + shell: bash + working-directory: ./utils + +permissions: + id-token: write # Required for attestation + attestations: write # Required for attestation + contents: write + jobs: generate-third-party-notices: + # Don't run this if it's a tag push + if: ${{ startsWith(github.ref, 'refs/heads') }} runs-on: ubuntu-latest steps: # Checkout fetch-depth: 2 because there's a check to see if package.json @@ -24,13 +38,11 @@ jobs: uses: "./.github/actions/bootstrap" - name: Install OSS CLI - working-directory: ./utils run: | yarn global add @newrelic/newrelic-oss-cli - name: Generate Third Party Notices id: generate-notices - working-directory: ./utils run: | if [ ! -f "third_party_manifest.json" ]; then echo "::error::third_party_manifest.json is missing. Must generate using the newrelic-oss-cli." @@ -55,3 +67,34 @@ jobs: else echo "No change in package.json, not regenerating third-party notices" fi + release: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + with: + ref: ${{ github.ref }} + - name: Setup workspace + uses: "./.github/actions/bootstrap" + - name: Validate and generate artifact + uses: "./.github/actions/build-validate-artifact" + with: + output-artifact: 'true' + - name: Attest artifact + uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c + with: + subject-path: utils/build/* + - name: Create new release tag + # Only run if this is a branch push (we'll need a new tag) + if: ${{ startsWith(github.ref, 'refs/heads') }} + id: version + uses: "./.github/actions/bump-version-tag" + - name: Create release + uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 + with: + files: utils/build/* + fail_on_unmatched_files: true + make_latest: true + # If we have a tag output from the previous step, use that as the tag + # name, otherwise use the current ref which should be the tag. + tag_name: ${{ steps.version.outputs.tag || github.ref }} From ae6bdeef46173c5e0dc78e67d2768fcb6349c5a5 Mon Sep 17 00:00:00 2001 From: Andrew Anguiano Date: Mon, 16 Sep 2024 15:24:59 -0400 Subject: [PATCH 06/17] feat: Clean up validate quickstarts workflow --- .github/workflows/validate_packs.yml | 94 ---------------------------- 1 file changed, 94 deletions(-) diff --git a/.github/workflows/validate_packs.yml b/.github/workflows/validate_packs.yml index be85d7a1e7..3f69006e93 100644 --- a/.github/workflows/validate_packs.yml +++ b/.github/workflows/validate_packs.yml @@ -39,7 +39,6 @@ jobs: run: cd utils && yarn check-quickstart-uniqueness - name: Add commit status - if: always() uses: "./.github/actions/add-commit-status" with: statusContext: "Validation / Quickstart id are unique" @@ -74,7 +73,6 @@ jobs: run: cd utils && yarn validate-images - name: Add commit status - if: always() uses: "./.github/actions/add-commit-status" with: statusContext: "Validation / Image count and extension compliance" @@ -109,102 +107,11 @@ jobs: run: cd utils && yarn validate-icons - name: Add commit status - if: always() uses: "./.github/actions/add-commit-status" with: statusContext: "Validation / Ensure icons exist" state: ${{ job.status }} - validate-quickstart: - name: Validate Quickstart - runs-on: ubuntu-latest - steps: - - name: Download artifact - uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e - with: - workflow: validation_gate.yml - run_id: ${{ github.event.workflow_run.id }} - - - name: Get PR number - id: get_pr_number - run: | - export PR_NUMBER=$(cat artifact/pr_number.txt) - echo "pr-number=$PR_NUMBER" >> $GITHUB_ENV - - - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - with: - ref: "refs/pull/${{ env.pr-number }}/merge" - - - name: Setup workspace - uses: "./.github/actions/bootstrap" - - - name: Validate pr quickstart files - id: validation - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NR_API_URL: ${{ secrets.NR_API_URL }} - NR_API_TOKEN: ${{ secrets.NR_API_TOKEN }} - NEW_RELIC_NO_CONFIG_FILE: true - NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} - NEW_RELIC_APP_NAME: ${{ secrets.NEW_RELIC_APP_NAME }} - NEW_RELIC_HOST: staging-collector.newrelic.com - NODE_ENV: production - PR_NUMBER: ${{ env.pr-number }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - DRY_RUN=true - cd utils && yarn create-validate-pr-quickstarts "$URL" "$DRY_RUN" - - - name: Add commit status - if: always() - uses: "./.github/actions/add-commit-status" - with: - statusContext: "Validation / Validate Quickstart Schema" - state: ${{ job.status }} - - validate-data-source-ids: - name: Validate data source ids - runs-on: ubuntu-latest - steps: - - name: Download artifact - uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e - with: - workflow: validation_gate.yml - run_id: ${{ github.event.workflow_run.id }} - - - name: Get PR number - id: get_pr_number - run: | - export PR_NUMBER=$(cat artifact/pr_number.txt) - echo "pr-number=$PR_NUMBER" >> $GITHUB_ENV - - - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - with: - ref: "refs/pull/${{ env.pr-number }}/merge" - - - name: Setup workspace - uses: "./.github/actions/bootstrap" - - - name: Validate new files - id: validation - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PR_NUMBER: ${{ env.pr-number }} - NR_API_URL: ${{ secrets.NR_API_URL }} - NR_API_TOKEN: ${{ secrets.NR_API_TOKEN }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - cd utils && yarn validate-quickstart-data-sources "$URL" - - - name: Add commit status - if: always() - uses: "./.github/actions/add-commit-status" - with: - statusContext: "Validation / Data source ids exist" - state: ${{ job.status }} - ensure-quickstart-dashboard-names-are-unique: name: Ensure quickstart dashboard names are unique runs-on: ubuntu-latest @@ -234,7 +141,6 @@ jobs: run: cd utils && yarn check-dashboard-name-uniqueness - name: Add commit status - if: always() uses: "./.github/actions/add-commit-status" with: statusContext: "Validation / Quickstart dashboard name is unique" From b1a60107112ddd2b03f25d0b4f3ed70ecf28db7b Mon Sep 17 00:00:00 2001 From: Andrew Anguiano Date: Mon, 16 Sep 2024 15:30:55 -0400 Subject: [PATCH 07/17] feat: Remove legacy workflows --- .github/workflows/pr-project-board.yml | 21 --- .github/workflows/preview-links.yml | 34 ----- .../workflows/quickstarts.eu-production.yml | 20 --- .github/workflows/quickstarts.production.yml | 20 --- .github/workflows/quickstarts.staging.yml | 20 --- .../reusable.quickstart_submission.yml | 126 ------------------ .github/workflows/validate_data_sources.yml | 56 -------- 7 files changed, 297 deletions(-) delete mode 100644 .github/workflows/pr-project-board.yml delete mode 100644 .github/workflows/preview-links.yml delete mode 100644 .github/workflows/quickstarts.eu-production.yml delete mode 100644 .github/workflows/quickstarts.production.yml delete mode 100644 .github/workflows/quickstarts.staging.yml delete mode 100644 .github/workflows/reusable.quickstart_submission.yml delete mode 100644 .github/workflows/validate_data_sources.yml diff --git a/.github/workflows/pr-project-board.yml b/.github/workflows/pr-project-board.yml deleted file mode 100644 index 6d6c04a1aa..0000000000 --- a/.github/workflows/pr-project-board.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Move content PR to Project Board - -on: - pull_request_target: - types: [opened] - paths: - - "quickstarts/**" - -env: - GITHUB_TOKEN: ${{ secrets.OPENSOURCE_BOT_TOKEN }} - -jobs: - move-pr-to-project-board: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - - - name: Move PR to Project Board for triage - run: | - gh pr edit ${{github.event.pull_request.number}} --add-project "NR1 Quickstarts Community" diff --git a/.github/workflows/preview-links.yml b/.github/workflows/preview-links.yml deleted file mode 100644 index 665d3eff74..0000000000 --- a/.github/workflows/preview-links.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Preview links - -on: - pull_request_target: - branches: - - main - types: [opened] - -env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PR_NUMBER: ${{ github.event.pull_request.number }} - -jobs: - generate: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - - - name: Setup workspace - uses: "./.github/actions/bootstrap" - - - name: Create preview links - id: links - env: - PR_URL: ${{ github.event.pull_request.url }} - run: | - cd utils && yarn create-preview-links "$PR_URL" "$PR_NUMBER" - - name: Comment - if: steps.links.outputs.comment != '' - env: - COMMENT: ${{ steps.links.outputs.comment }} - run: | - gh pr comment "$PR_NUMBER" --body "$COMMENT" diff --git a/.github/workflows/quickstarts.eu-production.yml b/.github/workflows/quickstarts.eu-production.yml deleted file mode 100644 index 518e0541f9..0000000000 --- a/.github/workflows/quickstarts.eu-production.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Submit All - EU-Production - -on: - workflow_dispatch: - inputs: - pr-number: - description: 'PR to run against' - required: true - -jobs: - eu-production: - uses: ./.github/workflows/reusable.quickstart_submission.yml - with: - pr-number: ${{ github.event.inputs.pr-number }} - dry-run: false - secrets: - nr-api-url: ${{ secrets.NR_API_URL_EU }} - nr-api-token: ${{ secrets.NR_API_TOKEN_EU }} - github-token: ${{ secrets.GITHUB_TOKEN }} - nr-license-key: ${{ secrets.NEW_RELIC_LICENSE_KEY }} diff --git a/.github/workflows/quickstarts.production.yml b/.github/workflows/quickstarts.production.yml deleted file mode 100644 index 6a5b0a0d0e..0000000000 --- a/.github/workflows/quickstarts.production.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Submit All - Production - -on: - workflow_dispatch: - inputs: - pr-number: - description: 'PR to run against' - required: true - -jobs: - production: - uses: ./.github/workflows/reusable.quickstart_submission.yml - with: - pr-number: ${{ github.event.inputs.pr-number }} - dry-run: false - secrets: - nr-api-url: ${{ secrets.NR_API_URL }} - nr-api-token: ${{ secrets.NR_API_TOKEN }} - github-token: ${{ secrets.GITHUB_TOKEN }} - nr-license-key: ${{ secrets.NEW_RELIC_LICENSE_KEY }} diff --git a/.github/workflows/quickstarts.staging.yml b/.github/workflows/quickstarts.staging.yml deleted file mode 100644 index 28e6a5b20a..0000000000 --- a/.github/workflows/quickstarts.staging.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Submit All - Staging - -on: - workflow_dispatch: - inputs: - pr-number: - description: 'PR to run against' - required: true - -jobs: - staging: - uses: ./.github/workflows/reusable.quickstart_submission.yml - with: - pr-number: ${{ github.event.inputs.pr-number }} - dry-run: false - secrets: - nr-api-url: ${{ secrets.NR_API_URL_STAGING }} - nr-api-token: ${{ secrets.NR_API_TOKEN_STAGING }} - github-token: ${{ secrets.GITHUB_TOKEN }} - nr-license-key: ${{ secrets.NEW_RELIC_LICENSE_KEY }} diff --git a/.github/workflows/reusable.quickstart_submission.yml b/.github/workflows/reusable.quickstart_submission.yml deleted file mode 100644 index 4857fa880c..0000000000 --- a/.github/workflows/reusable.quickstart_submission.yml +++ /dev/null @@ -1,126 +0,0 @@ -# Reusable workflow for creating, updating, or validating quickstarts for a single environment. -name: Quickstart submission - -on: - workflow_call: - inputs: - pr-number: - required: true - type: string - dry-run: - required: true - type: boolean - default: true - secrets: - nr-api-url: - required: true - nr-api-token: - required: true - github-token: - required: true - nr-license-key: - required: true - -env: - PR_NUMBER: ${{ inputs.pr-number }} - DRY_RUN: ${{ inputs.dry-run }} - -jobs: - submit-data-sources: - name: Submit data sources - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - # Ensure we have the most recent commit to `main` - with: - ref: 'main' - fetch-depth: 0 - - - name: Setup workspace - uses: './.github/actions/bootstrap' - - - name: Update data sources - env: - NR_API_URL: ${{ secrets.nr-api-url }} - NR_API_TOKEN: ${{ secrets.nr-api-token }} - GITHUB_TOKEN: ${{ secrets.github-token }} - NEW_RELIC_LICENSE_KEY: ${{ secrets.nr-license-key }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - cd utils && yarn create-validate-data-sources "$URL" "$DRY_RUN" - - submit-quickstarts: - needs: [submit-data-sources] - name: Submit quickstarts - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - # Ensure we have the most recent commit to `main` - with: - ref: 'main' - fetch-depth: 0 - - - name: Setup workspace - uses: './.github/actions/bootstrap' - - - name: Update quickstarts - env: - NR_API_URL: ${{ secrets.nr-api-url }} - NR_API_TOKEN: ${{ secrets.nr-api-token }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NEW_RELIC_LICENSE_KEY: ${{ secrets.nr-license-key }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - cd utils && yarn create-validate-pr-quickstarts "$URL" "$DRY_RUN" - - set-dashboard-required-datasources: - needs: [submit-quickstarts] - name: Set dashboard required datasources - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - # Ensure we have the most recent commit to `main` - with: - ref: 'main' - fetch-depth: 0 - - - name: Setup workspace - uses: './.github/actions/bootstrap' - - - name: Update dashboards with required datasources from quickstarts - env: - NR_API_URL: ${{ secrets.nr-api-url }} - NR_API_TOKEN: ${{ secrets.nr-api-token }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NEW_RELIC_LICENSE_KEY: ${{ secrets.nr-license-key }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - cd utils && yarn set-dashboards-required-datasources "$URL" - - set-alert-policy-required-datasources: - needs: [submit-quickstarts] - name: Set alert policy required datasources - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - # Ensure we have the most recent commit to `main` - with: - ref: 'main' - fetch-depth: 0 - - - name: Setup workspace - uses: './.github/actions/bootstrap' - - - name: Update dashboards with required datasources from quickstarts - env: - NR_API_URL: ${{ secrets.nr-api-url }} - NR_API_TOKEN: ${{ secrets.nr-api-token }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NEW_RELIC_LICENSE_KEY: ${{ secrets.nr-license-key }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - cd utils && yarn set-alert-policy-required-datasources "$URL" diff --git a/.github/workflows/validate_data_sources.yml b/.github/workflows/validate_data_sources.yml deleted file mode 100644 index 4d0e542d2c..0000000000 --- a/.github/workflows/validate_data_sources.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Validate data sources - -on: - workflow_run: - workflows: ["Validation Gate"] - types: - - completed - -jobs: - validate-data-source-schema: - name: Validate data source schema - runs-on: ubuntu-latest - steps: - - name: Download artifact - uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e - with: - workflow: validation_gate.yml - run_id: ${{ github.event.workflow_run.id }} - - - name: Get PR number - id: get_pr_number - run: | - export PR_NUMBER=$(cat artifact/pr_number.txt) - echo "pr-number=$PR_NUMBER" >> $GITHUB_ENV - - - name: Checkout repository - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - with: - ref: "refs/pull/${{ env.pr-number }}/merge" - - - name: Setup workspace - uses: "./.github/actions/bootstrap" - - - name: Validate new files - id: validation - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NR_API_URL: ${{ secrets.NR_API_URL }} - NR_API_TOKEN: ${{ secrets.NR_API_TOKEN }} - NEW_RELIC_NO_CONFIG_FILE: true - NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} - NEW_RELIC_APP_NAME: ${{ secrets.NEW_RELIC_APP_NAME }} - NEW_RELIC_HOST: staging-collector.newrelic.com - NODE_ENV: production - PR_NUMBER: ${{ env.pr-number }} - run: | - URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/$PR_NUMBER/files" - DRY_RUN=true - cd utils && yarn create-validate-data-sources $URL $DRY_RUN - - - name: Add commit status - if: always() - uses: "./.github/actions/add-commit-status" - with: - statusContext: "Validation / Data source schema compliance" - state: ${{ job.status }} From 156370efa9bbc178db42b39e0b1e05571128e119 Mon Sep 17 00:00:00 2001 From: Mickey Ryan Date: Tue, 17 Sep 2024 07:16:43 -0400 Subject: [PATCH 08/17] feat: Remove vert.x data source from add data --- data-sources/vertx-extensions/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/data-sources/vertx-extensions/config.yml b/data-sources/vertx-extensions/config.yml index 61c5047d54..3eb0c156af 100644 --- a/data-sources/vertx-extensions/config.yml +++ b/data-sources/vertx-extensions/config.yml @@ -29,4 +29,3 @@ keywords: - mongodb - reactive - coroutines - - NR1_addData From 2f5092fae5935c75f83d2f5102d45d44af587002 Mon Sep 17 00:00:00 2001 From: Mickey Ryan Date: Tue, 17 Sep 2024 07:38:12 -0400 Subject: [PATCH 09/17] feat: Remove C quickstart --- quickstarts/c/config.yml | 35 ----------------------------------- quickstarts/c/logo.svg | 1 - 2 files changed, 36 deletions(-) delete mode 100644 quickstarts/c/config.yml delete mode 100644 quickstarts/c/logo.svg diff --git a/quickstarts/c/config.yml b/quickstarts/c/config.yml deleted file mode 100644 index 50110040cb..0000000000 --- a/quickstarts/c/config.yml +++ /dev/null @@ -1,35 +0,0 @@ -id: 7fa19c5e-b97b-4c4d-954e-bc209afec3ba -slug: c -description: | - ## What is C? - - General-purpose, procedural, imperative computer programming language - developed in 1972 by Dennis M. Ritchie at the Bell Telephone. - - ## Get started! - - Leverage community expertise and instantly get value out of your telemetry data. This quickstart automatically instruments C with the New Relic C SDK, and allows you to further leverage New Relic's APM capabilities by setting up [custom dashboards](https://docs.newrelic.com/docs/query-your-data/explore-query-data/dashboards/introduction-dashboards/), [errors inbox](https://docs.newrelic.com/docs/apm/apm-ui-pages/errors-inbox/errors-inbox/), [transaction tracing](https://docs.newrelic.com/docs/apm/transactions/transaction-traces/introduction-transaction-traces/), and [service maps](https://docs.newrelic.com/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps/). - - ## More info - - Check out the [documentation](https://docs.newrelic.com/docs/agents/c-sdk/get-started/introduction-c-sdk/) to learn more about New Relic monitoring for C. -summary: | - Monitor C with New Relic's C agent -icon: logo.svg -level: New Relic -authors: - - New Relic -title: C -documentation: - - name: C installation docs - description: | - General-purpose, procedural, imperative computer programming language - developed in 1972 by Dennis M. Ritchie at the Bell Telephone. - url: https://docs.newrelic.com/docs/agents/c-sdk -keywords: - - apm - - language agent -dashboards: - - c -alertPolicies: - - c diff --git a/quickstarts/c/logo.svg b/quickstarts/c/logo.svg deleted file mode 100644 index 7c3b085b1d..0000000000 --- a/quickstarts/c/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From ed98b3c91e379a584466ee44bc09a8080966b893 Mon Sep 17 00:00:00 2001 From: Chris Hynes <111462425+chynesNR@users.noreply.github.com> Date: Tue, 17 Sep 2024 12:28:29 -0700 Subject: [PATCH 10/17] Fixed dead link in Blazor Server guide This section of the docs site was recently refactored --- quickstarts/dotnet/blazor-server/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickstarts/dotnet/blazor-server/config.yml b/quickstarts/dotnet/blazor-server/config.yml index 3171c792c6..c74850b372 100644 --- a/quickstarts/dotnet/blazor-server/config.yml +++ b/quickstarts/dotnet/blazor-server/config.yml @@ -35,7 +35,7 @@ documentation: - name: Blazor Server installation docs description: | Our .NET APM agent can be used to instrument and monitor your Blazor Server application. Perform an immediate analysis of your performance statistics. - url: https://docs.newrelic.com/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements-net-framework/#technologies + url: https://docs.newrelic.com/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#2 keywords: - dotnet - .net From a9775ffba5ab11f1a89ef59f8ed47653200a422c Mon Sep 17 00:00:00 2001 From: pkudikyala Date: Wed, 18 Sep 2024 12:28:14 +0530 Subject: [PATCH 11/17] Updated the install configs for Flutter --- data-sources/flutter-android/config.yml | 5 +++-- data-sources/flutter-ios/config.yml | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/data-sources/flutter-android/config.yml b/data-sources/flutter-android/config.yml index 378648bb10..d0116a4387 100644 --- a/data-sources/flutter-android/config.yml +++ b/data-sources/flutter-android/config.yml @@ -9,10 +9,11 @@ install: nerdletId: marketplace.install-data-source nerdletState: dataSourceId: flutter-android - frameworkConfigId: flutter + frameworkConfigId: flutter-android requiresAccount: false keywords: - flutter - flutter android application - android agent - - flutter agent \ No newline at end of file + - flutter agent + - android \ No newline at end of file diff --git a/data-sources/flutter-ios/config.yml b/data-sources/flutter-ios/config.yml index af7039dbb6..cf5b333591 100644 --- a/data-sources/flutter-ios/config.yml +++ b/data-sources/flutter-ios/config.yml @@ -9,10 +9,11 @@ install: nerdletId: marketplace.install-data-source nerdletState: dataSourceId: flutter-ios - frameworkConfigId: flutter + frameworkConfigId: flutter-ios requiresAccount: false keywords: - flutter - flutter ios application - ios agent - - flutter agent \ No newline at end of file + - flutter agent + - ios \ No newline at end of file From a8a61e617988f1f2110ca8d5047fc51c55054a27 Mon Sep 17 00:00:00 2001 From: jcounts Date: Wed, 18 Sep 2024 11:40:47 -0500 Subject: [PATCH 12/17] feat: Added listing for drdroid --- quickstarts/drdroid/config.yml | 29 +++++++++++++++++++++++++++++ quickstarts/drdroid/logo.jpeg | Bin 0 -> 5608 bytes 2 files changed, 29 insertions(+) create mode 100644 quickstarts/drdroid/config.yml create mode 100644 quickstarts/drdroid/logo.jpeg diff --git a/quickstarts/drdroid/config.yml b/quickstarts/drdroid/config.yml new file mode 100644 index 0000000000..903b55582e --- /dev/null +++ b/quickstarts/drdroid/config.yml @@ -0,0 +1,29 @@ +slug: drdroid +description: | + ## DoctorDroid PlayBooks Overview + PlayBooks is a single interface to run log commands, DB queries, remote server commands, k8s commands, fetch metrics and more. + + ### New Relic integration with DoctorDroid + With the New Relic - DoctorDroid integration, you can query metrics from New Relic right to your DoctorDroid Playbook. Queries are available for: + - Fetching a New Relic golden metric + - Fetching a metric from a specific dashboard widget + - Fetching a metric from a custom NRQL query + +summary: | + Integrate New Relic with DoctorDroid's PlayBooks +icon: logo.jpeg +level: New Relic +authors: + - New Relic +title: DoctorDroid +website: drdroid.io +documentation: + - name: DoctorDroid integration documentation + description: | + Integrate New Relic for use in DoctorDroid's PlayBooks feature. + url: https://docs.drdroid.io/docs/new-relic-access +keywords: + - doctor droid + - drdroid + - playbook + - newrelic partner \ No newline at end of file diff --git a/quickstarts/drdroid/logo.jpeg b/quickstarts/drdroid/logo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ecd7c21cd237f8b3953155ca0715f5b5c02486e3 GIT binary patch literal 5608 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 Date: Wed, 18 Sep 2024 11:45:11 -0500 Subject: [PATCH 13/17] removed website --- quickstarts/drdroid/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/quickstarts/drdroid/config.yml b/quickstarts/drdroid/config.yml index 903b55582e..72e296cfaa 100644 --- a/quickstarts/drdroid/config.yml +++ b/quickstarts/drdroid/config.yml @@ -16,7 +16,6 @@ level: New Relic authors: - New Relic title: DoctorDroid -website: drdroid.io documentation: - name: DoctorDroid integration documentation description: | From c01690e5df0f2f1bee743373d8fc98fcd811b6d8 Mon Sep 17 00:00:00 2001 From: jcounts Date: Thu, 19 Sep 2024 10:44:47 -0500 Subject: [PATCH 14/17] feat: New NetScaler quickstart --- dashboards/netscaler/netscaler.json | 137 +++++++++++++++++++++++++++ dashboards/netscaler/netscaler01.png | Bin 0 -> 104864 bytes data-sources/netscaler/config.yml | 17 ++++ data-sources/netscaler/logo.png | Bin 0 -> 30138 bytes quickstarts/netscaler/config.yml | 40 ++++++++ quickstarts/netscaler/logo.png | Bin 0 -> 30138 bytes 6 files changed, 194 insertions(+) create mode 100644 dashboards/netscaler/netscaler.json create mode 100644 dashboards/netscaler/netscaler01.png create mode 100644 data-sources/netscaler/config.yml create mode 100644 data-sources/netscaler/logo.png create mode 100644 quickstarts/netscaler/config.yml create mode 100644 quickstarts/netscaler/logo.png diff --git a/dashboards/netscaler/netscaler.json b/dashboards/netscaler/netscaler.json new file mode 100644 index 0000000000..205028b6aa --- /dev/null +++ b/dashboards/netscaler/netscaler.json @@ -0,0 +1,137 @@ +{ + "name": "Netscaler", + "description": null, + "pages": [ + { + "name": "Netscaler", + "description": null, + "widgets": [ + { + "title": "", + "layout": { + "column": 1, + "row": 1, + "width": 6, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.markdown" + }, + "rawConfiguration": { + "text": " ![NetScaler logo](https://www.layer8training.com/wp-content/uploads/2024/05/netscaler-logo-black.png)\n# Dashbaord" + } + }, + { + "title": "Unique Bot Types and their counts", + "layout": { + "column": 7, + "row": 1, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT uniqueCount(bot_type_desc), uniques(bot_type_desc) FROM Bot since 30 days ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Transaction Count", + "layout": { + "column": 1, + "row": 3, + "width": 6, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT uniqueCount(transaction_id) from Bot since 30 days ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "App names seeing Bot Violations", + "layout": { + "column": 7, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT uniques(appname) from Bot since 30 days ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Total Attacks", + "layout": { + "column": 1, + "row": 5, + "width": 6, + "height": 2 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [], + "query": "SELECT count(total_attacks) from Bot since 30 days ago" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + } + ] + } + ], + "variables": [] + } \ No newline at end of file diff --git a/dashboards/netscaler/netscaler01.png b/dashboards/netscaler/netscaler01.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f4d97f401f59abc4ce9572c734b72417f3aa4b GIT binary patch literal 104864 zcmcG#Wl&sQw=JBI;1=8=xVw9R#x=ORyGyX(G!US1cXxMpC%C(NaEIH^`Mx?Q&wK9Q zTh&tCy=(2Ych5EFm}86uRFD%#gu{jV@ZkfZqy#|m!v{#vhYue^VW7a@FcDV-gWoC~1SA>Yqaq%pBcONhU)Q10Nw%g2rI!iee;#d3RRGgvL}}x{j>Hc3a4-Ol)!`)! z{dFW0!u56!YO)0<9SG;|gZKM`$XRA=!Gr&O@K`v!v~j^2c<{gHkc5@kO76(%jcBui zvrqWHe_TOrZWZ8ho)UrP|Kxl~P3VRZ)w+Qh^scIlbr3{WjQK<6tkPwsb?34Z=RfDB zuRJ%WFm;yu^=^uNzTF+ysf|pO8P;e-fN&9+;N6Rez$ZNdDc~9C+V0yfbG|t9A>9)v zJN&2Z#&6cRv-DffQI4}6U)D3w5c{#};o=+9?~az`Op2&h)qh>^J^S%VP?=T&ZkbVJn~r(soRhLwVBV|bqa3c%o*UQTb`7H)FcxcWRXsvesJ z9NIM|ov@@NEG{12cbbe)(NVQ*tqUIsDM=wCCA5TcU0T*S$-HCSgN?2osa@Q9xMGVv zm@mbh7qfCs9&1t7;GamCsHS{;x`D}UCw+I>zMoZn z9y65QhMDDbF6PXz5jhb?e;C(-nI5Ay`kX%6nC&zH)wab#M4;v!fwU81Zd?-?VT@Wq zhNgEky`$Q`naJxl=*#00YtzEwQcPs?jC_k`e%HPxA4$Bd39or3ufDZ<&?(d2xK>-F+-c^2hlVp`)$ z@BHj&hFjXo_olYX$JpRr==4~G+ALNsrqhm^$gpp)Qct3NMH5`@M9cskN0OiSl<>Q} z3|-J%W!oXVj69ik<@20j#6XSWX_NMcg$F6+dWlt@dN?72e)~`b60L0E{NskCgdDXu zeU;pr784miP3zJxMhW4~b>5}@uJMbB%O!nAONCMqj6O*d%a}d9&8Ud7mPLJcEX;(r z2B5LOGluyTIY@F{alr0}DhIyKs{Pd}?sxj@j!p;Qc z0MH^L<3SIaKtKt>YP*}@%_-}*1h=fyRoz$UUi;q)&YZ`L&vgmKnn%kb)~xtkH<3Q& zjkl+~UvvbmtFnmbIvN;E6>E8rs&UBJbyDaV~(&D zxW?qxO+IIO`58JuoSfiQd5!wUO*+o#TkL?8%jcGfU& z^#kP22h=7dzglwgU_z!7_X&dYXf|ouRrpXkq)4SQM>Rqn5H61*^NKMfTEvRK$v5Y4@Y6dB&>XISYO%al&FMO4;2z#Lo-r!vIGrS#m0hJnq{-ju9 zprT3ZZ)w7W96F*aN0(KIscOQW@`vdk>G|)z&?qmIfa1#n?d+N9dZkQMoovOZ%i6e)ZN^dyrM@x9{)LdPfu(RY^2&w@%T2UTTe{_>EF?ajJJP+5qQJ10Nn{ z-@o`dR`5-^!mkE6*ukpN5DU<4u`E}Y*3)L^5Y<;;>d3slE|=Nu*v6;RZh#;**rKAP z6;X7Ao6u_x1}YUwelORV3>Whxy9x?_tcofFh_>S*TE=v4zd%!g5)1ptM)#C6b5ci%OQTt1=3b238Mo9kvQ1Qol?k zVvbOOf$#Z4K!zS4)+x$wAK^>+#&}|oCymL=(%>Cd+p%@CMHQ_F_lp&@3OjUA1O7$~ zk7_fTB(YV9;b8+U^t|@_Js5rDHFf!P<-A>iCf?E0(2<3uwpKw)E1c~zaQyWZnc7!NdY7DbVd!z1m37Z+ zbfF@)X32aACauFBB|ct7F)s#CQG$Bk&y#Do^JfmZ)uA9CNrjQ?9f}vQ zs|=8~0dmnu&%bZm@^cGD_hKbF_Z-b<^}Veaaq8*P*`i5R{h2w4rop(L*;*LSbaeX& zI#Fv?NGaOpJjlNbu@hc7Ac35YrPluZN+qquUL&FQt6kImpYLVsZ5XL;=YHWKST&AU z`X{^oXP(GkNqF`XR>=ufNUZkk6*YMn^f-g`^sDINg=`ukC)8U#@K9r7_Ll3O595Y1 zgg&ZQ8ACoH5fYnxb&&ot0)KS0C3t}}`0nDspj(p`^6qj9-NvWd2ynf>N-&JKoQO#y zcW7~3gNln!+}R(;TdZ+vq=UTNI?yAbCl!I)e-)237^$0NzU;MF>@Xvmt*;N2mgs8& zDj9Py=^!eUs~U~*#^y^jR5gH{6c%~7ayF_!NjFoJMPH!B)p%a42izR_mtCeDUaHNh zEiGpqiL5-KHDdgq==Iv=;EZF|PB?7(1F4C&dnY^kT$G%sBXW%lneWzyv0v{1=;-Uz zAl90iU3W5&q~?3GaWZ~*NNXkiJZFmMz)f@;cZ8!r$&9JYP!U*l^FekHc=m&AVtTmtKGa#FGi_rzG z$<_$(@f>;HeJ_b^e*lW zd`L))KVix}^Q|ygtLUK04Di=GeIEKZK(&{64edz7{&aEW{=01D=`^i*U#Xi5zpqnSIMKZr1Z@8N)k8n?b> zdSq(Q6vC2(I_qEc%aqTtY(5(Ey^ubZ)-+dW{wG@$ret1}9}Za?4L$E1=9Cy97xr3?aWk zj=CDBM_R@@?vX6kL~e7DT#at0pQ6vf?tV@~0}^~fdGz%@kWyNW;%ZvO>bGdb-hMI8 z$(4%{HX;rKFb#J5g_8i^TRKs{<6ub0sceRMGaI6YRc~8=#NVND_!Q5? ztM=hJiKQtR-7vrc1!B55p&AtnKO7}S<0Ip(ByVx8L?k3 zhFKrRsL5b4BmGwk7^q4To0TuKxdt8em789t!Q^0Xw55-F`?BIwh{NtIj`7~URJXOw zMQH2+qf~Yo=r=MWs2<{RJN`ty!vyS>c36#1ivMMwwYZ}-llTd#eOj;kXBSv==pl;-uZH`a({ zW|P`)jj&VW6=OPnQ-FDafar%s@bBaT_V@RjTU+;K?@%)9?_yJ%q^8(*jm#4|9gHVB z-nS$-kNub!n;59{WeBX)`>EYo-5gXlUN&CPK@P%-1yl%GYT`a2;P|~?l-lY4E~=K0 zn2zfjnixhofk{wIo&SP~LT$yZq{?O@F8_9@v>QfwlYzRFh0Majo;+OZn@o8?36!~3 zA~;afB%Epf9kzf49E=~jy)|K~r|KKq33|BlB34bt=%&m^#n`S_RMS9`eugM(RsOl7 z8uZYe{n>8`0|tq1Akykl-L3x1Kpc4)RX>jBC6838@Xk1mI}g=nreM8*=`AJF;m3V|v)8yq_jY4;d{T_)_I@K}P2 zml#wPm?y<0fw@-1^BIg?a#18{PO4wYOYx^baMl>lbSNj>JB5IP8r=H&mZ;=^A&C1a zO%f%FKj#4g%%p5h((Jtrn%o-{U3 z{*flXaPvF))wwtH)Ld0%8x?`cjv@!6q%o^BZF0WnQx7>cp40V}{dgY&R=+=^9&3k- z=i4;K%b%Ib!>K~SdD~?YR)6U@DeWdlmG!r3_u?{dnfoIMxBl%-2|l}(dNsK9XUW~S zUh$pxqu)5Mef06;Sy@`+JQbsljIiKx)?Ms$a5;Y3?0z2*6|HBVDPtTUpqQoj(qRuw zON>mP7djBC-1xdwSnuu)atA}D{I(oi$PvrkxFQ90)n7DI1*%qLP9Dv0kYP0F@g-SB z=qn{w3L4bQVKksZg>21lRaazoq;nU4hiv1@0adoNvkock5 zD24&Ei`_8971y3o!7m<=LH4fq(btL%*9khF2G$1TqE06)n3~Q~;QJ;vtl963!W9-e zM5O_(E@j-(rK`sOVz#;|J^`?$2VpVj0deao(3;iWyVVq@O^^(fs7y4 zAtI*Vmx{)8(D+z0;DDU_=6GsnHYqA+o1v|h&xI4m&S$c0c4g=$+TUNJ%M#z31;6q7 zXNJ*Hpq#HG6Hp*yL9->ab+i*sP2@|lAe1~dQ!v?O=S$!7AbBymleOZhqi%O}%UMEqFT$GrPH%9VzCu-+ z_}iAW&W6ml{EqpG1Anbrp3{`4?fgGuH>&C5;Aj;Q5!k@$KAAHLgxtb~?)M|tG6 zJ?5d^W*O1uPr?mtg75kC)V(%{WdQnaIN>#(RK8n{nU0#waKmxm_(-KnmG>DDKB_Cp zjbe*^iUG1ZoA@nra$u{IVRBAlcjrD~Xx)%lS=I2uuh&h&n8r+qJ-pod>^B%u%cSwh zn!d-p+}L4zG&deS6=Tvyv@k73J8o@0sJb7lu62O-Yg4Q7cR?|1Cj6h*F4z{k@X{m$(^(HS2 zhyamYprf-x|K`*VvuO_*Ro`QF4X(6Wc|2;el!Zc>dMlybA&w!qfs0PeWQ-D&D6@K< zKjX5$;fl-8Z*sVX0(a-cqfQEICdV6^J#RA>QU6Ih;>6UDnMwXp46aVDr@tfQp!0ur`Lf~Y*BW<&kk;;u@f?*FeP4VUr20o70x&^O)rWz`db;cj!wd@?LUH=> z^kj59P#ziq6agMOG5X1XlMtEGMf8vX3ikCKplw-+=>2tG;pJkZVDp`aAD&TTY(`=? zS8#KW*-d&k+h`*&HKZ`EzV(iPMa-14 zFfZTWG3EA<`f2Jdu35%EaYRKS;kwuf>$g>xKKI+vHI{;&9^;D5DM6lkfp?vw5-sR} zUYo8q2`x4z4^W^vUiZuRJj?|zIwl3K#J6mmB){xvC<*)JZb8`jXiiJYn5JEboEwu~ zkDT1GW-(-6r{M=8&k^28_@|1MIt-lTWXJM)a0i4nw;i~`%RLJJ!H2~g3f%m%-aH|B zWwXR+{G08Ku&qN){yLl*mlC;SHeoc`om=JPDhiM(qq9RvO!~~I=UaV-&vCIFUbOhY zyUTD{#SSvsMyq-sa=_>D(9}(fVkmN3T0}@*YIZ~{AG99jC%=-veruu!k&-ZbJq`!~4?7aRoxI?`Ts#tO&b@iFqc)3@Ok+cRf--u`A>ZCa-l@ge z$d2`~qsHP5JBuxl>z(k1X1c!@{5_WyHHKM$+pSdK9qFRgu+_6i%jJ2A%3-_WC*ScT zW=dLK`cWp%pl3-gRj)W5)LHhP7k=}@MFwHC9v+UzE% z3g$5&8RAp2Tw4wahBqu`I=lDJT6cpUC$yUaRZcj!!H`v~P`7>09lR`lt+)*}ACh>c z-~OsHox#Kx@Ik$hf0n5TiL77vN&K+ALR95)V5{BogP?FCBk?v>yo39r-3?ou3B!PV z3Q3esYXjED|6smzQ|JHd-lu>dJdz{E3TW?sVtxtTk zKBFza!j3%6HN>{XpNYL*q|~x6zqaDs#VfYna+Et4xF`g(mIoNui5XfofQAZAcjgBR zJiHFtmfzT-_zDC*?Yf>-Pjdw}yoW>lhcGcEs|A#amSCWw6SMqLF!rrLW;f{pK$f3J z(weVZT@izZObe=iR^m5lsnRv57CvzQ=L$1!ukD5=8KY6To2U?j=SweR`YYXsAFy63 zKW%Kkb6)GTEib?j9142|B7r2L>BzGsj2dhU2WKnd%gR^kpCvSntxg00Cj#Y-R)gfa zGu4@xvV!fc`<+IfrQAh&D=y{>SvGdh>hS!w?d$VKQ#LDaj1bOg@&J<3xtg+2I{N8j zf7kn*f_z3D?e7b&f9nas9tqJAz=^D(pe)2KGhnWuB)AaUL+OchvjqGdj3@erc<)`-!A;dqHK;&7_$T2PjCHRhgqv zE;)a*8PO@4yXu$0GE_cVp7>YYnf!Ccp=1=A}M*u4Y0MuwH zx*I|+^qGz)DB8%gpsg63hYPomZFUh6k4wIU!Le6&RMh5z3M3N?p(?h{upO*&l!S~Z znh}ZlIkj>z6Ah%c^fHIL7mp<9{Oqh8B$s-(d++7nnpf~}(ebgQzFmja6+ZtaBhhRM zsyIj=9H{AO7s!;4qlae2aQe>DbIaO<5AYR9tfZNK+hFwy94?mTPcX(;datD zNm1Lf%{3l9-&mNNgDEWj3EdX|(^c)+x%XEq{lB%U3}1<{2523l2GIqdDE|s(SZYvx zG=PG5=qkwr9ZcR>S)P1XJB-5E@QUzx73(rTWI}j9`ogCaZ*E=E$%>}|cVO8>_=INH z$&D{2A|`CNiEvu~OH4xq?U*np;VRa@Ci3L?xXO9_$5;|O7RvW2a1S!Ol=wG%Hh3#u zB?jT_JD6tzRC60TFpDRknOvq*-49xW9tOG_64KNqoMoz5hr{1&iXxiH9jJw7@4zVZ7fm`?NP zAImRY*a^w>2?}owSzTY8rD|N5p93~KNBxZudzs$R{}B-j_`%wQPWV%ajJC!*v={%ly>FjjZMmpCwT> z5T(}^-mR3-#Y2b1F8fOnL3*ofq^o()iP^gEGhNeWK+K3t+T%4|1nxVEtNQ0`^|_xd z%PZ3jsu4s4cp;+;vR}}!7#V#I4v#5Luw!8gthaa<^6*f*$)YQVx@msSYee)~%c+dQay-q_c0Zx@U^-*chozj=@z#J%;dgSn?Inysn0mv=ho2r4BwIp9WIT} z?IW7t8+w3P)Zm!jem5nPLPDXta(5|x2nrfe)S2gf@A?wt+_ppQ!@<^Bxa`V(*YF%c zzKKZmkjOXi0Lx?})H5 z@d_#M_OZyyJo>DB;krrzHezH%Dvi%q$du4*Z+GZvXrH5D(f5W+ab{*}akdZQU){0? zu|8OIPaTXIvShc!!~J68`GKhOnxlYz8JhRvOJGnC@mDVNY!six=L2U1oOf7`)X(2E zWByl-Chi6hk?ztXWl_z7jh!2Jrm1R^Hg?592$@38k_sO1)K$qC8yBr&)r z#wLbH#UE!|5uf-E(9kgSfSC^yj|l#dNd4;xelE8o8gTPXI#1+}$7y%G`X3p|0xa4u zkMBqrdw|-O`O-A5=%FHBU{Ym1eOFY93Vz}#vN}=NSPV5!B}n4)VG~eyAO!ZSz|^jW z4;u~YAM+UXVJ&Q%Dz&4xxZENRg}e0k*iqyzKnYPtSEwCF4=p)CLI~z&xm!oK?FtOl$)TZV zN=mQg2#spq)@&ps_VqrSb$tZD;Y@aR?l`6Om5qaAyQUi0#+4Zo#aNfZN52&uS}y zGm(OXgTtUIRnBhN>+xtT7Sl*pv}O#D zJqOlBAk1>ko~&m6yJ$%Me}9qGu4R1zx~R8zdt9}fU17xTkLq?gQmd1`*We$?aN?*Rdj$_ZJnpU!_leJr|rrLCa^ZtK~4}K*r zxbZX?G^H6RhPIjk6}SI0!q|0KiP$)w+M!Pd_Wp(cXBKV-6ANl^NmIyE$O0qsY-%bx z0I)_mGMo13DgoeAp1Mu|k!)LBUQcI?ty4#d#$8ziBWZynA%pSThBk(k1r!5vfu5y! z79@^=d=%|3Y8ga^`Jd9vC$C&GtDwx5m30brm3$Cvc$ubrIac2`4I9lv%$P!*v!`tv#HsR`~6E0SfTN@2Xt)t?_kd(=d0ysQZ&g*7$-`%^|U?$jbx*h<|J3^Vnq=eGb(@g}o zzkat*ez;*e4w?9o!lC0$gvT%9%zPToz>oMF4C?powj9V=Owh4t(64;7j{EU`rpK~Q z=(a`B4iq%eH94<+rodE{kd;rg`*I_aZ>1+pzs`4zhijW%el*=cR8C%51p{`n$hP>T zy8Ms9XYBghuNGVr6_+7;n|W#`*qA}Gh}yVu2^#Zn+O`C!SI3}=rtBq(-}OW@J`$$~ z@f&fI-)~8!c9)lzdGQC@zhdRM;Jkk}FUM^z_4M@29@7$)goO(a|2`kX{am+ii8wBT z1VqJOx%M)jM1Cy48j;fQ$thCzy9x`_S|K#`TFyizA1}9IHr+n3_6z#j@|S46vWiJs+%&;OI1~aoeE~ zJo2V7$-;T>ebMw77K4qjDt2CiSk-TzIk9IaC9G#+mwGFmkBAR}YONN1;AK{4!~e%p zjiy}4QSmzI2{hy*yHe=n*0!obWGC|gbM1QGli3@RdxEEPDMgHNTMx<|Gg&yom@sINTs=dm;wR`U8EgtociYp-@Clqj)`y5h?yJsSWj)_6i zS@i`{v|m91s`lZd-Adx!q}gAoiSHm9z))Ty?pkaMEXEi@!C~jxO9~W>a^GAjZ%Arg zfnBK#>1Hp%))+~x$*g!?5q_;ZTwYJmdUdgGB|>KPIT5%&_O*JO2Y=a6KDTq11sWRP z=KkRfl!0L56eQwq_P7rs%dL1N!g3^$XAMXsv$D`gzM*ev5Jaj|wNW%M2aqLHto?)> zRWs;qNDq~kX_+fL^O1++(Yr~!K3^B8s&NX;0eDQpPpu(qlET{Y2$D;YkCl~G8{cXU z2hlFc`|nPVg$5HdpM)9xwne7HoUWS05UP5;YSg?3N! ziR+&$*PfV3fp3ZDKMsGF65Tu@3sw5OPKlaQ-S^-@d9&NRLT9%M*)fYTIc%y@+o z>fHF|jA7K7y`jcONOy<#bK(i=@a4!F|L&@*nVLvn;=<=}xsY-F%gJm#!~W4F8yO4i zc4tC)U||%a^0sWqy24Svw4gee9_*rvT$&ZL${oz{H3ebUW)W)e40<{fijydrGMi)&^1DD0d2@e4 zEA$Bi5*>Z3>tww}d#Sg^Fx*CSj=ZgkhMtmAzxt}YUz<~-DA3VcS%-GT1MVpno&GS@ zI67t?E`El!WEAvGzci8LJPerO;1-@9N0dpJ%q?-1lxW4`VtUO?eHw8-C-L6=ES5I#0E>O5a@5b6p2Ov zgpYS*U_N;nD$)lnT(zvbrXJ6@p?Yf*JGSz-+7B?Ybo~ve$F#?|(zjR`;Yh)OuU_pL!5QS(v z71GmweflFugXv=R4R6G&0YhXcR>TYrT9Vdc_rr*R7pn;!&;9RSt2LL(D32>XdY}yB zX;<_=B0n)TIfksPYz-Zx4)xXMW$a@0#m^UdG~gERpn{M_TvS8^g0b;l&*&A)gtqfH ze|Pc14x0nRzth6Ssyqo+>4%L#7CPRe0R93{=;(LS<|35rVw%4FSrVNo7^O@)I_~pd zC%QQI3|2yC`J5=31%ai$xMkj~Td2A}hv?W@B!?Qt==-gM_BldqG3sG}G9fAo3_VV` z(Q7q2cNREWQijJHj)I*pP^c`UU*gn(&eYy^>&p}iBwv{caWWB&4yZmCs1S4Ke(r{) z$!olkrY#Z;#3p4aNB8-NQ*|jB;sTG94GA-9fo^3B5VmC2{xoeslolQxp{e0YLc{S1 z>x^V8{d*<%c>=e~CDYPK6e%dxcJ-UPF`KI0GEKUat8E5)h0XBrsEDZ?QrQ{4{lf#b zva*U~X13MXv(R~9po6ZDA9{{5gY$hi>7T31cyi)87LA3DC^(PwzFqX>v=mVM+PQ;; z?-j>xh}Y|<@9N43MDHJ{d2@HRnO{SQ9E4U22dOP^cm~apozIKL0&`38Fe|k`v0CA& ztFIV5E+fK3MS@N|lZ(O36s!N3#uK>A=Mi;e0P2Yn;HUXlnRY_n z;XrRURdYt-hIBC(NRfs>YLLrH&|1c5v_Z0uhr<8r&*oRFo}xqX!>J#lw-Xa{Af3kG z)cQHwh<70(}yHR7JFzL`9&qeSuIsN_7gUc=0hbDs*6mtL$U=l(r zZHX10AwWP@b2AR{7K$R5KqMeRqb@$)-qC4r3#~9qfd&N=CrB`%?5F&`IvdOt22QI+Cy9A%unV z;^rs_Vh+I8^V}SIgRT7|`pLC7(!px$vme%r9q{6E>E2|L6=w%T*nzT!zK#~k3&|sD z=;#>3F=ftLiaBuycKt1~+uYaDx0x60gSisMxOQjzHc^xy=qSP{`qn%Bmpp3s^41J= zf3k2rltyJDkJko*q^scrWSt4&fR8OVM8Vm1ol$P4j9nSw9QIDNz4I4^MycKqs4=Kp zd#7;Fl@b6^Ps5qzqX(;dN%fVcu3knM*vmIAu2-itH>Cb*Z>!&KzrV-`9(~el4Nqb= z{K9jG9r|&HQh&2d&wh0f?Vvyopx4{TY}ZOq7WMM;?bDAfK^=9HcOAZZnOzmDJ>-#J zshsD>BBBRJ&=EdH4PtFe({__ZkymE|mb3GmUsrZuB6aIU0g-UGw{D%V)7pRSB1k$& z_mtd?!R_Kjk9m4?;Ysf3dJ~~!(0j2VX0ahfi`te z8DcCBkhkYU(!KNdmf>a@N&SMA3B1PYdm{`A9k=?Xsf$8K*H(1~z*p@1V2UJ=!MfOm&`g)bf}J7sanWwULC5MUgPPG^9{wH~*k_ zU> zHr*-Btjx}TzTUk4@w9Hd44ix0s2btJW?(Q?ueW6O(dodXooDRbmZjZ9J^WRxm0;9e zl3#W2)Voz#u#;oOg>9&Xv5C*f{X5@?8SKX4rc zRfpk^bzJ2|R4roBbEMb-T1{oiGB{%`V1i3kE_=}qCx{DDK@lDRHLx`s^dV`G#=zk0 z*Q?sA!SP|Z&fuB-1TXwu!GwCtHmV%tLC=aHp?Fm5W|7WkxfBnBRt-Lq=_`Y+O`voJ z+%7eSz5Q*UMk=;?3zWeOtl*+Ml;N7K5q^#AH}wuvdXH^v7FH*RfdSZ+7uu{i)Fr~y zNB~%xa8rNo;S-{-E$=l_beLxQKv?Xept|u>&z{az8}6r@Yi`^$*#vbsPkoW(X=QM% z)(2I5IN=B+pbU!uaVMcxWzbfmcZDJ$uQ=w;K|8~u84CHt?JwSmjcXcEF%frM(IVH8 zf;JytzCD?c#I0AcHiXGT44Q+hQ>RKs_7h6Kxs|!K|A%@WFgfT5U}@zh z=O^%t!tb5<6k_s-;&Rrzpf@jo+n>|$+ z2HYu+JGPVWyRf9>XLr67zr}rGsl4J(}x{O-_UBbjlotTx!#0y&uXW4 z;tb-`#Z8@|ewt#_odAm@E-yh-0ITm;%p{~Cu? zyR!|;w?ZAx2+ItAr3xh#S{=48g`D;-K}a!{w}jH9xpQ zk18cKA0y+t)(=iKt_K@5IwaMOpbtEE2nkLA-n2Y$QIi`I6B9={gN+I&N2=#sQZ_U} z`V4e5Jxk$gRnJ|-WCeLcoM?BE<~ialaOAkE4=uaM|Wh-uwzK|5xMXIi8b; zJ;7iF_R^8ElvLk&ef3$p2>XQj-5!QE+S@HTaOXsJUNL4}p5&r76n&%6Z(H*#2OTU{ zMet^sJPlGB+dx>YP?I@9;F);8n``RlrdILIhmYc1dusqwKe+C0$tuUlu6ZLQbq^lw zj^Spe+WRg@WXLNij4HRwE{jrdxPLahPF8RiE8L1mX2dt5$v@1mHz#w<5F>ex--sDX zjRKI!(SmkZwa6S1rIg2Ee#v#iqWLxz&I)TR!Kl4cm9^tWRQcmIjwt-Lk+Wb$$Dl`j ztg;1`QR_`1Ts$b2bz)PU$TAA9csXj{-sL_9>mob?D5@z26`3Ir zKw3EQmGoe$wzS?`(lNGea%>{uYC$Be5bWC+M#UVNR`kf`*Ak~(N_;vMaL2YK)Wx;S zHxkekw*szOZQ9=u2tZ}}UI(}fxET$01k@nF!CK%hboa|9gyeH9H<;WD$Yef}KK;Um zfA#AqG++KT|#ixWY#|9178BzZ*R z5YZct$orl*!FD-Pr4(zYlu_W@g@Bm5jxP*_7c=yAVtIehhEH!@@kP$U?8OaXz zb$t4r@9B%+@$A$l=t0(Un`1N$rWh>#fGGx{vzrw%JaO^Io`Q|B->DFB7kwoHJM{X-q3s|H1P zw;(}+?$IA9nvhI!E;&NyU^kynUj92(7b$}HFEREvHF)#sh{5uTNMomb_EWW=A@kuD zd0Mst>%~ayc+lV~lbqAo??bG->d`mrFlD*JNs<;@w?dsz;7Vw>wzea6LVCWC&X<=# z`RBw`ul1qL1MA(Sc8%G?tWr=gV}5!Mt{Gse1!yzdI;ec|7m0Bgr}>0K9?#@**Bf<^ z11g&xx}QG~t`Pcm)?FOWWr!9&6DcV%R64VC4<o{BqJODb05#+m4N? zKIt;BUTi@N2m8VHDCcdLpxhYkG+Km~Vjjz!(md_K{m#ND2~b8ibVAZdDV8pGiV!IC z{F~ds^|~v2r!eoEoSbZL#Vd6FH;UvJsslavGm$`1z}CH}w233xu-DUG7okH(o7anR z`oY>W@~}~E*|Cw?q|y0Hr!h6^8Me(}{_T1)kWbqbBg*H1U*^>iN+9FySJNwQrZ=zB zypw>}Hd{vuH#Cv=QjP3tWI7k5Hx-)4rZ>w!!N0EKM9g2}xhmP&7vLzVP@dPfvBa5XJX!x9qD|! zFqQEt67&2b71iD~*3Ve5cxr`M~VSp3gqbQo~2Ra>OD<=rdFOmhPYp?0sT)@Oj z1?BB3m#wsY%H8lr2K&6DerA11#vn+I4mGjj$Wp&FzYTMdG$!i&fS-%7KCO7>hXfAU&aQR-c$sD1nJ^Izbo5xjfYfbos8yb_vSJWE98x~Bo!reRS^;T{z8kF?T zTro#|1?81U(CS_4uMoiocN{Pqn80`!n1}9h+3xwiX?Z-xSM-JNZ1O*$Ed@IJ&t_ka zH?Ca<#+t+e^O&U}vLx!-#6a+VE=Ud?qygP)3F>$kNu`*f$9!4)`^W*J6`9LnT==o| zqtINr;!x@)KmQs$7&z&k^&JlNx-~d0#^5f>Qq1bDqbeqN@#q{JNl9)lhk=jq_Zmk1 z24?s*a>Cl*3H*h(t9_y{Fo_xlg+{-qKbZEAlA)NLPDiUNz~X7?S+{*b7_8e*P((GP z-y4UC8t!5bv41e(AZaaviewN{ZytrXZqU@9EB=t&E@Q=5WGyD+C@{8$_9aQ9kQ;L< zAwvfS4bAMOei)+Dy0KT_#JCTWlZ1u^5$jjLR*I^d8g+QX?;nTwBZ}BI4Hh0?Qo=B< z;@;TM;FpONr~XzLyLz<`+CHN$#VGtswR1jtMcjC+{v%DYXi8iPO|6g1FE_y<-)PEg zM_3D-0{UPb~y}trr_U$(<9{m@>_w-CZL8tZs&UQ?J2)3<`>33&ErY z%}oDUTh+54AA@*~B1pUqm;7p_t@KRBvIg}zWT>7pKW}I!N9MBa#YKuU}r2p(nZzqoZ^e=O@TkL0gK@)w&19{6}=^tB-w!fl{Oaw-W0=vrlCf( zzcC8dPV?#z&}rE06p;Oozs}&H&i#>;l}@xHTqat*`(`z4^f%3V0H#@$EW&1U#L`^k z2DXjXxy*488xIWuX2mE;%6`)47U~`Y$gMIY;Qf^J&y57R>>A{p(Q$eqNoksWdvm1a z0Ht%kA=Pz&lrFm=Ybi*1F_3O5bD0H$bN6+1+SC}m2%N9T?`*#PxJ2YGSe1{E#444} z?I4dM_Wpzumg?wPkb^P|nbUc7$79}cQt5Gj%jka6i&4=R%2F`#19mmXF<5>!lF5_W+-lNzF3Z+=15l_w3V9`Ka|km z%H{h=<9L0wS6?Qv9pj!~k49GI{VCwjH4*#@If!~C`EGn@q-XDhLeU-dfI+7p49^{& zdQ6%zY0|S@1d-uy3uCaANqQGoQNge?B&fXI3(3-|->K9nQ(UMuBlHkkgE8fpo=Ct0 zw;(}v`-SSerYR*p;*I>4y5S;L~#{=JX{dAM=#mRlY9tzCCPOsZB=5HgCOPBe*<%y_VKd2F!{I}I0 zsc`reT*-Rkcgvgr%p5v!Jqvi{%odj_UTq_veF-n4U1E0}Es3O(M(8%BM$YGc^L$Ed z_@2OOlW4+Pq*M2Ozw*xKH1Tsi?m@*Hy-@?d zn5?SfXm#Bf<)HOUC4ZebNo>)l6i`|U4Xb(Q`w^!X->a4v=YblXdIv689dEQG6)Zt- z$6CHZZfW4BA#;}uRKmQvxiB-jtL)qv^zhZ6XcIKy-{9_irzU!*BJ}0AiW~zJgb(pY z0yrA0`}3^^h9<`2$pwn=q35V5hP86&;v<25T--!DJA5$9QM;VK(&J+TZpP@S+m0C5 zh;A0nk>UA6;NjY`iJPLqWR2Z4#E=u&5We8AVv@RDi!9Vu@ccWNE?CV*{t>WeM-aJI&9#^n45dg zV%8AeFH0{HM?q6!0K~d8G^is}HlB?zOYED%9PhE$j_V|TF2HJ*C(M@dgmamEPY800 zP>If|SF)|*qB14~^=nbmN++?2VyXi-(EwF$#Z5aJ3N6G5K-mb3*RiZbI`J@@i>PdmsZq!KON1C3(MiRBYyalc z(fX_;-p*22+ke(Tb`U$L1`&=E;gvIxGgdkAxgka1%)&oj5tO-{plRzu}j{W3jtW%_c-aC#mt) zl*IR9vB(pCJNL7(rgb zE-0}BF;3_&WTyNLnW^^QPu32OMgfxKS(#@OluEHbhei(`hTZ=!a%c>Ls?A!2GhAew zcbn_~KQ3e=6ZGWb=$>{AH-+(EwEg9Vjb+f14=K~76@Xd&Z|DMkc=NU)u^C8*V8G&d z!xejQUHp$nMLo()Wm-W%?*8Ps!toH`8}`?)xfZXtJt`bbmuDf;9_xfNYKmUT{+=5F zs?#GO!=F%+a;bwh0a*fsgi;xQ1TR=Fq1p1T+`hp$;4e?fY4gComcNI8VC(`LBC z8;%lS0Rge+B=Ttf`6m1MVJ*xxboj~rAJ>VQhH@Wb>DhS@mI5pn+K2f8;Sf1zQ#ZDa zP8J0DGFU&umszoYRfL#V*q!(*UxhL__3@Uz9x8`29EB-={p0!h_6ua&?fKj+^L(|_ z$17LI0cuTF{Yl`C_QMlea65HIG0ZfY&`z(81LnBoGtzC!DjW_eYhvI7qX65LM`x<f+1UHjxPp z*p<^IeWFM{5it)=3Z`4=$wRhg=+uG^;RD>Kp!b_A-CMAujqR4iWLNtk>~N6XCVMJy z*w4)2T)y2Kdrnx_$NmW|PG zoal{1YJ0HD8-WgQ31~=l50A^X*V{5f*XOPv)^iL+kZ`trYetb9J*-%T5p!{d-OsnR zTdeyg5sc!=ICgM8T=E>AjW!nDSr2d~E^>As1(R}vHg%m1Xk2cyjtqEOS8CYFUK$|^ zq|9}74gHwOUaWZBkut&_k*4C0dsLZmRpwPTdT;y^xi^gQ8u5ST<|3(Ns7CPT!Gn5vuk+ka;-b& zs77n(LdQr?sH*MRaReXq4&cO~omt~?3TZ%cxLIfMu*dC2HLGRgAF=;!M8yM}jcxb* z*Ov7jrwKk?Q{(1Yd)(dn9H2HuMo95dKcA}hIg5bnoM44zbp7SQ@s*_WVV>jaWD5QD z*&nOo)|f+QGfbkuLHA~?LqEkHiJK0u4-?gREg~(T(ti5~4YwO|x~|1M+Y9Vd-4RGb zBVuEYfKMO;Ib)*&KBdZR8-+&Y7)mDM@b11vcW=q3y43y?*d+xwWspXWQcih0ewdWh z|H2@D{lG1SgDa=3Trf3Nx1G1*6QF-SG^0|d%N$?v=Vu%)+j{T9Wo2bmU-NJEDz`Ed z^$uu&{_Gve@QlH%$(h7xHURN^CmrA;KHDKkg7vJK+rt}|&l56?V73_j?)2ra%k^(*GnEpFSyZxhr~H;u}R zh^oEm5=?*dnb?{;ml2kcRaf+zbg#28DFGMhkKtj?n9N3azD@hzLh+4#>3mlEHi+le zx3(jGcG{5$|IvAg=$U9Tc5EF&X<7zueTn2|d+i^?=>c%rpeeF68Q(upyZi=3vOSAw znQ`seFZm+|L%doo&eWm)a0%PACb(}3Tj`+rA;{;?l}uDLZk&XCI&2roK-NF&5@T=F`0NK>fhVDeyv!;FT)X&fDo0oi$hwkI`x>D){u!OK)p%98LBJ(%jSX|{I43vuOL zD{=X$dZ=6vWVUGr@|{hW1;>JRzawf#&!R0`B?C`{dBAAT5HnOh*PPBIW{C9)?Ynxi z-Kx`EMsARvj*Si++=E@;tKC6RcpHSy3X%N$e3H)XL`>rW8q}^lX9LQSRC8;)RW-NgDgH#R`Srbtwt2@1_?P$ncjmJUqe316+|WUi z`um=Ip$7>}>Q8>bPsCN$dT2LSl;vqetQ; zZNB>pv@rISmsW?a)8i&RgZ&~T7K;-%ndB>S2d(N)nT{76`Fttxh$C(9=Eps(xQ{SOjU5rQpTwjed0Jl}fNWqm0P&%3i7QPXv-caJ$E3Gj;*; z3A#S(lILx#TFnaf<|`(&2-e5%kM>M^KGF}gn|0|G#uDl>f~v`zVd=@%D)@YyDj-{{ z{~k}wn~bE@?*UPsH+@G2sVO0!Bs8q%9!g!qVlQo&#H0$b*R`d2!trwLvEvDS-}$FM zr&Zb#p5_E$viZj@4T~pu3EvTcY|2zfB3)y_B~0{x#UQk;V>`{5qbSm9j3MEZrIK6C zW4N4<0?MfGt;vgOX^;QGO~YMU6`Gn_Uy6wv3{AT)!5QqV4ot-k0(4WMbLR}ve=M*5 zO?+GP7Avg_Kz(mOA5hmh1B#wi+_-SI|5T&A!P(sMDxgFESxwo}FW;T-`P6*>jm-g< z`xkCMh892Aob{PmY(Hs`o=TW@&i+64MCnAp-qjdJ!T{J^OG^#|`i8$>IJYgZ=^2aN zpb2D;+0~NM@UR(yc^#TU0~U7MQB;psT|x&`dwjAu?dlpf`2S>JCtuo1R1ROxxI8X%pQ)%{ zB5gi@;!fNB`~TUo7!-W_N7!RhWH!3UfUG7mIm&DL3NAP3PrafQF*EH^A~m(^pk6ZI4P%IW zfu2VpKNEbfep~pWV6srOiy24EI%SC(fL;TasRR#KhO6bv(9vbCvmTdeNRjr_8wlT!zj<)vr z^J3P`<(2&JvQjWfLL(^{Iev!wvPUMpT3#M-dZvHjAf z1^f4z8v%0<9zQt3yy;vNBLM?&K3 zS5m+PM)sSUizz$_og(XusI=7AC;=jZhGm)IHWC{tb9l5QXe&o+pEw^_vrl+B>z{&3 zH(;vrKSzEkD+J87LRe;oMB<8J&=skEW6|nIY2>jfN~n__D=Wg=3!+{SYv`_H`pkC& zqLh=R2ofW6O>|JJne}=x`iJOCInr6tXDX_aUMJd(Z^6eu6ciP+qGzXmc%tMfD#lS@ zUWzSHE-FrUsFCLJik;)sDM6Ut=I~}qS-Il*bL z43qH@n7L5Pd^Vk-5D)t4s>1?8nM6WD2_2lqQ^r-zq;tmZheLzqitJ$a2 zOhAz*sPD5hu(E&-piKNfT$)?I0H`zcGKy+gvpxL;|3EIc)_U( zO&RJsa7^MqB2hPf4oiDf-h}yDeu0X%MVA#rF7j{I3hSPh)!?)L_(;D<1SqLN|(6>ZoEY0V!mBhk=em9kmb!M!|q z&!EEjjdY8IS4=Yon$==4cL_oBh~*x3FL8zC7#`<$jd|ZjXtx773GF-lW0#WZz|VwQXeFly_r=EEOwuHIt zus_q%cs}SyN8y-709E*&UUqzEXUfVBJDdT!1;Ts|%#~R(j>=aMUe9C{?jbny?K^-= z=;?XD3CHH@;$wojK|ruV5EFK`=57V#444I-zmpZLrFqs+B7YJpOW?KWd>FXXFd!4^ zT$+5Z+Jf* zzaRzC%>8LCUL`nXd%^1R+|N<~U%X~h*L0U~78i;gSKm6kElN#1`{85`=ifOih7li= z1fkhOb|~O*jH*5MgslC{fIHQZ5w^Zbo>`)+?RNhx32354YJW%n;k~<(piCwpCBCnF zQywJ%%A?0)w&-xC7S*NpNyXFf7a8y>t>nvcdq>nu$9x?6=DuID}Z$pL*W&=fbiQ^np0v zG)RQ?&WTM9rzbRTfu1c6-*Wfbz4$?299AmQ=e<|%bTF+$#<{s(9XuAgBjzxa)9S&R=4B-U{sQ_M~AtrMkdJkc@`*}sH)n<3IbQe zeqU*A=g%HAlcES!*Wm4A${?ORyl(#+CV!TH(6Sj?F`B)c^S+an8@#-n&I(b&zgapg z_UsFXlOKqc7*ERr|13x`Q#I`aIhXPTJ1ixUR;3Lrzql%T_7jf|&1jRh0^WzVRO`Ne z_;qX;78W2v72zlGk20W}6Wzm`d^7IupU2;E@H#_4{Hd;k7EEoCkR&_Do=L%jQhu@$ zC?oYVC5?whBS%g}%R4q#s8`6ZXJ{5-R%?QSQuJp=10wfwuUf0yTB>aD&IL`Q%VRe? zBkr#(Ee1Bm0A&RfZ+E;rUj%Wvz};hq=f7)&69e)zQJeuUK&zJn`=>fPa1YH&D4?L; zV+o6qvsx)!XoGwFt+OD6CY(?iT49l%VYr8%DBR3{HvVfS@TUOt3L_V88XPG%~ zK!cvLS`WAX{?sR0lqycHNY4p0uCfr=0S+2iJ*CO)=?2X25 zcTMZxL+?GZHc~@aodWuZatZ}_jjsV}`>HmesSOdOcq_>(po)h^if0}9(}&f-j|vKN zg3HmLB(GCTVx6I2V1B05F@}D6UQ77qU3({b?t$|&vJxp#ZJ~3B`k-FOVMf#-p_hq8 z*`Vj^(yfG~pvF(?at%fwb(K&j+K=7zG#J?6hI-*5kIsL$sUTV;jT(?~L;Q1dBv|oY z(BM}vef#tKOHA6nOu5aqjrAZe;(?9r(PaQOgwkMS^qYuWM|{iq76-7y_3OOw>#HQ= z4LG7gW(y{i@BLtbN(oQzN^RoP>1q$*XtG3ixjm%rKcc*KZF@Y%8Cm>1B6P@Bye^r2 z7tYqT?C!b|XYs&*$MYUYaCSb*uTB{dglszJwY>lQd)bTG2(!xSw~UJC4%!W!2dcIi zPiPJ#=GyNncgBYtdWM@a#yvd-FfKZ-jkQrfhNCIm*Zt|X89bctPY-1SI43A0^bBJu zLisem$*K@gVNFL~?0MhJ2x>p04A_>+K2 zH2i{FRWzD6pgI~QNqRqauJj2)*tM4+%dD7Z*{f zM0C^tCaWbM5o)46-{?X_CgJro4dnzWL^S>jPq{T4NpmvvA(cVH`a)0^AmLPk-(fN; znJ_8THCZt*`sAsz1XG8se|G^l!he5uf#{?DC0Bzy&NOmBaW(L%_uYI`BQZ-IR8y4n zMqAf=U6LqTo;9pUug?lZy|dsqUeFX4g#u1LQE!eugHd+~QQ+bjU{tHMa>nfxbS?k> z)Q&7RI4t8`76zUw@J%ia7lupSwNVH?^V|r&I}LcB)(TA1;Vu!&D`=qn^DP$bV+M|0zF2A@1 z@TwWJL`TtYwZ7`4)UXZl6Ug)JsA%AzXQZGR@e8RTF6Hi){T2zOO>gPs`p`8r0lxE6 zL?If|tq9BI)VoE<%m(EUULH6~_f^^kSZhI%@o5pjv6*C>qR%wg@bBgxh-0WxgAic; zgWu2rqcRzKI2=wTaX@DTifTDrpRs@#_cSId)&CZij_-3E!uxd&e|e(p6iLJCqBB_0 zQ@0_GkGm8hXSMU?PR2NT@L|tnoB*u9EyOxzrKb|PXZ-8fJIg)9-k(*djMAm{)AJL1 z7GGFX19Z;j8yJtu904=eTL!&pD7%@Q(oK&&_JdEM$d3^?><~Oxu34+ZH_E^3n*W<7FsKR2bhZfM6I!bpJbX4>gf92B~f;?R>EMu3(*9fsD z&evN%8CI#W`|N^^o&DHZh4p-b7V3UTdv%~sGPnFow$%7ZX#5_JO^=~D(D`&E+{4;= z1&IBRZ&Wkf)>C)4NOVVYrn?vn-w@XA5P%X+R;N0tBx>}$pcYu4O@B>%=p~F80>y6k z%*`MajHL~%U(T(gB?nIiyWMfAZR`crG}=8=-6Y==fk-i}8Fis#h9Xg#noE)1pVY3Z z;&JQ4H4IATiad4`k-QhnW0y@JKy>YZq9nmR06e$Kv*6_3dq9PWi8%MbQ!sby8oEIP zIA1s8c}%t{cZ25#@jl#CDq^&74_&CxF#)?m%yQh6wch

Gjek?DF|L5C{KzdsQ;L-xV9Nb@bnCZIBPP17ixtf^99} z0yIjq%PFy#nMsqPOqh|3OVNHAfVPD*BDl|}XL-hS*I!v<&Q*&#DhVQ~p?qT&;Us0%U(gFZ_Nm7zd_cE5q_r)G| z6lcos*OAqE?+-Tyk9VIPT52$^LWV9WfLur8_4RcjYOM$%AKfjDv78{QU5T7lzK{q1 z`wN&5Ii;d#)lw30YU&|b6&2qnJ<_2)(9i6);%vOHU%yh&$Ytkd!^9Q;P$=3{vW@D* zVLc{)s6A5F(u9wj*OJQZ89;{;>K&1AKWLLj4wx#6~6da$?xl!?@Iff_#X?;K77!$sD( z_z?Y>R?cFDI9aMbXH@;Ty3`gNdseDmr)lBmVya;|nj2~wx+r%wf&#bWLMqwpOk3*u zklo?Bg}m`<;hw_w;$^KXM0<$I*j4k8qs>Qyu-}+MdKoH#2Z> z*vwk9H2F7x8xi@ReD`a3GU+rj39Y4$6Z*KAagkkQ0{u-^Wv3LH&d{%zI;M``8Ex!1 zF3*sgsXi&OgDo`f>qgE{&k#2~ulw_0nxXAoMCvlB9F+hVk``39D_QA&ujh8V31hZ; zPVVvS4lk{7>Gix1py887^AEynTj{KNVKtS@i>PzAmc0=jwB7w_f6j)V;5iIW0>0G5 zIo-y5=lFgKR^x-q_*_Czxsk|II$F{52Y0N8Xb>Lvw!D*5Mn>f%Ig}s*yXRt2*zNY& zm}48oH-wyRGmY`mx}OW$2opiCYnIx|p)rs&#A6`ZJYap@?)}sXen{F}s;=`ri$_KS zObHv^z`!XS|LzHo3W$$HMi9hj3efVmQ^&_4vq1zV=ISLkv*xix61zgfWzQ5f z4S5j`xW^U0l+2q}g}GN4A+8I~57l-|TH4?pOKS|J7S)^5@I%-$yGIOw^a?R$gUaXx zo2ydI>anf0spql&!Q7+>zF-Nb0asmJrfP@--tnECq&@AXJl~HF9&(=iroHx~oKG$2 zj-^$GEe@mg?xeKOmKE!xb>I6N+bo*WW<^O^PUdAU?`~RYHwPcfcJ%+AZhW^zfUgef z$TEiV@e(vlg2@IfAohODV}5eQ$(;My)vy=_fhaQ84rbUw7ghLmmgGeDC$jd_$Kf?u zC-tQD=qg%okhk^Pqs)YHr);W&l{sI#Ee%{+2?)QAyi<|#(4iH$I78S7!g6Gi*fK8A&7f7k&&j{qBGVJLcb!8 z{Ko7a6~f(kqfr@!rgT&{C5cZjMji!N8S&)>lfeJ(UCrv-- zp2zj;a-LUoQXmW;`WvjakzRB_4t2LFvoZfI2Lg9_J5CqG?b0oz!o{(11ej1dpL{4! zO4@Ab!1x8b?|k>Lu~B!(;qm|nn26Av0{d&bRU3>qfCQlpVm%~pcO7%h+tyeb$Wz!> zI>37mQ2pwAkvc@t2v;Fx&!LYCO{sJnTwz<_g(V3cmAEva>vbN(>k=8R+*@z&@tzng zDQ8pd`0Z@aZfHGWT_7~iY?POG_rH3RR$GXI$aAZO;ui*d%gz5@cNkd}Xdz+JgtEBx z62#)LDIMW{xf#eXFgIwfOiyV*6mH`|2D&^j*d3{VW8mBCcB!yG4x$4S*1HE6(O9m6 zB8EWxlCaWqwm`t8W9bRa=gINDV5GEC=NGqG(+Nz=q3gKg7tg0L+~sk(4!#|;CO8Q$ zSUfIIbPNPGl_n>~*^GLxic3PYtrJ^+zHwfESR1x# zzme3f?YGs|7N?2}1o6BBCYjq4G(vJy=RzOOV|cIwIXRvhJEkB8zE@rX&#alY_hxu_ zW4%4d2){AVbXQq_BL$4{wU+h>C_r3XN;R&bguxEX=?)z!a_D~#D8ZCjzhY(9_+0zJ z$6va~+kMV@`#}+}`RD^5A9-mi55}^KLr=-FT}A;WG*Gi63QCPl5AxRQ>rnrj8wT)9 z$5I`{wyaO3`vE1|L|-Q2%TyB=@56@an~`*Mwue_hP}2R8s6R6uRY zX-9_WV1*WhL=+w<=Q*#=H0@Z&y1r?_ny#St56k$;E9kG+c^8Dm>H+up5Vv+(bynoo zYm>p_L2@MNmYB@_4FBQkG-8FAe639NlJT-YHSwWYm8VaC^K~fWreifAwh) zuR3Es3&Zt{H<0V~o_R1}U1JD`ehNDA_unJk`NZc8BMgTV0XWwTR8I6vESMlcwB6(L zK5omnu|ML5;&Q>IUAgp_9HB`*z9^3*J)@IJyWm2!x#sk^n~HRBR0_4T8`@0 z|ED3ACp)nE>93}Rf{DlshU|p7-|{>?>9E;YV`Z*<1!rFx!RnPyX%h!hsehe=dGpWN6RawZd_W-*Qxr|#g(+#g=)mICc}(5 zL(gLsyAtxR_qZ-N_hk#(cp@@_cC)4nr`lHhJhcA}W8LR#qBO0Z$<4Rgve%z32LKXC zz2WlZyR({orc0HncI|rev*A6yyJ%O!SjCuIRD7OG>{8 z(`y{?{__E}%fVv*QyRBakegs@<^ESmdYk{KckALK+L*DYq^OtvId-B5l2olBd9R-H zJJ2Kx`31#(~t z_QIL6L|AmGzjA6e0{{O328=w`|J}r-!Yu;bxKLkhy*#Co?WBRoT zz>&ZH0FGlioq>#i&Ks>6=cbJ`{!g%={{+x^@b86vz!gqw(g@G-a2a!xT&kmarECs8ZxJC#K*Z_pV}(jK`# z=sjCCr-`h~7| z-mWB_ByguEep%p!Bfa_U+KKySeua>-sm^g>Uz22DD%|MYd5VO$M$OZ?;1QrgY;gbe0m4J;ceGV6HBXG9k5_&#{l8Pz zWQY-f5nk}=O4Ux@Z6{K;eU6^3uJsCVG~L)*xJ>MDqI`fS0IsAh56!Kv1iu;Us%zen zT>miLox}d+L%!rA9!VO3aD6*jzf+GD4Ms+_Ps#Gv5f4j-&j3tn;SQlc*Hm(6z7nD0 zu>_Y8Vd*RP>fzKBLPmUleUe;_6CIBNxT3Aj#m+GZtxgc=9n@OyO|&2iOD+1BkSU+7 zlgCVKx9vNrMv-6&^bc$ zU)d;z#9FNSs_&v=5k2Lk+L^8qCwnW7P;{SN^|p&UDhEElOP>`Px76``Dq#Ly7Qya< z*c})|u-+!a+mo^>oTFZ`!hmy+LDu?+(Jyt66_f7~sO$5X6SDsCsr3LR_1IyfrD7FW z&vx`K!><$1e$U-)wNf8Rjq02PSmxZyq*UH^DoNsghDw7A(4B_N&>5wvWoMRH^eBcHa}E(XqKe0@mlY?0M2j@>=~ZR*!vItlGY zRs3j_d!W~%2xJ>?B8w++xOPJ)kT2Bea6_rd_x#y(h}hY80#lx(-Zk2Xo!~&<%Co8*6Nw|3jjD9lXvnc?mb?LIusH*fY z!rHwk(oE#FAc1hJLxL<<3ufa|QPu3DUzHY6=80aTi6#K(@4sU4>ogF4-zLX-si3&Q zd0OBP5_wh9e|D(u!4dJ#Uhqa-Mb|q@mtG{;Eig1Tpt(*N}X*Fi2Z%0 za|8k)`6g(0JM3plHeA=v%SCRt=UwdiMeUy5(+ID0tld;W^`Irh*8+VRJJyHyQC3p4R`K;7(d>tt|wGYF*vR}b1ay58E3TmoXg(= z#SfT_S8i1K(Wb7K2WU4wXKoiWcCVBG^qZ%4h}ltTj{5<(k;FE<0dpQJ`zi9fvqo&1 zvT~jKR?ftRA3R2q8G#mUECZR3cZv0tLOXAu=v@JXgu!3$k?|+Bppn%ej<=C+$Sn(c zj1j_T5DMO4zk)No4<^!I>8-T3gk9;DweBd<%?OAeRDjv2!-v2+@3X9gLGVkc!=}Ui z1ES#m7+~b--wqbAQQKyU8?=P^THwRmjAQO2VTOUS0a`o8{rNM{goEIZpDlS<)SCNy zL4U-)Ugtw(qzzw1eX{jKg7EIiJH&|cF7j3;7@EnU~+Rex4v8RFk5l{ICuQC zZf_6XA4(8r8-AkFYb8Q321N!Runt=-*`rTLU8 zAR*$@4eio9NJPg}?pk0wt>GO8iJ-SlZ@JlXx}$S)3R|gjY<<^j+UO;td;@wP^I8jm|77YAvpDTQyKY!m0mQpw3FlG0 zPshrMW94yA{>rSW65o(mUWqBLZg0Ucvvm!BIpbxyG@!Y1#Z)h}{8>bA=BtRtV)eTo zh#TO1-*tC)OIumj5qeJ`)k!HYL8HQrm{QTyxwB|-^=TaO^-|c;IjZG!F5NFF41H9a z#lNTxe0KCLE0`(}c_{{m$BTyQp#`oi151O?iV?%74#mvQI98N)_x-^mF-5yeB%=+o zr(?8pXc?@)VWfZDM_Jd<7W|Uj(~H!VzH6lm4agPuj68ktc)2ontA0W%S6SS+AeC_P z`?%iOOfWG#{*K;pX3E)Z1n6!2k5?lCuuto~rK@YkxV|PqU@^ajht~@we^nJ;JvUh* zkK4b=%v3dzE{FdOM3U?PVAnOY2Kowka-v5_MtM{4e>I#zbslre6nZi50;O`;BJe%G z6wsLRe>(#zc<16F6!=UxQl+c)pN#1=x`B)uH7RpksR=FepGmo^eI7TK(1#nr01KWx zgQIEJcfc|Y-m@aS$81M(^@#AZD{^9w-7XMo>dTRc{y~myMi#JgW8OK8-eO(vIPKwH z`>%AaV{y1~d=9a0xxw~*Pu%FgkN7Mc-nS-~Gd^rmh-J#rjDwSv)41w6%>jqU zhLi>w5qr$j*S`D+KQMl-ynIO4{a-&GE10`x8n)7-)WL}>*623Sv3Tj zE+!0_n(WSukoTW_C!8amBdnjQXTM@$ioN;XhQHG_?hHs=|5{IE;QrrL*mbMkQ$f%+>=xI6TPurkDc=XARNO^)!C(;x5O>D+k_uo1UHh z#rE(bjN-$z4meWZHxqwihoE*Pr=+aq$F{7itFzI5U_PQcR~64FfMKjJ zZr)LvWpZzy^iWh(Y^2=DhWqh@I>(+OjtMs6!N|a{XLJD``WK}Q9{nrf9fV&nkmJ>y zaWtHtnVSo7{vP^`Q8;ZxD?hU;?xK-ej&_#+o8L{Ie#`*Hti-_Eot>BZtUOY^d`G!w zrIf!m*blzVcMk@74Cr2tF3;EMV*=V^IDPW=fN}_T10$yEDN^JN4iY!9cZZ9!7QOR& zPqX^NA@3*M+!)&ifCJNCahQ+wU!j@%5U@}=THiz@ceGScP!RVL2Q}mi)B4!}{Y|33 zO$ueaODa3sIi_ZIIXpN-N{IaEXvx>;dQS)z~Z>?S9~8pU5ZLxlEeso-<-5$N?$tnSd3r2yvQ z+CJ{j(o_vfcVOw?=AFjC!=UuD5p^O7PvxbbJtTi@bb9FS9a6f-+vu2#h!ooBl(#*qY9HS> zP|Qb?AaPLS$t^yMq!C#}GK1W#;4G94YTKh20ewLlO0e@qgzAW7}BeJ*96y^?P;qR^&4%*nsf{8En|jOE0` z|3u8U3E+yzXgCNW?1)LM8k#xro8xSTs+{HO^E$U#`Wy}?AcS-dFiaWC`=t5L6fsR@ zLira+Bo5zk#Ug)3S{Vehj^BA@Ap^v$e_KroS|b{#vvai(^RMGCRrp`UiV_QyP7;!% z{JJ+#s%Wt|@4+v)W&Ih&zQd@o8xpUY{fe|`p71qbtVpWkxgp>R(>JECi@iQeSQtmc zUf{IJFkyuF&A%G}lCPC_U@@e4lOS*pHzo+t0i7?tC9c@+TmN~4$=hj|3CEKP)lUn$3FUgY^Z(q?%*qWQ0D_W}-1VUiC|QzPEy)hY(ipN2hz z{&J(H(5qad;(O4C(CWSE!&!+);?tbPrzLD`+BwCO$kA znUX;7CzNx?JM%eOerkPV-v5%RPvSPU~vSyDcPuV@D;aNwT^n zzg`K(#1+%Amzz0GO4gMV} zG*ExgHIKHgU{`XAQzWnOs%+q%@4)*Pw6W(`SV$l#)e=Vq19U?%oIR zyIb2mB4+G$^?pTh^8@U%T0iN4esVXXCzZA~em*4yG`7~8J878d#BvhXeq!HDe0aHv zuE5QSDW&X#YHTm_un-U;qBoJ^Z^9WGtbK#>XtVV;BjeJ10D}VOE^aDy{>MB+qhDjX zLwIBpQUWA|EFY?%gKX%i`1rfksH2KjnBsaFYN`UtVsJ;yKSib{6OHl*anN~kG&u)d z>QVoptl^|2MOWI;P+i~*w%q}>H<0lmFLVR9IFUXM*cfakdMwy)O#{j@@Zm{55t$6s zQ&ap4p6mIf%Z=x0wf5B?H8DURvR8`qIHB^vaKAhs_HKEb$OL3aYH}Hpo%rl5;UEC8 zEH=f>!!!BuBX&Wzj5)?~#RNq=5_jBbbLW_b@jQcc=!ZokwQVW(_IEFa4mSv{3Jwrs zM|Pej>Tf;1&laB{IJIgLevy!?=6ba zhXT3w9pSC~{?6G^ROp3!QK>**pAhm%^f+1NEn=Pqfz}RFUgG3l8m|rf5D#Gs1Y3%%ScLAvR6e0dZ0$BsRTWIW{n1ctrNtA9DF`kCE+Fh<9}mY zaa=VxhW8Mf(}93uYs${LYR1`5Haq#Y*q~i$-BYXvQPe0G(ZpeY{|W;Rv{b&JC))?P z+HbTaM}I3s{Phl}ro3Fbb#?ViS!14Bw;$lHUR1ozTbp)(fQg17Q6#xat>&)sE0dSR zZNGx2j{kAe=}Oa|S7M*{x+O<*L{(0e@{pD~&M=wnTvg(an3cS?8m>FpxN)?a8-}uC z(UvjFb=IlrmDksSua{Hjvg5nq#m&OR(&Dif*)A;X&mUsLy?*e^8&&6&6mTm&z)_WD z>eC3Qsx}=BzdiWUoH8LYN=YUT7H$|%T5WhPW99phcEBrrW0Dos8E{i9nbkdw(jOfB z73cmo#W>Od^}ko@ye!9^FkyqF+qq?_j{wmNn4EmX;suS+z-}fXE5?g;(HS(1UrPdk z9+Sj4MSBHXp*RvQHk`4tBhaEuAnS*atv;>I)W+KWHhjZR3WM0fal6A;Y4|~zVF8P8 zct>s@qGBB%+0W1pN@ab01G)vxY!Sox-F`3$JhiQ(Aq8arcobV~n&> z6Ki5tE^H=C^Wj-=ZTl3qA<`grnoS@M*GJxXZ2b&eon!}-_*>}V#tDQnJw1oBA7NeQ z2PUy5(gW%cBvfH#!5c3byU(#y4-vEQv0M4wa|7z7-*4{ z9ZTCRo%;$lJISjd^d-NSv*SUpEB*+AFu6z&RgQDJF|7cP9= zpmeZzOF@E)2pUryl|sod(kHaA!aJ)*mj@z3UQE{OI*QQCuCC1jt6y~Qit=Ux5wCy7 zwQ*^1_wEK*l3Y+9Sd1+%`37&8`F?!pSr{P5f^O1lC$qLVF!Zl4Xdq}6%tprD35lH) zo>o*QWF(Vxt9S09X2Ex6!SKYewz7H}_GyRZS#bn~&+_N79%(EY2(uYdJO-b7UBfr< zNxU7M(+f<1y^8F9aA>L7eTV=`ufkN?OLA_es4X8gyG*_5V~vo}iyU`}q(K}Aw|!;B z>f+4D(g}|#n0nl)2D{F0!s;^Yt9T$+cuI3OD;uWj1aIRWiWiL``XuOi4F}67)mx+2 zKY)-(#4A#IgjyIg+5W}Zb{Md34I7G{;Lb1QD0rmujx!|GZX~@yZ?;UHX z8+DFDe2?tr)f+(^f?ku8l1@%{gdkSPh40oIAvJuHXxLUw1`zrwUkuQUI{SOyrw853 zmR#uS9zq$vswm9O64Fg$#*cc44p9mz1R^ed(93MRCLdwX8k7`}b>c>mN7Xsp3tHO( zO)G454ljdw$bBCi6Zb01qvY0`io*Ux@xr|A7kLFT5WZV0<{&sHy;Ar5E3aT#OO1-n zo;f1p6>!&muz?zwnP{+;Fh!4OnkfqFT_nY^k@IY|qSP9(yF*O2ggN_iPC-r0pWDE* z1e%PBNeV^c^CSrzi_ev{Ol%GS5wXI1;L}yYiK8D*jR?JFWROpas{x?0 zILTx3dZ0TRO7y0Vson?Fj*q#yq+Mce^?jJJnJnZu4${1$NU!^n;n03LA($w(le(^b zFyYqwq7oqiVPTMZ62-E~32+jo>UVucIj#9PRbAzkRzNdvX^iftG(emYoE*PuGNj!d zJeE10h(;2`h?mxj#YtL773h-}N1Z)s8-;`VaWlktEhS&brVufdCnqYMcvPekk>)uj zYbO*)wS;>*R|e_-W&?LCK2Pe3@6C8p|f;$9v_uw0c;O-WJ z2G`(j8{ZJz-Cf?wIrr6jb?V;rOBF2UnzLv3=+R?*E6zxQujTCPQp0nc>&ETZ7&rW5 z#`eYWPy`2e`ZLb&S(ZKKa9s=|RH7=@t=T^xzqb>-f0v*#wHyrZjdoXvLrw=w0t8Ia z{=hJ3$~Z(P*^4Y4rPa);4w06j-eZ?PM|E>R9Fh2J`$5Skv$Q@TjX_H4p49RjJ^J5OXpS5H?pP=v{u1C+Mu-v%HUBh0_t_%IPFCY?+36p zAWQ1npv%7lo2Es4&!k#-2%+Smfg#!XB2(EUYY*I&rMNg|FlW_GF;FS;4r9yjN|^P# z93MeCm|8@ihu_`Z0rr)yI5Ovr-S=^r>KfRTGeZd3&0NYFDHOc|Z`KLY1|#djBtKH` zCFJF`Ag^bCJp+NldOq{?&hq4U6l3QBa}pC}*aK?Fq#`1PIP`q8}(B6r~vDWMtH zw4;b2zvMXSwR>6ga&i-EE86uO7ki<@CNd~#*|3TnQF%|Z-_>iHnz$moV^r$qAScpq zAb|(Wx~=V{TtzV}wP5peV~P;|Mr}Y7MPxCToq$U0FO-+P3)B&Q>Oh+i$eqF^>^j0B z=~m}`229rS+;bWcES*o)j=&hAksW}e5n!VNafr>8`r&xNB%FWFqphHb| zK#_ye^P~MCNkQ{9xJ!T)6Xvr*lc#ueH5sXdxn$Qy6LDKl?RH3nYL+ZTNkMG`qMiO* z5cZ=ALDWK=^4);xAj^7@7Qz`KNTTu!1rP1o#u4m%9Jcz8Piv9`Im&M&zu@co2FB&* zLM(XD*AFAssJ;)9I3RqIBAD&O-rWRq@%&RQPqz=z^!a9y0R8OdB zkos^_mGEj=&defa@l7Njb6PnLm+XU+jSc!}AiKmVb>enW_c#l3GhdlQW3`lVbFsdu zS^>a_dw0k0^_!<$GfE?9c$hx1{Dk@XBj)1L08|-2)kV=6`^=YQvgJOU7fHbVj#)C* z{Y^KRBM#3JF7g}lOytBj{v^zJ{hc$A%(osccPj9%ku6`opvB9l(&31{_bW2Y%Hb0l zT$q$k80Z?H{v9vuZK>|Q4~RHS*Kr5K7i${_q1D*u_d2?7{Ow7DX}*dQ>_#EkA(Yy+ z1+>t^JXOe0?EapfLkd8o-=6|SJW1&OLi~vF7r>3#S7{j z8F-;3@~dB{RkLi@Na9h?ukoi8SI*>E#Ed>O`v|qI5x)-_EPb=k3P)DJNmPlKxrUX^ z#F0O}{C=G0x93-Y}Lv3aE&TKLK3?)YDg(>_e_Tg>dFME8| z?f*;O_Hz+w1F{!C9-X$mu+XPdXTtiE@ju?6 z@JPIDsm>Am@Ilgxvo$Z|WgjsN_h;&j4deA~($LlkaGV;cib1ruY>j6WyG)fd5@ZzH&1Vvdatgs!_Fy~= zzDv5Nq7F`~8+uI4jrF~w7@4wD?}U5wxB4CMa`K`s>SWBByisedX-ygUs0^|2`;GDv z4&O*KDNe{@d$d@Q3-Tum9RNdAkBh6a)F&oxVT@Z6L3Cdgr(rJLR>xnu!3Ma0C4*iB ze}sT^#q}N;7@9MqD+=itGW!OW-!HfN634Sm!AC}jgWJtL)Rbw9rseyp;^UJe4wcyB zWS!~SCceXtSPuGVd_%M6aCn4#4wmjCquyrLZ}*H<3i0%Cy5%=66!rFyM?C2m?SI6C zx>bTXjeB53A+Ya6byhh$5GE1!4tEF3h+Llg7IqAZy+u4fn8Feq^P=%BPEETFX+kH- z0_iA$RnF*0mF$Fjr}6m2pa*@P;A0I;gVG;%woNR_{D{#E%<%f!J@saipE6wpeP0mm zFSqeR#Z22}B#p)1Q($3YB)AZjRjuZpO-q{!`-9455kQ?UZ%9s<;bmKbboU!&y&bSr zrc~f#TVtg6?L)qe0ZSJ#X>(Z4W7pO2=TSnW=5>$_Fh`L_-e6gR7y*6~#>uy<+qd0X zK4SWA{C2u>i4WvuuONl~v4JX;v%ELWT9$x6+r~!8y1sTpVm zQqwg%+9{ILIXf55#H#OaxOA7BeU3JtjM!LUs~^3%N({*OO8Fq3bowzQUBi~StHv`Q z2LV4jKiJ0-9Px}5D{IqGB3ZK<_AQis{`xSo>+$lCwP)b8+9qaozyPSS&pyjS=J3jH zF^KTOO7F^L+OFSNYI%a6KMLy$w}tnX(}BX}g2QH2f=hPDMR`6AO^%9ZY%1_YI3(U)cYZAN!!E`B&@f{<0KI z!H&@X`oq!}H)eY^vZSVlj=iW)BKc1JP9?Z-FlFwQmQ-GDGQhyJ7CL+)$QB_&L3X1D zZjnrrEa_VGllN=hSq2nj!^}tO%Y4ejMJ#wXKNg%KwjZ24%zSru?c^D{kpl>ji})o% zq-6W1<>p^y6XnQ-B>XJT2bMX5VefwP(84-myfhha2Bx;ML_jX~N4NpQxKj4hBI~7T z^ND!sKiE@T=Y8cG9?ZVQhlXBKu-QUNY7Podo_;*k?B``?L3@#V+D}C~bS+=~T`N*( zS9Zk8gdLxmJ2D^Y4NfArNQ)*UNjo3peLt!!sv1x!J$%(ah(zqW0bQ{m_1;#+b@+Q2 zkPR~xwt+jBkKoSg+{Fw{1p|GT9WUD8PPW_dw()E!LlWp!PS#UQ{9{Z@)Cs919A^q0IWSq%aNNiNOBR(kdc z(l(gnB{$Au7e?myJyPVH%bq$;)QUm!8`Uix7>ti--C!Rjv`bZfM)}Wj z7P+82snyzD=Rf(+s#O1Mi-wTZU!Qt07BaBo#(z$T?H0d}Y$O0!MQVh&@eG(3$~%n) zz{?H?N&>U0sUmoUL2V;rI40k7xDEs^E|7+|EAaE>F`AQ;nM0$qz7>_v8E-^s@%o-) zLfj5QNuXf6dgjqClbHt|Dg-9$6udDYV)39m1+{rmJzp#fBK*8c+#<_O5e2_Q z1nSb&YBm?-Xk{HWI4(}YkJFRbgx5qqpQUVV#VrU@bF*j0H}<(WuktKs;9I1qOUq?9 z>?{K`n0@>|_%X;ZWGk(+>xu8Bat0Oy!^NMjX@{k+{S{v`Z=$)?IZQDAa=6NV{Ilvk zv_$`WdVEX=f5`BnZQSrvB}jgqA^E2^6i1|DYP})G4vSt4MB7Vwn&bDJo;RzW9KmZDUXqsg zmKCq0)W+}cZj*CmL9ep~K9bwGNi?qvvou;LTJJ555~V1bj~;hx%j0YQ?z4(Kbw?qu<)6`BXQsO+**4kC=5#Fx(hbLU zD)2cx=@0hyQjX()0+qE*i za^@r$-u3L>eR`s{{K=u~F8k|URVDuccWtj*tf`Pc$P^lXVn1-7C~$ z+3d{&8fi3%5Px1rhww{z3Cb8X@ucT(cw~HT_=*gIf|yY5gY?uq@l_*Lh>XjLA*up# z8Op4(%-8>QQ+>{r$5D7KYMb)a2xXqRj&q*9!_=IL7?;YvgN}dMCN|^)fP# zfxUdX1EN09>4vrwBkCv-iXO2Le(dtw*hDxF9|q(@?FMX$3xjJ;WjP(vU*j;{(}0zz z{&!+xxOP~`oqs)-in!hnosl=TG(Y?3bZB&Ior15Erc+s);G!Os`eWqAtKA%eqYI!= zf2K!q<7PPyj>D~V1vu331-e>~Z(N*TTP(G(U8O7aO^xib+0N57Nrf67W}fV^Sz*L1 zHFZr*5unC=(G;pdt3&ZJez>`;u60iyb{!}(Ih<;=Hb>TL!D|4B<;KUL$N~3Uxv;sM z_C%cH#vfLU|1iNn9Q;IFd_fKXh8JU|noR6BBr75!w4`Sc96cHjepG=LJS(zEUG=~M9akY}}<P2T;NhKntbWZYSLva>s?7)8RJ%GvdZds+VLqAO`?c7$ss~pd^cqe`To>-BPPH6O!jGT4Vdv>Kle>(}mRcU0ff8g3ehVd>WRR@S~3I(y)u zh=a|14E4QW(_6L2tFVF+IH_3D(DZ}!JDmcIP-cOU(l})*1C-uC72HX}8p5~kb{kJ! zbPIO7$V(_AlQm`xfYfQMQBZ5{;&*3m ziiC!GY03Evov_g^(tkKr{dCnUU75o!G->ybquUrGC%erzZT|l1%of~nJ3O{l4S}Pk zt>Bc8DBGcoaXpFq@_2O4?3#f3&CjU9@i{KQO~LM zyw12NSN$=4?}!xA7{*}J9*99g5Q&~Mg1=ZLWc9;(&45Y#DyNMK(q-NE>uV>duUPWRDzUs#F6~xr^TK-E*(DbzFj{FGhA7Q z=6YZXm9qi#3id-gI5gHGGI-t-6R&UWfRd)+#9BS^7zM4+%+cHzS{}N`UTCGz_QLp< zl)8ty05qlY?7A%w!M8P++0)8deoM8VNB-}f&Tjb6{iMSEZ*c7tFY=^F&=mCCdC#cV zj_V7H(o-{SZn#hwf*z$OD9Gjqkv|f4z|Zo!5=B8dCQZk#EG{PDL{`YlD`yc*cr7al zNr#~H2Ky57gV~|5EcUoQR#eTg#U*Em>1p8AyQ1XU${)(*xE5X`E94dzg{9|Q9*X`c zMbOs1k{&?Co#e5Ewxv@N`ty)8Qm)oXekE|zzZU;&1TI84usU298GD#ywTei74$ZYS zN1EZW`36yKPFM9l_+-nZtpO1(t4NoM&NZ>1t(W^Wom?-igjQc@1_7>V=R1cwdrMda zOYfJ28(F<)YSu%3^k*-v-wQMNu7xc#gsJ%*+pJe4GerH-3Mz7Hx6Y4068_g5X!KOs z5-730wNOX1S?<^zLHyC(#sLenuf%S|ywE@w3#ez2^t^7dy3cOAHGOO$cO{jfX9pGJ zas>#d7GfR#GiD=&rx#|D)J#-Q|_5>+I=FSRSXZ3nfSS}Q;{E_csWc;h>C z$xtZahMyQZDrpUVyjHc;-u2a}R2Ss{{KOW* zw0Yh{+`7dwL>IosAp9r2@fOar-h_o^8pV3U=(XQ(34#dlC&hFPRM)bW|7)enDA)-Q zhN#@;z+kL|-Px%rX$1wnG*<0)N#%xBj(=|P)E|id=9aZa|LntiVtPFZYRZ~a!5CTP zZ1TJ0&Mqp-TNAjB`=(5L9sOZw zbhx`hz}@jPJ&?}QZrr_e+fsgENUv$1( zv9M=^dvi06n~$omrze;%ZesW2=Ylpr7Wyzr(*{JY|EyG*3A<(q>sy5-=4<1BS_cOQ?>;4ZBtAgvclhyo96{f_7er*xf$Qz<+dN)! zuYE6RHZ&hE9PT8CXdj}U^Nua1;m^Fto3PlNz=B8tK_4FsVxq99QF*Nxihy!;Pw?%= zG0i7CEOI4=4h4ftgl11qk9&SSd<4tY(P4GZ+S=Onqn((7l8NrASq1);r#P2u$gXqs z7TeX%n9g$R>zgWr&X)sxuZJUoWubP*gJsDh0UzYK8%21O*u>$9@7uKbcl?O4o0!)_ zc_!b-BZH)sWOhS{mIZwQeZq*Vd4q8!$?YVY&dk#+sKo3HhAgNmeIy2cxI3y+`owvA z$!*}e{gT)JPbQ=G`QOc?!i_^mA)+J~R3Ahs*4-0QjYEimu=?$zshK%YU$x$zPztjl zSX#136~%{m`?A zCJfp>0=^h0B0jW98H{Z-tFpd~@hKTJZQNK@#cQ*NS5*>dm?MCeWN>v#T2lCu`)OC# zBFa?FdA<)sWNTkGdvd0dqKiQzF(ocBinC1r(<9lj_yu%yLPK~Pw}{^zEyVA%OT703 zRRkw}6%~wX_B=tFn4tIh1&)4^IlR4mv6ooqC62eW$D`bCpo_jlUvJmkitKxD7e+yk zJDE&8D$MC~v4NF56Pop%^$*Y%_cd}OwNAAd7{pLI(&mER$)P0^Ih#{}?e}|aMUoqq zA`^OX{*DtN53-o`ja?Yx0hcx!YCPhBzCME%X;&B5u;?HTeSnjEEZ}Z*xEB0-jdlH4 z{A}35tZUM$&gd z;(x7cdug>Bd?)ez9(1JMM!NDQ1G17CR&Y>#8 zBg6)WRgqHU8^_&j6rD{{VT|`IX@I6;a|Gj)w5cf6h-B7YuF90*3F6t<^4rl!MWkdT zg3p4B-8?_}la>@yP;--HgWX_&p>=*{)O`X1u_Nb{;TtsMz{b(TbZ}eYL;!i7n1uh0 zpu(3!yo-y=kZMJ8PNz#J$vf1GVbdQpREhcxHCQY6F8a`+!Ch0cP%MR;i6q>-t==*N z&LG|nyOoY0kA2-m-!=53EWNmRl`HfDUhMwB7;Ao@yK#eth~Y2Giy9k+yZa?yy?;^e z%f@@>+vFIP{e@zacxVglc@{Ew5@F$uwz!m>tV=1YNE(2%dA2Sdk9V$6#^}}hEqLS2 z{&JCX+&F^0i2pe&E#G#!dIwry(Itf@gqi>LdzBv6uHv^DW`4ZAykU)%5mnbM&&;GO z%JGo=%e+13AzL%`go}r)()YOWi}W-9mI*)T{|(E-#T1gJ7lDGVC+|>61n2}mu;|y| z1|GIQ-mY(~hom+^pZ^d>Xj<`m3$BHZk2S8wy#*zTSAi4Esp?ZCG`!7u$iKwT7X#+T z*(L4h8#S#dXzUyuj+=8#9<`a?y@4Hg;ldVBXQ_|Ou*toc}-dx*+ zfrSq;n!;`eQSbtWyIX;P?IQ&*qi&(jA_QP&tAdQT%;fW6#0t%*R{o@b2O0P%=(XWP zslKU=Zhy~%g-4|MxROql8#iSxX~dIy@YZuN8<;X|MSGtdLua1Z=>zk&i@eG6ko%~} zgpvH7Uf1|7O}>L07L$@6h9?Ym%w!>%yn}@$=O!2Rct}8h=DiMw zpKuz2z*ZTQ$nEyoYAy*N*4%F`Ms8#}JKkasxOvD&xg6olo+p8xI%tpgFFB`hG4pQU z3sUsj^Ru94@rFR}3nE8?x+Sf3_60$|qca-M_Edh*3INrZ4UbTwY(gbck(iat>b6)t zFI?ee4tS5F;30ATRO0^(gwuydb2q5)h)8((b~Zlmp56ro8}4i!kZ-hMZV~VAY)9i; z@_Die`()CC`qFesv~=a zgc^x%ThhiEP9`eG+Mcg;o+%4xD!2xf#8#oF$cb%g-oMbSN9k{BP~~&X2BlQ#uSaA- zwLLva-r;x|0ukT?G0ocz55JeEkU_kZI4a_D#SP5@6B)k_?68>6nDKuKo!7Elp42Sx zE_91Gxo8>X;rm=Vl(k%9eCeO41oP;0BP$ZkU#B+3l&Nb{!4~i2n}6#JV`+VAb=}QI z&)U~qsWahuue;pKXGv4x{kl#m=yN6GK_nnMAn;tYu$`DgQa5=owZW=Tsio?Ym;;rl zc&$eAi6JdkMPc~RJ>Lm9Amz&c0TVMKaN}j0K9EOttHlABtr}x{?deW<+!=hEmqK7N zL)$Y{@Gh(86RxLj@(JEHg_E0G%$;J@5#T9Ubk;--AH=5a8K08;>Hc`4H-&0tZsS8?Q{;k3-~brJkl(4mze6l> z+&%G?80ZbZk(QE1ijN8Yh*`B+c#WB$7QDO7R3@k$+iQIxpB(ApwD;K$(de9+M`IZ; zZh*RoZ59jD(b7rA%kY9%E#%wop*4!8dpq@$B9!9&);}8Bfvt z3|$GoM`n#e6-KiQdcc6N@XYU(wgQWQI81GqMP?+Ml5HQL#nxb;x$m{*UT&@T42Y@a zp>sNk#>Gf_-8l~R>;H6@<6jxNOdU5zly*M(j$^mn#?*UUn27DToDe5Z&TDaxV@dQJ z6d1hA9+Hr!xid6hDR)nr3_(TQ7Sn&gF1U|&G02Qh`>+xC3#7{h6gd^c|E(d_3qkS; zlks>PCqdE4LV#4RgqaNwa6{bojP2Rb4Wv0=Bda5Cowj+ zBSDahZjK=&j_h4vkmJ=BL79#8g3PvBl$KXt4zvwsI309|(#JUTi!Eh7{g<~3HMe9j zIl^Hh4Q?CtKA3K0%$REeAIW(JbhlpZ94{GfutBJ$@pzV-y_E|2 zT0GZkqlI*Z+JZ}UF)uDg$A{vFeWQ0-3}mmty+KFex_abj2GV%$`yK*hS$Mk=yhsrW z@&jkHiTRg-V!3hV0wEHflz$k28=BuQg0vAj+zyRI82fO#2R$%G>%wKldyf_j08`>f z>23CaS!#8Sdtj0}ci(Pt7|vB(@HqLWk~nr3n~}WKUKbntKkXWI2@q^-OlmRXt+pWy zvq?`WsePA@=|W#@j{67~ePv`P%-?iAq0ufcx(&$#0eQt(Z~7)G2#?x~oA4?s1%aTL%k##G)E91U2k})V3_k@9pYkJ_ja|bG|eOG-$?{ z8xh`O!-wtOr(L^lVBvTqN~#SN5XwbUp=Lej2^INSSHS>tS#o(W^pUaD3hRbCnOdo$m z$DsXBB?13GH5X7xG&9Pu0-S+>4btgeA8fq)zQ`1c=>8z8VHI9P$)!tyYhSI~k%ye= z2%P(NAIbfQcsm5;yZDVRKM_*3XSzepdtl7MQ$|KH)Zinleh1@)HZ^&QgkE~JQv5f$ zC#$TB>%E*z`=sj%7rr_Wc~JT$@aDPKkq3EtzKmh9}U~T%Ed*eBzqng9sS>p z0f4)&s9Um`+3_DPqZmI?z6}&irRzA@l?c5L%DoJ1yB_lHXsVV@;8Gp6#Whch$OTK7 zMxL~@`Y$^DT(17>eWGqrXEVN0WC1B|M@R9Wp==IK$9<_R4*)t~n^i68ca4~WX|EL} z;hl$;d7*)3A1YwClOVS&p2l+iuXIx#ga@jRLr6N$ht~@o-2bh_e*BA^5~`#_>q)#^I32{1i_>jEZ=v z>^&E9R9+>o-8GAKR^k%^Mr|je@$!fxMXxj`OB-T zw)m76t`$qpaCs8le?Dm#%WQZqrGf_9VC-S9b^|(dnZ=|Z0>isy6GZ&AB2VoX$;lFr;$TT}F(%+%P_iz#>BP@pgm z$GZ8wxJfI8Vjl>Bgj!5nQ%NbL2fp-&0^>2wp~R>5rZ?`E9tzV}&>d+ds)|bGJBijba3;#(z#Qphph%Fe z_QOJ6I)t8x)R`(PLU{Q+9pJYV&bvWc86P9=S zy{GBu2$jeiuBk=SX!}ZWkIM})^QmWTdpC$fI%e%R2At+;1}v0`nhQxY40noKp6`g% zU2AeWd``_;DO6?uJy0kSD0YBX6AmZqGd>h&)pU0mfp7K+3YPkRH91(ZjoxO3WKF}2 zrZ>Oeg=%xGvlY-pHK4AaCPKX#cW}HGmzZRW!e4%u?Cic4SO8~3T-eaOX!s|y1E19{ zOkEoLDezsj|Fqx?4?B8I4$g7Pfz5wT&E+o&c1swWe;y}>!q;J-FR~Q}k|~|%k%)97 zUSB_q6r~&hIiOKtC-BPL_}3qZj{Jr;XVGI;lPC^9wo2n1NM-1#*5gJ(sjokOomCz1 zhxk_S`>+~kHX1FDPCK}FB44618G(x_nZ3PCz@r@1k)6?(aJ#u`w;RF~t6n(bG@>UZR$3$GM#Jyf&@so+S?c9JeV)cUFEMj+}}i7%3icXfp#ArncO zHd)p3Us&-e3ZzSR0e+Jc{r6G$3f3%ECY*m_22grnX3n^_?RBP}&0+>S74_)rE0Xn%{dn zyOgO)U%Aw}`d%{@1NoJc(CV-V}HFhoJ3cs+YBOI1uYZ?&7qO92QQewq> zpVov$juE=>Ki7kNT1?C{Yi@c&w>fevD-qhi5E*UzAaBmu1f7m~%Y>r@0^0eR&tmJF z9&ZJbHOU9B-;YALdtPr1+C@}9QvbIY$iaxeyts_dP71k_=LVhzD-(jWPMazY_TE(h ze;D?PFxU-~Fh$f7HFlgAey*{871g{Ug(jv{!+1@N614GGm%znZv?R(qjM8(scJBeS zDXOiih;_v_G4O~$#|2Bdw;+WxA zVl{s~QPz@sUoM{pI=%}oR`K}n@ZVH-yjj1OJujrk`LGyAO18A@ z=mM;9AQ&kMd5JF#UWG|)y>iy|Z8;rK>#;hIc;3N;QBs`np9uQ}mcK|(b%c{&jl!9v zw2K733tHPeMd*B^giONyu43nXNR|OSP@bWq?}aK%^Beu{-FI;4_$I}qy#^flb$c!$ zd_}(CQUNqWXHz<4l*7%_mUPuDNs5b~?J4LOTQEunq<50RJ)6t?b+%K8zPm?Z?hdKy z2Iy_if$L6oY!DKDG-)1&(X0k|fE-xen8ep|V-R>rB6@al9u!srn7!VZDEo78X0#xE z5zae9h=brBMHByeFd6Lq<4`RS{$)pX2?*-{k_?>whq;mg?61FSNyYhhd8vaagk0i! zdcJih3!j4~gC=<2>Edo{Euc5PY*l)g+fd1Nz;ggP zfr2yo9Spzar=Fa~3`EX=K(60$GWUS=Khb8r*LJF==1vf=2UJw0Z(DslHniee=F(~n% z{DwVzv4O(yQniT%YzWZH{PSBgv7*@ejlzCaXfg>vYY{Iu!_&MueVb6MkZWcL;)j55 zEQoUboSml{iUCSUUOB@t2c@O2$xLwr&eDy@*nc3Z(0^O9IJ9aK!d?f+K))5lmQZ4J zwN(aQEyEXZ<^Ow)#$(Z#B$}F($oFJQ%2iw3)0Z9+AxtU9r{2|DZmt5ol=7J3)Y7WZ zP?8xG`P{OS$n*nkF;H>pi2rQ-%cmTGb`z>SCE=Htll)3q^j!WWF(vu6#4@>z*o%^k?wgQG{rH=Sqj)+q7sloAB z)G6%R+z!1K_}rFx$`VfDqnJifOQ8}MeQf^U ze;NRa$0t~R_Y5eV2_A>+-Qw>k?FP9_+|qL4I3mc($SVRhT^ZQ(I}3DO?O?)1yU#Tt z3=B*yc4(RK-x_rNzkeEN7VPe9le68^qrMk-%Oc{Beby9d6ql9+H z@=VG{>|*yas4YQui54~7np6aLWATy`8aj+jh*G>E*ysluBgL=JP5%jA3X&0n`}+i- znCO9(9_jU?ldhEnWJ=NOUX3H-^-a>?pFbJ@!ub6wvhY28eD)5v-zwIF&-1x{ls^@}ZkCY4s{v7j(?9HKR^PFgY zGOrEUk^SqmAMmcZSLqWOJoe|R2b_`is|h7a=LfS4UX@HC4dFn zeb2XsIF_4S;VQFN0Evu{tOO(gC83E9GZ^}0l6n9YIcS4p=idU7hw2+p%8r=taUV}fz z<$(KL4{ifHoJP+RAtn#x3{NaNx)6!@R25lZ? z3xxqHU%oU9>n6x9cwF=AIqD1*-gG4R;e93(5m5s5UUc{k{ishB_w}vui?exX3sGII z!7S&t>2DslAF$0*JjEu3oS}kd6|9L+e>tgxRh5 z8Db$nZphhy6yJZqNiFDhfNX5M37|=#zvGnKd>>H}!iSnX`o6R%0S%TizkfFSO-aPy zsnaSs1wAZaGAC7%?K{=xOOsk>0~J*K)nc;n!xd5E-7sOC?0#KaUK-yhV@tlyY5*Xs zh-SCk@D z`#4^ZWoOCWkL< zMLaacib1Q@PH4(xO}WYY@sn@Z1+=D@vOI|_72@=Z^;E~Nnfb<~hl|tOpqY7~T}5Im zpksWuAlqbP&C-z82hg9eRR}0*OR7i#M1(Tv!4%P4lw^<-x6N-8S9e(u(B>fPH6|p| zuWjhd+oZuDB%!;I9Ow&oB^C677BI)djZd>e_;;VCgEG^Sm|Pi+Qd>RJ@a5-tY*C35 ziYILsu)T`MIy4J*iWC~;Q{;!0q=FO(P3;ysun=U2KHauFoUK!43;UunSpF6;9ra+- zEapB;<-9-Po?~h7HBC&J%bSoI)Bfx3!t1<_Nh0hO6{|}8<4yP$^NBvbkQpptdOgmP z@g z+EUTI*Va?RT=}b?ahsc)|IT^X@1!AlT08*l)vWH@$xOCKXav`Yd8BmYOu2TT9qr6XdA&_4n)_Ec=zV_*w1yNk_t* z)L=8~xt^aU^Aq_n2yY@9)}@a|&L`jFCb!p^?UDdctbuMYL8yw}k6Ms?HV4T{M=Ga@ zVmujxUQmZ?d$Bck`v)=dl+xADumHM>OCpr~3>V4mTjif;ORl6JA)vWP!5&h|@AHJs z2#1VI(g*36^!4?HIex-mI5;dLwFxcWA!hSE5o43tW|cwi87xD_Nb6_2LXV}HGr>nR zxr1fS)~Aq|9s0HFI0eCF1M^)Rc@n-0>T&2BSCOxirr_Wc74phN1PFWk9lcr}j0ufS zU%n>)1azl_pT7T{Kha6eH?y(%aIAzLZ`lg;-htwa7hfjGq1ik>ziXo^eOaK{G2?~; zm8DPnhy2?MSFe`T`ewabecB7tN1^kk!Xdb+tHm~Jw4;Or)qYcGm(3$a*C(jZSd8xW zJEjpwf&Hf3<3eS;&Ej$FnkpnMnXmXsMf4GaGdz>X>i_~H1~(#1p{uIp`yHSaBFCxJ6R>?dfj@sJb%elWdJ|mMt8t>0BDQ3*;=Xo(ECZQph^Qv^*$RQguZCAW_%Z=8^Ic^H!f@BpySdi9| z0EIvDXymZ6uSa9@);|1KA~TE0Wa&B3LjIW;6V5*d?38fc-;yNF5sft-kHNAzBK8G> z3hWP+7QXDB1g2XEPg}Cvo_hXwXK!zqEBCu*TjZJ=TJ%9pB`)6yA3`-f!2CrGRiB)o!u$j#cDrNRN05g_QJ@g+Q zH>=sXI6#@{qk{hKVFS*`c|ak4JMsdRXAe;a1yfPu;h`)pMCiEU#+TWevuNen;>lSM za(##Oi+~HccuVft@Ewlc6Ki^{+BSux8{*P{jWssa>m3TtHOPL|fl}92Pu454<>&fET)ECtOkaO6Xpes({@D^SNLmP(CcBEy1H$wA z_K384?Bw>-daoOZfDbZ-vNP099_UELskOJPY9d7r5lLZ-l$N~9xN+f8?Z9D+JOz{b7j@gPisu8iYx}2i~KT=wk)u*?~&B@-LW5Kv^7-H z>Y|1VCvn4NHO!cd@ufbOB2qX3$-!T8(lk%kWc$F=2ND>+TqX!AWTcWKacIQS8^W3 zlt}#-N@4#LO~;X;vtVsAfN=k`MU;S&029CBxqbHA$7Hsme{|u1OU5THSDbiDZ>gvpM%da2*rbatmT(ZmysdJN9iwP5 z-Q0Tiky)#;%@4ClRz?IMdYy=P&{8{jy}ks2@IE^c(M30iFfbs|&D%$KWL5CHrVQUV z#L4H|EsZA|bL-Lfz;BV1~m)p*HFn0VU#f;lgRNc#~n9f1}ote^|6kF9!te)C~6%3}3!$s0av!Kgee4 z7mH$cJK2WHv~XeASj0ov)00oz_~1tg7tS4Ked>lyZ!z}c$PRI7az;VK97Mh=jGm|P z|F_z75qZ?Z@Z7l4G7c<}N7cw$o=`9F^@Sm5thGND!9*-ZuX-kd~($P>TW*O}Nv$ zEZBj8`EU7WD~t>y0N8<2%Sz2NAv-%DddVG8$x5>G!>rPZ*;ib>YLnBqf{M@0lZ00S zD;?f&<%OFe`X~|KR=7!O%`4cjFjO8+5^>x!$bE6V3ZN+ z;6X}^laY?f&+I@On94xwe@^atgrMlQI}$%8#{_0K;J!@Hh)=|0vAJw;%4Z6ZVhtcm zP-2PCSk5DDewFV&Q&D5{++jpMnSM(Mf!rxou|cj#!|0rG4Z*?d7K@|!^;~tDGGEBc zV<>8aA~WEX^2}yr&JC+9<>a$CNdIbYarqHrBK|xko~%FpW{()R)yHqSqswOPfhuFI}xN>GU4zE1l8nI~F>9SI&+HK?uK-vU!7quEz=6w;i%i%HjRmE|4n=eeg&&*E<#Lh zyTtcqe(@aa6Tqv)b<6K@*#tVOnXk1aaWQKz<$8Aph^aG=U}*&xOj^cFSx=BrAF<== zBL|KRp;*lS6h4^c=~roF4GxCx9-cy45fxr&u)s`bhJ;UU;X`|S{+=2mecQpU$y>_B zkD~d_Sy8{b!v=;}ApM}!0sdRRL{=>ZOocGujHBq$nX3=(b~n(qe!@3ly6 zFnC__x3olBBVKo9uLxVPVC6(sQC5m<(^5>M>;O}zHmko#iM?+aI5@HDQ>ab#TD*id z62A9!jE|1v9;<|c7s4SpUTKZ4DCod~2tF8AV_Tm_ro>%JKDS7yG zLi3=wF9eG$37)<1X8>g2Xa9f5CqS_312o@R{SJ_Mo12ZMhG)SF&T@78GbnH|S-%0{ z_bF?Df5`X$ko8spU2fg>u!2(3-Q8Uh(%r3ehk`WHDbk%1(kV!HH%NDPcX#8r@ZI~I z_xwLEwio-x-+I=XG3FR!x}$?tjXvU#>%&WZaB@0$fAY+-tdiPhwy+_VE3#OO+evC& zx%F+VznJ1Cu6@(vk}pXJ$(0)%F)Lux)husZH+l=8RO{z{a;NJ&)|9p#Gws!>qOL09h?sq_xVZ&;)8GXo*N zCw;pV@&t5)i|dErz~rc?pzr&fLCmmt?bJ^FOH~~>(b{<-bws>?Noe`C zZ&`TwItQhnhXi-Wt5^ z&?@b3g)|C0doR8`3KIL)z)?xbJ3fU)K$A9T59NlVy3G*cX@WXjU8n2Uc>->H=|;oN zIlek9k=6^^Fr_8BKl|ZfXMjy%7HN}p8j3ln%(X@tiRtMrAr(C12cF`hxt!R`(ngrLHKk=`7!}&D z%`7auf~C5>asqqkrmZ`7-(Z!Qbu-dyRbcW#!vmB}XSCcy0wiZBx~bys@TPlxIt10< z@`;R;wfDt=g}FgLK!&~fi1*4h_4l`1HkOZP!UyjTgNT#lOvkG+hHk`H&dS0}$D5Hp z9$kDZxFm$%LaV@^;h0PvKQC4r7F-7?tf5sHMKRywZXAp`af5ufkL2R8zy(XhP1w897*PAvc5qKY5YXI5IUUJ|K%~INfX>5w0oSjECVKNr>7FB+M}-3Y1%5 zH)Q|FM4;>4JdTH7#N*fzm*Un*o*jHQ*aw)FAa*3&A-V8fB;GMe|HM84P;}%~*oY+P zGtzk7{FP#IgQ_vDd2p(H)`+bErn{?rPYVGzKjGE`qZFTcmsGV+PPv|C6b%IJK46&k zCdW;!p0T{_`Hu&OnXC%ooH%G9UGU{oxv>Vbh5Acv(aN?*3`p=*LN`+G5i`xxo=j(# zAogo4x}G{DGEDT(7Hu%esXr&Mcjxw}a@85*hVD&EAQVA?J)AiB3x#FBtfAHK#YyQI z5uY-mU=U8*`nWsvE6-k_5>b-%2|%==lm(tNeLW=@81X#eO?JADIrAsu;)RFCQt&Nn zPJNHmEvkx9AWzELWrolGIT^drlaJc!rOtS6f>s*@-6|1!Xt4)0Tt?YVtMXFn`p@B~ zsi#aSH&fMz=ru|g${1&ly$7+=K1(s75}eU0u_rkDQ((zhe?j>5B+nFlARpZd-74D( zVS{g1WPXzx3=G44ebGfqPmuxVc|j@}xvgkF<^)M(sN?cj#pwJE-fM~Gn!nbe>NR&b zNjN<@MY^#{fHVo|c@JGxqqKk3K7VyLs6|bE7ToZ6JF1adCK;6k?q!IFYl4|)FB?%>Se^j+)y4)&Wt}pzja{(-NF7MqwD}V`dCa~AIax(5IlQV$g!K75 zHrFtGf5*WeA}U%61}PSO6?^2Q4Q}^=K~vJMC1dH~hA_uG?u8Tk9h(S#mBb`kquEZM z5oAk&VAgp1L6Zvs)yC;y5h*6lQrd4n{bhq#MDxknWz1$VS0O?2NPUF~jkW1#pF}Y% z;0fJh_k_!GdWsDsL&!Oskal%ZSmk07{4g+ZQJclsJ8N!0gKwr+!$5%=Icm-AIaj#+ z<2216VOipXm~p+;$Yp`t_7Uj-k{>Cp%*6Y+KzeJY@5@dzk}L-25f|V4kfX-O*-G_y z;n+>J>*a6xGi%Pv%Ue3FieY;2>iz_>tZ_0ffsJ>3<6CP6tX)G)5!0w3ka_$&&jWxS zs$WtiM>oJ8N?pe>Ws~{efWAO{*jpsKtqpFqXj%am*%U7kj^(DCvU2<{`oXywpEDWB z|3|OLHE%whgo8jJWHbvpt2z$xDQ@gZK?iG3MYUsT9pWPgt60$whtn3o&{O*rGIg(Y zr!7Kzu9q)+Cb-3n`O9QdN;KD-N$&G|<%Mi-3cu*|O^ij=U}#>eIoUi;=G$Kg#^m(F z@lc1$u5WAU?Uoub&`4--OJi1~ZLy8k(M;;-!oRK{vj|Qx-^|VbXv~n)tn9+zfz}w( z^YO)oGf^6w{{gj)9%uYC_TBla@qtq24s*JAxwX_bCVRR30`jG+;%NS-WwpzElfq;tD>!b+QB(Uc_qu*TmO!q`f=kM;U^mM_v{d;N=QOeV5 znUbf>=Cw5j9N1OMh6_O(b!Wej8uE`NOQjl(-?MgVKATQqN+_h{k8t{cT7=-=Gk>0; z7JewOhN(bI0SZKXK%+rVay;m4Mag<*b5&JRyZde-!SyV2Xtw04da$z|2SOp>Ntw-& z7Ww-#et!Gek0XVrUGiu1iSCoDj!W~JnZ++daF+a@cggHF)>OjCBgDE^wZ)UNj>W0lcSv>sNJUWhE zxGiS{z5vA;3w##-dnwUoQ_BGVqJh!+FHXC2wl8Xq7cd_8B9sA=E?4+zW&++vJR%^g z01r4!F=*Wxy{`uKalqD%>C{x_`#;1bUcVo@oNxEGtJl@i?+M*LsgY>L-xV2q{J}T- z(;R&T)*Ma}{Uvf@Kf5p_inikJy-TC&FZlWC1t8b}`wI6|(PO8s^=Qgh2KhrJV`8{( zx;~8liVt+hJZ!iYRx$fJn<=tAEZ%NZ($)c7dFcB!Y>l@Y+p>=Xd(PvY>H{AhTz;Ii zTaM*I{-`;=nB*AaP@zt8Ln7?4Q^Q9YW!cdXB0ckwh+sDOZ9x(pzu+||9_H&TR|2Dk ziS8B?o*zx3EXkg(J};wI(tTdZu3-gGaJ&y731xeZ^i2uL-fZC^`!+VFdDXs8Bt7d_ zD=9Tx6sOm%!sI+&xTP3g1o^L`yu8fzo)MeVTIUx(>UX?qix2>Fe?N3Pl^pA*} z%cRa0W3xZxgrVWI>a$~mS4sI7&-9cOjl&D7CC44_bRma-Do|}+D_dx$kdCiWA5`TA zXW-m1=C==FJDZ!=@4-fB9f$6>7@e%iBViugFiTvY~Es+>L;hB zhX16fQK$~PaJ4jfz)b7Vh)v*CgkKvRFt9wP?!P_v^%YA``c`hHD4*K1VWNs7T$fxh zU2JsY+nYlvO-^Rua&sdkS^tByA3QdbENRlSrhB9lFy{C3Yq{!^0aS$d;R2<>#*hejg2apFqRQi?`=tAi9n~p4z4_X09K5V>0HTuSyNL~1K>IZCdwd&10ENDT zx$hqX1dM0VMSGao#@TwuJrbAQS|u`%3?jAE*KF_HhU*fy-Cq#-3aN%i(VJ;{M2yX0 z=-&)4vh!;l?!)P?hoe#xgUr5QWfrHds%=I`O*8q8z`!GZ-z?^}I7k_(S8*bV#$0yEBZEVGo7q9nE}BEIHlJHEM( z2p#_Fm4;P;VZF?!$K&**@koh@8iqCskP>1(UT5N@-c_^#e1XAXVkJTy z=)sNT$=5{uxJoRx|1~O7B?R|WKt`q`R^wcBwyUH=STybl5swp=(|R!u+#9%@_2Y+4 zI@7Ugk^F#yN(I@$0TTlb+LmKO?A$YOp1}D@={1N31vW+~x7QhHm%&AlVA%DZ`m6F> zBnujHS^{YA_Jme(RSV}|c$l^7+NIN9zaopecDO4EZ~()3R@@p(rp|!q&GAlGuw*_G z>frky>63!#UG-9T40Z&$7F4F59-cb$w3jfjA(5LOv2$4s{&T*v)^6~4oTp#B$Vw!h zTmVWBgtKMzPMboHEd>EoKWg^Xe;sFf2ov_*BNCu=Q-k~km|W?_!fq`yy$@pi?l*y7;!Dy$bX$$YRhQjdMMX(28hW?3dVPXQ`Yk&l;I}Wxp)7V z%)tFay*fKSJ)1OV$>TINRQ>!yN<8&f$8UL2yFQ0m+z&`_O3y=Tlyc!H$zsceS6YsT zDBbNP!nPD@)(fPscB36eJVAE#K_-iR3CjbjALSX2vq&rYs>AZI6nf4M=I?-%(U%2= zM?DGZ_6M`qN%tloFgsIRcJ~qUlb|f#!J~UjPD40-DYM2bR%d9p1-*pFzxfaRHlUw* zgK~0QkGuS~Ps9ZyDA2;Ix-9Tve`9O&Im()vjpj@kyBf2nXRG&IjS<&JYFic%KLZjE zCUm3e`G!%+ytdCm`hsas1@d7g>elkNcN+v$l$4 z4k7QBMh5V=8MS)tSpPSQAtFSGy5$q4_wEHxi(HNwmw-GYCNCcjZiXGu@m&zHXjX30 zp=jL6-hW&g!*ITOsC)kLlPLdN+|=dfGFAes4WosfhFmlKOhrLsBXGT^PcJS-0A|sp zUzdF%wQSa^VEaw4Nj2PQ;`j{6uAYNOm}a6#gJ_`y>zvgOnBl1?(Qgp|Y(#h$j#;FB zE{8IkDM54t{kq>yjh|{L8B18q45dzThTHS5ke=$_^Dh@Q2Ac>GV7_T|TjdnDy|)(G zoofWT?VO+qz{Yj={In_3<~{KWgH#e;~gi;`aCH zmWRnY2B(VZwR;Z$uaSBqH4@yXKnXj9w{j03B$|49lIl|9DpS`QEj|EB?9!zUWo66H1v6g1*1AxP0lJ1mU6z^e|%&caMysJ3n7Nf?K97>|D z5h4iT{Vn~y6zL@qJra?@ z$&PI%1BIAz`Do0~)ul)1|My23Lu09_t6%whX5}(l&O$+jC3U1recAcJj!D>4AC1Gw z=3~<0JyZ3E*gjNN%=wL&;TqPs7y*G1i+7xE2jvJGho88I$HYWzT)z3L-rGc2B@Mi{ z{9aVHnpZlMTv#5As6{RAjCJy5ja}o}EouA8F;h{SMs#}MlW*5KuIC~L(!`2LwZ()& z4FlE%s;wQ3tjLF~(vvLg8>h%(hTydq<4!+}t#%S%17)a*q8{8xStrHNXuE#XDMZ#d z*a(9Wh|pn5$Ar+x9^2SbC1KaFJe9olW_vSc=64%3m05U`80+(5fb_h z%dF;5i;3)fkPl?v0zV57w#1)_xZ&Xnt%0X#2D4tsR|MR_sgVBZ%aJG}V2lnd^+w)u zbj50X8U1C1mE2&j5jeP^@eE!TWE2Mhxl`tJ9@_~*h?t})wtM5E?Z;s|dkeGRAGq~- z`S}5JbC)@1A->B$G%uATe)4}di+oY&qdDg~_DM%cS1unxEUl_*drq^y9j)G!z++-; z;&%(H(yf459dD8UkLn3ToqR$w4;rRN3{uCStMbQY@b14Xc%2}h$I%A}jmH^A(i745 zg+Yx$$qklTUh|uM)p`5L==u%3IAC@7>T4=v6VnANExaiv)ZN6~ucJq)JC2MBRFDNJ z$Q_9L4L*)m#j0@}68+ct0eV%h+^}|SU}K~EEbjOI^Gd7)-Y>;7NL}|#;FPz9pSe{3 zoLaN(J>oOO>yT7q*uC^PQ|i!Q%v0*R{_%OK<-=m72Nj3)@@sQ9XmF?Qnga{PN$rf_ zQxCop|A|Rpb7G~WUwQ>CfJBcsMf47m(r9eKFM-YLrT8_)%OV0OSzTY?ZDQ~cDL-QN z(SOM3r@nqb?g%Tpc*N;AOQi~r>E2G({Eiv6z8UOeuFj~}o*}(P8N|ATeL!k4;%B_K z5+$%-%JjQvWeF#V5OCQA2OarX4BGHzlbW$(sNlcl=Qp4DevH^S1AZo6$@XTgjV|3* zERm0KUuDro7_^%;0|!4ub!Hb}b2`MGMUFZqIUEGDVHIV+bh~x&cxKcNl(d4% zNfF?G7cS3X?*Gj6W!)j_uL-_R5j3P*Zd;j7Pb#b5Tk-MZG3<|eAwLhPn$2Q}(4wej zTl-BA>eZ|LZ+9?C&+WR~SA9nGOWp{p6q7A11G4XB=eLfjlauR!tRzn1_Qz7&OT$85 zi-`XD`?i5hB6(+t_Vpdv1diPZkEtW|CR3cPqe>zDKqCBP?bSVd!ixC>qm{k&(#tFF z?^#q2-yqAZ+9W5^%5aNMr6j`E_`~w$crLCVaRANp}HSjQnSLrEb(*}WP@uBVC(fWUM zIiy1@a$kQ+5|d|P_n_n59z^(7Ad{BUKmmr?z@_sm-@6V0deF~9kCaG2PYCRVyh!U$ zSZHE^A5`t2p+)6UMfA0;*h(-!gZ65m<7z%fZC?n_T0U8~39I+cj-)HacENRAl2>Q8 zh381Q7XSJvA4+>5kA%}U-H`1WFsX7K0;C{y zP?m(1l4d=J)kPVT78H!1|Q$yq{y<#cj@c1-^wq!JTVc8qEJg;g`ySLCtHDKl@2(E0 zItQX5sBjSC<{b`c&NjE{wjJh{NiKI)3YRKB;07ke!%Yi{&&$qp0Zs;R@a~tYA;PrAOwQQvlF;yJU~tZK$rA(qmJ)OTe4peZqF|4&mgJ1wB-i+&du z_m2YGlO-sQSXK9jZp^XA-^YYi=6pHsQiY2DDGc_Uz5Dq9@5KE0pVcw6! zU{_SwGgvRB^~Ov~+KqUeIH9owIvm>v*fQ8E{eppmgDZ7E^tW~;O>#Pfwf^%$<49V3 zZbPJ70rut3?5{%0QmtH0v(j;i1_^z>V#b?F8lq=C(ft8ft;w!3TdnPogdL zk=s2)1{RJYd;HcFmK;MM*HaJ@R!04nGHhu7hjCy5^ibbkS#f377rE2VfN z%0 zGbYE`1jnbgxLl5S_mVg;QhS3tJDGAr-qlmCeXJES+J&lBQrQ7pM5}WNKkp?8_P4?~ zyv=dn)6C1Te3ez5GFlY>I#gCpF==d~3aEL08X13c)da$)PcQ^VDtY^gvvYaCx(+_+ zTDXRgZ?p$Y6Q~dTKSJ(QAHC{->0vNdNwfD^#syg6nJgghX(~6t&G)Jj{wB3EGZpal zm&hDmSsh_!$5;~Wf-W+)_e_x7UYZ-!I=z@>oBi7?V;@jofEGZz_j4EQc5va=%*2n1?~D6RVvVJB3!ZsSP;gjB9;`~&i_(qO1X*W1DX(n? zop7Kz>6`lXZew#B_+S?WvdKa|Mz>SrML8zmFWu{p4gh?Jr*0A~1Rq#CZ{N zn)nCGY2Ug>d$L)xTTkb|UlzOfT~eK+yVSAHHi`w{-JAdTEj;@tTa47!vCr&y16g9$ zI%jBHqEne~byU7E%IS5OsJ__laz&=ppFVk`0#gw9&5M_7{dz05f?w)Om1JfL8H|#D zVZ);T4K(h?<{t=lGS_z2{27~|1*fy~g_+FZMn`}s<5@)Gx!l*@)q%F9;}%$oLNWhd zVj9_;!xDvri#ACjKRP)_&q~6=544f#2?6sRo)@MQ4J>h;MM#}{VMCDv;37<9T6Ks&S&f!HIAjzItPL8 zwDm^{1!Z(}Tt-7h6_}{#!(VF4Fkj;7CFVk~K&d0q7lw!Z*6hcLKjS2$hf!z}2ii3e zZ3kqy0WfR-E&+mQ$@5femKK}+?L8p;1TMJs*qmZ2k#vdw5{1jYPh&8&^5)1n!n4l- zRv@KLb{H)T|Andioe2n{26%N!2M1VKfO-n+bY)e99#p9CV=~Rr(v(<{5^~AG09%;V z{170#TXTs7C-lc4OAKGnkFaOVF{zrhyM9p1FI{&Q?1Ml9NOHiBW~uz@d_4BfK-d_u z)ILfsc6>f)1iDQUx$ak0=51#moKsR6|NAW_w$ob9mAwH(>hH)=Ay;93Cf3f*_bVb4 z0la;EeZLRHWMqQojmc?M5<-CH=M*{qzi!zHAbaD@9|OCa*6~lnWsc_@?4K8pk|4^f zWBF}5)d3soLvNeDu|2%Fe8QOqJX2j5`wRt%{_GC~=aZ8%i=sY1-x+|trWdCw~?z3&W2M+;3HIDb1Iw7wkM3`n3-Q_RV!{Lux1h%KaVSn)l(YU$4^LXoszGokJ=ZJyyBgDEzTQQaW3uCH)*WXX{KS=S-OMu_L zFD-kle^gOekHCo9y_^9kMW$H55NW4~EfeW2aU|5wCg4FF;gxPLtjdS90m70YkbN0y zNe8DJ*CQmgr3c|`(QEnx>PzpGGGV;MfiJU`oggC?b@kC4nP*MkT35fCdYxyCaFlOj z7SHt_wBGKFKK6eaZvb@X;;jLB%mvOn<%>^U_vW|TL2O$qK#e$yi-80?&u*4#wm*i1 zW9Fq87*f=59rS-D35sBB7PD1W_UQkZmFtHX*Yw1N!VMN7Pz~z{?#nOwVyn9gN{j2t zlN&qk^GL#fJ3l)!HdiG$T5$UcCMhthLfxWeUu7YeL3|=5q0y+0vx9|=h`hRORgT#o zJr>FA40Q>yIevoFI0~k^opV45(WnsRHD-Nh1)MBGvkPecrfFb1`xi|Nf(GbG`^9YL zLo~n~mVwp_xF3Qm#|t!*>Xmkboa-b>KN34eCv_f*0lIAcU*V=oyr}i}6_09n_Un2? zT)$Z0l(xDK?FX%?p*m@mU@G{@#5^FJ?@oBWR?6(92BmuSu3-?JBVtd{H;6MJqy+E7 zktHz4lBU_in7xd!>xO{GA^|VP_Hnf3(bB^m#nm;zI37*PQe1usZXr= z^r+X(&hVpmBg0wm)4R*P08!7L9%ips|4U6T|M=z&xK!c!Z!IH^$SBw5isrq117%sl z_}tw`o0bJhGUL!`dreP1eH_K82DBxfhF_Edqs~jr%R&OzN=jm2;#VEFCy3P~Gvx@_cS)vRz11pnAnHZkZRA^o1+U+QC1LY> zqE6r?xKARo!kHM1W+4G>({nkk1oih$VMf8iHHi{7QxLHRzsq@QFu5NBtcm;+=+@n_ z>XOAu1TY?fYZOIdW`_UWnyTE$ zHyjsT+xw>#;u;Lo*EeT&znGd%sX7y2SwkjjLZUqOF6_ap7I8O3g$h+f@5`(^2|gP8^wn8Wi<%$}JPEJ=dJ+J+$U_U=rocYORf^W}sYh!adeHDQ|m+449L zG0p=$xa1<`)y&Z&RL4A%U=DQk#oaL=j*2y4JgVYCA&Akh#h1{@lh?Z3BZ|u>lXk8} zUye7EdmGOmd5~_r1_MAq1K-R5#GX4wDm6|e$6jc6;nweSqacs4NYVL~{DRqWnsd6z zgTcwkL%497TX^k!vlC^3;BWAY=bvZLisV8%Z9R{HFwhWhR$tUWjgB(=WO0usy1{dO z6f)z>UaGS3LE1*+GA}g1B%897h9}B=_tVaE1 zfMSB1gak+&odDZpwp)8YTJ!zjIFH~0s`vL{gYUGRn4oS?6BHtv1I@1%Gp#p(7f*Pc z{g*Tb`Oj4X#YEkH>1jfXBU_yHtX~&ijnSyTrFyv;bez<3y!Ch4heZZ{1?^J&u=!LW%c6!Gn?H>It!p_L(S#f>D!_i13X}kpi zN%(oF){gO?VeMuH{WGC4Je8NMk4b|`r-G(P=J@I4vs47y&4R(Ev5k7Bu22ibi{Ot@Uz^!2Mb)lsJ88rbt07CsOg+8?f$;K%T3st*`^73 zB-UiF@NI-9P^J;(@S{L#uWuD$xW(-X3<{`9o{qq z>WqP*er4k}WUb~G?MT=0L07*a=2JA*NAIma>dHL)nXBw^jYnO`~7BJv_`ABK+ z?#@6Q6ZMJR#T^di_|U9VH&fu zGhR0dC+v)MO~$d}_lEnakI%h+Q5W+7@Ys4LsQq1-f{%$7L8)_}vAsjXWxoEk$5*s) zv5H8p;W9wAKiqU=2z9XjIzXd@1e@0dG0tiU7Lw-hp43WW!g?NhkRCeg!!U{ItPwG; z!vSInrk<|`39?M?QXwRJb5!nl1}CmV6qImL@ES)!zpqY5xW{N-OwL6e^&hM#4b2i! z9MUHBg-;Kn*A|YbpY88?=CdS-w3Nje>kWDo5O=2({kZS2PKg= z@~zfYYx->UNrb$hjq@wsM+lqSH6>YW9+)`>9?5;juW=fmcB*#abSlDGqiP`8H_aI4 zvQjm$D(8&fnEzbI=Fi01tJ#AI%iS9JJc$t^|E}Y74U_%YP=g#@#vvFMf+8lqV7$Di zAYm?RDU-}z)5%+Re@M(F$DvZo!M{3IO-*_{`s{P{0kt8&6Fwi>CySx1?otCqbJ9tw zzJ1cULE&;kpj2U%3$3|6QDV1Vmde1QL%5RFtnM0k9n!6ullbCAqOX*w(0kkaBRz3=jDMyT9>xsLIj%iSHbZ}6b$T}=OYdUR_q`LsfbcWs}vjD)JkP4s9mH--HFeA z0vSngY|>nrhre&?f!oe*skLnu12i)CRyu1Lhki1`HXnfs=)Z7*aCyo02L~-?&oH6Th>ZFw+i%w1#A*FY zULDy#|LD0Zi)A3)-o|PLz72q^lYNJ-*O0FRkjX&o`&52UflI~jqMuwx8jX&H>`M#?q12Xoeb9-rHmN{v5Yeyw#8@K4_z!seT(I zSnm`q22wWT1?N^OqY$5B_BwD_^oe$m4+tJjP*ShLFT8^Qqq;BA}&? z)z!5S8Ge(Ll>XfVtCDUqQ5&l$B;G<3v|Fk0?(!huQ6hX@>GLlxLdn>SH~IK?vcls$ zX0wCyHD#Xr@__9uk^!UK=#BuXvRWt45(8o^po*#z0uCT-uu7xJwiO9Fohw~{tS6H` z=of&bNl4VV5;^8gwi{UMcSC~++wJ0VyEYgn!{La{YzPk=66o#{tQS>As;_Z*@kz#- z%zMwk9bls-LP?}rHwKD)&j>J_AK6j2CuGHRQ%LTb^66%Fzk^uq<+0m>Kv^<4iRCV} zv-A0$RS;VZ6T)F}4~ydRX6~|7a8P`U`9~Fs<7fug)EDME1>GQ*{wag@WC|{{*ca2| z0j2x345-2>W$ve+Wpyf1$;1(be)1iiz?T2skP;bj-;t{Izt`{TYnw4$58HWR4u8M{ zQ}hvE^dzjHl&21zu$Uhyhw^WGZ_F#ruzN8e z-UYOKj$5e16NX?6k=V?%Kpoa!iZ6?OS|!>E_BIkXY|=r-w_r4wYIIPqH6Q?5B@$uF z*yNpKg_=E5QY>kzkb(fL`U@QDR~y!_-`cZZT8prKSuK)TePf!grSWmB908DDuVhG2 zOiLRruXWi!Pa@7OBS&tEf1`C7qBX+He*(TTz}JUequ&du9@+KwE~EP^$+A0_pm>YR z=zjl4ApPZ`1OOR`*KOnTYQ9^ra0osj4L<|3xIdo3S61%Ob|PtRYjuY-4gk_E+3n}x zLNOqLhkH(~ACRMheh#M^0oJmxLnwX%R2A4`;tz}?bPO3`w+8?8YSS-Ie%c!D<#*pzFiWT zqV`q6k0>%FDkzlm_{7}X8T~x}gv^drcWt%+zOiUzb)M=}u}E=e?KmptyU#!}L>b_% z`R8*1R!xV|y1_&@=fWgjne(_Kd@}DF1fDCXF7zq0NsYUOH(@;2Vjy&Q4WZ3i z(#^$C*@YbK)SOX6kT#Z;PwNjXy5PhUB-`F>u+(y?q4Oh*=i|pxz!t< z_nq$446unOL5ON$9F&_L zRPZtzF8Ua8O}Si0dWJJY98{5j%zKMMWaUY`1nPy{HAxt*fa51 z_GHpNk3&uOA@9%;cDfv8D3^~wQvH1@Pxo=li5*RL1;`{>VhuwYN}hDsBz4R>;z8I=He%X=HkxT#0# zNtO3<8Sl5dQ8(RD`vu}mC04sL9eZTx-OpduSS@uPV!c)#*CXboM%6`$P$b@@E8F{o zZq>hi7cBkMC|eyyL|g6le4*?>+ab|O(b}0Aj~qQb&z(`XDad}XfTx8-fVN6+KkzO? ze!V(xx)a}{TdupDp}|v7^vEv?9gVvOH)Oh~HP#`(ri%%c5NkS1CBl;u6o&LnChAP zRZV5)xPhdQ(|HTzB-9`s^DTp)6-*Z4mO|S?GZZ0(&7Nn^m;F#6(CgoUdg3_lJ>i7 zf-s}OeX1BL-;exl?`MRI^W6&OH<1n$4>}Bu*LuY*$6qQ=R@%t45la2S z8jvzmG0$y1(*oj|(pHZS_XESjh1OCeoF8ro+eJu`-S%mglvwxfQIJ9v1#NUOM6UJ4nMNqXLB;woUSn0-S+#ODrINe${5a{nr5?Uh`EAS&u!_o35o2K@S(ywF2Owufr_}FhrNNKBe6OSIW1Kn(9cs|0} zj@n*<1MaHPfSI}Rd^@|S45oq+u-QJrLXc&F6zM*o(*!$JOjwHl7FLGy(6>xXVKs`^ zbj*T&wld2CrA`b9KH0?QtM9&KttSFYP!L#a7p(i}D&!+pD*no% zJ9JWF6(jMhZ^1MQ+E&Qrm*1HkAL+EK1%lgrTm@SOY4NLTelPezmR)2sKs-F4L`R1D z#=hbr&V*8R; zL3O6~tQd5Wi3@4d(|{B-!9`H^`XGuJKXeLogO6pTtU|)xApul?7JYYHLwWo~?C=KT zUil*%N&q+OyEr3l)=;=-ax|d$B&H{AxdB+%f8tMMK-q()?vzLe(c8KcSudKWClhm? zRMYPU*li^tJw%af>w*38i;)lPGF-A77?Cwrh=w9rD7I_}*H*qA()CNPq}Eqoe4?AV z>m+%UgA!g?uo-;|fubZ-dLGs~sOBQsfPny(!*`N*wT`zT7H4oqGK`z=;!1gZTw2rz zizG?*q*zeui1EsVQn`*XLr-pCX0&<3*cdY;Loa~w>zhnMW0G?#^n(MP6`UA&Yb0xD zvE{CUn&FkrwHI#3)a2c-r27|9+>S9=tzWNS>{iqwJEPqmrxK4`!d<1<3(3m98q#R! zczY+s60wd?E_Ty4%JvF2iodk_T5u-I$@!f4rJ9BI3c4pk6u%>v;l5wO_G`%o0%*?T z7o9)JNhZ26QZuF_HO3Bq7+`N9<;bGk7KTA?6)k@24N*0m>bp#6bf(B<(DA|PpEg)) z$4F?lVE8?x^X>FJK1dOhoI|D1_|iJCM{G)|&j@xs++(CxMu7cj0b2a9Ubw;q+ElXN zVZbeGF*0a}&6pY2X%E(iLnnQ_9uL_4Tmc6%- zo6LmuBFg0;1IYPUnwNM1R*(Lf2J=ITScD@w`U@`Pu7DuRq2nf`^-HG6TwO&wdo~jdo(ECn*cNT1(TxbZdLPP?EkDK5P1+$;;@E&} zq%wxWKKoF)vFVwlt6le-^bAZN7@O)FohLOn1)gp4yGhnD25g4_v}XNAfhK<9k!zKFS1v#MW|z zx4ewR02((FVp39gptPqeiSJi1XS||ClOA z$Ag&RjmSfa+RY7#P9L6cY3FOG6+^oaljHC-LrEa zjFO3UBCKNyRyX!m>qU;Wp&DNW3Wn44bRYb*H$g~Uh`E{Q|upbSvJtWOo0M(q*;sU1{$hY^J!g?DE~C2GyS@BF z*XPgsMtjMAV}ehKg_{^6V9ab|Z`%<&d;ZMHW0|2^{U+PVW;LN52o)SE`Vtkx^qX*> z!hZFkMUWWXbSoz@^6rBxYsY(7(C;6t9eD!+V%%Q$4v$U^^_9S7190o>0UkA|(<9M` zIn6`0F6J{_Tpxh3<;KPaF*`3RUd^F!{1T)nz58b>o%2l+I`m5fJGAz)La+2=xp__f zg;<2q0!5 z@&2*3HaET$tFFo~3JY~si5xLVl<^u3k3;Bhhpk%asNq(xRidy7{7*z_-#Fi&@e2zJ zM@8R>yMF?m=r|2Prpn%zIABd!k5|c#n@#QpyxJgQp_O2yjhAIgyt1S_vtUdt&Vv_o z_|D$tKxaiYkM&%NC)HR3HWw7j2pO4@5=Ig5yn9vxvDb!0Ry}kFg@<(jvA)4rdC~KQ zkmOQtv||7psUoWy*N8_cz`DKFF@ys!1sSal$(a!#$L`_lLC0ZWvl`WGJX(PRw*aSItIu~nbkQ*Su50MAy52grb`FV zdiqv0{8Sb-{$`cAEZP105|7hnWycmUB1jvv@*|?%6zEv@h=M5>&FPjL6Ir}i+#evt z(p1wSu6dqq&syk7$sjX|`EAZy{6iag8{G(zw0IPJ^_oHw008G-(Hl+jrkN+0FncGFnO;C4-lxUqZxxO+YV(z44|Glxm~kP7%hG_6B8^W~VH6n{RFLapeG?&ay7_!W`z* zDZsi<#`x#&wxv13BU>a}CJNlE)YaOjJA|X|yOr1!BvQhy6;Ml7xjfp*=#(H^G$EvtTMHkTKWC?2p3P6dG>lqep>x+qI#xL$Ww&EpH?wTJ;%~Xo z!8WiqAa7zcGc67un;CCGzO^!PpP!o2GdPm$N!5u94j1LRN5_!_fj~Q?H0PcdIQcTA9p|s=mw!SF1^xfCWi)Bx>`X&*;K>U=^T(|Bg~>p=Zd2Omt1HMDI-&^Z!TJI|t+$_I=}P z)v|4_+Oq8{doA0xz1$VoYMINnZQILOw%zaCjpuj2_xnEo_0M&7oX2_Kix05a(9q?y zFKI;tdYFpETrgsj!$WnS#z#hQd>~dAN1k9<(A%Zh@?j#1$>&)Sa~_|8(;D*^>06n7 z_uy#4@b{v2=dwrjd${1>X+1#j=H*%mzrrVe{yWX{w-ql?q75AJW}wv?1V2IdG_&2^(!K^G&l7}-v`$6~+gCvqHAk#6C_$R>O=oFdJ=O$Q$iI)Ao16?3 zn-FO9d@-Mp9|Jd0BXBHg}m>nNibf$BMR(XcC(+?07_Zj%VX7_(c zA+Kt3GO+%;I?YCN{bP%jHZb!xOH|f9fD&b+A(m!s&AUHwdoSEG;z&2>7FcxBaWuNc z<6l&HP`tF?QvOS({NJ+=V8|So$5(;Q9m6#~8>S79tFTpa-H|1DDI(EudF_SC(ln&w z$P(zwci8+Eac6)BUwllT_EoR^D6BsGR`JUuue7jz;)PLDv z{O1SMSiV)SvV{bsN&Nw`jtHjpWFg+{ApyLS%EBV%$U^x*2EdSLtb0)KJUZ;@9DQ%P zyE{1t072)=it+%hfaPr8o{+*%f5`mrosLZ&8E~9Fm1SJ3DWh0^=vR!JwknLhW1?pa zU(nX1oDU8u!qap;4p%)H%Qn(iG;A7mM$B_{`KGa~T3C`t`?Dl4C1h-}whcOx;4lZ< z;}flBj9m8rGEcxN_1;)?KqTTN21G+H)QDUF*8qcy;yLnGXt??vpHi!7T!6>lH^1tY zZJ{3tcual9#OT14n=Xjrp=zsI{e3q>2l@!88wnn1#R>I`Haro zt|@`_1pXyQaDOuI;7GP z>PkYIiAO`NgUlpZP6b+`jGV@@vx}nN#BIg)+X%RtbNOol#^9&_eSLD%ea8PCf)tEX ztqszxGsr=O{sYMWP$*|OC6)n#3HkPz>@H(WHdh~eKV)D1qY zbA>%BwEVLG4HW~0QNa$XpOSQEiv z@Q%Ct<{3^KE=;2HXBm@~dC*&kjnHHnCZT38`Q-%uKaMrozX|VOI@!{{$s7M<08KKp zV3D(cJ1{j3d+(*pr<>DJVFg2LnQVh<5*ZTd$s@j_@l2jFAwI44Z2DP{<#PcOrFtwgmB3WU-|e)sM@z$K>70X!!aoZ_#b&1A{ObtlJ{& zwz&AOQolKuDfe9ssE_MH-y3Mlx$en$KBB>>DG2p|wNUN1KSvC9=>O~L!20J6_&-+% zP<4a}4((}dN~TK-#s+M>m`!d8YpvInV1strWXKJ!T(P?`lDDY+)Ih2;Ao>?7+`0ug zf#_xCLO-|KQ?7Rr4NIhx79^v~bzM?wc67SUxDgW%WGiRnyK=ZuO}z3wW3HSDvPtjV z7^$5PmNaBH)LJmWgZ}oK%*Zbxx1IeI5>>9Zl!yck(8OI`NgNiimR6EBU+p4eBPK|B zW{Fut?>d9%_fVfUn7hX#LyM}AU-fK|W{cPHtmT;ZoL}GcMcX(r z8|~q7JqD9g(%{~jxph_>u|5}2)hWy2+_Xe@-O7}oqaaA=e<#syd)Yj3$D~+J-4ZM+ z)jY}HPD(|oXCOeNw?TT=BeF@lUHX=@hiov}tkbx25TFvLDJrT3sAyy|{qN`Tr}(}d z4JRh2F7l*Wroeh7QCv0)Wd6ARNoEeQ0^+tRfTuc|)S)Qbe8&%=VT*|_D*9PXuBAOJ zR@ULCm2~DOIb{ij&jYY7E{EHCF8qb5Y!ZO(=;UH4G@G-FV#KA?h?Uh5*3W|Sh-OdV znHKNqAt3=Lp!do^zkjw2@{j=kSHfEB{ajHoUwx7SVwc;g~ zQ8h!5vhzzq@$su&E$}5zSj2UFD9rJtZ4wgZ;(rd@8vXBImj&Dn*bVjPCf7Ke-@_R^ zA(QmI<_y^1-+%f`1l%qd3)1uv-Apc(1bsDro25A0U<`0VI=BK9w=ZIv>rshx&DqX#2$@Em(Kam07WI-#j+5mBypJH%))~Er_4#-Bmvu0 zrgzhMdBS0Ag|ev5XNlsNVfv=XlY##>p@|1XGZckX=L(BYfWWW_9@v6$u#y2b{QQt? z=Cg=M_?(H6uh>52cE4*!QL#I0GNHFg*gn0fZ8=Eg{0X04`rP|pab143*v=?m2GifW z1&EbY#}`AKWFDt+4vvk)18{nea z)buboK8^<1$?LY$1YUM{Tw&uSCr@8$$0pVvq}TeY)_*PkDlivE?~~uWcEtYs>#Sszi;lhw(9D8wqgH!vP{) z7oa~rF*6PFG@Mp(e}X0jV2Xh0wxrJ`)S2VecV~9!E`v>2q!=O4S47>manvmbXKOx@ zZt@L4&<+5;lVJ)<`vjnV(gVz2w=m*@a9;p#gl>wQ-bY`5;jpl1VRKM!Vc;Rd_xgw3 z6JFT3>F!*elA7yltevu-T*hCBbv(TZkd_Psuv5S{ z<3Co^=aB&vK-!rP3U0+joN!r8_tB!#H#{#bF^!jnCYuX=UIEdtykgIFck1#r&z&`(<-~i>g18QgfMyi;R*Fy#<-DUyO`NuQL{-z+wBANJ-BD z9-$*cF-FA9o(lnpGB1Ikq#nMZn3^1COYRY2rOgRv!FCNzVbrg$e6=x@`e5l^QSMYn zz-PE8q9DfM<+t35q})L2`=x-(tsdT1_e)ejovnMWMdABJ{k4^)ESiS~&8?1dQ3D zSMc_34P9%6YDbmxnu+9{VME^b{jE-JyKf*$a7Tj=$$Cf6)c}fpU@KXsG5MWOwl!Q& zp}^0NfY*T0C6j>bE}=JMfc-%@(zuoe!i1rg1T|N4Q^dtelvYE~AORi`MekNnu5qmV zd!RkBV7C(g`nV0qMSLmB+&DO*reos51Z+ltb>HisLv2icNd#ESgNM!w8cR87jd%MQVV z4~=-If&9E~Mi2cb>TM=wpR{UR7I2g+y>AkT)Z1U*l?UmH%@2g*%}x!`%HFnhfAU5q zX}MBwaU`183f?sJe3(yr<3gUNzB5{SEK_g3pwY%4k?!c7AX}#v9G=)!!^-&hVWW56 zC8=Q>Q#E9u`E-!&usJ%N^*_i8+6D)u6~X5Ww`bI=TCYOsYbw8<`XwGPHDORp1&w8 zB3zHh0jmd+@_q!ZYc!YFlr(H_BH+V~k@{^QCbM&Z@!cH>UwpY)Fd)$KoemW+rfRfb z(u5rYR7XJCBIJO(1VTrae(T6su%3P;YBHP`HO^GR(-(q4-sILSi(efZm9WfBdQ#>u z*O9Wudpltr8cW>wgMS$jvP~j)g@1j)3RU>gxKW0Dk=2{5p{al_oCQL{O8|Xeuf~!6 zC^a%3)@FFx9lo2bu9&(rpKWftNM0lXg7T)lr(nK9ihr_%&-d$UK7Mz2`_&0-D;)ZM zD2q&mG;WjfdUq?|@t(VsS^yJ>daaWr*a! zAqb&+K1gV*Q0q|eD)?YmDLV$B)jnpFt%n+>tF zw24Y4xv7_lG2g!@eJkv>a=#~kB3Nt4Jij!Ba<$Qj03_E9F9TE-|KNhv&WhvIFOj7n zqPKLdFT3lwc0G`|JvtVa+hjUoBA)6ELux1TNszj85CH?Fe|$Ga-PYcl)P~+(cc|c? ztVY1|K>*|ZMSG7#FzWH2Jw_2_V^fo^p)sAH6nmFDkfM2#q!(@7&1oA9aC)QKbt|?S zr-Yp$_bIzxVVXce1(VVP_fcNK_G^xW;W9CwH_hdw6WgV0yTegEuHYAUL~1oRG_Pb4 zv-lMhXP2y39^O6r44LI~9tvf5ioa!|KLBA9FdtJ<0QttumP|DongmnqF>Kuj%k&+y z$Y=0`o0Kf*vmlMD*>=_En1LP_9vHR;@wDzK*9TJ9y3ByI`pTsoO8a0 z_lGo62A>Hh2sXuj5FFh`LRVGs~1>k zUnzkthp@i4A#RO2p575=v=?#5nCKvKXoO6}9VRxSW_Z~BC#k`e*EO9kqhK&v+Gnwd zwmhuyrBzyI`&AuYa7#A{QngGYkh{dKhw2)8&3jw;dZ2Y7?9#RSRdk^8td-)|SsUmk zeEb|)%3ognBhj`pc3F=@#U)xSqR@^o8&q)``e>8peTBatE`-E8E#Y@jgz!GFm> z<)FG29a&1Z$uCRJ7~D;>rhpxzM8_CN$H=J1aj+Wt=I8acsXA8`;6qqdY13Uzrpx+e?1}g^|AMqNo*G1xw54C9`iq2)PT{ex2?Jtml z3IiJ@{NXS1`S%ZYHpfw)y3_G&$rrRg2c))rbS*j(nVH2;`9QUporMz98&~KhIk9W} zNQP^E(lvqq6l-5?>VCj=%}%;!j~YMAo@IUiZLd7D?=aN4RGL12}raMgJ zYrl5Mc^zivT1+--$cGrcli1XjI}2QfGg24ig*p6a3Ka<1n1BOEq@#0;zOwsO0n0+{JNQ&77 za&v(RIf`=@B?bKBBRPk~8p2zl`|+J?V89Rf>lH(X!`mJoxTmkCn32wy7pV!1=n8X4 zj6|XSR6EqcB4Wx2pYu;8`IUpsERbH52SHR}W&^XygBZ*~^;*;$){Gpn^xj4ec^>Xq z%z=2_Q32-rhex8i6S{+tD-YUYID+uTMRns7Vmu6C66U6vK1csboF7vRmS(OinNL5RZp6 z5R6Qc@+@mkO)du1%Ou-7G4*hGpjo4sZfL9Ur=;R5X)W|pX|!$c-Vq%i342)~93EOK zIovI>7Z%xx(+b{#;^qo~fPhVnoMVzmdU#lIjUae>q(Lzr9T|yUjs~}h^tCt2!O;Ub zyP_Z>-3`Mk?!yjckcgfHbcdA(Dft~b{%s#V#s=R$UVIdPPY&OU+J zwtu^AZ5>-qeMq{R7_{w5F$lVa^Kj9_<#rO3>h6%7L3Q~~(>A`-q8D@v_6SQ%NB-3i zaRXDDSz@#;i6e-`QGV@QpWS{NJqfc~S}HC|;8*h!Xo7@%on52D=c=-9ur0xTRI_;N zf`nvlc_QSt-g)mcr6|awl^SfcP$N(;vA^L?vIeG__d_ruqm7A?s4KN4TJ>>n+&B=v zu3@>qSM%A6{@!q9Du!iSBhZwcr^7YggV{sjxxB17+4;C#yx9!e0dd>~a|D z-=GY`7;)2r)hh7kXJM=I$nRFXlWq@w^_*;fTLbH2Govf;j^h6QfvE1n2Z*7MjVf9( zk0Ii->~-M-Ni9z(S%EQor7uUR4?Od)7|C46OF5}JRu|mW%%KgOyaR_V+ixIx_Mo** ztG)^Y+7^%d-RIgd%93i{obzT2;+uH)7JHT7t-0}mK4h5A_Axly6NwD%DfJM_4^+^qy z-0H$MCb|qPk0y>66IYxzjgyu0p*h4AR+)gZ^b}WAY#8X;8ZjqX`@>*;sqXf~6V8IZ zd9Vv*Bf8x(@aGF>b)d2$-L$;6xXlrl!I;7jsJvZ0%%`5}-lzeYa7$Wo#5AA1fJNWP zFwDl1%07k`MR(@4oJw232Qk(Ff~l@jf1qW- z_j7YT(@G0Twp4JVdy9p3j%$$rDaT5)`}?X*e_yZh&^hxlS+F~>DQE;fe%&VUygX^H}P)t;* zW6NOPZ(Z3}RU1rSk%#TY?)8IC&pOARQOzsgZ1|sqc2r%mb{{QzLmoud2ZN$MeVAl& z5C=_RU9T*(p=7t@VHZUIAz$lU5{7G9IP&EPh0FXrgw=X?OA#^(-VAn`^MAW5g23c*?S~{w&b2d8N!* zA6%w~`6W7COw0-A?h~~>s?L}Smr@e6pq<)2ek$w<#pyC&vAl_RR>(%!q8Oc!F-3HN z>UkvJ-8T&X+1nbupXFjPmyM6(;)VSf^1ENrEr4d|dgaLteH1n}|M22tz~!6ckrt0F zx^G$3m5dP#i*gx)=5?z`Aukz$LmU1oe6r#|2?e=J1~AOj8m|ml3H7rEncCP zAe5kxEVIj=Y@)@6)HG;K{dUKIS*7BPh4IpKxRGTh7kx3XHWgS=rCDUHUs%78OcZ7KV5jwEN+rRcxfveaw?iqh=Fgh(V9u`pR6q+Wl$jN9$_bPkTDJ zkv{zLh+dc60j%UfL!KjB@{c^Ik0Bw8Ipqk@05)QCYnKrtHOn3{zT>O>+#ba>fE(J5<%JDd|uc9;gkBM1dUz6tm9Pl`=Y%0`={9wMcT= z*^C0W#B%&JcqhSrU*Jw_WtgNh!oe#MTk(ODGm3qxvDD}at7wQ}*^daYjtv86UToQC z#KG0@QXcama>g76U#E957QLvd-M7Z5&P&TM2a*Pn-QflE#W;}Pj1btebiG+2r6$`H^lwPFxi$I>5Xt3`?B^mXYQvq_~p1_iD0y7SqH85 zE3L{I<3Fyzlp;SjpHAuDg|;K5b+g)6?fS<+0n=z(&KGJgs76z4t{+oghB~D>H_w@` zD_YpD8ou$e$g<GB!Oi@ZDXTqLB~v zTV?p&LMw`@q0c=7JJInJhd_KF+H{1J#u3~dY~U86rLgL4Q|ewXEq$p5b4RlJbQ7ZtaP8yecl6=z5V9%rN@h{U8UTzCUnx?@LhZ zSlJQOK$xq>d)(T+6j$G=F7-*u6HU6thLDF-$TwHv?*z1Q7Nq>6#;BgQmE1QGMHYPu zN(I`%e6t#%MxT@_IXDB!-_|!4l-AQ$wGt*-Sb~eA-6K`mmk`b|#hH8Ai~bbYT-8jFi;WDRt%GoT5;DQ`255bMN=2 z@D-5=g)NNNaRpT77}HeF+G7DNIe5N_I9;duR17P&B33f2`1qQWYplO%2u0pbFkqc) zy4Qy_7l-t;&2YkUjS>}C7rUcZ1NuWO<98@Ke~;qw{$$VA-}TSMXqaSmEx*N--O0{( zf?cFq-MP8_3bt8S^@5ZT&#MXh#1&&XUmg`D*S%2f^>``=AL@Dd zoq*)M3q8^E7}Y?F^T`I5-nSC=D3K?2&W5eqGS)D7$6)-_q}RMsq?&JEwJpChEfF0K z{ORtgoSf-jFDB<;t`D+ury5sb%PPvl8avjE$I9*O>L+aZT30E${QlGdy3n>|y)k7G zL@c7Vs?rN}8W<2x!dUrHxe z3AlB5Igf6lCdcp^JqoT3%&DbyzqajmGh&Z@=p{X!1LZ+=LZ+M5Att}x|P;x)>& z{%-r+p2|_8&%vEXU0C<$s-LEKZ(C;x%YG`Uwnm2D^j1)tndI=c!D35BO#%5 z4D>^8C!1LNQ&?y+vlsUET}xiUJj zSnu||S`s)uYcZ*`5hv(IP_^rS(tC!nE7uF>{(`W`!LoI7|M~^t;_%RI>2ab;)0Ww^ zt^FM%5{amHTC7dqfV;{4nMME_gTQX7(sJA>xM3#3h8$&ceu!-`nV`zYIqS$9H8}Bz z*)^JjZ8EgEWMHEOaNG>3trQ)BzR3HDlG2p+xTVB6&l{bxw)qETGD3#Cs*-tnfPvmf z9olTe+hqU}V=TLiA#DQepPWrx{|T@AQ~tXK-T~Q_%tkO@P9S2I`0TeTp`9yYp9^qrCK@ZucrsnaZBS&_%-uvBEb?TxKoHli9AHE+{|67-^Y&Mrj4l2M(Ae?Xt#xG!{n&4b8CO&8mx; z_J}{}SAWcqA|hq&Ix?>im1Sp{!15R98|xK{EI<;VWZgbW9lKTc60@V#+PpZl{yJ*6 z;}4TFrY5sg4?AXe5|->js$ET-_a~_)_*1}QU}PGkW7(|O04MI?vF-Ch^4Q|QOpA-J z$x|9rGI7VsX#d53s`)5|9) zkt4Xr!YURl1O!XC#kR0*6H&Peu+~rWpOMEs$+Gjf$u+ z2u41~irB()WW;KepqFT$D%}OHL>EVlCX~9oPy++wZ|Rnvlgl{%Ih-kzto=|V`1=ws zDjd698p67AFySG@l1=m9o~)=iV#}grgRDwPSps|fWwlFeI?i}%rYCj%Fsiz26=%>5 z5<|#Zqtk?Ea3S9|-C;4Bo{-UB(z1&4gIAAzUHP@cm+7~j2kvl16s)*^EOF%*8IgLo zghk*6DZl86#9=*YPo9LM}i{XRTP8bXEA%JDaqpbp?vSBmXliS!K4`iM$s!@ zZsVkE@pkF8gO;w0&x?=0NCN%~P1Oj{arY|8V%9I{t@Y+j=T|DOkqbKsH8!gH<&lKC zn=YF!I;5d_Z!ZYrU9Xc5X9V9h1`jD(pssK#I=!2KpNWjVtP;WngD1Vt_y?;__9~6+ zjntV!^KguamsKsN(6d{YSW0z)b{jiheN;T5?%sf2EpCOhp!+yuv#vWvQvv*iKZByG z(!jcS2A5+q{`N8|WTWnn4_-1D$BJJ=HQuG>vP&&C-{N{}_fl0G9V@Ni*(D6+yAdHZ z1ZyY2;qmF6K~cm44x?k2e`buWSB*) zz|F5f{{*v=MOuOA@dS&x=FL>rV=m1~9x7){LdZa*Jg@$U|2-AgaRDUHt>S;-eeZwj zy3*{7e_$~*NZ0Zqef?UuWkiko=l+39-}6_Y}0xk5U=$h*T4Mlxz%5{Zd*kSOn;Z{ekp??)(U#PHZyy~t`SH{$!w z@`kz(1@f5HP9tI(9vD_iL+5rmxu*@r12e(JW5Q`x<}DMs#}+NY_M8MXg-1e5!z9oP zTK)7T6*%}3J@bW!T;zJdif3Deeg&Py;TPkX+ya<6+ zcgqscM!4ux3<;TNo@R%;SJ&=C)aZRn=@^~SyEH8BEc1*RLYhGrV?};SD z$T85tAadplhwKi&R_b|h@+@fWel4_e?I`HRu7eu4pMr6U0L`z8m=peOk)F|-y2UU` zA3vHMU7|N9LN8V~l*Fx%l(i3{5B^@?@A(=k`oKagRQE!lWU8fTgRixk4Qx8I4NQ2^wSK$s8MM8JXdWk4e0Xw_ z92r`R`auQ0`IS0Il=x-S+UA?!j#y=+K=`mym*S6&2R9GQnCg%ZUq{=%yHwo@&pc$y z88biAZ$HoEgKgG%a)aDO91>YD(;8AZvR6VkwWpAC{_)nNt1;uHy??hKictxQ8Y|JU0q!ldh%kZ6U-B-;L^f! zXb(}|dlEash2z$k?5@qQV7SMQF55J-7jSeKzZTx9nEM)gB(eaJlv#FGIf99i8)Zg$ zQdY--=yozxm@{aRqWYWL+Sn6$5HtpNe{fVRk0OV2Pi*RmbzEc@{X!VCE$yu0p@}gV=(-%aEnl{Dg>TvZ#I9D!ouB@&Xi|A=8{B;{LMqp33jxfk z5R}I5Zb}qJfjD9&m@NqxA9kv<9*w&&gOd9~$P4L<$X(T?ddpE0>Cx|fHq0KX>g+0g zM6HnB>}I3qx8RKBy^Rw~YS43vJ7`-(XRp_WE>=o*$6tIW_(?=Z2B#%TJE&I8D5vzy z43-lfrE4&(;1)H?iahk#4O7;bs70T!V~Ow7X$JMF12klpRZc4-sHe)448{+H|5cwkG~dq=POe;VZVz?@Q=l4KMJ#-+yaF5C}Vi7<0u;e-s`nzp~x{^X7H z8Z`lc{ft!wShjl5lGDJWAV%+-gSV`s#1K*4XeKvgaj7XX8lM*`-Bjw}#5`iYGaL=Z zdLZH)vG8X?D>6)NrZAM(CAq>gP)xhi9D&je zjmfz!XIzWXDyY^svkW>p46%=(?M{#0REg;_$9Pa&`$%SIA${*#SZrxf5c07VJvv8I zWH{;xPvqr6+daujzonWZo~{i|*%^sGU1$IFVBnoxG@QtW#|U^-8M`pWgS5@CHL+I? z@$Bsb%;VGqu|P|+`uf6D^y8tG$ZrB$AxDe{{Zkd^sKWqpS>p@^wK0x&5*2d__Q$@p ztHUA5<;1sPqnpW2+plaGfo+YtgpiQ@{KsDxLZd}#E*aOvoxE^7pB~?0s|KEKAY5(R z`1$t_jVDObPYO%ghch_ovpSIbxr@>>0W=1|dod&w?YvFDOz-!l{8?+s&4? zCoY>((MMWn6wpMSL?RqaMaeXoz`zxctn|9a;`_a+1*g;P#8c?(0Q*YIK8opKZ8 z%jSJ8tN0x&Mz6seYRM&2Xo(#g40BflW3O|IS{SLY?gLpNCAIyrC^+dUlmi)Suk)ye zF&otridnwd-ET(RyF1#6at%vRvzcN~8%|s0EfA|@EzrQ74E_tb{!v2YEG$Or&A4aj zy(MixHS5M>N5#c$!6B?HKUfAwp;P8bP`%n5LN`T1Y0&7#Fm>=`5alW$;m7Ct)Tiw8 zFE{6x;QfK00hCDu`1&pR+|PhMtbZ*y#(@0FI}(ZgXQTTmVl-AF;K~4V0lqj#IuA_` z3_R~BE$pL8v(!}d9HzPynvv^;ZV?q$Au3MLl@wG4pT7EbW#N^bCVVF3-bZqAVLxWE z?}?o*ej<02xS9p>ZwTjFj;;Bd5iTXokbqw~k}@)4i~f-IH};{)Ke4`gw2L9>98WV7 z8IikfdK;ieBHo-g)HiX>^$8|L!c$cz!22##1ut~rfxNffsVV8s1dXprk>9{>aqm8`#q!5$%)Ly$ zEd;*!nA?>0)zRW8dS6mrBEZ{Ia>J2jciG#!g=Qz?#k({<6e5^Vgu=-h`> z+D;vetbZg3yL3YvZSPP4Db6vZ=qBB3nFL{*w7TYj<>9t6t z`U96dC>kg?7;zqqU(yiJ1VdnCx9+2{b$`9-Y4M>nDr(7PHq>d0yLOE|Tte2E;#g@R zRBhfRQVPk3WTG30*`2VTbWSvUoDFudLS=5^NOIaPSOV^rM3m&TE+cN3!hRzJ+cz|X zy!TV0w1Qz5)#8EzZQ9Q>6VmfXI4#gBu6I8MT!87kbuJ>V*B%{ zL~G3-*5|#a%#F>X7#rTZjdeXg1RV@z^~K-YthY}RK-t3U>l`$NW!Dd^?flwC957+< zHKoM!?UUcdDRrj)cB-A>1^&k_5VHN(&Lf!w!;Bj;!m$|t=RBx6b{GtXhC>MWQ-pPOE|4N-;!IP>|XX13h~uD`6)k0{P>mi(vzr8`Z4e=MuPk; z+hqZifFjikLI1Jzr&fSmK1^)Vet4!e|97u?*!m8;er;6+=ngu}-Mk)FQk)?OuS&yU zOkK}C0xo0YuD#`oDu)@n^O5GTlyDYx-zVhVvGkb4MF-0CyNFVpWst21e(FxqiBcc& zlVZHK9igrO^UseKl^pEd97s<0REgOZvYuNKEU}>}jUc1ZqQ=VU$0z!)Ttyi8=QB(c5O6vBr zrC2ZCU$&+U;{8Mc{!MmE5&Xb3O3%Q6*0VwK;I|v@oPLz~x1uUDW*bpu8cP8JjN}g7 zit=YZbmV)Xfld$?!-NxUMc<=I>?hE?y!|y?kAJVXcA+KSfDjSLX$;Bu<3QI)4`fLG zuHsbFLd7~SC&F#372T|kNhFwWQaOU699wYULCdHK z1c3>oj%VMQN5r2$ji=vV?44De($fQb!dW$7_7W?}4g;L?;Gn2m^Wlr*Td>R{bS`0K z*Mi^+bn3l`aUYjRC_kxLE>U+1C#S(F0ZGp!FO+S{@lxqD z6Gf~jx`Uz&G(kdXr`9f-B;PTB+2B*Oe?b4i7j?0!>Js!PvwKqr;ds_nLemmz)^91G z;_EHB00pt1-wRg#?+^;+P1qk_oRkQUzA12)^~+Q+c3Q*jy^sT4eFF@Sv#&{mK!Gj| zLC{RbfQ7oEXo7072g8>Dhhs<}Y=4$7UYkZjXBmm|gNLw71N=^AKA3MY5aS?Jzpx@I z-O}2yA4#SR+m z`_L`O0+&26u_^AtE{~Jj`Fjv{nLRQy7Cb7aM^vcw(8*7V$T2Uzm|Y4dM<8gN*5b6V zpA`AJW?MVI)<5*j=HAE)x6Yu1h9?|bCury8ajV?3f;8oUGbwGs5QYWi=x1WVQxrVg00$=Y}QHd2I)Sr#1Kh=n^Yi*xES9 zSG83kc}GM-qT}pryZ0uso9B&P{Wz~D;XY(E8)w*!XWvBkiv=S(eY~>EDToQM9u^Dj zkac7v7N0`MuI-VdGh0F~c^j0_kEq7M)|GzV7#{1_Y_W6JKHuMPsV>)W=0LlZUL_@M za1G^Y{jvLs>gpOIauc}HJRf={zIZB5vj@i7u`tZJ@bx#L_2!8F|3^0ik1k@eNy)jN zZaQs}zmqYxu=%ZQrMyf@zFA5T7*%e{4P6#Cmr&TKGU-;8!?FZDV%DH{Xc zg~Sh3H!cX_wdnghoZ?E@$dK&a3V^PHxBGdydtm^rqg)%TrmF{gaCW_c_A?;96tOqN zOaF=5PJhI$qifEIF`-N+BGF`Fo7Y9v)|=&rax^JjC!C(&Bf~CYL5=&1-?9N#Ey=Gt zfo>F22Bx=d&Qk4K#G@UXjSZUa0%>x0@euNRq4!(LEU~Bu!Rrmy-)2K5vUYGI@2}|y zxzUjbZUieI(>wHcF+S+j37+px6fcr^plU7)hQuTCVz;TE3A8N&oBk5zIJCYR|CQ-N z{4{vEXN39}iW&ljf$jCgj0U2MwnT0W!Yz%Zena%9(UtC4C08OB0BUr6Dz0Fcd0x$R zu|_}0vky6^GpsNNI<;#7o4@%e8lMzo*&#t{-FBFtK`HYNv8*3K`Czcp6j_OO&0@iQ z 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 Jm&qCj{6E$T3@rcv literal 0 HcmV?d00001 diff --git a/data-sources/netscaler/config.yml b/data-sources/netscaler/config.yml new file mode 100644 index 0000000000..d989d048fe --- /dev/null +++ b/data-sources/netscaler/config.yml @@ -0,0 +1,17 @@ +id: netscaler +displayName: NetScaler +description: | + NetScaler is a networking product and application delivery controller (ADC) that improves the delivery of applications to end users. +icon: logo.png +install: + primary: + link: + url: https://docs.netscaler.com/en-us/netscaler-application-delivery-management-software/current-release/analytics/security/new-relic-integration.html +keywords: + - netscaler + - events + - networking + - newrelic partner + - NR1_addData +categoryTerms: + - newrelic partner \ No newline at end of file diff --git a/data-sources/netscaler/logo.png b/data-sources/netscaler/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..69461df38601a718745e70b236ad9c37dd8fd8c5 GIT binary patch literal 30138 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 afyF7Rezjq?_}vcn`V4fh=;WQZx&MDvQHj$4 literal 0 HcmV?d00001 diff --git a/quickstarts/netscaler/config.yml b/quickstarts/netscaler/config.yml new file mode 100644 index 0000000000..f5c099ca72 --- /dev/null +++ b/quickstarts/netscaler/config.yml @@ -0,0 +1,40 @@ +slug: netscaler +title: NetScaler +description: | + ## What is NetScaler? + + NetScaler is a networking product and application delivery controller (ADC) that improves the delivery of applications to end users. + + ### About this integration + + With the NetScaler New Relic integration, you can gain visibility into your NetScaler analytics. + + ### Using the NetScaler dashboard + + This dashboard is created assuming the 'Bot' event. For other events (WAF etc.) you can change the event name in the query, or explore the events directly in [New Relic's events explorer](https://docs.newrelic.com/docs/query-your-data/explore-query-data/browse-data/introduction-data-explorer/) + +summary: | + Monitor NetScaler Console in New Relic +level: New Relic +icon: logo.png + +authors: + - New Relic + - Joseph Counts +documentation: + - name: NetScaler documentation + description: | + You can now integrate NetScaler Console with New Relic to view analytics for WAF and Bot violations in New Relic. + url: https://docs.netscaler.com/en-us/netscaler-application-delivery-management-software/current-release/analytics/security/new-relic-integration.html +dataSourceIds: + - netscaler +keywords: + - citrix + - web + - netscaler + - NR1_addData + - NR1_sys + - newrelic partner + +dashboards: + - netscaler \ No newline at end of file diff --git a/quickstarts/netscaler/logo.png b/quickstarts/netscaler/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..69461df38601a718745e70b236ad9c37dd8fd8c5 GIT binary patch literal 30138 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 afyF7Rezjq?_}vcn`V4fh=;WQZx&MDvQHj$4 literal 0 HcmV?d00001 From 786b2c93ed19d7dd4ab38dee9736ef6f530a8654 Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Thu, 19 Sep 2024 18:28:28 +0000 Subject: [PATCH 15/17] chore: generate UUID(s) [skip ci] --- quickstarts/netscaler/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/quickstarts/netscaler/config.yml b/quickstarts/netscaler/config.yml index f5c099ca72..7b151de3d7 100644 --- a/quickstarts/netscaler/config.yml +++ b/quickstarts/netscaler/config.yml @@ -1,3 +1,4 @@ +id: c0fb3275-8ffe-4a37-9ee2-35eb1d95fd50 slug: netscaler title: NetScaler description: | From 8e46fa527863ae626c3800878110a9e3ee17e9ec Mon Sep 17 00:00:00 2001 From: nr-opensource-bot Date: Thu, 19 Sep 2024 18:28:59 +0000 Subject: [PATCH 16/17] chore: generate UUID(s) [skip ci] --- quickstarts/drdroid/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/quickstarts/drdroid/config.yml b/quickstarts/drdroid/config.yml index 72e296cfaa..bc89bdceab 100644 --- a/quickstarts/drdroid/config.yml +++ b/quickstarts/drdroid/config.yml @@ -1,3 +1,4 @@ +id: 80a964ae-8fa2-4743-b1e1-e7f2a259501b slug: drdroid description: | ## DoctorDroid PlayBooks Overview From 53d133a15179387d4c1849c74aa7f8e52a3705b5 Mon Sep 17 00:00:00 2001 From: Alec Swanson Date: Thu, 19 Sep 2024 11:34:26 -0700 Subject: [PATCH 17/17] fix: Use valid description length --- data-sources/windows-certs/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/data-sources/windows-certs/config.yml b/data-sources/windows-certs/config.yml index 2dc80367ba..eabdf89357 100644 --- a/data-sources/windows-certs/config.yml +++ b/data-sources/windows-certs/config.yml @@ -2,8 +2,6 @@ id: windows-certs displayName: Flex Windows Cert Expiration Monitoring Install Plan description: | Using the infrastructure agent and a flex integration you can pull certification expiration using powershell and send the information to new relic to be used in dashboards or alerts. - - Follow the regular flex installation process to add this flex integration to your agents, study the data to confirm if it matches your needs. icon: logo.png # Searchable words or phrases keywords: