From 41c48a4c596915806d6844748773ef55f193b9c4 Mon Sep 17 00:00:00 2001 From: Github Actions <133988544+victoriametrics-bot@users.noreply.github.com> Date: Sat, 27 Jan 2024 04:22:17 +0800 Subject: [PATCH] Automatic update Grafana datasource docs from VictoriaMetrics/grafana-datasource@ef5cfe6 (#5700) --- docs/grafana-datasource.md | 155 ++++++++++++++++---------------- docs/provision_datasources.webp | Bin 0 -> 41012 bytes 2 files changed, 77 insertions(+), 78 deletions(-) create mode 100644 docs/provision_datasources.webp diff --git a/docs/grafana-datasource.md b/docs/grafana-datasource.md index 773377fee..dafe4442f 100644 --- a/docs/grafana-datasource.md +++ b/docs/grafana-datasource.md @@ -11,6 +11,7 @@ aliases: --- # VictoriaMetrics datasource for Grafana + The [VictoriaMetrics](http://docs.victoriametrics.com/) datasource plugin allows you to query and visualize data from VictoriaMetrics in Grafana. @@ -25,8 +26,8 @@ data from VictoriaMetrics in Grafana. Thanks to VictoriaMetrics compatibility with Prometheus API users can use [Prometheus datasource](https://docs.victoriametrics.com/#grafana-setup) for Grafana to query data from VictoriaMetrics. -But with time, Prometheus and VictoriaMetrics diverge more and more. After some unexpected changes to Prometheus datasource -we decided to create a datasource plugin specifically for VictoriaMetrics. +But with time, Prometheus and VictoriaMetrics diverge more and more. After some unexpected changes to Prometheus +datasource we decided to create a datasource plugin specifically for VictoriaMetrics. The benefits of using VictoriaMetrics plugin are the following: * [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html) functions support; @@ -37,8 +38,8 @@ The benefits of using VictoriaMetrics plugin are the following: ## Installation -Installing VictoriaMetrics Grafana datasource [requires](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#allow_loading_unsigned_plugins) -the following changes to Grafana's `grafana.ini` config: +Installing VictoriaMetrics Grafana datasource [requires](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#allow_loading_unsigned_plugins) the following changes to Grafana's `grafana.ini` config: + ``` ini [plugins] allow_loading_unsigned_plugins = victoriametrics-datasource @@ -54,23 +55,17 @@ For `grafana-operator` users, please adjust `config:` section in your `kind=Graf See [why VictoriaMetrics datasource is unsigned](#why-victoriaMetrics-datasource-is-unsigned). -For detailed instructions on how to install the plugin on Grafana Cloud or -locally, please checkout the [Plugin installation docs](https://grafana.com/docs/grafana/latest/plugins/installation/). +For detailed instructions on how to install the plugin on Grafana Cloud or locally, please checkout the [Plugin installation docs](https://grafana.com/docs/grafana/latest/plugins/installation/). ### Install via Docker -[VictoriaMetrics repo](https://github.com/victoriaMetrics/victoriaMetrics) provides a complete -[docker-compose](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/deployment/docker#docker-compose-environment-for-victoriametrics) -environment to spin-up all required components via Docker. +[VictoriaMetrics repo](https://github.com/victoriaMetrics/victoriaMetrics) provides a complete [docker-compose](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/deployment/docker#docker-compose-environment-for-victoriametrics) environment to spin-up all required components via Docker. -To begin, clone [VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) repository and follow -steps described in the [README](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/deployment/docker#docker-compose-environment-for-victoriametrics). - +To begin, clone [VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) repository and follow steps described in the [README](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/deployment/docker#docker-compose-environment-for-victoriametrics). ### Grafana Provisioning -Provision of Grafana plugin requires to create -[datasource config file](http://docs.grafana.org/administration/provisioning/#datasources). +Provision of Grafana plugin requires to create [datasource config file](http://docs.grafana.org/administration/provisioning/#datasources). Example of config file for provisioning VictoriaMetrics datasource is the following: @@ -80,37 +75,37 @@ apiVersion: 1 # List of data sources to insert/update depending on what's # available in the database. datasources: - # Name of the VictoriaMetrics datasource - # displayed in Grafana panels and queries. - - name: VictoriaMetrics - # Sets the data source type. - type: victoriametrics-datasource + # Name of the VictoriaMetrics datasource + # displayed in Grafana panels and queries. + - name: VictoriaMetrics + # Sets the data source type. + type: victoriametrics-datasource # Sets the access mode, either # proxy or direct (Server or Browser in the UI). # Some data sources are incompatible with any setting - # but proxy (Server). - access: proxy - # Sets default URL of the single node version of VictoriaMetrics - url: http://victoriametrics:8428 - # Sets the pre-selected datasource for new panels. - # You can set only one default data source per organization. - isDefault: true + # but proxy (Server). + access: proxy + # Sets default URL of the single node version of VictoriaMetrics + url: http://victoriametrics:8428 + # Sets the pre-selected datasource for new panels. + # You can set only one default data source per organization. + isDefault: true - # Name of the VictoriaMetrics datasource - # displayed in Grafana panels and queries. - - name: VictoriaMetrics - cluster - # Sets the data source type. - type: victoriametrics-datasource - # Sets the access mode, either - # proxy or direct (Server or Browser in the UI). - # Some data sources are incompatible with any setting - # but proxy (Server). - access: proxy - # Sets default URL of the cluster version of VictoriaMetrics - url: http://vmselect:8481/select/0/prometheus - # Sets the pre-selected datasource for new panels. - # You can set only one default data source per organization. - isDefault: false + # Name of the VictoriaMetrics datasource + # displayed in Grafana panels and queries. + - name: VictoriaMetrics - cluster + # Sets the data source type. + type: victoriametrics-datasource + # Sets the access mode, either + # proxy or direct (Server or Browser in the UI). + # Some data sources are incompatible with any setting + # but proxy (Server). + access: proxy + # Sets default URL of the cluster version of VictoriaMetrics + url: http://vmselect:8481/select/0/prometheus + # Sets the pre-selected datasource for new panels. + # You can set only one default data source per organization. + isDefault: false ``` Please find the example of provisioning Grafana instance with VictoriaMetrics datasource below: @@ -118,7 +113,7 @@ Please find the example of provisioning Grafana instance with VictoriaMetrics da 1. Create folder `./provisioning/datasource` with datasource example file: 1. Download the latest release: - + ``` bash ver=$(curl -s https://api.github.com/repos/VictoriaMetrics/grafana-datasource/releases/latest | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' | head -1) curl -L https://github.com/VictoriaMetrics/grafana-datasource/releases/download/$ver/victoriametrics-datasource-$ver.tar.gz -o plugin.tar.gz @@ -127,7 +122,7 @@ Please find the example of provisioning Grafana instance with VictoriaMetrics da ``` 1. Define Grafana installation via docker-compose: - + ```yaml version: '3.0' services: @@ -152,9 +147,7 @@ docker-compose -f docker-compose.yaml up When Grafana starts successfully datasources should be present on the datasources tab -

- Configuration -

+Configuration ### Install in Kubernetes @@ -187,17 +180,17 @@ extraInitContainers: mountPath: /var/lib/grafana ``` -For `grafana-operator` users, the above configuration should be done for the part -`/spec/deployment/spec/template/spec/initContainers` of your `kind=Grafana` resource. +For `grafana-operator` users, the above configuration should be done for the part `/spec/deployment/spec/template/spec/initContainers` of your `kind=Grafana` resource. + +This example uses init container to download and install plugin. To allow Grafana using this container as a sidecar set the following config: -This example uses init container to download and install plugin. To allow Grafana using this container as a sidecar -set the following config: ```yaml sidecar: datasources: initDatasources: true enabled: true ``` + See more about chart settings [here](https://github.com/grafana/helm-charts/blob/541d97051de87a309362e02d08741ffc868cfcd6/charts/grafana/values.yaml) Another option would be to build custom Grafana image with plugin based on same installation instructions. @@ -249,15 +242,13 @@ spec: allow_loading_unsigned_plugins: victoriametrics-datasource ``` -See [Grafana operator reference](https://grafana-operator.github.io/grafana-operator/docs/grafana/) to find more about -Grafana operator. +See [Grafana operator reference](https://grafana-operator.github.io/grafana-operator/docs/grafana/) to find more about Grafana operator. This example uses init container to download and install plugin. ### Dev release installation - 1. To download plugin build and move contents into Grafana plugins directory: - + ``` bash ver=$(curl -s https://api.github.com/repos/VictoriaMetrics/grafana-datasource/releases/latest | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' | head -1) curl -L https://github.com/VictoriaMetrics/grafana-datasource/releases/download/$ver/victoriametrics-datasource-$ver.tar.gz -o /var/lib/grafana/plugins/plugin.tar.gz @@ -267,21 +258,26 @@ This example uses init container to download and install plugin. 1. Restart Grafana - ## Getting started development ### 1. Configure Grafana + Installing dev version of Grafana plugin requires to change `grafana.ini` config to allow loading unsigned plugins: + ``` ini # Directory where Grafana will automatically scan and look for plugins plugins = {{path to directory with plugin}} ``` + ``` ini [plugins] allow_loading_unsigned_plugins = victoriametrics-datasource ``` + ### 2. Run the plugin + In the project directory, you can run: + ``` # install dependencies yarn install @@ -296,10 +292,13 @@ yarn build:zip ### 3. How to build backend plugin From the root folder of the project run the following command: + ``` make victoriametrics-backend-plugin-build ``` + This command will build executable multi-platform files to the `dist` folder for the following platforms: + * linux/amd64 * linux/arm64 * linux/arm @@ -309,25 +308,28 @@ This command will build executable multi-platform files to the `dist` folder for * windows ### 4.How to build frontend plugin + From the root folder of the project run the following command: + ``` make victorimetrics-frontend-plugin-build ``` + This command will build all frontend app into `dist` folder. ### 5. How to build frontend and backend parts of the plugin: -When frontend and backend parts of the plugin is required, run the following command from -the root folder of the project: + +When frontend and backend parts of the plugin is required, run the following command from the root folder of the project: + ``` make victoriametrics-datasource-plugin-build ``` -This command will build frontend part and backend part or the plugin and locate both -parts into `dist` folder. + +This command will build frontend part and backend part or the plugin and locate both parts into `dist` folder. ## How to use WITH templates -The `WITH` templates feature simplifies the construction and management of complex queries. -You can try this feature in the [WITH templates playground](https://play.victoriametrics.com/select/accounting/1/6a716b0f-38bc-4856-90ce-448fd713e3fe/expand-with-exprs). +The `WITH` templates feature simplifies the construction and management of complex queries. You can try this feature in the [WITH templates playground](https://play.victoriametrics.com/select/accounting/1/6a716b0f-38bc-4856-90ce-448fd713e3fe/expand-with-exprs). The "WITH templates" section allows you to create expressions with templates that can be used in dashboards. @@ -349,17 +351,19 @@ WITH expressions are stored in the datasource object. If the dashboard gets expo cpuIdle = sum(rate(node_cpu_seconds_total{mode='idle',commonFilters}[5m])) ``` - You can specify a comment before the variable and use markdown in it. The comment will be displayed as a hint during auto-completion. The comment can span multiple lines. + You can specify a comment before the variable and use markdown in it. The comment will be displayed as a hint during + auto-completion. The comment can span multiple lines. ### Using WITH Expressions After saving the template, you can enter it into the query editor field: + ``` ((cpuCount - cpuIdle) * 100) / cpuCount ``` Thus, the entire query will look as follows: - + ``` WITH ( commonFilters = {instance=~"$node:$port",job=~"$job"}, @@ -368,45 +372,40 @@ WITH ( ) ((cpuCount - cpuIdle) * 100) / cpuCount ``` + To view the raw query in the interface, enable the `Raw` toggle. ## How to make new release 1. Make sure there are no open security issues. 1. Create a release tag: - * `git tag -s v1.xx.y` in `master` branch + * `git tag -s v1.xx.y` in `master` branch 1. Run `TAG=v1.xx.y make build-release` to build and package binaries in `*.tar.gz` release archives. 1. Run `git push origin v1.xx.y` to push the tag created `v1.xx.y` at step 2 to public GitHub repository -1. Go to and verify that draft release with the name `TAG` has been created - and this release contains all the needed binaries and checksums. +1. Go to and verify that draft release with the name `TAG` has been created and this release contains all the needed binaries and checksums. 1. Remove the `draft` checkbox for the `TAG` release and manually publish it. - ## FAQ ### Why VictoriaMetrics datasource is unsigned? -Based on our previous experience of [developing Grafana plugins](https://grafana.com/grafana/plugins/vertamedia-clickhouse-datasource/) -the signing procedure was a formal act. But when we tried [to sign the plugin](https://grafana.com/docs/grafana/latest/developers/plugins/publish-a-plugin/sign-a-plugin/) -we were told by GrafanaLabs representative the plugin falls into a Commercial signature level. It matters not -if plugin or VictoriaMetrics itself are opensource. The announced cost of Commercial signature level was much higher -than expected, so we interrupted the procedure. +Based on our previous experience of [developing Grafana plugins](https://grafana.com/grafana/plugins/vertamedia-clickhouse-datasource/) the signing procedure was a formal act. But when we tried [to sign the plugin](https://grafana.com/docs/grafana/latest/developers/plugins/publish-a-plugin/sign-a-plugin/) +we were told by GrafanaLabs representative the plugin falls into a Commercial signature level. +It matters not if plugin or VictoriaMetrics itself are opensource. The announced cost of Commercial signature level was much higher than expected, so we interrupted the procedure. ### How to convert dashboard from Prometheus to VictoriaMetrics datasource? Make sure that VictoriaMetrics datasource plugin is [installed](#installation), and a new datasource is created from the plugin. -Each panel in Grafana dashboard has a datasource dropdown when in Edit mode. Just choose the VictoriaMetrics datasource -instead of Prometheus datasource in dropdown. +Each panel in Grafana dashboard has a datasource dropdown when in Edit mode. Just choose the VictoriaMetrics datasource instead of Prometheus datasource in dropdown. If datasource is configured via Grafana variable, then change variable to VictoriaMetrics datasource type. ### Why VictoriaMetrics datasource doesn't support alerting? -Grafana doesn't allow forwarding Alert requests to alerting API /api/v1/rules for plugins which are not of Prometheus -or Loki type. See more details [here](https://github.com/VictoriaMetrics/grafana-datasource/issues/59#issuecomment-1541456768). - +Grafana doesn't allow forwarding Alert requests to alerting API /api/v1/rules for plugins which are not of Prometheus or Loki type. See more details [here](https://github.com/VictoriaMetrics/grafana-datasource/issues/59#issuecomment-1541456768). ## License -This project is licensed under the [AGPL-3.0-only](https://github.com/VictoriaMetrics/grafana-datasource/blob/main/LICENSE). +This project is licensed under +the [AGPL-3.0-only](https://github.com/VictoriaMetrics/grafana-datasource/blob/main/LICENSE). diff --git a/docs/provision_datasources.webp b/docs/provision_datasources.webp new file mode 100644 index 0000000000000000000000000000000000000000..96ea712edf4204893b8a370a18db395315884ba7 GIT binary patch literal 41012 zcmdqJWmsHUwg6g%ySuwva0%`XA-KD{6D+v9yG!uku0aC96Wl#WASAfFB1!j5&z*Z; zPfx!;kMBEG>#Vb7?X{QhQ@oItkYLCI0Mx}rl+={CHQ)dM00ZbEMg-VH0Hj4lm3ojt zw*cfGLk9;NFcbj5*3QN0g`^0HhNcz?^d0~l01H3>fB{$xjh!8Ym6YV3TL1R_1pnjj z;u8S)bT`BJG}b@xe+oi1F?BWu0DwxM)E`U%(mX!G)gD5%W<004tvXy{}P03c0*@FZ@==Abc zor$F#X#FH0SisiS-UI|2fM6O>8wU{lG(NY{KaFGlPq3k((eGm#8k+wO|6B{GCum|Z zOJ@fgL(d;Kf9Hp-jVp*>KmMpdp9mICQZGQ?7$CmQTieS%!3ZGu$j(SX5d@=w;44ee z>VCpta2BposvsED9*n@)Sro)e02T;lF)s6*Sd)pVm^cUqtsQ*d)K2wjy-(v@Ik<>C%?0WU0q0=zLpMNp2r^R} z$tOG+2xfP7Q~A{wLe0hL`BYO+ozqCtg5MfyU&35P{$a zjSda2)ee>g77P{}RtT2n zUwb0aA#wb+-XFaFXHNd4)#!JA|3<<8oc|wBECD7UI%R*~jb9Xihk@6F4}tfBkAQc8 zHv>q(yTMz)$G|(E;9v7g{McRd-)DRAgC1+pzF7X==C}3!w&PFo;mlIOa=>!;a}*a- z4;PR;14Qi|Je@4fEnG;1K_0=BMB2`niGhTbg_R8ec=9h#Z2*9CPT;Li2 zz~BA&_}KmroJ=J?NJR5nx%R1ee?)E3ltXlQ6$XnJUVXhmp4Xcy=Z=yd2x=x*p~ z=pE=Q7hlhtJgXe))hPQ5NYL-s;WL9R!hKt4i&MWI3wMKMJ2Mae{IMVUkSj*5=@3{?@;7Bvd>4eAK$ zJ{mL{6`DAj30e?ZAzDA$7CJaOIl3siF?t|+5&Apy9SkT8Y7A)%D~w2tDvWWAQ%p2W zc1$%)56n!=PRw;Ia4ae;X)GJ8Sgf~LpRjJQ39*H-O|iqVtFfoCFLCg3gm6r8B5-PO zKH}WqlHiKtTI0s!Hsh|~LEzEhDdV~0<>0-;JHp4n=fgL~kHCM6zeoT^Ku7R`;1xk3 z!5G1JLLx#*LI=Wh!hXUdA}k^yA}gXKqAsEXVsv5wVoTyA;%?&4B$y<^BsL^zBm*R; zqy(f=q^_j-q~oNwWYlD;WC3I~WGm!w9~UG>$X{G_$l&wA{4TwAr+ibYOHGbQW}( zbQAPo^qlmT^x5=N43G>w40a3!40DVKjKYj=j1`O7pD_vHRk~r1(yL=7S|j%2DcJ-6!$O>B##J>A5RC*H7_Tx3-4RrFMN!A)_iaH z_McNfH+^38e2brq-;h6_e_en?z(62RU|o<@&`_{Ia8rm}$V8|_Xiu0{*h;uk_(X(7 z#7U%4O3|vf7EJAEt98FwRJVSg{f=t3(qC(ZwSPK`y4Q;iQzgiMl54ovw?6HNEa_{|c`_Raat6U`4S1T9i5 zjx0qjGc3=nq^xqSF0B=ryS@VLLAl|c^#7- zPn~3)N}Pety3Q>w7@$CY%$3G9*mc8Az%A45%3aO9-UHRc&ST7z&NJL|&r8Cq_!Yz} z<5zv&q~5Q+H++PB@_m86M!tQ1OMo61EcM6PuDqk|L76CF>`Tq_C&troyGVrmm;SrM09}q{pS- zWmsf<%oNG2$s))K&$`Su$)3&;%BjvJ%#F;w$+OIx&zH<^DxfMzDTFF?E8HzoD;g^1 zE-o*@D~T+*FSRROFMCloP|j6e{)XU9Yz0__YsEpOPUU2kSXE0kV|9KFR!w9rpw_ka zbDcrmr?;|i`|7#ts~adAvKrAFBbtCso=vCC7R~D|nk`eUGOc}Wd~J>GOzou|q#c=^ zn4Pg*a9u%NkKJC~-+LT-j(W{|xBB$^mijgNX9tuA#^1@l8y=Jx>>m;y>K^7F?ik@6 zX?@TAzIl{$v}ufEtnmZKhsJTv@umr`iIz#8$+oHIQ(e=7)4eldGlR3zv!fpsK2Cj7 z{WL$PGq*l(GQYoIvv9WPws^bbzYMt?v4XOavP!U8utvL9v(CBRxgoYOwyCnYv}L?? zxb3`sw-dCBxSO&^yjQ-@y5DgiaWMH=`}5AB!{O~w$T8}1)(Oo?!xy11W2YLYJ7-R3 zk6)wCanDP?v489PuJnEN!uI0!GU5vNs_dHkdgw;|X7ASh4*D+bp7y@&LH1$!(f0At z!O+R@M=Ssi`UEpG0|3630sx4b008f?(jU>k0iY@Xs9a=>aH) z091qGcjY5cbTbD4)D{5%RG{&ZbpQY*L;&C=4*-mf?f2_P7f??9Bd>hAfdb_adD8br zwno1m{o(6p&Iv;OM)$vdgI2@F#{Sgj58t57p5${h0N_9hnGK{PL3Dr+h?mHfD=sW3 zBY8V-2|$Cjw7X+OzQ2`$3_V}Iq(@rjssmYa$JKNq@1% zt^2IIiRiG~rqf^Wji1%y}uW}(eGx7M?s=w;@_;~$*Cuk@57%&;=`-WslJM7t~UXKm; z4_XFLYH7ga5`d|tKkomJZXgRhJ$dDfuoXUgfElB-xvTV`;{?yN$fwc6(XmL={oQVf{lBtj|5yu51<-dYCwrOODXyXRp7zNe#s{G{3ZVAh z3=z%MdkCU|3u5RB-^Li47H-F&4)Ec_D|(j>1;EG=-d5-VvXycU!C2x;PD^1n1$ju8 zJ#`%PH!Rdq)SM@ptJC*tuX5nw48Kk}n47g~)CbdhnQ3a7;*ygXI(gYmV^q-KMcv~? zMof-DPNT?wOl=vT6RvrYS0g=+2Uy6aLHp(rB#Q6s^G8nqHM@?g>PyIx1eK-46c(aF?w1IP{vMHgV#Ha&KMnkMI=rV;qLwHB z=XU(B&HuVPN7XzXIzu&FYLb9FuVE=#+gxAhV*lxPz|M$2^*mEW%^@=7M}f*Jb>(|J zLWn4Qi-L#@kR5yveO%?vg)wjn(V-+>D#4(UK8lYQ@D&}0H=w3&Vu<`wa&jB9f2Qig zclI4#=t<{ID9CwS>Ai6IU=*E=FjzZhzP_+IH({bKQR9Pt z(BlY@=1E>Z_46oqE1osKd13B>A5AO*Br?M|OM7R|Fq$~Ee4Idkhbo5D{US+#*LVY# zc!7loMP}euA&RUzU%-_lj zxMwm0GF@gfDHXBw6oZ^xzdx@#gqGSNB;054b6f)NdcX;nJ)R6qOq{_!skkVhTu~qy zpXzf&PYx1(^ZvATnNqp#qE+pzlZ|zDr&oeIwu-Ev@PR*cLRP`mn?S>JQXLvbS%pMm z*XzhNEHAW1lo_ePaBkcu6^z5aiGKy2>NNPKvhXnhKTT8vQ@VY?4WYEo&U&$eub{46zU@Hvwf8$5*>b?xO@5(t^pcVd zWt{34{PA_c>^lYhUfSLH?v#CTlJi$^Yu#dS??)qx0)$>eN*i7YoxF#mYGt>AWP-CP zR_Exrd7H(_$$upA?Tboi9Cw#b%4C;)vXyq?pNwC+}^;J8< z3y}cX%vOudE@kM?8N11SMYbVgUJQyXeh(}{$^g9LnOD@-0ij^`Q%tk?tAXeCCehos zp{P}Wc-9tcww5=L7^P*(qf4IJ_zN-;=PH<3M-iluX;ZP5UkbdHKU zqp+qU!O)VhW}!w@JCyFet|HzV<>1V|l{Uz-NEbM2&gYXp7O6>*kGKmk#7daZTWG7* zhigGw z{cGCEY2K|xoznS>ATh%y!@T+T%y+o!JIT#k<(U3_lYy;t5=lzluIr z)PrK9&61?KHAP@)+;=&7lT(f4Ot95-Hc>@-hi5e75uzVrP@Wccd5jW$(Cb|JRRaT} z+i^%4KaL5!Ua#V`;Ij-anWKaMs|DrwaF5MOUMK{f@&hFYF!KpBwXaHA;cl|9f6mkX z&!7TwD!jDCeev=k%7P{L2!$+OzBqM9A@^2Hdcf&!`i+;a5ipAUcW}D zdGOQ3{;ow1ffW}lAPo> z_UzY3n!dDOtp6r?{8E)Mpkawou?qR1wVC!k{KMIyb%Z%5HO9D&0&UikDyf_dk#^Sc7u&6c7*XvC{O0jrD%^Moegj zUC%K(SWzhF=yVWfSM0 zI6i+$ScCfZ(8nO(>=8NHMEJbb*ncpJ(Y$5ElpO$*c?(!*ZW#YP+4##jK`UeI*#r8| zDC3Y4AEe#wj3R^HO#wOfGOE;&SatJ)J)hH{eyKF_ z5NWVb9a>o`EBN9)L*nRPx41tutKg`Q_D^+4B7-O=*yYfAWBtXb+0h?`N@1(Fi7fpG zRoSn3KY>x@)%mDS#Sxn;_U-F_RghnT6*b8*>KuU+7ES%dE&}5(H6!f0LkZ?-6E_z) ze~GeDc=E%i(iAaIk`@lr2mF-*1nTJ^P@-I!R8E8OfMs>aA#1Gp%?N6hwp{Xlz7_4e zh=WD~`=}hLjpq;?P1fu(te?iV9$qGd<;F3ql5cuZnb|>Ok}wI+hFZlCCs+>ggrR>= z)n|1C&Y5~rZx`d9*!{vdIY?|T3Q{<&;p7$`zcilSIPPe!G>#Kzs-;1=OJanN&M_(K zX2e8QHG29vtdUKtW+&CrJLntk6wyQ9pIc>RHYCe!vsMMl9{7$7|h z6#+L&;7e$SG?ANg$4Y{%;{$8wtjAv~_td@>coHaAIQy^)#jQ)E zW~n5}G2^1kw4t!7)AT^s>!kC(%#QXGZd^*J8inIlmKyIEFi4>Xb#~sp9=X6) zJ#&|CJCCL`n2#Nya2q}nKzWE-80xn#z@98v)p_q2Z#Tv&PqfDR$NKRb?MoFGW^6_0c(ExOx8L{bM1wG@iwjh=?;I2=>J_Z zKiSItr35RJAX9Tzbile$wd@6+Y_p&UH#`c?%M)1|iD5-;B?4LEY~(2CnKs^#bPfB5 zddQzOQM$IjIrgWL$}ZSPms1;$Ka~&snX`cQqU29M&I&&AKG|${yfOIXq8~A%>B0w5 zMvO(7m9Bzm^B!lvzWuCBM7PdDoSm1fANC82mz*d*F+G0@;`eli$&>EqgA3}h?aM}| zpn3bx#^p5-<29Q%oW+O9v;0X-3+jDi$J^s1X>aS`#m$)3lv4|kTtm0AGHUV3>h1fs z4^`|4pRD^6SLfxP!gh_5<3wrgrsI2Z)hB~kShkSGJpPY~U4;%c)>OGm?GR9AF3VP!5$n;^rd7}K|v(<-ZFwhMD z;aSZ8KG*+{#zlX22~lp*OzaS;nr^?(p$e&hItToOL0zuPH=pB6;i39I%e-?m%aCHR z%&vE6r%57HG%Dpv)9&>iEtWJ*|H$}$9f+!n5T1W~>Ix0oMllR9v3 z4)+%${%^hd-_Ng*G$D&>ekd!pHpo^JyoISg4qsg+R|i7t9q#qrmArUQxf!winSDVU zcQ}=+vL~^GN)scVR^30q^qcEo9Fq!-5MfJz+8LL{?R(KQ7yz=rC(JG@q{}4vdpxOO zxKE!-YteUkkrE}r)(JMnhy4p*zJBYGkzL;dnZ|heUwXV#$`YENyDgdmI*D^bCl)jY z$E`Huh%?AqB2N=KSK@%55^4oxWE2#rrfq)+V5%>OMu&L7{4dY(hI20=e;)d6P`dh4 zvAVR;K|UXv@)B)S(1Mrtq`cSb+u@giSllK6=ZG4-U%z5C6z|mNOpzb2dOsl9b zYx&;3Zh^px;B+Vd{a~mFrmuJ_{5t%AFncJy*N#l@r(xu~D0owJpHy?qYKcGr*zW4C zj-Upeh>>2lTEcNW&7(+TS@pzcEhDO>d^oV$g}1NyNTGG$T=2|%0-{A>H5YGAQ_N=> z5QS@PPB5AvAjA+^wi8~#;}Uv&+k#2WXoh5(AqxX9>D;lfYWi3NtC2Oibb!OymNi^Z z+W&>#^yWn)4h#%ze;SnGN>8oj?+*Ry(41p!H#|%LKd!eF5QFq zkdaMxY8qR3w-0Ghn+3xoJ?8I8TogmO;Tu6%L)R0e$N(dnBDK3*&D?8xbxB9*a*}=H zUI#ODE3_DnZ$0o)`n}}n;#gO(OdS!4)S8oA<$kZ4f4bU4W5gJ$`@0oDc5oh{<>S%$ z8yBu{8Oi}ew-zMfNQn77zQ5!Hsb#Bv>GF@LQz2CwlU&*=Rp-GCILa>IDC-H+8G+!`U-9g!nc6B2-$#&QK`hlvBQY5ef&Mr)rJJ9 zc0VH2?5C5x-9vXGRZ)UNq-=>uej%(b#2K0?$4vyMJh~c5m(T2)p8-u-VUj#xQLN^D zF()8D7fUGNq9Ct@t#>t;gVI{Cjq)z5N7eE@O?CK4g~;I=&P*RRyG{U3eHvU9k2vNO z4~K>Bt1Ubak=@8RQ7mVmYAH=Y1J9h$PiF%2RNs+l`&)}x9@4r`MI%s>_~cc%T>ebV z^S|5Xe=V>5(UJduQhyUUSnD%)eGc&>KK*araQLHFy>0^y`djs~{BM3U!0Fe!7_2|j zbT;zi;zTD~bC}Z+;v{ zj{c1=^?)Y%U2lE{y}u%>Kbw*KG06QNl>M$ZcT^zzE&3z1{%w!{OiJ>9mgN4$Dg4Rf zpg+0szw6D9y5Mid;6L_U|Ncd*-}Oe<1|;IY83T}e`C)PX%SnFMo1>?o<~L*TH<|U{ z^~Ue1#{9G3_&1rYC-3@8Z+;xv{ca5YYeD&`j6d|o0RVV_6tti_b4a;B3KP1SW@MZx zdwPEo03aR2_w4uo0iu)DKR3I=Cn7F=<5`r9MDha()=#!~wFD`!_qo)-d2~fay|n8J zq1`yQ6W$K-+PJs*6c~{q|8+LQ6`olx-Fe;kl3$Bh)#SuD_9p+>Y^JaHyDFjeQvSR< zRC0n?8Kt&`!V*0j>4zgqSFyWn{Yh-%RW~y8A*`{-H~0Yvf)NrX*-;}iQLDIsMFmwE zRIh_IekgfpqgRVDp{fyxfW$e|z^t+=B=MJyu1kBem^wC|$C1yy`N;AhqP4V&UZ;k7 zwKKMX>sNo}c;O`UgMMVANXGtc4RHp zKehJb><4DQ3t~|`IjiWmOGi3nE3K^YD+u2pHaYk>SmVxeVboMcZ%~gzt5QsrW@a41 z9}D#>40so;$-S$(wi9#XtO~VDsFL;k^k%)&7F|)lklnN5BT$v4A=h*~+%lvs%lWjF zD*_zbF4#@UEwyMS-$Hn9cBRP%H1bJX_&Pm&BoyAj#f>VFf0c*`I;|S{Wbr)fXrSCw z!A)E;b-Bn6jw0ZIFBLu^y*>5fy9{1c@k~|FaRco#_Y9mbK9vHa>=%j>j{GT2TBMKn zOwhH(i9R)?-R7gxr9FnQ34)xunk<&%IuaT9sq9RJ=@6(>k?N9NE2*S2E41JAxk~Nc zcBrD3(1iA&4_v5XDPVM=VHW$GUe|RnKzm;F zaOFiwV}k*j?p)`Xuwyi<)wXrdB4Wr>7?}Mn;0owHhYH;D#fuHFL@) z=2r@8=0so4Ho8D~ib}08{Q&I3$y~7cdJ`D#LtR?PxND7yZLnwzgh>MZ3!oDbx5al! zNlcH`V5U038vpsmxWz}_G~{on$QH35Dlu~GAzj?4YQoiFWr@auu*L2KV@L*B&dv;3 z+u|9bkE97N*D06^Bef?xJe^{5m=P3bnZ@yugjWK47wzR1&+H%T8$Yx-&>P|iC*>U< z4_N9!H!vEOx4q6;Yxm_Xhc_hi>Rk*G>0tD*Sw4aW z!OF<868Dk)SfA5R$G+E6I6F~m2a0dYaZZGw7&wrG<CLnLHo4(AogyKF!dt;!mGT>&5tS7I%8nO?s8f zNC4$oWw z5njP?PHu4g+3!LG-xpeULVS9?(8htdb~)C^TPL*OPGUIS`%0_nd$Ysq?G;KlBLric zA(xP^OOX{Vam;so-Tib@0iDNCMV~Lbq3{lt=SFL#&d;6j>k^#o{CfKM(eE=?@R(wa zR%~QvKTshRI+n&-#p95;d6Qarr{xV4zERmk;2*ww_pTuPMGg@9=A#2j86lz=H!U|c zY3=%LGwf^3_e$?G;`D8$P8K?_TZ20B>%EOc$)?gcsJSai*i&r@lP99s?)L_X3D-^) z8-aYPYVpT0aL&Z^!c+ z7TGu4ar8RoIT0jPNeIh{zHqF@te<-Tw*4?>R9ym1mv2eshtadH;aRRTh_P%ktcm}T3Uz%SnWElSXi|iv|mkw@-G1+_etFQO6@knYydzc91 z)%y#PV~O!_caLvbYj_rBI^gP;wk1bpp7XkNrj6^Mrco!wT#9$SW_i4Mc*LTGMv%vJ zT^*tiL6Vk3W$Qm;paPSim*@tce9be-VH}Fu+Teb^G{Uq?TN+nn-R`umC7BA&_NG&~ zPiih$em?3ezf*nr65}4Hp5jC!OD$W%=fq=ALL+EC#f?@K@=LPfBKa?Jj-^-{UNe^n z0O~;K%x0+cFVqX*Ng*}tsSO$zm&kbUsB>+L;>2C>jw`OXeVMw}N>u?UhN3==waz_{ z5rFrN5&Rjs=yUvN2vf=-3FHr{G`gGX<9>H(sMMQtqlz|LRmjHB0*$bupSkmzH+b>M zvM|N z95;9Faug^HrPVmDSfi$+n|CXB3uXs>4#rtps9d`g9<{K32CqKe=j@ML-x%d_-oj}-cxOg72bE- zDP^mq>KIc*2E<}*7SIAw2jhOIUp$#hI18imop$s?YAxPlh0E;u5AgI?7(f^gNPOtO z*^O)Gi6d%)`jUTaG(Xpfp}=``^9oV@@j2Y=*XH{yS72<)INJ)MEroUSNVvGV4<^?v zLFk0L4KoUv>eQD?bK26G$?OLJs?iG0)~Y$nisx$UPr3n=V-Dzq zM)#IFs&s9POZaf2!#S1(NVNS%|CX*;b9?X+QWP8GLt

IB`o8#JaacQ%bLZdqTtL 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 XzaxbOB%r~fz>v1%veAdfnjIGa(oakx literal 0 HcmV?d00001