From 588b72afa30327e6e0ae5a57402c9085c1548eba Mon Sep 17 00:00:00 2001 From: Daniel Earwicker Date: Tue, 7 Jan 2025 13:28:34 +0000 Subject: [PATCH] 5.2.1 --- .version | 2 +- client/packages/demo-site/package.json | 8 +-- client/packages/flowerbi-dates/package.json | 2 +- .../flowerbi-react-utils/package.json | 2 +- client/packages/flowerbi-react/package.json | 4 +- client/packages/flowerbi/package.json | 2 +- docs/demo/_framework/FlowerBI.DemoSchema.pdb | Bin 11788 -> 11788 bytes .../_framework/FlowerBI.DemoSchema.pdb.gz | Bin 6979 -> 6979 bytes docs/demo/_framework/FlowerBI.DemoSchema.wasm | Bin 7445 -> 7445 bytes .../_framework/FlowerBI.DemoSchema.wasm.gz | Bin 2977 -> 2978 bytes docs/demo/_framework/FlowerBI.Engine.pdb | Bin 35280 -> 35284 bytes docs/demo/_framework/FlowerBI.Engine.pdb.gz | Bin 19159 -> 19165 bytes docs/demo/_framework/FlowerBI.Engine.wasm | Bin 91413 -> 90901 bytes docs/demo/_framework/FlowerBI.Engine.wasm.gz | Bin 39104 -> 39057 bytes docs/demo/_framework/FlowerBI.WasmHost.pdb | Bin 26308 -> 26308 bytes docs/demo/_framework/FlowerBI.WasmHost.pdb.gz | Bin 19320 -> 19322 bytes docs/demo/_framework/FlowerBI.WasmHost.wasm | Bin 24853 -> 24853 bytes .../demo/_framework/FlowerBI.WasmHost.wasm.gz | Bin 11162 -> 11161 bytes docs/demo/_framework/blazor.boot.json | 14 ++--- docs/demo/_framework/blazor.boot.json.gz | Bin 9144 -> 9142 bytes .../interfaces/FillDatesOptions.html | 12 ++-- docs/typedoc/flowerbi-dates/modules.html | 16 ++--- .../interfaces/DropDownOption.html | 2 +- .../interfaces/DropDownProps.html | 2 +- .../interfaces/FlowerBIChartBox.html | 4 +- .../interfaces/FlowerBIValueBoxProps.html | 2 +- .../interfaces/LayoutProps.html | 2 +- .../typedoc/flowerbi-react-utils/modules.html | 2 +- .../interfaces/PageFilters.html | 2 +- .../interfaces/PageFiltersProp.html | 2 +- .../interfaces/PageFiltersState.html | 2 +- .../interfaces/UseQueryResult.html | 2 +- docs/typedoc/flowerbi-react/modules.html | 6 +- .../flowerbi/classes/IntegerQueryColumn.html | 34 +++++------ .../flowerbi/classes/NumericQueryColumn.html | 34 +++++------ .../typedoc/flowerbi/classes/QueryColumn.html | 30 +++++----- .../classes/QueryColumnRuntimeType.html | 2 +- .../flowerbi/classes/QueryValuesRow.html | 4 +- .../flowerbi/classes/QueryValuesTotal.html | 4 +- .../flowerbi/classes/StringQueryColumn.html | 32 +++++----- .../flowerbi/enums/QueryColumnDataType.html | 2 +- .../flowerbi/interfaces/AggregationJson.html | 2 +- .../interfaces/ExpandedQueryResult.html | 4 +- .../flowerbi/interfaces/FilterJson.html | 2 +- docs/typedoc/flowerbi/interfaces/Query.html | 12 ++-- .../flowerbi/interfaces/QueryJson.html | 20 +++---- .../flowerbi/interfaces/QueryRecordJson.html | 4 +- .../flowerbi/interfaces/QueryResultJson.html | 4 +- .../flowerbi/interfaces/QueryValues.html | 4 +- docs/typedoc/flowerbi/modules.html | 56 +++++++++--------- .../Demo/FlowerBI.DemoSchema/DemoSchema.cs | 2 +- server/dotnet/Directory.Build.props | 2 +- 52 files changed, 172 insertions(+), 172 deletions(-) diff --git a/.version b/.version index 7cbea073..80444066 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -5.2.0 \ No newline at end of file +5.2.1 \ No newline at end of file diff --git a/client/packages/demo-site/package.json b/client/packages/demo-site/package.json index 1fea6501..dd43d25e 100644 --- a/client/packages/demo-site/package.json +++ b/client/packages/demo-site/package.json @@ -1,6 +1,6 @@ { "name": "demo-site", - "version": "5.2.0", + "version": "5.2.1", "private": true, "dependencies": { "@types/blazor__javascript-interop": "^3.1.2", @@ -10,9 +10,9 @@ "@types/react-dom": "^17.0.11", "@types/sql.js": "^1.4.3", "chart.js": "^3.7.0", - "flowerbi-react": "5.2.0", - "flowerbi-react-utils": "5.2.0", - "flowerbi-dates": "5.2.0", + "flowerbi-react": "5.2.1", + "flowerbi-react-utils": "5.2.1", + "flowerbi-dates": "5.2.1", "json-date-parser": "^1.0.1", "moment": "^2.29.4", "prettier": "^2.5.1", diff --git a/client/packages/flowerbi-dates/package.json b/client/packages/flowerbi-dates/package.json index 6349ded3..32bce2a6 100644 --- a/client/packages/flowerbi-dates/package.json +++ b/client/packages/flowerbi-dates/package.json @@ -1,6 +1,6 @@ { "name": "flowerbi-dates", - "version": "5.2.0", + "version": "5.2.1", "author": "Daniel Earwicker ", "license": "MIT", "description": "FlowerBI: ultra-minimal BI analytics query and UI tools", diff --git a/client/packages/flowerbi-react-utils/package.json b/client/packages/flowerbi-react-utils/package.json index 2324e112..9a939aaa 100644 --- a/client/packages/flowerbi-react-utils/package.json +++ b/client/packages/flowerbi-react-utils/package.json @@ -1,6 +1,6 @@ { "name": "flowerbi-react-utils", - "version": "5.2.0", + "version": "5.2.1", "author": "Daniel Earwicker ", "license": "MIT", "description": "React helpers useful in FlowerBI apps (but not actually dependent on it", diff --git a/client/packages/flowerbi-react/package.json b/client/packages/flowerbi-react/package.json index b6eaeac6..8ef4a2e1 100644 --- a/client/packages/flowerbi-react/package.json +++ b/client/packages/flowerbi-react/package.json @@ -1,6 +1,6 @@ { "name": "flowerbi-react", - "version": "5.2.0", + "version": "5.2.1", "author": "Daniel Earwicker ", "license": "MIT", "description": "React helpers for FlowerBI", @@ -9,7 +9,7 @@ "dependencies": { "@types/json-stable-stringify": "^1.0.32", "@types/react": "^16.9.0", - "flowerbi": "5.2.0", + "flowerbi": "5.2.1", "json-stable-stringify": "^1.0.1" }, "devDependencies": { diff --git a/client/packages/flowerbi/package.json b/client/packages/flowerbi/package.json index 7c152f36..a4e2c8ad 100644 --- a/client/packages/flowerbi/package.json +++ b/client/packages/flowerbi/package.json @@ -1,6 +1,6 @@ { "name": "flowerbi", - "version": "5.2.0", + "version": "5.2.1", "author": "Daniel Earwicker ", "license": "MIT", "description": "FlowerBI: ultra-minimal BI analytics query and UI tools", diff --git a/docs/demo/_framework/FlowerBI.DemoSchema.pdb b/docs/demo/_framework/FlowerBI.DemoSchema.pdb index fae1be16bbe1f1f3951179e4b9e31adbfb4ba0dc..354d90d5f1fe3180d092e967d6326d83d74aa393 100644 GIT binary patch delta 626 zcmV-&0*(EQT#Q_hd=#QaeDHXVR!_b^7avvkwDq0e?v!%q0YB zTGMMa71!Z`RL+01k3=l*kN{N{;22ICNZ)~F?gIb-t&>ep!!Qhn@BJ0lP9U_FZQTY8 zA?<^q9gq;4;D9)|snbTJ2})9?{(I8FrcD#5hb5=j&hy%i6GiQlt{{rw7E7nw87VU8 zD7~v~^;+e^0@EqM8ZGSnkbhKw;Ix*ZkK6`Nb5t2wZwFW3<3bV?SOLS*5(ve#F~l4s zl;fAs22iE27E*c(NNpVmzJ9&`vqrWE&l)d*Yr1r4=fJWn~=|qk~iUOkDah zgjS;<-7jzNs!gQB`B-j7UmHXRR43K@#rKtOffZ(|h+VsYH3xZhay$>_9XZck_~^_t9N5zeU4OO{iCjcF_4B%O%$Z%6CFec1m%^@Kkz zC#8@nyc*$X>c@R0RZJH0RZtT0Ra6f0RRar0RR;%0RSN@0RTpmI|0uVcq%6V1ORRWCjbQi1q3Gm z1^_;j9RkuIMn@7)V{$n945u?R%|Gr~6ystk<048~OvkwDq0e{|B{yQqM zeUeyk+eH@#N#(iHO&0S$&u&EV#IeYIr)hy>?gIb-t&>ep!!Qhn@BJ0lP9U^)p9~m6 z+6O~BAR#uv0da6rw~a^>l%!Ps_oRbOneTTL&W9!dyl_!X9L3ryOpwjgHejaZiH63YEgDvX1ic!6|&EMEWv> zR^uReLu)B#vbs5Thm&95Oy{4ds)=((u)@(;p_I+ zeIT(SZA@ACr+Fb`4;kICQ}4!(Ctt+Oc!=pzJZ N0jh746)pDy003sI4kiEq diff --git a/docs/demo/_framework/FlowerBI.DemoSchema.pdb.gz b/docs/demo/_framework/FlowerBI.DemoSchema.pdb.gz index 49f9ee6413428ea2f33fa444b3bae3dbfc2702ca..02edf18f0aaac416f5d6d1d8a2050918cd405c4b 100644 GIT binary patch literal 6979 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 V=L@iQ0>l+x{tx6z#<&bF000ECzA*p* literal 6979 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%0A~0mA-+xdVt@?`6lrLPi}tGqXxWQK&00ap@f_ z?yu}0z^Hheq_J`ji^%me0=(8}oN^v^>Te8A;=xiS-Gc2A`Gvs9peAzXF}Zofz3kUH zE4(+C45vl0#zV_eAU|$G+-9XkZ7v(8DBRF-U@jdlPsC=C2rBMHo`E`XGN||ob(M^{TmH#jLEco(Uc{W69f10`(n=ztj&$ z$p{ao5AHfOBK-G4y7JJfru|O(XpDPlkcsX{uUduS;4q)#V*R`rbZX#?p7@e2uN)e} zwQP4LO!pd&g7bi3Cetgn38L-Y+v~XWn@r-a(f20%R%&KTaN#L77t4W}C_XKDY3 z**M?8^415A)y7*dEG+n8ErSx~$bzL_jL)-cI1KP=-N<*PEk}t5M?UG4J9yt}7%trO ziKx>}^M3*=_3Z8II>pU|11Z;UMV$7(G~{y>L3Elg@@rfy(BQ%$;w8B;szorF8zXzV z`@`67Id~n;f5%O>{VyfLV^D%fi;q$EH=spPYxypvh6F-p`W?a&vZwJ7EkfaU5NQk4 zr3#JtyQt6fV83h9RJWT)6;@9jB0Q{X>cZ!55ClP4hrZ+vTzB4)NBU`S<+bJzPIz`K zhG^7^*8s}%_DcNn>2K$%Q$1`uU(&}RkP8cIS2jmdJt1uGek2DRj5@Z2A6Z^WAnd!W zIOSVqhyDM6NpJ-0O+y(R@f5mkaHtH7N!+EXQ;83v+)h0YwqM<~E#rUa5j`Kia@S3| zxgAt$M##g%7D4*N)2b!cpR1WG57&n>uqKrF)p6z5uo0sOozPP_%L@2pUmCq-2hn=` zk0G2JTWV;x#r(Hd5F%e8y4SCBbw6a%o%1mxW#JHJhzED_===#*=6~G_U&s5NBNdK1 zit?tA6^2k)RT)F~pFaj}6oUdY$~v_IJ1g<^u4OtKT**0qM1|XC-r%wG>r30aK$Bb6 zy*;zJuht=doSb6U#qnx?)FKu1r3U8j23F`VcecG8)k98NobIX5gsDFA<%FLlGfeACh#rD4HC8q(%d5&gv@#9L@x=15y zvnS@>!yq)8!()e{FeeNvof*o;o`y-ZOzM8|8Pr;@yUOcvSUaTzGE1pURPFww7J?+w zEVj%zB$%?Av8ge*2K&73!@EDEY5otKD~|AIW!)DH*uq$&_H^S~rxVj$<$_}7*ZmO} z9esQ`S^?S1LpK(DZ-}%%<=$<{G_*Y%4N3S#9h~Mnp zcp;%+)R#Z%pl}eDH&@(s@6RX;P7HAA?at2IrxTCd%&j;O{qWEqRSX+@77yDSfR=r? z$cU4NE580?Z(Ce_&G)e7 zPCj8M7ODwaGYn?25XphJwaw2Xf&&~#(<>dn-mzvn1u}aw3mwLZnu1*}_|7)Dv~&F& zUzD)ZOS`xsqtJDjI3)r>nS!Gx5xGRO;wUKSN{%8w`E89`O&JOQ_4~bwVWbbtUC9-E zeE~n>5Ya{cgy*2#tXbYYtK`-@7JvElut@FX*x%4XNNIe9;BYE1@y!df{=H7+yEA%f zjWQ{}frj-v$?%5YBbRk)NbE6og#A{&*4Ed_PrQG_4>=pM%iSv&;~jT+$M4Fm!{_Ji zym9NfZ_aR9kP}f&e%t~uW=7epuRhpwgOm~O6H;k7UGq1T2V1h%y~}ES49a^>KGGU% z^2{l2qWZflk?vN*No=(h2Q~-HI|OHHdl@lEq04-yEepvHMZ zMIC^M&5B{0X{{!v)!AlGPkXaj7U9OGN&MO-<;*-#vBd^`}I z(rMOwY^)+~yPBcj>(>2ZS3Vf3XgmnsB{;l!fA@X+ho7Xl-&Ye=Qo@rz2Pu}Ub z{#t0^VNGcyoH+#Ab4z;*DCd2{A`RuyOB@oH?ENt^V${7~A+d#$TBTQ)r-HMh`2R)? z44e+IKcw&pr%9V>D~)-;yfBeCJ3wBrxOy6#DUWzx>w0W_$>n8?9+zR_L+i9SUqSGV zzaiRUM?CF~)27CeiH>g9&x<-7e47_Z9xZJWL=KJDl`d+pu_7P-5NdQL%4lN%4C>4q zJbG1r;qVIl&NkjR&qc8vf diff --git a/docs/demo/_framework/FlowerBI.DemoSchema.wasm b/docs/demo/_framework/FlowerBI.DemoSchema.wasm index 4a987923608f0be17785d54dfb894494f0e064a9..336a78872cc536bede2e4c362ab559c313f3d82d 100644 GIT binary patch delta 238 zcmbPgHPvdv1};`s1||l^&0D#?vkAPobxlme!NGHl)e#-r|G&~U?-9&n)JU{2PfImU zG%`s_Gfy;3F*GtuGfhfPwKOwMGfXowNlr~RF)>XwF`XPFyo@Ek=J(#oe}n@B7P-}Y zsOSsx-)CjZ8Djlt=HwWWQU$2s|2n83NcHu}s`X@42Fqku> zF{CmWGbAz?F_G delta 238 zcmbPgHPvdv1};`c1|ZnHmFqj3K+HY|3-|wTTy`;UdBeY@Re$py!8}Hdq%_l%)I=kT zl*BY6!&D=K@{?7pHkYuUwR!>iX+u*yfKS?yUYv3~3Ce3@Hq$ z42cXz3>H9EB2dJL!4N27#9+XX4CI+HBmqTJ!K5*eWzJv%goX^348}lt6QKSipjZkJ L8*FZu>SF=``sGem diff --git a/docs/demo/_framework/FlowerBI.DemoSchema.wasm.gz b/docs/demo/_framework/FlowerBI.DemoSchema.wasm.gz index 91867a155cafc743c000ca7867925e9f48fa5a94..ffb05cc877e9c54c1d1b86e87a6be40ea0c88b08 100644 GIT binary patch literal 2978 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 literal 2977 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 Dko<%z diff --git a/docs/demo/_framework/FlowerBI.Engine.pdb.gz b/docs/demo/_framework/FlowerBI.Engine.pdb.gz index 2ba133ca753ed61cb25c79f5a7779bcfda773ad0..32fedb4163fa8522552914fb86db9e461410f1f8 100644 GIT binary patch literal 19165 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 diff --git a/docs/demo/_framework/FlowerBI.Engine.wasm b/docs/demo/_framework/FlowerBI.Engine.wasm index 399d59846b8280b54270013dc14a2e7f6201db09..17ab9d742ca42d23df5c7bc3f23c5756c269114f 100644 GIT binary patch delta 23748 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 a5fCA>wEwwyZCBE#gz6MgHNQ;|w*Lp`yKqJT delta 23806 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 WOlQS}w%bsj6RJ~0R9_n^;{G3SShGX` diff --git a/docs/demo/_framework/FlowerBI.Engine.wasm.gz b/docs/demo/_framework/FlowerBI.Engine.wasm.gz index 8fd27cae77cc15a7f6e536a5c3127bb677211075..518a0284dfd84f5d8fe6702f89f3f04f568794af 100644 GIT binary patch literal 39057 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 bRbMQg%kRl&4GzQ%BlZ6R(&`RM6=MMa+wf8n literal 39104 zcmV)4K+3-#iwFP!000001H`=te3ZrWFuwadchA+7E4jP0yL2wOOF~I7GzAeUf=ZDN z0#X$@xBvnn5fv2_u{UgpVs9vl1r-$AS5!o7h*(g>-aCZ<%g?#ot%TLw?%jBkJ0I%>+m!5}JA;b$*mYydnvF6L|m zJQt0HS^$oX=L{3YEf6dNoW|H-z_~HwT7VURr$C-1SZl#UVOF;23dSDa4|-t#yMJM& zsW)TJs_sg(4?GpMnLy_2sInL%z8-afm$7`OqSb`8cqn=-rlVXMg^9ip#CRaagH;QQ zR;hWZtxNh6jL4$DV<(cKF<%ut-_$% zQsIxeS_2qQ^aJv`=W3f(NTmSLU;@lqY)p9jv@SsgvT&3)@UrO z&z;hKi+&&ED^6>-0jYMAXrl^=aVE4;gT#0f+NeNcf(dQNpO|Pu8{#KUHK7gZ6O)7m zq5V{Yxm(G8K%}{aDf=1l->{$Zps0e&%gg5#V!A?8xc2=81-YwyF%o!bXVZ0fbtP7EmNtiH0!}Ek<5mB@m2G0UlmO z@Qgx}#{eCjin?z25(jc(h-!*XBgJ|w@nPojFyE@u|5kYx6SL`PZ8NBtbEz228TW~d zahJ&FZ&jfa`81E#Z5U1&O6VV|X$T=oYRO_)8uCcYghB$X+~@E(;sq?(owK=uk~|rr z(OE!lJRO21LI%~6C_*7^LKGde%RF;2&l!-s`xPjVK+e~Z)ib?HUar(>atWemLmX7< zu|>}mv1E%0Ef^e;hzRF6G*osLhggBT>d z10Fy~492ps!jw28=1M*Q6j6JJJ|7(gPaE2q+HyT;vAjB1(Q+L`TD3 zqF|6QFh4g-x)q%bSS=0ytZIM$CBvz)l1ZRKGbI<&Gn8CH&s@?abXij0x+u(nv1M7Z z0|ezWB%itX+%H)(MNNzWS(-7GVo?+007&eFDm7zzpiTgUC0dIZ$~i2RGYZp6OdzSg z3Y(064$d{zE-!1%iGmeru{t%{h!w4NR~X2M5-mrI+JM0&7|e$>(FJHh3&p4yJqxWs zRbw7gS~am6LS4Ug@N__VjT=Eor=~WqL7A&ne=MkIt=glgPaViFTyHsp>^+j!AlRs0r`^Aq3A-i`Efhx*pYYP#Xkvn^T~t z3X^IvOiJkOco+d(lx6|+NFH}8>+$If!VuxMcl!Y6S7?A1$P$9?jssN|BF@ITcA>%~ zxuD1GM%w%yml{A`%~>**TQgW^R^v);NeKhUW$;`D6F+acN$(#wQvY}yReKKg52QpL zs9;cLEEa)m=i;ECM$bb7aY#6(IdI&l($|ET{n+blG4? z#PKkG6thKL$e(IvYq^0$@m2U+wR*rbUO-|XHtN>J06ta)0_L%jPVMY5sJfeU>Tl(4 zd)&_a84b7Lz?NvFxg~KSirZD&fn7Pe0#&&ZF=g70;&hBx+YwB|fbT<%U}Z{1Y?$I| zxdnuYE3w)@68zn{JM7pSF?H~g@ia~Z{LzbOCcPM0tb$+}W}$pd(A}IAvteg)X2h7I zO7vg!pEIxyEnzgz#HC`q2P^V2CFxe>SSZJMSB%+&k9n!|$r>+1RV9yugo(=`T2Y=H zV2Yn;ijOeGN1Ni~P4OwF_)JrLjw!y>6knB!FAK}A9Ffl=8l`+4t!ysHnJMP}ZrF{y zEOCXXrpp!|k-{p4`h1?eMm0||NKRadYRxds@a4|LRhUAF!dgLt&RLDguBHJ%BMmQ6 z8m|Gc86{F0uf=E)&8%XG&%=qqX$<)_jYmVyWyMl%mAwgaXW`gNtQVjWIkoN&;EIPZ zZuqqxJq9-pq*_!J%uKW?|L$7l7?M?}YqysGZOs3Ju)lj^66S<*@qAUy5>ZNwV9 zYDiC=yvNXwYD+$VP?pG=MiP9o38x9lth6daGnME*n!>;#VcAe$(OaEbbtVnGnnFGz z%(vT+PZW~Gs@@?$X(~k#-UP!~o@)Pr64Mn;Rq{EimZ9T&P{ES!w` zsZth9!DorG;52;ZDGRVOR(q8NQ}O9k7T~~At;8%rcT9otGQ$xsW2)Dp>krygsLn!F z9vbvn8{Wo&KxiBW+p+p!OXE)-Q?+WFS-+HJ9c3|wDx1gF?Of_*H=*}vXST%67;(hv zJ&wdJ7)!qhGUefD^W5GHaOdm* z=3=@%Dmh!EQSh5kQ^IMQCF>G%8*JqG$Fp&L{3JW}APyg5JbZ(u0`z^znqW}wM`i~D zqn6R|2v&~TOZ9TS1L7Fh?P{8Qv;wJ2E%_hAhBT4I-2F7tvCk@*CEr7_tu#!PyYxN@ z>qE_Bm4et>a~eRY9-G(Rn$rzqcCVu~2OVIK!|QC#>5eg{5lh@k`m^cXcpdiL66(g( zqf6U&<9~aYy7(~c;$>*_BNcG9U^%EM7J4KGqMLJkat~BTO@5r}EM3*)X8>3PgyX^q zsBh4-mqmJngw9y9J~_vNm0V(JHzNFZ>VLE$XJ)GYmmRUDH(QRN6xnY zp>efpXP`%OC-Mv+HHg&i;Auv;;gCOFIM+B&PB7-l$#R~&J2g-CNnw>>YM$I?G0&4E z{5?mQC+{^)ig(}&gVq46$fbP{g_uTB!mdMj1PawvQBhG^(|w}3VC=TBLh$ST=%0Ut z{yEf7sO8>twd^s}f)rfu##-)6PxB$Bd4SR&C7O%M$;0){1Jt{xpfqoy?%sryE=_Af zJhe+R2yLM;xjgwYs6cB%1htl$*o$jgT#70JO&X3u%qd1?HzU1hHqk(hJAr$K=8!zz z!IjxV5QFmYk@y%8a-fVCv*a!)F6p#lnIuj=N^N*(IE!q>;S@${COJHWqovlc8t0ME zIWEpUHV>_>oXwBnPN87su{9x-co>trJT7oHCkhT8TdTGowe<+LZGo;QpWS0OR|5A4 zOttViH5f=ye43a%F#BWxhAM}1N(KWVa60Nf{qW(#Fe7O&BWZF*f=R}g;mPP;2c(p4 z-qv*!^kp{uEozx5wb^oidh71hnWA=Bs#;*8$`R3AvHZr zstHwSuz>v}r59gLGZH*Gq#L0Sf5S@jjr>%9Uw}D00jiKM=m}~~kC^y;s#mYvm)DF0 zPhPYLEu$DMBP1M_T;>TSp2Apu!z!HP^P`&)Dqx<1#1>SPc%WA!#)HHzbY#N5LZEEJ zf{Q)Haqw}%oOz1J5BC&fTd?S$M zX;kh^RBo0xzcnxbcO!**?Ga~gBaU&t5^qT|U`>s3C7=+ao6F(8#JuxVqDz<}mYA|9 z<0wcj`B-`a8YP8PS`#)LltHbC4M7HQMk^VB9}K`RC5%1;58EQ{kwIa}9Pp1TgHepOkd`Ln>q7ShABWwDw5hM*;pu;PJD?NPnWz zxCQ%3xyc*CITg##!7=(vxrg#Z`hW`N^A(!UR#ZX>PDd~UR>);r2l2K~x;H%J9`JmSKY;5CHE{-%AJ4Ri2<^7SxL-}o zq79b>iVgENZrOIj#e$kRlZ!p$=MdGwKn2`@d>)&kl}qxe@gm8>ngL8;l65*-Et1`- z-FGuHKg=5JQYM9?6$~QW;zCzJ9@jIT?~SX1koD)y@xa(FaHZ$kb zW@Z&)ssv`CvAr1+m_>*YdCRLU6@i#F@iMR%nRU!7gjr(3{0F6KL_TrBM-V}{SFu}E z3*=I%5Zv2rt`WEv*_hiAS1WMK0O$59k*U$w5Zh5;&&4UBlZY=jbLxz^NVvI+sq;a% zsg&KPNEQ9 zXB|rvdTI?ziKy^j+wYb}>M*JatL*Zt_2339MUQKQ^Vbv7&Icu98 zhHTE1{FU8} z{glNnR@jc%iC%k1=V~xA&31NC`6H6raRU#q>Uc$^9q;8P#~#-n$Ln)V3oedZa1%@o zh*Z#DqKAc(|&V&Ywx zxVBwlx6Ph-8#Q7}yu-xq2Rg=XmK>((jcQe}chmNM4A}jJ?A}9moseB;+|mIt`zW}# zuEqUE@i-p64+-Ptq6&sce<2c4@O)t|3(u9k}=u(`c2ch{{ zJ=S=W5?zGS)I*-?6YN6lj<#eA$Q$eC&B&Jv!3?8Jl;Z=O)JDriU`FyH!@@E|XDb$) zcf=edJcttRK?%F+qXS9^;w(=(flE!RQx>r#5x3 zG1^Jhny?(IPqc>|N*~wS44U#xN7XB-+L}H$H@#}Eq|VY*Q^7?JwDR5!SU)SIJqQ>l z0(i`$IhE)V9A|Cu5Dc?FffPs!5{-sx-0y2fV87^AP_i7-eYePsOV+$3-th5v?kWZR$kq)(g!(9(rq)` zC@tF4kWjhT+3$S=Y3og!>6zcb*9jbw_~642X6pYx%i zGE7b4RT4i7W65yDl~}b_tu_9FmY`W|iC@v5PyB{0_dBC~;NWPNEi$#$f}>*fEzkm> zTCM8IWM^#iKOoIA99xoSIdu?6oaD!uFs%QHV1x9g{$jN6r#4fhMTy=;-m#)a*JA{h zH-9s_>~#?76}asATc0BpHVW!lOn!(sZ?yO`VgnRs%mI_+L1D&Cn7rC0V0i(=;;~eJ zC@9c}d^UAGT{SucFkL{3ag}!FYIYz*hl*l9_+lupMC=E)3U*E{KAU-Yq^ooac=E5z zl+|;6Q2W2NH!hW27$_SD2#a4}2Hgr<^s)Ms*GR{HfHu@I+Txm$@o zs1L{0g-UdT+|<_Ss74YoYs_ULR_%}4pgwByI^dkJL$pE_X%h|tk`J2+8&ZT|RSnq5 zCLwIqNJXv5QsNF+FFi@F99<)9jXEKzl6U}fxgaVp@3|36%1LB!<4#{Dp;0r5EJWj8 z^a9i;@zm$$lXRa|tr@7s`wH$Vg>;4=?`Yz$ic(;$f>$1m0#s3qho`PQhLy(6Sjq*m zDHV}bG_puejmD~umkJtc5&9TP#?Vg~!|`dxP--@YetO&Ylg4noj-beiDm6X2FdW+T z859QEbc?x7pGz5nXwxm`Hcb(a+@@RpsZF12)21)CZ_`)Xx9PJ-Y}0;i+tf>FtYE^I zYEx7T@%+a&eU{qv*>-K(kJ_%EsZEUnR8fpStxaER)25hJw3SFsx)*J_MYid4)TSgC z%$s;V?ok?ZfGb{swivTVAQ1p$bO6qc1JMOogW`%QMNNc|M#Cp`>|6kFmMqt7Yurq+ z#X!q&tezEW<+y^fd+fM^dO1s9LCLBF)_5(65^h{x^s{7HHn@F(HKyYdyT{@P zu1V~{O5yP3bHc=~U){FItJ|Vy43vmLI$}_2-0TeN%nE9oQf!+Oux%R4Fglo`9oX62)rv?19LlCBB4YDfUbbM;Q#PzK~A*}MNYtuAAP&539z*GI8K2GQ zPBiE}5f}3`-lawmCpUOh6V@Ia?Y7%i&pKvc>*2#yNhSJLY9RfL2GTq9ffRcaa!Azh z)LQ~#KWY-_sRQ|ClmO3ZYq@?-dmQsBk=&4eLc7JNprWR(#C~kT>Z(&rwH8OUSk_o5 zD=Nx5L6+4K%Bt=QUSMHJ_X208`Fpyn_gnVAdv}^U#_Uy7RH=m9X$JyBasImyy2)5E zmyKhz=|4VgO6y>r(#GoDa;)s9<8;J0i5RaV#!JKm9Wg;7ChCZZ5^<`II8`Dh>4-@Z zF zQT?Miz4c?%Tov^vH)oQm>Z(w{F`VA|G3u@g4fN*ZE*X_qg$nuzcgd)|Ds<2%&0YGF z$$KdZo2Ba@iEI82eF#c4X?G>Mq1Bc_V6UBNvXyp!u; zjmP42-eMqxolAjo)O`oN%t7fR~d`bI#_Am#pu8vALs=LN8L@nk>9KPMv@-G z!_OQOfbU1epu2(UGaQ)Z^i&pRN|xw{GqI(i7v2%DB#uYO=Cyh4Fk|+|+0A1I*TUh` z@McFxEW|G(i2*dh{Dz-sC~A37wHbXZj4ZX=+13#L>ODyWx)80VD5jpz?^gNu29jfM}6K zuUX+OZ!)=2wu9kDnTFe7LpW}fAqC%Gi{V@uYlaEbLRYa}UU4P6c_$h~`_}Wt&h+?> z+;o0ux*X>5lj-;Zo&Z|HM4xU6HjkffTBAc9^aQa1*8tJuH!k+d2K0M!yetX}XRU%k zVRYs6BB-Yi>gh`&*+iodGhe?kiY@kY}(yK zL_SvPWXzKv%kkz%hjMwfB$Wz~!_ZmzR9x^_X7YX=*yzJRF_-Y82!1K;FcQF)|_TN~U zntm7Kc?h5=c8m#sB){W5-#_>r8vif-j$!)TD*TS$e5T3z&_8(*hfM^{Zz6D>KE2y{ zyXhS!Zq4-0=g9QA{ooPT_*2?W%L08`Tl5G*;~1MbB{k9FP)(&$c{7Z4|70~jPL!xp zDAxT0Ol7K~*nRrJOqPH=Zr3r@utqB3W1H(F@R9syZRBpa|VHU3?IvTC2 z4Q>qJ@VHIG4G4{?sc8U@BC8~4>h*#IVmVN(u_)FkoCwCz5=$?!28}KxSk*~Z_%fu5 zFGE_4fl*Msw#0bTc0q~QE)cZjSU+C4L=Dn;khNGOC7{Pn50KD_5>7w~ zN2eqNs%e13$?zm8G|qTLtM2J>36xBnKtDu}qc1|5D%UYT;G(+R=N76nbHnzj_Ig~9 z5~Jn5451UVKJgu9od129o=kkp6Q@8?-Q-e#+SuNfu?NM(gekr%I>e;wEKgRq44$$H zS!eX@s|!tqo2b#TcsQM9BH{$?%a%-i-hj{7fbYLFx0LAJClk%QniWzP zVDslBP9;aU5<{8elx& z+hnGVFyheP8bzzX9wHkNcY&rbuRBsHcY)lp7}+>b;ha?CxJ~Ly(M=~qZmCX5GBu^g zsR|E5@i-ITF&RP4N#PZt25=*5?1D?oE>OWWc*cwwtch>Lo~vvqYU`?p!P%cC77)|% z(Fm>JY@TIAPfuGGOFprff7-8@oAVET zL-@b;8*sI0GxjUe{01L4+=Ep)CPEIEn+)xC57OL=peg@d=KQ%P!ZtG@-$dAJCKR-B zNQ&A!B&EFVe!~svK8cqf$tRiC*7*?YVr-$bJpqw=M%&b4RgA5bwpB2d(Aap1Y3N{8hv22T4@0qsaG9}DFpZp+X(?xBk*OA{s7r6L8(>sJ z6_v>ry8%W$R8gBg!dWsZqKfKF7tWGV6IIk_dYZFTF8nlw4Q;m=Y9ZZlg)%$A5Vb%cxe>WHL7H0p@PwBkfN!y=K@;=B>8=1d8W>F1OS27G!MU1FpK z1sX`c!g$)oAnFFBZ= zy^`bUS)V+ep4DC@V!SD|G+^Fwp4e{38AY}^)oN9XxwPbc0r}oB?L&`LqBC$}P|;v5 z)@UzIR{>}b1m9ooNast|#*sLTz%Vreuk&i?>TA)XG3{QL7PslImQ=}i7ac4R!B^su zkCjaaJ#`{J$%mlu#7vyO)#OfyTjA$S7{e;~=cL zBm%eIh2pAJON^^-tI!M1gz>NmfJIAo%88ytw?)NE%YK$=X~MQhK4@sbYm1cT3nRBB z-w36Q+@{~+w$Z!(I@XrL9yXLgcV=kksQA_Ds7`zabtDKoLpSo zq{wYtY%_)A!S$Zc(q4%ve%p*(-~J=NZ`1i%r6#?${5+{VN2)f}x$QLbg;_IQO!U+S zrOjhWB{(X#jXI>&!Td3wiMMLzaCx^05lW=U(wM-3VF8jmE79KAS>|%_)wSN_C(I)j z(*>wBVM^81b5q}E0h{e2?u;eLn=G$ZDim=1cZ^N@zD0L@e^1#lKOMP`kf)_1UnS(^ zbR@k^zGF%{@&-aqO-G(b$T8{P+nA%Y`QAqL7^Ur3I{GSYztZt*qq%VR#5^IUgDwL}Nvh-e}2Eg$a|fb?~!Pm4ak zsd8q+gusMmyXb%;OmnGuuCPL%=Pc|QXrFp9&-Kd1nWRJd2&~XpIg)4Q$~j*S|8{-& z|CCmUw4LK1k!USh1VeWdl1Ma3H_PUsgFLan;!h=>my#C~;I2YELq=8y#C=IzWY(rK zT$-zY89}6qE`-d+>*$xK{4h7q6Dq@RDs&b7@GM}R4duLqO=!|kbP+9M7IXPt6LeNT**P?M z54uH=GWD;G5k=8-Q%~CR+I(0`*u5oL3vQRsdeRAOPPXZ25@Eqmexfk4AEE%38|tXap%OpQMum zNNy%FQm|ezyr-eT5Kc0n4~V*KpuRy3W7snuFu7vgY;?Bd7TYXPW!$hNbI8yD!Y$2Y zuROe2PS)|DVI4Mc2J-A)(5%hY#t#j!e&a;b;r!lD_W@cyOs|0tYj8Hz04Xhd)5(4$ zFC#Ki@ZIE?{@xZilB}DtE~v?lF&LO?Jos?dcw?btzdZEVL(+rKPM$)rJ$WiUnRL$G z_IM^tYiH)kj*9*o=AgHp;$g3vY{rHc(=m3A+?x zTBFBvdWCdoYF#1TVHN8NOWL|Z4!**KA)3RPNWd00sQp4-*=;(Kn-?mUd57V_mi?fhw5a!f%ApIlIo zHfVXw-gGs23bB|!cnRJ>C=W>LI&}Sf_$5oLM{X8R!@hGqdD0EIm+rA8F3_E6azWui z?&pcvk((~05xZ#xKIoGG^tmQ`WMY9hb9H%L$+HVmBMEL)n;bz`@*FeGkwTliB$r-s zoo3qPYsc==^rBE+xg2#RvkKE_=(OP}p^>?RDS^qeLKVT!$4&tP^>hG<{>EJWH2D9)g(ceOcy zP8W$*Ct6}9$9-g#jsQ-CiM?N;ocFYr&-J0^Ga70NaHzS6h8m>co4(?ut>l=(^u?;I zu4)r|dKa6PLzeXA5bHBo%xCYwF91gMO`9{)li~Ltd=JyK9zy&{3iVTVw(0EjVMRY? z_?Hdzn3b#!o#I7ub7e6;A5*9!HZP(rS&A+;wq(&|UMRM2&tm%hPdw}GA?8{fB18q1 z=qaW+;ZX@rr3v##R|(gu1C#I!nprfQMKn8wG^%De;wp>vfmCOa5U1#Tgfay>c}^jI z3XAxdJUK#W(Mw3h$1BNOAr&oJ605n`P+p?%CM}T~Xwnf)60uZAEN#2J)vQyRWzrTM z(IOFN>xi=@VwsLu)|T1%I^}$s^a34mfka%WBQBJP6*^)?TV^YD%1W8^A{}v&L|m*R zE|!Q@I%1VXT%sc`k%-kgVzoqEsv|Cyh|6@uWfF0@j<{SRuFw%zv=#YEopPm2dX9+&&Lz%Z75py&`RFQBPu?`b8T+($_8B5c$WiTBeJHA1Q6@EJWIjBCSmm zX*F=V9Nkm=3<|`rK;_d1|N5qG8{^Hkbz)?@jnU1v+nM!cChrXy~X zh}(4pMUH&Vbhz*z&Y52Nug{q#rJpn9ht2Pom`;5v&4lMngk#KvZU1lpB@TyPX@5Ah z-F!H7g!?MbwmBQR60xMV#8uolzqy*wsI$a1yzP+@YEB#((XkFT0F`^>`zp`UF3q$0 zX-<5AsZ3Rrd@ZLV7^6^C6n!11BN(GpRg{fKJjM~s>pcCw3bGUyBiIPD5m~9##eJ16 z@=OJFkM~u!>1QkJ$uMx;g?|>IC%!)+=h(*U(LTUaSc8*f1KxPGC2pVz(w^9j7CQsK z=kfp`a(+YRK6-O%R7pIjYw&&8X9 z<^`gnwS1W_eld!FCy9@gmao#uB}l%D$ViEvj#qVrni;44f@N&hm%>fLb?0{$POj8y z!?{7HBi4L}7zgeY5)0b!Q|C^6r;5HrWf67L*Z!ZRH7%jp+_5}636a4RhY%t-+A7o}_mZmjrfnqYa&%)ArwTc0 z8h7LTad+DMfiu>FIA?6ZDW(LVhtQ=ck?5+4s`ygj2l7-(e(tR8`D7gZd>sGxadCF> zC_1QW^G38Y`UaiWs(r@w56vZT3j=32`ikC5STy)08>kg%B!8HjzoNJrQX)f<9A6!* z&QzL^w;G*G#~8u%N%OH3+Z4K0rLT@v*DK;=QjFttw2s z-)DS3voQ58w)mn5eP*NGrydhW`qX3UvzcSUNBD@R>3bM9dKW;HSD=@tCdwEdNr>{w zDNY~vm_bEVq=>p;`2CmYGIP1J{<+*G>Jc)dDjFX}y-tzknu=_E3<*g!dOqs6+6xXw z6Mk!kzI_nA0JZqAOy9DFrF{wE2Q>aoG$bK~{&<3D_W?(!_YuXHWwre-jAe8i!_eDt zqDmhHQA{8F*p$}LFjeEnAgXpZUX1%WYVxcwt~T-04EV)yEwO^OWmPgmrRj|n{vz5= zt7){tIJ;~|nn_QGk>hcwCOn?NaRoQ(8$H}y>>!nv?TWaUhil=g(-pcY2bo5Tyr~$j(Em!((Q#r`Yq z#UCr)tH-~45ba0%Vo#!z)ASU&I4Zphnc=ARr@v{n86B`}hv{8N+!VLzXOC9no`hSa z-Xw|@e@r7s-*L3BD-R0tx|lPVLdq|mfT(vc{jQLeffca6I7WvQ@y(=tI5>3|XH88A zh`sn)Y+N0KZ;L06GGlfzas4+pcu9b^6HWMa(IGf`cQU6(uMP(PT%3}hhFV9H^iC|M z>taraV{yyJEN$yMXzYw51;5A^i_XVQ%5Ic3)f%RDRt$0ItrTd+d~C+g(wY$l&6>tA z;`gWFJF7;MRE<=zW5-nNae!4x_p74{Mpy371tE@4=K_B96WZ=oil>WO*)IKUFfuzhQ>gEMksWW^8Fg zF@9sw`5|66QF2Ilye--EtKP`ux+h-5>imf{iyWdvv0;!15xDkq;^$E;nC&kbaxpX% z9%y_Sll+XNAY~3ZKl~J>k-V7VZx$JeA-O%bifSW?ifuwCwh0~F#1885D4??R4@A7e z=^Jk6iS?DzL`ahOZ<6?+ka!S~{!U4JP)dA|xMN7d22H|-q_BG%bRH;<$nbYc(z`{Y zAPJG6%)NFc8b#C|=%sk>XOU~a1zh~>5>85ui;BnHQUT=ZRT;#;CGl^A2xB~oSY_E1?wp9VJB$hVjW*f-k=8EY1))8XWp;5X0m0lE^95*~0PY>>m{toA$JIhJDp|u1 zm()TEvymS%jQp@La$ZP*cc|%g(y#w^tAz|%CgS6(L`ODTKk^8iw$aPX=#EZ_^S$0ly-|VW0 zpSf?6l@mYge#BRFzlFLCLP1Eia&zZwHFZuMH2UR$lmvSWu2I+n}7GUC_D|R$8alO=qmMg|W5pEIJC} z!{;Yw&6&}NDYo3i*b1=z(o=@B0h{S>da%;|rwoL?%tiw|31lxlc6MTlzJ~=}bW~)W z%Yl>BU%U%`q!&wH1V3C~K%=nkkmxr~_gfiuLU5AU6^i)VnAPxG1HZjY&|z&w`BC<$ zocqqAk{$?)T50Us+$EJ7Ys|yYm5shR^Z*wtpQ~Vx^ zzeM4cgt1Y)H}P2$!tjN>{ZWnmP_sLtu~8w6e?#Hfxft%IG##x-%@1SvnsvVmQra;7 zZaGr-=3)Go2!=g~`YnV`whO{cc2vj7B^o;rK&m6OJK|+$STWb#c8o73{*@q`lRa$P z?+UPy)%FS}Yb8FUv57$A7kSolV*;-3MX5t?vtv+PO^esUQ*XLkZ)8Usml$G;Kyo8-$>s(vGmevo9 z=dr~k!`Z+;z_Kdr6+Rv*N1r7bM0_M4^WIh3v$%@=RpAFc&#HLSsj<33EWM866N-`Z z&U#F_rViuRkR&TeWA{;fK_OCmmt$C0vO5xHYjRpkGucT0Ev0PgiQ~>A+IauQlJ#H=^ODH5~F_0vzf(;{+bTu5ro4OLKB?`smuk`Y<5e@HfKK= zX9Dyc>rK#I5;~T+yj+1?%Ag-3?Hwwij16Jupww}M%Gn5_eNiExQwZ85p>YH~78B59 zf<_f0Q~~1@LVtEesFKa6@(PQvyl!k2TMJM_SU{Ij%7xZ#&ZPidMo`b(ZO%g8lU+y9 zijaV=C+Javda)ab=kN8%O&DK%A2i+)3Z+1IDHI(vL zb~izJ0EGd%hoDnP^L^R<1i5k$>c^g;60UZkoc-Aw1dYi-XaIYQ+HXwox$r!8BKwH) zO)YvZ+>ecw&>R;+Q`p}G<>nwXjd?gi%|ttcbs(soXmeN%$9DL=bXQS7&|eRZV|i}H zuA)jlpY(=)CuTBN;#vWfJP9{OG`3i{n!#VhM)%tYG#u-N_}ZCGd7Q% z!)6ifT%w&Xq5lxHk|haB5_BcIkf0|Cx|*#bLtjsJeJ#73qm^4V9a4+4*{3dqu45ax z3N)N0`oWyBk)H?9Yn1N>_LwQVu-prn$l=CU&E$k^%%C!iAEdA;cTF0Its82OQ z>)8&1POC-e4z|;j?{4-!m2fYutR7$=5%jr=&_=e8psT44kFn1QDz_uFiG4wkMk$|Q zUy6Jr=acMfQwh(oZ;7^ELFfhcD?!sJ<;(1Mg5p&Ac6OMc4=Lqqj4KA09eAoE<@}ND zWH!Z+^KA(UIp1Y2#gOwomO&8yrOzMP`z(u~i&cbnOK2J8`v9R-d3*2!{i%GPvJgR^ zkevGvN~Qda<(Z)Utk48~%}P`Geq`UV4g^h55c)wv9*A^bhI0m4oBPo;ET5!?ph=V1&h z^D(@r4#VGTF}$D)*oz+u4e^Q>xnEMV1DzVwRiLtK>P!5X)bb(Lzv;OhY;hAE4$7)IX3|Pa(b@D z?scsV1=#hqb8->C5b#GUO)31D>iLAf2JjR44Zxwoe@`y9+5-@(Wb@fsk3jrTcS49|t;@qY-U%2>xCGL_S@{ISKMp?+;dk{YXNR0u0I#_*es%!E#|RUxcp1`c zE!s&kzXp7AEjuB6UHbsS9`?^6e8qv7SM1+I%E6TWnEKOQnEr3T!?H3TjIMDa`WMVzxaAs1NJ=+0{(Uhl^E zV>zdTzrTS(k>*0noe-XEdl13}_Itp(>Kz!L?ZCLs;c*iOY_$y(3J!-XPeYhz!&27S z-+=HFJ6i8V#{QdKvUSy*PV!NtOgiVZGSHmca*0+v*4aM9Q^l1p99P-bHQMll7}dE<0%%3l z;F-tP3W%Lsx5u5wvMUj~hMnX-y&#{RTxswuWTPvMIux==mAVE;vO+dfLhg zhI|iI>g8Ql5Mg^#(3*l$_G1dVt)K%dtD^d`rh@wmD%k)Dot*!0K^40(CZL;ZA1;Wo zNpS&P7hRqeXV=9Iz2N=}wRA>vWK%&k>ryQwvsOJ_P{Vpi=*+5@0XmML{SHi7!?si# zdZ}d}nP|0azlqk7eP3;q*O47GrR>PwuQ5_~VxJ1g-ZQqdpcDJ1Mo2v?|2=>TY7L9* z%tq7-+Q{&S1)bS_9Sxp!?7~h4&w9On*6rn=6&R4cLpNvF6!eDw%Yud!6c2x2(A}Wb zd{)ql-9bF}bA*m&_e%&<9>X?D2zegMo{|ujcN}|8&j%&+W3QMb>(6#}GW61)?d>G2 zAgjY~1^wACCN6`R*4ZfG1m^E-@EpQscQ#}>iM`+1kaHOOy0cN{c*kTEF zqI~B_s9PnbTt(33JiP;WWX%&VyshHYT?9<^6y6 z-sha@nx{{nK2^W2?&{OiRdd#{3k;aJF@{`Fxpp)}SXvV=Pn%=&`f$EYzc4(Ia_QddV6}cIF z5NS^trTUue?4Gn*Tl;2-9OSV-dor%OKHbpnl&>HtpfqR3w)Qv*gt)Q7?G5aIq`xCg zx}$lw_0{v_IV1lfdIYXnRGpeNfFUMrC^?!wsT~p$SL1uu8pDBc*LSZiD@hKa+8KWY zsu0GCo~|qhh9TCPmzNT2bTvJLH@d@39=O++Qm@kQ@Gh%TuIiqN!^xhmCvT)y+E%;x zJ~6m;mHd-(@3=5}ENx$hXs&_u-G%)%{;KpG1||=oB?O>_5Q~L8mkml=qk?Q)@wI6y zF&uwgDNl0409=^sXP-QNd!>M~b>;7WA{J>xoMawNuz^58W+C@ZQ7y4p`*tD*;242n zC;FMa{Agm0EK2fWAf|oXT#l28=XD&*E9Dw$NGxcb4Kb`@XD}xMaKVC$&mt(yPAY-~aOJDvw zAa1K~#0q`d(z9{TBK=l#IZ?^o5tTUkeb^t7fX z0yRw{6xRsO7D&Wx-RnCuf(qwI}_G^wzu{ zIJBvWu`$BMHx2P1A&WmsM!RgHOKfR)2nzmD!QoD0UN$(B@4M9@_l>Bby2Nc9pCXQ@@|@2lhdy}SC77)JtW`FrHi{Y$%o^5tqdU{V?67{=>Aw4S|5URQ56vWFzlpD z2XB@U_LZuO^BH}RhCRyZIlE%&3CSiUY8c!RxAq&S2}j85d%cYD8RwCVI9f+maECKQ z-WrKZRha3o+VMSugya9Qj{Y2jm<~`LnEDo*4nU~wcys1Z73S4#SN13ifriwNI5S5e zcageM4bUQIqb;X;4bmkp4COW#>orK1viN;IJqqSl6Cw`mg#l>6anrbq_nNp%{w%-Y z58y!JynDtlCi~9&8ucz9+}0FNs?U0lzA-HjrOo$Eas094-rOqBHjT&^q{#M;C`;@_W_a27i}9Ie3S*; zv-}{Q5!Gd+!qW82DWF~1Iw>LL{WNV1xL7^-k2#CN`KKIV0&i!X?@&p<<%$8KAL2q^8{>8-p#DxH`oaNHQH=&{ zmimdZ$i@-eK?>`!p9wz>bdOK8)^q2HFd#s_3DsDFn!@Smchna{cuAyNuRCZ_uQ!j$ zUgL@XMs6XfK?}PdK5oScFJc@`9^XENgiXhbb_3tqpMxgW22%e8KS?6E$m(eGg~+D@ zBLC%M%((}h>k`zXY zY}{zR949sw>oDYZX~~=WUibqT^o=wIOnQg^nzHDd@3LfW(UPp+W(*P~{X)!<3x<+rr5g>Q@70@ttP3+?-$CbCU<=B{fND zTKeSf`6BQ)NcDj*Km|sPHQChGplEUnhQz^6CkdTX7LEHi{)WOB= zOrOjUy9i`D?&P`@0G{fQ^x@USJ!<7JShKjWeX1P2G+q56Gq(@(J@l+UdWRK`4D^UGp9NS7$5d0#KSj+Y~&yT1)+jh_( z(9)4L+DFCmYS)8^4n8erVD$2X|jljTx>B*f(d%zlHS8OXqRbPsvk?o?Yt z7!#W-wqF?z(tm?cu9UT(R8euEA39?6X$vK~NSnovb~h0KHK;G$F-^`-x~QErt;hu< z0EoeJ>G=E78O{cC?5DN^RAJBHF3&#iLU|s9L$;O2~iFF5ugr$W&|9krh zcRq%EE&Vi`R1SVna~MqFB2<#4KOR1j;*PO!J@IS;=UP#9sD71+DkU6Sy9*ceH?M!O zyJE#+t?Jn+Xxf;n!S|c4Ns;bQT}rdpeQlEUQw=2p@a9#Py6zx;A_XEPT&ngUlpgw= zM{l;sc}2yEpw61PU1!ESTS;#QW;})Usfhx3%c|V0F1>UW4Tq`+lzr0@YPziP@7kyI ziw=1JUP6Ny;NCAT2|F?c$w~5>>h{e(LPBtb`B&(DszTxr=ovag?Wuly$Xk1YY-r-U z%UgW7g+Tni+D^26GQ#0qe%elWeWx~w$UWuv>m4$`K>RgFBw&G$civ+JZ$@yAOIl7; zeM!W3d32@jH#LxjkNY$|(f-85uU9z=$31UNrk#{DU|F8ENQnV_vo!>-%`)7H}MijkIXWCxl1%}XGo^m{FzH~BJ3vbph>2go{!ox z9KSE!W(PUjLi<@c>7n*ucCO|P1MQr<_ts~_EuY#q?$f2WF#X80iu&Mo-7WC2^meSn!|#F?#RZe8xgT4)YZxzt_-C=yy~5n{vhlS4`@) zu`eTnE8)4Kz1}Mf)U39_BI+Cbc}XB3J4e{yLgO9InQd`-gFs$0=;pH0<+OXe;L9apN_}}ls?h9CC%O#pTEF5wvvwwd#2L2 z3_)t;G>x=0-^n&fknZ_i@%$;e#e``dmrVxImL zb5iS^qwflq&%;0QW0)sW<#C8N{LCB356uCv-u09lX}?VBgY-AAOqPlbr3Z>W5n-X% zTvPq)DO9a#j&$EC{RD-k7qgYNH+r<0%O?rSysc{p7E||$bknVCB8t172kn)|w>lLm z+SkBvHIh5H$KbYiGJTT5trIWs1xI$_qk3hw62wHnD@TYN6$ou4MQ-Va$W!STzJBjZ zBx73h$ut?57K!Bs@6)*d?xhs0Z%Y2NL=~c@-wupAUgO(%xt`VN4egd+2gyX;+r-4z zg@aaFQBQB4mbAC=rdlSG=Tw;grC5@y?gTXB{s)n?-!-qGInDb*n00bz_64V{PF9U@ zt*-Ri;S0xmBldb;=$X5{{apDsvwVvP`#!D``)nCvKAo3w#q&m#x~;zt={|AluJka( zyh>J%RDO@qGXC3!Y4}#9lwz)leNX{esBhE7%Vqv4cN2M%Yn&OtUSt*lSW zIsCzqrn$4j&fzVx=UFWmTCs{N0i?3$%uNB|ZYhuGzX*uPByaMI5uf;5szvP`ZW266YU_9q>x~s+%@n;MWwRJQIV(oR}WRAKpHxf$S>980RndT7&i!){<$)9;)<4 zgw?iqpCNY-q@~oMAEA7y=rjIDjJu!yPg_zPpD-;SlfTxK07dATX7q~jW3y|CP0S@n zoDd5{!JqdUK!LY>DFI4}Lex~1NPDHOZV^n^0$tvy`j{8s$j+y1qz2}Vy3$)887&4` zz`X4!arNn^imX`2=k)E?5cLzM`-&&|QT&3E|3N`o?SpY2?RV_+SNW%B4BKm?1*I<1 z54}d)QgH963|Y|*e#y0(1s?f1iyx&p$_`A%3N*R5BPKJxG;ujq>I&&nZHt0N!x0O; zWqc0%s3`e*63$YAIQoVLqMy3I&uN*Qt-qGUZv1)i)8`^x_jQogYesz12RPEagxCdrq#}yu8pBNo@pHV%4Xz^^3V7%5=5i@viD-yE!Mo8)oMhu)^7u$nF$vDSOw2&L6T*M( zm5#vqZe0P+LG8u!nk*mGqKu=s7m``Zw|YPUJ7RVhqELkgw^LJE*Z5D$d7mD(O=2_n zDkdoJNAD)a5Z<~s$t2Cuk4>UAn4LDL2<|E*Wi@pCfU9dCy$7xAIQe%6-QgHb_0^u>0Tfoif+OOo+c z{H-Kz@K!iglZm@0^kF>K-MjTXJIn<7;y1fje%o)_lyKT}%w==p9ZzM)-W^Vfd)=Cm z^>{XAw%bzLt^Mqc-Cd*Z&E4(#*&Ds<{j)cGH(&9MHOih+vQ@D?cTgAoqVS3p9^vWf zE$>YBkC@LRErk!Hw&k9fY zs_+ckH`|o3-EwQ~nZ>2`B^ICG2Lf!*MHcwqnzM{+@KR<@p|u5*SFe^B8vMxi@?CnC zI>X7IL&;Y}lJNIOEPS7!4?bQ(%oIfJk82{3z>ia|mvC3g9r*J9BbL{nFp%O7x`|TAupGqy0&ghvdom{^`;CSgy^S^A2b(Fp)c1J>A*bSwrW4eqW9^}+U`-m z`l4@*a=!F6*puhs74+&`;=%Q0a@iL@xkX(TJrTkS7GL2(UA}x4y=`x8bN$ASrg+7K+q&H;XVeb=ky-n>N~yJzb2+neb*bGk;PF+;;Qcm(!gxn` z@|`9Rvh7L;e%L)Jqss2eWsoNbheU zLf#GUf@Rc&vUZf%dhc0cD};RZ6(z>Y1p54H^fw|Y(9ZzBfm+v0*?L$T;4_9NQEN=j_&e!m?#sW8h~ot98yC zdvE>Dgsd+i^$wdAca8P)a*n&lbdUhThZfLuKs}34LOx$qKL1e1b!w&{SH8G!hU{T2 z!grR8-UoNiWA)bblL}GrUa@dRo^uXz56O#akI*Z?F+q;$qWFipS^d2`VmLaVBKDZ6$!77WjHpUNgx!p_d6fV8}wCn z|K+#$G6O)07Ve}wNBA+9^Pq|m+wtBZ<6-DAvx5M_8_N~`6<)u6QOISNJR4&f4CvN& z;`ql#Z&C0gG1?Ttf@tCaL36??PC6hqhV~e9`2Nms*cy}^qkViE!#R(P0|Rm$?y~UI zhWUr>4MJ|u(M#!0y^*mmeLePBV|r4>t7^=&R?KBPzORB{h~J=9p1hq8 z_KAOmQ<4w;$;V{^Yl|%`@rx0<=kF8bVjT#q95@OwOLJAcEjkbxs0>~XISsL$19tSC zEC1UOKG#vd=f8xsc9}%&cUh{7(sdfF+g%ZE3P6E$Qd{Emi^Hj zREL!ZbHv9L24m_K^58-4#>^Exa16D9;Dzm?LUsbBI~UO#AW)2A`^{Ib*kL+Y0D1MQ z$gK_#EyM`DfzXNNg6@LeJVE6G*$%l3u?`<&6_OXgVEL7N-QxxRk|Vz3gK_u8fhSJ$ zj(P+~fL^sC*SX(pt(${aKo9P$A3za6@pT{v_`!M-f%}S+twMj@)QosHQAxoLKT8OR zW;fypyjYCzgyezt`St|2ZOpFpYFy9EB`7pkO&5Gfxrv+;TSiu+n z7p6mWP?Gp0^;g|Sa)AQnDEC2MFu@jX{y2f^!TulYivLH>@=*L=Z@wdf@-APKr~CO`n<1s~*GF!KffODZ&u zY%xj)E(zLKBRmFOKoNW$y5PFtzR-6#|M3XnOL*rAKo@`hPuytsA_hQD!Rrvf-=PRs zkr9LnVlDWp5HF1#^q+olBX^d=HKB6B4h(2Dl`k`TfYN@p`d|Bn;JZ~Ta7nGn7i zw@2%%)PVV4SsGnfV5OT;ML%>i$G(t%T zDM)e~z5bGA!3k&X8&#lkzvXsjsD8ocsvF^NdL^Wm0&xRm2W$;UIq?5*v=Z~$-d$n@ z=(pSl5JF=HCihcsvn61X07)yD!M%=2Ep3sx__x0^3KI!QV2x?%Lzcr%lRLoYe2G#} zE;N4tnmG6awG2TQqz}mtmjf;bK^=70PiVkKdY=}6EM5|tjADUgRQ^joFfXpa4bY5j z+=g8W=G}h`#{d1RdpI($LU^HaLFGWtVT^i1nSgu!KgP63L3*U;F##7~NMD_HjN+@0 zQUksM@}?KO7g$oS_MxA{JOs=`cwyf$fp(ReiSE9*;zBH;RRphx;rdSZKjE~(Qu+zE znd)J4AmzZy1Do-W1HU8=o^JCGcIa~E(cnPYPcEA7~YE-LI0zP0THyWbF^~{i7gFF0J5bXXZhej7Z}3{tdJx_L*DZsLL3#h^J@dYca<_ah63RkHb~!3=AWQC zEyaAIuV(B}GWj69I^`eini0FWxBq_#&x26DG~_=p@qQqjf!VPl;a)Q5vG`fjaS$=} z8GekegF2_~%WEgr)jRE-%Qy0!{3kY!pRMHw9~riidoN#c-_>6wzLp@W;dQW{=KG^o zmClKPAN3rllaPX_K4ed81$DI@cG|k#7Y%@=7vp>6#lF4|##4X2zIsE;q291!M14z- zVnaXUhU>B6{4jrv&6Vc9Z8N;zutJ! zFAtOiego$vEHVVfI|xaNI5BH_lKvD+J2;0IR2h@)ZPj#!Ia-+_?}c;P82eZa$;SAv zb!T7y9TXbYm$)$VX`vm+u*ZD!SnG-LZ{V7GD*c^zov$Xp+#JQq<68lC@W4LkuWPS-B*>O$!NS4M;ha0~ndwYN{ERJ}`21xSGzuAVTJS2)qu{3cj?ZvN>O;qb`{YYV} z96nB^&G=Xz#Bi(SJ*;k9dr0+EXMW$%D!j~S3q5w9Ow@Vhea+AVY?>b_9jlHLwQR8k ze=?mYHSm&t@pC|Yg7NnKiIMEUel0vr^KQ0NMCQ|}bbIx|iQB(bLF@jM7Mazph0yp- zEFCcA3`IZHfwgykVT#GG?Oct5ANT2N3he!4?Ys#|g-zX#HVUrp2gq4;m@isB{ zL7_hsv2~8^xYLLE2EB*Suk-4jCi&8r+Lo{sO}Vfr8LO|!*rKoeN^`5;25Y`0K2TSe z%=WRG&-94`knZ=VzCzQ^bLRZu9|p+|;~hz#ojZTP%u4_v)15P|OZW5ZI%MY4_^%t; znOD4?u!C)6Wm<__Vn}+kZH!NF@b*XepRGurH>$aFoC%A^+)N4Q5wK-j84)t{MlBj+ zHAh`&zjDh`k0)@xa?>ZW|JXRow8}_ht2>RBsNS64*%+?k9K6k$;I(A!yJzy?)R|?I z^^Mf$U2C;+-$;99@5`FSaawl0DM4swTjNM9r)8oW^O`jNTOH3BeEf)O&}Ch*yJy{$ z;AD+!3S~WJIyd7JZet=W1sjIzOuZ&>;oW<8f!Sm3jK1dDn0k`KHS)m%n$1bpj+8tq z3UB5XL#&S=GiBWwO0j&P5E$`Iv1i{ojx&8Q18wH=74$Zp_FrUQ9(9@|^S60qd8BV@ zF7r*;j+M!`et%esCx1YE)wQQ$^rqa}Oz9hETO*Wj&UOsf+5!D8A)eeTjLa-IOElWW z97FkzWtS_YZ_0L@{WVdvcf^x@;qd*v8Spjf>{{0g{>Yjw`J7f;Dk|6JDwbq)UPJT>oh?!CfPsEbm@VnsBgDQV6HoS=BwKZ5qpQ~M0Oa<37~fUH>yrf(GUc-XS57CyS!)+P8QHl5SPjR5~ zYhX<9@FR{ryC1QA5Dueb7B7x$=R|@%#pc(8H-VoDOx|LS(aBD`uMs?*BWFuuu90QTab(AF>XLm1 z?_A3ehO^1@(R`H;gRbSt^B>-*G7*OBGV%=eI}Ao2DYj-tod=!}=SOfn8L<0|Uvy(A zF%X||_fUf+FFAB%1p6)Kg2Td(AHOt1Z)oHWPCS{A#p?Srxe4MtRjgLo)`-O%5w5FD zU;bj*dA3(XpDKR+ORxsI;-Ef#^h6b zL&&^;TB3QlBgI|{$=0P$+}HP6yHTpP)l9!(jj=l*wyf8H##HynNUh=ong+@0faOHjD(68)mQFh&k11V{+?&#^&s_ zGhILH)ZN^3+89_q@08v=a@v?$-os6L?9@>l7EqVjymX?#ws#>g=pIWoS>NIL+djcQ z+&+?OxPICh?+8dW@1A0xZl7@txt0S$?)d@VV;z;oS+52ScwSJ4e7TG%*7R0?bTh1|_=ETa1 zo}4;#J=8Uu^Qn6#xIHopuUc!FP<8O_zrWNKbo1Ou?^5rwck5ewXMeoC@OSxKI={Dh zSl@eY%VYHHz2M$??|z)=KI;CQ!h5KB)ZJS<=$ddJbszuI22NkW`<|WGmYH+?i@w=U z&(G)&|2s}#^MVV|rV8gzC%7e?Ckvh6mY?%AQs??en-*-xi`; z-=YV5D}VJ<U948Q{vsf#@@!me8?Nm4{+rqBC?ko3xn4bixzun z{Z>3I&*oQlJtZ#R&cMg%Bf>?*5cbLRHhYyH@~ONGTv%@Iq+YxWmo3i{0N!n7eR$7* zZroK-7JKSBtKTk8^-Nt9b?1WKvU%&?vhi-(%Abi2$9s|j&EFTt6$HEg@$@`8a}m^L$!-JRGWKNmW&+lK&P_D{ zZ(2g@PM=N;k;~G3(@vjP$JL4S*Pd3VfrvgEqw0eCoY#8CW)J3WS1rkPx<2QJ*2tHE zc01OL`Vc;dH?FkSFSb4#(?Ed-)r;*@xum0t+~$1i&TQ+>@H&#-FiA6*-u+m2TiWZ` zd_AujrN#I`C5XpmCA7y}Y29{v&6DAG5o!MReBG0Oz6>`tg+!1l`HMXgTXn!k{H^@b zo?#dd&9Rn!*WPls<)PVdc7a5hnmHKuN^UUzJZs{+5QG^j@uM_v;C)c`1`fOK~4g9-?1~!X&CEgulUpMEXoaS;hhS-QwI;=cys z?|8X%Tm@9>&p%!E3JoKvAuabEG%U_I+RTCmcB8L~@G)+1tm`w~p^;^`z zJ4cBdMv_9T%=&2F7n>0a^G0j9))8=&;RMBjG^CbuW>BkjpI2ptH?pS1jl=Dt%Z63u zIaI5>mG3*<&2FIN)FR3d){;AX237(p5309p5C|8RWL_LdNB#}7bhOVcO{v1zG*SF% zw5g(mRL0Kq5pFS~bLMJbPZxAc{d+blx|gI5&7X`Hjp>Dqzbud!hmn-od^kfWT0zOH zqW0E;5!Kh4wOf~4@kG}(U=hb#(0r_cbwjPHT&NzTKbh&h6xYK&wbT5Pw@qz#jmGHCSI_VS@iY!bE*C)FEUciZx4E`ZQ3 zu2}e{O-VAVLg`h=l9Z%5heKdAFzjBgjE12@O_xf?!|DZ$(}hC>m(bDSius zVVYhX%ZZVC=Y9xBO^p&|i$@8Ub% z`DUZ1#n048F=bC`dmD=giAY|)0n542`%}77ef7e-(@JVz3`*<$POF#7{h!9pG8BqZ zUA0Pw338wJiJx#(-S3bI94;p4v zQv&%IMEE!0S`-m4vn!L<4B3kLE_PB8dy22Jh1&mTi;radhKM*@%s~K*ZlPxP2(pXZB~6l z(RA!$+UH^zp<cRyj)R3Mw1XCT0X%HeNPcV9vCRapo$&!woikB#nsb1o|phrD*bOFSDQ zT>H`8knN6tURgNM2r-$Y zWznZ}ZSn1{1^hfZ!4neJ{P8-EKgtVnjgr}obxaU@(@mN;mxcAEscSJL8?tIE2w zo;53uaJ#2}0AD(&xU;P!EG+5RB+%C`n_7v~F@}L=f<>8p1+OkkD^ihkzFsB;P2}IB zAKmLhwv_lS+@k11w^JlUHGbtz9PvI9ve3v%;LwC$--WunJJ5F3+a!0Es+$J+-PE~z^dP;kk ziaU;sw*&j=O5EO$&u$&R*kG z%I)K1*5W7CO{HCGmfEqwtQ?7Gs32_O9GEcZl?qv%nj&Owz?59-9a1GN#)>|Z-Z$pk zGa=%mo!;zJLu2B5r8#ja#Fnlw5#*qq+pL&Mvn-2JyQZsAa?L_qwRyOxb{aMxvEkL) z&O0)fAZI`yu=~L7iU}TT5H;&ANa>PdneeTs-Bx`HMYs}suB=aOsKFgLwIk{>8pEF1 zq=73CSj0`Eu8-D|bzdPoTK*+AQW*ttgw#Z4gcarRQ>f)8hr^{c&O+G>ELlZ%wUNHg z4&TIH(borUk!;TBs_O4w2JGTihNgSR?gWCm!AtoOG>Iy5V5`3xq`j;ea~+XiwLfK~R}Haj0f{aB&nDZfPR z%Y`y!Zb>h#3a@uRvXiEaTdtT_QzZ7#m5HEe>E@tk9@M;!GtqLVb%bngDF!X42@vn- z;^h7^sZ@c6^g=}KS+cG>X~T%n7TtoiOVh;CIyVbl<*&4Rp+f*89Mbm8J5)l$l(1@8 za$GQiX+=tz5w-x}IA{oU#ne>bgED%pZ41{lvu#nhn`=dgLgx(Zg3g^caT%Wwy}HqR zQrUa^ePv@}h`9PmQ*0|!m=u1vJ*KsYhh#W8(7`tHnbAVs7HKv@IISQ4|(N`a@?gS)>N0hQIJ1sBL@FRDMLmS z)sw|dzX#H>nM8DYnzR`$*(++XV(T|vZZT4Ivs*rbh&W1kG;h!HJa<^3IE&Vb4W5|i z$w09UZ?p=KVhiMq-Ebbh{ikv03fcG+V?B^fJL)B(5+6(-942cqgefhyi~wboJV5_< z9QnbY7JTn_Q4&SHgM!g-H`wUboT$D@# zG*$QL@e*ubQT`B8cus%9$W2|$MzbkX1vIp_k&f%62d~08IqaG$HQGs!u)wO+QV@9c zu9(6mHo%^O6=;CTBF4n;W3-SBC5+=2Y!1PAT;t3TrI<8so=0LL?W%~WIeDAGveFVy ztt9>?`bi8yUJ-mPn#L@dndoh)%_Ep6{XHf=j?!2%FJUc?(rAwqyVbfuWW2*Mgc~6q zF)*@&X5U(2I;XHpF8^=NTI2_^m5-7S!T_ ziv4NEl~E=>>uya{OVmW4siRwz2{#V1nA3Nq0Yj40b?iuUxJ>dQ%hgPoc?BWCgk_wA z1Xv=cHfT-WP~uxtB?2s-C%68a5?6pzsjC9vmLVnOZfg7ms0jHXLOVmodesj}w!z8x z?v2(uq_Jk3J06}QCm+S_40>nt(G%oActtC#>qfArfRSG(Za&0q-v6vaL4O(CP1n4v~}edobG@=Pyr zHjWNG+_WMSr(10+VGLLOWxsft7_2$%iQVIk+EnBA_){|MT$cu7oMQHDIz`^rS*#PV z&X86xE2lzuntv_hnnL1>1l1dB{7_Q{YRcv1COKg*^nhD+DgU6M;h&whpOX|-jf}2r9yK2SclP_;eEQzh~63e?^XM! z$&E)%j}kl{vsi8m%#ioDm_-TrvPDK7ry6-pILzmci!83#3ChFT(@fNGD(3cogS(U! zjS9Kl@z458f<(6<>^cU?wnwewVMVD4iv^{1;WAPmPo9wX>YTm zQ%o$?!J8G?HaRsvyA9o`_Ugt=>~&S1biI-`o1G#A`@V|-e=~tD<|4!AxTx^ybcK@Q zKRA&)1w4aAp-YL}lc@yDUQ8&wCgE2c;AD21o)d=_91@W#0$|{4lnQ*vb2M_lbd0!r zT7jh|cfWX&8Oe=3QI%7}?=dH`)Z==1q9mm0w4UH#1b4R8`3r#(WLzm_eciqyT2LDrtH%moOAZajircBsK#8p7 z#c4XIN^b^R+8n&7HcHh8CIL6+R>?-SM?^U(l{6u1u&^vg{lXJpC_M-%j9ZEF%>@gq z@uHeyqoYUAt~F7LjG8i}X3Uz-(+AANQr$bHQZT1>8{m~9o4v&!PR4a3$8F^P(nI6` zB{n>srTH}!8Srg+$D<-w^q#FySL$R)xEURFPDlo%S57N$%QgqKbALO+=b_m+G_wxq zDfcpsnvo5$(RIF$n{+1Z+2WlOcBCUXb>r=Nu!crv{;;O%;&uz3gL++w=c`@7 z^CgJT{HuU!M?!dYJg@sTk}Y?j_t5)tWlod`4c(p+olD2vprZ^^c#zU1_)}kgZTE1g zXwh5$?D%as-Qbh$`hjr2aJ{tDCu6@=^vgUxSF)?E8V@(>I6#e#ud@~X%T6}#M>Ig# zn{VLzN8dGVmGxTmj-NkjW9VuAIXMxm6T+I}yOC*J_YxOl>qhA z{u^>IlS-p}-``@7O>N!3KBpen#m(9>5HPIVru~-T-%z6xld`KBo#f&Eq{g0S>H(c- z2DH0@H5_=$Npo^~ylxHUyLVbw;AGwn1%`Fi0XB|88b_Cnk3i(YpIH3D7|LO8;_)Zv zu6&Lv1TjHTQb!C10;Wa*l@|hSr$v~3}NkDU%c_H{5JGgqxdL>v_sOS6D9ck#9GcN%ZBF5m@+XA zQ+G)MEG0_oE?D8max^uIHH}u{zSEu?zs`Kp=G>%|B5;a`wr&@qd6dqyx>rj?f}>Z* z4~b~iRsI`GGdXPvvFi~U$vgz9Ym7aU=ctgX3|vW8<5zzkG2V{#h=i6gC&< za_Z9Qota-9p;>2)P(<3v7e+L6n(WQw}8FF zb301iBZsp12N&qTr{4?f>J)LYsin$+!oWRra724DE&L&w)_TVhnBkZcijIB?4YHi=#>UA+EwOjei|Rh$M$}WLQ|&?nEP?pU@NAZ137!aY#RCU# z7)Ppv&=^ycpC~ga4o{Kv^dz>slkSA^s;o9P*6p9fXlixN@YaMVl(Qp0#SMm}#|N?y zh4*_OqJ4o=hbg4qEtxg0vht$$eXR*BYhVtX(x=+I+(%p1+7QnHN>6F$I6lA6#y{Xj zh(4YTvP0I%CyNg7r&;w~W^JT_Ogz)kpr?2u545fntFOvIuJSbA0Bo5_j8zgqcb3BH8lZAQsTJw{gEpoOM! z1shFG3lsPTZeZ;A{9@8X3;eB&8Ns4fD@9P|A2YB;n%D%TF{+vfM;m+!SXag^3JTrc zwN@sjVK9EO-2}8F+qOFyElmK~k3ezBlMw!3i@2n8hq(G`v?y(=nl=%3E4z`7O>8L{ zkzU6I#a~}83NF&6y;C`4q_eMF{-`PJ@e~gMawzj@?Ez_+#C4_#GTt3iwC+wgp0>f` zRlgwTaE7=D7n}-LTS|smp^sM^b-FRwHH_6;mr)2=8@{=umcmFW(;=81VDBuz*@lkW zCOk{mTDNcHHVaETLD5+gobu>WE6El48m$yzqbwS=C<)0EE}zgf@`;)3XoHuk%ojPq zrBD>JoWE=Rpt)$D7L1c5GfKF)>;DnW6n}akspP6wlBMfZz5$Ox)qP{6c}PFdoYR3{ z1?7fuVm$4b|n4Uv=PC*5XtAc`0!x z{9ff^ukv;VN6uYY+O09Rs9WsR*%rl^E{#n1bEf&^WAn$^KQ2xN=-2W?_iPcSzWlJS z^Ru(ekXJv|db1Sd2J z{Okt&rky#j2}|sFA85y=Q(F8X3%~QBS-0)oq5V6JP<^5xZQxVlzEzvjmCNG@|H)*swVn8%-8x~Ua&zC_Je=Q6(Xnp<^F7^KV)tL0uO*f^oYqdD7@I{m(bQZhMsOE83wPLMF0nLuzzNx^#1HG*P(pnCq> zp%(%aI9_ZbiBRnv$adL4KcjRpe89SfS(Olc#*(71HG4QM6@R_k;{3AIlTe!CgRN&0 z>f?iwW9K%c_J9nY`Ab{N+I@kr#jXvQ6-X&?CliHgkjt;ZN)7c)0N9+= zvc(~5j(ePwi)~*Zq}^bx-KcO?no?EuhUQ(CvTdb{oWo80=fq<6{{@2=eCTPcQ~Fdt zLnmz=DN7psYqnxHXsrs?E^$=*Bx&uN#q}P^+GAm#w0Kq3)N!(RiZ@r6iE~Vp&!^-$ zu6M%ADN&)d%X!^3+RHQA8mBz^FDGEmvn;V!N}dIpecm%eLvAUjNN9gmt!+{CTFphL z&ZKo)qZMPcs@&&=GsmSYbv27;t_02*-ao_gIA`+K8B)8}9)sRlk~mx*`I-@&>7_tT zK&n)m=YFcQH1g^7sK#2|p}CHGw8TCmEzf`iv|qPkPI>Li!q6iFosS}3;{g|Yxq3QtSYCSoVdI?KbOvxyYcQQP^51@(Gp`q%ea*swG)s1jI z>#!*fl}ua9+`PN66gVew8(qP}a|J8^-9+tKJq$@s5z$991s#fMXEzTa-p@i5vv2jp z>UhNhIY-r3R!-E`bOlsd231@S)VyR*#bUp`Vj;a5ri|uPrm?tH)7DiituA)qYWuX= z>)@eM?W(TQ+?vjd$-#0vtb@r2j%XR{)nt%5j@ag~(#SvoJ&=NnFHgHDMx%4dLy9^} z`4FnFJY*ynU#&AI_|*=HQtNE9by$~n7bc?^S8A*@k<3}LSNF{tO;wJxY{cs8!r5+| zWwvO6WuRu}QwGafvLlyIx2xVVA_>e3sHXS0nrbq z26S`Z-Z~X6xM1#i7s#=^zv6K7g88q!lytOw7btb)8@otpmy(WFSLg55hr7yrS}q_h zubz6Qt4L%2|5>pPG8QHrHpY2$9I+p6-7jCrTX(f{=DkZSOnJ*{@!yU-+Nx}eFHJ%n znEA7F^L(Fog@fOYtv(*Qc#ex5Xi7R{sy746BRD=OZ?LbJC8aB{_zb}DDbKD<#TbyQ zj_8j6cMrL&xt-FF1k|Cq%yC*+-d?6qW-r`ZX(iPui|pKX&f4I>^$-hjnAGu;9aAsM zZ22fej@liM+UhFe%2-ylo ztH(blT>OR+F1fuN3>P2btY!oA9y8`N7JudnXT!x)raMASQfN#4obb3af|U_zo5&NP zaPe1ugt#=HB$QI;goinngT*4>b#28H7ID%dPFuvJMV#dd{l19F#a!j*cDHbEOvB&8 zB)}9fTD(#dYAE&Un!bkiNOi*9ra}r$PQj(LavW!zV5V0JMI0mZ{LFKCC9k0ZQbs@D zYj_+L#U*e#P2~1*z=UK%HRK9~OSgntr9nYM=NBS8C*0uUwmidhhhH1)BEh1qrBGVNxTIw4N?(uOjC5m~Wng&CM+yNsT@%d1-=}{Q@$_p2t3AfB^&{Y`DiWV8%Tf{e@w&Ex4>ZF1eA6VfQl=e$q+H+iS zK;Kn-q|xVVES4l=i`iIw4|+z8rMrPqzvSci7H)%#V&N;EC* z07H$>!+mMt^86$-u(32&!x8C z@xv`GK{CK$r7Il|l==P$D}X44+sCc)h{QuapF3po@XK`jxEYRw{LtzK*35u`c_$fs zhz+%v-cSu^;Qq8UCVguRlRFXe1Po@#07>_1d4xkD)xSFFAKQs9O2MJpK$)%~ohY=( zS7$0|ax+XBITmvW2Bf7$lo4UCVqD>?Wd-GbjY%kC@w4jo1awt^^y!M(E8h5IX!<-Tzs6bv{5N}tE=96?Eo?sD|P zs_LmYtTiE3HrHyGSI5*jJAd&bzNO((bGYPJq6wFRklJGs87{RbJryztBgmv_I#Wa{ zawtVVX@Z2YRt4xgy2%0Q-PeUH|M!LWg+yyA+BF~jDt*}QwKeY=DkLRWpd#oax7dx4 zPZ#93n&!8<;diggNpU)xTEHhTQopAE^C$+ zfQ#77tJ%Ws7jscs8c+>9C0PTSX!dz*4Qnhu&;R{AXLQJ?EUCXnTh!w7Vjn}QxHfHl zUI_1j_2Ijis6E;Q?P>J6U(kVe6(=x^S~j+KeUy#7^@<6<`xnS|gJuBt}RJ z$A`)yJdFjpqQ?1kz5tJJz#phG*C5^n{Ym9#pd@q(aRIHN$3pz!mbd(Ab(Smo>Yp6halkXpH!b*-N`f zhOKQ#V!|>`n;{#KhM4EDEgPF1QmwXwdY0)tVb<^&v!qsZO~=>R6h`ud&*urrvh60e z-mHq;&iOunxQnd|*ZiV3x1|M~dBuSs!CK-AgeDxumynO5>q zHA)QuMxe9-DwHPDl6mG5^{TaGSpx-mwD#X?rsxX z01#G$EbbQV@yUV*N9L4rx=(Sof}vbexXIy&OW9vZuS!y$c2Rq{4~p~U6DQ#WTP1^w z2^YT~QnwaA96@oDK!lWI7~W^`Pu2O{tsL!#i*ZVsw2;j0h|$_&$|xW7MhHo;esL{o zeL7(o<`cD8AfGUm*4Fw%p;jp&6!N1{;-kAnoBV!uD_U9iOJBUqR~JsThD(e6e1-Q* z^8%s~gMxaG_SwB|haOtxWinDhT-p8eJH+{T0 zVIm8M?)yq8E|ykf@nfbXgR@E~ts%wWC?zaA!RcBqrgUYv_$Y5lWUxwCiZ86Z9_AkP zEov711X z)s!h-VH)7tY3a7I<+Ga;EEm$s9*47~ev2rt5XxU_=_8ETX-v;Hi0s78Icm7jKV@^6sR;dR-HNVqFsgJvgn)J8jPO)rq?qF6|Mu;WbfJ$zGz1_a`onYJfk;k#)L9 zs-xmo%R0;UR4wYosVjUn;o_5eoVl@$rNPG1KGQj_9%2RiI$V*jYj5bR717 zrMS3|UUAx6L$#<0l7AE}#^fr!qzunPs=JSB8J-H2eWS;(XmGipdW(!jW~Gy;?`BQF zC7C$!LaFA-3PrT1j#`KJg;XW`T6x`eaj-SC(B}(<)G`6;bw>3grQ9uqcPT5DCH zrdXwp=?EDY8A?YwY)W1+q`z{6phxPoHBzUs5QIWr*;<86-U%CMF=yf3o3~Z@lGq1n zo1C@G&B-30V0jzU)&@_>`51nBEqN<%LjoF8c7#s}K4(?@~#9hKbDquYDqBdQEj=t_zxw zlT&q%==&ahZ#KOFNsFy5msRp`S^ENBd!HfYKV0iAJN-3Q+&;h8a{Ik(C?(-pm$w!B ztkZt4_Ka%0mbaxF2q)KT`LEIg5Bf3DH!yfJ)zD z#ePp(0{D?npKtrD!(3**q4t7u0Nmi6aX2f@qL8=ZWRwMym3$}by_Lop&4&q=Y<@4g zj-EBtdz~v5dnlD*S@^uxv6(Fe@YJ&C_v*7Qovh?GEy<#?W`R|;RvFwRpFZ_(^3Fbt zsPj5^>>+Q(Hk`Y+gReop_5{89EJVwy)Z=Kl-bUEXJu5NFiJI=47H#E zXJk*+!g~?3r6I&ypAgQg*wjSu_{k?v;5LUsIGWH_3;7=QsfMfapyzVnCaU9=DtTNG zJQ3cECTwnu7!~J}YzQNUb$ID#e~Q!cPD+SR`xm zWQOOrGDmSts}I2Bz+1F6yl(;PLr9-%Ri1arV_7)`iWrv{zr*%g-Fbl^90P~?|24dp47nN8eDmH8y}<)kX&WQ{I@n{V~{ zM5P{`!p8RmrV1}vjHVjuhvn={r`pG{tn=IxOy?Tt&)HC`QqHq>yUwyiTCI*ER!*hl zseSQdNP1ee>$Gb1X~hsK$VGB9&vIj1LlUr#+Rxf8JzJ;B)giB(4@`z|OfbooRu#$A zq$(08UI<8ndMQ8DAg4g8EOJQ?*xWWWmihuDJw7d@9xYSN;ZK$uE1PFk@>x~pS)UTF zY0XwCEeIvC4r#2(->Q{I(LUB!*+SLuW`id^uk<_{&>5lY6wQ=`8c1d)Z{oRagM977 zsY$zfr=Z;*BEvox;qeMcuT(KL=+dK1f%zzy5Z0qIu$p+do|CEewn`Q82C|!}M!t@$ zBM5aUBO{{^Mx|=g&K=&){BN|EgGg~1T02C*WF^(-C~#cy>f})gI;}4 z>A?47O0;l;IM~82lLRBGn<2|X!feTkDlxOKuKEl%-c@T>@vzXU`Fw zm02gn5$hyViWTGBs%~Ot5&5`!z+l3r!~JTGI1jb7Pu7gc89vuME%fXRKDWjk5tT@6rZKph|`T>(} zwHsEt&9>5#gN>Hp>T>GmYT7JA3njc zMb{cMzhl?7!L6BGqBomerN2!4+QXYW)^Gu#X8Q*{^sh|F7iRh;M}$+%F{q(0nocHC zk!{i3k!0*pB1aT3$b+x(B-&um8ubmdtMkctB66R6{Y>P5`fU@gCz8N7PDVyExrqIH zmK5aHt?gJN|A^Kb)PcatkIE`|4KC{N+>HWYD^|NMG$YO381i*BGTs za(HOOj5JZL+V05t289gr>NFC(%Al70_ebpSoQ_-@x!(>Pj~tgVam&|JHFVoQFdD({ z+i{n|oKwE5N;1j)qUnqO#h~I@&Y{24P%>%q_^OEhc0^%nl9|r0lav@|n4|HfoWcje z4E=>p!qOx&^*1;PQbn4@zwuq-ymNXOUbLh^i}lGR8plzMY{VE zv6O3TDvtqi>qrb!tu+YrcN>2BDj7TXNQQB~9-J`fg*yy#j1t>aqUC)3isQE3S&oyx z2CDqqJJ2`qSDnwibozrGH+|^O-+xWy(MQH4N9V!JSfZ0PT2GwLQ7G6*vNMkv(;3ec z(uqRn3`OqDjNIFa>D9@xJPBte=*Y%LXyC@)bsIL4u6M<^biLBIKQNwroQ9LP9{==_ z4L81{-1ZTnBUJTo@Ey)R4zac9OQrC$31j&fn-2Ax6!Q1GE4hrBBKZB^zluKt12dnf zIFm1kW4{yMl1V}>NcF5Z`W_U%cm{m-F5j}id=)Fz8EK8@xgTU_j&gkd3S`IpAeZ{ zQV?m@*#Ej{L}Wnkpta23iud!!@Yx1=VncXuJ*VGjUyYB3#qnPIefFmaA~QYbVWu-@R^ZA>a#Q$FW#-$ z{p}<5)q5jEB{QXm1VY)wQZC(K!>8VjyB`tjiXGhWzITI5#!KCP8H>_;Cj9` zv6gmmimNyjV`>A(Y~q}oFapG-$e8uc`jpp&+tHzO{{HWO%fGBaLB18P{-52D-~atj k`CI6gpEfX?#iaV;iF{#CA!l$PZW!tR2gNPXl@({#i zpmHuEsT@I&R+5$%^@QY^phYJB3_KkL^ceoaUtyNVjC$YIU)^(_&-Zhm=Xu}z*FDos zoarWZ7Re{BsJd6WW09`9s4{0y$kPH{V8ZUIo$li60t%i8NSH`d5J{78QA)vWDGB4` z6ikzoFw38UWPcJ)1XA#0APKd>6to1B(4nNDS4o1ufdIxpLIKLnC>I$C$TpJDg7Or~ z%Vq)w%p`~{1o&G>n1?bAWjV^d7LuzXRlWppECG91^rFy8V1YpbdIS9Lk-}#NDFhj% z@Rkve{Gin62fK_i7%<|4q3Avn9uRQgzx>>r|Muh=IPpV(I|Ch<&0QksKp7a#GO(h` zMYRHz6V=D4%FNtpLN1U&1^+kMM-VYwA2qJHCtVFRXg~~Fkb)j2!W0mJA2S7f;2@$e z{2aO%1aKGDAd+MW2tmTsAg8ECk&8f;_dqP{P)81+vFXCoIeYmg5q>(R~y zwjS-=W`PvLeO4zBgTdfIj5I1J8p=!x3cC(DXVOulpvL6!c058FBpDu|1O`nWp%k8( z6ruTa*I+r!bX2T@P|qrlPlRge$WA`S?$)Ui*e5K#j*i|X6E8<<9?MJt7z16QOnylUs z5Pv9ZbbG_G)TX0t(FLD0S_Trv?RS4s^-*He!A7okIy2|>$Cp~DKNVMtqc`Ml)ti1f zc;vd#xv9ElUG}-3;<~2=oV>WD^I2h3^LhETW;Vw)EV~h4mdsrJHP=+MaphR&%l6&j zZ4aI6&d;WmHIriJ7gm0_zv9CDJ8Mdt^+&oYa&D2!f4zCvtr?m(GwGcPe_ih`T=K*j zmlE5zWIqH*fimhjv3Z$`>e{#H7#Hiby&65c5Ha~qEan%w4z`gI#RW2sa0&N*n89d)tx!t@7r_Ez5Cbp z^btLML|sMTKH0sK<8L{ZpY5Ao8jn>h%OP>d_0MmOzR@0`C~$e~%PCH%KAG zD24e(JemYf<0N2>{xD?32j`*tOn5**^MBdu%YSR3D(KK;<&CokSqdA9irB$RUDQ#12ufIR-K#fQBd#gBqle4zpn{2tcBk3qo)s zis1UZ4B){ilp&I&3-};b?8Q#Gk-w0iLY_i*BPSKtkUx`-AP2=W+5*=G>Egjd7)TD>*qs)$e<3SC!r3>xrsVjpH*yOOhaBa0O&VBSqH}hM8@f6=YJVRamRGbS z{-vzS7-2RiY>?-7oLTh#cGhzH?a`(-Pfcm^@viSv9t1Toba_E)XZ*zzX^z|b53Ziw z-*x?A`&SxU(qN-9lr#{PTtDFK?Za*8lGES7qEAgMSZQ zS*05vDajN~@9q^XQ^nseb*)S56%zZ*Q4;4yc9Yo2x4U+_dbx42mXEbY$Ss-NMq%C6 z!955}5MX5|IMs}qzHVbMwS$X`ZcHTC7PXa3zFVib4b1?-I?sF29ktqO zdDW41*PkaQ7j7)iE77JzBo*hcE6$6^Ei6PoZB_Zz9r)kvT&!hR*`kvgZvL@9?m%%n zSD?P5h?qxsVeK-E4H!)r7cp*Oj9@%L&{G&Pw%l@x|H2Cf9;?h=>$6<0HhVRZh}R8A zFfRBuu?-;jt}x&$GDR2>xQD-&nSoJ*UoR5#v7ce**fjh&FBq4y8*CXq`-D4hV|av@ e9nFg&%@ZtRUxfRX7}jEs$KSV5oZx!jtZD&_U&NsGw&|=%7(1 zR1mo_3W&oP6@);Z!;xnlQxuSmDJrNOd47UC4_KgprYulFxRxj&a!XW@0`hE#Jl{f| zGmz*1>jwptXoLbvH~L?4_#ic7e2}j3pZCv!ijB{KXid+7cuhfvWg2Qq07^C`1WlR# z@3=F}j?Q_<=TfuZ&q&RGUzeEwP5=LY2tlS6gdl6=;fOrkk%u?(2tXcT7H7*x|8*Y+ zS@S3TK@@r5o(l7WfOhsfObG(Y?RWS-2q>?A@<(m)D2#0WAhJ_opq)`6zfZ!%AfOHY zGfZ>Z52O4J_aVb`$b%6XMm?224rF>y!i>m+>yI$csW21; zD1+Z&WK#rPJ{6uoo)kf#Utu7>N~gj=ewF`tuJXro)jyuA{qbD=RQiFk)IAj*Jp4vG z4xxY~j8G55N4*-b5}1ctM@)E-^~{f~+snxM(naR;67mTF$0g*mLgY6#=nakLy#;!M+)*99X%g;{gb@`d98-ij=V&S0BP_Pjb@+mHdF!Jd%wKVc+q>(i8{%s>U8XXUm zV%Bzerws!Kgm2!4fe-p()`oEo^xcde69<%TPLGKX@U)R8To<5eIkvBO{j`Z$Yra?2%f~!iR&= z$q8|;MAy>u#hoV#b&u$iJ-+C+sDtE+q*0+N#UXs7S}H#89eS?ce$Rs^n~L|rDD=_& z{1+Vi`YiL5(wQ9FS{I36TeL-`t{qzlyJV59UP*(`9Ed&hncC>MZz_9IH zpxzLewIe1R0`r2vFm0g-HwXe<9^wimRy=$rtHNUlhPx_5;Rsx97}OpHcIB~wH_O!=D z>K5hUGwj9m1;#N{2~?k->-O=OT>lKv2( z2SnJ-aT)%qfnNor;${c^t7w9%=t%}xe_*arkd8c&K}oAb$lJoAIurf&q~?}&FSpYf zu?5*KAWcO@qK?)xKBA7PO?Dm$NBoQs6pokZ+DTX>Op3J8gb%-pQ#Oy*W!X->CkT^{ zv?Hw3YH9xY(|gRBv_7sWm@U|uE6Z)Rpffjrsink`+Da?|pzA@KwqI*?myh4j~t2(3Y zKcKp`A16#aR`YGc}*JpVcac;@Z7xF?)fQDyf1hF9vv$@555E}K@LSIn@S`#9lM)L%{-SfN4 z?E!;7pEXQ;mIaYeV<|QVxVvmF>u>9ic+BRs{(P@Y@r2rjG?xDH$2a6cSD3`ZHPKTi z`ZS)mPnXsi6}Vxep9%N z?c{FhGi_4{uA%ooByT>L_rct9oBq(h^!`=swDkmT^-5Y01pVH{u-FeiL|d2}E_^go z4SAhE{5m!yCStfm$k7|X&9M_gOJH(gsw{%HFVk`}?#6@KQS&sb`1!wL)`l|QWn-i! zw3aTSN{vB}3n~^x|Ir!wvI;YyLs9*_G%>yh8Qwbcr|rvk`Dv!FJD1(;#)y`Zn8;fh z5DnKRN_XGai@hDn($X6Lxi4X+mKcrt73Mzvcg~;seKzL>y5_a#u1H9tR4Y*^6Mafz zjmH+VWqS3|s4)=bVokly__%;jSxZ{Z@iO&N6NBV-F=#JD!A z6e#qA2Xx85yt&B~y<@MLh%4=iF+57`Z7ywjeP9O#Vq<~Qm>+*7{Zq@uHNAA4H&v)! zhG1_Ydsor`oLxe4{kF+#kDAk)g-v*aOb;|uJKfa-K1!Hh<7?NmyPiJbuO#Rt8nH_M zq$1tg4-zWTigF;e8FwBf+TbY#Tjtv12K?`jSf9`qI+9*{(eJX@mB=4Xzea|udob~xUQb8H_=x5~c*n(jh({8eo@fgYG zk&?@x8zR^lBTbkupHSnqu)VpCS3V~2mM%N(=B22jPfx(C^_kT482DWf8X6wx*N_YA z0%4@2xUY<|x&&k1#otXVxE55Cm|xKn70!$~dRJNndl1c-v6GyDK{Lo>e@Qs3WzWXy zhRn_EXWuMdFOWQMF(}QeOKx8%>3|cEoX_!VT~jfwYKKGcCy0aZ1Tlx}XO;L!*D^af z%_ZMM#AB^Ghk!P!+giNJUa*R|{-};H(Yv0~bd%hl@S7=TD81h$_aWyucu$N|59Wyw z9AUX8)yz9f5?^5&t{C+-jth$y*y=VwX4!l!s}8dYM*hjE^}g{VU!HQIm>3wqH2Z^*FE-7&q8e}y6e4i{6N&GZ;s^eE)mYu&G0J&55AV39MEPdqK z6&$Z~mTU*ze%$7>V+|L-H-BE7)+m`p@A7bKiCvWAxyf#t<w--I1 z*5O6u-&@-vVSU%)dQTv0-SB>%#l;-LB2yNH)JenH$TxW`j!(z9Y8zTw8tcC0=)j-Y zQFX~^o}(IADVd?QLtDwJeJYEsx;*kulQ^H>PXcPaP5Z*9cC0vh(n&cw@aZ-kHH&`q z+Bqq%&w|g0V;Q$=9zB^l4TTdk}ulM$}5aZhkqLf8bc0wRYfmfb>}p z4$wg4+F*MK+)@sT9L*uH|1_hwa7d}s=!bDLtcqkmbNyU-Z@jB?ey}Oje(XGQT5V(s zoe(As*sP+@yhxSoSbxyg(PNUjIj-;G$kw|;6S|jzmP=aba**4_HxYk=sauu;y zc=g9eo=$D(EZN=OJQB0x2m9YwG+(VUcd%v2ij!Q6ecPM#W!g4y`+|ynTNXdWu#My+ z_VnEaF`F9D{2sa(Jhtb}1j#N5+4c?Ag6~(d1KkzNIhfruKJi9B)Y)|=UH|mjvqQ2^ zEiZd&6SIXaI>Caxi3r0ZQV)7PA3M=wX~%fM?kPPrR@$u0a7U2HhP(J{YwAb-QeO!# zbn{U*e{#p(7uE2iX8yz%txMft8XL0V!D0+W#c=0hfD@QLw6g$P#9IdoFuKd4_{c2P z<7S4idEn075o_QtUat=uwvR|a)yA|j({X&SFN>FI`ST4X6D#vdVLqnIcA*A*dqH;8I4C}{RU+K{clc#1 zs^SmmdNmQi*v%eBxGcd^; zlNxg=D$;#=Cn=NJX^8)|6WP5-srpWlqI|QX!S_lx!;3b3rx@n5(_fmnUaGLH6ZxjP zS>;RS8*0(YT^5=^nw+W@%&y8#hT2n~Kj}G}(7bHQH67Fh;aWGc>ox50_MqmDRP8OG zY^9e|_lZr!?`L76@HHh)_YY-63+P1=cUF4$U=C*~_D!emOA9mR^~z@Ln-K;#$Q4sHn*V6yaX4zr=-7sGrr8B$0oNb)~L`3vRmv3SI7##?4`K$Dv386g-D4)(I{CoNHeyz6K5MH*T3p z=)Y_G$eFTV>Ma`ac%{U@7MrHuo3!rk@LtecNPa`}H2wu{ds2Pvx3bp8w-jHR2HxAS zf6@4s3100zVB&WtEdA|fo5=pe0m1(6D~_bm_@0S#3;m2Ll? zc6v-yUZv|f&0{WbI^gCLz!~uhp0p$+Qh#6cgv@b1kJ2A`o0d@X6(hjAbU%h&!(F^K z&f`96fNR`vpE3^b{VT=gx|Jh?v0L)gUZ0a9i)^FTi7ICktxUO>3zQpgb&3=ZiHmd$ zL2L_J;$TKJwbv-F*Vef9>>E6+7(olRSMZgM8l7bi~NWixyNw3jb&uB8a+s)_sSl$q|V?!nvzM#r9*evaq`9jyXFI{Cl>>9MN}iY4Gq$rXKuQ3I6&s5-sLI z`<$K!!xN?LlrRaBH`Ty1hh^VgAGwrvEYi(mZo)J-sOQt(L;fj;L$3WuDi> zM{Z0!zpG~!uf{JJt{dy|5+hH*LPd;cvQ0oQ)~*DUU%_uZFLhq=Q+?;4WS}@@i5|Q~ z4rMaWA^+~G{8G@nku6#6#Zo9Ee@%#*HfLeFfQrBgxgdV z2wxg87tL>@heX;;TAJdsiQh2YS*j1-#hc$xTY7X@kNqZZ$Gm`?xCo5#iv*F zb_^7HJQOi1)h?aznsMJk7{ed0oe zrBz2t&8D?$lbvQFz35zg22r8kQr2$2x=!#+hA3xH zYkub$hMXDoAgyth=aMT4)r#od;u%Ws9VS*~(TF%I{-@|N_lFgTTD0o9%X$Pq8_T*I zCqM)8U1P5}wN&toRT^W#SzVMl;Oy8iKXuYnju~}tI9D@nMH*hkIh9$BluOc>xTsPO z)!JqFb1$c3CB3Xe=Wi;*`e@-3Hf61Cdd`MjHzn#(|Fe|lcS^p?{@qv3nI*$=3!+mL z^EFLjdsLqBY7QAj+ewvBkCDj;TbFp%hfP^UhVpP>mGfOyLKtLb7brUt`~>MlzJxWz z`4QI4HTAQ()L|O3B>Y6FkX*hh~3ji;wiAlXxZr^44QN^ z@_r8Nbue~n0k83l?~t9kZ1TQGog|-nUSkMZn%`?6=rjv}w7p@;9;y62I%z$8O0}Kkr|EaNd?Mk<+ui zs-qqXp4aaRX8lCIz;QvaYAxUsFE#(B;LuKtGr7^b1`iFPSVDF*mZ-SdLazVkIFbY+t)XEF5pcP#Pp@ktSrv6Yw^PhA zJ7nA&IVwFjv_v|+L^sEZr;$!?{CYsRuOQ6k&04fPj9l1oIW^ir&R{rvoSnLk$vR~pGF zvKI*0ggpqT9DvM|&0E%dtm5t#At6XD!C1t+UAmRwE>ey~*{;DY{O&=q z^nS8v$rzoO0X%Tsdu)Rxl;I(1$ss}lj2{$ArnAwr)`Xv*D1OZd*lLMywMo{8-LN9O zywUc9knC9>xHZg{@ST55GZYgGZ;{5`wAJ3sAk~h}Bdc;Fm)ME&9>tGVrWid2dab$r zC+w_)%)?u#s|PbXHSuk4u8P{k=*3`l^EtzAZu6d|eZCZ;~EaJ>ab$*b4N4~}lWX4Ni8eK>k=1J21cWvG z6ha+E`nx@qmzpW71mVkr8S1*^by>Y-=O%K_*WfCQ$ya=k=f+R#;tO+0o8z3%9>c20 zzOw9PBj^9D3QKEC5_Otc5>gta8PYaPsNgBrzy))p%8^09)MMosoH+XUHc0s6A z#G!?lbVE*ypKR(8^=hCRC9rg-WEQX|xR~peoA#qGzK}pC^>HC7Qcf=T*eH|ja`8q% z%d^-5QI%OS6?5h<7z_)0->yhWNbJp4wLZj^yClZqg6m?}omm%B+RHF4-DCEEBGrm( zom!n06>sMJnAsH!o-Gs@&Erx>rAt4RoW4JN+cfQ>dhXkFx%~SVr2{@6{N$vZhgg@( zF2{sFo}jq_PA#;c4wK~77<{dkz*DdfmNgcAr1&xwMJ>-Qsenr^s6;7(>kBbetZ{3O zZHVYS57PA}a{^^6bF%dWmuS4)=$CC174-DGb%?hafv9pcvf>WhF$obNAPnOmK`KD3<}>7&xd($x`1gu-*9ICS)Fn| zmBhsOpcpsXiqQRlYq%Jzb5;*6iRr0Sv6tOJ-1inMMN>(ypZB-}P`t~}(MLY+$4!#E z!+lNF_{Ot9Pi0pjVYi4ZhmNwD_q`&QUcSI_bI5FY6>bo+`Vv?EORHz4!(=;*B4rXLGH!Ca$15L$qbjk3Zok{>=S9sa#>rC~J=tX}v#wzQJ&is}|u$WwkOk zzMHl6Mt6&UiH>0cw3+)-a_&bCcSTO%#DNC6p)UK?q5Ed8R*JeAcMv-vD-JL3)yLbz zsvU2sI5W8i1nu4Q_R6CsZ^7vW$B@k0m+^7>QRU({_f!ln|H!-8-uU>Lspb3kJx&~= zSoNa`JA;`&R?(}y}++q5-ucQJ$TJ@f5+t33GGhS=;xMa47D#yc9Gvhq#wR@#* zXIZHU_1viAe%SxW}9KZ%o_$I=An^6>SUAmK2qny%1DVCFq}&C2x?W8f2zp zyvn*LRkAE8R9hoDdVSFS0Q^nFruy1)f8QM%GW45?3QN3p+ z{txK%VOUJpT&n}RcSkqeMHZtC60sO~p1z=2(^eyX>8V9b(7MlDvGUGz_8EA?fB%hf zY<)Pbnk#rdtyrl%?kaU@$KxlA!bUiCAyQezKi>7D=D%Spe_4ty5%zq5g2+7m%CoC4 za_mqE!gvK#M)37)N?oIOufvHFOTPq=p zWcBe!0t>_1>8d$yI0BQNGm}Llq7Qjjgs?+xxSj1~15C7+s8Ou-mUs z)UbWd%lp7dSY>F+xwVgI{P`(BOv&G2)mhhGvXPN|S<<>}euuM9x@>iRy{r5CXvRqQ zcgtf#L}IDp>JEh=;QwiTGV@6{t9KoQ(3*0XKE1wVn-xyCU;4MMH0`6>X>mLt+R#VGwux|wjD;{)+KT~wIOGDlT7b3ORS;D{4AYMn5 zLP4tAQs-stX#en@)5xVF1Y@~>(C*Fae)RZkjkxw-L@UfE@M=>@4zdJr?TuNMF0J17 z*y*q-5A=P%^5(`UrJ$+|*R_ucKZDa9p%WvS#KYDQ@|j5Ya-k+B*@?cMw(nEs7u(e2hXiGd}FvdD}%mZ{C#b z!cZ5aU&a5_$R#jXV<#bZn=w-1e4ma{ViK>m{4ExpcMJAi7vv!OQ4|j?4B^GIGneAu znDQihilGG!HwA{aM6mECu}=$Lt()Nek;B}wvF7215YH=98yW-KQL22uUyHedn*|@Uf(`m+<;bjk^V=1+rZa$neGQ% z0->_2Ur8x&wbT1Mja1A7t#C5Vrz=P5GB;d&iy49sA>dEoR~S%qLhX%Khd$OXyX(xYs#pu z^>4+K)U3GFFE6++Z)VemnM>Z)k*XN_K+1eo0CVcq6u!nJ;kED0;$?jJqq%18g}bx` zq0S17_mtgyWM4VnDfq!85cN@&zJY3k+s;+D;VR+FWM0zGGpzSlV#lg(TA5ln2X5bp zU3y3=xLiBA7*D3*X4+BZ71)s!n|xkHpKaJ#$z&w`;SUW0Jr{>rhwH=3t6ywCD1hUa zg(p6b-XszZE+YiDQW*m*+kZ+9AO3j?r`E*1`z0-Ne>J;Re!R`uKk6vFEVNC zQbKHgbpA_E0gt!0Bzs;6QpBUPL`w%_NQ-H{)EbqeE3MKFEP(7A;j)`*>e8?!fXJqJ zHYUuacQ#jUW<&5}NwA;c;1)}0NjHn!!&y+kuHmHCBwln#07Q%k0~l z7rLPt)nEwy5f^`{IO+ELZFB+B_4n;>C{*EDPkEE-Wp>ME(*lN9I?}=D*>)M>g+7%R z9V#c3vOhKRUB(otu^|%oniAd{R~l%G#6p3gk*CXiX1Y`tPq*n0pO%^U_AY3CoPgTM zg9vl9?N-mYV4hdm7@88_MSZG#Qhqk(bnv1ZePs{&DFL_hwY1C5Js5# zwzkh(nx^xz;y+aup1T;Ywe2t2=ibRyT-_h%vq5`{7@{1kERde3-^tK7m>K`O};a&!-5ly#Q3GFEq6!+o^nDRlF2!_nK}0LBg^Xp3r(_Q?{Sm&pyogJ)e6po_n~6|0JKXBQu|weylm1yh>ZvBB$+O zD!Ww$!y0ihGayLMVv`I!y0aWOICs~$aH{_GrFNf;XQth6n*GwJ*<|MxHKGbyi(-5; zzMwp1=%gnhKTmYNQ>^4Zt-Fy3%GBhOVCo9>huDSXQc)Wk$bWSjH;(vG3y7;+_g7wyF4lPSGJ@Qfpav~q&izFJ+~r!iSi^X|Xdr@fP& zE8n&BqdAx6gYoY4c6e`x4uT84U4|!~OJ2J9frsgP>~zOyi=b#{GUX3kf#o}cjGaY7 z3hBDKx!W??;M=#jCL~;l8%D4jTClGalm-sYr;;U7D+wux)`Ppi_PYBLRIhH4js{Wt zqN`2$dAzAqC*@03yz5F|)!q(>G5^RL`x>+$aneb>m=k|TkaKc zw&pzjI_3-<6WIfq`Lb{MslJ1i)cIC|T|LvBFNURUV&9s7FKN1%$7i(;iLZBpQIEoz6(Z;Bf>{08ldFLifE`93|rd4HWegp1f(tg!Inb6ii7oyrwD_uzb%8yJ2Wzod( zTYLN~FOm3LRy>!(+f|qpv)I%?kSMx4`h<&~5kBhK%U?|2TbQ10HZ z>LP)M+rtv^QB`r`srXO@1DZ$Bc>_(J%yvsQYAf~fKJ6L^Tq_z`<-PWi&9eR}gLYFT zHfL|^-HnG?A<6mcp4zSDk2xv=h8|ok$DAzR#{)l+Ua-VIKsg#!P;gN2P;gPOQLs=j zQ7}-@1Cwts+CptST_J7=IHULtMqXfdDDUsxp}Z%%LwPwE#TgwC2zR(RFE0%2&13I~ zaPYMDghOC9P&WjU=dpph^4fyk93d`e;9yY^JBT1y;Ig%y2$Hqpgx40g%n{RyppITbFtG1$g+l1$hK63yJXY2y@yA z@(ErR5w;c*6tw2E6XO%(}Z4NuM~^%@bU2d|0nYo&o9Wshm6n8(G3F9 z*Oie|;F4F6y{5#ash|%WqLzHXNlr^wK}K5}xD>MFv((bHR6^d+SI`CS2>*3Q%4|aElz<6w3TtFZcF@NVoP#_ve zXol7|Eeb5tGF?Gq??I6GYdK!=v;h3ty_F+gI|K_ zuznE=ZuZC;IF`mp?#TuA+dq(q7w<#M(g@Qv&b-Y%xuy(uvvq-3gJJMvL6!o#$H1n1 z%R8UjbPZV4YWRv6yqC*&e((I0fxBx$5Wps39vM%B0~B`L#Eumdcmyp2F)@TG3$LPn z&}`LXc2<;X(LPfFu(1^C2K44*8oxGS8)St6f-}FFErDIttQ3AfHlH{7`G3)h$o71q zLy#aR4m1q{Sr3?8p;teUZg!g=Eut*U|6e)`A=bwlEEUMYLDQ%pu?TVh97`d!*x+wB z&M_ok`#)$n+3tL->7~qQG>9G*^fg36ltqF^D@rd>!8Eec{7g+65Cqs3j5w*`QLls! zP#_32?)gTbzbH|yxmQOYx_wLP)K*=<>vlgDpH$RH0>rmjU*&Uu1aohG|_B|@P z`u~GAS)@Js)v)hil9d6KQIy=+aV>dDEp5A0U+J?F^Z!B5kpeWinixQV_r}DQADWF^ z%MzBbY_h23|3QHw(psK+c%-lF*})KyvG@gIwA){a6$&m8Z_}lWp!^^7sltDys-Dv7 zF`(s3jRir7#A~G>g{J0!88*E$wa7!P z+d8UK-Aw6?{;!&je!rmP0=2dVezb6;B?ij81!y_&x+-AMP_B`ukk={tb=l)gE$UEv zdjLHnUpz~0wLoDfS2$nEL&;GMRdC+S7y4}dpL&i^L^BfQF_0kG)PJYqG zNZfrUs^xw&d1TP=rQfA55G@{B67- zQi0Eay0`CM&yB^oq!fX<9}DVZ2>DGLIKn-_F0x=`J@Xuzup_V$e*OiB9t9*$&~6j8 z8l@HVo?Ddp#ck5F!6T-LuwWlBUt1Z&eB#NH9v3{EmtF2fSc(kg&+S62kDu~0iNe|#K}+p(}5)aCe>K!-NV#uEkuT-+lzE>Ni+ z$f>r06_X4rs`PDI*u6)@ji1k8j{t+Mn^`~umziiWA4t5Vkcz?d3^%Ws_6$J9)zuRL zwstwGc~;No??6^4ppwOBl4jrL@aJ*_5(6}5&t)^AEPz3mNp7{pzAA;IIAj_%_oO4Y*DvvwTQxmuHc+cj6ZH<5Hkhc|h4ph?O z9B%KfW`le&-LnD}?q@Iqc9dkw@^ z2JYi_Qg9!IX}SR&yL&Ph1?$3PQ|#V<%S6mDo~`4r4%DEhTn!YRT%7;5Yk{oVBb~_P z8tGknuXt6fVrV{~8l}yXD<}J<;qPJHXx}3P zNHd8PZAuaIccuGQbhNFJslVIU;dJI$n6AXC8Au^~ks{?@p1WLlBF$z?s6_2A;a`^L zzIbOiAnEZ&fslv`Dxa&r8eA*iEp{vk)Ekf?*I((dxF^*C%0&f{AAIIr>YP?BID)lcP%Z)Fr_v*^(Q$?Xq|;ynfuCe~ zY&9Ss=!+$HlPU4MA80kcK;OHFUVGyVP!9pNan?tc*Ga0WoQ4a5lD7Dm$-g= z#E73T|3o_s?EPD#m~`-AK78sJl%3qPRO7_0h84?XjQ$Y*%b1Kk4GIV9?oD}5f12Za zr6=X60}W|1BPX1X8`u?T@lSq~dIb50kKP6%yF!z>x4zS^6b~WKQfKV5JcfYD9T?dm zWZ-W6C+7Z&P%Mz)b2dzkv}HxIWvfkI!^XZ*e-QfMlj<~Czpw{H5i<51TaR2zDYrY` zaFOe2^D&@w_?y|2nXDYx1p*B1Cz>51pN8+x<-BFUyh(k2~x-%yIA5prKb3BjQVvUEAn{k7*UHL#qr! zcA3Ko7YvGUaXcBwNMl|DC{Y?UYVeMhbh54r>y69n@@J#RGmq4zD1a&DL1(>|S)>*p z#`ES)AAiW%%x~ZP7*D!l@(#dnY+5u(t<}rkHo(<#pGsmq8#i%u2Q(bB{WEhL09#gn ziBSJFp-k=Lw(7t@|RrF=`xSfTWH_xR`CGk|UWNZLya%f4R zCj;#OsZ9`|!0=K^21KM#^NAtj4+A%>D`zS=LWr;C93ot8fy8BeKU5O7lc9L9`{HLJ z@-SpCIA#58t2GY?2VVvL$n*qZh4?Qqp~^`)MQ6f)b)yTVbPE8DABl@HcTQI>-ut^6 z-I|EgnY1AoVdL=2aP5A0KXK?+My&k2HO;6N49C%#MSu45H>!dhT7jRJ>mi^pu>DC* zOvnd?0bS~z;RbVKgsOC-rEvnyV;!vDoCd@d3iHtb)~#%T=uZ-B!IF09oW{2pE#h}M z%H1E*nhqbDiT+J$JGw($9Nm5qFRsT`18yQtG)Hw}=xx<>7H03=%Qa9QNX?60%amcq&1Usy_%W(aRju>W*$6$C8F2Ykh#-yHo14 zT~6#KSHc7;y81xc_q3$K^^;C;k~)&tGtGzd!Rt*^AoU9xHPeH_8}`K4PgB}p7#QjK zo@Bqqyk!!IC~O@g`EJX;LTSc>YlIM1=F^CdCj{nm$}49H%8CFOuB!=OD!kuoJRl7& z$}LaFKW2_Hev)Ml*x~x!0JI;v#2ukoqaufiOVD0;EUO7QnN~0nX>T1Gnp91Ygn^B8 z;>N9XS@OQ#Q-aC}#K}z5Dt7iKFpnB@Wtw>V(@Obvwq1W$sehfAx3Xt~f<$fE`atbEvx` z9Vi*;h5Ds(Oj_k9L3`Go?5lLAq=ElA(1jqojOQuyK6&157RWqS1zcSG?z~FSex$X} zcShdR90URUTLNGbfWhcDo4dw-SQ`Wf5qOd3Q`8=r86}Q2W|*B~wSN!90(Tm-fSA&n z!*Hhux0Q;wL`Nd>mEfnP|Fj+@Iog9j3~yEAgO_?#Wb68^(0L;ti=1L~Jb%r*`V$)O z0wretc8_Y86Gbh1&wp8Usd4a>v@XQM69WI`lhXGo6ae~3m?2}jMRXeBEtLce;6A=n zgdPMr33WuAw5l;-|JK8Q9-9B!u^*hKkx;5>Zpa?v{tp7?6rgV5Qw6X|e;dC^H5NkOX z$KSJKI+TX@hYMUP;vL13VA+EEH6LCGDPH_1q6`7sLSVnApvUmcBI@A?!8&b}#JQlV z5i_)bP@=8M{wIv|Zm*vdgwr%M1t4_LDL$g6fVEn(iv^#d&q4l4oaE{sDP>FEkgz)z$d zS`Qu{`T%>xlXgRMMhWI#)$US+<<H9Al)E(^|5Z(~r`&a>bU3WX6;2>u#g}4`?nkF>sqdp@YdWM2O-AAhsqeJKY#b=!m zZ80K^bY2ri`GT#MztKNlIb85E$^%|kcswmvVubl?7FqJrW9!zV{SE$Qb5um;3xG;B zxilACn7Az8>PjP?8N#glHwvsE{FP+e($qu$JUhJ!ZadgY=2aHv1Qg|Dd8~l1AvNr{$_}-;F(-S#L%eM6QkFE{NK*WpQaq!H8|4IfP?K$ zhUB*Eorj&d&3kTU*8!@YBunT1=@D=0|59?aa4L7KMV}*K2hf5}W08f?8X^~W`>mX* zh7QjkT8@O*K&pwLX?zd?W&SE(<*r&7wfaZ{nlJSq!hcmwldI^hLnkP{YAgBYka9+f z>H$mdSMoo&qgRP1kd1ZeR{%=U(+%C)pj57YJO{mEpt}ACbiDZdD|^SU3N&kzfTdK$ zPS;wCGC8^XJ?K8z>EcK_kf}>{Qx60!85N%37Y@x63Sj-M59Ww0!e4gve90iP#h`;48PJ}) z8E;4z`6Om2h>-06!Kp(}HSK=?PkDzP z_yI67ztYV88f@@FH5aD=hM>|w`-4Je)$z|6>;BK-0wBVe;&B?2@iN&KwPLzkY8pxZ zi5^X~5x*CzzrIeN28#T0)3^3JtM&3}=TXq7yGRKCQ_Cr*FVZ9}8%PDCg|c|h^*N0& z59KCVkInr5)6aDuV4#R?Y?N`0JJR z@{&dr04Z~k*A#p#Q)}|(5aItUp!XL9^KnN2|7hm!fQ;S69*Vr{@Jq|ZnT1Ut*9`$o>&U{y%W|iHFY~KY7?- za|1aBZu8VDH8QE8So(`L{U?6BShCen3X(~Ia)-F-!B490dpp+Q8iUO30cGWMW`)|3 z%nfGBCJ$+oO7^#`@ok^H9?BOyL9IS35lXb0@x`K60P zHTrO2>=K+{5@)W+^l{X1vq=w=J`K1t>6Rplt4&ub0j$jfEl zQx6+YniRJ0borA%ynr12EA27*D)QUmOR!CjsrGP3T%{yqOHVCLPn%!pp-Db+9)Iu8 zh{of62vB=%X(kmiHx!G;t+Xf@xS0P*{c};da)P29U?i$9D9(hw*UUgM-FrSncCsD= zEC&B>Qow(p9sct8#Es^?oddwLupaNr=OFS0w8mZ8oZy%<;Uh$jn=AZqXpS4BRdsr# zo}Uw#+50-|!N^OGj!r{9<|BEa7 zg0yN6dtLf>tfHQr=1y7L)HS*WU>#{Yl&P$?4b5=0S82`dt3IV zVjZ&@V)PD4->WZ{{e9#&2>Nz~nM@X$x9oa@GD4*YbkETn-nfj!9GU(gq-+ z-XwI-@NaeMb;YW(+k5Xy|04ClaA)}8`x;;a;4z(VBsUMl8_%vc=Yeulv0!UsDxa{K z=wIj~2!o{baB<2cbY+2mH&3Y~J7%t)BTnmIpug%}m38>=wU|heUEo8gm-Jmvn!8`a zKkNMq|Hs)&VbvH{ zeY-MNX7Ycbw4uMoy0!T3k3f9$8nxYlyt7I{WW;N|-kL&xlgQEb#IdOm7&}~3%X9RH z;!^=k$&<&-bWYtNsR$SV7xz+pT<`qs!2S7Icnw3S%f}<=^6%t%Mk!axMcFrnx(#_noDu|9rmi6zU4C2VmE6h0B_oH` zTHM+RedU%+9q!`@tC#L+jt8(GJRo3C+ z&G(7#13wN_i+cIV1N1R;PYIq{rPSeE89$tqvge30gifiIq|Ey_RY&5Ul0KSW{bRyI z9g@)t{M|2sfjh&_=#*wTngd+{UeeGh>MVz{Xz$VCjt&}ejZQj_hbl!0cRSx$2)Uoa zjO34Z^Pa2=o9@>EeeVBNcC0~79>KlK>-z#BJVJmBkdQ!Scm`-nf%+;^%BX#)1p-)Q zD2i4FQH-EdAwfnvAa(4+=@eV7piZlm>BE*Onp9e~ROu*VJIwfKYng#g9XeP=e`tIA zB_CqI5i_~n%YApZcYAwxU%qc|w_B1Pn~_<#u&to}!pgm!p%aT#uJJ0g@0ZB8k|ljY@w~0YAK&F{{G|sAi7g!ORrBYEw&SxR$2I=my%W|sMW%usWEALALtpI0T+6RuZk=#}nxAnON{ii$w zj&JilIgcIqPPlV$^~-uAH(M5V{<|`+r#7y|T8e$Hx&P=@@z=cTXbatuzhZRYX#BJ9 z_NFOP2ERS7^H%=ErC!)P*PEuHyO{Pk`i*GZl}+u~>1wA1O`&rncQa4?b09v^_4nSb zA}4KM56GK#>eVroxS${jK^}ri1p5&5BDjKJ5W!6b3grl5I6WbDIkDS#!akd*eGicl z0Q*%+LKPHXCT(bwv#F42@lOMG!;{KuAkPR&CLTu z*6e#Ou*wVz{$59Gf7(Mc+jb;;^h3e1+;*c`HGIZ(GTnLQ!^7>@(a5$`9qvX^zJ$Pz z2D0-Ec_)~tJjb>kQuhi&_Y!H?o$IByPHa9LKQP!c{Lik6_E1|)&Vkw8UzCsDj=)My zQL#GDKulEC@#y&YOn5(`e}tTArg|w5Gc6V18IQ`fsA>a>ZR&KCf%8|btJyFvW#-44 z9jw`*lZ_#}$Mbnn{;Z!N_)!o&j9nCE(uy)!q(opA1-PgXL9<(c6EWV6mgY$`6Ce}i z)F@y$4$*pnOa^Ao8=_{!Ad7Tz9Gb(?|H{amTBWbyx99WAfUnAf*HfB4e& zze;JQvYNg+h#L9uijzaRm@RtXc}RI*AvPv{^`vI{Fn&V|>#XX&M6> z5h7)YTI51<1Ul1@WNA{eSP?9vL|+6XfG3baIjux4g&Ckzf)+BR5DXkVCaEx>*1n5RH{{Tk(f%7D`!2aWZfj zBW#5O2tlT>*31H9!ydLAs-eUOM3&|9L?)%28Rq-3RWFcYGC{@&t%+t_fmA7DQZj`o zcn0|cWe_B-V;Rt6Kp5o$A@C;)67+0-2=^pWO_(IFo;2uIkD23lzn-$9F1QQ~gZmQ>Rqx_YUz)RVxZ&U|O=IHu+U$*%3)U{PC1?5Uvp#~! ztf?pFvJAuCBi;Kd!Y=nMec{bdua*03?rY|9Zr441qwmQ(>2tzOyZ!H<`k#7JSXOJ; t(L1!dyU3?sKh_-Eb!ScPmOB4Wz7IQnJ}#$q|2K*7-v5%BhY-YO005&~FdF~> literal 19320 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 diff --git a/docs/demo/_framework/FlowerBI.WasmHost.wasm b/docs/demo/_framework/FlowerBI.WasmHost.wasm index bdc37b719195ca7d1eb63dd718443797190b9f5e..0303ee42b47b0231556f723252ca103365e2212b 100644 GIT binary patch delta 240 zcmbPwh;iy6#tmzsF7#KHi)aF(eu>SS9?p)?MpCwA=%GQ(ZS8qP!7tN-TXkng~ zYMf|fl9XniXqaMXWR_-{l$>g5W}If2W@M6_nrvcXnrdRY*+29cBeRUl^vM$80Rl<| z6JNCS2Rclt=}n)d`k`cUMR=hCRB*x-sGx(4i@1)T_XXEfr%2u6rPDTZMufBYCo)(t zm@}j?q%s&YBr+H=m@p&(dFDX2Awvof8!?yx`KCb8WS|;LAkP@cHw0pkT98;WkTwCT NNClCb*T002AUM`!>5 delta 240 zcmbPwh;iy6#tmz zq%fp1Br+H=SO8gxKoKJbL!gKeg8@S_kY~n_1QbmLlg2=nIfDrh8ZuZi7z5=^fclew OVktmuuz7t<8Vdjbc}-6M diff --git a/docs/demo/_framework/FlowerBI.WasmHost.wasm.gz b/docs/demo/_framework/FlowerBI.WasmHost.wasm.gz index ecf69662927b77744ec279e7921764f9b1a6aabb..7599187aea82237c8a99538d98a48f05d932645a 100644 GIT binary patch literal 11161 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 literal 11162 zcmV;LD`nIliwFP!000001MPebbX(VP=Dder0whR)BB>urgs4AA6#pbqf2Jr=q-fF6 zKPkz!>`)-^NWuaE>H(xo%alnw-bS&V#7Vu4Q^&R9sIAv_8mCDcH%;rrZgZSEY23zb z9XED-k~Fn9ZR$;vcsH)R-^_i$14v3%d$#B7*|VT9Z)Wb?xpQac&b{ve5JfYi8WCwe z{iJpWoz(BRgY=N*K4T2V5=r-{F`70fb%s}5eq58s0l=f{iCE|#T>#T~yFr6j${ioUTL=Aq zqCICwUVDY*qVH@W>h8cepv$G#zwfn7Kf8p;w+`1@>$=psF5~OR^hh19x?_sPbmtUH z>8>dj(gV&Z5rUq|76)ZW>0hjo6chiu2{mDp}MP(GX!1Qu}^?M`r!mkxR!}JQ~ zw?tM7f2r^prdKh4VPv)NmkFO?dJRB>R^6c0tdsEvtvQ7UQ=R`5UVHTD#TyF-Pe%Z* zx7haB>9qxHd+7AK0=7MJx`Em2c)lL`yb4Qjfra>UDJOy$dTW+DUr!=ImI_+gSZ-JcGmRqC@EDJeS zoi1Uyk^;Gsyj-MF1+20~r>!a{gBkGLK6j)EO;bT4r(2&2@uh02f-ko-FGLZ{vOy7% z7S_T#TA{JEL5Fqr1L`6S(nZW^PO)gr${RYwgkuqj-*GgiELDQ9rWL%D6Om4yd%aq3q}G&13sflx>Jh}yo!+fdE7GO> z{w_%0D*H@4$f7LHLK5I896Vx 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 diff --git a/docs/demo/_framework/blazor.boot.json b/docs/demo/_framework/blazor.boot.json index 1504a2c5..de22ab41 100644 --- a/docs/demo/_framework/blazor.boot.json +++ b/docs/demo/_framework/blazor.boot.json @@ -1,7 +1,7 @@ { "mainAssemblyName": "FlowerBI.WasmHost", "resources": { - "hash": "sha256-xHbQw+96uVMsPUMWwWMUpAf5Sn3t7bN35Y7WaDgcTkw=", + "hash": "sha256-HO72tyS9uokvPHzHfek2UeJfhrE8KSnXy3ogbxJjo9g=", "jsModuleNative": { "dotnet.native.js": "sha256-VdKq87/z5NIxZKmuM+fv38XF+RcEb/bg3jVBwQSfwP4=" }, @@ -212,14 +212,14 @@ "mscorlib.wasm": "sha256-04e4k5XU8HWGB/dq/2+j84xzzGPflTs0IYWI0OxogVc=", "netstandard.wasm": "sha256-gnGZURPnoSmjXuYNCOJi5tt8qn2LRImWgue1Ru3/TDQ=", "System.Private.CoreLib.wasm": "sha256-6w3jYr0arcp8jnt4aeqh+AmqrLA6q7jl9rQYAwLzE0M=", - "FlowerBI.DemoSchema.wasm": "sha256-LCLsUBru89Dw1ZgybG5AgnLl/US9u8MDrCwhAWwM83k=", - "FlowerBI.Engine.wasm": "sha256-Xedhzp0JqJpVpDNUuBkIbGiBGgh1PXFCEW99HrcvqUg=", - "FlowerBI.WasmHost.wasm": "sha256-ZKzoKdTzwiHWkaZhwUr5EGM5RxTGBbbZs8BqQ+/ULzQ=" + "FlowerBI.DemoSchema.wasm": "sha256-8dC5I1cQkAme3pkCZUCOd+opZyPVEZqqtJhRa3IIe44=", + "FlowerBI.Engine.wasm": "sha256-o5suElg7k2qJOgmK1jDrL5djHQ1fEaZ7cd/GloXYhWU=", + "FlowerBI.WasmHost.wasm": "sha256-2Zd/wcXLRp5m5iYp+q43/qJ8eRRhBmhDN/oXtYNrt1k=" }, "pdb": { - "FlowerBI.DemoSchema.pdb": "sha256-yGa3YxDhwtuK53A3jc+IlQbqlq7GamjK8nZ1MKsBYiw=", - "FlowerBI.Engine.pdb": "sha256-Gcpivf0Jv0drCd/8sjnS/lR46kd6CM3vuf8sL495i+g=", - "FlowerBI.WasmHost.pdb": "sha256-1mKLDAOsRNMwZzzpcZbI/37NL12TFQUIwmTVyevSDVg=" + "FlowerBI.DemoSchema.pdb": "sha256-mE37UFsaLxCMqtKNKsDDc0vo/1PPArjK08OdBXiVI2c=", + "FlowerBI.Engine.pdb": "sha256-t10054QhrAv7KTI2yUUI9tjnYxiJNJZPbzuMyUSFROI=", + "FlowerBI.WasmHost.pdb": "sha256-EtGtgDJfu3BfeW1xyuIt8HH1q+scdaujuOLNDMpnc5M=" } }, "cacheBootResources": true, diff --git a/docs/demo/_framework/blazor.boot.json.gz b/docs/demo/_framework/blazor.boot.json.gz index 3a4edae5afb6937a87ce495b4f0b8b3fc6655e36..c38f6008adce3d375a3637b82d24dad417a707b5 100644 GIT binary patch literal 9142 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 A3IG5A literal 9144 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 | flowerbi-dates

Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FillDatesOptions<T, R>

Options for fillDates function.

-

Type parameters

  • T

  • R

Hierarchy

  • FillDatesOptions

Index

Properties

max?: FillDate
+

Type parameters

  • T

  • R

Hierarchy

  • FillDatesOptions

Index

Properties

max?: FillDate

The maximum date to generate. It will be rounded down by the type so doesn't need to be on an exact boundary.

-
min?: FillDate
+
min?: FillDate

The minimum date to generate. It will be rounded down by the type so doesn't need to be on an exact boundary.

-
records: T[]
+
records: T[]

The records to base the filled list on.

-
+

The operations to use for rounding, incrementing and formatting dates.

-

Methods

  • fill(dateText: string, record: undefined | T): R

Methods

  • fill(dateText: string, record: undefined | T): R
  • Generate a record for a date, from the formatted {@link dateText} and the input record for that date, if any.

    -

    Parameters

    • dateText: string
    • record: undefined | T

    Returns R

  • +

    Parameters

    • dateText: string
    • record: undefined | T

    Returns R

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-dates/modules.html b/docs/typedoc/flowerbi-dates/modules.html index 40dfc3f1..de3cd5c3 100644 --- a/docs/typedoc/flowerbi-dates/modules.html +++ b/docs/typedoc/flowerbi-dates/modules.html @@ -1,17 +1,17 @@ -flowerbi-dates
Options
All
  • Public
  • Public/Protected
  • All
Menu

flowerbi-dates

Index

Type aliases

FillDate: Date | string | number | Moment
FillDateType: { format: any; increment: any; round: any }
+flowerbi-dates
Options
All
  • Public
  • Public/Protected
  • All
Menu

flowerbi-dates

Index

Type aliases

FillDate: Date | string | number | Moment
FillDateType: { format: any; increment: any; round: any }

Three operations on dates used by fillDates.

-

Type declaration

  • format:function
    • format(d: Moment): string
    • +

      Type declaration

      • format:function
        • format(d: Moment): string
        • Format the given date to a string

          -

          Parameters

          • d: Moment

          Returns string

      • increment:function
        • increment(d: Moment): Moment
      • increment:function
        • increment(d: Moment): Moment
        • Increment the date by the unit. The given date will already be rounded down.

          -

          Parameters

          • d: Moment

          Returns Moment

      • round:function
        • round(d: Moment): Moment
      • round:function
        • round(d: Moment): Moment
        • Round the given date down to the nearest whole unit (e.g. start of month, quarter, year)

          -

          Parameters

          • d: Moment

          Returns Moment

Variables

dateTypes: { days: FillDateType; months: FillDateType; quarters: FillDateType; years: FillDateType } = ...
+

Parameters

  • d: Moment

Returns Moment

Variables

dateTypes: { days: FillDateType; months: FillDateType; quarters: FillDateType; years: FillDateType } = ...

Standard built-in date types. To customise, implement the FillDateType interface.

-

Type declaration

Functions

Functions

  • Examines a set of dates and chooses the most specific type that includes them all. If all fall on Jan, 1 then years is chosen, and so on.

    -

    Parameters

    • dates: Moment[]

    Returns FillDateType

  • When querying for a time series chart, e.g. x-axis is Month and y-axis is Total Sales, there may be months where nothing was sold so they are missing from the list of records.

    @@ -35,4 +35,4 @@ extra records to be added at the start and end of the range if necessary.

    If you don't pass a type, a suitable type will be detected based on how the input record dates fall on unit boundaries.

    -

    Type parameters

    • T

    • R

    Parameters

    Returns R[]

  • smartDates<T, R>(records: T[], min: undefined | FillDate, max: undefined | FillDate, getDate: (record: T) => FillDate, fill: (dateText: string, record: undefined | T) => R): R[]
  • deprecated

    Type parameters

    • T

    • R

    Parameters

    • records: T[]
    • min: undefined | FillDate
    • max: undefined | FillDate
    • getDate: (record: T) => FillDate
    • fill: (dateText: string, record: undefined | T) => R
        • (dateText: string, record: undefined | T): R
        • Parameters

          • dateText: string
          • record: undefined | T

          Returns R

    Returns R[]

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +

Type parameters

  • T

  • R

Parameters

Returns R[]

  • smartDates<T, R>(records: T[], min: undefined | FillDate, max: undefined | FillDate, getDate: (record: T) => FillDate, fill: (dateText: string, record: undefined | T) => R): R[]
  • deprecated

    Type parameters

    • T

    • R

    Parameters

    • records: T[]
    • min: undefined | FillDate
    • max: undefined | FillDate
    • getDate: (record: T) => FillDate
    • fill: (dateText: string, record: undefined | T) => R
        • (dateText: string, record: undefined | T): R
        • Parameters

          • dateText: string
          • record: undefined | T

          Returns R

    Returns R[]

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-react-utils/interfaces/DropDownOption.html b/docs/typedoc/flowerbi-react-utils/interfaces/DropDownOption.html index 075ca3f4..d2fae1f2 100644 --- a/docs/typedoc/flowerbi-react-utils/interfaces/DropDownOption.html +++ b/docs/typedoc/flowerbi-react-utils/interfaces/DropDownOption.html @@ -1 +1 @@ -DropDownOption | flowerbi-react-utils
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface DropDownOption<T>

Type parameters

  • T

Hierarchy

  • DropDownOption

Index

Properties

Properties

label: string
value: T

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +DropDownOption | flowerbi-react-utils
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface DropDownOption<T>

Type parameters

  • T

Hierarchy

  • DropDownOption

Index

Properties

Properties

label: string
value: T

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-react-utils/interfaces/DropDownProps.html b/docs/typedoc/flowerbi-react-utils/interfaces/DropDownProps.html index 3a795f06..67f2b3d7 100644 --- a/docs/typedoc/flowerbi-react-utils/interfaces/DropDownProps.html +++ b/docs/typedoc/flowerbi-react-utils/interfaces/DropDownProps.html @@ -1 +1 @@ -DropDownProps | flowerbi-react-utils
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface DropDownProps

Hierarchy

  • DropDownProps

Index

Properties

Methods

Properties

options: string[]
value: string

Methods

  • onChange(e: ChangeEvent<HTMLSelectElement>): void

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +DropDownProps | flowerbi-react-utils
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface DropDownProps

Hierarchy

  • DropDownProps

Index

Properties

Methods

Properties

options: string[]
value: string

Methods

  • onChange(e: ChangeEvent<HTMLSelectElement>): void

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-react-utils/interfaces/FlowerBIChartBox.html b/docs/typedoc/flowerbi-react-utils/interfaces/FlowerBIChartBox.html index f8225379..dbe00751 100644 --- a/docs/typedoc/flowerbi-react-utils/interfaces/FlowerBIChartBox.html +++ b/docs/typedoc/flowerbi-react-utils/interfaces/FlowerBIChartBox.html @@ -124,10 +124,10 @@
see

aria-valuetext.

aria-valuetext?: string

Defines the human readable text alternative of aria-valuenow for a range widget.

-
autoCapitalize?: string
autoCorrect?: string
autoSave?: string
children?: ReactNode | ReactNode[]
className?: string
color?: string
contentEditable?: Booleanish | "inherit"
contextMenu?: string
dangerouslySetInnerHTML?: { __html: string }

Type declaration

  • __html: string
datatype?: string
defaultChecked?: boolean
defaultValue?: string | number | readonly string[]
dir?: string
draggable?: Booleanish
hidden?: boolean
id?: string
inlist?: any
inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal"
+
autoCapitalize?: string
autoCorrect?: string
autoSave?: string
children?: ReactNode | ReactNode[]
className?: string
color?: string
contentEditable?: Booleanish | "inherit"
contextMenu?: string
dangerouslySetInnerHTML?: { __html: string }

Type declaration

  • __html: string
datatype?: string
defaultChecked?: boolean
defaultValue?: string | number | readonly string[]
dir?: string
draggable?: Booleanish
hidden?: boolean
id?: string
inlist?: any
inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal"

Hints at the type of data that might be entered by the user while editing the element or its contents

see

https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

is?: string

Specify that a standard HTML element should behave like a defined custom built-in element

see

https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is

-
itemID?: string
itemProp?: string
itemRef?: string
itemScope?: boolean
itemType?: string
lang?: string
onAbort?: ReactEventHandler<HTMLDivElement>
onAbortCapture?: ReactEventHandler<HTMLDivElement>
onAnimationEnd?: AnimationEventHandler<HTMLDivElement>
onAnimationEndCapture?: AnimationEventHandler<HTMLDivElement>
onAnimationIteration?: AnimationEventHandler<HTMLDivElement>
onAnimationIterationCapture?: AnimationEventHandler<HTMLDivElement>
onAnimationStart?: AnimationEventHandler<HTMLDivElement>
onAnimationStartCapture?: AnimationEventHandler<HTMLDivElement>
onAuxClick?: MouseEventHandler<HTMLDivElement>
onAuxClickCapture?: MouseEventHandler<HTMLDivElement>
onBeforeInput?: FormEventHandler<HTMLDivElement>
onBeforeInputCapture?: FormEventHandler<HTMLDivElement>
onBlur?: FocusEventHandler<HTMLDivElement>
onBlurCapture?: FocusEventHandler<HTMLDivElement>
onCanPlay?: ReactEventHandler<HTMLDivElement>
onCanPlayCapture?: ReactEventHandler<HTMLDivElement>
onCanPlayThrough?: ReactEventHandler<HTMLDivElement>
onCanPlayThroughCapture?: ReactEventHandler<HTMLDivElement>
onChange?: FormEventHandler<HTMLDivElement>
onChangeCapture?: FormEventHandler<HTMLDivElement>
onClick?: MouseEventHandler<HTMLDivElement>
onClickCapture?: MouseEventHandler<HTMLDivElement>
onCompositionEnd?: CompositionEventHandler<HTMLDivElement>
onCompositionEndCapture?: CompositionEventHandler<HTMLDivElement>
onCompositionStart?: CompositionEventHandler<HTMLDivElement>
onCompositionStartCapture?: CompositionEventHandler<HTMLDivElement>
onCompositionUpdate?: CompositionEventHandler<HTMLDivElement>
onCompositionUpdateCapture?: CompositionEventHandler<HTMLDivElement>
onContextMenu?: MouseEventHandler<HTMLDivElement>
onContextMenuCapture?: MouseEventHandler<HTMLDivElement>
onCopy?: ClipboardEventHandler<HTMLDivElement>
onCopyCapture?: ClipboardEventHandler<HTMLDivElement>
onCut?: ClipboardEventHandler<HTMLDivElement>
onCutCapture?: ClipboardEventHandler<HTMLDivElement>
onDoubleClick?: MouseEventHandler<HTMLDivElement>
onDoubleClickCapture?: MouseEventHandler<HTMLDivElement>
onDrag?: DragEventHandler<HTMLDivElement>
onDragCapture?: DragEventHandler<HTMLDivElement>
onDragEnd?: DragEventHandler<HTMLDivElement>
onDragEndCapture?: DragEventHandler<HTMLDivElement>
onDragEnter?: DragEventHandler<HTMLDivElement>
onDragEnterCapture?: DragEventHandler<HTMLDivElement>
onDragExit?: DragEventHandler<HTMLDivElement>
onDragExitCapture?: DragEventHandler<HTMLDivElement>
onDragLeave?: DragEventHandler<HTMLDivElement>
onDragLeaveCapture?: DragEventHandler<HTMLDivElement>
onDragOver?: DragEventHandler<HTMLDivElement>
onDragOverCapture?: DragEventHandler<HTMLDivElement>
onDragStart?: DragEventHandler<HTMLDivElement>
onDragStartCapture?: DragEventHandler<HTMLDivElement>
onDrop?: DragEventHandler<HTMLDivElement>
onDropCapture?: DragEventHandler<HTMLDivElement>
onDurationChange?: ReactEventHandler<HTMLDivElement>
onDurationChangeCapture?: ReactEventHandler<HTMLDivElement>
onEmptied?: ReactEventHandler<HTMLDivElement>
onEmptiedCapture?: ReactEventHandler<HTMLDivElement>
onEncrypted?: ReactEventHandler<HTMLDivElement>
onEncryptedCapture?: ReactEventHandler<HTMLDivElement>
onEnded?: ReactEventHandler<HTMLDivElement>
onEndedCapture?: ReactEventHandler<HTMLDivElement>
onError?: ReactEventHandler<HTMLDivElement>
onErrorCapture?: ReactEventHandler<HTMLDivElement>
onFocus?: FocusEventHandler<HTMLDivElement>
onFocusCapture?: FocusEventHandler<HTMLDivElement>
onGotPointerCapture?: PointerEventHandler<HTMLDivElement>
onGotPointerCaptureCapture?: PointerEventHandler<HTMLDivElement>
onInput?: FormEventHandler<HTMLDivElement>
onInputCapture?: FormEventHandler<HTMLDivElement>
onInvalid?: FormEventHandler<HTMLDivElement>
onInvalidCapture?: FormEventHandler<HTMLDivElement>
onKeyDown?: KeyboardEventHandler<HTMLDivElement>
onKeyDownCapture?: KeyboardEventHandler<HTMLDivElement>
onKeyPress?: KeyboardEventHandler<HTMLDivElement>
onKeyPressCapture?: KeyboardEventHandler<HTMLDivElement>
onKeyUp?: KeyboardEventHandler<HTMLDivElement>
onKeyUpCapture?: KeyboardEventHandler<HTMLDivElement>
onLoad?: ReactEventHandler<HTMLDivElement>
onLoadCapture?: ReactEventHandler<HTMLDivElement>
onLoadStart?: ReactEventHandler<HTMLDivElement>
onLoadStartCapture?: ReactEventHandler<HTMLDivElement>
onLoadedData?: ReactEventHandler<HTMLDivElement>
onLoadedDataCapture?: ReactEventHandler<HTMLDivElement>
onLoadedMetadata?: ReactEventHandler<HTMLDivElement>
onLoadedMetadataCapture?: ReactEventHandler<HTMLDivElement>
onLostPointerCapture?: PointerEventHandler<HTMLDivElement>
onLostPointerCaptureCapture?: PointerEventHandler<HTMLDivElement>
onMouseDown?: MouseEventHandler<HTMLDivElement>
onMouseDownCapture?: MouseEventHandler<HTMLDivElement>
onMouseEnter?: MouseEventHandler<HTMLDivElement>
onMouseLeave?: MouseEventHandler<HTMLDivElement>
onMouseMove?: MouseEventHandler<HTMLDivElement>
onMouseMoveCapture?: MouseEventHandler<HTMLDivElement>
onMouseOut?: MouseEventHandler<HTMLDivElement>
onMouseOutCapture?: MouseEventHandler<HTMLDivElement>
onMouseOver?: MouseEventHandler<HTMLDivElement>
onMouseOverCapture?: MouseEventHandler<HTMLDivElement>
onMouseUp?: MouseEventHandler<HTMLDivElement>
onMouseUpCapture?: MouseEventHandler<HTMLDivElement>
onPaste?: ClipboardEventHandler<HTMLDivElement>
onPasteCapture?: ClipboardEventHandler<HTMLDivElement>
onPause?: ReactEventHandler<HTMLDivElement>
onPauseCapture?: ReactEventHandler<HTMLDivElement>
onPlay?: ReactEventHandler<HTMLDivElement>
onPlayCapture?: ReactEventHandler<HTMLDivElement>
onPlaying?: ReactEventHandler<HTMLDivElement>
onPlayingCapture?: ReactEventHandler<HTMLDivElement>
onPointerCancel?: PointerEventHandler<HTMLDivElement>
onPointerCancelCapture?: PointerEventHandler<HTMLDivElement>
onPointerDown?: PointerEventHandler<HTMLDivElement>
onPointerDownCapture?: PointerEventHandler<HTMLDivElement>
onPointerEnter?: PointerEventHandler<HTMLDivElement>
onPointerEnterCapture?: PointerEventHandler<HTMLDivElement>
onPointerLeave?: PointerEventHandler<HTMLDivElement>
onPointerLeaveCapture?: PointerEventHandler<HTMLDivElement>
onPointerMove?: PointerEventHandler<HTMLDivElement>
onPointerMoveCapture?: PointerEventHandler<HTMLDivElement>
onPointerOut?: PointerEventHandler<HTMLDivElement>
onPointerOutCapture?: PointerEventHandler<HTMLDivElement>
onPointerOver?: PointerEventHandler<HTMLDivElement>
onPointerOverCapture?: PointerEventHandler<HTMLDivElement>
onPointerUp?: PointerEventHandler<HTMLDivElement>
onPointerUpCapture?: PointerEventHandler<HTMLDivElement>
onProgress?: ReactEventHandler<HTMLDivElement>
onProgressCapture?: ReactEventHandler<HTMLDivElement>
onRateChange?: ReactEventHandler<HTMLDivElement>
onRateChangeCapture?: ReactEventHandler<HTMLDivElement>
onReset?: FormEventHandler<HTMLDivElement>
onResetCapture?: FormEventHandler<HTMLDivElement>
onScroll?: UIEventHandler<HTMLDivElement>
onScrollCapture?: UIEventHandler<HTMLDivElement>
onSeeked?: ReactEventHandler<HTMLDivElement>
onSeekedCapture?: ReactEventHandler<HTMLDivElement>
onSeeking?: ReactEventHandler<HTMLDivElement>
onSeekingCapture?: ReactEventHandler<HTMLDivElement>
onSelect?: ReactEventHandler<HTMLDivElement>
onSelectCapture?: ReactEventHandler<HTMLDivElement>
onStalled?: ReactEventHandler<HTMLDivElement>
onStalledCapture?: ReactEventHandler<HTMLDivElement>
onSubmit?: FormEventHandler<HTMLDivElement>
onSubmitCapture?: FormEventHandler<HTMLDivElement>
onSuspend?: ReactEventHandler<HTMLDivElement>
onSuspendCapture?: ReactEventHandler<HTMLDivElement>
onTimeUpdate?: ReactEventHandler<HTMLDivElement>
onTimeUpdateCapture?: ReactEventHandler<HTMLDivElement>
onTouchCancel?: TouchEventHandler<HTMLDivElement>
onTouchCancelCapture?: TouchEventHandler<HTMLDivElement>
onTouchEnd?: TouchEventHandler<HTMLDivElement>
onTouchEndCapture?: TouchEventHandler<HTMLDivElement>
onTouchMove?: TouchEventHandler<HTMLDivElement>
onTouchMoveCapture?: TouchEventHandler<HTMLDivElement>
onTouchStart?: TouchEventHandler<HTMLDivElement>
onTouchStartCapture?: TouchEventHandler<HTMLDivElement>
onTransitionEnd?: TransitionEventHandler<HTMLDivElement>
onTransitionEndCapture?: TransitionEventHandler<HTMLDivElement>
onVolumeChange?: ReactEventHandler<HTMLDivElement>
onVolumeChangeCapture?: ReactEventHandler<HTMLDivElement>
onWaiting?: ReactEventHandler<HTMLDivElement>
onWaitingCapture?: ReactEventHandler<HTMLDivElement>
onWheel?: WheelEventHandler<HTMLDivElement>
onWheelCapture?: WheelEventHandler<HTMLDivElement>
placeholder?: string
prefix?: string
property?: string
radioGroup?: string
resource?: string
results?: number
role?: AriaRole
security?: string
slot?: string
spellCheck?: Booleanish
state?: string
style?: CSSProperties
suppressContentEditableWarning?: boolean
suppressHydrationWarning?: boolean
tabIndex?: number
title?: string
translate?: "yes" | "no"
typeof?: string
unselectable?: "on" | "off"
vocab?: string

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +
itemID?: string
itemProp?: string
itemRef?: string
itemScope?: boolean
itemType?: string
lang?: string
onAbort?: ReactEventHandler<HTMLDivElement>
onAbortCapture?: ReactEventHandler<HTMLDivElement>
onAnimationEnd?: AnimationEventHandler<HTMLDivElement>
onAnimationEndCapture?: AnimationEventHandler<HTMLDivElement>
onAnimationIteration?: AnimationEventHandler<HTMLDivElement>
onAnimationIterationCapture?: AnimationEventHandler<HTMLDivElement>
onAnimationStart?: AnimationEventHandler<HTMLDivElement>
onAnimationStartCapture?: AnimationEventHandler<HTMLDivElement>
onAuxClick?: MouseEventHandler<HTMLDivElement>
onAuxClickCapture?: MouseEventHandler<HTMLDivElement>
onBeforeInput?: FormEventHandler<HTMLDivElement>
onBeforeInputCapture?: FormEventHandler<HTMLDivElement>
onBlur?: FocusEventHandler<HTMLDivElement>
onBlurCapture?: FocusEventHandler<HTMLDivElement>
onCanPlay?: ReactEventHandler<HTMLDivElement>
onCanPlayCapture?: ReactEventHandler<HTMLDivElement>
onCanPlayThrough?: ReactEventHandler<HTMLDivElement>
onCanPlayThroughCapture?: ReactEventHandler<HTMLDivElement>
onChange?: FormEventHandler<HTMLDivElement>
onChangeCapture?: FormEventHandler<HTMLDivElement>
onClick?: MouseEventHandler<HTMLDivElement>
onClickCapture?: MouseEventHandler<HTMLDivElement>
onCompositionEnd?: CompositionEventHandler<HTMLDivElement>
onCompositionEndCapture?: CompositionEventHandler<HTMLDivElement>
onCompositionStart?: CompositionEventHandler<HTMLDivElement>
onCompositionStartCapture?: CompositionEventHandler<HTMLDivElement>
onCompositionUpdate?: CompositionEventHandler<HTMLDivElement>
onCompositionUpdateCapture?: CompositionEventHandler<HTMLDivElement>
onContextMenu?: MouseEventHandler<HTMLDivElement>
onContextMenuCapture?: MouseEventHandler<HTMLDivElement>
onCopy?: ClipboardEventHandler<HTMLDivElement>
onCopyCapture?: ClipboardEventHandler<HTMLDivElement>
onCut?: ClipboardEventHandler<HTMLDivElement>
onCutCapture?: ClipboardEventHandler<HTMLDivElement>
onDoubleClick?: MouseEventHandler<HTMLDivElement>
onDoubleClickCapture?: MouseEventHandler<HTMLDivElement>
onDrag?: DragEventHandler<HTMLDivElement>
onDragCapture?: DragEventHandler<HTMLDivElement>
onDragEnd?: DragEventHandler<HTMLDivElement>
onDragEndCapture?: DragEventHandler<HTMLDivElement>
onDragEnter?: DragEventHandler<HTMLDivElement>
onDragEnterCapture?: DragEventHandler<HTMLDivElement>
onDragExit?: DragEventHandler<HTMLDivElement>
onDragExitCapture?: DragEventHandler<HTMLDivElement>
onDragLeave?: DragEventHandler<HTMLDivElement>
onDragLeaveCapture?: DragEventHandler<HTMLDivElement>
onDragOver?: DragEventHandler<HTMLDivElement>
onDragOverCapture?: DragEventHandler<HTMLDivElement>
onDragStart?: DragEventHandler<HTMLDivElement>
onDragStartCapture?: DragEventHandler<HTMLDivElement>
onDrop?: DragEventHandler<HTMLDivElement>
onDropCapture?: DragEventHandler<HTMLDivElement>
onDurationChange?: ReactEventHandler<HTMLDivElement>
onDurationChangeCapture?: ReactEventHandler<HTMLDivElement>
onEmptied?: ReactEventHandler<HTMLDivElement>
onEmptiedCapture?: ReactEventHandler<HTMLDivElement>
onEncrypted?: ReactEventHandler<HTMLDivElement>
onEncryptedCapture?: ReactEventHandler<HTMLDivElement>
onEnded?: ReactEventHandler<HTMLDivElement>
onEndedCapture?: ReactEventHandler<HTMLDivElement>
onError?: ReactEventHandler<HTMLDivElement>
onErrorCapture?: ReactEventHandler<HTMLDivElement>
onFocus?: FocusEventHandler<HTMLDivElement>
onFocusCapture?: FocusEventHandler<HTMLDivElement>
onGotPointerCapture?: PointerEventHandler<HTMLDivElement>
onGotPointerCaptureCapture?: PointerEventHandler<HTMLDivElement>
onInput?: FormEventHandler<HTMLDivElement>
onInputCapture?: FormEventHandler<HTMLDivElement>
onInvalid?: FormEventHandler<HTMLDivElement>
onInvalidCapture?: FormEventHandler<HTMLDivElement>
onKeyDown?: KeyboardEventHandler<HTMLDivElement>
onKeyDownCapture?: KeyboardEventHandler<HTMLDivElement>
onKeyPress?: KeyboardEventHandler<HTMLDivElement>
onKeyPressCapture?: KeyboardEventHandler<HTMLDivElement>
onKeyUp?: KeyboardEventHandler<HTMLDivElement>
onKeyUpCapture?: KeyboardEventHandler<HTMLDivElement>
onLoad?: ReactEventHandler<HTMLDivElement>
onLoadCapture?: ReactEventHandler<HTMLDivElement>
onLoadStart?: ReactEventHandler<HTMLDivElement>
onLoadStartCapture?: ReactEventHandler<HTMLDivElement>
onLoadedData?: ReactEventHandler<HTMLDivElement>
onLoadedDataCapture?: ReactEventHandler<HTMLDivElement>
onLoadedMetadata?: ReactEventHandler<HTMLDivElement>
onLoadedMetadataCapture?: ReactEventHandler<HTMLDivElement>
onLostPointerCapture?: PointerEventHandler<HTMLDivElement>
onLostPointerCaptureCapture?: PointerEventHandler<HTMLDivElement>
onMouseDown?: MouseEventHandler<HTMLDivElement>
onMouseDownCapture?: MouseEventHandler<HTMLDivElement>
onMouseEnter?: MouseEventHandler<HTMLDivElement>
onMouseLeave?: MouseEventHandler<HTMLDivElement>
onMouseMove?: MouseEventHandler<HTMLDivElement>
onMouseMoveCapture?: MouseEventHandler<HTMLDivElement>
onMouseOut?: MouseEventHandler<HTMLDivElement>
onMouseOutCapture?: MouseEventHandler<HTMLDivElement>
onMouseOver?: MouseEventHandler<HTMLDivElement>
onMouseOverCapture?: MouseEventHandler<HTMLDivElement>
onMouseUp?: MouseEventHandler<HTMLDivElement>
onMouseUpCapture?: MouseEventHandler<HTMLDivElement>
onPaste?: ClipboardEventHandler<HTMLDivElement>
onPasteCapture?: ClipboardEventHandler<HTMLDivElement>
onPause?: ReactEventHandler<HTMLDivElement>
onPauseCapture?: ReactEventHandler<HTMLDivElement>
onPlay?: ReactEventHandler<HTMLDivElement>
onPlayCapture?: ReactEventHandler<HTMLDivElement>
onPlaying?: ReactEventHandler<HTMLDivElement>
onPlayingCapture?: ReactEventHandler<HTMLDivElement>
onPointerCancel?: PointerEventHandler<HTMLDivElement>
onPointerCancelCapture?: PointerEventHandler<HTMLDivElement>
onPointerDown?: PointerEventHandler<HTMLDivElement>
onPointerDownCapture?: PointerEventHandler<HTMLDivElement>
onPointerEnter?: PointerEventHandler<HTMLDivElement>
onPointerEnterCapture?: PointerEventHandler<HTMLDivElement>
onPointerLeave?: PointerEventHandler<HTMLDivElement>
onPointerLeaveCapture?: PointerEventHandler<HTMLDivElement>
onPointerMove?: PointerEventHandler<HTMLDivElement>
onPointerMoveCapture?: PointerEventHandler<HTMLDivElement>
onPointerOut?: PointerEventHandler<HTMLDivElement>
onPointerOutCapture?: PointerEventHandler<HTMLDivElement>
onPointerOver?: PointerEventHandler<HTMLDivElement>
onPointerOverCapture?: PointerEventHandler<HTMLDivElement>
onPointerUp?: PointerEventHandler<HTMLDivElement>
onPointerUpCapture?: PointerEventHandler<HTMLDivElement>
onProgress?: ReactEventHandler<HTMLDivElement>
onProgressCapture?: ReactEventHandler<HTMLDivElement>
onRateChange?: ReactEventHandler<HTMLDivElement>
onRateChangeCapture?: ReactEventHandler<HTMLDivElement>
onReset?: FormEventHandler<HTMLDivElement>
onResetCapture?: FormEventHandler<HTMLDivElement>
onScroll?: UIEventHandler<HTMLDivElement>
onScrollCapture?: UIEventHandler<HTMLDivElement>
onSeeked?: ReactEventHandler<HTMLDivElement>
onSeekedCapture?: ReactEventHandler<HTMLDivElement>
onSeeking?: ReactEventHandler<HTMLDivElement>
onSeekingCapture?: ReactEventHandler<HTMLDivElement>
onSelect?: ReactEventHandler<HTMLDivElement>
onSelectCapture?: ReactEventHandler<HTMLDivElement>
onStalled?: ReactEventHandler<HTMLDivElement>
onStalledCapture?: ReactEventHandler<HTMLDivElement>
onSubmit?: FormEventHandler<HTMLDivElement>
onSubmitCapture?: FormEventHandler<HTMLDivElement>
onSuspend?: ReactEventHandler<HTMLDivElement>
onSuspendCapture?: ReactEventHandler<HTMLDivElement>
onTimeUpdate?: ReactEventHandler<HTMLDivElement>
onTimeUpdateCapture?: ReactEventHandler<HTMLDivElement>
onTouchCancel?: TouchEventHandler<HTMLDivElement>
onTouchCancelCapture?: TouchEventHandler<HTMLDivElement>
onTouchEnd?: TouchEventHandler<HTMLDivElement>
onTouchEndCapture?: TouchEventHandler<HTMLDivElement>
onTouchMove?: TouchEventHandler<HTMLDivElement>
onTouchMoveCapture?: TouchEventHandler<HTMLDivElement>
onTouchStart?: TouchEventHandler<HTMLDivElement>
onTouchStartCapture?: TouchEventHandler<HTMLDivElement>
onTransitionEnd?: TransitionEventHandler<HTMLDivElement>
onTransitionEndCapture?: TransitionEventHandler<HTMLDivElement>
onVolumeChange?: ReactEventHandler<HTMLDivElement>
onVolumeChangeCapture?: ReactEventHandler<HTMLDivElement>
onWaiting?: ReactEventHandler<HTMLDivElement>
onWaitingCapture?: ReactEventHandler<HTMLDivElement>
onWheel?: WheelEventHandler<HTMLDivElement>
onWheelCapture?: WheelEventHandler<HTMLDivElement>
placeholder?: string
prefix?: string
property?: string
radioGroup?: string
resource?: string
results?: number
role?: AriaRole
security?: string
slot?: string
spellCheck?: Booleanish
state?: string
style?: CSSProperties
suppressContentEditableWarning?: boolean
suppressHydrationWarning?: boolean
tabIndex?: number
title?: string
translate?: "yes" | "no"
typeof?: string
unselectable?: "on" | "off"
vocab?: string

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-react-utils/interfaces/FlowerBIValueBoxProps.html b/docs/typedoc/flowerbi-react-utils/interfaces/FlowerBIValueBoxProps.html index 128b6c16..f8c9c914 100644 --- a/docs/typedoc/flowerbi-react-utils/interfaces/FlowerBIValueBoxProps.html +++ b/docs/typedoc/flowerbi-react-utils/interfaces/FlowerBIValueBoxProps.html @@ -1 +1 @@ -FlowerBIValueBoxProps | flowerbi-react-utils
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FlowerBIValueBoxProps

Hierarchy

  • FlowerBIValueBoxProps

Index

Properties

id?: string
label?: string
title?: string
value?: string | number

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +FlowerBIValueBoxProps | flowerbi-react-utils
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FlowerBIValueBoxProps

Hierarchy

  • FlowerBIValueBoxProps

Index

Properties

id?: string
label?: string
title?: string
value?: string | number

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-react-utils/interfaces/LayoutProps.html b/docs/typedoc/flowerbi-react-utils/interfaces/LayoutProps.html index 83c7301a..b1808ffe 100644 --- a/docs/typedoc/flowerbi-react-utils/interfaces/LayoutProps.html +++ b/docs/typedoc/flowerbi-react-utils/interfaces/LayoutProps.html @@ -124,7 +124,7 @@
see

aria-valuetext.

aria-valuetext?: string

Defines the human readable text alternative of aria-valuenow for a range widget.

-
autoCapitalize?: string
autoCorrect?: string
autoSave?: string
children: ReactNode | ReactNode[]
className?: string
color?: string
contentEditable?: Booleanish | "inherit"
contextMenu?: string
dangerouslySetInnerHTML?: { __html: string }

Type declaration

  • __html: string
datatype?: string
defaultChecked?: boolean
defaultValue?: string | number | readonly string[]
dir?: string
draggable?: Booleanish
hidden?: boolean
id?: string
inlist?: any
inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal"
+
autoCapitalize?: string
autoCorrect?: string
autoSave?: string
children: ReactNode | ReactNode[]
className?: string
color?: string
contentEditable?: Booleanish | "inherit"
contextMenu?: string
dangerouslySetInnerHTML?: { __html: string }

Type declaration

  • __html: string
datatype?: string
defaultChecked?: boolean
defaultValue?: string | number | readonly string[]
dir?: string
draggable?: Booleanish
hidden?: boolean
id?: string
inlist?: any
inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal"

Hints at the type of data that might be entered by the user while editing the element or its contents

see

https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute

is?: string
diff --git a/docs/typedoc/flowerbi-react-utils/modules.html b/docs/typedoc/flowerbi-react-utils/modules.html index 20748cd5..761132a4 100644 --- a/docs/typedoc/flowerbi-react-utils/modules.html +++ b/docs/typedoc/flowerbi-react-utils/modules.html @@ -1 +1 @@ -flowerbi-react-utils
Options
All
  • Public
  • Public/Protected
  • All
Menu

flowerbi-react-utils

Index

Functions

  • Column(props: LayoutElementCoreProps): Element
  • Row(props: LayoutElementCoreProps): Element
  • useDropDown<T>(options: DropDownOption<T>[]): { options: string[]; value: string; get selected(): T; onChange: any }

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +flowerbi-react-utils
Options
All
  • Public
  • Public/Protected
  • All
Menu

flowerbi-react-utils

Index

Functions

  • Column(props: LayoutElementCoreProps): Element
  • Row(props: LayoutElementCoreProps): Element
  • useDropDown<T>(options: DropDownOption<T>[]): { options: string[]; value: string; get selected(): T; onChange: any }

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-react/interfaces/PageFilters.html b/docs/typedoc/flowerbi-react/interfaces/PageFilters.html index a2f0132a..6d61ebed 100644 --- a/docs/typedoc/flowerbi-react/interfaces/PageFilters.html +++ b/docs/typedoc/flowerbi-react/interfaces/PageFilters.html @@ -1 +1 @@ -PageFilters | flowerbi-react
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface PageFilters

Hierarchy

Index

Properties

global: FilterJson[]
interactionKey: string
interactions: FilterJson[]

Methods

  • clearAll(): void
  • clearGlobal(): void
  • clearInteraction(): void
  • getFilters(key: string): FilterJson[]
  • setGlobal(filters: FilterJson[]): void
  • setInteraction(key: string, filters: FilterJson[]): void

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +PageFilters | flowerbi-react
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface PageFilters

Hierarchy

Index

Properties

global: FilterJson[]
interactionKey: string
interactions: FilterJson[]

Methods

  • clearAll(): void
  • clearGlobal(): void
  • clearInteraction(): void
  • getFilters(key: string): FilterJson[]
  • setGlobal(filters: FilterJson[]): void
  • setInteraction(key: string, filters: FilterJson[]): void

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-react/interfaces/PageFiltersProp.html b/docs/typedoc/flowerbi-react/interfaces/PageFiltersProp.html index 3146aa89..ebc80ec6 100644 --- a/docs/typedoc/flowerbi-react/interfaces/PageFiltersProp.html +++ b/docs/typedoc/flowerbi-react/interfaces/PageFiltersProp.html @@ -1 +1 @@ -PageFiltersProp | flowerbi-react
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface PageFiltersProp

Hierarchy

  • PageFiltersProp

Index

Properties

Properties

pageFilters: PageFilters

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +PageFiltersProp | flowerbi-react
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface PageFiltersProp

Hierarchy

  • PageFiltersProp

Index

Properties

Properties

pageFilters: PageFilters

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-react/interfaces/PageFiltersState.html b/docs/typedoc/flowerbi-react/interfaces/PageFiltersState.html index 44a68599..0a211f59 100644 --- a/docs/typedoc/flowerbi-react/interfaces/PageFiltersState.html +++ b/docs/typedoc/flowerbi-react/interfaces/PageFiltersState.html @@ -1 +1 @@ -PageFiltersState | flowerbi-react
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface PageFiltersState

Hierarchy

Index

Properties

global: FilterJson[]
interactionKey: string
interactions: FilterJson[]

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +PageFiltersState | flowerbi-react
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface PageFiltersState

Hierarchy

Index

Properties

global: FilterJson[]
interactionKey: string
interactions: FilterJson[]

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi-react/interfaces/UseQueryResult.html b/docs/typedoc/flowerbi-react/interfaces/UseQueryResult.html index 7a29a98d..58792661 100644 --- a/docs/typedoc/flowerbi-react/interfaces/UseQueryResult.html +++ b/docs/typedoc/flowerbi-react/interfaces/UseQueryResult.html @@ -2,7 +2,7 @@

The set of records returned, each having named properties corresponding to the plain and aggregated columns selected in the query.

-
+

The state of the query operation:

UseQueryState: "init" | "ready" | "refresh" | "error"

Functions

UseQueryState: "init" | "ready" | "refresh" | "error"

Functions

  • A custom React hook that evaluates to the result of a Query, making it easy to perform a query from within a component.

    @@ -23,6 +23,6 @@

    Optionally, a list of one or more other queries whose results are used to build this query, so we wait for them before executing, and optionally short-circuit to an empty result if the dependency is empty.

    -

Returns UseQueryResult<S, C>

Returns UseQueryResult<S, C>

Legend

  • Property
  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/classes/IntegerQueryColumn.html b/docs/typedoc/flowerbi/classes/IntegerQueryColumn.html index aff40833..3c560165 100644 --- a/docs/typedoc/flowerbi/classes/IntegerQueryColumn.html +++ b/docs/typedoc/flowerbi/classes/IntegerQueryColumn.html @@ -1,51 +1,51 @@ -IntegerQueryColumn | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class IntegerQueryColumn<T>

Type parameters

  • T: number | null = number

Hierarchy

Index

Constructors

Properties

name: string

Methods

  • bitsIn(mask: number, value: NonNullable<T>[]): FilterJson

Returns AggregationJson

  • bitsIn(mask: number, value: NonNullable<T>[]): FilterJson

Returns AggregationJson

Returns AggregationJson

  • in(value: T extends string | number ? T[] : never): FilterJson
  • in(value: T extends string | number ? T[] : never): FilterJson
  • Produces a filter that requires this column's value to appear in the list. Only supported for number or string columns.

    -

    Parameters

    • value: T extends string | number ? T[] : never

    Returns FilterJson

Returns AggregationJson

Returns AggregationJson

  • notIn(value: T extends string | number ? T[] : never): FilterJson
  • notIn(value: T extends string | number ? T[] : never): FilterJson
  • Produces a filter that requires this column's value to not appear in the list. Only supported for number or string columns.

    -

    Parameters

    • value: T extends string | number ? T[] : never

    Returns FilterJson

Returns AggregationJson

Returns AggregationJson

  • in(value: T extends string | number ? T[] : never): FilterJson
  • in(value: T extends string | number ? T[] : never): FilterJson
  • Produces a filter that requires this column's value to appear in the list. Only supported for number or string columns.

    -

    Parameters

    • value: T extends string | number ? T[] : never

    Returns FilterJson

Returns AggregationJson

Returns AggregationJson

  • notIn(value: T extends string | number ? T[] : never): FilterJson
  • notIn(value: T extends string | number ? T[] : never): FilterJson
  • Produces a filter that requires this column's value to not appear in the list. Only supported for number or string columns.

    -

    Parameters

    • value: T extends string | number ? T[] : never

    Returns FilterJson

Returns AggregationJson

  • Produces a filter that requires this column to be equal to some value.

    -

    Parameters

    • value: T

    Returns FilterJson

  • Produces a filter that requires this column to be greater than to some value.

    -

    Parameters

    • value: T

    Returns FilterJson

  • Produces a filter that requires this column to be greater than or equal to some value.

    -

    Parameters

    • value: T

    Returns FilterJson

  • in(value: T extends string | number ? T[] : never): FilterJson
  • in(value: T extends string | number ? T[] : never): FilterJson
  • Produces a filter that requires this column's value to appear in the list. Only supported for number or string columns.

    -

    Parameters

    • value: T extends string | number ? T[] : never

    Returns FilterJson

  • Produces a filter that requires this column to be less than to some value.

    -

    Parameters

    • value: T

    Returns FilterJson

  • Produces a filter that requires this column to be less than or equal to some value.

    -

    Parameters

    • value: T

    Returns FilterJson

Returns AggregationJson

Returns AggregationJson

  • Produces a filter that requires this column to be not equal to some value.

    -

    Parameters

    • value: T

    Returns FilterJson

  • notIn(value: T extends string | number ? T[] : never): FilterJson
  • notIn(value: T extends string | number ? T[] : never): FilterJson
  • Produces a filter that requires this column's value to not appear in the list. Only supported for number or string columns.

    Parameters

    • value: T extends string | number ? T[] : never

    Returns FilterJson

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/classes/QueryColumnRuntimeType.html b/docs/typedoc/flowerbi/classes/QueryColumnRuntimeType.html index 633d8e70..5b43d94b 100644 --- a/docs/typedoc/flowerbi/classes/QueryColumnRuntimeType.html +++ b/docs/typedoc/flowerbi/classes/QueryColumnRuntimeType.html @@ -1 +1 @@ -QueryColumnRuntimeType | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class QueryColumnRuntimeType

Hierarchy

  • QueryColumnRuntimeType

Index

Constructors

Properties

Constructors

Properties

targetColumn: string

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +QueryColumnRuntimeType | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class QueryColumnRuntimeType

Hierarchy

  • QueryColumnRuntimeType

Index

Constructors

Properties

Constructors

Properties

targetColumn: string

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/classes/QueryValuesRow.html b/docs/typedoc/flowerbi/classes/QueryValuesRow.html index eec87d42..14a07756 100644 --- a/docs/typedoc/flowerbi/classes/QueryValuesRow.html +++ b/docs/typedoc/flowerbi/classes/QueryValuesRow.html @@ -1,4 +1,4 @@ -QueryValuesRow | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class QueryValuesRow<S, C>

Type parameters

Hierarchy

  • QueryValuesRow

Implements

Index

Constructors

Properties

Methods

Constructors

Properties

totals: undefined | (AggregateValuesOnly<S> & CalculationValues<C>)
values: ExpandedQueryRecord<S, C>
+QueryValuesRow | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class QueryValuesRow<S, C>

Type parameters

Hierarchy

  • QueryValuesRow

Implements

Index

Constructors

Properties

Methods

Constructors

Properties

totals: undefined | (AggregateValuesOnly<S> & CalculationValues<C>)
values: ExpandedQueryRecord<S, C>

The plain values of columns, which may be undefined if this refers to the ExpandedQueryResult.totals record.

-

Methods

  • percentage<K>(key: K): number

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +

Methods

  • percentage<K>(key: K): number

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/classes/QueryValuesTotal.html b/docs/typedoc/flowerbi/classes/QueryValuesTotal.html index 14608a85..f7a6eae9 100644 --- a/docs/typedoc/flowerbi/classes/QueryValuesTotal.html +++ b/docs/typedoc/flowerbi/classes/QueryValuesTotal.html @@ -1,4 +1,4 @@ -QueryValuesTotal | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class QueryValuesTotal<S, C>

Type parameters

Hierarchy

  • QueryValuesTotal

Implements

Index

Constructors

Properties

Methods

Constructors

Properties

+QueryValuesTotal | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class QueryValuesTotal<S, C>

Type parameters

Hierarchy

  • QueryValuesTotal

Implements

Index

Constructors

Properties

Methods

Constructors

Properties

The plain values of columns, which may be undefined if this refers to the ExpandedQueryResult.totals record.

-

Methods

  • percentage(): number

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +

Methods

  • percentage(): number

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/classes/StringQueryColumn.html b/docs/typedoc/flowerbi/classes/StringQueryColumn.html index 7402ef9e..36d50289 100644 --- a/docs/typedoc/flowerbi/classes/StringQueryColumn.html +++ b/docs/typedoc/flowerbi/classes/StringQueryColumn.html @@ -1,46 +1,46 @@ -StringQueryColumn | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class StringQueryColumn<T>

Type parameters

  • T: string | null = string

Hierarchy

Index

Constructors

Properties

name: string

Methods

Returns AggregationJson

Returns AggregationJson

  • in(value: T extends string | number ? T[] : never): FilterJson
  • in(value: T extends string | number ? T[] : never): FilterJson
  • Produces a filter that requires this column's value to appear in the list. Only supported for number or string columns.

    -

    Parameters

    • value: T extends string | number ? T[] : never

    Returns FilterJson

Returns AggregationJson

Returns AggregationJson

  • notIn(value: T extends string | number ? T[] : never): FilterJson
  • notIn(value: T extends string | number ? T[] : never): FilterJson
  • Produces a filter that requires this column's value to not appear in the list. Only supported for number or string columns.

    Parameters

    • value: T extends string | number ? T[] : never

    Returns FilterJson

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/enums/QueryColumnDataType.html b/docs/typedoc/flowerbi/enums/QueryColumnDataType.html index d1e5d3fa..85debd21 100644 --- a/docs/typedoc/flowerbi/enums/QueryColumnDataType.html +++ b/docs/typedoc/flowerbi/enums/QueryColumnDataType.html @@ -1,4 +1,4 @@ QueryColumnDataType | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Enumeration QueryColumnDataType

A column from the schema, with a name and a data type. A whole schema of such declared columns can be auto-generated using the CLI.

-

Index

Enumeration members

Bool = "Bool"
Byte = "Byte"
DateTime = "DateTime"
Decimal = "Decimal"
Double = "Double"
Float = "Float"
Int = "Int"
Long = "Long"
None = "None"
Short = "Short"
String = "String"

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +

Index

Enumeration members

Bool = "Bool"
Byte = "Byte"
DateTime = "DateTime"
Decimal = "Decimal"
Double = "Double"
Float = "Float"
Int = "Int"
Long = "Long"
None = "None"
Short = "Short"
String = "String"

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/interfaces/AggregationJson.html b/docs/typedoc/flowerbi/interfaces/AggregationJson.html index 7f63743b..911d6d62 100644 --- a/docs/typedoc/flowerbi/interfaces/AggregationJson.html +++ b/docs/typedoc/flowerbi/interfaces/AggregationJson.html @@ -3,4 +3,4 @@ a function applied to it. Filters can optionally be supplied to limit the set of rows included in the aggregation. The column is specified by a string of the form table.column.

-

Hierarchy

  • AggregationJson

Index

Properties

column: string
filters?: FilterJson[]
function: AggregationType

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +

Hierarchy

  • AggregationJson

Index

Properties

column: string
filters?: FilterJson[]
function: AggregationType

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/interfaces/ExpandedQueryResult.html b/docs/typedoc/flowerbi/interfaces/ExpandedQueryResult.html index 84859667..df24412d 100644 --- a/docs/typedoc/flowerbi/interfaces/ExpandedQueryResult.html +++ b/docs/typedoc/flowerbi/interfaces/ExpandedQueryResult.html @@ -1,10 +1,10 @@ ExpandedQueryResult | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ExpandedQueryResult<S, C>

The statically-typed result of a Query.

-

Type parameters

Hierarchy

  • ExpandedQueryResult

Index

Properties

Properties

records: ExpandedQueryRecord<S, C>[]
+

Type parameters

Hierarchy

  • ExpandedQueryResult

Index

Properties

Properties

records: ExpandedQueryRecord<S, C>[]

The set of records returned, each having named properties corresponding to the plain and aggregated columns selected in the query.

-
+

Optional extra record, only available if QueryJson.totals was specified as true in the query, containing the aggregation totals.

diff --git a/docs/typedoc/flowerbi/interfaces/FilterJson.html b/docs/typedoc/flowerbi/interfaces/FilterJson.html index 76854a58..75b2fd12 100644 --- a/docs/typedoc/flowerbi/interfaces/FilterJson.html +++ b/docs/typedoc/flowerbi/interfaces/FilterJson.html @@ -1,4 +1,4 @@ FilterJson | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FilterJson

Specifies a filter criterion. The column is specified by a string of the form table.column.

-

Hierarchy

  • FilterJson

Index

Properties

column: string
constant?: unknown
operator: FilterOperator
value: unknown

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +

Hierarchy

  • FilterJson

Index

Properties

column: string
constant?: unknown
operator: FilterOperator
value: unknown

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/interfaces/Query.html b/docs/typedoc/flowerbi/interfaces/Query.html index 20c7fb27..080fccfb 100644 --- a/docs/typedoc/flowerbi/interfaces/Query.html +++ b/docs/typedoc/flowerbi/interfaces/Query.html @@ -1,25 +1,25 @@ Query | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Query<S, C>

Strongly-typed query definition: use jsonifyQuery to convert to the JSON format and expandQueryResult to generate corresponding output records.

-

Type parameters

Hierarchy

  • Query

Index

Properties

allowDuplicates?: boolean
+

Type parameters

Hierarchy

  • Query

Index

Properties

allowDuplicates?: boolean

Only applicable if the query specifies only ordinary columns, no aggregations. If true, no GROUP BY clause is added to the SQL, so if multiple results have the same values they will appear repeatedly in the output. This can greatly reduce the work required by the SQL engine, and so should be specified if duplicate rows are tolerable or are known to be impossible.

-
calculations?: C
comment?: string
+
calculations?: C
comment?: string

A string to insert in a comment at the start of the generated SQL.

This will be aggressively processed to remove the danger of injection attacks, so anything other than alpha, numeric, new line or CR characters will be replaced with space.

-
filters?: FilterJson[]
orderBy?: (OrderingJson | Ordering<S, C>)[]
+
filters?: FilterJson[]
orderBy?: (OrderingJson | Ordering<S, C>)[]

Ordering criteria to apply.

-
select: S
skip?: number
+
select: S
skip?: number

Number of result records to skip before the first record returned.

-
take?: number
+
take?: number

Number of result records to return.

-
totals?: boolean
+
totals?: boolean

Specifies whether to return a totals property containing the aggregation values across the whole dataset, e.g. if the select object is:

diff --git a/docs/typedoc/flowerbi/interfaces/QueryJson.html b/docs/typedoc/flowerbi/interfaces/QueryJson.html index 99e7229d..d733faf3 100644 --- a/docs/typedoc/flowerbi/interfaces/QueryJson.html +++ b/docs/typedoc/flowerbi/interfaces/QueryJson.html @@ -1,23 +1,23 @@ QueryJson | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface QueryJson

Specifies an entire query.

-

Hierarchy

  • QueryJson

Index

Properties

aggregations: AggregationJson[]
+

Hierarchy

  • QueryJson

Index

Properties

aggregations: AggregationJson[]

The aggregated values to fetch.

-
allowDuplicates?: boolean
+
allowDuplicates?: boolean
calculations?: CalculationJson[]
+
calculations?: CalculationJson[]

The calculations to perform.

-
comment?: string
+
comment?: string
filters?: FilterJson[]
+
filters?: FilterJson[]

Filters to apply. They are always combined with AND.

-
orderBy?: OrderingJson[]
+
orderBy?: OrderingJson[]

Ordering criteria to apply.

-
select?: string[]
+
select?: string[]

The plain columns to fetch, each specified by a string of the form table.column.

-
skip?: number
+
skip?: number

See Query.skip.

-
take?: number
+
take?: number

See Query.take.

-
totals?: boolean
+
totals?: boolean

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/interfaces/QueryRecordJson.html b/docs/typedoc/flowerbi/interfaces/QueryRecordJson.html index d3480a39..eec18f27 100644 --- a/docs/typedoc/flowerbi/interfaces/QueryRecordJson.html +++ b/docs/typedoc/flowerbi/interfaces/QueryRecordJson.html @@ -1,7 +1,7 @@ QueryRecordJson | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface QueryRecordJson

The JSON format of a record returned from the API when executing a query.

-

Hierarchy

  • QueryRecordJson

Index

Properties

aggregated: number[]
+

Hierarchy

  • QueryRecordJson

Index

Properties

aggregated: number[]

The aggregated column values.

-
selected: QuerySelectValue[]
+
selected: QuerySelectValue[]

The plain column values.

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/interfaces/QueryResultJson.html b/docs/typedoc/flowerbi/interfaces/QueryResultJson.html index 57023b99..8d89ad5b 100644 --- a/docs/typedoc/flowerbi/interfaces/QueryResultJson.html +++ b/docs/typedoc/flowerbi/interfaces/QueryResultJson.html @@ -1,9 +1,9 @@ QueryResultJson | flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface QueryResultJson

The JSON format of the whole payload returned from the API when executing a query.

-

Hierarchy

  • QueryResultJson

Index

Properties

Properties

records: QueryRecordJson[]
+

Hierarchy

  • QueryResultJson

Index

Properties

Properties

records: QueryRecordJson[]

The records of the query result.

-
+

Optional extra record, only available if QueryJson.totals was specified as true in the query, containing the aggregation totals.

diff --git a/docs/typedoc/flowerbi/interfaces/QueryValues.html b/docs/typedoc/flowerbi/interfaces/QueryValues.html index 50295eea..4b14c807 100644 --- a/docs/typedoc/flowerbi/interfaces/QueryValues.html +++ b/docs/typedoc/flowerbi/interfaces/QueryValues.html @@ -2,7 +2,7 @@

An abstract interface representing either a row from a dataset or the ExpandedQueryResult.totals row, so that generic code can format either of them in a consistent way.

-

Type parameters

Hierarchy

  • QueryValues

Implemented by

Index

Properties

Methods

Properties

+

Type parameters

Hierarchy

  • QueryValues

Implemented by

Index

Properties

Methods

Properties

The plain values of columns, which may be undefined if this refers to the ExpandedQueryResult.totals record.

-

Methods

  • percentage<K>(key: K): number
  • Type parameters

    • K: string | number | symbol

    Parameters

    • key: K

    Returns number

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +

Methods

  • percentage<K>(key: K): number
  • Type parameters

    • K: string | number | symbol

    Parameters

    • key: K

    Returns number

Legend

  • Constructor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Property
  • Protected method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/typedoc/flowerbi/modules.html b/docs/typedoc/flowerbi/modules.html index 76a82320..8433780f 100644 --- a/docs/typedoc/flowerbi/modules.html +++ b/docs/typedoc/flowerbi/modules.html @@ -1,70 +1,70 @@ -flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

flowerbi

Index

Type aliases

AggregatePropsOnly<T>: AggregatePropsOnlyHelper<T>[keyof AggregatePropsOnlyHelper<T>]
+flowerbi
Options
All
  • Public
  • Public/Protected
  • All
Menu

flowerbi

Index

Type aliases

AggregatePropsOnly<T>: AggregatePropsOnlyHelper<T>[keyof AggregatePropsOnlyHelper<T>]

The names of properties from a select object that refer to aggregated values. Compare with ColumnPropsOnly.

-

Type parameters

AggregatePropsOnlyHelper<T>: { [ K in keyof T]: T[K] extends QueryColumn<any> ? never : K }
+

Type parameters

AggregatePropsOnlyHelper<T>: { [ K in keyof T]: T[K] extends QueryColumn<any> ? never : K }

A helper type used in the definition of AggregatePropsOnly.

-

Type parameters

AggregateValuesOnly<T>: { [ K in AggregatePropsOnly<T>]: number }
+

Type parameters

AggregateValuesOnly<T>: { [ K in AggregatePropsOnly<T>]: number }

An object that contains a subset of the the named properties from a query's select object, those that refer to aggregated values (hence all are of type number.)

-

Type parameters

AggregationType: "Count" | "Sum" | "Avg" | "Min" | "Max" | "CountDistinct"
+

Type parameters

AggregationType: "Count" | "Sum" | "Avg" | "Min" | "Max" | "CountDistinct"

The allowed aggregation function names.

-
Calculation<S>: number | AggregatePropsOnly<S> | [Calculation<S>, "+" | "-" | "*" | "/" | "??", Calculation<S>]

Type parameters

CalculationJson: { value: number } | { aggregation: number } | { first: CalculationJson; operator: "+" | "-" | "*" | "/" | "??"; second: CalculationJson }
+
Calculation<S>: number | AggregatePropsOnly<S> | [Calculation<S>, "+" | "-" | "*" | "/" | "??", Calculation<S>]

Type parameters

CalculationJson: { value: number } | { aggregation: number } | { first: CalculationJson; operator: "+" | "-" | "*" | "/" | "??"; second: CalculationJson }

Specifies an expression for calculating a derived value based on the values of aggregations, specified by zero-based position.

-
CalculationValues<C>: { [ K in keyof C]: number }

Type parameters

ColumnPropsOnly<T>: ColumnPropsOnlyHelper<T>[keyof ColumnPropsOnlyHelper<T>]
+
CalculationValues<C>: { [ K in keyof C]: number }

Type parameters

ColumnPropsOnly<T>: ColumnPropsOnlyHelper<T>[keyof ColumnPropsOnlyHelper<T>]

The names of properties from a select object that refer to plain columns. Compare with AggregatePropsOnly.

-

Type parameters

ColumnPropsOnlyHelper<T>: { [ K in keyof T]: T[K] extends QueryColumn<any> ? K : never }
+

Type parameters

ColumnPropsOnlyHelper<T>: { [ K in keyof T]: T[K] extends QueryColumn<any> ? K : never }

A helper type used in the definition of ColumnPropsOnly.

-

Type parameters

ExpandedQueryRecord<S, C>: { [ P in keyof S]: S[P] extends QueryColumn<any> ? QueryColumnType<S[P]> : number } & { [ P in keyof C]: number }
+

Type parameters

ExpandedQueryRecord<S, C>: { [ P in keyof S]: S[P] extends QueryColumn<any> ? QueryColumnType<S[P]> : number } & { [ P in keyof C]: number }

Defines the shape of a record returned from a query, based on its select object. Each selected property appears as a property in the record with the same name. For plain columns the data type depends on the column definition, but for aggregations and calculations the data type is always number.

-

Type parameters

ExpandedQueryRecordWithOptionalColumns<S, C>: { [ P in keyof S]: S[P] extends QueryColumn<any> ? QueryColumnType<S[P]> | undefined : number } & { [ P in keyof C]: number }
+

Type parameters

ExpandedQueryRecordWithOptionalColumns<S, C>: { [ P in keyof S]: S[P] extends QueryColumn<any> ? QueryColumnType<S[P]> | undefined : number } & { [ P in keyof C]: number }

Similar to ExpandedQueryRecord but the plain columns are optional, so they may be undefined. Aggregations/calculations are not optional.

-

Type parameters

FilterOperator: "=" | "<>" | ">" | "<" | ">=" | "<=" | "IN" | "NOT IN" | "BITS IN" | "LIKE"
+

Type parameters

FilterOperator: "=" | "<>" | ">" | "<" | ">=" | "<=" | "IN" | "NOT IN" | "BITS IN" | "LIKE"

The allowed filter comparison operators.

-
FilterValue: string | number | boolean | Date | unknown | string[] | number[]
+
FilterValue: string | number | boolean | Date | unknown | string[] | number[]

The allowed value types for a filter.

-
Ordering<S, C>: { descending?: boolean } & ({ select: keyof S } | { calculation: keyof C })

Type parameters

OrderingJson: { descending?: boolean } & ({ column: string } | { index: number; type: "Select" | "Value" | "Calculation" })
+
Ordering<S, C>: { descending?: boolean } & ({ select: keyof S } | { calculation: keyof C })

Type parameters

OrderingJson: { descending?: boolean } & ({ column: string } | { index: number; type: "Select" | "Value" | "Calculation" })

Specifies an ordering criteria: which column to sort by, and optionally whether it is descending (the default is ascending). The column can be specified by a string of the form table.column, though this can only target one of the columns specified in select. More flexibly, specify a type of column (the type 'Value' refers to aggregations) and its zero-based position.

-
QueryCalculations<S>: Record<string, Calculation<S>>
+
QueryCalculations<S>: Record<string, Calculation<S>>

The select object of a query has named properties of type SelectMember.

-

Type parameters

QueryColumnType<T>: T extends QueryColumn<infer C> ? C : never
+

Type parameters

QueryColumnType<T>: T extends QueryColumn<infer C> ? C : never

Extracts the data type from a column. So QueryColumnType<QueryColumn<boolean>> is boolean.

-

Type parameters

  • T

QueryFetch: (queryJson: QueryJson) => Promise<QueryResultJson>

Type declaration

QueryFetch: (queryJson: QueryJson) => Promise<QueryResultJson>

Type declaration

    • The function you need to implement to pass QueryJson payloads to your API and get them executed. This will typically be a wrapper around the fetch browser API, or something more high-level, and can make use of whatever authentication method you prefer.

      -

      Parameters

      Returns Promise<QueryResultJson>

QuerySelect: Record<string, SelectMember>
+

Parameters

Returns Promise<QueryResultJson>

QuerySelect: Record<string, SelectMember>

The select object of a query has named properties of type SelectMember.

-
QuerySelectValue: number | string | Date | boolean
+
QuerySelectValue: number | string | Date | boolean

The allowed data types for plain columns.

-
SelectMember: QueryColumn<any> | AggregationJson
+
SelectMember: QueryColumn<any> | AggregationJson

Defines the kinds of member that can appear in the select object of a query. Queries can select plain columns, or aggregation functions on columns.

-

Functions

  • distinct<T>(arr: T[]): T[]

Functions

  • distinct<T>(arr: T[]): T[]
  • Returns the distinct (unique) values from an array. The comparison method is very simplistic: all values are converted to strings before comparison.

    Type parameters

    • T

    Parameters

    • arr: T[]
      -

    Returns T[]

Returns T[]

  • Converts the QueryRecordJson for a single record into a strongly-typed record with named properties, using the Query.select from the query to perform the necessary mapping.

    @@ -72,21 +72,21 @@

    The Query.select property from the query.

  • record: QueryRecordJson

    The record returned from your API.

    -
  • Optional calcs: C

Returns ExpandedQueryRecord<S, C>

Returns ExpandedQueryRecord<S, C>

Returns ExpandedQueryResult<S, C>

  • Returns the names of properties in a query that refer to aggregated columns. The result is an array of strings, but type-constrained to string literal types:

    getAggregatePropsOnly({
    customer: Customer.Name,
    spend: Invoice.Amount.sum()
    }) // ["spend"]

    Type parameters

    Parameters

    • select: T

      the select object from a query

      -

    Returns AggregatePropsOnly<T>[]

Returns AggregatePropsOnly<T>[]

Returns AggregateValuesOnly<S> & CalculationValues<C>

Returns AggregateValuesOnly<S> & CalculationValues<C>

  • Returns the names of properties in a query that refer to plain columns. The result is an array of strings, but type-constrained to string literal types:

    getColumnPropsOnly({
    customer: Customer.Name,
    spend: Invoice.Amount.sum()
    }) // ["customer"]

    Type parameters

    Parameters

    • select: T

      the select object from a query

      -

    Returns ColumnPropsOnly<T>[]

Returns ColumnPropsOnly<T>[]

  • Returns the plain column objects referred to in a query, ignoring aggregated columns.

    Parameters

    Returns QueryColumn<any>[]

Returns QueryColumn<any>[]

  • keysOf<T>(obj: T): keyof T[]

Returns QueryJson

  • keysOf<T>(obj: T): keyof T[]
  • Returns the names of properties (i.e. the keys) in an object, statically typed so each has the string literal type of one of the properties. This is not always correct, because the type will include properties inherited diff --git a/server/dotnet/Demo/FlowerBI.DemoSchema/DemoSchema.cs b/server/dotnet/Demo/FlowerBI.DemoSchema/DemoSchema.cs index 916e7a01..fb820800 100644 --- a/server/dotnet/Demo/FlowerBI.DemoSchema/DemoSchema.cs +++ b/server/dotnet/Demo/FlowerBI.DemoSchema/DemoSchema.cs @@ -4,7 +4,7 @@ namespace FlowerBI.DemoSchema; using FlowerBI; -// Important: this file is auto-generated by flowerbi on dotnet. +// Important: this file is auto-generated by flowerbi. [DbSchema("main")] public static class BugSchema diff --git a/server/dotnet/Directory.Build.props b/server/dotnet/Directory.Build.props index ac10ae73..237b3330 100644 --- a/server/dotnet/Directory.Build.props +++ b/server/dotnet/Directory.Build.props @@ -1,6 +1,6 @@ - 5.2.0 + 5.2.1 Daniel Earwicker ./nupkg MIT