From e0454980d4da642ed1a2222abd23e4f0d1bc86be Mon Sep 17 00:00:00 2001 From: Hah Chung Khen Date: Mon, 6 Apr 2020 09:40:37 +0800 Subject: [PATCH 01/28] update sdk test framework documentation --- SDKTestFramework/README.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index 4d1a306..54620fb 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -1,19 +1,22 @@ # SDK Test Framework -Apart from providing all the resources you need to develop custom steps, the SDK also contains a test framework that can help you test custom steps at component level. The test framework uses JUnit. +Apart from providing all the resources you need to develop custom steps and parsers, the SDK also contains a test framework that can help you test custom steps and parsers at component level. The test framework uses JUnit. -The test framework helps mock the behavior of Data Studio where a custom step is installed and used in a workflow. This ensures the custom step works as intended. The test framework is also useful for creating regression tests. +The test framework helps mock the behavior of Data Studio where a custom step and parser are installed. This ensures both custom step and parser works as intended. The test framework is also useful for creating regression tests. -**Purpose:** The SDK test framework is a standalone environment that mimics Aperture Data Studio to test the custom steps built by developers to ensure they work as designed. +**Purpose:** The SDK test framework is a standalone environment that mimics Aperture Data Studio to test the custom steps and parsers built by developers to ensure they work as designed. -The SDK test framework is not a complete duplicate of the Aperture Data Studio environment but only a limited simulation without the full features of Data Studio. However it provides sufficient resources to ensure a custom step is compatible with an actual Data Studio environment and should run as intended. +The SDK test framework is not a complete duplicate of the Aperture Data Studio environment but only a limited simulation without the full features of Data Studio. However it provides sufficient resources to ensure a custom step and parser are compatible with an actual Data Studio environment and should run as intended. -This project provides instructions on how to test an *individual* custom step jar. +This project provides instructions on how to test an *individual* custom step and parser jar. -Example custom steps tested are: -- AddVAT +Example custom step tested is: +- [AddVAT](custom-step-test-framework-configuration) -# Test Framework Configuration +Example custom parser tested is: +- [JsonParser](custom-parser-test-framework-configuration) + +# Custom Step Test Framework Configuration The SDK Test Framework tests are run using [JUnit](https://junit.org/) (a user interface is not provided). For more details about JUnit, refer to the [user documentation](https://junit.org/). From 758d3b08ce2e00ff957237d9fa9d20b06894e5e8 Mon Sep 17 00:00:00 2001 From: Hah Chung Khen Date: Mon, 6 Apr 2020 18:57:52 +0800 Subject: [PATCH 02/28] enhanced SDKTestFramework/README.md with custom parser --- SDKTestFramework/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index 54620fb..60070b3 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -34,10 +34,10 @@ A test consists of the following: 1. Defining the test parameters (through the methods prescribed in SDKTestFramework.java): - [Test Setting](#test-setting) - [Test Setting Example](#test-setting-example) - - [Test Step](#test-step) - [Test Step Example](#test-step-example) - - [Test Data Source](#test-data-source) - [Test Data Source Example](#test-data-source-example) + - [Test Step](#test-step) - [Test Step Example](#test-step-example) + - [Test Data Source](#test-data-source) - [Test Data Source Example](#test-data-source-example) -2. [Building the Test Suite](#building-the-test-suite) with the parameters above (producing a TestSuite.java object) +2. [Building the test suite](#building-the-test-suite) with the parameters above (producing a TestSuite.java object) 3. [Executing the test suite](#executing-the-test-suite) to produce a TestResult.java object. From bb882d9b30e35290c994cdcc191ec20df1770cce Mon Sep 17 00:00:00 2001 From: Hah Chung Khen Date: Mon, 6 Apr 2020 21:51:12 +0800 Subject: [PATCH 03/28] add image for custom parser test framework --- SDKTestFramework/README.md | 141 ++++++++++++++++++ .../readme-images/example-dataset.PNG | Bin 0 -> 33904 bytes .../readme-images/parser-test-data-source.png | Bin 0 -> 45741 bytes .../readme-images/parser-test-loader.PNG | Bin 0 -> 44062 bytes .../readme-images/parser-test-setting.PNG | Bin 0 -> 70052 bytes 5 files changed, 141 insertions(+) create mode 100644 SDKTestFramework/readme-images/example-dataset.PNG create mode 100644 SDKTestFramework/readme-images/parser-test-data-source.png create mode 100644 SDKTestFramework/readme-images/parser-test-loader.PNG create mode 100644 SDKTestFramework/readme-images/parser-test-setting.PNG diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index 60070b3..c6ed06c 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -209,3 +209,144 @@ With the test written (following the [Writing a Test using the SDK Test Framewor 4. The output of the test will be displayed as below: ![test results](readme-images/test-results.png) + +# Custom Parser Test Framework Configuration + +The steps to test a custom step using the SDK Test Framework can be roughly simplified over the following steps: +1. [Writing a Test using the SDK Test Framework](#writing-a-test-using-the-sdk-test-framework) +2. [Running the Test](#running-the-test) + +## Writing a Test using the SDK Test Framework + +In this example, we will use the Metro2 parser for the demonstration. For further details about the Metro2 parser, refer to the source code. + +A test consists of the following: + +1. Defining the test parameters (through the methods prescribed in SDKTestFramework.java): + - [Pasrser Loader](#parser-loader) - [Parser Test Loader Example](#parser-test-loader-example) + - [Parser Test Setting](#parser-test-setting) - [Parser Test Setting Example](#parser-test-setting-example) + - [Parser Test Data Source](#parser-test-data-source) - [Parser Test Data Source Example](#parser-test-data-source-example) + +2. [Building the parser test suite](#building-the-parser-test-suite) with the parameters above (producing a ParserTestSuite.java object) + +3. [Executing the parser test suite](#executing-the-test-suite) to produce a ParserTestResult.java object. + +4. [Asserting the parser expected results](#asserting-the-parser-expected-results) on the ParserTestResult.java object. + + +In detail, the defining of test parameters use the following methods of the SDKTestFramework.java class: +- `createTestParser()` +- `createTestParserSetting()` +- `createTestParserSource()` + +#### Parser Loader +The `createTestParser()` method of SDKTestFramework.java class takes a TestParserBuilder (which returns a list of TestParser.java objects) as an argument. + +The TestParserBuilder allows you to configure the parser for the test using the following methods: +- `loadCustomParser()` +- `addParserParameter()` +- `build()` - returns a list of TestParser.java object + +#### Parser Test Setting +The `createTestParserSetting()` method of SDKTestFramework.java class takes a ParserSettingBuilder (which returns a TestParserSetting.java object) as an argument. + +The ParserSettingBuilder allows you to configure the settings for the test using the following methods: +- `assignDataTypeToColumn()` - optional +- `build()` - returns a TestParserSetting.java object + +#### Parser Test Data Source +The `createTestParserSource()` method of SDKTestFramework.java class takes a TestParserSourceBuilder (which returns a list of TestParserSource.java objects) as an argument. + +The TestParserSourceBuilder allows you to configure the data sources for the test using the following methods: +- `loadFile()` - optional +- `loadStream()` - optional +- `build()` - returns a list of TestParserSource.java objects + +### Demo: Json Parser Test + +An example of uploading json file using Json Parser in Data Studio would look similar to the following: + +![example dataset](readme-images/example-dataset.png) + +To reiterate, the SDK Test Framework is designed to replicate the above functionality of Data Studio (with only limited features) to test a custom parser. Using JsonParserTfwTest.java as an example, the Java class can be found at: `/aperture-data-studio-sdk/SDKTestFramework/src/test/java/com/experian/datastudio/sdk/parser/json/` + +#### Parser Test Loader Example: + +``` +final TestParser parser = SDKTestFramework.createTestParser( + parserBuilder -> parserBuilder + .loadCustomParser(customParserLoader -> + customParserLoader.fromParserDefinition(new JsonParser())) + .addParserParameter("&header_processing_iteration", 3L) + .addParserParameter("&id_field", "Id") + .build()); +``` + +This essentially replicates the loading of json file into Data Studio as below: + +![parser test loader](readme-images/parser-test-loader.png) + +#### Parser Test Setting Example: + +``` +final TestParserSetting setting = SDKTestFramework.createTestParserSetting( + parserSettingBuilder -> parserSettingBuilder + .assignDataTypeToColumn(ParserDataType.NUMERIC, "Data Studio Link") + .assignDataTypeToColumn(ParserDataType.NUMERIC, "Id") + .assignDataTypeToColumn(ParserDataType.ALPHANUMERIC, "Name") + .build() + ); +} +``` + +This essentially replicates the column annotation for the Json parser in Data Studio as below: + +![parser test setting](readme-images/parser-test-setting.png) + +#### Parser Test Data Source Example: + +``` +final TestParserSource source = SDKTestFramework.createTestParserSource( + parserSourceBuilder -> parserSourceBuilder + .loadFile("/json/example.json") + .build()); +``` + +This essentially replicates the data source uploaded into Data Studio as below: + +![parser test data source](readme-images/parser-test-data-source.png) + +### Building the parser test suite + +With [parser test loader](#parser-test-loader-example), [parser test setting](#parser-test-setting-example), and [parser test data source](#parser-test-data-source-example) defined as above, build the Test Suite using the builder as follows: + +``` +final ParserTestSuite testSuite = ParserTestSuiteBuilderFactory.newBuilder() + .withParser(parser) + .withSource(source) + .withSetting(setting) + .build(); +``` + +### Executing the parser test suite + +Executing the parser test suite is relatively simple using the `execute()` method of the ParserTestSuite class. This returns a ParserTestResult object on which assertions can be made. + +``` +final ParserTestResult result = testSuite.execute(); +``` + +### Asserting the parser expected results + +Assert the expected results uses the Assert class methods from [JUnit](https://junit.org/). The actual results after executing the code can be retrieved from the ParserTestResult object produced by the execution of the Test Suite as shown above. + +``` +assertThat(result.getTableDefinitions().size()).isEqualTo(1); +assertThat(result.getTableDefinitionById("Customers")).isNotNull(); +``` + +Alternatively, you can use TableResultAssert which bundled together with SDK TestFramework. + +``` +TableResultAssert.assertThat(result.getTableResult("Customers")).compareOutputWithCsv("/json/example-customer-result.csv"); +``` diff --git a/SDKTestFramework/readme-images/example-dataset.PNG b/SDKTestFramework/readme-images/example-dataset.PNG new file mode 100644 index 0000000000000000000000000000000000000000..12b03db900ddd0d7bf0303a9373f19d2013f15df GIT binary patch literal 33904 zcmeFZ2T)Ya*FJ~|Q3)y%2SEji5{DdBvgDjW(!h{m$Wh4|l{lo4Fhl`~l0kA97+}az z;*gP?nH}_ff8YMUt*x!v`tR26*50}lJ#+i^J>7k}&v~A6?u02TN)z0typMx}Lm(?7 zp^AfZ3y6br!ygY9`^|7>niBTk4T!4rTb$y4sx|C~+ZJyW-r(Sr#yq$%zJvXI&p}29 zf`jwe`TFn1EQrP(2Pg23ti&62cf+lQb0ZS1^c@ku_S3EDbb&+xG!$}}+AU5m&`pQ( z7*b*oA+BTyUK@85^Qjr#3763SgG zgk>6R_Zg3lb>=h**}QfpQ*OGFXiOo`56|kIOLQx(G>Rm*4ktE_7;a-lyFPB*23_|A zdpwl6%3eGBar@1~zvmO~pNQB0mSrxxn=Vr1{h#6eJ?|&K2mPm<{r|MGw>ju)s?ccQ z$Y1w9(R7yO6=U1H5p{8f80H+gW;BsX^iLlLvS{a$D0mr+o)%^eo-ZDBij}#91-0&o zxyzg@8NkKT_PwT@|LvwH_YwfOPjkf<5xgCJuQfAO?xr14^uV{Vs_~p#|7q~KQ4+;= z{OQhq)7R4T#hzk1kaAKw!`!5C3hBQi8xwqC47%ctz3RN^;{g6M!nXxT5%~Ys_^95K zL}B>wm)O;e)LFU5#9P3cSY!R?tF29>+2pAEzqi1Hy?HExwYVT}E1>i3w_HgLbNW-n zo%j0<@}nEyoXu#F9OObu*D3yK7M|&C4ARD2-PPgdI%=M<0*TWeG?7^rLN5!OF5}WM zYg*ji_VQ18=0^t8-639x%71%)zfqqLIKA<>$bHxKX~SEh4jN{b$FTZL&#ca%KEwkt zB)pFHctnMm&})T3$h7#*KZBwCdpR6>%I?<`X6S1#Ry5<1FuGM7I(VL*V8 zPAMKs(R9t6ZSg1uxJfSyC;A=Vf+#)!5T|3l9CaifXhk@gw9R|#^KqRCOmdWK16#$B z>E0WIRG^Ls8sR#3GPs|EGF$L_GPDZGKclW}#kdAqK{aR$edjlJ-n`M!upMeEsMy|$ zx)Q#GFgHyrUb<~}pK^ao`LQ!JUq%o1-Rzfh5vg-$aG9mber~+#i#a^SyLFQH0EGKz zi7@iSIRn+Ersare1e4m?PZnt~GD6YAlQ}@0-G`M;-Vh;?!x*9L>X6VxD_`|Q(8|1b z{V-3Wq!#Ak$G12%-=K?Bd+GC%e&VCs0B z!vUB<@IJb017o<-P1%|6z6vl3=)-0I(2Q|9+f68{VivTYUTir%Q~M0FM78XW4{Nt> zW{c?=8bpVzl-?NH&+eQTo`QFxuKoSYZy~{0Zif74aICcD(3TSow)|yv6e`(}b9d>oq8gQ_rCu9RSm~Os` zps|N*iSob3AUCF#EEEHfdgbM*vj%>VSDVXGWuKAYS5L-z9*qfmWW*~PJQ)-7gkCvr zJvtM^REx8cJcasJjORIIVf?Nvfqj=FV@?@?{(GPrha2pC4JM1Sp4&4sPRpD^v27mb z_9ed0_m3jx$Od7UOZ48X5oVRcoTmCULxJvUKwmCA?AOVKyl?G1xzC;kygnyQWdXf6 zCz-sqAYjX$2cKM_uCaV=ng=6HtC12rHOSC^6W!O1-6RI21(qw!S{*%_&QAUIBZMdS zLgWrE%{`o+2TwFjOG7<0xWp{1CM{u%Mv5W(1u#C8KlI}ty?;k=I*M>uOamM>&AFvd zp5ub`S()D}KwI5+pvWVQZo@k>1K&9(KDj9>en4Mb5Dg~9$moTl*czUEAzng`xb+0{ zrbNwcGsXhk_J)QcBxt?&GpqzY&Uz}HVfer4QBAp4OC>)j%m{C!2Ke&@?p8Zx#Yjmu zZdUW~zxCrs(Gh4=WX#w5yh7YYM(B85^mZ-gbL+@+} zLRGbSoR!p9fV$}vhl)Mis0iGO zbgJAbF^8CK{Folx3Vh-P3?$|r<_w93#Qf~IMYi;K(8itrDfM1z)NNP`L5kK&^xlk@yJQ&686J&oRU)UIJSh@%y;er8BMii+p_b4x1(XL9igo03CyrNVYjJniKXU% zhvs}{J3O>vy!!H@oVaB(QZkMNKw>zg`(Ui)#0YE>ShM(yS9*G}J@~U%v1d!Gt}sdB zyhW$nTZnG(J&mb|&t?W(G{EFVysr6dCPTe%PDAlTKJQdobjWrS_w;Ytq2 zvBd8IwpsrDri)AZGj_3Q3BLw+vdeh{&jb#df4U3(-100ZS?SW0aHbxj#XGtaJ)KKq zPBj$#CG5aM=1B-=ed$Un$@vl|7!-J~Ect;bjPGbrh`8D8gOt!1*Es9bC%Xr;(KMJNz{IUq@U8KY6_mty{Un`eZ96?1v?m-q zjMkH)SZxCW@r@!v`WjC5^`W@A?XAE0~)0$n1pbAgP45H1SP3J*t=@X^cPMM}=&3egy)YrFzn zco(sZdBGijLEMY)hwKWREAo;HElHD)Okx#(`lp`8kIFw$Kma~n1<9K-D6|xM87?`{~s8-PTTW2{N z?AH}^FHo^M?{7WW({tUO91q18@&dTIyBXp9TbqP6{o}>8cQ@c1?+k2>a!yY| zdZqrRir#jJlOR79bU^k3BV6At8jHaE`q0Lj_0c}JnlbDb zsz88PS0=4RiFJo$Xvil=qT4C=?Yj0|t~Lr+F5)bKt@|MN^oW@OPJ`)Hzte_Gr!MkV z5m7%@`7mMnp(#kF;_O|(6YB6I*oyg7G7+f}dhG{f^=KgUGwE@rL-h#4VRk=!-84N- z!xa>a>K@l*ZXJKME8)jWv%4L$-#xZGZ|zM;j6{6@948{{IJ7XERXBHK-C(((^XlB^ zGq^&3*%{%G@a_iePbWk$swxf(-(Cx>kL@1-^va0#uPS|iHQ&xE9O90TFCbO2&{Ty$>WW#avn>aaH4j|`*bP~%%I4dR|z$zJT^PaJ5I8QOX= z5k%7in6)$0M-6zX2_uNqh9SFyNxH{;>k<7wdYmV?cfFtR-t^P3lKlSwute#^6zyEDv(9|?~Kk2H?ZfnBc2)QwWP~a{qn+){K3n_+kwTZf~lGnDR@h?0#E#=|Az1 zqrQhUfhAt$zp~AaFK4ji|ci~3W>5tHz zuA)8brB^q)KdxzI+ty#!){KV ztCj}G@Ux)|Tt0`3yMbS4>on>SH5F3$J36L)I+<3MjySD9baDPDrj=Tm4VUe;AluR@ zX?f-7=lnH3`CMAka1va!oEo+dE@_K$xSWVa1_X|3h2b&sC67x{4?rv=j=SKHd zpIthh6m^w{lcNsFTRkqVn>^= zTI9*HOL{v{&Jr>u*;jX;`;JOcL_*irkHJ3CRcK7{ptozne$CZ^hJrKuHRN1M(+2{D zg(E^9?S^X$cc;6RSnPgj5bl)R5eOqy8bagpr{K)S1}-`w1Jy3U!#R-`0ucLnE}8WW z?d+LpU%4Z7?M2-_e7;(SWV4b8GR6UPz;B*LesxyVf&iB{J3i6Qg4d5;h_H^9vRp9K zxcq0YG?40QNpFe(l_)b^?!r3Ejtqc8lM@VvDcd?6vg+ARA6!_9Z?bRcE~-*()Y?JE zeM5P93T6X}r95?FFr$(Mi&E%uoTuHRAzVJP5lTUoMki50xXwV@p)Gs3(p&`f(Gv@I zlsW>R&z)UUvUqfvA9j@N;2!5|yK7V7jF?TXZ4E)V%SnnZG4|gOJju9Uo=)QftE+T+ zv5P>IJv=QQ*d8vvcyX}if@(f=9ZXLPS@o!M5B{P|XsSAL$Dj z8<2#-XEH$Uidurxk;+gE!8YPSNB z^9tKEe*;gh`88HS*ENttu=7}@`{w)rCPUw31;RO$5XReP!OM8}QX+_<74bb|{8c0= zI)vaUyJ-!LK0Xj+yo)tQO02E8~Zpk20_75ILCzD z)Kqe{n!5u@-_Usmg)^Yvo3mDV727u~;|^{vI|@^2^C;UzW;9g&C@dQn4GdQ@~o0Ap}snx9>qY&l<=&1aH5SvDcPTB8;&I9T>}j#Pwsm z=08-uOVE%uLk6Zt+kqCK!F0*c+l~zVxefI8AbF9db;cqQn__>>>Eg?;k3MVq*URk= z^%JthuA&kUd|!;t`)DKr^fnacXQ_DU>TBqaUpQoG6B>K10l}KS zby@P1c!pn~$DanhM5~|oN4am`Goe*`iT{{LXOV!4rP#Sk*rD}ILL&kn4Z*s$o%0(s z%nkH?cZe8b$H*3{Q%AQ=wIY|(C;02nk&{$piZP43s>8w)=_T!_zX*6S#)o`+vlE*R zz5*q}*^yDWNbtPZY0fvM%u*yqDHuAxVYA>YVK_dpYl0VnIn6^5iFx@}U9fka&kpI= zdN=TyJPI&Nq434UY~O84L|Y-ny{cTnbaJ!FPU!NZId< zWt^Vx2=2ZMOz+3KgWXFg!|1-q!^uK6RgV(UG4Zb}zN`D7R49~vtwGJ0@;eP5KHJzkYUWz{kC#nOMa#Ugzk;F;8yK?kn{Fa1pf zenjHKe$pI&z#>&5;CKB67t(lM_O$85=aFrfh;+Qm)1hx1!f{)d?22-bW&#sC#M~FJ z`U{mK2?WNa(Pp6Beax2^A0O~&mOK_PG#xtHhi{}s#MQs{3(+Xou9p@0<+)GpDU=%++l|#> zF5nplZ@Ohk5EKHMWbT*9woTEjuit1bz^%1B&mE1gUl3+5q@N5$jl0Rjg?(-^gHmMH zihthy)``VFQ^xMWf3dG0xC0?ypH6{w6Ya?T%5qhCyUf}B1;_4(I4;5f<5*JnbCk6x zEUFtc_!<=O6TO%1wyiOULRU<@S`#6BZv1XMP`eKw)(P=)FMiNjUMJex$sdEI;d;*J zrRsd28l=Kbn?&jQ!a=^n-6{^^u#oIsv-8fmlOc|0ulfOKDAMBAaf0QAUdf{(wBK1g zLP#v2vaVlhDFStgP@<5DCx~>ks2%-_o)?G4wdD=1S>pA zp(v6LHS^fL`N-P{QvsJ)IhMBtuwE_YZQd)Fqt)3PLe%RQ@RXgirB#BPY2cMs@NbO~ zD_p;J`y%b`x0SM2aG25%rvzJPgItrK``(i*8Bh>|~`nO(>&hiR~oxQ0AApT4nhK zjcUAY0+(2PCn8cGD@JsWrE!2+0T(^x=`$NzF3;UOp-s0Q|GpG@QYa~89&_71x?6<$ zGZ?%Q=9TWO1|lIU)WhQLzI$S0m>ml*lLhVe26jF{dsOpp#)h*EZ@t*|eIMVwy0^>? zPaX%$Ps4b`7ASrfUtwP1zeJ|YQv({U*=k<#i6IF*&^Ab=gnA(GY{~WfWfEM}W|%T0LByh>49z-mpYlgb4)*Bv3HPgJ7iM0~^5jhDAfRM$KKP>p2$YIO89MeMhSZ$1 zcc44nNfgo6X=81L-@yb|fuIiU@5XU#n^kLRI`BPmP7K|>?Ber6n&{+iT;V*Do@RB>0 z*>8qno!Ao590Sa8SuS`jmmzWkVyfRHnv%PEu+`Q;;Z0ySygyLIBZTa+IM^tHJ5`gQ zp|E>^pjF6e`ibBg4Rv;tufcZS?c-z;9N zBZC$C{Ct-or%>dw-)W75{e2|OQ0rn?45lXZc&w$`!BbZ|CsnJhL0E~sC!@)rQOmBF z!pDwl844YAb62Wf(AW%)sfEseuL|C%Fc^;AB0JAha&?YY+vnWq(G8LCF8Zm^YRoLE zDY>)t4Ngm7rFC(mVOQugbTB63fSq^fXA6)S>3JognxSdC=cOZ5$t3=85Kr;_pULv1 z^{jyLxvQ`997lzv$@s|}nuM7)7&r&++X{uF;dTZ|wYF9=NQ;`u&m#Oi}El_7FBnB~YOci|jsGMb))X0<>#kjA)w%8I@l2xC0f%x%+%P<-NI|i+&_y9=i%>4-uw)ol?%!QbBKIL zb;$S~9QTscJ@F{seS^(*q20s>izKahxx^{Q;KYD9_fdj`b7R~yORpf!F|3`aI%aiH z)%;^g;aGs7=@@gH&mFFBm!~KlhQN;#+;hJ1fr+uq@$_XweFAz+zGC9V2Fuy!)QDJj zE}yroB6R4zi>{oXJ#ti?Lc9VmpTlAY7I&VyrrNU>8#Jn?k4;FWp;r zMKkExfXW(0*|nw?;s@MK>I{S#$N!7p@5_Up9{VLqM$H{TdRf`(#YIXg%-wv;+996U z&{@;85Im`Z@BD|JPgVi85^wq)q=-AUmkEhyadX(L_YdGz9^wzk^&Ss3{gm+j zCt&QK$(@Dee}Y$bgN%meu1whbu9ii`uLB`x*O48+!yg=6*E(>0wp(@l+eNGctNw2^ z;PxBkXa7F>|I6h=2IQ-L+Agu1f8+A}w?G{h|8FR_9)nh7VtT;0Z#lQo+hyxAW}8S4 zpiGFz{ttUX`xOKVe8)G@$ybq|*23(1n**C;aeZXpzQF_ZpEvC3|1O4xMp70~Ywl)# zgx>gb@!3nfVyH2$4L$(?dc$R!Fp1*N*Ep&-=Te~B@v6R^KJh-8rRfigMhO(8?vNZt z7Sc+HKkch{vEuFb;BVbukvPc|noL`^m6XY(#=7s;LPxqPcyar?zW=?B(~p-2HGY~~ zq(HmQ8|YDEk(}ayGS{{AipE?gcVG_(sSkbl8yx0F6d9Z@K#9dCjjG~nRgMAA|6cw8 zylDs04$03`no%%f9FPkB&u#aUD0;&!M2+$hVSlUQ^nZZvLjNtx+yFv^O_Fq!8Ll?| zoqgJI5J(NkGpFX33E3fCwl50_?vJ4X$Z&S_Bdi# z*~PgevcJKwr%I#~^PlFLK{@`+cZUrmfCG|+w#eP4e;n5X&L0r}vp#+Pj+~cD%K|-2C{uc519$aaoiO9ID zeE8vzc7yn712disRXoFW2VaNdT;JE14QN`tR6mjxgv$as6GsuD86TlxcMJ7=y9ah`*L5D-plq{E}W8&f1X?0w8UrUt0IKS;(BLk(Q%${wJ&s#$}Pt0 zxhLSsQ2vSXuEqtU70|Z7bnr}W{Wjo?<;RfFoI<%s48a6MZd7f)lAj{9qx;f^EsHdy zyZgZPTekDm0l&Roeoue(;R;HKbJsTR>#@ymUC|#x5Ppj3jZb6pUfM&IMF*KS2gMm>?shq>ump<2uVGSG(mHW&>X&DJ+%cm~ zP0ieQkZf6RQv~=cg@%|eH4GqYU=M}CF28olbVVWdLgH_cZmL&K4W<1Z?+MJeSky%x z2E`qBzter6l$s0H`FT6`gJ1-cX>^bM@MYZ7Nm*;(Vzd%t|E0u$k<^Bf%2?vsR`$hX zx!G4NUFK;qPSTez*b~l`#&#AbY91k9`e>9!K`F92Y#$6yGw`yqfG?xHnah3Hz;WpY zDdXS&EDU!3DSq~?r!;}2940&RY>}Xe(k8q9Wx@P~ zE_EdxRSpl-7<8$gH>BWYE)w4!AtovlRdbe!`+%`TBS;!J`_`kxk!tY7D4pyFLzrhF z<3{JY?~0jb}h*olS&fHge=|T(M_&LxXPxclliiR za9I}DyHYl&eW0eip0tw?*%TDv>2T4b`}koz*a%gZ}42#P2DK zY8Flz6#L75`Ez*f3VNj`TI3q{Z0?iZD=}n1`KV4GtD|rI*%s)a-9$i^&BUnUmDq&u zsciRqmog&*B83zWgA%^yW2G$xvSB6sA`c`+F;cT+@uVJoJ2(+}s#39(V}1H)g+WxY z4?!O9lfBF;@>H;+u>betQaYLL;} z(9nJo-3$4iq}g-sTpij{U0tC;m;7$MQ6slf1PRx?M|r%77$yJ)_K zgutQq%ExNN-o~GXXiR#<&CuPXiSBhb%~~Axkxa_LVlHIVqYikcdU|=KW>V?s~w zStkdJKA{Pgq*UYJHeAHU+U_TgTA#{>V+&y@YT;7VURai~^*s(m8yB;)RYlT%7%XOg z&nCO*>|yn-^c~OZyiS}?PjayNR;`W^M|&0{YQzN(gO`?Acf}eQay}G)D_fHO!ubt!n%MG(2pgMuXVC{o<)#$VN>A?8WY){5G2g3laW8YFSWG<*wm)Sv{z zmQ$d@CwyX7&2($x#!OGsB@w)U_^hW!o*#i-Nh0!P4DXu!Twta}1e2$4*Q^)~^YqV! zDLe=e^4!GPB5d*>lE1@_7GD*tJ9CL5f_rr)AC_zFcg^GQ6PPls9KOgcmCq5LNa_|w zB+F5RP=W_Q+E1^$^8p6^0v)8h=%MSv5UGI^PMWxQokaUY`{>9a);+d}U}aB|lshP4 z8KCJFg)tLQjrnRhhZc~HM{C+9YXgdQ4vQHCcOE1S}7jVnPfj)-Lbp`c88JO#_B?j3k4sy41g6jd9q} z3LJU}j|)mqFOMAEWJw(cK`-yD*NC0!FFo!dUW-S^-GDYi9}xvmy49Pr(X#H9{knYB zQ_=?d;|t;8ssVvk@mzMlr3qP4lxNd&rRuIVNrmZP5w=ke_IFMsTquV&KA@m*eQyW1 zyd`Kj+**Wn#Sz|RZG{`W2$zG<7i)cz_7alNmM-T|NuC&tjB@q$Gz@*4$_v4W28nM~ zSf39^Mvc*-5N*XE(2!A0tS0?<5~ox*FR($QLXG@o*1Tv2y-Z5tE796n5OIGlcpEvU zY$z+&l1{i-qomW#0SxCy(r?v0urzlS9Z{@2zIQzh&E`2E5UG~(%k#iuL-50Iu~*9v zUm4>w*X-Iu*@rf*9q?XjKR;I4NGrlyeCqmq#uc8kjagM;6&E1lbFD;oF?0%>0 z;Ozb>M^8?Da?q&9+c^fwDRQn2W$30PMa7m+QoRc0hJA)^%_&-sTWjvumqRnp>3O{l zh>@ODz=Dpv;SsK>?y`WWRNA3=T$3pQE70=;x5(v@=3@=OpN?tC414o{CLNxK#zzkxSP7I{#-z_F^K zh_at`!96CEV+jo^D`v_Wu^QjM*nm1DJd-~|icBdKw#AXpJhS9|_!FO*uqU^} zb&*|{#>{f?Du`Sz@COE7f?B_BvXUr$w8Q z5>&n6R`myEn;wsojvbQrYJSMR-wN}j7f+)49QYa3!KBMT#uUn9r?|v}vc2H7)089e zQ>Wh%@UIevT!o?Tlz*`Ty#j~}8kSn0fut;c?`i5jI|j*S#WQ5SitvTS8sNOYiLK(? zA(XGYV~|oFPigC!d_5sJApiUnib^v_iJgcqo0X-2@XBp2jbK{6xATCgMLfR{m^kAZ7G zhN<)6P~+`{K}wBLokR`tKN^D%bO8dN7O}ubut|{Io>!3}y4Csqn)Zv-FU}X$RL*jj z7aHHOrZ^}X8UhbH*msIc=$kq@sVkw=Cux!pH=!Lba+YqHq?};!)(k*a)6`o1u{if6 zZ~8N|uVRx$N1=_wJn|b7bH6XJ5uuj5WDw?{A^9Li; z?6Kpks&h+w?M1_R{>~lDW8}#14qOeud%+$8tjI~5zR<>M0YRT91Z2N!T0bImyYQmR}~AM>B8$b*#EjXL8J4(T>KR zX2KQ_kRTCbKn_}<<9!muVI>^RQ!2*gRWdZHInjomC3LyyY}w==pMp1e6ZHAGQY`!$_6WV}q!!rN9x!!BPl&l+qxOcO>oii(#O*=Ct}pYs1fS16`~Wx~^Hw~5PZKE`8h%i~ zTS&kb1Z9d$OdkZil$S2NUmgU@;EH+CP=9t}F5u1@laNo+XL!-pANR-QL*R1&MPtXv zK^>(Mw7wdmJc3Wb!#bASfv3}GLmesWVY~B3=ViiB#f{#e2@c9dmVEx7Jnr4*tm##5 z2v6vWr!Ev=-sAqVczFes2A)&MHKzfOA*VCC zrI=Ykzz65LuaOiv>}h3>4-Gj3Dk}~})DNv*LKHiJeK0&{ffPd+oMzo!2a4oFyso4Z#T%Na-bO4`0M%)Sqz&-a|wpmv|Hr_<#@2gYV}&^1^jf z`$y!B5U>s?0~{Tx(MV7JR?2j^%wESP*;PcoUJsMOQ_)A8HaQ@> z-&3(9+)D2p?BGw=Y3HVzRqso}Q$;YO{n(ST!|oW1MOhWL8gml2$G>_gXxQJ%Rdee4$d$91H_5^pKjvdSTz4nD&KBK2 zj};GIU7mv%JE9IIEMR{q>bTpx$IO0Bd&f3h0@_0|b4Cf$7}q0<19l8Ou|HMV#)C0H zu~KFBeNblSa)KfM8$ z*WC}tXp5Ed{f|X}b#;ud*o24GO(7Q?%We);xT`Y3C;FnzGmeuc|87MPIqjAu5PX$sc!O|yd()hg|3ex8JdJ=Ci9a_c@2|9T@?*4@>tvO2JqTc zyJLyJC5E2}c`cpi>!f5fb&eB{eUqXOLYoJDCksMkArM#r(W>J+rl!S4JV35P3MY+@ck8JlL_5%&ZU{Fie0>-=V0?Nt# z-=C*vWfwV8eN83YmLyMQ1jhRAkw%qrGI2+Bgj;PdQ{=pu0AvM!ci}ErOw2b-Cf=Y* zlM;wy^@hLooh{rem4hG4O9i+pYDI+a6xHAS^D^IWEEV3RrD}%pByNE zR4{EDMrQsO-a%~D?d9{{p4XrCgn|_b4~8BRD1(b+^u$WO8}gRPtCY>mv8_L^HYR*@7>!PFAcbV|9)OZ#+&wQwZ!>5=X7#bNT_m*%WQ@1OBv7mGeH9SV_iocl6us+YEUzkYRUQNpy$iw%bGThURT^kTQn+R-J&@q~e_|ryDr~Q3+jx0-p-8vzS~^aqm2`^hczm z3P_4i%+zNq?lPZ)gCdu)&gw%jb+qy_^}evJXmqonjY3*4$g+f*KC*X~(D>8#15_*$ z0wP2Wi9EmWh>kSy75=0pe+;Lz)gLV}Qo_DX8gUQVyT6@o!Y{DqM(z>JcC<89xW&GV4%rJ|t50j!b>2zNyo}bjD$_ z-G}I6$vIP97U0s%dK{z7Xx7%<(~~)@!(pk%{ zxn=}*O26MLfDUTjAtO`M5jUGdv<{{W z>q8QH6v@;a*K}&#;qfi5t%KCjLw%#Y&bv1G^0^0_lC{&6IbC@H!@7|4ewh8&^tz|& zZjF(OWQjxO8zu5YEh~p@rR6+hc@~UA@1dZT8$sM;QE_rORAutX z7f1%Q>yc&I%z zAHvVt$&6$mEf6#Mg}vq8U?>w4lS&44<}u<)S{A@fWBj)8W?|OQq79Yez&&H-@Q8}p z6w`JUuyDPs3!EwjMTRRuo=nV8fn*5u81j4d;y!8_MP(?TyWEuA&tz|5sFd0{#-ce! zyo&^g39NynvQ>Io7Z2*!*5U_wLXNR+?t2hkCNwN5zy|6?RsK+|(N2GpqYn`teuGji zgHyg8f!8ewBR4JIr(_<9dUt#ANdY5CXJtO#;40W+EP8y!@mp??=IYoC-H`HA=10>s z8LFmMZN@!~1r*IP>Y|b9g))&vQu^3;gO`%)O$yjG41J+}-3hFE>N4KNMoo4}(2}Mr z-5}3yajUw#l@2N~1vH>;^~loSFfzo}Ii29`piV95z*RVV9)MoGof5TgyAUg-6qR5H zZndS2q$WgFI`ugZlZ&v|LLZ?MM^q9I&xo)M(a{JgBzpB-rG~f_t55*4GWUmbGOa;U zdD+2&k%lREU(if0;O1`lbL?YBfZD*{0z?R)e>=6(qF=#OM%IQuMrQdAqfQ7>l@a2mC(_mMe0wWf-x`p9PEO$s*DsgnhG@FV3r?q?MEBy8o*n=MZCslD5~iN zeV?}!&Ds)3YMdE5&(driAsE)qQ`so(&KuBdF(01ZJc#|ltwx8h2%k>6bm%?p`C^@cc$~x9w>#d0YygeSxx9KTOQNO~mWy+xqE$=FTeQ zDL?ZvOtZ#%mUhde%B3Ytl@D7|vouArV-r2>;3+C%wd7!Z6dG?0loMGj+3qv$q}ajA zn-=r4PnVae93fRowS!2fV|MM>E;&egrwed7dpB`RphC7zRFii;BMP zsQoN7BDAA{uGYfh9R&0$Tu|&1k{)b{|`|73=Y0az1Z# z+)kR!$}YA)sO31`QFF^n43E~*!B-~GC|qeDxAobM%K3g)q_(kzwS2hOEWq_5w@SMk z+m)@&fZ3U;(+WDfZEQ1H9H&ys%>y5PHfLd6z%q{vGvg#4JReKte@=E|0A0$@2`oZq z4#{IpJXYkC_fU#n(GNrl;_s7h%EgEat35OaE$~j}f3#r)+H}^`;*EMqf zPZqyj)ZiO8HBwr7qaRWs{&k3zMN-=&>Z>derlfBA0wO*1yC23`${YPchgW zP5!u}O#VxvSHCv>k(<`8m9cL9!3!V8gk+$pO(PS&WaC7$kxF53xxy&oTb(5v7ssSh zUEJyS2h5bC~^WRTwIHlG+w$ydttZdCNV^9v!AE<-! z$>*9LpRE9^1%4cC7w@f>?x0+$%%HFpWa(=O3kOj~ucdk9c}hjAtZCTF^@Z4?D^IzX z$4nN)R;#55IxZ;9LE~Sw7e%OYR_@z^%^5(!xa$@0EG46ylt*KA(tKuuaP_;_4h7Sj z_lU^$)bV5Hq{37c=`8%-QFJR_0P!}(SFGpgVQLN{g=Nwj6nrc>a=jPC+FC)CM6vOS z@0KAe!X$ch4dP?7Z^HS^lRYw=;TXz^pC};Fmn_+bpyCaw3bW=L3(3o?O{_f>;5ri( z9$iiuq2>Y^N~9lKo^q_vht=-_e~JQQ|88yA7mb45j?f-JNlD2H`#I4Xn7pZJmf*Xg zW<+Ynqnxj*TT@PFuSU4@WY78toOdI2%TApMTqvYkC^5o372%1x_5g!Im3`}X>%(&W z+;6$4b0^%P{j#Xc?$6LiYt!lxIH`<<8P>KUPquAxlATz$h|#*TJLS+w=%APPiv(+G zWv^}W<7XTRnWEA~XLV1oXqM%6JA&M+cYKq(<6=qOsw z43snu&x(1Q(R_zGZ;4H!$jI{lUcjpZ>5TnDX;>sSR}XB}zXlSd+)EB?uQ;HQ^K ztnw~%IW;At+gE+VVuDc2CbbJU42Qa;YD%#0*sze;XL_l4oc>0+?^|HqaN8GYw)Heo zGrLRJmzS|l-#i>@{4F?`3@_=PJB7KxXFvDh=~XT^qE*A;Y(G8f=~yr!L*!Cm2)7_& ztd5~r*oRv9yR2kjd!XnOV^p6YcIfYU&>`@jkYls_io03rd4c$VWLCW@`RWOJEVB4y zh5ZQ)-^YJ_2m0$3it{_~Ch*p&EC=wD^?$>3*Yf<2Q24sZ_aN*|I6EJpA1~;zppwVq z&Yxy}J;k;F!zSj{(3fDTL~ND%TOi!MSS(Z@TO#?BBJ;uRzaIV%ERA0C-MN~YfDIa5 z(v4MZ;k=1`^oL1kfl*zM72ey6sW-urEJt;1*MR(4{_kT}za7Pp9roU=PD5m=ZR*>02yl2}Xlg1wcWnr?? z8q32(%>E%2Bu~5&{%{(#7a+ZSo6tS>4Gx~`=7Tl}#%PMA^Kbvl-R#}zZ6g0UjC}@9 zcR-WY>3MvU#pyY(&Tsa0VTn+*@NYUhJf|1M?E3bq`O;E<)+pr_JhZOS;}yG-V&L^J zI9Q%7>}Xv1DoDlP<2)0^+BD+p*07EO#s9=IO5S0AMZwC-Dl<8mvese#=HFz>xEBjY zPk-!JHzbDtaT1)4w+(7N51D!R_)yKwI0QsQsDXip2ce-x4zBYL<6dP%zp=wR?4fxp za9eu1anY6f$8q&c=T?*Y&1=W%esS04aO?bc+x8Guqmvi@)1>R`?@V*p&l4yk4h^Ow7QtE69gp&$1IaWcKLOr0?1d;3{v`Qx$dacp>2y1;{YIP#IGi?8v7phf1W*$ET1)^rJp|FMKGo!eiP;Ud_N!6d=sxJ+_EcmGbK z_e`-7h)(T-TnZ6Mq0PwkyB91zTtJ4^*+r?R8!=O+2`y1bxMLsGm+MXocbM z*j6M@?do~otCMAx-$U+i^pz#Dmay;|iCZfUm7*+1kK-C|fnEmryWaZuDi%ZfnQ#Dr zH$Tg|r7s($dnD~i2~OtWvtJp2M#^UYUj8E5y)yY{FKhg{@7KK=r}KKa_T1fuAm>hN zJQ&Ok6qyZX_zscebbTNttjn|&xP8pymS@+l$9)Pa|It^bM`+!aL~#F4GY{Xn_3Ve$ zG+KeDtiM1U1gWN*cGTn`95(I}bZw-a79dvF_SIxhw%N_+Y(_cmDI)aVpGNYA(}ZZ; zTJ%K9Z1QyEP^J!Uu8VK1K0{^qZqPRnjQN5+)9J}e$kx!DZwt|n-|eydmyqg01M&rL zArNK-{IQ{Hh=6>g_W8l(>pyR>9_;B=2-K`3DInd2NqT7kIg_;|;Bs3>@Hxiet^X#6 zcyW5P&u@XFTb4v~ysJ%}~ zV-_4=rlE|r;tnWnHLt2lg&%@@y}%fr>hJm-ik7{T9zKxt;mT9$^}kN?HWN5D8*UlF zgBc5}{(v`p;IPv5@H6K7M12`8&QkeeMW<^T7BXtbX?wT;h>$Sm=&cPqZV z**+#jD8g)f6!FwQ8*b2w*Lq-odFF8Xc)O$f=ipu@XN%*~Coi1J`tH+mjKEo?g2q&= z;N4EfSrrGhu~x*|K^H`Bq)4NJdi&I+(r`|wU?)5j?`-{ULL5Ix*t$p^!qvT*$CIN6 zmDI{umTIa?nzS0s?u-3#BJ5P3zw-@O^J?9~Rch5>vMAT2I;dq$9os*1rJi0OuKhq+ zLQ7}am~K>8d->GvQ1S1h-dJTAfVy!1mWcT#Z(-$M=~uS%Z)28ztgMGz_*x4qbYJAJ zuft9+u!2{?%pdh@<@Mfg?HM&AxEMyJbUz< zCh~;;XPdSXN=S1*bh0*V1RG_#;{OGcqtYqTgLe`Pp+=Sy#I@X=n&||yCh~LYpISAJ zi9U!k3v=cf@GSLC;4MOWGCt^jgfsl0fTVmaiS#KLn-$O!s$^658W7D6wXf((3_4mHE_ag&ldgd0aqh$7v;olh`tZ)5#`5 z0WTw_nsaIlw3J4Z=MaH1z}xurYhyp+)j=G1g~BOByUw2J^5Qh?EEm%k{o@8uXsdACxU*C zd_@Xfg#Q|y?@F^k`EXL2Cv4p~Rz9jn!U;l>+><0{O6z{gF-L28yoR)WUla?~e4RQ+ zujw|4MQW9?S>f1ZnooJ7^Pa;39QM^5>~q1c)h%~PdD9{x4$3^eOQv8-(61e|7p5@S zfTn2Oz~o9RGkEE}I)6=X&`=qqAGFLn6#j;mx!KQnFn@(A5?1{h2`n?NnkbciT&4}b6_TYe+@=?48w`UBV^YNXJ?BHd}i;z2; z?BU(aU`MaT$-OVKI=Bom(G3~`Eq=lyEhVDb2L1DW-#8V_Oij}R0`5yJ*E*V>Na}cE z5`;BtnCG)B$Dg9{ZLMJK)dfFNhOZ{E5vA-yBm&Hh_?x)j>13uUWNCY~?Th7hB|A-x zpkMY|R17%(1QzR}vx=7xxu6|0K48$uMb;2LHe$I+{FGx9L+Q{HC&fY7Ju+eA$0M^j zlr9O6G-VX^UGurcddCc%(kM+5&8q^bW492Km=lZQ3K1t^bRs^?Fa~oE?A?YpR}Ngu zBvt-Tb)+mh6t{sBoS!IUO70o%ccxJ3CN9lPvUhOb6EY=VP9R9{b8sD6qUC-SsNKy0 zcHmjhukFwGUJ!_5Ck)$B5i1iP&yy=>CUrqDoYoPC9=Ad&Osie3>JM}@&tLgmTz#q3 zreDKqPBOqBec1H651h5He{g`v6bmty=&U+OIt(tKa*Hl<)hD&&+?sp#^N54?|#<4^k#l#)3f8~0=&M;kR^=jo%W(e2&cGr!oy`aDPF0m2;N>5{Tn*p$Pn z8C}Qh2t9%suzjFcR0Zo6UT^Z4;L;M z@$gCdB#XrWV~SOEfq>d>`fhQ?2k{-T5^!Me3?aMI%?0@Flrn)qX~f*|`8uz=YE@BU zC2V)vl*=`*4OG1r!>CMRvYDxM^|71iPcRnSiMcWN_FaA0b(YQdLA;xUygRYotYqNs zS@9#{?CM4f6Y=XuF-I5VnnvHVNwujef1SX@O-3EQj(UH|zgv_$Kl}E9So?CCQPAfL zF$Sn`;W(R45A`PzctUtF3nDDV7~Ddi;#ab+g5OeNrkk^WB}yUI5YV%Lw(Y4T)?8#D z+xIo7y(>?WaYVDmIFbPQ`GkJ68`r}`?o3ldmo`z%)oGJjVz;a;Ke0k!iZC~rNK1IA zQHZF{N^|Rw;s7w+yPGjwn7ld^-1QQ}K=I>~;5BW-+)k}L*=tNAuY)=;NFdI4@AME_ zk=w_jEJuX?vWl^j?%HM5Uf+qSOlMs zc$vhkOA%_aE3emCeFVJ2-+|B920Z!kQW}r8cv1Is2@YucxPAEbCx6C75n4o9yV=Rx zq&WY*ereaI6ZuT$vts9+Z1or>b!WuPp7SP%JVp<`*^Kb;r*)@E*f!7x){ED2L2)y`}j{jjjm(x8wlZvGQe{3#{NazVf+QY)2$rc^A`uI6@&Wqczr(6A?m%tyVxBZc$@{Hzy}x|FyoYr{s2AZ1UW8Q(b|Gy6hoPi|n)|X*h$$Uh-;Q z4aGVk9(mv=9r^Z(I!sjSd>^M$rELaWHo;=1Ne%XI~_MwmaS_hO${N zA&hLmVjfh_Xw4iTAZb8H*itW9bLDN27ZFHXM!uDoxNpbx?aE`?|NGTIX97XR&y1`4 z#S5Sd1C68>y@p*s`3=CEGaG-eh=9YfZm`=MvsHf1)=5}RT@XogRf~$tyL>hJg9j9H z-_PV;ktXpW7W@as!r6X#vk5su+FfI;l6E4Nf6aZy-z|q{Dd?3Z=-bhxsf_{Q!?FCk zV=UlTcBz3>%@kfT-#^uT#N80V1E`qk;vQ=xdP&DxSJnm@4ro<7Hl9D*_@XRHu$N@} zUMdS~`Q09wm#7~dPa1YlnXI5V+T@B&6GAKv|RKsTfTTgbs_r@g*8@JdBo=N(EWn+o8e9H_RsbFlnlo# zr_aoTm@6l=3+ODq;-mFMK;CgbndTG`Ornip&t7Sq@u$*7Z~ju;lGoI&%gE0GjyzftP0Wa>70`B=fpfO5^#VrMNqt_k@2 zxKG-`53uPgxD~XMi{N_y+wF}sa;}6{NpVn8r~+jP=`;8@}I^ z&TU@Z$*Q%vy@_35ES8rIfP+yJRcBoxia!K?4&;WN^|>enXs1T4`CmYvb}c*}8kq=; zXJ5zn(mlf(oNTFk7QVqpUbbtGdhmR&DLvIKH&KdT)o8zimR2tc8)?nC&(mtLrGC7C zfmf_(v;53SuDbTI((N0N{l)}$GJ}ODQnlXHKN90$L0T#S?oXT;3nJ8^_^Oj@ozvAO zxo>DneB0NcbZe@#-`IqTALbNJ)_Gb5>_vV4BHy7As)PI#t&|J{!=NxOA}LBg|1QYA z=tw^(?=IK^7MjA>|9aS}A5;>K2t8C2mqF>XM^~v0Z;~SW8F^0=q)Eowuw#6fvsNdF z3&xPl8lD7GacXRvT4%W6lr^>G=?ot;dUVo~OkXl<)_{5$Wwl&=n0o#`pz@pXfP4P} z*Xy|JA^<--_&A8`c<|zT&6vg6A`#fClbbM2d#j|nE-9aNj(e)J|QKuZ4B6@TYUWTCsMcWji#5&cnjS!Uw{!PgX1_3DXiHD_N!dM^jQQ2PGmC z^uS{Zg8hdVzp`Yu+zDbeUm25w4F;mh9))Z35~1bqoK}R>P}1IoXv#I!Cr!dive(XR zcVYwND_@OnMNP}=1v^dm!$dao9TFs+`Vn6gmjD+qWs)xY*P3r7yO|Ao2@w~P9;5dm z(5KDngt50L9jl3>Rh}1|`J_U}yyjZNiERxg`ozn9nWxfZ4&CnjcEl>umgx$nqYEJt zV2xXpbJOW)BIcsXHodm(cjHZgV=j~NIl*&8HsKs5+sq+CVL&I7^W^6_^-YE3$iuR- zUd|t;T($s4@{j(KdI$5Xg{XM7;)hA;g#D1Q6Nb+8lMT1>okD$B~TJ(lF&!PMuF zwi$2cvqu_r^PUhK+EG0(ebh1Zx%0XvWX0I!N-V3{k76MBWK^e-c^|@W|6x+IFJMb> zhu!0}pMV`qUUWW->)O5_GTZpl62nzJ_av(5Uw*1WtTiFe=oA%Z_y{hUB8hwli7jaz$b~8zH{0T z&P9KB`XQFoaL-7Ik*=C?c{_Azz5)wM(wP!&rE(5LLpG9f^?zC*+n&A{8&fOasNk)e-A#PFqqglvQAX#ZYTM3 zb^b+^z}B}+mHYYBjSV+&>93oet~G~cIgZuHkh@m~CKNA4Z0FGNXl)EmB(geJ`Em>N za=2O-aQtGbdP<0y8wOpxj#H?zvBHhHtPeP2+;ag?BYAOTW?(s=Q?%6!hn^MRn5m7f z(rQssJnkbHfrF|oA>TOF=+qeX`5~H3(-teIH0!**_Qmxb?NcAmdEA0Icc9vOh%Yf> zR1%WV`w8z)a3N_tLHdwehtGo-SE3%C(j8Cih9Axu84Pz-i*2FniHymAh55MI`=$R_ zz2;E#m8J_RiO#RJB=$_)0o2rcI_;4s1JBG%-YffsJq=mm*kIJ9Dlq=>bDgvvB;4(0 zFvi&uCG&~YQR||`w^_RbiLT@rbC+!RZ4?}7W7A@+QvZKg*?c_wSS#CQI50Gs=Y3RH zpta)pvqMgead%04{|A%vM2UK^(utA9FHCP9NE_JxJmwocm_3D_yI+0#a$=vz9X1~g z-L$|KYAYJwM|RV0gfsE1;PoL~cm*u78p!+R?lw$tv9}{|wd452oStpi_|b6NYx#xB zFO(`Lz3##Ib?1Y6-h)ryg-Lv8pKrzp_}M;ez7a_RAiqW8wqefQLY+DYF?b)<%oZ-g zWV~KBXCFSKl|_Kbr!#$9RsuhzDR4W`d%KY)9OLeOGn;!2%sI62dpw+Mymu>HrXZy+P6dk z84cy5Gt+v7aS;kztMHx*<}AyzKf>i-J-{d^<=j$A^!!%WM?+hO3Z7#7PAoYv0XAU% zoHGJ~F28akEO^-P=CWE1Vo#ZbXEJWnZb$G`arLHaFNh5%F#Q&`^ThVKhP3N{=9|^IJ|LH3RY^j8+2(i*-N%QRu`8M=(i^Y(^Y~y^r(ea z4^NA+BQ+19jLCAJ!V#&=5nV5krWx*XDmvbH&jBs${qG#oZ>5OHgZt?J5$wNplbHLH z#Qy*In6K#4dLYPm%gUGg{_HIv)0Ia2L9QVB)!)P3zJGYD_Q@vx`?~cX^m+O<=GtmZUgsEno|3Q(8)m& zm2q1w5`(0i6=oo9bqmNRDP}*`1G+YVoL}n-szGQj=Xf=p^hD2Rm4pN|k|YFZeopWU zd{_*5SQ}R3P!#LfoFKcwV>W@5h=**M0-Yc#uRfny^y5#!24nV8QYcaqogM8`lf~%d z9v7_Kk=Ss423Y%-IDJbG1WtU4R+KPPiR=~EtkG|>ksl=XLj>dD{<~xuKk4=cq&?@c&vsWEHG3sh%Xn21JF~0K-T&6TD^!dHMuqKLH zyTb)3nEOaRw9tznp5T+WGWCN(F8Id}vIQ3mt-p^KbjK$Qoovmu*2apJ2M}l|VOL_JyVq>&~&FgI@k4P;SPs zH?9?vtVlZHO!nvyqA+c<`Ft~;++Kl{?os{_E;v*B`bF`{rvb!m%~sPSQ#DK+kFe;} z+|i-Z^kMHqB;?ILX$>yB;&I-`%ypz;iNMPNg!vZNpx9^yi&C1c+_;vo`}vN# zxJKKB*{!X(v@6%B*-s>=SuL7*HL?3ndA~f2#`OvG*qnorpI;~$cQk%ZR(2l1>TOfc zrDWJ*d!gy-qU_d?T41QNpO*oJIIWpmz;K79_>T>hNN7|zn|A~@Ac&T6R*(ma#y-w7-!>$SEt9HxU6`xg` z`QlR6?U05F+wt7z!#w3>0#34oe0)d-&C@FuscWl*hmcICr(%TRgCC6cFLIIenQYVM zKS&6y8I6*dRy4*|SW^-!J|B4`>mgL&Y>-uEv%!eS9dn?)1r?p??QSfL9d3f#7*s|wJBHWW!hZ4YJSAyId+eBtr@@jR7HwSW^ijdRs@G^)-G-Hb1 zjMD=1?qRQeUwsy7(u2jhwP!$*o=TROen?%0LQ96I zmZUTo+@^lfI!d(9B-&so7yJT zlJ9yj*R#pSVBRmSt~#r)5UHgp8M`5zWU*R^F~KLro@yP__VCbB=f~i?5%|EpU@+wvuaOvQ)p5A{(JhH0w4?N+0^UQ$?|VTt1ftGcz|6 zcoDPxJ2$%|7#kIs=Pzdh>*_NJ3(AE@J5Rmirn#1}kv`1mkdb?C4m)^d%Nq?DkQt#w z)|+f}Xmft01XQEkz;>D0HqYoHWuwkND^4?h!*&II*z8|>z9QLBQXmWOLAzBR=EAq!tQMnq z$>)#+w4}NbNahGc=*PI&0VEX*II=s(5aulVY$!80lD*pqh6qjgZjhNASLJNw>l7y- z$aODOnMUL{x&`dmT|86&+T4S?!Bg7_;cx<4F8XESv|r5#B~LFv;4uHq1h}4A46T zxykqXvmWgk>*g#CoWSF@@7>BmHZ#~(yXPiAyq@54*EyIajd`&3o->}{SJ09ri5*Zz zGd8%jpV_)NVnlu+Hsd;Q=2Eh!VJwaBgJ+yQk|0&QCcp(28Lx{7jA95%4rG~^yF7c+ zd&;v+xE8siU*sOf$#DwYG218E(@;6$^edfR;-`Ok0{6^cfA6 z(q(UkYuT22=54-UxX>WY-Zgdna!XJj+)fv4b7m*N5Vzq}qm$E=YS#Z+4lvcdSL9?` zrAMRk&Vq@=yff5lj4MX5HIvo-7tb7^IToaz)%!0dDtwst<%JGC+#{OCp*pYCgc9j? zMg)spkD@#V#`%WjL=-|EIX@x1_tmno*uW~D0MmMqkk(>5xAi;F1OqOH;jFPt=?_a- z39EE?+TEYl2uap#gz%V7R}h0zxhHmC1|vczSN5K67vW89kd4pt8B|4gZtypRIu_VJ z_+DVL^<8ePNUd5iGjv?ezwz_8C=BYtEdMj>VbB$om zWcc$`>)PPUsq(@+YB>h<;?i$Fzar%2a2Qlj+T^av_cf^nAm97NTe^xl8;Uu1b#RFWZdqBsos#69_UDE7aUF-mmt3Md;Z$)&m_&|VZbI-67c|TeC^roH% z-uSMIc9(Cb3O}vv$1CIB#igKatbwRE3fyJ{KVEqld-1$!l&CU9HEqD`&u(0yH$4vY zGwz`_AkoU;V3@n~QCcXavsee^NZsbQcNvjTr_Mb;%+H}Ixxp#H82{4{meQ8aT?*yM zCS9xY<->35ihi~H0PV&)%JL>a15l;^6iWz|7%+ja{tsV$ee44tM_XpgoGbR zZT=GAmUb%z{$l1OA6Zz}QI>K;Ver?+(#sPRTPV~bcqRM;Lx4lCj(QbZZWxc7O zgX>{)c>fWCcFVS8?B65wXK#obWb`e)efHU~HX7xzH%B)y&jR-1ZcRUWbB^hc`NCoEV% z)t6OO!)F8Aj+(~UL%Vv!~UY(=q zeaRbmS#SVhGc&`QVI_3;9KqS`1$rrv2)Eu4T)*u~S@C(sB0^3V=@fjhz$1wSP+=O@ zhkvi2YPLrmj~A>|2OsFbEdW3zN-pMChg__39U7InG%Oe4Yu8L*`8(OdTFYk5fAviWvAZ}t2T3eoFY?}z;tW6@2AOfZ4(Ww9zD6!W9g#R zea8YeY13{}TmuvDf=h56vUlIS`-dL=XzdqJYc2!%=U=`cq`Smuw~5p=oMiLb-Y}&0 z-Q>g^6i+?b@Nx>_kB&Y9AzQq*aelS=SF9m@7*?0kW-Y91T2&Y=ELIP*s7uPFD9y&( zm9WqxF;q=-T7oFg_$!v&Ca!iVugEm*V0F}hcv7JlvFclE5Vng}tQ=YJ3eS)eH}}-A zAcr=e26=?JO^L#H%Wd@`7Y6s~2hgJjCIsDk@8_Qr-uv`@zdBqj5pGp5Tjj(4vmk3{ zhnu_g8d>)$(JsGSEO|^(vMy2Oqy$@esyLTTbk5j?QSvsM7=mtE_yI_)$vV1iAhxn- zN`7>-KfN#fc}!2^>Tte3!`xbFIUFw6e>zK{z(m1IK4(ne0IM5q#26j< zAPOP|1joXfM=3|MIz#!Hq?h&NPXn7Szq`A7_VS-?82cZL>6-1WTQo@P@y!cjta%jq z4_#+{;y+vUZd^x^rDkunMVqv@99-;RUkeD*MR;xffKm)vSJ@qMCQYJRu#WBRf@Z?; zdRUS43NF~!UPfxkjwKJ;@Gw`a0S99Q_C~bMI%H@eQ393X@)34zk5hcM!Fx7{P5v`j zEV{ypVZd{lhjll%-}E%GVuObNIQxlm{yax|Q;4B~*Ac|@U>ssSypIDhnMawD(}&@1 zhp`gNoX7Q`Qe92ai~FErA%>092dx}1UUS!^E+-vLSso{^cmIwm3;RvCyZcS~yWL>u zBo@_Bt*pd1%UOINgnU2{MagA!?ZOGLNHnsKTa6tyqWn7RudK-Ah29dI_hyStqAU>7 zCqM5ePytaTDg@!?al^JEVqdOh`0uAhyrEE+@|p=83GfFLVK5v1ZHs!N09^qJnSOA_ zQt5yQPzjAsY~GksF6^q{cRjY@$?y|~bBUekvyj64q$6w)6alQw(hi3z&Gf zU=xjia5H->br*XH%^u38TC&6UJc@%IV%JgEAHK!MbkvSWO8RbhL4=9CWu#knz^Kh7 zi4sdXbsHeXe+>3jRQY$fxoKy@4}_a_xJu6%wIQIO_a1i|Vf?U>3~k&M+uUGVyb1s_ z7S=t4WOHair%uvWWjSJcdJmTg3#NqStdBOaUz86*Fw03`lX=-hHkbT15g>GmJ%HJ_ zK1A}sG&l&=)=fEXnPn>bvxWmKHJTTH8kNw4@PnAdFtK1xjivTNi1N8Nn`f~Ak64~I zx_vYove7MYwHMuioXIA5eZ%nnCwuvkW5LjS(AwBw?+K3mp0N>(KOzA$%c`>x}hrV$@wfWk-+1*NALcPK>%yvio|OEBda&=|lOrl2!6QKL>FfgF5=OCt#T$Em zp$|x(+$+Y~V~xVvB`kW==b=rk)I@DFhW!zE4&*r(X+bOOh}sXeV`ObNawHoJoDpjmn&XvFt&pQ7Hs`Adj=YhPXJ*C z=#JQ_boLEVW^%DTT!OYcVVn^WiS4UEOYiZR-{D{8a&~abN(b!C{f*Myu;& z+d5j(#te94llDZk!|nLi<<2Tw{rrUF6cOzPMM_*7gmXa|$;AR*23}LEKKlmPimd%N zgIZMD3=A1lajPSATn=WoU+UM(@6bNCDRDaB=C9d4;n?TbU2u#n+0XK_*OS|j z9b`A%8?;KN9D3gfHB+Q>r(^+ZMs$dijYBrl`yD!lRJX&16Y8}i<>6q{t zj#-bL@wtej(!(V>#Z?8r`3KJ6KR?}`#AO%i%B%5Tj_QAjO-6vp+)fN1zMjEuoT*8g zZq5XDIMmanufCU$YVJiiDSHlNoo{e2co3(HYPQ{`Qint<|6H=K!iM_hjB!>09G|~! z76a2#Kf{5F-c7zuY1;ZGc2#%EsH62*cCK*}X$s|)Igo}v{|~qC1D zq!On*O^nL@V~R39<##vZq`pfVLZUFm+7OoQK^uj_{&O1pOn+4(J-mEZ^;PS%eynxt zKZjN?z}N*}xY+OZS=Gzgm&TPBFKx+=C|21RJpW@V(t8UAo3lxLW!ylNmsj93nLh+U zC0226F^)#&Xua4ZOgo#ouSsGl%tC9TrUGIMSxJ`%kxb`WhUYzVD*Q=6MM#n+wRe4S zp|t#srjMVZ#ETc`$X6@t>Cw_CYo`?CXemH!Gi&NOS`%_E-@QEw|MUkD;q-4CO|1A@3I!{uX<5pnHR#EiRhShIkDr7#BO( zqz9LEjy9Oh-MrW!ApBz?)@Q)N6w;YEgsZG|4KsGb-t;}RXljLZhEfO!5a(pb(1vve zPPmYV*Q@?ysxSd7iN&~Y=wWvMFrvY6d11QHBIZ`SA^j<}iDY>NXko3Gn%ZlU=E}~h zonw>m=dE}<){ zlsiM?Y1Wa;^2LvJ@mb>~nu?k?==&d(^Bdo}{(q5|VS#pp#mbMIJb&TkF?pphmsxS_ z1b7f@@#yH(uEFxfLnCNb1|w#K3#Y6|jkSWQUT0-k*bTMgKV+5fcOY05QSGne;ccFT zE3BviyR7n={O`7805`G3Av@ZIS9F3ep^TtDfinWT7XTan6Q-lh0d{k-l8k14TlzV% zMY;`wkXs%v|N2q281!eD7(my!grN* z^<9I_X$-=ufVNX%m9=admFQkS3 zkkseo1B21Cy)#wa`3HOp`95EV3hkT-lYwJMk(kI%vh}#&#AgQmWii h|8XEfqqhgwcgsn(mNz2nvTtgECBcGKDFG1ysiB6R zfT;8$Aw&qFNDU!{mO>!;;=6Tk-``)~oH=vm%z0)Q=E?J{weEGVd)?)_R`T53R9|qP z$UYt(9zlcKH!OH~c0+l1c8u)d<9_m~LARCrZ%2TI{&k-6{!;|*%`P`x6I~vj%6Ne- z$KBlfy}q|?0(f{11^)QkG2to^%EME2-Qb4q-B7^tHY@T79k%dd09c8FX+in{0}~-k zvTKT<=g5RYmw~EAW%|pqPhUzq_8!Ka|K>=l{JwG`)6aSN;U<3X=VA^x0q6_t~`8;|G6Tet+GbdhzVnrF!!`_2!LVSJv4>j9;zJo;5wV7y7H! z!Gnd*b|HVYdiKon#!ld`RyRILpN*3Lr``7>iT_)MtK0|W;9;mltoH4$)~E3Ey%J(U zj1nTP6UA=xXU3)y{*?{n>~xsn@rX4N6Yf8^^kHiyUW79Lt{o0&x=e`(G-t1P%iAtQ z|08{9o=9dZJtrJ>=dw`z?d(#O7i)THE@OC9Z9o4%ovz$cIu-?|k+a*TRYaR;+1ytF^>;+5n1^wDkg)riMJv z*^&n&aflDyS=Ms`$%fqwAGGP68~f{WP`7eWnJ5o z?@e6rQHw#!$5tVi@7sYD>#KRQVD*POmP*L{zIr<&h>Z`y5b zUEYQ9#IC7c(rdRKZ*1bs4k#)GD>Y-nnw99tOPp<_ivRHRX5(H+-&KG??0BnnkEU@> zh*N6dApZz{wbig_JCi=n|84Y3!<`HNnEIz8kI%f53)WJ2^SUGDFYRCF$TA1jb1X0x z2RMzv4bUq3`*q=nxe>b608An^=((QHHLpycVn`2f-%xKzW&cn zho=Dz5iL)o;A&hmj7-Mr7~3pZmfH$_N3j`74FotK1e5)Rv&E9{(%DjEF)SVAV1M`r z4dag&vgErtOs$>3bN`x=sg;a4Bbc5Q5o%xKo&74Lz_H*1Ep zX0f0NyAX*G2@hKAwwBL{qNwG`mh1%2JnUSF40aajhMP-4IFR)Q9uu9}h3);S@Ur`L z9fA*{a|1%bA{i5`b#>Grv<@6-yb5j-lHr)PXSB+GCcn~g26{33#m71WU z0-e9i;yN>xSqzh)tmC_!Wgl`3iE0|a$E95cZWQ+S8ZG2`V`z|RsB4Sl^?xH#R`ESe zsutA$ZE0%==F7I)+Tb;FNPam*^HN?O7O!CWl}Q6K4Ef|8{Pb>xyvbt&Arl_*7BB!L z8(9-vXx|cy7knC|Z3}4a1wu&LY@8ecysQ>DA}Ftv98SQ)$X7OMC*7e=>L$SH3kExd3m`%8Mz z*S8x4tj@|9;iX$x-^5x-B!xDM0lT~Jl}l3yUHMBxLQLOCW~-2cnMM3qb~`pel8W&Q z%r?p*6;3ly{skyFb_4-^P(wM@l zhitX}>f-+VFB=`;T)*Bz{ssBKH=@BBGmEH3t*e15xDR9hCP3fs)_#woj2BLXL>r+Y z$`T@1J>GtZdf*!-sLTl)byc~4HxOWJhTYZRswt=t^k$?2Q?;+LInguE$J<^|X=5W+ zRAb!yZra9ZB0$9+<6aY7E`)X;@zS134N>S3;zMpW(j<`}gC?8|<_Wx*uS9*h{HC}6 za!qO_HEh!ZyjRZd!PtlC)!lC5A~X-*vf5asPRt=e0$9z1XS0tfgZCX4w1KUtL~cG6 zon2C$ZnZW#|ImH6n2$_if;@G5puZ|!9p`{6A=bI;*Nv}UtJcVwTDM)*P22vip-~kk zd3+yK=?I6L+(>$A5d4FhJl%z0@$Vd~`Dkr(R_MKgPzjIM{30VgS+TNkM*xcbB8VK^ zvzi_@-;6Ct@r`Fxx$#|BZ?B;j)23RONLQ6CK~s3k_1gDQ?;PjMQla-N zR6dx(d(gg?dIoad)D4N2rQKDL6Bi|XG`>G=inA@(g;aS^iyaFuFHBCP7o~{`L2KjS zBly}BcLfiH&Eu$0tlYrchXd1`KPCkfgY24H{BoMaMZSBC#&Q;DE+dcbVdi=nU84T% z?{n+TH7eyo!hFavTB->v0O4S6H&wD`Q}btuhB2>8xN0U}4Rgc{SJZ>CIH>+ANuG+S zz>^ZQ+yG+&%&Fts0FalPoh;PvwP+yjix^1i3N;+r15X=={bh5XncDl@@0rKr?o+q) z^C`Y*TYr{1&NYY3={K^?T3jN-_xIaCEKEZSW4&&{JCU@FT#^=&bw-8iATI`NjGm>& zEc^XTNd5e|+ZW3iKys3xr0k;>0hAIoHfNr#T&Q1kM5RR7{C|F&|yG@NS4Ro2jM>gIFzki$Hf5=W#^4s81Qc1N$(t(F`X^HN=(13?321nuel98{{Q>q6V+lDl)@LjFO2dISuM4)}PZ>EA49xw8*YOYFB2wt%COu&k!?IrDIX+DvSBr zV3IVe=E7*8#W+0Olw6Gxw^E$^D&rptv51(an?|^{yAuNRrtYXUPvcv!&NNAQX+alC z0}wOQPOGc;5fVRh%P(L21fW)=wxTGb=CUyO8RpGff&sOHYfnz>zfKWPW>Z0cw(z z8pN1rFTpb}j$IC)%B|s;ss{WvYcEtO5R*NCK%DUAX13MeCh-gX*2F`e z)N)q4a=5ue#F8&u113kshdb#=%`ZGwVDPKwI5DOB-vv$ zimIxtWQ=))d6K@VpeAUbl&mye+g4MTpxX%Px8t2eg%xbIT0>-ryfc9(!xv)l;IV?* zqS}a{jn&;q5o4~Ssr7oI9VmZ-ky^cFsQyP3rD=7--C<2&b;2^jY*IeH>v~W9fR{u< zdq;ey;@U{h8qTcexj>%(-0D#^zqdvaiG?%@HgW|5rnEjTs-h$<@OM*OvPidqHB|%Wl=OZ_(RRU7QgrE|UE=K*_720Yh!Ljdo z=jhsGej64hRe`;BpPzW*(UA@#oT9;$>OQUxG>w3UQ=5ZQ(LO9&AO8(oi>K5U`EoSp2 zGqSiTDma(^*#2T3z91Il3TBp0MfeVT!zTF8r86@&_WS4)*9U@K5DpK*v?4Z>K9B7F z={BW?xcj~K$YZuM2Z*^GBJq+&A#c4R{-`K?`W(=_Dy7=@P4o-}4JX-n?GSs?v~4km zfjEu_w75oW(uXhxIyY$N1l%TK%_0c2P{BCS{ZOShva|aLVHt9b`>H^PQ^NBZ+e-r@F2tQ9%s8R+u^iZCLH5#!$zSN;ujuy6!ckX8Trb~-b zi#4fVA7L%8Zu_bpW~i@`bR-8jXYKzyZ6+OcF$x~@I7f0${;|?uMm~l3clmpIt6<(U zeNt#*$Ydj;H&j@SzLDpufJE1m@s`3l z(!4S=)w{Xo=r`fDq$;#ShfGy~w<{inT)w?I?e~-yxNzU^xbme~oqg*u5lfb%1mVfi zKc(;dGUrO)ac)j#7`fgfJbQz(`(%UiQmU;v++HjQf{UQ%TKVibnN1#$2=6HCC~24? zuwSf7%r_?;?H(J(de1yuES-L@{lTO`Rr5Pv>R)WTx~;s@Ybqxgmqhk?-WJO$?Bj&e zWvV7Ax~1p|j(wAcefvB&!wZal;84g!jhRCo?mFZQQVn+@MH-Pqh#v3wn27 z`LKePm&sISx-xDbAF@UNN>mMqK&r9xpUU*%G_5)}X^+dLTPn{mFKh8Xe0cIiHb^VS ztWo$Ggj8$ZGRJjld&MTJ${kT`FGCu*gp#ZE)GRx>4hEi&8Ru%(8vygMd**|Sn={T4 zYJ~;QBE)_g@61&FZZ0l!ul<_NWY2X7g-sULFWZqz^TPYR?GQ67#3Tu!$!zcb&|8Ay zO5@Gjm9?w#l>4b0W2pM=3!_!UQ1z+d*t!DbRmt9i2LjwVEJwS0dBI`Zb5Qc zrtK2yRr!!=z?c)wd0+Sy95K@YZ-BeMY35=$?A0tRA1a9ha(p2g5wnozG03Wg+^f$& z9SDn_u{uk|O#dk0{0Suo>$F<>*578 zoboi><^0i5k=$QPoQsO_(g}prXE5KissJl&+gj^d>p$b%>$X}|X6mwSl_)om%j^1 z@KbjF(zQqz@84YA`AdtlTrJwFVAuBv=B4M1e8BjsXu|lOhv+bo_M6?rl#-UmN;TV{ z$c;vvs8zIHo&6^|z?T<~f@n?0lmZK4*2j#Q|C-*(6euYe+` zRbHIsWE`KMgonO-uBoWqQB zi`q~wcD1B^+9WNXq#C^0yaoRpNhxpQ`#1*hE=dIqD%|s2UTWM5|89QobTJ3cb=W;% zn}wO0n|h$|M|fV8Ed`-p*WzQhZQa4@*DGw8-Ra(Yp29p$A!h&;H=>0URxwVAZoOJO+m@~$4edz+=W<^=dZ|Sye%#=M;Ypos8lV$ zeC@|5Q0@$z;rHZcNIOib=R?|FZ;Nq_7z@B2Xw=TH#1nOV>z?uv<1gd9 zVEXx`9#a|v!qk094rYk=tyoexvmE-ZBvQ~w-}0idX;VKuUn4OJq{ek4vQ(uD=hmkm zPE;5RP9DZZ<|u)P&8xNeWQBTPTL6Sz*6ImHSeuiMmJ(@qeH*8U(xVI6$gJ=rA7K7Y zU}CuU=*(`Q%n^pI5#aqlXynVL!^ar&#OV@`2gTFV0ick^+MZGM}c zJ*={vmN|q&U7MmzolC9J0!!WpI3Ls4NLnq+LFlK26oWeP$Hl3cIz*m9wEGPJ$>GHI<_CWkRBwO8n>|RxZ7hn z^)O>zSjT7&v`=$wgsDX8Umh@Ajty*?o!!jxGujJ9qxs{yYFwKDs?w-EsFLo1a|VIa@n0|3pq*!x9rB^?iLDun4alqLMCuFhFLzoC$h){ z6>YzEV{W~q>*R}E;skVDF(6a?+6`fmT<;;?t`q5)XBUy{wD5<@GfXglnoihu<9Q3I zacZqO<(?HUmJxGIh$cpZW^+;M zMJ1J1%pnT-X zQE>2So72zsvqIC3zYPb=Zu|Zr|LCyV${iYSKa!mxvFV^KH}J;MJN)~t&=&pKD0AUa zP?^?QG0#5DvwTR&DFI=#*ix>q$*)8EOtjLuNpd?HAkQfs+QS^%9#kGBAeypTtvduq zY$B}08Jz+*1^AGJ*ky-A7|1q^sXbTsM~S%4Zkk^EK{&EP`+$O{T^+L}TYw))aJu5Q zX^m#JiSV8Ky9E4G_Ea4={GqM400`Zy#>3*3X2?xQU2LKE*jtf39tjMIh32!um$zY> zD0OKr$losL#98Bb_!BpmRBc?2oKkAV@W0=VZ36fKh5ONB9hA9ESnNbF@4an}Q;dEN zhA)yS->8);5fSgQ_+)c=whnAC~X3pj&D)WlegXz0}A;}rmf9gdZ)*k*Ds2Ynd~-=;@ony|8L#B}DhDrEgEOc}ZE_ss8~ zrpmRzf=vcP^CPbbNzh3xN#z}xENZnfN~LDamg3Gd$H69I#BHMB(k*|e%W53%ulH=e zwnk+0(w*1;s&mj*Kbw=aKK9*0fhzc9y+4?w5i#T$I};0042m-I5{$ufQ>Um0Blr>W zmG~~C{Pu43Bm1FZIpbn)CPu9XN=K!{I<_4f;n#DuewF?m+)_Yk9DUjf(#h@vX{VyV zpDiH)9`TlCXiovG#%r*Em4K*85&3$*OEl5OOpMG%xklm8l+wXcKT1kVhqm zbY_4FsQmsO!8)T;*4UC^@6s7UbFGvg(%UmLC;hT&=^Ix_At!i#njHJ64J+eayK~Y_ zD0Bzzd0E>dWh@*d;@k0>oQ%`M?DAzHa*_|X6<^HD^H*KDGqnTwMHvjHJPl;H*ZVdb zMXV&8EWAI}ba!5rbXz~Y?etnv^0E>C3vp|1WhK>t=cJrq6zA8Vebig`fA@+P*ybJj zikPS}In^%g9Wdz9vYhs{bC_iXOp)52zDx+}41bvU(mug#tWkC&gcPxD;~ks7off3s z;4QHh;Twe5h-%%uczkoVmNZd$PnKF+UZ*F`+V`uD8sRE0+GF6J;BJQwwO-K|Pj>>d z)bDNNdLQf+ngXPtLT?eb5nXk%Gp?-EUO!LX;}JZzx)L4%o&p1vPr@d{x=S>?AZ3~| zgZ)>wHswcB#(hBcc1>H#I&0-x_LmK+Coa_FTd>-42I3n`e~tBY)DYpDOKA zTI&+VGA$t~9%k6LBFK3ekOJTkW8#Eq`M+FqWuTNM6*Jb1g3cVasb)SZ-DW%(!-(;Z zk0ESv7-f9u?J0=UZ{)WnhKq96N>OCk(fC_%&L6n1L^AaU`S6ndE@;!RBnmX6p)s4m zhqTtm$0m+`Y44KzotcxmO5HA;1SOZtZz|!tjRqRdFn?@S_3(U*NPFbUi;%hH)(fKn zjM6Qv#LY6ub3bMBzs>)=%WaPF7X)UVT+egR5J8$YvFb($9eUv(#!<~q>08wlmBt+v z-lww0e@CQKT91QNf5-H>oSI73@9f^I@F_@4>v0*`f5$Sl`XOpZH88mh64xWaSuAWi zMiV0iL_6ZvpWXSFrv6m4^n?pbo7bqBAq=?FIoTX~^Rj)nYUoPU4{8QUr+P5;H8ll) zn#93_l^+g^Fp5PsBewP7-8tJ7j6d<5=Meh`hs9xLOEP04Z+-jssKNce4vYVGy5LWj ze@DJ?pPb`&w&MhGjwVi5YpvS%udf{Yr@`ql|dB!6x2`JYg(yOY$r79Q9TDug8_H&bPy8QWr*xf(-`D=T90X ze#4(e7nlUVCS9**OW%mJ$T-%UED|ZE<>@@H)t9u-r?Chr_9ZIujQo>6|Cg~&Z`fic zS174d$jmdZ6GJ7ToDat2))13;sNX2?aQobgD!*4Q;|6Dcj(ctS1SxT3x6+8O z9BG|7G(n693UP-mIaN$6P0s{Oyo}Af04@c_^wV!!yER>f8@R;A>_WQyxpVUA&@xS# zZd{{eh!+bh9qAlD>fp4`wdr23|Gc76293olx%agym6R+z0H9l+%Pes-GaZYq`(yQNnrA&$%Ssp9M+fMTEOx?`E8j@fF`Rt8*22b0o&+58y$oJeM!g3YE z%VeRAHnt%Pd-VoF3|PdCs=<;zUOsMz1Zd|ZE?m~4#wh1pfvYtXSQPhYFh1WL#Yj*wOuf4t#~-N z-tpoA#-(!xMLFc=h>#bv&ZNzopTjuyy=wPPRnc-rL+0-j5{2*~o)-Og=4Rq2+019R zL58+zm@Z8>ojyqE9b5YRsM$HKBzyGfARWIk>ROn)kC8!Sk?@m%c!Nk=dN}5?!@@T9 zl%(Gj6??Wfe}|1LOp?9xrxkp9mHR4)pkM)E(2@@sZ`AaBERA(I>DKe^Rn(r# zz(KXKb0pz`J;rHwBr=YAwRe(l6=8hkHOcF??&D=znrm2y_cu~s`>hG4N5dnmK(fG| zQcFYx=nhWZ`hmvy{Udv!VircVHF{+=r`Gr{woAJQ8fo_?jBd`g!m3*uhwEgMg9Gl9 zy@R7SM#(F7=M*V}D<1h^IPy&rpO_9~E(S&MI4&C)cU%#v1GJNOTAO&IjfR0pViS7X z9^{9~!xcKF+C!8Qa~8T|^E`Z-)q`*M$2hz?jm>wXixU~Ib$?Ft(YHU6lD=81$1CHDSwdJQe1G!0DPQKc$^JqOj!7P)M`hJqL`b3$AEh>=Nqwb3)#lmzv| z-KIG*FKXy>0YT|+gYQMZzjbzC+bF4)dJg9R)N1#;JW+NWr(6A~m z?Cz6SS#HiZged9??nHX=&q?!CzSlV;=rhpiZZiUfAg>0w#>TaYx7kF^Rvt?y3d0>R zB*E(4Fg-Dg1>v53Be$CJKR@{pf_T<{X6-?Z&CnFx_ioIH{CX_*b{ zCnBy<&~sV!CDbA(y@UVhLSoUh=srOsL1@o6ArJfyZI|4Jtl{04CzNVVPfhUt_u`s_vm3fDpE#h)yZe^*{rCmtN0Z~{kUXJ{{ z#xH>C`B&xFYBl=o{+}~CctR{O8(%h5(aPG}D5|>2*CTK~N3ngOK}$TgUzB$vBF8lJ z!a*jHs&gT&+r+T02xMzI<>@;D zUc6x)2Ix{TNw9~CI|)IJCWIyyRgTT^Bj+iba_OXp%eG1b;d1xC=Z&|j&_g@D^Hc_? ztdD41;q;sfy7nXFgaawBFG+Po{#E8YOOsmE&pu#@u&ReeC=9E zwwCe%yg^|L!vPo@dKYzo6DRqdnoxNLx|)pl$_gH`%UwU2qP6K zHvSc)U?>bVd6sFLiqq3tX7C}~GSS>?A}CoHA|Z#Eb~ZKeJerS-kz?M4&INI$t$r0{ao6+ytBWBY48^2s+T zX?1Gl2H>@--7pE~$Ngjaa_B}6t#QBo&}f@h?~S2|(n;d;h70CHxt*F{PBBuO|0CRA zyOHOTLe(L-5O{GAJ6q1ADFA{MiPmzJkziyfV+Z2yKL&quu^~vP^mjMKc~M z=@DJtfZ)!$<0%*sF#;*|Q&qziCtc6R3AobYe(hwhF)y3pkqg^n?r!zK#=5KB<91mP z2NY=Rwp(~(Hg(zU(9ldAR*n>(F$gZNxxaJLCJY65`}(c|6$VoO_)2vx{A@Myb5+bA z{74tCSkd^MQ6SLuCD0ne=3Ye@Qg5k1qn+ZDN~T6g7#gyqMp*%xT%u~lO=D(66PA$c zD;jtH{r2ss$GzJmfcC}{AV>X?wF(Zhcq$6i`%+;3hPLO;rpQ0L)?V2^O<#@zC9vfL zElQ*gx~Xrs7DX%?O=SxIOe7y&IY~;S#hNS>XqpZPNkFn7aB4LEN`GoWON6tFfcjBV zE@9Fdm$m&DeJyA^#lPb)6XzN+PxePT9E$-6k9hTcd=j0z65VfSr|K;hFjbP=Ear37 z_>H>t(#{K)mm;<8To)1P02#qt9_v3kT>8Xbymv85TVD@0@(6!zUBX1%GT5y=U%w04 zKVc}hfxP-=<+Y^yBwlXYHp8*+tcrfI&0uyqNXT_eq$s@j<{=j3J?FmR7!bJlv@<@q zz9s#KscJ4J71)F+giSt5_bn~hH~sDIKB$AKvuXF*3+SG^;yWjy2N-|H)*BB3Z#Ryp zbbiEroL<_W&bnWHUak(m4KumI!Ho)cXZVG*)I^9g48oCbEeR%u=*Q`!Z7XsC`N%Sv zrjXf(sPn*ddBy0q#dX^vw0c{v(0wh5VV75FD%7A8YD1S^Y;Arhuj_q1|4J?$cvA<4 zLtnXlb0;u=nB=SH_;J|FZCu%GDYe$fI;vQ3TjOI#e!zYme1>8lV;8dfSzw)u4%K&T zJ^czN#d$?2nyrU3mTEU<;n08YN7-)_Y-~f*&GBbLP?k~)AZcbR651D9Q3(vTZK-!c@b*gI7N)J!ZFTXD>u8G?whK%SI;r}ggBRuxxMRc_)H()7elCrHtOM~mv* z?mw90TVHEF&T|EKQpY{v2~e|T_Oxl_t)Y30^4@`gGN;vtFWzs(m_nzB55i2$O44p5 z+7HnJ(q1ZE3DAwM;g8%rbb8G)@#C@0hVH?IGK-vuMf-9^a{24|{zG;7O*z+f?sQs2 z`cEyFSn#@Y7WBaJ`P6~O`w83DpQZ->_*QqMI)LCsvS2OX4Hs76eeTET1>9&g1yr~`;# zYgk(MVL^~`)A@qvsgqUI=<$r!BCKaV%`^}A-hLrS-#4`EDrG}z&lUCaT`skRuxsSt z@D{5> z0dI=ZCG+pJe<1`}ER>_Uws*E`p*gtM_UoMR-XVEX#50Eg{pjR#O+Iw$bHZI(;$qkx`m*Vs==i`JKCOIMqaGR*X>`Io>gs)}t|Z##*|t*2%A2Wb z@AZa6(j~}#>3YFtQ&8P3ZJs`vR|<9_e{Jj$+}M@9*s3CS#Ws5?{c`#rCAvvr-;O!o zNE+z#U$Cl|^gS5`AEm4N>;*>**hV_^MsI)IwP5Wv+L*Id=rMAi4v~CWZZnt>@!eT_ z2zcd4Xy@rD`F|%OPe`agZ4KLty3H4}z5Qr^W3|B35^_Cu&iAZ>>|b2E8sVGPS|{6R zjcGjdt<-w;a|2gqS@$uD@TF^58Nfvwe~0135b1g3n@=N5E?`L6a08 zDle!fZSUNZj?3Ew9<{ZpHm`pzuGk`Cs%h&bE>HfOXUORE!NkO#A$m&Z)HE+)8UUJd zWU3B|GI9|!Riqa$hR`aqvGKG{QMfC>GP0qeL+)hda)_HV=cHQ}zJJSq=cFk(ui6@s zZ`v&iXU&}tyIRnASxcYyf>db~s8H5uy>X39XgUoE7EkIJf|HW!LSl@}LtUhmeI^c{ z7`fn`qt>oWTIC4!uf1F5EZ57vxUU!b@r0aQFUdv`E7-k{E^B4@!N&89nC95y`dpzR zG`0Y9OxoqZ`NIWY)TpG}gspVe(8v$QWg^>J@Nx8U{$cww<%L!w4<;IgF$KoTdZeg7zT(Bb9u*lriA9hS#l~PE)GS~J zmcv>$a3?m1pO}!wAp>K8A_*?+nt}Wn{6yO-#zloHHmu1Qd$v3}P8eW0fms4>QyWBb zsI`8%(d4vVZYy?pspYa(Q49Gh1*$EprPp5-R4NbS;wDN0fCG7@y=jG+3=Mto?` zNs)xQ?MEXHu{{fO-XYMAx`754>DitMWBhmXfw{W)uroGc*^STOS>PLc!lm}3+gJOK zNq_68xj)LUXI9dSUMavB=(8<~)sF1{9(*+vo?>h9QA%9co68j6%1u_NdzmEU@|tkd zQvf;_fZB?^-1OwoL8dg^8l17d;x-BV74LWyteziWWSG<5K|e&Yv?3rDFn{aScWXN6 zJo&WY0?x26HJj+;b zhB&k~x&z$VoGo7HYY-b7?7_OCTdCnyZOsayR!o*)9bylTuF)rmsK6J8Wzw^|ed1lK z+3YX?NsVkmVI%-)@7(I>A!?@k&m}>>lmyvrMR}!H?PEqFR_BPyjmG8geE+;MjwQ;<4)@i?7&d|AwvPa zSZ>kzu__jK0r>K`(zxuAPw7*L@dO_WKIA#Qp=upzl4nhCRA1wvrLnj(R57tcwv)6$ zjgnnz*+>r*W7N z1r0mbBlko8!8zX)-w=SN(HmWat{&;TJTvt)cMP|Y#;?@bB8%GsR00O@55xeICL;UY zu8(d-!F7$K??1-8*WTv(@7N`P;c+2b?QZ&UVe(2 zSQjp%q==&rGRBlnY6h5&jlFw{I;<Vj;GJk;kANOAdu@5h)zgB*6hZ!0cP>}WWtiK6>s+h@F4)uIxf5R4 zA$^3gsTF`)?jwkuD#sBKLEOV%A1<8Eio^xh)0{`H2>C#^#rxQdFC8PNk`M#^tZC2( zxeK=8VejXBvaU)%VwDIknv`-oUlit*R1Vq)l&74gqU3SXot+#6* zd=dydk#vSa6~4nv5<17qbS{@z|4&W>cTXFxj5sM$b)o9Bq5Az3qXlL zAh|6lrWbNSdK&>iNm94{UIfBI5I1*uw>;nb3&?&@eCQ9V(iuW+=|n@h#Qx5=ie3!= zUS$~Baxe0SLO0}kv3TQ?k}Z- zqw-yEwZi%;Q1lT;s)euEmW6P1e`nNbR{7*c_wn%Kvope5C@U2IIyV5PJ6^C2>ec)9 zu2|T-dbfwfOTDS4Ug5n`E>oW3+R7$NI$eV1`oSs;M~atC4Klef%Zdw;`i%?-LOh+x zeZ?gS%uks=dhs%xzgo{#Ox-1qW*fYR_7LgGH25l6xX=KNzuF+2`h(f6 z91Co@(j$Nq_e^wltJ-guKOv~#xf})j^tRmmKw1RpYuu2b8ROGgDt_{O^*F&>SfXdW zDjS7JuCOk0p2`G2oGe{Px}bdk#4Qms4wI@Dl|g{&_Ldwpu4OzHag@u@{T*L;3NC%+ zovhoYUj6n0izRJ)%0Q?db;~D*u~+tIYo=o?>yo*L6|6%v|KmpYzqCA04T5?RAFc0> z&Lf`luMYsZiU32{wja+ZET55EIRJf4L+#%ZheKLau@`W1ic2KQEaGJOg56CCyMSw{ErnXI zNO1j?+&Y>XvDR9=y7^u)#`!&3cyu+{vkV-a&jR{p0q=J%!?;J8S{1tV;q@0W7ElM8N4KEWu!dMBP=*GRHBK}vOvNla+s`>q*hIspl7oJA8?=7NB+)zFkMd?gT4fGyodV{-_pnwnK(Oh6s z4n``syt#9dn|lOw$Y|ZBxMxygzahktT*wy-PQ6N^^B+Bj?-^a4({1cu_i`V%yESV! zWwie{-+O@ZrMK9RTkAKTu?4rdw7-w8Zn8Ts)o&bIw)vpU+sx8 zIL5+*i>xUKzgg>rg-E`E+YDaPy09)z0nA0JJ~LbOgUDeik_r@$DfC?&=e za(w24@X^1ynnzt7wKKf_E4AKNsI8aOSg_-B>saF4dL%QS1!tGFZv=@6pEk8`39~|O ztr`&sghZ!~xUR%=`a?^T>h?hF%HtnX^!TGD!ZGSm+5Vxn6?=EJX<-3{n#z7*DYwp# zN)EKafDcBtIfK_gh+d#Mv9{#eKu`J62!=|_JrTt0b7I)*p-{6|iv7@ZN^Cl24^*Ga z&R{oPi<;VZ^(kEmxp^t_8}YS}Cd}JBCj@3Ow0gI!Ny|;%n`)%qn^Z8cjSUzaYny01 zE)$y|t#Rkvn)Mvc44)M0lHEJVlzW&EBLP_}$35I@H4t(eCh_M$X#LH`epY+?Lj|O3 zu7;UIT8tRj_T+vFC|$|~21eXbco-5F{{;%%_a0)U(Lp+ar2f5!A2HtTATv?mNr4cf zyB$)Dr_XQkj#s-4xbANLJiKB;{Zadu=oK7ke{N9YY^mZy2fpLWCeQ zR+3aXe1^s`1LDGkW0hh*pr-9$V$EcEpI70+l5@6Ap}Ud=%l`T%T6nzYaQ)`XWglvE zpZk>=vbwthF5D`VGU^qEbSI^*Fs><8G#oYJF(ug5r0gXyl$D)TU(=tM_g&iC^X5DUh6{yvq>k2c0bt` z$*k!St@P~Xxh3O5G_UclumX_Y`h#e?t;D`C=F3a57*s1Jd{9w?k#IUIq~;$ z{~4d^R>9ZcQoOd~gQRVC+p+JdGF)shYw6|w4I?`F{dtYoN$Ml=dY|`wNquB@t1UgJ zznb_d;pGwO9EFn~80xR~8w{|A>R9#5g}KI}Nib;wS!^auP}qP|nXH4lOi+{XjyTtX zPcj_H+bQ#tJw6@30 zt=+!q3ht5Y-(LPEJ{X)|jf?$@-9RVM=(OLv1wWA(E>Hq@T(2*X7xs-_IlJ{%xvWd$ zSYX)B$v1m{21cH_Kd7z6rH_<7C;+|sG`?vt<_>fi$*m~-&rba|i5oUM%3cEKz~|2t!+j&vBkfdU@4Ist z9Xgx*j#vMO42ehk)$cuCc_Vf0jqjA*-rrARBpKeVPM_QWylI3FjO8Ioj z8vhC5I5CaXqYR7okbOT_k>}T(fupTJ){ZaH+1c5pt@Mvi1=uoQ2MPbB z)Q-(uICx$HpjwfOIwS0ftgojX>eN)Ga$Me%aBsh z89aMJ;+H(9McT_C{(5%$WnCpv<)RaD0Q#+9HrF&m>s{e@7WmBtKjxO*@myW<6xqk& z{$fI42PSd@BvuZOEj;tv@q_~~D)0Ea?&z_%V^1Wej#>R~DNgMqf~PdaJgGl$efjD0 zvp};+3(SA1@uip?_5mcp?o1HWgZA-8-kgY+u)oavI5=ARcRRWi%U5rk?Kl->RgvFW+dY=AGMjoC!zl;2T?QJ@@?y5UQ z7tQ=^-BKmH>WP^9r1xumc^-Y>hV6fr`+woK*TZ+V^WZ^-L4{Jqv}5$~3%Sn(JGXs*d#UzYXAW-GiZBvzAo7 zcxRNOOQVjFa>ZLf;t3{Q?YT)pL}x#i!D!^><5M~lGMQs_tm%pwPyX3>xe>Ax%=TSMU+MyS&ylt86H2saVnL|6}ewqng~duu&D2tq9l=X*QZP0V$y> zs7Oapkd7iC(g{73jfkiqD7_cy(gP%v5I}?ofrQ=?0!RrELVy6F1@4RIY|lRB$Nk2* z;~V#9#(1;pTyxF&%xBK^_&CPm(-gyYP?^FTj&13544c*ZH-{$*`v%R^Zdf8H z?yAq-+c=aSf0+DacYqgw@@jtWS|*IhiD&(V=^n@oAK$W6wO`2O(idmY(y5M#mmG|E7ryx}&r z-nZwlOLE`X-sZrC-*dWh^W6DO*h6x>SX!%{AHmOtTU3*n61<`kObN?RQ*NmaqFXee z;E*7(y+wDvCUcw++stc6Z4gzuubPH_CrV^?+0DxyWf(Sou%njLd-|Nf@1}u~1BoUL zE^3inu6z5R9T&hR;7O0V(ozS*iJiilG+(OK5lgY@^*m#*xvvk$-F)Xh_DM{HwL4$o zJoS++;AV;rB=_p{c7d6~ey$_);IYzw+li*8A&PlXgBv{=Y3CIftEgi*ky6-DKmCym zm7TT}6YuloWydUzPQ`o6R%#OGK|C_sUnH zzYqHMa>JH3*;mMY*Rh<%rAbenQRWJAFSkmxgS*TN$S)Yg*CE(M<*CRUrgYyrMTnSL zwB*oz78mKMz?&(NmY?Xjn0fnZWH}DEsb40n&03WHyLCW+p~VymnXh}xV2R=ha5cf0x$&>m1U`x6 zSMFl5WAjA25p#pFFuS)&u3L`YFY$`KpiEY0^eu^Qp(0C`2!s27Kai8bE{}uOR=tc7 zDv+5`OEDZU&?)2UKlva0?ikRrqfOplf7>00PG9)@h53K^r*DgRY;?TM$KIM+6wjeY zbK_$-yL823N97&N*_6fvL`d~HcHeofp2Bhca{^WxDhKh>h@La^%JI?nOe=4{I$cm| zpD?}0&Cb4#VrTU;1yFZ;34lb$bI3;g7i;U2eI0W?R*Ml?Jzl!$F1T`_c=QX#tO~gN<@t2yk|?(jLBY zN#{m5djE4se+r%ejQnEJ>(M4(gC}n%t;8I+ALCl+B5iDIKkU;*aOYHJs6PzKh3vFR z`z$65GTvTx{xtmH%P+cH)ykw7`zmAHso!XGQ|ueSA~uWx=xF-ccb9r!I8(ZXALKZ+ znt9{59E8lMK*(9{fYxD$>k5bJ{)RFR{hCLm-)8XanxA^Se$lfkQs@`o^1v(| zhZEO#VSzz+*nfwA4{50bR;%s$LvnOoHL3Wk>W8{IW(f}A*+TW1gS*V`s*Dz?VHeedXE`i%ObrQY0$Rb(QXnr{m zAUqt6r(kGA?Pys;=k>AJ+bJ9P*%E^;xFor#0sPq`$6L42Lm{^%8LUdW`FrOM6(|8) zU+H&B9hH4~qAOwWWb6#r$oLJg)Rl(&A^l$JUVL2VdS4xxnD>o05cXM||8yTdzjm1u zuJJ9+MSryK?zE%*a9Tcb{$-Sh!ZU6SBQX(DgMEytN$yII37pTZi|b?b$+de+BY1(2 zXuttg)+ADjqjunSs1rfo0hlV`JDA{Z3$Rx|I-LlrmnB;oh*5Vp#73WDSX>9&tB4h~ zOLbi)dKu1^Q_zd*xsuaI8e&o4`o99AO>cg!cKZ*)gQSwIaVLP>r5V+gZkVJTklZi) zvVu0P*s~NG2A9&fnR@2pN$xO%-U*$A`~UzJtIKa=j=_N~cs}>*GeZExMH-SRS2e^` z=y0*hw8JC(EU+QA#wsu)eBz3RcUBIOG>hlTtJTl8)8s*$C>6cdI zVDrtQRIy9A*cavab&#v)!#?zpcpqijQhor`y%}Mk4k=cUw-RWJeuWnFW+~Jxza)_z3 zn~`pRTY_Ke;0+lHT@5P(!m0o>T2ONm9MF)~-jeA7h+8@>**yI81u{%N4; zneN$pCefeD!y(`l1{#c2+Wji5cd->x#g28M&5#UszgLw zy{9b+?AC#<8+4MiG|}B`DgIvc_P@qdX_9CqR)kOykF0*^Bw(c_(#KtFgW-ReK2fpH z5OC$G_ILNg=DoMkNp|Y2PH5C6hVe0G=M!O}B&q^gR2y+*yy9=8dU-Ia>N%J2(~D#$ z57kbqCfQ!&49Q~Q)uU1FU+&M!wb+4L)OPRAd@}iZ*CWm2Jld3(x66A_gG`!y=;0V# z1`i;rJ5+r46>j*90z!ABe`(P72b3Jck5n>LkD-y#BsV|jaxoCjbdJ|b0f>D{G)BQ} z^WL25fczoN=feQiBkL;rNiiYIWdYURm4dghU%U$eo|gEnC6{Ppj6bn-VS{nHnFl*~ zPG-w2y}aruA|2Y7^DIpH3hP+WY~55V-@kQ#;#c=E>98$l3VuYlO2eo*z5IG_Lk9#e+$9!frTq4Y zFe+mmpp9w)ZDcyDu4*cw7zG4I?SmS0UX2~9xT`-o&vY#6ACWd4`3A!U3zvk_a|Hh| z9S@L`!zW+(oCB4dd+x14?;I@PZKvtz&30=#p$dTAgr!SD1dSe5X11pcCY2WD_p2}h zcfK@k%vs92U!CgbQopeA(4}u4oNFKSt!Q%RPSG^lkSbvjT-NgU69PoA#K9_a+Ulg< zPzh621?Iz*#h;UC{pw)56K*eD4w5O>{ECkc+}euES;P6&T|B{Ue!$C_ueG?9HUkjo zJU$cJ570>);5J=`;_b(}VbTr(9Ys$Ru8ldZOUT&OA5U;n83E$hrnkL087vbj{&nLe zo(4pB_MYSyPp@kJe9FVv%O%$@B!+$L`8-GELRXm-Nq2Z0e(*(9o+ZKt_m_oq=gI#O zc#-5EOc^4?nl}>o1M0Ep0nMQoYsrm#Z-p@B!BmOFVSaN~q#%bQ^2?{ft7#I%f8Cnw%IDG2db-pQdu?>cV$;jbJYtQqKl z`tg#8ir+$M{vO&dSOWe;3FoTwfPP$UwgUv(xmRSfxAJ$OBIXK^<{?Hf;gz>g6f(+= zU*%E|QVT+KB^h6F=92VDNu&12R{5Ffg@8!&-oCtjAa$rIpy)-VGJQ5< zDHeGya0u|&e$OEB8vv}xe5Q88iWG@CW!fQQh9kB|tj4>P9X&%P(!bZHrZ;8FpEI6n zd-VH1zh>=Su{e5K!~eRQI%cn5XOfM_=PaRw z>BV!+%P=#JnM&q_7i-Isk-J{PEBdcv%pFTtA<^EfH@3ZKUB&wv$4ZW^kYgrrQr z#EG*jc&L|JK#w*JmA21K@Uo8vX!%);+<0F$LOf^mcPXDgGF~Y9yOICjAXzsrZ6XCT z8tQa)N-;hjEAr8s$xddS|0Ll9!@ctu_`*3FdDkxTV1~T92|yVC<+|U9Ra)LB9!+dB zxR2# z;#&f=L7L!4a+j)TUme~2yU?sK`kbUaFZx z9ourLrGxrA1NV`n#Z?`8kcwAszEkY?bC4VtxQ@5ZaixbpB3(z`C6Q+4@(h+ps%dJ| zbJ>kufn#nhQRjO53aPR}0hrw`g|oVg9`WAy-ip4D;FkNj8w7|l(Y9_}V44}Y$N3{Q(1J_hVoP*4}U_Z>#__-D+zx-Y9pK>5sWS`*{tf>&6p z&pq7qpaf1=;($N~@2;Ef+%nbuiICbU&KRuL+zt`)V(x?FVh1mA9V}6dKCym_u+d>$ zyKst&+?9rkv}OL#RZhk1>$bDe<~>|G*cd%0q-y;I`eq;51;DqcC2#(|&^i-4!{Rbl zQZwv(BtDSNl$qgiNNZV*mZ zc#_*iGz>C}KF_Xn)x7<0)kkGQ|M7l#i0 z!rMxtTi#P8zFs)X`9RD(=8;H?p2|c$xz$>tIL#+c2;+gN(!e0bvM>lnjJhQ_Z_s(c zy6k*NoC-iTsdt2@u^5S>^`1xN+~oY7W_EzH-VAp6Ms9$pW9q71wZ-sgiE;&MCX7bt zO@{-_^~MD9Kw4TbWA)7ZiDJb+*(kA<^>mXaM%u$~>`T=%h&6?Rh7i@gZUuZ7_okn; z#!oTj`0Nx+hYj4Yyl>WH>s`gaa$Qfyt+4vrd39uN{2(h{tKWTQ$?3kwt-zOYtd075 z_*!ro$H}k`@m=5YoE8UnpFR-#=;;D1X-;vjD}yGc>njyxY2VqYN;k2#O2#*Nqr=r+ z%uSq`*I?|5)ZJ7}NMUGc`#XwwlV{V*drQ$47>`pv;_M%zOw#l}VXaVy7`~TVfPFnNJAmD_tT83Yxe5RFoJl>U)2xY~u(Xs56Wc zMK=jqFawvB*2D2XB?Y)-%VH|!y5gw4)bAXHaL>Yic*4x zZw75z)a-ssSqF1ebD|mNG0TDD76oqczys#%knGjkt)pB|eoqCsBwkL0 z*ZvJt$F9HA zzf}Ew4Z4(Tw}LM=Z$4%IKOTJR?k1JG`fZ1CI$z8=jz-l6B_?}3q%Za6t**@d zt<$hrY`D1Wu=itq=bf|B3O-*qiCuSWcfXfr_sU%I8}s+N;6QuYC~(sMfvqsuVow@g zLbbvmsO$~RPCpNmg5wl~Ak1)@kF{K)PXbg%tvtj%mhZ?Zt z?@L!fy%>~zL>QWR2@A?{a&9}pY2?g-#_J|g@2lvCU4y|dM^2hlFVc%zPI5N-GN)_G zvvvrgAxiWl{R#YC{v-}u&Fsm)&PitLtBnPc!+y6xuMcdC5!luq1>PbGRkfntu;UR) zmYq>XOo!3&}MW$~n zTdts+LX=(_s$_N3lxyi&ce5mHg)iZeXn{2uNQmC?D*gm<*}#q;cBylysPe|;v*Y3V z+*^jTOz+ojQ{y#%K3>|K4R~HTYf3|Z;0gfsMYJPxiW9vJmR6n9uZJtkCd=A$J8EBHa`y*w^@1Eg}MN6w0MV(ao#zO-Y9b@O8ZA4D9 z7+emG@zz;K)w)!tLXj5f zNdb~-hNFX5=d8knrAePW1BGXXsgbqQm9U}3WO4>=)2*M{xvGFNuO(KNiEgMv1=m8$ z7Z%HSQ-s!L9FgEZN!k*`_JQaHbXsYSHRZWRe2`k0SbU^Pb5Y-MMgGBE^Kb5_;$IdL z4O1A6I>>TM-tn4Wf#OP{*%Q)TiN4Bgau%LERqZ``^_TRwQd>FGHU_T|nNpu-`(M@j zV#5V_68lTLn=ZdPP+)^z#{z6UI{-FPbp!WfBAdknJwPLLO>~WU+iZ#AWZRVNcWT+; z8ZI4${pVaxf@aTAYsg0Xwgto5Z>MVfYZBML>JD3G#2QNbzY8^(KuFBt4~>5%xss-! zP-+3~SVxk9yX%yG5|!C*Q-=HVMt1`9yuCBhD84ZxI$N%5C8W1!EmL{7Ih8|%s^q&Y z)yNp;f|A$Vb-m_8m3qLKYE3qDNsnrbTN@?%EC73#RwQFDwfcjxIR$FaD{UDzeuIYW zzseW|nWAxNbabGcJ#lHZBl9sEVV(pyx+BDPyL^_q9BAxRKPh})IkBbzDN^3BrpdqG z_G83y>zj|!IjtfPrB(@aX_)bqDV@AjGf9sbcE1&H&M4iMLqS032$kexSE%rlATabJ zHNgNR^J#GE#nda~?Q*u+{!UL!dsaE*n%J@vnj2ryAHdU(Pp2qeIC)K!J8ocU#ppVG zpRA$IsW77ht^!vJuS5;uEKiO*GQQ3*P0;AQJo;oK)nV`neMwW0B-@6h@n}UkF#89U z-y1!Gx(_3W55dK5@6vfKHfhugBQ0EAY+qV|=T$(B@$cQ0IVQ zC^Rpcaibv&RIXTj7zF=0dbKD+iWtlreG0+T0ou?P3mQt>|Jk+G_(ofa#1+&tZaR}{ z3f69zuC8$9=y>{|nY%bYCwngiBW)u5er-o^d}WkRs1qc3+M^Iqe8xJ{wUFh48mm514iO~O-Vz6kB5AzF00m^62+!QKim z_uT!x#wYPh?~GAzE6j@GYl8-Qm17urw_YRF8nDRetNRTF#BsJ+pPgGm_yI9h1XzDV zDm6PWvTle|9KV-nGmlc+iXlp}}x#YxX zbDN%0Pw^kx*(m7_>$pncsG-PB8IrXDi$N3R|C}36H`#6-2ZT2#zMhi3GoGYj!+DcK z>HD|#Knr%QAI}@ywlHVapE}>scKJ~3ss?#Gul*4m+&FqxHhDQ`wmq^qW%D&9#+0&tuvZ7kNLQ%8n%Av2TMDcT*CVolwE`yC!=hbh| z46?jZ-JO4;m0)cnc$*ZlqujC5rca+mt~Y_QDIse3sd+=Yr>+fVeb34(Su2rN%h-J6 zMt3okXy#&`=Ab}3K0Z?B+jwd{DC?&ss|mxnfYZ%Mf79isvIBfkHAH!0gUj3dpo}DH z-pr8WeJu0L(+SQ@ZqGp}h_MYfWLClEM5|d}25W2MCdMI&I4CS8hx$;to6Mh3LtI2O zM4+G%nStHOiWw>>2U~(uu*JlI#7x!n=}y$0_P<} zhaPQPEWd6p#$Gx%_!cQ3NJLBrJc`b@jyXZnOw@hCMUoZ;@5lRVZB(PL%Z)1xX%N_y zvcw=5*}gfY-L~iRe=N2bP<)B1B%(lD$BKg8N7~jc;2oV`_NLKPRQ!2XH}p!rm}9jl z>ZQCu_WU@03~m-rI;J-$Gd<$RzYKz|g{rM01$S7yespZBO%r(VqBNztdxp*mi8MRQ zd^scZ2Y#MdTvv_hYtQ~jjU6UUoB8oE%9sy+{avLQk+ROa+X)lnbxod}nW5Ib4 z{v=xd(`IRf&FPcIV@Z(UK#zt>Jlp8ZT&ohO#w}OaVxp7A$lCEU57voYjpT<8K{Q_~ z1*jX(R|VPFWk@>f8_MHu*_qkx71E4`i9FC8@}d|xbWf{-lIek%afvw=p0+}F+0=Xl z&mXrKd*D>4M0?xncWM*&vOSw7M{+Gw&~Mb2V>#Z~CF0b`;w6v!v8bBgAart3H5;D6 zz2f`^32qb~+*%0i8)B`lN4vorl>@U_6PlMg_d31JUf}rK;i)r<3vn@Wnp`l?2EzXej%>!^4-JSEyvo5UQKxU$9|!<?@fe54jSXdur z5zAg)dDU_5XcSz4SRUaf>uqPMKS4_LGj36~Q?A;i@SZy>hZ8m1xQ5n1+PzM;x5W0}9vlN%WE5IOFfv$hdIYsT+9dQe20AaemMW^!A~BvnADQa9 z(MHEWw1xGY+6Rl=JJOPf*?wlP1| zAe?ce7QXTBB9 z&uqO3%QoBl!PCw7X^_lRp@K_CHbr4B;1J%w2%=I;H!NeZUczRs;qLGA>yP)wt`eH`OjK@M|vRhaimpYxgFN_msc zwq}$s^Ys`+>bf|288wjc!pm_m{f5+P7p`H;-yngqo3`FnSbM8(fSt$z;{6Du0uC_ATx$kgU&UW0MarFnPA+=m|-T&nn!!K1p6b|QGyI^liC?KLl`?Zt(p%f z&e-v=Nx4IUGsN=5E_NYr_2s#AbMBl?BFA_Z&oRurmMP(LO}Y*wW%AhNrNt>kesHz} zALbm*3-&yTxn6@v#wA?D8v_C`q@i*WLRr51=QB8(w5h|f-x^_fho>MQF_P`Yc z<~Cn6%SqXgcVb?b<>>Q*CKe2N5gf=Pv-4)BDcu={dDF2x4|pxRtqb))3`E71bXxi! z$J39w9NPV};9A4avjoVR1=!&EqsGkcjPSh9kceIG=Tg*geB$x7Bkw3C9eS~+C*q!0 zl%qHyu=MA9+ddi1fj^$)Bv{O-h5$%dHVwS8XkGYHK9&51(qc7ixCKjaUV>^DJS~7Z zHyJo>(X35~l8>-wj4f}yIPxKT)>bLsdC~`{p|SPca#l{1rg`DqOGN>vdPm~m`&0hf zPW_$4JN;B+3p&k$Kyw0JlxLiFL`y^|su}oQ_a6IjEQa^;Bz}Qi&c!CJPi5+X#e+Nh zgd1=+x2&lFfA&vYiE5y*+>fob@;H5l@v`G-)Yy5EpdYb^|Javketv>NDmV@actv?d zZ*1`PoG0>9L*1G!(5(ocevlV}1W$1e(7WjHr|l9~8q9XoPDzcD!071@CfhA>Rr=xm zsOy1eeir8k?Pt<-rQn1GZX@f_Hk-xq=qPpSv4GDzP%~|IHpQVdjRaqT$LV}%D7D8xT!E~9y9gY|2^hXPYN8#Fh;%|YV> zcqM*pfYscl=yl31at)nu$H_LpW$Q3934@nB))*nQMW{_RyL$XD_~j!^I#eY8EoISi zHvl8?dX%N(<#8Q_*=MJ-(&fJnWq0nh5jKK9l`3DXbFJJv)e-yl*7$OvpNikc;F?6| znvJ>MDGwhRNerXjHPK|sE8%d)NlL(&k>#oYK^k=WOzbDj_Bat&sM60nnD6G;ruMgSE!N4O6+ZegMo{=hD zhG!e*2ZB?JgY_r58In>WX6lbj$x)v^V|ug-xF^E}zEvVcYPRET&l`Lrd`0(!c@Tq4 z9K*r@;{U#|3_@~OY z-@s)XHa%hLiJ#=~I~^3dOkNmgp)dCEgMGS38Cc zBn#Vb62g}9oe)vIam1>Vm^le*fYJVlG}6|7RI+k8kxw&7nQi;^H>5}#jYxIQgKx(!y?cBP>vSVOjPV(qanmjE% zY3I3tN_!Ia65OqD2cBvzF)$taZa(=(u0>R`m|PlcZVl$wwG~lCZ=pR}Vw3PgvX0@B zccP9oN*FXqzwt{UHH2_{WnA*42C_UYW!iPiA6qaRV(jS5LH~J-=s@uHrF2ySFFdr% z_mVf?g2giWBx{>i9xXJ0jcZjD{sPr5YtC1j>P(ofb0hcOqf&oBLqzs*uKTzJybNOB z3AS!$8f=9!^O%-DF&en1*LEy)NOb2|{LppG(Ho)Mi#C3~AY4mOSN%)qS{_)bYH0vw ztW@kST6NM)z|X02O%`oTlYmzy5mrll)Y)DKMjgXpd)=cB_hsLrJv+yk;^N)Ly#Bo% zZi(gefGqR2D1Q`}5kCeoC_IpTRH_pf0x-Pn1`^!YU7mj!yxHaL$Tl255AcmeIw8Gh z=blWW1DZ)rJQ&xYn%lx@*d3PR_#~#W>wx-9i{8?0cx#2(F8rrEL*a5S$7nZDkcdfJBm2IAG)JnOso_Q+c@-&?=d?x<$pof0N@!O%1LoOYu z3E-fL3p1Rvms7yrFkW+Xj_1-<{FUCMyocE7DqchxD(A#;E-DY!CS53vRCU?9D@u-iPiY@Z33IjNOeQYEW~mqHUka$XtlL_(^YXYO__mY zIFWd3#$TdQML-Nt`{jEdntKBMW8ElbhNY)j|3cs&l+-#n7y=#O;#Z+oWc-3}(F|p`Cw*>L8Elb~0eJyF}@F8@F|@VJ^e(;LO(FccNI2 zr^_L}k-GHPzKCL5GiF+DQ`{WM&C`rot??N|Rh+5ehRilQ!{OK+@8Fb?51eX;HAgYN zF#GK+5F8?tJ8QSWyD)H}=rfMT;wl%T?o30ikX=J(O>R2F7o^N%#tfC6YkCF}TtnWh%Xm^L5<4ywR+w7YuzpMh! zSb1xVu8lC~Ehbrn4>J1kUj&!y>Ts=TXw@Pwma3Uga9-G36sY17s{W{nZ~PqD9vLPH=J^uX3<4(a zj3m-7H}}F2Q*zr^?d9HxcxWZ+bIgYG1>yCnk*~?FRXjXj+Hm?g`6o{4ZcrE9SCOJoUNNnC^uuTnWpL*d?=iccq0D$b%lyUgQi zn~qg)=zEH;b}}a$VZH7zsUCNHg-wU2ri{8${_JL8)wC>=z#O*rcPR+jF+@)}bBS?{ z_aBz5MyNPlLVI=eaPn+0ZVXG|+In$UUkXxUGV|WFB?c*_8tbU9ONWDe9-kH4lKSDk zkS({pqfBqL-F)pQd~wUaqA^24iWgT`DVC_~WN~fWqYZ1cojtMl{zWh~s>~_rKJJ+> z_6d@lYl?yHcqP&Nv}ZQ~?2=wA`7{LBUi~x@Xe}^nq!UDN_=Ug?SA>F9W1;&VX|B7 z;aX*7n|=7sePW3wuW^U(-IAsa+Cn3wk61ap%`;YWZ%H@kDskYP#o55qU;>s$6L&Je zFf=OoHR|3RU2j_QmR(SSJkq4Cp;9J*y;kK^>SG`k$d3LUsuk%1$BIQ7GW-i@7vWzX z*a}TJ)9yqJjPTy%_y)7|D@UY3dC4H{0$ zIDfuyKJTKRex8Kh?g2edtnp9-ho;lXSR&{E6O&SR8uIZ)>2h;_$_G|2)?3 zEOtoRfY4NXSkuN_AlC0uf}H|dJdq|FSfw3#Ty(TjxSzwk3tVi9HpyXbWMncEF#IX2 zj~>PFI_}&h4~$K2Xsj-rj$bKh*pN_)jgIt=_fve3W^)VzjzwD7q%yQ^5*}u-RTB&c zbq_Nw%6kgq1g%yWFDCU~a*CF)#MiP4148&w%@jdkZcf)2q`8>%Wf%Y0xY>I4NEH$j z=RA@Diycy;zxT)*%_1bkNyWqLXzpvUkGZAx=fllzj8X(ET$Io)u<+TxSMftU zH88`5LVZrY)i7}~J*4O*2D+}0L)`S2Nzb$W3Sv!mEzzSlho7L}lLn^5v0Jyt7|V#&OLg0dqhlmF>Im1|`s%W3rayc== zoh5t-(5BI)Hjk-H3^G1_)cPe<@*+`bSa>pkt4ogqI?Bck|4xnejhca!rGTFgit)HB zF6_xYbRb`3qMh`Qe2ZF#XRlAfx>Nontfj~Azy?^-~t=ybJz7Jf~%EdLP)QAp}NWOz7vrdc#|Pw1Y!ZO6`*7 z8%!{MasDg?-H_`t56c(pD;)C`l2gWt!$gisDK@@Fxg*2ka@QeRp?)lE$Uh_%$r=LL zkF?Hxk(2uh7g&2QU#HZPDVGcw(U2tJ> z?7P2FJRicE*YRg4-aaCfrhA?#HRv%I|5izv33i>1#O(QkXK?8yGz(Y;D*}9fg4#Ro zveoFij18G*luJ$z*b0I=5%Nc5R(&z~uR0*h?NvKVG?-gxq&m(^C#bz=K4Img(w$Df zK;iDC=NDziFH^ah@{R(QXU)_>1p~JSMVAG$z?Nw4P6mQ@F*2T9QK<{<=V%au1nWG$*4m%FLwjOJ< zSsK>|o(0V)DczH^O*ngNNLdO~x6_c+XX!D@jkpApz>U{$gzq^(?*_OK{oPL2z$8hZ z`}neRoqSPUc$XY(NND7VzN{uknglgcg{((Lsm;?cHZv#1-Q0n+`2+R&hks?ov9i1S z%dNZs=MFhIiUe}TJ(d0$6|c%T-vxiU)b~jBa5h=nz72cg&hg!R0^{s6zxls1Ow9xI?HNbnL-eW9A<-z( z9`=M)C!^`arCU5VC&NYUaP`VFOp!&i_9-VyTKIR7B7|dBD=A$HY(ep?;y5?Qg^mTR zM%S&W=8sOTK^sYw7U-Qs8*YnFCqfQHc24%Di#!fqsI>J2N8fDguDG=K7I3gmbX(W5 zjT2f1B-pNOjlOa|35DGUFa&V`LtwL-r2GHaKjCgQ{?T53rqApKv9NVk@r}T)fj-!5 z1acw8{+rC>V`ASrw~s?^%`nwyb|dzSS#^8CmHXTh=v7P@Ca`?(#o*eD6J~!hu8+t3 zf|VpE#jNq++s_rZoo3}3=XAN~`Pb|e<3`tnPX=IY=V?F0NO##<{g`K~ySGpvEU^}Z z9*^vdX+z7wUOzBn16wChTiT86 zt@6psocybMot0@_WeWIwSlAIk(pJTHt5(}!YDq`rGa;M2;P(AM5GLB`cMa2{zHJ*jJ%Qt(p!|@ z=-vAmAYbN-Vy|ytf0T%3Sd$Eg>GEZm;s6_HZD8KR59i-<0L0CL1d}s9f!>mIjmMWm zFzVfnXZ&|dSk$@XZWewNqK{fd#u)vd_4EuUwD0n%OL!(YM8JTvW0V z*m{baqYlx@AdTOW<#7!aTUa&QHCFmwjB?w4PUWkm@q$lz{?LF+SJ3(Oj4y7M_fG(s zV#)Q7N99;MdP3CgsSb~97>|b@NjS-+X5(bnmkxs7Lyfuh*I!X*ybRw#eKAV6X+1(w ze7cFFc0vXeExfoqd78Qh*D`5`(k4EZ1hw2I526~ZTS36vs?MgBu>0@-0oEyNQU}Kz z`mP5i9hWMnv{j{bhQ{Uwrh%gBSVJVMucd8mSHCW~`WOzj@OI#nN6})08faDECG!PD zeuFjme%;YGJqX=dg|EEVjwsou7pDgh1ZUnh*N>DVGPEvbqgq>pdRcKjPNYFUmayB# zQ(|!gdn;L_s_*;n$F!T%!;O=fo|%WaiZv+^KYtnwuolG=#W0RV+no%F&fB%%ERNlu zKUl?1#z7yB7n}H1&5RN5i{j1c92tv#fl0KT>%sK2z{F@ULZkwJ+BhnPKaExhL5%Rc zi=ho`kd#;IVm-x!?=0Ij&SN!+K0#j9wA$D`MDb_Hcn4v2ovz&;geXbB|9WZ1rQ>>;?@q_;U71h9 z%OKA3Zcyd~@}%)zMZ!t}PwMEmp4Yg6AwMNi68=?WZWEip#lA)@aoYLMnDN@?iZOo_ z>8$Uxs0(2d`vZ!7Hs!GtiNLB{Y=~DMXAC76mCiOipSOD6xq}p)r1trh_EHN0#!G+| zU?j-Lo4js5i_s*}r$l_Z)?V-XP7JSL&hGmM81%Rc@cqylKX)whi4-+m%yq9kjR(3E z-r!YBp{F?DXT#%A zvA}MBBqMH?=iHKSTO)rjgpH!~%*3mmiHc;Znk-P7s|<{U>rCq0u$kt%uUwxxn>9HW!A6h{Mf5;H!Wgc-fu!a^} zUs>yxrhL!%)DN)`D_UlJh@>a4-x61I8A}bAAuNMX_RFv3Q3`Cy@vIflNNdHnDy-)! zO{QD)heV#vjXP#9Udd?+)i@TF?GB?_5qq@~+3~RLTN3*}MH_Tvu%BBgIKRa={j{%O zM;jIWb-pC(i;bAdfoz^l*5G9n7<+-k$j?$E6nfySA~`leo)n0RtHp#y|u(grRL5W&9)@8G*^HZM~Y%(0)jqzZ!4GQ0`x ziZYNXlB&u@#`KqzA{;GEFAZM4#|#<7j+krKJoBttN?8kq+zAl)d4!lJK;%3-7w{-2 zuzaL+lH0=$tCfol+4u7{n6? z73I702cr-M;&Oje@h3M2BiZuk9Hiq7&Yp=gC^8@R21~+h0PH;aX#N{(Auh+GDE1cV zAKnquB_XdAmAA>F1v8SGB7kQ;s~D+TMqFDECixq7$R$djXE_xSiaC6Y7T5I$D!phv z^9;)pSGbdr6lJTXA6zsql1@WQjawC7m2|2Fu2}TK7j#E`SsEEYVh?LZ4pJWxz{8tq z^{6WBk&B3UHzhk9_uvNGX79+_q5gCtC^*ZSK=WJyr>>jL_;c428xX8N!LZu-_N2fj z;}ev5tDRly{f+heSyay--Ks4fJ7atBBHkJQ<26HP=WQ;?22F#MPc4}WMja&p==+i= z(ZYCN)OG1GI5O2yHt!3)Q?~0-W@NV)8tD7zJ(=QA z&yzyUkt|aflD!K&cGtYaPec5~b3mT?+$p)hgV61E>g&HMG$!`rh?6Ahy8{=9)&ovw z4(NG7@ZQ$z?uKp7wq&s!YdcGg{E}hL7Nvp1O76&$IG?OGfPZ=O{=sD=L*szOuRNB1 z5vj@|=)5~~rT|yiL8)3;wZf#~LCJ`z276d0EJQ;3qEIAH|NgvwkK6U#?}gJD=aZy? zQodsG@s(+)S0H765j)EZmt0p&9g4?7t{G8;?k%lb<U)MDh!4nq_)!hR6u1E+)8R?F$IUvcbMYlqL&$2}evp3Ziv-n~co)(Mt8g z*8|_pyJva#h9L(4`te2T6c&qSqVRmmK$brVtjcL|D%$&JsWfx(Up(iZZ|3*c>a4~Z z)ia0Cts8wU?O(?0dGmEfUwGUs(R@5|d||c=YMXQ2Wp6(8X?=e%Wo2ijVT3zcawk z!=$}MxA#>Sw(X~1xc#H6Cq|kZ!uBWowNoQ>K2ukiXU-4X#q3efRg3}w(?NA0{bO$~ z#DcwMDL<(rH_(_44ZznNh{(Tj;l*bUJ{CN)`Biyz)y7MAoXT(W-UjjCAD$6UHmD4v z7+GovDf&~N{}&lPbuE};>9VCSx_vhfeM6L(c>pl|2iJY}28;htd#`x{6fJ8u7iSah zIHkk=KdAEH=;O%7m^{@4`ev{7^zOVm&&Jn-4f+qFJ?I3(_^&!WJm!88YiY5$23HoJ z{IBK!*DYKrt|TBk(9u{91vj0&VDP^_(?5nR`J0RPA4vc@Uz=zxm4VNV`Hmt-{$HmK z=zI%mI}hc` zO=~9qp^c9FY3PAR?6qgzC#r<2wIw4(_i`*FdC2jt^UpFmN;P$ML{nK#g~R`!>drH& zsjchxN3k4_6wk3BB49yLnn*DeDT0a=LE(r%Adw>wiX>74BqSmV9uW`_kScLU1xK4aW*@B8H))Ef|)|Nu`o}PWj@+KR26jM0QYe0pm{< zJKD?fTiy=q-@f>1mBCF!vESJF@GI5tUWgP?U-dkw(R~8%oOB6QGc8ENHHrzL+oCkF zPa5^yqIy>@6ULCCsk>@OtFc_5d`uOpL2mWSNw8 z&$`m^Ilw6(--gt-y8RM^Z^qmtz~6o??|QrqfGT+;d_ZjDN!wq}_*w_r7k^HoTMwiX zxja8>QZnL%l@!UJ$?>kAN{9n@96h{nGRsmls6kAo4~)#~ybNRBtbNw~c5$C;+o)x0 z`pqS$tkwCJaN&;_p&)bEJNBtxDv7d`0WiYAn=xBXgr!%%yTmX6Kgz%^i$Jxy;{xn` zO*9SzARi{{k^oCB+tBN^C_E3eGU+@q@r8SKOHpYWSIQ}nXQj7k&U>%l=VXTX9^QKx z2{4Xu;bC)*5Q4SpWJ?n48iMbv{g^=UY|kkfDN{-F3i?|yZPlW@93kbs@N4&t{#x*B z7~t&x9nDyFx;WgElvt0S%1qgnZ)g;Z^K7uPS*ji^;pB_*A?K|tB0l_DIasli1TSD* z^S4dzS`uV$BS|$-w+y$<$gpuCgZbKuVdnG39J%%0)DOaow2E{`YR4BpnR%F>Y*t{V znLBk(?JmKh?&@$HEz?yRvmiEyQVLCft-~D;#))P}HcmNONZL+EpXc+9GzR@bfkeDV zG`$7d_(&yPC0Bb~U;y)d$e{;UO5Its*jX_XZBjCeXEj8{yQDHF4H(ph#@i5X9}gTe zeSCN#%$7L!M1AnNQl&qN+AwOl^a2F4DX=Be65ALQc7-CpYv630@1});x^|$KpfmL2 zsRD;emh5U}!_4jd_?D3VyrZ0sHGWlJYIxH}JzPFUL#ZWM#;Fe5C%3vs7%c%r_*S6A z7A3E_OnLifiRMP!UAP1TGt{x)H*dZtu6R4i$$EK3ro{gtP?J>)sp5Ri*w0{34dZv> z*t2WoDa4&PsUFDg(MWK*d`;kwB@s^Zs9ps7>w7gIXIWhvUQ5 z+dDdc)}P)QTPGynik}6^X|hW#6TXJe(DvjNN}>V4vxN{J4wL?*2V_9{4EikM`Wl61NS`dtyg)J%7Yg|tv&LBRw$`yEdb#w-ym?MHb<71 z-qkcVA{0~8{ue9bfqatAno`gFPSZU!-VeRXTaD{nqhOnO1++nadAAOK(9CT_HSt`* z1q(i_{b0;{OO?!_NavBcu=kJKk{##DdOC`z_~D@dM41GUnSmz{G-Ck}zegH?n0m&a^gn8WTa&|ViRS?* zX7|w)+K@5t04|kTaTIGIBjg^_vDdmgx=*Nescj8_eowZO_{xlr10^(-<5qsyT`B9w zm^2+A9kpV(Nv(S3Cr+cnGV3s&0~Ays#dlLlTW)=wAf5A4j9iY zWlC%9?O5uy%T2U8KBIf8W`}_|r}qVNt}Qu>sB)T%YmOCLn(z2K+wQ$fRGH%IXxGkR zV*~KJM67d7()Ndh>m*)#=Q)-;>&^IguNu!`<343>7Pn{evt6QwJ*_2?Ql$IRfcCgY znLB=9MDZ{6n@QvLSQ#~3Ym9CHFK2qJ-Gu*xSNq)fKRjWz!ZNWAMDpLl)pr%?Dqa&@ zu^Aq7IAkl6cDMXP{>fbz$vsc}j5_lHL%W0tE`~fy!_TBHw!~+*5o>)DJF{D2vUyBa z==hDQUiy7)507OsCqw*?IEm@;YGQPftw#ukz=xe~4$q41IrkbYFyp zmOW|*L36o7>RT*QqxIv;Z9YoJ z`Ws&rTi@r~F=?0D+E*)O3$mxi!cgSx>J6=o#!Vjm(GW*r6CTWco0;+shY^?6du zp8>%NzX+B5%R>aG4i~VCwU2~C#Z15pHOs;y_EbFv^QofRHE+Y)R=L67OW@#BvrVH; zBt|_TNOjxUfmzknxU#*Jm{e)5<)O^6c)g8$Ev!ppM$sz!?W+fpqyPah%pN;tD*i`2 z8BpS!Fr641y!Jvu+8z77tPu?w^N1d=JE!th2pxt0XqS^}qm7mbq_%q312{8JGxRRh z#w!b#UjsU+DK(WmMC=DuULrvW=P1i*tYdQJsn5s)@vhlVZaNO5Jf?GkdCOhr82yTqS9}Pj> zcbi($NDU4s~T!@vYhGiuAl#Wv@>k41#SRRbu(LPq1ElFvd-fg=8ur-HM7CjTT-Cxx^>D?DM5 zkpoMUR+9p(Tm2ICxD$3R;980~ssoH={SNX$9GRhtbd&gpH46wiAAo7ht5d-K znxG=ZB5m2<95x`RbrFC@F;MBeHmMYRfis@tF%GNW6R=NH%SW>B3#2z#>UPhf4JBE< za$!43F=twB>htbN;E01BZ6CmyynYRhyVEImSd|9MzJRkz%&y&NKuI~qwbL6rJu#b- zpKvj7;gNJ&VYDj%v@=YmK5gkj`ihBph15sqr+=GAZE@CAE#t|vG6*+@w8&Q%@2RGP zDt*CMCoIoMsRehI?{wUEw;3V9>?p2jo*=KuYt%K_Vrn=VJ& zMl!#%ds{Ws$ZhyQCC!7PWl^i5#Q%GG@*GwIWL(XieH>tGb$)=`Ng+UrYv3tv!8oap ztx0EQF+x3MQ6uCE{kJb!w{Hqm_?!+qvLWjnN*OZZrs4~2r(bl{Au-@npJu{Dh0wdH z$qL>Q0uKbB-2J`&VLPfIMq%-@_8qa^gQ|z`?wmq3FKuxn`JO(sFvQrgqmw+3uJyqo z?z*!>rJfu(X>U2tsERn0Ii8ki;mtrNVskoyJ>2Q3tpmr1VL=^73*$e1W+?gwn)Xsp zoo>pc&LXL~FcV^Pd0h2JO;gWZ$6yY9ts07b03B0n%w*o4JxearV5A#><<-5#L+>a0Se%}=8qBuN>uXZCp284uW&r3O4 z;3B~N;xAzlqHcs?8;UB?$koQ`%x)}XLR%goJp%6xaQCkM66i1?Xk%SAUlc|#GfU>R z1L`{dv*`*KeE75TQlEg+a_8ggZZ686Ft^c%zJsiXfcM13*8|e#k~;(74=th#!iVFb z-2q&Gw`7{!4Nl)Eixsqx>eC0t4RL`2u<~*4d;)hGYD~ z4o`*!6?>P8zFQ&-t8CMdyJ+zuYFaMU&< zsd!6Sie5`ur84$yeoA09yyt;yxb*cR3P*iAiO03+goTB&3vTam?-!TuoAF6%#@G)- zTx?FecHR37oqrvS;~jN1)0#VZqLLs(kU?}EBES=$nDQJ$M5)fY(zt`=zSE;B!>u`= zmcY;%_dV74tXDDnmo$gfHcbYIngTKWhRM`|9s72;GLvHFyRS07de$NlMWG1I7wCS8 zN?bsg);M*L_O(bw1e6)HVBpHk(e}qnzn@@3YIWeeR=LFKT~W!m7GKsZ*ASj0OD$Yu za$6vww7doHTqLT#Fb>L{LY1YNHVk4AHhV9+Ul|L17tEgMEqg0oez(-;D{3+YpGm&t z3LWoe@R&IM5e6#NDMd?00>n>3s5_DdhIAbUN1y>Fg`atOJc! z-MB`GAhEy9{+24IKv~%W#K9vXCsT=BWoVOtyh+0&DBXeT-QZLAE!4A9yp&wg4tFi| z7h&}tsxsh+YLZn39MuoX2S^xH%oq`fP`ao(cKAVMt0qRb)C>aFpN)`EJ>@GENE`7e zejSXcC@c=6-t^1vWa4bpp0!jZd?JG$t=`2?l0RRLEK{fGMRbjx?H7^T&e6=0Do+?$ z%=>D;3aEZ3v1|O0;f|NyYpH%JZ0RGg|N1@1esi*3r!W4PtZ8(C?)d?s4zyBdc-OXP zEbPqPTav?$-KETh`Jg?gTKX%9P6b*k=2%qSVl^1zgA&BW-jGS9p^y!)mgrjzhgpUo z_vfzq{rKrGkW|ByzXfUZmChw)&IP{pSsv!Ao}tHM&62RWKEd8X~ZaUA&TAyq|Z5PWKk-^)DXfz3I{Q-9~!Vdd`OmTDeypO^kq;56akPHTCe}LM#Pl z`L1}gZ&0WVUe~oTP%l}zBR0knrf-{|fz#@IAoV3%+f{8c-Ov1$PX$}^ogeHW`NDKz zEOdu-g*?Izrn`NZ2*63p{7SN%@6NxmO+43^sI$+<@ZAH_1LDS_6Lfxkq5Isa=N;j( z`&JeOdj@Qt7AsJg3GI%`IFL zu`SJ9+18fVW4m{$rv_ShRAOt?6&h#8F*K2~rWHJ!S*DwT)f%h_wmY$v70^*pZZy>Q zab!DFca;DK^pjFg~BV~ZsL2bXzHX)3S|ZQ6ys7e$kV zCHEFzJ5&~mIHh+rj2qCx8q()DjxMfgR3C*UGAkTlAIH)`SC)qduJmZ_2wA?bO2qLI~5p&STY9a>5Oou<43t@a6 zubVz!8J#Aeml1)w8qs zi*weD$i8#$PsrRmo?Fjgr zGpSQ+BAi1(8A=8*QIEh(NS=V`3A}f*{CBCC^1C7N8o!6;elV7MP_~_vj>_=PPAEQW z>Ae8szGX+kHhm&Tc`@)qqzJ~o7eG_Kf9a9ekXwwpJ%9+w*&D~{`;mqOge2EkKx>P! zyo$xGEN=?iN%zjmxO;jvc`SHBt%p7q=e96zk{qiv~VOWfpVejJj`V4rk~M zCITt}Z=$x2*|(jFz_}Wi1QpkS@q@RUN`7IkjsIUR&bc7hu81XBZ`t4u0hR zc(GkHu^k&0eZA)wg92}2I_WqI2j(nCqG>`P-vvz@wr-6)w14?SV%yi#wKVR0dQU&~ zc~F;#Is)Tg>a*>Bqt8b%LBEg-cZ>YS^$0cJXm5CY6>w&NyRj9K@D`^~V+GOq7A0!U zPp1Z*igHh7Bv2dXeb49cS|}@1?*IsZyH{P$Nml28uDzTt%E*04v&pW%Wfg^4urH_s zO>fLmmSUhs_SBf%YAv(x2s>#!lG<2vt*`HMd-~JRYH{g+SH7MSMpc~DM^KvkM!%jP zd#^RQCVbH642iRMCpt6<+xv!H9Lj^(9DtZT`MEMlssoMPM}8%-u}=$RRI;{B?;wp9 zw`KAhuBG-t5lu-<--!wK^3u{7qVk{4{-Xl8l#r3DDRa#ZHdE-Kw;rSEI$bAgM+Il$ z+OA?ac!;W$piaMnV_Mx!sRIf0Dx2}3Qz~bKu%aZSwQwexBfFjC_6+!uaZZ%&y=6M9 zNnEVBP7~i~@EbsY{>OqzVQvm{dZ$@hEO}TS7xBS6WE?G$a{4c?q^Ur;>oY*$I_^2- zt9*^_aID~4RUG`+RGw*#0Ba-L3hV=*kBKNuhj#0%{yReu4*&KzD)U@T%E67OMf@Lp z!Q7O{kJm~mE+h2k)Bpc-fNGnImPg&?bc*heo7MfjCM9LH9>H%U{eD8qO`ZH*z&|?q zpO3jl{=Z%GZQ$oywUGe)nbFKv?%GIqZl>0LG~hQ&vCZi0zueE+o?H{^Z^Fg4qi0_Gl%Zb*4*dV;Cm~J~++sy>&zD`dHzBh1YxM2>1N3AItUk`y(u1pa7%}^~ z^Y+uUAM@vLzr}?BHvVNp=D&;dwzA5o4oNsSeM-20H5nUdzhC&=hi;{ zYhk_rtFW!Cn020>-gR@i$%3(q_<+Mk)#3$2>3CMYF8btdG;8cK7X{*KMbr-w1T6{YpYJ$Z0m#(MqHm$Vb>kX3>EWI!YB-RvW;wQD|NFuJzsZi8*Tc7|sPV$DD? zv3D+C#Fa{UlhblP@UD~$^6$0=P=Vha9=uh0eFk{(TIR0>I3)od7=YPlGDFbDfBt4? z_}%=ruYbI5XVm4{@fKF)<@j$9!x;k%agwVnz7PMQS_2=8o(msPiIrb#$-S3pm;0;z z_Q6JOSV%z!ly0=Nfoq?f_r``ztYD;F+j^w5LO4CpncviVn3#&ujBV=*)YrN?e@AnA zI7FUHO)V=StkOuk7Na^DG^ch*^iLQH8b-rg_i05z=2$s_!+n(b6|>hH7EeO=YptG5 zt1Y0|Ijx}OCwYtNfgv}92DL52cX~ee;}PnR);%m40^;~F;hmqY^FEkn9l&9mZYuT?XFFnX zKHn~v#y%t)fD+mliUL5xHr%%<>J#KrD*yOd1NZ1&gzjL=jPi*j;AMf4t_5bbl|MkEAT@bH;{h_PL^jugop3x<< Ki-r2P?*A`4k=>U7 literal 0 HcmV?d00001 diff --git a/SDKTestFramework/readme-images/parser-test-loader.PNG b/SDKTestFramework/readme-images/parser-test-loader.PNG new file mode 100644 index 0000000000000000000000000000000000000000..5e79d6c03d1b1934a672f28f7de68a95dd669a5f GIT binary patch literal 44062 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%0DyMwzHXBP^hH#PXu~!Ta&2a8(TMY{JIYU2y)YW1 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�&D&tG(z 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 Date: Mon, 6 Apr 2020 22:04:07 +0800 Subject: [PATCH 04/28] add missing link --- SDKTestFramework/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index c6ed06c..a42b864 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -11,10 +11,10 @@ The SDK test framework is not a complete duplicate of the Aperture Data Studio e This project provides instructions on how to test an *individual* custom step and parser jar. Example custom step tested is: -- [AddVAT](custom-step-test-framework-configuration) +- [AddVAT](#custom-step-test-framework-configuration) Example custom parser tested is: -- [JsonParser](custom-parser-test-framework-configuration) +- [JsonParser](#custom-parser-test-framework-configuration) # Custom Step Test Framework Configuration From 6d54aba058df6d04746eaf2125ba3146149473ff Mon Sep 17 00:00:00 2001 From: chungkhenhah <53897209+chungkhenhah@users.noreply.github.com> Date: Mon, 6 Apr 2020 22:06:23 +0800 Subject: [PATCH 05/28] Delete example-dataset.PNG --- .../readme-images/example-dataset.PNG | Bin 33904 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 SDKTestFramework/readme-images/example-dataset.PNG diff --git a/SDKTestFramework/readme-images/example-dataset.PNG b/SDKTestFramework/readme-images/example-dataset.PNG deleted file mode 100644 index 12b03db900ddd0d7bf0303a9373f19d2013f15df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33904 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 h|8XEfqqhgwcgsn(mNz2nvTtgECB Date: Mon, 6 Apr 2020 22:06:42 +0800 Subject: [PATCH 06/28] Delete parser-test-loader.PNG --- .../readme-images/parser-test-loader.PNG | Bin 44062 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 SDKTestFramework/readme-images/parser-test-loader.PNG diff --git a/SDKTestFramework/readme-images/parser-test-loader.PNG b/SDKTestFramework/readme-images/parser-test-loader.PNG deleted file mode 100644 index 5e79d6c03d1b1934a672f28f7de68a95dd669a5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44062 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%0DyMwzHXBP^hH#PXu~!Ta&2a8(TMY{JIYU2y)YW1 zn~Z_M8mljKzLfn4YPHOXjcCCy)HERf&;V!So3P(uv<`jIS8rEwQh*k^#ADCZcRd{O zFM0BLC@YR~4hT#K9cj|V2~I4apZAbUdb1pnCgw)S_it_zMe_nRkoKmOV!W>R@%Mou z4&~H4lZ#|rPA)e?hb03|StvTfZ9jJK@t?C}Z+a{c1mw!f6f;!-3=rSO>hQM75Yu|{ z~?nAy0m(`e+rzY~bw&Y){^HOwhj6Ef#A);N8W*yjfDMLmnm3grjRzAnp30 zGMEN640dPQ+FYUDrMi49(?R$IbF`HXPtO4yrt{7mCzCA0*y^0`o%lGOBz*w*PM7}X zLPO)pIT9y&VAMH+KW@m10JUK_k|Rt}fz9u2(E^;UVHd|oExmTP)Nba1C0MLFo}M}B z&+8gXOKMcH)Qd-GDbJ^_94Ya&u3-Ur9N;B5c<&;bsiRBW;cb8{K=L!fuD-Vnxr*)2 zt;NB%C7ih2`9aSLp9%R%DO%`$9x77_%p?`O&nlqVR(UG~Ka;E6B-XGmCb=x-`YfO> z;VTgPZ-+qLry+pI3TpF(F+^WJ^PTx;7sm)Ih;eBpU`l1ev$jICUDk`D< zR-%vn`$8p>_3rp1<=6=TRv7;C?Zee;&8f!DkdU5Y$HYdr^3p4JXq`fGlzR=dwVItD zb7&T@Nq!8s%n$#7FS#7+7Fh|=J9GXNIyid3|d1SmDG`P_?5phP}t z-Ow7alI%%dzn0`VDnj$NV_Wb#mCM|%4jt5V9guKqY)rpk7!U%;x%jEV7WrS%_@vo* zb|KPlhEA6rx=}PYy;GI?xP?WxUsOjO z*Vz(aaZ|7DnSz?yuJv_em9n@&Al>rQu_AD;!TDFrrKP#s)F9g*Qnw!Xd)8hlow^5R zMspn`?3OHe!fu(I+LRWco3DLMdqU5&oJI1&2; zV@9Gy8n82*Bp2+fbfS`vR?26GwqKEwI%Qypa*-WgK%zt^l%Y| zg;Z~fvi*E&#Bfv{cBn3 zswuPrbl&}y#&K?u5`L|XMXnxY@acPDnup_f_tiFB`g}Rkm@T_Z{^xV2VAl@;_pBHr zY1>(8LwO{a*A2dAwY=RR-miBOlw0RCzxzV+1F%~ko_7Oseq;50j=qNqsLYiV+Y*Sq z!S!cs7hZ&yobGvdyr5}uA9}V0+S8+?o-``#x=~%UU@3tOofl*ze7sWXZ-HF=D$uGA z@7Fm)=mKwRdxvFcsO)&O^_t%0TfHV+y0Egol0q%g`Y^24nMnJ(Cf*2(zJq@gOfQ=* zCT_%l{>Bk)l>3ty(_7Z?L`sZiU^%V!-4bG&%k(06*ck)hrFaY}C!(zT!rFxGVaJ!Clm?UZcnc38ZWC<`vHbM*L8!hM5*2H3oFth}HgC*WBXd7jAxPuesv z?|3O6mp@U7{SDV~AXQB|MxKo*IQJsF^mi*gplS8x6ST%-8;)@^5F(iS0)UbmGo?a^ zG9ukTwDmY(UH>$5uy*yJ%SPoJtHgNiZM3@Tz8-I#fEflo!J9>9)de2T%*YePop*CN zVjpb{&>lUq{DY&1tqKL3Zj-K{6~ER4ZF_F_;mTUOVW#PzM(?t61#W0$ZYm|7BnU7m zeM`3VJo3PxDs5orSwH{tPZ*FJ5jc+GhUA<`Gy$4Umq9NwPaPeP-EAA9b$jhBWcK>k zw(M1DDPB`xI2p_p1~OjGmGXpLIS4aNSxom7?7qW9E3ZQ%>fnYEa*evsMwRUC;+0Hw z>tf@J7PI3Vsh)?E679O5c7w*B=Yeb$ft|pX?n{DChP=)h&^+L%h!`dcB7^Ubg5HZH zK=@y{0gAJ&x(LQbvq{SBmBuZvb3@X;PigKq0&Z^s3V`~6KIM2o_#wieaT*A}p!AYG z%Ps_WxE%3&ZSsVXmlj{VZ35i&6vB@e0=(lUu@o_S&`P8jT`Hp|P{%jEmNVnwGn;&} z2oHtbtt@1+cLRKDz)L&v+T|93mso>7F{4Z@d+cAB9l@ zS3eIGfPt&Pk}}Fc_Tcc_(%G7@)1czNZ}i;I_a)zzm;c>M0EuQGcKC0bbrJ=x%%8+q zXc!;`dI=<`Q(HD6CVu(EUOnUE&-#c4xCJR@kcDkh%i{}zo~L>IpZlv71Cx`fgzF%S zLVM#9h|8^$-iYL@}UlnhF_^-7=<>yR0 zN*Ljb6X-7Jkv=TWs;=%NcnUlV(WN`#*u%Ee7Ofa`Svf+3J& z$n3W(2%l?8oP$1^L0(2?!R}5S3r}{6aEhxEnLS|$9gTmC1<<1pmd-m}2ob=v>6g9H zU(~?bjV0_X@io~Vdg4a`&Q#xiEISGJ>3-9I*PZG}|3*(WIB?)Wf8us$qKPVFd`0Vh z4y7^&EI5`KQ-d^u8!b^fp~9=s^%>U|Ja93h_$4ZxFW`#U0Y1qpCtsIrWm3&zW?QyE zdB(O$bFn8np6m_oX4qf&ja-D|Q*zl5iwc>&c=14wPN7Hq=SXiq0i31};&QQjdvNcm zqs*F^$a<*(LxRNgJ*L}V&B-1Q_{=G=(^bi(8MMQzeVVRJ#0uQme%pW_uEW?8+}p#fxVD?O3svY-Pci@ zoGJ5tX}L(8d3QdkG;`;UQoej;Mv>1zbA#5vOG=+7yQs*5ohp<6>_q48(e0bM8SzqZ z1@`c{tZGvH_Ciw4CfSCJvF5-V&xLpc*JG3VD`+U{MvwrbhE(jdVUzg|r}+=Qb~%9F zHKxC~Y_<_l-%pG}@B(D1EZ-)I{~V+iExl6gMF}c~d*hn^Ybkb%tvDHD6_!Tx^b_h^ zT{fXuVd=3Kjk64klJ`Wwg18-h4O0_;i+PYSlb>qO8R9IjOG#@`KhyNia(TXt#bK+k z<%Sj_y@yXYWj3d5bEPOCOw!5t5+m!R(J)WZVy(;3*!8j7On-NkBcvM;bjL}sv8L4S zt^h+&Gbo^QU&{tK6%bagW|rjSJ81OoFVd7S!*D-4);;jnr4W`$)gCjI)VB~b;#WgM zWSqHH{^2j?lmh#Z&%Msg!1+k6N9#(PVRpU)Nd3d7C*CE2SW&1x4K3HJR_~)({^0gm8pc@%xERCV}!EH*}L1ux&7vz}0#x{$D zz{RSfx*pdr3yji>RVh9LWDjHgt(K;Fion9?TJ^Dz8TWD z%W(UyA0T83{}#~j3I_BLMTqMdr?)q!8(dQWX**Spgt*xw#E}W&@6V8u1ATeSKmmGC z*?coprFMLp6I-D=klvv2Qa`Hg$#M{IXnWBBfSEuwdg0=?c6KtpzoNbO@!OtPu&HLs z#TVgk#cqIJjGk@*`HCitoAY!nvL1!c9;b{ga$o2%_?;FA`POy?uI%X9;N_}mcwABi z=$b$vPRs8Igx2@TEUT%_zWG@>PuN86g)x+RKKteW7TE-dGBm_~C^CO48sa%VeHk{) z^M2+7*0VRD@M;q6A6vsoI>m`11;Wjl{8}uXCA){(vq)Q+nOK7ANS($b!lu-DGtbXd z+wDvxP}81~ASv41m0@a_(p^Az3@AG1g9A$V&bD~@n+|)~_;{&~wL#(yUejR#m5zn- z3l3AlWX#tVE;*QTS-o z1YWJ1hD}PzMWq;R%yQuTisJQkgW&jOLiAEyi?x4(_Z=uAd&pa4SGMATV^$qaRP$2D zUMVv^S`TujvtVE~;GXC&%}9Ud6t&q*2Kvwcb9-#kZ8vXw(GJ=&7+E_$+h?jp4cW!V zdvo0U`EMKl)M}e9`z$BD%k*aVglRq=74xg4Q~KOgEp+^bZ^{wQwnl6JM8_d)IiOJ7 z_SE$ju!*vs+Mk0wN2CD+b z`Ij?YBjmp1tsARrT&^`5_OIE>@!)ut-|uO>>M3S}@Abz#Nx+4`ipy8 zE5Yd@QU~Xkk{0Gt;U}HNlWaIVE9_vJkW*N!<=TIVKH%%VOvv+37b*ZD69SOhM5XmP zeUr+-i;W9Nk8)E5WYv7qxKJT+y^ZVKFrUaF)Mn<>BG&hHK!Y(51!-;E>4q_d8l1Wd zofE6#LsYW|R%eUkT5Ks`4@rxU0WFzUFL1N0sjIH$wpv2)l*tHhRPuKJa-v8ZMU{Ze zI7zM71bFh6BGs#?@_G#V0*Ayh_Nt z)eLynPrUh7t?F}hnznvj5S0#jw(n<1!zz?2qWO(ELweHu#6HY53DFgm4>A4{yk{Ou zzy(;#ni-D-Ke|sNNBA7PUIKhQ_KwG4^r^J!_Rswm=JUi0{QBp7@(6pleXq8OTc+)U z{Gc3M$`T;9BKdtIg-#e2V|T#az^T)MGeq;^kM@eH<7HFd%VxQp9wc!7yxs7v;4~q6 z#PMn?pj+b6elE6%Z9XO(IL)H_Y&niYW|}LtX9~HlJG2y*@1F!;c&BwsECwtKRlDqfHLLEvO&B7Daf{<*`&^@ME`Yb|Qj#-Z@S3;*fY-?yjar>|DT z-L^gvq7xmKZ!6a#51l2wmbHfhs++u^ z%`=YSbfE*S>z&!+71uU&N!#DJ%LYo3!_|7Yacsq)L_)!=NSFDiyCEuXwy)k77u+c`9 zB8^DWK&fl&kEr!k-)yH?;QWDj$U9HI_C92GDz;850=ltN5)idKHhi>TRq& z66-peLgj>7tt50T%!FmbeIs)T33AAp)fcL=?M2%rBs1~rtWr7K0Rn#hh8xl1Yc>fp zbV0A`?{E5=$Za%GNtsHsRxN%~OJ81$Zp46KZ-+<~Vta z0b;u!PeK(8K#w*Y6FNepuIcxR^(YnS%k47L^9Iq}*%0mOC;EDQCK*9$%@Po@VEZ-> zaD^@*!1EM=26j~|&>bG8z?g;I-_9=`$a8D5GMq`4+le|k!ozM6?y3JXm}i?)*?y(aAdGid17%qG<2tj*=v4)HXhpOevf5Db$;4u}Gw0Z`- znXUnls_&_W@cbj-umppM(j{X*+RA*R6qh^w=O!%{ze0Vt*mq9 zD?t?uL3;Eq)4H(AGrR{(T2yL-A;N}&I0WMA#ap9ev=UcoAY(|}?y8IQh;4}Nt6+Yq z&&~C}S~;Rn7gzm#awv;_BAUO-`a()D3w7E08`$Uh$fTMfVdTYa`<-V~PFJv#3}v3y z=ANRe6=oH>fmF9e+?^Eg*fyPrZAq!mNH;_s(VbM4$rV0F4tdvB=0m?}B4NAZmF_L> zN`y_VISpPo-YL#3eJ4BXT*vN{VQHpRNadOgTiByBhEXAR>{DuIi#C!jI0TzX^GJN1 z$vc9OmTF>c(!3$IrmT(`)^!XT>vp?^ue=-reY7%aD*%4!LxuuUWy^&9h6*%ao%E zyIl;+f#=ZJ(n>qr`vH5->{vkgVMRq>z8B7E+E}3yCXIuM8da$2CvG@CXAS+wo1x5{={=y=m~;O2t-AMzeX`k zMz`x%o-8Nafd{3wIN#uD2k~cmtWN}!^=hLo-rQPraZWh8faK$l+!FT+h+92=ZVRn! zCOyv_HR~sOZA4o8n5Ps8Vwrk`aVYFm_m4_1M}-Z{MlQ|v#|1Zv?=u1dw1F8evA9x9 zr-fk(TN}ZEE;!%}UGNhe>1=u(aU`JC!r9h09UE5jVr;;23T6E;_FPNH&K+YhhnRK? z*`4oBP1_$9G%2Mx**myU^@F(m-4IhAwFIh4bc!)%z!VUC+atjx^$!fa%=VK&dy{oKFjd0wyIKfiyT{lDwlYuEew zd_RZx`~4YrF*G+s?VEumArumE#zhxurDtT02F~%HgEk?FZcUKl)R(rhUKl8rypqT_ zR>nz0u`-@DlqptgxW52FK)lX8DG$4y5PMTY*ZOsbx_L#D>*X9N2~{RgNXh#SSCFiW zoZ}GcJcj7u<=lHr{`f){5Eda_mrRA2qL}sP1ELTs;^%sX6NFOsQkb?y7MCk}oYxsr zRPM(dN8oRWkUK?kE8|Ql70Z;w5$IGXX9|DiS*6Binp^>bFUvV-d(WN(>!Ek_ou6UN z;qTYebn_|`e!ex!P9FB;GkZ-GRL#kHHu!l%G-kw=EBPufgYe#X-NyG9=io=^{Lo4% zE1^qh&h~YB4ZQI<+%nGhQCi)E#)V#bJ565XIT;m=sRy2%5%&z3%Y`OD^NPzQR6QsH zSqpt$8s(vmVw&>7wqP0dCzvR_h!>|gQsX@kIsVkDx31@YdBuQmqsX}7`;YX+`2=3h z>-Frf5{YX;Cv|>Ag!yeZVjAl3&MG@kkUkg}i6u+uZM+GOGQR+<-!e!+f>Md*E%=}d zS>&rzOSdsBh+}CdHxYUmYk^8q^ z2L*3FaCMWPT5MfMl6ryNG0`p!DPIy7pV=;27rCW+?_#KXsheh|n4;n|e@eR2*dyyH ze$O}H8{FCqtYDr2)-z|s!*W*TAVFMgOmFP7Lx@rO@a-wXf#(JMY{h(47*?049Bic6 z2zit5Sw-zLwokWT8@hR8&%2MR)tH`Z%OWlNW~vO30V?e@LG=PO2=^bOZ(}asF#^1B^3Tjq0?c$3+Ig~jBV;LsJ0pF3|Y*~cy6c7`b|b4%qJ z;Cx7YysJ9mz7u`}&o^afC2!P|<)4sVHBebuyjGuRI4V_nI+gSQ!b@MxZ(|KsP^K3k zyt6K>LpuG6={LVFh=g6$>-25ufS-x*rlf((!5*ENWj9r)NT(kl21cDct}4=L zga-;bVE52WHBXEhu}cSKBGFY^JiUyJ>tn2p2?|J#JCdjMZP!M}78n?ibA@JD$#G(8 z33gmeZ}?)zdC--&;H}^%Eb}0SKJfJ*;oTjCZPLsunHnnq)6Db*P(cssTgtt%?_5^suyCw=%%|B{|%7nkDIXpQ_QeL~6|7#`6KIp5Z=DDj3x} zr9u}RbZ#SG>|V93ufA;4!GK8*7%%Hl{0N6REz#qXAll^MtBYu!B}MbXOKAFaugq|r zs%5rKLioiVJf)Aye_0)~oR;wX4h_2Z9ra-%0-fxI3~dklpGX^}g?%MIYK0ijfu=8G zxW`v{MI)p)LU~4z*OAIij@d(O!i~{Ar{P;I4yM0Y7AYTtq{l|wd^{XVed{XN2%j>dUJKZzGkuJfE)!-XE5=@C?ZYn!2=`jQe zgkVLlcUK`RnB0;Hdpc|k8=)-8kx{wvo}on#M9l1CgY5fxN~Fu^1<;JbYBqvWlz(ae zV<&Ucg?G?fp`muJK4V(;iiQ<9%w@5%ZAlz{o{3w!GTHJVe!sj#UeW>u1Q* zgLe%dKKy`pqX4xF4o@*qKehB@gry~{N*-jzC1;PH;K5Cn4%ErL&P5SC|EWm!q~si) zGf8?#uwQJ7mPqt1`XbYlE%78bLVfP(+5JXR10xae?(cn2I&A&uSmwhS`2)!l7kk^Y z13VjN{)H`ZE~!0To{`+7M$Js}ahf7EKA@j65Ii0a2;Th0MA~1Vu#|qs_N#G&(+JqD(2gPhFMSq19k9>$HM`l&*4m>oLYcv{Nd*H3y$tquc7m{llf44qH#IkEV zq;q}s#ls%wnGIz5+*)luqBb?ry$25*xmN4*k^@%lmkK(!I#-&@h*~s84p}c_6xiDG zi*F=CBn2i~)@Yiw8m^cC2H|Ca?=8 z?);&VI%4G>hM+(8%?65Y?KIPCWGS-BrLv}-h zQ+DLL!zN_)YfGVt1|EBf9$1dX#0obnuN*p+85bcBQc&U$ybBj<%~r^cc9i_w`s4z( z<91MCL-m9u{SU7^{V(w2Ak4pr|^m^0s<#R8yD5O2oUzK2ssM09I%C=Uy2 zDLT^jNTCuU+h5FXBXXGtk!8q7;B7yx{I0T|1zjcI42TUEhOPQ|gA$7Pa)NqX_^>t@ z?^;2!_!Jtp893Ve@f9&aY3c6g<9_%PXb?b3dVdh1{yZ@m?POc0@Ep+b>(sf_qZ3X{;~CSYDfDinOk6fQ zNiR?Y(3@kA+P;@teDO8*TrkykFjGH+FQj91Oi5#{RKu9=_&@f+WPfNL_mu)d)Q(h9 zUeSt285y>fq~S4G5*&0cC`-s#ZQrQ0z-C~UOO`A#fOqIT_55Syyk2xeqJuX)N35jS zyiTwqUVqTHCC&ShQHkx{DzeTf!A%fAftQ&X|GtK1-$NJQ6DoEvA$!rLUyLRA!0BF( z%WF+N?P)W_E$C{?O8i zW{A$q9sO(Pa|~-kX~B|-U6n7L<-hhQuwBkn$rUMfLbL>b%aQq{yGzJv+HW;335bUNUlPfdn@xTqP%{=HU?n^LAD*CN#DJptZ4s)?- z-k`5mG)nMY_M!NtFq#DD{5(W|46u5S z{D*DY9|fXAE2>UC2Qrv3k2+D z%{LP9%UufT{NpE@Su@zI1Ki7EKQpv|OqEHsO-?`K6h4SC%oy1I9&!2IyWi4IRDJJ; zL%|rX_9bW!uPI1;o{{h&oLuRvat<)kTBhkH&n=(p(MkakAwRk%mN4A{uJ^a+=Qjga zen)Z|S9-@X9k}7$OM~rg?F-|0pKU13z(LvPfJSX`qrJ{_Zj0hQIMY~~Z;=IMLg!z_ zlP~P`sF8qRzW|+g>(3m^@O<^(=VHqGvLjKD&e~fg#2{QU=7M{TZk0b!96)2tFj=-U z(#RUUfa!Q|8lJlHPUlx{7KYsw^fy3V&`;0y7>6LqH#zJ*lW-|4YQdKl)WvJKxH8yO z&N{S;9leYpxioQKu{zRoNl;ekHW0TRd;v?BsNF0*Sb6uW)|k75Uw1rTUmcb9s4|CH<=izO$K9fIIlSx|JMRX3hQ?p0`At~a{kRM`NzS1sL~Ae*YiZKh zwG=g+VEq|4?PxbYkKV3A-@hRLe&Wq{UxWk&@}W;Z-YuSwXVX$Yy7ASY}w80-pR|ZD6FLn3`ehu)L=dAT3Sl^h6X37Tnf*&+#1j=EtS1cI$qAP z3H)=Uu~QH;B{YYRe_bhl3L%_O#p&7uB{xO8wikdGX7s(2nNGphy+WfK%2K|X-f?rf zxS=($r3<6*dFe=dE#tR?lq6a;*Q_%WZGp=GR5guHy*&OV-{k|$bmsoC>5OxZ)oVc? z^%~$#)xoWA2=<844r6s;)Rj(3_O`^OIIyVw$Kc!hrjBW*Xo1PfM44^x>#J?*$sD1`w@V(C){B#&8##<9=ljjB$q4ZYd;sFg6jf5#J}j^Jap&>n5B=$CGcbE49rkk^Q}u=DwhY~yLycVn!-7#N^u)tH5@p+Tb9;t0 zo6+x1pd(LYsrL-N9Ai+NyGywpEDo;9N-IlR1kj!^imbfN+&CaY6@oJ3o`H4sdA)BN zmQSv_#VL=mFO;D!wiac|7T3#D`rT+QCY7mnjH(!@VT>ZL-y5 z)H0D?w6U$s=qAg)wrwec?R4m2P|R%HzUZV8?eETGlcV|b+me&9nE zMwA7txvSO2^srM_n0px7(gQm0?)~hSA;Hc>HsNEa`W>F0k=eO(t7TGb!}}jD(qIL! z-I708J^Sn=G%Q1DfrE-ZKnRMZ>92KI&K)6ac$Xb*4=R~uDX@QP@KUn)vwnBbciuJ{ z-}_9if07|6HsM7+^_vL}fWOjjc&m)ptWW8?igoq0inYw*DYa=`v+Dg}ox5<>F2+H6 zh^VJEEH*o5QG6JxrgNF;l}vo1aivkO3+V^3%99-u3sK&1l8VURWl(=G0V}qdzO`jn zW?3IfqTw-8$%*#uOrcgS;jUX7d|-PW7qf(i_WEJ^M}%tyBL#EA&DtYRPcQ3HX$$)i ze{A15$f-82C=Hird-t2g6n^2`NrTvIXzmeJ*-@k0to#AGNHqV^a^$1#&>po@G11o- z{F2G)`9i;ci}w?OulMn$IMb@Z41LmQAWq4~FD&_DhiGl~wDzc^EF-978iH{6mLf@* zNS(J!zQ~$=79F&+|CFUhv(%E{K%y~7ob=-@&0pP58`ouea4;LBV1M)#WilR`EPv`z zTsrx)I1e+S6lt&{bp87=&i+h8IEu?;5p8GB*4Rzepyf^jhn3PCd3&nlPI7VRN|16s zf$G)bg(3S4(;~&3TPG=BN5~gOq23JcQ~2o`n}%IAEGx8X*%Hz`V~$#jaR&_w$C&t; z9fm1N&KGP3887Dh=SGLuAWBQxvXh|eYj2`B!7mn9?lw4EVt(I@o_SZfYi00Ta;}bs z@O7!WO$?~DDj9(%T3FC_^4vACcpQDmE2ipmbi$V(b|{@=vw@MG;Pvw> zYncO3Mu;`TKadX!Lb-AzBNgGc$c==mQkYQTM5C6!3l-=#IW#VcQ{?J8%B~OUT4^|M z{%i15_KOG5Om&`ne@8EJ6RxhT@cuD2#`3L60j%UWpK)Wv37w~6BKNkM@v6&?XEU|s zb5cL8GU<(NTpRPeq3V<_dpOPyIz!L}bQE8U9_EuW;AzMTG z&ZW$YxhkQtmd?DrWVzdkY;&r6E9*vEi1Mil;!NGKwE)^BIad*&evTd{b3_iKpF9h; ztulJcGDjd9@~?e%ev{if2?JHM!(%Vi=_uCQ=HaDJJtEyuZ0D7{e|Q9x9UxXg~Cqciyl2U#1hG@&K)1XUB zr0qy!y~bei&8c)XC){7mYtBB0&4e5g80ga%8(g4_l=$FP6)hJKMC=E3bMiGBw^87= zjrG&*cDV9IF(?@JXuEKOgG+!h$~h%(hYzdLR|sKlPB(MSfNH63GZ}NGTi1?;yh0>T>6kO!|w3z z(FkKl_}Y(9;nO82Im1|%11nV+1nB{AN1*uL3IMvPR8U8d!*y|@$0i)QI&fBixU>tirQ5cVk+735*m`ZRf(Tt1y#uQsYG827hk-C@3cT zw$tasj+#7rh&i}uDu&1X;&HGy)MJ}ERq9>&IcAX)whgPojLuE<)`mDv=NAnKJx%0n zDnHX5v1QZM=nX@>zqwyk8-f2H2HO9JYu0~2z5Gw??f=(p#+-HxpH?Gx-XDIw)nU#P zq(D7={XM6-W@#Dod*0vw%$d^v`xWN5lX3Nxwwa-xaV2x*h1#Hc!s_k9n`uCxWdg!b z;~!Hv8P|VHAZ_`#Jkuc+wSPSa*XWVde;m_dta#CF<0=;B*5}I3-U Date: Mon, 6 Apr 2020 22:07:03 +0800 Subject: [PATCH 07/28] Delete parser-test-setting.PNG --- .../readme-images/parser-test-setting.PNG | Bin 70052 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 SDKTestFramework/readme-images/parser-test-setting.PNG diff --git a/SDKTestFramework/readme-images/parser-test-setting.PNG b/SDKTestFramework/readme-images/parser-test-setting.PNG deleted file mode 100644 index 2cc575292e9fe1de2cbf40e0ca15626cf1bef965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70052 zcmdSBcTiJX+dhmHrGp~UyC_vadQ*r<@4W=+9fS~C1T2&&9i%tu9Rxxrpn@O*p@vA8 zUP2W@fDrhC=Q-y&?>F=P^UZI5Gw&YISvz}n*1GFj*L~f*)6sfHPQpM!L_|ccsshj> zA|j?HBDx%O<2vEa$$69);lE2Dy=RIqCbzKr~z zzN{#xGQM8NVl7rJo=GRf*r_IiV|Mp-F@n3p%_w_%L>~%_FQ%I%xv`vcnJ~YrrC9Ao`^E?`0AZRa0}ERQ!Jr4V|G!D%aaz zSSgrVStQcKeHj!1|2)lB%}Y*AUZ+2TTxcI46)0X_ssIYzV(0khfjDDKIP`~H3Y+dV zDE0vDafABO-=Do|d&$b-fO>V6Cwpy_PE{jDy_}h=flO^~DKq%#(peYuWn4YHgY@sm ziFVCs!=Yu@?Qp50Doja~QTC9`OA9|=Ag@8o{&|L|nlRmx4fFN(0~M?A@A!yP9j}!U z`hXcQ<2l_wPyMRrrJy$4N~o%f<;oROw$pMzWG4rrz~%Y>JVJO;0JOv<;~xq()3jJ5ck&sELSPtqx>zIe7NrA&uPe>G8ydi|@Fiu-j*F zNP>S6-6f(=SE>FH^y$t!u6xRMYe)2T2u=Qn7HLc$B#?FS1FM)ft37zWx4(5kC;K_9 zA&=O2Skbhw#0;b>oCcNyvSulLE?&tpxQ^*>NY(7y#y8zE2_iwl z9K$tDXJt`EZ$?UDQ1kOLXKeR|bFI^SPfaqm-5*Wa;2yv~UM4JhZwfZAVdZC89C+dV zL`0tlrxk?_h2T?sGmbm!_3sUOsrGV7GI+=GH}~kBgQl9Q8vT9{zrN-0Ym!d-KC2tk z2QT>hXsQ|$eVS7)2en=pL3n#OnSmeps!Cmgga+&|KA zLL`b^*JO~{E{n}Bv!4*$fGDhbomoSLC_X4aC%mD4h)TC{FD$cjcO_{B?mV4!5}*t< zaU%$VlM<8kGm6#ii;%^5Wx`+XzgyW0Z7Wr*@e3?Oe{Y%|f_HT1KU>PjBI}~73l}#z z;oj7|cR7qiDq2JQQ;yplXI@VQs(OS%ztt*rS=K(qLN&u-(o4a3N=|R9YRmVakfX_; zgQyWO0{fun>(cRAA5w59hw($qV=mkT|NGl1Ll9|zaQTzV#u)YXg11bD^m1R{TNAS< zQ7EY?L7SdS11je3CVbcFf(s6!GKMO7Y!t&GGKG#iPLo2u0GTle^8OcszHXC}QTNdt ze)~EyN*f1VWF&~aWRiP|XFB8+&%N-%*?&CZmDMu2;Wof7E3kd9_xYZZoP06+LbOix zaa(bmW87cMke4b=;gZWpel28RPOgIfRRJ_<W9?Ze zG!)7`#BO8jSt_9H#flgk0NvtfVFU1&Y4!D5bgch=q1Iy2xEJzQ7&sb*ZBBg5wpt>& zU1X=ds#R*Gz_xlo(|0SanJRv}%Cg%P{`*T2=ZHkM@TPM+)!rVMo+Ox$^`*@wq_c5^ znIV}`Fki52aT>}LPre23_VWGFQgyI6tpEW?w-XHRWkJ=vYruZw+iujerKOjgpX8eb zIG=6eS0v9hu;KQtUKQjWus0RRtql`mdz>kfbFU%uR5>V!!(C-G(>mJg6hwTz0Q}Yq zpA%}QvM|m5v-0qfxm+wAq9}C;i;Qp8lov&5cLA zY{N}^&M$fIXQ5Fl_;S~RWrgIN+Be&(+ z$K)aM?jnb!oKVSash~jp-o;lG|69LPVVp20dTXd)gsvJ(keCIdj1J;L>Y|oDJ<6sTgdyRt- zN{{Tg*sG}@LIHqG4A$Sw$2jOV{(0_~LM`nAmjD24! zu;8}0_8@r^EGcWmy=bxf&?U$*cFHNI8HgA1Q^ijmo&gkM%y-;RKpLd>Z_#3 z)jKu^&iG#hvu;3ewzO1?R>eUv23e_BH-GI`evG=es$7xOkb7`^U0)7sq_)^fuIG9- zqgyV`?c!;J{V3wHJbBOAB)P^zGs`F2YcoXf9-b9tUy<)>m=Ow=U)YpOHS+yVL#jF& zDOk;Di1q5A2xgL_AN?`x%D)=CQDA?5DyrP=E7AMA!aX{$MpY3pz)Gf$9dxNfiI(}g zKUQX4!+3{6jXWg?5qFkp|9m1hZGTqmw0{fln)0imdvm!j3g?;gEPlsz!Jv4|u`<8R zXrnbRDGOC!LM3cHZ9cBHs^2%F*mdySD=;LoIXG(~*v0-EAFqyU z{MpM0vB{7Zl}HMgkdpDnhH9~xM!hW=P5^8w1zr{4fq(=S_0+T}Cs)^wqor&;Jk%O= z7f;gV-4lz9jZAjn!xVYFz9}veh|fb}0FB^5{uF8OrZKt#FI1j_&?gNkE)Ue|0zcbs zesm~Bui!ld#=G4AldXy7T0myh!GUn~q{<(C4@wX1p$t;&Kn z6XXs(dt1YxgUSW!19eAdjUo?ii5)=R=l(fk^yo8xw2Jq{5h80v3f??53|XIm9e~&8 zjfDy>H-3$9e93jiss!xEFeOv9-&^8SK5Od9xQa0m>iZHTIjX4CH8p~&iW%iIuab;W zu%70l{pbe$9tDIw8ldAS+CC3oJj7W|%Yi-lnw0>cjua+1%e@$rt&@}({GI8lnV;^p z#tkw`cDU0lxL~A|*3Hhe6$=O2WMk+ut^RH zY?ef=-%0Tp!XbTmI9=KqZMZ)jR%jj}TKe24I~)40#OGdhZ#zQVG?9#Ul|JvcO(X52 zQZu9-P<^%7RWH{@R-vVX7R*zqyu{ z@^G@0!gN0r+F%ndT0a?5`N#v*UoI&jFh6(@1U@4|ZSieQuPo3AD-9k%HW&^c7++bz z>TI3pm<@IwS)*GReG3w{zbbZx0_62~%Dv!-xYM#>paHZ^`uR(gfQDfNbb~dcG9)vZ z9!LCb@tOB_>{~+_);!+749}`nf`8`x!-jofAXDX(?0ufP@HC^|{%)y>J;^FHet(nN zGgF3Bsi&vzt27_1e{Fun<_Y`4PwIVoV|@$e> zZN=Zhp$K1xUiqFkQ}yK*s7yJ4hi=aUSLodz6qp0NYCEL}hh>Oo1rAHRY_a0_wy$|f zI%1REu)J^go{UOeCk3rrX|;`3gVwEl4ZzK$h@Imtb-H+ z+bc#%I%%k#>mcQo-W2)iao?43r!LH|!}57@MVnN~)K#wemL1BpcXUVXkivt1pOPWa zUe~$y@B_We&hYUl{LguNd_(_^RR(iW31;L9*D9Q%bY_F?nLs)CYMDbd%s|yNEh!)5V*>9Q=-?t1o{5O^evRySzMI*d4!8;VrXsnf)6Pf z9RtS(WK|^e#c!5-g9B%0ZmJlH`t@ebnMr>msK28DhZ6O>Zl<}O_jvWIIYqPPjX`!o zbyJRI?q&-#Gr6I;!b?tYs-7G84KchBw)mP9rb|poAJ@NTL`gBO< zF|30`s#E5fHoIfV5?O|Kn1{1<{EYuha+<~0Pm!fmB7B*kAc1GlwYXGcTQuo zhno-kcj&T?~puJFC@(QKlWj1#=NmEpClqtjm-=MC@$fkfBbl>@9VSQNN*-QrCl< z=}Orve9X_+7VU^7x4pwSs#s#wK8>c2>N1aJPYq?Sy0`bx5u~pjY|qSTm9)2~O3Nz? zfbHnlV8`H<{9FM3Jj>PJo7tIU;db>bMkYz=)parpvcB;>d%OT2scf99w%uuL(C;F- zjyzoSq`7{tQ}~;4J4E?PRjd8DnyDfhvk=3y6MXhf4Bmnb-u2G*vDS!`>^wbZZ6l2B4_9j~@0k8`3bZJoF0 zpErbsLdWAut<+JbjjoNn#zL?{c5Ns7+9{oNEbNrshI%Vdego%a12|D6UViIPue}Hv zI6A9YVG;N(*-lCAuFd5Ive06Yom^hg;@5jEmkke0#OZ%zTL~_YQ;j zGAXs~6VrSvb@I_v&Jy*zeThmg;%eB^RND7IGA``AEFBh|mONwz_t1ntI`3w%6fE}z z=y%2z^?G>-de3Svr!Ho18bL}CRKtJv@0XmdI+QmuU+3+y&>le~mUZ2rYfLucy#fz? z%pE!;!Xlu260K2o&*waGz^TsYDoR!Ui7UeS3#Bi{g9qy-Q{;FS%#iuILZbFokyG;C z+s3+Z#%c=nrbbbzYKJVZGt%g&n*_a_Q4u~xi?2U0a~zoM|Co_sXDz`@X|Fx!q)hqs znW16Nb-m>y-I5J!&sJNuW*?N{jn8HSPzL}#I)cGgetL2%cHtuY(x!r6NP@Rtr1JpU zs;0)mRlK$OY<8TFmAW`4>ltOf4>BS4C%_XPERHD$>&KTOrL_u`060kB-Yl1WR^Khv z5?92@a+oRoBeQLj}zqT_vlYLCF^Pb~QS(LTnA|&IWMQo%^!L~`&5b~zgbJvGdU<;Sk zhKf19g-Lkn9Tt>7wGq9Hq4}P!-`qu|do5x^%5O!%AYmU;G+1p$q6o-I@|0BgU;t-$ z*d9h__4|t0*4r1>KNvY2PQ{;v17z=YLLdbJ81JARm%?CMlOnmBdz-8q*Iqss6pkE5 zTsY0IV?WJ?kb-QhgCB=CQv_d7YOABCy3rvaIu(u`jfK^gl^yym)pix1`||?}NK*Q(CkfDNX&CVVlh&I3z3jW# zFJ$U>Bmf^|c$Th!6%-ia;`^t9cG@=SEk1){Ru!{{Hj4IU(?H;|SG~jc2wR0nYK}Xz zRhH9HCUZO;;tj}1evk-EHK&|pH_0YOf1OHrqR+3`jUIHKt(n#L$)^PC2H(rJx9EwU zIl-YTfI8d>gN0GvK|p6>#xjHF*3%rT;?B8Umph9NVz|H~zLE~U$|@EVs*!TVv$YQE z+J~ux(+A%aw`^gE>Kyft%IUlDO@Zb}s>lq+gublR1Yb(us3PenQKoQMKgy_HWj9l- zBO~2WcpAyphq}&PG~UPFkpE<-(TJguywB(BPhV-?nR1MLO1&x|OaLTJC6Xeh_E}a- zu}B-N{#LGfffqg7Iw!GcB7<79?-p|ti@`h|@RHzvU0=#>xrLQj#WkA9Q8VwGic8B7 z)9>heH&67{DiW;asd5Kw1>2Wdu7`;dtM15T&l^6&DH!b-D;brfNRE5V@b$nOR$1I+ zGP8a}vrzPwh<-xu1We-GKPh%iRxIza2esJ{e1PtfJR+NKEZr8St4R8?{KA!ktwVlQ zO*19DI%dyUY*hHc|F<`jQD+rVHmbwVa`mxkbWb?gZ3O>gH_ugd;H_g<@E16v6}ei@ z#HG_cag?`15C6rdpUczLN~lWNCLZ{f%c?Ypb; z{1Qyng&9aC#p?y_`%rKt@%03yXJzR-9Z94l)b@yJ;6Trj9%!S55O;60^wG;z$~fJEK)~1r1_TOJT0wwr(beSA9)iTjOp%8*Jx@ z+3#<KY-HMORK*f)Q!I!+@zs78v_;_O@`ByI+`jMhEbAIP?Pg!*1WB&C`;-FuHFEz z=cCdJV{#RxWPJJ!5dqtXLPf!HJuHWVg{z2vf0^{Ud?J04KPxCJxCcs-39Xa88F(!2*#GQI1@pj6xu@ z_SRHD^%khyRM1sCj7wTvpax`p^QE3=g)2+ zJk_~B5>Ixy4q{Rm;AG*tihzMaW+V^4H;#WwoygT~2@8Y%$n0lQxbNAXA>Gcq-?D9Z z+L#p7-5$G+8Nm^7QR8@7Z1FCnMUp*F573G@xY&kCe-*bZZ{-llu6NJvNlRo@&d_QA ztzxZXc2cfIK*MpX*GFa}Qf9Z3wy$*8_JiVhM9zA~gm`~q7DE`~5|M{NzsLrSh`CUs zUkUKKD|5b!LgaTa&NNxqo{~DL6zWrL8GmOMdG<-SWv0mGeOSS9M9fEod^fBnR$_B_ zB1(^a=XQAWir>w59xf`^c<2X(iX&PIhXcs+ldC-ve|@{W5J%j-dRUAIV#F*k zI4fiZH7?S<9Z6==MR;ZQA;unHgCe&)Red>h4RLCbq2ZT%aXXe!r__w(??uX{^O6d* zk19>31mdsB-V=JaC=E*9PcP~m*?wsSbc<`iQ=_FxZ%`ZlM5U1>u7-$bH!-QWj+Sj< zGer?kg0g(8$pyFi2%G31O{E~=oA8vDa2VUJNn?dqzi#QI=5F2|K3{~sN2hJ#buLb% z4z&}r0&6IFg9z7F3V>|ic~3R$xJ-ITDT*UblhbOPnSoHt`LXA*W6TATDE4nqgV+HV z=b%^KL!c!3q*S3J9hSMe6;NOLR0Y*x&9`-Xc_{+EU`aI~r}w!cb=eF-->{PS?CjRejVG zo21=*Z#KA?*wD{$J&llYsn`&PWCVq=z&ub~3*RF(=1%pb4Vy}UMzb(N< zHY_SiDB%Q)qb#yN_^^1iF)R2>Ni*7#1#A(!u?>%-tUI36lMjVnq<)>u3_q3@`JRt$ zLYP^8v5u*II2!)()Jm0dPH+F`Q`! zj;x&YuO=avLY^I#34fY7OmZ~2;^=q&GHC+Ce6g749DoB)Y7RZ5K|`9n>(SUr^p)CY zgOx3g<=MF1l(*hW*l?ez2y<$V%byqg&lJ1JuZ)}^sZCJ}zs+brpcWt*6%Ut3Uj)WB z+clZERf|JxwD}5j7q2veF)F(+Ox{@es^J15r@y3~WklSyGF_`OgaDb5szbuU6(seO zt(R#SNK`+T>rZa(wGy)ZuUhH$`s`wM8}IC127;#)KsQHCyX?_F{rd@AcOAW%HwcqWBQYm=Tb&=P$x;UL_^{>bSJ_etR(eBc5O} z9)COm2RAB2RJZe`cNi~USxgT}mYxg8Y>kY%YKAjTFg~2aEu~KPZ4`=1nR-!BDs#uR zDU6?8K3uBnZZ3Rdyf|B+dE}P5opPrKgPKCOo22+!Z78hs{Ba*5A`>6&CFP}$6%Ymd zLqwwozGrG({3-3Q8VW*)m|rLy?m=B1Aw&QtNIGl^a0o3(tz9V++YaXx|oY!a{j*3gp;YSJ9sbAlyW zye_HfSfZ*ruHreKWyG0}-wlYi6XE z5uskTo0zB66+`MWK54qHj$ZdO(<+;z3Xl~rXF|6Ri3mzWeZvZ6zNj!)q^055&P>2< zn4}>3T9PgGsu8hNHIl|xMxKXDxzl*{g>SM;8T&?>lO=Q0w;|PR9R@$~ugl#5g~`0r z-wHGtl6KCiUNuvWeOj&5W%nX!qHi>gNzm866|j#E5*F*73W0)to2R%99ib7u9>45-DE_TtNk$@(Yn21H|RM4AxD81lay{=!d|j89(_ zpWdC5s0$ zs|R_q;S#1#jKA#nbLWjzMV$Ij`fX+>bW1T*58h%oV*07#XD@bPd@-T)+K|Jo?}FXEJLDHU0@St>2zh)xD5r7R zZmA8HEXkAaxI#jD!&Zi&f0sLiQnK)s6p`%Rjr#PHfbcyZwQD}X6x6nk zW7EOZ^zeMT0Ur8=Wzum1*sz#Vx%kXBtlc=D#vj>Iy;Xd`5kast|FO)$+PZRua>smT zieJvY<7Cv12Hi(X@nqNh)`N%(&aY_39O2#;sHv}0aHfY(QIa{|aIiwpWJ=1LH*D{&Rx zAXza=J7vngD$uw^RBw>HXnU&Ip{`=w8htCz&+<#XQ*<8f?Aq=%A1idx$VciS+okKZ zOXPkr_2$*I(wSvi>xY&@v7qkddBiHzD$)fI3p9wfp-{~-{ES&}}E5Uo_G zKnT&wr}w=Xw|Fn=2;NcJXJF|aG9E{xW2O>MiUJMN<%G7-C{)^A8Bcdl131fX@F^4n z7G91fVDxn>6mCC-trij)^d6yf;*0d9cQb@O^v4NJtF{}h#bq$C=MfXmZCWP^WBa;Q zF7dybITGxO*W=oE+-U??G;>xbZ~jBn`CeT>HB2(;Bk6b+WOQ9Rx&!@qI8(?gf)>HO zswKNX^PAp~RhQk87bdC%aMXTmC=FnGcxE8=hUDJphS94yj z-j%wS^D)fV?=YSk*h5pH>YEk-MVT?G91o<$XW7?;9p5UAh}@l|7oM?wHHP)7`7BlA za)3v&cayUvlFdZRXO1yfuHu-S|Le5wq8M^+7?;ExM8INj%zi4yWmE z$Cl2o^XN!!UK{0FU3886YzXJS!fw;BRKJW?m7ax9vi;Tmu%0% zE+7w^jyR zenwG@9YVL~W$zZRF!oDimQFidpyo~SbnsZ_&`wS~+BTufgZdKq5{H0h^twQnSA z4SUo|#}3#W`J!(a4(%MNe2Z$}oXE9UFleQqLKoQYyxiC0wI_t;ZcN%Go61LSF>2Gx za+=19&{TF|Io^3q*95qrYls7^u>bQIfwm?y8u{Zj6@hX2=X!OjMnPTKOhxXi4Yymj zRwC~`rW#=Q6nI%aE$Q{IC#4~1^NAP!lbI63Qa$r+?0LGFC$8<^V9nG7m$5opNT=WC z_5dadiiOOFL$CH2a5z`o@(ItNE-x-*2a~sQl>{0yWXcIyIngIm+tT$0H86c3r*_@$ z?*9ynD}&8z@>LQ!20i9bis#_H@9uEl2+hKgboXqD)Gwhr=%>}sPvz-Cid~?Y+L7sY z&9A2PHf0h{iwMQbfWl068%2&B(@R@FqN(e)5T5hwHY3P5SVirjVakNMXu#aew)y&h z$%5aj52$MNiM2;8vYLBurpApgo^*gKC7poe@V`ZrKWcT2NY&mkCOFPm$TW+E=o{AH^cc0G| zDoHntMyfy85Xvy7R{|(4sAOPf1=0OY9i*=L%~b#RVw}}F`+}lN=POt+7%*;+h&A~V zh>v{YJW~+}Xz2i|Axcsav#JSAC7ibrVn2Uo z*p`e$9*0YV6XTqoWd&#wiY1Hq5w|L1e@RBP``DKfbM3AYpLA54Ud!P6(|y&$Zl9Y4 ziTl3es;g-nHeIq`B>y#`3xX=|ik3=x|MQ|IU{G3ub^pdIyQg-&L_*rHl9$N3e}~H0 zmOd`UkIB9svCw$qS~;X^_*AK@xrq$hpaQ3Oh?eG{8KiX?cv?6^Ax)ZkOSnOl_7{P3 zU}io0Qt5S3_&otTt*)aQ-%@p!IRQdR5nk{5mWJyY6U^>k0{?Kp|HI2UsF#-C%=_q8$gW>r9A^rhh6OTD+6gK!O9 zHp29bjEQ|ILOkk0mC5BOWT5&r_PoI|J;E{Zcc}PNmGF3Snx?W8sV=Mp`m<~EqpiEX zlp_nBG^ZwE0Psjt!>n|*tXx;P1p2Wv0W@YsP+!t~TCnd}-z^$E)>9-A;sM|@Oc`z&Z3bYfdGmTJTh&;jYy9g?yCs!Fs9*Hfv z5GVwF82M;5|4|0hs>8+x%gGRrt=52!J_UoF1NAxz<&+M(xOthtfP1tJ+fE|b(yBtd zNlcy3^{+xz@!Ppf*zfeS3|sl4#zUE#cxTwuwa~RcA?;l6iyAuRZPlQacamAoDc14g?a^)rQ(G&2&B`%P zvc7}qPd?SKaWMHFtgFejO{{Xt2|l zZqHXR+>Ywb!IR>X{|L+90~OEL3pD?hJgMbQ>HoSR(gnljFO6LM^i!lkf9eXb$!{my zRmH@qbSuX(6e?f-{w}EsoWARk>V0F%8V;^-AEAb%8IjEV9?Mf3ok^o&#aaX8kN5R6 zG{Z{X_af5xpI5c4=XyAwTDvrj7zm_Lgc2=BKGp$=RYT*en!0><_Lq+98IXqL6ZN@ZqjN}r8NscH&q8bM5li*sL zh5_2$lCPtJ%0y<%F><}w4yw`O%TkjGy1Z1IH@N3;Z3J*HdsEm2CAEoE%8B)4rl_HGZ)>`Rv2-bkY=CDr#au!NKP_n1?J}$3O7&gIC zTU~gE^}Cq|?ji3=b>H2?>V}j4p?mu)W4?MrX7yZ#%Sn?Ir=He}K-gNYz8O6)f5x&Y zYfo+{jqNv^IMV;)xiby<&p3FwjVZg{y}P+DCT6gnbAIXwviwhUXm!W79jb5<=KI%? z|D(T)e3M?pYnV&QSYv^ZKF&5>P+}ULw0NSvB0#cGQ99JjyoA7SLtZ3 zu8^?h^hnWMR8jue1<`%rA0IL!DZg}6OE$g> z5xA*!&0fwXeX}-Cz{6s0y%AJnlOs|;QM-wEbj)*Jplxmo%XMJy|1&M3qY;% z@1suHqj>8>o(m88>Q-)_Z#$W-6|YEIK>MX=kY}&Iy}%uA!G^R4yqc)eKwM>b1?`I> z{D0P_HR?&xEbrKBb)`1Q?Tkt}X;R_SU8mL(BSKtNC&jC6g*o+YMwc8?@`s!7C*L_q znj{@go?z77IuB6%*LpV6A(lCHZJ*{pR`jLvAj-Zf-8BrspCMqxp|=gI^xXR@2Zntg zbQo_IhG>!E??|6It?ZV#oO|>XmUyESBUlHRSio*>8Xdo1vi(dW)VaF3*%}XMu)o1n#1^u8Hg+}> zqprJLrEq>c*g~DG?4Hv+xO$Ti_5UK=6Mgf7bpQTp-dZ5$txeO7E`3;ZMAa?$T)3%T zj9?#6%zil6iTp5iV z_3LkO^hd+Dgcbg!r9_Yxpia*^O3&>^zSSDn z!mwcM_RMJY2W9u2>72>){m_3+*logZ79*wJ{LcgksWbh~iRO7V%fH?-f4DW}oIBUm z6&hUl$mNd=b9e}$j_)sHxxKn!F#SK?(m(&qFlmxexQ;HbEQ}(SWGO-Fw4_WA!s&3R zXiz^iuZs`=*CgtLrPfX=>~jkbN%`*)WQ@!TIlaes3Xy$OW+f11rT}7f>G*7uo|)NC za?T>_|M8!jgN*-@XK|nf9@W^`D)0HAe(Y?mH|(48pP0dUmeNo`^=XLZorfG1@@y>( z`fX*LQP(h6j%Fs1tt@ahke&CxYx&?ni1t;3=4t}<3Lj}M44(2$aoyX;`D08Gyj+j2 zd}($Z|IwYZ;aV>Xq5!mxoxM`~PJ6XXiUR4%OLe-RbM97Eer8}*zMKYPn>2JHGIjr# zQ_Um?ty<HvstGexXkf%jk?sJC(|| z*1lbBF5Ek=z?GMqUh52ml$G6jK+3jG&`iYzyt7J zAaLWa-4oBN*K-$>Ft}e5elIJ)HACYJ>8U4oJ6ZvWa%m3C+NBE4S9~J&$eI66VogmA zY)I!%bWTz9ce>zC{S|yKtOoeMVp#r$%FCb|(_0iE$!*EqvEs`Va{DivC;a`wvuQpyt{;#V#;9=(a zN3v44-T4nb_U+>$9GrtusC&uQ&5x+ z2eQ+Fz!MHm`p&fNgz+IUDL;I6RIIkDm6Hx}j52<^ZL`;6Zn`I6;(3VsSj#Wy0eND+sQMvvFU>gE1IJZKie+OfH8PR$BF61WM@tggVcR+nVI?-o`h*6+*f5m>S2&td!d9+MsQ$Ch~9Nr*{@gT6JgU@5< z@F)aZ?Q-aWWn=i$Bu4_FAK^~_0#Ro&|8H$u6F|R9Wx%(AFK_?tzO1lf`2F>-`g>EAkb;Mu1kR@Js825}lUTM!+4RpPe~I z|3exK9POVBF;utdb9@l4Yb8HU((51jE&VPEz+R<00PX6P)xXN-i?4?N8r={0-ohBPs4|?u)|~ct^RNjx1ax!q zj9lqR)}@yKrc24BnmG_BC+5?mvy*evq(H_EUHu>2&cD`ZUHexvYx*j?O)2JtKzwL1 z#jyBwC*5srCW{{#oc}*Z(F#!p;B7!{-m6IV38M#>EF#$bVMy zs`{d<^^}b|QqAr@Zw+zaB^`%Rc(k6rJ}04)^p9!%;=7pn&NuD@U^M;iqfO|#{o{cD z!qmS!FFqc$Bv(<2rsWuKV~Ep*`}ayBJ%A9~9T@PFWO5)>`JcMWtB#8;NZXyMVKy-_ zO`7QmhtuW@9EmQOkPzOp{ildbkk8yj2FOllOx{is)7!W1=(H`+`-SqE>-Fj?G&#mo3InK8{9j&@NmW-l)v}-gouF+> z7v~-<92JH`SG-6R2KAI+fN4p@75vk*G@Kv?u4b@uLRT=<-~{YbWPn>=+LE`P?zt8; z__rc;uK$q+7uRo7WhbZb_ZQ^OD!L^R0esGwI-UpLJx2x_rI{Gx0t;<4(;5nxvyIeY!#p|XG#l50lkS}252#0J|jbrcyHomOaGF1BdM zAyn8Ge{LLM%9AtDs570A${+1j8h+C;`GfnrC0(Ld#Dbz7@Iy_gm6n*rmudN^;sCkm zTAQ>*$!@&c=8fg{oUruwDuXB2O+9vucUrB3VgW@5(#<8<<30!HA(V|V0`2#mp3qM) zRvXfemEx7F!d7%OtOW`vXP8b2=JqvThKs-;0>Q#uTRY>09h72yh1-^kM|5;2_b$j( z7nhDKVWX1dNMr3>UK*d25stb1l+yDAsPen#E}?O`&t#|aV^>i$zM?FC(m1`aPJ%x^ z7Yd*tF5K@7~G`l{{o89g>2bcl6jUNV;DeO;xsZcq;#xam9{QSUyED)R-@RfU|W zw2qZ8w*6!quzYe8y$CqGUa&>Z2kn1m@rJ|tMERglr9gwaL6(&)M^>5p zQVXRRcqE{EOa4Rd45LjqTnAm??rNYCmhPLeBe17=@z)qGu8)8VTdVHEimPf4sIAKv z(>eWN^IkxQbWOEyGaQ_OhJ551`Bm_t%})i^5$bGto%uzS8HK)vk)hKuST^1*-liX7 zT`v6hqj?WZk@u_{fj%IwcOD)O2Xm`9d8^X2*xAQT9y1uM)rqs^SFxKa<}rgEjuOl1 z9G`RsY@l^}ytaCM#q6#H1Y9n&py>ve5qTX$z8riUy%VcO=)W6?6ZsGzl(?gmf7SaS zA#$t!@{h^-ZJgBs)v!|?dAVz$S25(sq48Ui<&$;O%FAEk&%0%WrH&-B*NJ%C2TkXPewU4b4PJ;3Ws*qN2-+{GcioaQ1OH zuHUaR{Fp#r4V>i4bfoC&s__MVpE%voz7F=_y=pO$t?)9FL@mE&XL2xer<6nmi7yvL z$c1>*PdQuKj?Qj=^x9ME3Yg3r9=TF&hAw^eVoc!kXt+cvx-#W+DliVV>#NXax&_fZ z6EE)|c5U@0^ZPr}e&)CU83H&wbxPhQTtIfBPBon$?%kXjjm=?W#Is81E5VDdwFh9A`YEpv8hLq6REF99bA*)gTPUXF1o z*it!r_{gh3pa)XF>+6}-Df=2WJaPgeEB|NCHpklMXF29!zqJFtY>+3(`1Fd6IlrgS z_daL=)hZ@Vv)gQE2c&N^r_hU-qJE8=_eV4D)~ia2D)35nrCT9f#rg>#edl+?sFG$~ z%qTzp+C7bLn=-y^au1_-JjDkg?Y{<+(LtuCRKxgonQy*T1crdnXVE3u;;=>tE_j8( z_dlo;;jdg=q$ys+wm@>VqiLH}x~oV;y$^xSqk%bzT%u1N=_QG?cmtzR>H^3L?#Zmv zp7Hn8GyIN##>9!*=6Hy;RepY`5$VRi4V0pNbXqhjjBjTdwQ>!tJ{Kg&l!1}mJhPq> z0v7yN$MkonS!=z&Hw`AT1a~k0QQP??Y2+x4p+Us2zS2-`$U7|B{)YY!0;646=+_&? zie~4Vo)r?EsO9pELPt*n<>Fe%jpW%|x>kdPrlZW7!Iy?6lnq~%#3jaYDSR5fPoPc& zHvi^9p^L9a-PwH~DWAyX>>BS!vG`Do(H_$nxziy~BENIECONzg{(ZK@b$w~HD& zTQ8bwn4*y+t9+1R#3FEPfX;?c{;>>`K3<6%QzNw4pdWBl@F@=OGe~RfjIU-1_gD*F z#6?V9rXrjoRR7RGisWCNk4A8TP$!|mC}oiLiasFK5(wvaPnk$kIh zb$q#8scREM+;!Wj$w7{8S_F?DV_yJ1Y<8|$1rq@+E1oC7*2b%?iJc?x+E0sr&qGJ> zLdWlGu6)T0lvpMSYonyL_b_QOE(N)!e7^$cCx%Gsp;%H0To*6$DA;;jz-f9kHJpuj z@vQ8VfMaT5#BqNB{1C(Mnz$>A;@oTMA|-!ATklD$R!Q;QseNk`GxBwuKmaX)s3H>g zxnq_nd_mz*LXT`IPF!1i@aW6|G>0UZt}9+LQz5Q?E}}j+AolNc{+LkkBskhPhV(Ie ztI}A2-K@@h&bt6{w z?1KreY4x9fov&_O1p>iBwpE`aeUj`&!x_Mn9fX3bc9lc&+koP6w^>{gz)kmaQB=yC zp+;PbAFYqt^*3}05(FrGanmWy#MP*Bjd9;#PFrWGq!Au|SD+gNhqz(2op{#Jh{tL` z;a?^|W3Xq=(x(@rP#bL;VPuV!$zHBhT4JV;U6L9U@)eAuS^R>pHSFlBOIxbQ4+Ih< zzDx@bu`4ABoUHx)D*?RFEVEY&68R7Ytl;$+ym%Y~*4%Nzj&S3{yBXh^FLRQB30SP!`zM4$0@>56*_HUD=@@mW{?)zNRDX zliIc8<#;S0S=%d%X`4^4F42FG?A}ao)Y9Z7ae)6vIh&n>P+C^79zJ48}r`RxA zYBzSpe&YK3r3-;-g9?)adkQp`IU8snCW*(&*>;fEG&d!SUhDvC553zYW}Kz)8)!1; z2@VB&kFluDMgU$)Q-~Fb!W%yBWsLN1!o9{5JFrs@O{51NUFY%lUOMJ3{C#}-o z1jRFdm;va!{NmEbwN)SU5!<#%r@uW4zcULwenrY(8>d5St_Cbpi9Hw5thbe}&B z3h(NK(A}|oWNWkSL^vWA{Q4A7hI$yXw{hZ=97f9byNbUgk1%3vp%Q%ZFN?o+Tcuq_ zYDnPG-PFjNnI5w41|8OO*wlrVh$FVe(K5N8F7_9Ms<54haq;w@yfYmc***7-&*$!r z-a^_kPlZeXw`S?ohs2gyH+)&i=C{I<_JANpFtO^NO?nXW+;}F^&Su-n4nXWZyT%|@ zLf%W&-Hyk9mEZ$k{^&SN#g>$JpvN2-+1*LwyfRn%m(jc*{@ZBG9}Un-|-I#Y)r%*Ev%hR0iFWBHTp1YfG{!a@Q0wv$$1Qf(A$6I~fJSmo| zia%p!Fi*(aTYo06odaH=`C0B6CKCM5mk$G~6@LGiSpOeE@d1WV9jNaZO>lGaD=e)J z;G1TtD^Z*O=fK#IQW57C%&a0cVOwdnyu>rBpIfsNdyE|ur{3v&f+P(*KqGpncZO#Au_!rRZO0w98O zP0PlkZu}Dp=5r2tGNQjf$Z54d`-sk!|KyXt1X}o(x4^`Qy*HObok(x_@uVHvi83w+ zN(+hkd6*u_@Nz|?y;S#R2i`|7dRTQ0R%3Y}*A`Z`GP>R7TcMAkllc%i z3bm&yYgRhW^u$^M)$v}PYg0Ehj3%+sV{DJ;DnXQ6T{{M4Ci8cP$znSn`^~?wg3aIl zeb!AJ%SRl)tXK~--c@1FzrSAi_G(EQlv_m_Ve-bKkR2A9;QhC#}`dxp>*fV=!Ah z&Bm-@<|zgO#>3-Oz5vxcwukQqvU}veMD>t&cfr zw=uQW+8G~bN;L6H)u5BW>CF{X)n;}-%Pm60@2%>FZm3^)MGO$O4+{5&Izk{%F~wWM zOre~BL{Ic6$g005L2(!*ck@GIyZS!m?nP7WHuna>rec0dvWqn+ z``D~z?=a5DxrJcgRH1(~MpRQ?(Qb{nQZ_#-@XD=+bk4aG_Mxm-m}`at-sSDk2sS*M z-faFnZyc!`>Vlb<9eRS~o5d-+xi`D->+?KOPis^Q*^_G#j}-P^@{_3lJXL!552xzQ zqI69T3*7jcLeDgGSDdJ~FhrSsAuvQ4DtwDV&rV^!q9V1Tl#L6JYeGhC?X-4T%v;Mm%<4~>)1IxUO(^QTGwJ*D7NyiiK)BX{QqjkVv|6Zf6& zie@ivfG9rs$SY1VY<6z3O4uS_CKPpKE*FgYn%>e}s;3c1i7T&|kc^k2_EW}L_T(du z44Rw$LY{!~0#8t^^#kH}B75p-!`(H=QyVsa;f`mT;CrkyZ&~Y$e91M;;-Y=WVElAo z3{!Mf1g`j*OB!WADZOwI+Yw9Ov^tcF9a78Df)vDLXxp_G5;CR;0$jxs*Tp?^@fph` zsS!?qpj#`Vo_FhNyv;p2b9!9Gy2aS6A^hWZo2h(mM-!eS*r@7UXTdBrsN;zYpLgDn7aIlKB;$K0WTeGT%*dUMc@JGaks^45Q=!L9r~vNc zuWZTU5(_D`o9@75Id$pA z0>IhSjRLSfyQt{WX~o@n0fSrW>TR>sh^)7p)IW#qBSjYro1{ztN2CS>Cgbv*;=p>l zFpW|hc;~IwLarHLl0GRz-C@sL^;~6so9gBTc4$$kIey(DSj7eGu;o+E$)*yqf*aF4 zeD!!jL|QNpc@7I^bMBRE8o&|a@t({h z%#+-hqZ!A`Qo%QR3!$-Dh-YIXMm+G&3TdJsQb0n}vT#VE*Lx~Q|BLBroTL=5>F}-T z1oEp`YHF#8IA15v`<5d-?*e}@ZqIylktU-mSS<_#c=koZpC*4`YFwuf4AUxI8Cb8| zasV@YClvq@doygED$e=(7~Ie7qg|L0^1b&vz}P=Ua4T&gjpxZDRVUU}eQPkIxsT}$ z#ycFMY~znKVOLaw{`C4rZhG{zZ7+MxG6kWv% zCZB4o71$rWhlLA+yu})^9x%oq^f!ph+kXf_a98K zt`OBc8H$-o4b&90FN)Vg8>bVd+DNxchttlg{)(=5EB+TPD3+gEgLZ zLC|yW!bu!%?ig!1aN?Rulq@7<&vNKs%XR1j;+h|?jlVcAWr_zx8MFHC58Sg|Y@Q!m zp*z*$YTIo9(gL0H;f@T^t)Ip4##}V$Nsew@<*qSMdPZC8!u8A3IVHzENgr3q)Y`GS_xS%%*cN^SnlA%(r6anp0M0DM@dQwF&y%pum+E8PP;NkwyljQVWLS@ha#>T;*rF+oj7fx0|VduDLHF ze~gaJb6p4XPjL3cP<>PRjj;@a=JV}Cm2C2gG-+fHIV|;d3#~A^toHEM>N#0JcwsO@ z&!ttfH6ra@``DV(05DB=0vv6>0H5?(=omQD!{a0*K9BgbS{_zLV|@@Ws)C)?PSoEyF=L9;GI%{SUdGwll5iec8b2(eimbPPBpuSd zTmM4jmfzUe*|e;@S(CG&oUg0%J;u9HL8kI;N|#N=`aY#df1|S=d4!%$;0QZ9J#X8@ z0@6}O2O9}ecQixpiF3ak#skWBIo^i3EH}GZ)Vmj_HSC}Fk9zkQi@Jo=A&d}ko$=t} zDBZ*EuZ?(<^-u8Z6w_b|tRH#zn0g>1ksAGe`4QH<;EX02SrRE*e97J5 zhb4af=4E1IueBcG-VWK2#8;%Vr}q>a+pj)OH8qk~fO3lUz$5 z%%3k>&N+^yDIiu9ngp2zMg0maHm{z(Hs_1L#T=&^_ZIoAxRR*$h$zxLH`#7e^#i#A z%{LaJfd4#FVUt?D&&U2zYJ@Lbu6Vf22t;gET9RG3v=&36z2uel+P!Y*v>@H{{4)u> zHk?x1Rl>IS9ofK$6t64O@jMw-EJ+siVKpmzwi*9v_Dm1w{CD34fkps1C)d!TY4r{3 zzQ{#Oev1;5kA=A;zL=dryU@CtGpe@l0*rqb8Jy9oTfRaCssZ$;al5|@y6z--RM!=oy!qw0z%lDUUa<<$pB}vi zxg6J)x-x)cJRkaN@&hMZ5k){_xuH+?LtqQ#U~@qs#jiC90FFSer+U)WO6xf!p@3j^ z^CzdtDdxb;W{f*nzmw>bTc(nj8n*_nD_bG_Bap?L28I-x%lS(+E6=1lR(`UP zLC~hTL}HJ5y_sdAJBjXYYwNoEgQ=fYON!vy=t9Vu;p`!=vbS(Vb-&kN&D@ZN$xyLO z#r-ZrHO)=|I~?;*Si`3`#^?}ri02QBC)UhqoS^pUYkz%xs_1}n>ve1Gd`rtsT^b6T z!YfEvA_>xz7GQgY~WJ!oh1iXlUm;^$VfYA zTqPmfmB*9RllLP9_wYKX9}g3#{!uay025%qbcgy40x|>fe>|F~H^-gL#@#iI zmAvttB=#wx@Cgw~F;4zxyS@v6ZnBZ9JevuXg{aLeh%P-R|4k8;cAB1FE>{d14%yJKTX7k#GLOQXL$o z;=x;r;1&=VZ|2qd2B+`ISAe=&f&l8`GQ;945$mf zOjl>*k9@iHARe+`&CM5(t31+V$S%qq<2tlG>@>hK$P;V56clo5Z=8iErz#U#7eLb! zo$?>ad+%2A28N`C0`k-i-rbVn-Wg3zKySIH@R~Iyu=t{J&Lkd{p%oFlED7utZKF+2 z!&FU1B{Wx{9{v~Nt`}N(h3fU6e%@~eRFw@SQhYMuc*bpuOQ;v-%LVxtG4Xgm=xq%Keg6}=gsN_|iN z*zr!m+C&3CW_R`d@P-jA@#Lu4d>vl6AF*=I-r4~)AFbR zOEyY!KI7g=a1C8w6fs}Xe52tzd0cex947Xt*|jNG(~rYL+eJ>C?>*Dnz@bv}5Tc)V zO^Qt@)r;8|0S*eEccqhIjDmZIdxD)lz?m#U>&YJ6WQi?r)~uO|XQkuM6kkYH{(@W) zy*X;%L}<*mo2Wl5eM*e&zm-I;g0PyDS51A*ReCY|({m()SDQy01 z#T4C6o)2e?%5R1?myWIHWm2!Y`EQUeN&Qg`FuG(4@CD;$3;Xt=h8+7xc`Yoj@`TQD zcMt|&YhO<6aQu+&>JnZR9pE`7mDz4g2UIT|=zyzSBPIQ^=rEe~u>vk`3seDsw=k@;eFD>Wug8f8)<8@#k}T-w`n%X|qYO zT;-8>xS)P;@FvFY*GNZ#P$?m5>D-)^6-o{cBPw@^KIL&yqlqDkK|wa-TYpH8pgFoh zFLo?b_dnJJ47=^H`m7-vZ0_;JxLormHIe))*UKvEUc-Pxj9<7|h2}AWEf~Aw@T6tBmnYmW4=X?9 zzEMxG?wu4{))%j9!L0QWU4lbgL=!hq+aP@g!;DvqRz9t8?dD8Q*FxRp-f15LmDU3> z`+(K}FvB1kDoE@dWDpw97!k(t3_~ywoBCUh#sdl@Sa{=L=a=Oh_I7^i0HR^qJnZv$Iaitea%#|d97u3DiN{Q!|XNq>y zLY5i1oizxi5P@vJx>Jx~3s)%?YF$$?;gn?y%t@wRc2|i%CZX7X)w@}_8sp?r`Vq?6 zGF60PnWr1eVNpc4$T7!Ce3eRJ?~N)j>i(Ax!istsIb#f3@0Q>>eeAP--0;>bIrQFA zeY2LeWB96ZH|5ld(kfJ5)+ChiLw_}K!)=2lu*5HBzu9(z-E*pj1#d?%?$L_#0tcPW zBFw&z80{dTNuxnv8AVfzl&-bO{c^x4lC*hjTL5~A6YDTdSWW>wcOp4?JL{MJus3<> zNwl+*tc5?m=#1bRV;FmwGia?=KZ$@uxpnO)?&~R$uimLA^V$AoZN?wgHf7dF^6($A z6gn|dq(n2GHFaC;+zt$J^s-g*7QB3HT7u?1N<`*W;axURoV>mD&I>ZGbe4B1YJ&$a zpn4z@(6zV}gb+9S7}OiOSL5%tTS{!$(aYfsD!%)Pj()UzJi>bF&=Q~l4AJ+XJ`gKf z!>YfHf1vr!X-UoWR%Oo3)`~9nV^MoU*~Kt~{g+h~r&h(hskfD)fJ%k$`7(8iw3yrc>xB@^DFt7=XBfA1`@DyQu)$^fw!THlC7{Xp+~Gp z-on$xz_YuYDZjpECB+F+Axp9bpNgK^F_u6%^+A$Ji+21etZN@ZTAUHL@6uL`1DcUS zb$ZTog2`C)42Y7vUt2@cB*@`t{N)$GQBbxTjaa-6!iz-r%wqg}hSVyDlX! zgo&m5)^YlAjlaE01)`9q@fbq4hTgdLU4mo1&D!w7TiZ9;W*2z+;MzR_w2r55I7mB^ z{=Lce|TS`JQC%g(!cEi&_Jmtd0n zjZtZ6ufK2!l^^7hm?!a9K+7d0lclQ`(h5SwzVVzME_tS{gElg&rJpJL#p0v(hAl1w z6vZlX*s^5i4taN8jC(-Yr;i$0k9WHkc-G6Xg{sIk8?xYnb@z3L(P_qrim#M{H$?o@ zID=PsZ^cw$74_Wt+EX^t)zG(X5$|eB`P>?hJDVPj*{VJgl!Y3F^JzYtDzOQ5(J6P-3o! zZ0-~GeV}h>k-yuzV>tr)l;N9@mUzAI%dYH|l^O{jXdmvZ=X!%c2fOzEEw{%?LSSKq z*cbjnF%|x4I#?|U!6NK%mqw`d#cQ??v)yxiC&!!thhEEYt6Fg4`8}qpwl^)lKga3% zH9X%)1H9NNC-1FMdvAIOWGmhV> zHgbGoJzG;-{6fYl)lwGy)(90>{}`Z(g_k+Xt|D*hk3Re{z>-*+$Eqr;dWvjzmOIDW zU*yO8e6o5EYqse2#}NX&_w_(yKf~K}$sc4G+f#DRuu5;G(q&1hQ2UB0B_3;!-QVA> zY3)FUZApYE*apm1w6gu$hJY;yUMoO2wM|X%0`XpBo{e?ZxUz+N`=rlq&!4tA!IXs) zT9#hyBC`?t4w{Od5{V-MPc(9g>h#Rkila>$-^VJ&r6dmrDP&skJHehDE6# zY?hWJ<*f^WAM|6dki*)=d^+|A5hUGH-$KdTb50b7vl<@w@~=FE*VifHfk-F-x>F58 ziPb;4@Qnwk_ioR#?J*X|U|*FC!QGE{S>|hM&uz<{)Ks&=go`qrPNjH(pM2^cgeDyd zUyw^H5Y`+5h@=8lmi$0f%Y!)7kjfem5T#5%VB=0*c)cZQKSmWdT_i{+%lK`lclZ(U z4)(QmeEH|~n%r9P$l6-vqz@G6?xW471Yl!cE0<3?(EN>BmNxoNCXG<=tzy1x+Q{jx z378p+7Pja;Yms;__+&YM7u@g8hF^;x=Ijg2@5|6BrewvG*98@wwbvqS3QJ{o0e6CI zKvz@xZ(wSCJ%&9cf};6u#rRRegM>xL>n0cE!D4F75`gBtGWs_6sv5xZ8(w$J$xwrC zFp{ehk;T(4wCsv8B<&DkgaL5Hz~fUk5Ch>h?@P_)oRNEx)|$OP>@GFl(s08O!MYS+ zRbS6rgPBmZCm5ZY|AUhp!7hdq;1ki0h&ZOILdoeFVYm@HLUmYLC1zG~NjeMBxLrNm zQWifVFPl zSejeLo>&4992+@xo)6w>Sj+dJOqCO_aztzy&9;=7fSP`y9-vdg(L9}>#>e7EXWh$D zn&cUVDT)(G!UEHScD0vf^1#47IGdfn`Pxis$xyj;tGu7iFk2o4-4WhXi9tXNok~CA z&B92StLH5d;CFw(kErpD=|Ff^*bd+5#HJrlapS6_@=SNSZoK$;>faj#E@S8$qz(&H zgP9y{RTsOXb2DqyB-wP`wx6}li$ZUtQ3z9X-BmVypA%tJv#>V&#^L+JMg!2W6U(h% zILfK)kGDoAq$Zxr{loJVZDCYSt5fpB;t}>ip#U2_u4WH3QYNh#NS{56BZ5G1cj!cnK< zfZ?;yWWkgI*Oc$|_B;33@(A2#-2k`F7_J!GZIOo%@B9M|m@DvW1CQ%L!FRoZrzrlaNJYl6ea3#h3b)*}%UwFp?U(>iw(J=Wxp^Pz{iamHmjrHo0JNFbl%&_lCAvrCw7C8Bo zn;OlfU5xD>iVcz_WmqyQ?@<{pVc)A4OXk^0ip#KaEK+(RrNSO}hove={{g-B%C#mo zlv)M9&k}O>_dFR`8d~88G8_qTO*^I@Bd9C z+cb_13;{&hib+{5pBPg+z&;I$*?O8sGeoT1zO7j8*!sf5Uy7fLtK|OH@tZ^JJ@C(L z62Q+h0SXaPr0%ju6-DM(JbHJTilXad*w%ciHw*CZ>H1Qxx{)}T}xY4ICOf{c11L?zsy7d26&MY z0GEGLC+bi~qq4I&YhbVXxON&yjj+1%|LmS&h@s-Cwo$dSelvaoEYRfD+0grXyT1&i zsSuAc0eTE3`?}&>Cedx`q9r@}ecMKf&xx zl#w0t2e=g>NlET_0dVfWi`sV*D}23*(^$_L`kqz{#_sNIS=D>3C8?{ce_cb@+IV^C zGt2s`XkUN$AHNI2R=8C|83ldhhhbrxGit#Ig|<{(H;i;Imz!H&P4UXWHTOrI%o>jj z7F_-HVl!n|hh09XYic$gKTH326B>uAta0jzzf&1X{%AsGfMej9_y4NB=dK_XxgUgsOB!H}N0k45S-xpb z8lSK-Te-+xE&vCk9#X7xV05fyIrFdnU5_mqsPwD>;9tW)8r#1h>TEN41Vtw05zwiGz37?l&{Fk&q;SihR`M8VF z;1E8N`K+>wIk+PB%F-{!`X?*w?I;JM(3<`9Av@*{WzglokbgB*uK;Hti+lf3a%KC90P>FC|V#{(i{6M>*CwFy!OFX%*Rj|KNpFa>H+|Z2##V*Fg?I zg{#`RQ}m1a64jmm>~6l!J4z};`X7V+|LmpdiBAJ38h^N=!=2KnkFp zdd-h<~W=+qvk9YIr5(#4^&AM+4L<7XWDg9`EVcd@)`uS!slca~r@n*1G!p7ua zo+eJ}@)^V1xWqzPlVQ8!gJMr2Y3`v}RaMnO>r<(OqKnI{{xvfbw3sS8rw#(f_rzg&3vL5g_c*2EfqZREIM;tN1b{IjhNOE>=WF=SO86gFoJ{gF0#C5%|Iu3q`x{6ez%hQfeqhKj$f2dQzFy*J z{p^_=@94+%emwh)RQ%2N2w;QF$uap^W|MB=3I>5)|i%2wf3p&7$^O3 z@zayC>hFrhrNBtM=wb!_pl4zl{`tSKMl|8fyt%)a9FN;&$hG|KgGEJvreeC= zC90yLLflKg8j=gcZ(rChU5AmyD*rHkevZLE+#N77Kn%}kln4HJ^{Q)jqWQsnT~nY* zK7TdI_rGZp+wFYmzDb7jB423!-#xm8j0$x@Ia|QZT&%7suBd@uhU!%9gue`=26`o+ z&_?v0U!NR8i3h_~I7iB07>h&`}4s3Frd1w$BbPk`z>kaEi$Mp zD_jQ{lc50~dBs2MH=RPBTzuuGi9db%C912s{ghjywm$nV=6z--TpZUZ1imi7hEyK+ zYT9&jIyQ!uVMJQQ;*Jn1cv;%2AhGA}6Vj)8z_Ge`%KmxmcSjcIC_ap$%}h)8fu8n5 zEiIpvM)5BCZ|Z?_Sz$;{!ZN)YM#YCQPJ1hLwGB94QvcN%i= zf^TB8`j!k#T7~ZVw{A6H`r=OqU-fTG=RXN~66{vLOp9h>ozb-3A&huAv(B`wM;4RN zPrkdk3H1Bp2Yo!HAO`t~cIrJJ2IGn0cX?=Cwg2LT{qp0w=Cra~9J|os7k}&s)}jEH zxWXOjPEayBm$bFEor|{9(RTv;>+bj>o55ir>C;KRvgWdrlV-2rCiqr5sc9qDaHH_4 zONIFfsI8)eOO)?*vRAf@z}*#=i*uH4Ome9Lryf7__H=bC1k|pd$-lzp+8iFp(AA6Z zn*`MI_%YD19j`Z$n%3JDdz)x5OR$znjRL!PxNUMB2YOU*L z-;k(cvEoJ>Rz%VN;F(ToMA+Am!lGy);$C7v4t>wpL^mR|p`8s3$%v-cj1d2w^=e_1ir`zVdz^QxYCs9_&-s2QrmXnBNNu0)n z2QTl!zJ8s4x$BhH`{;9iV&~}*^e9;1RAGA2(|nOJ*0p9YbP8E)Y^BjoqD$PWSp#e1717LcGxqyUz|RtPINXJ{b@9E>oFX>GegEk5!(?FJt2+ zFwcsb_6;1+^!rP}4yjQocNVcp$3~Oa-iIdl!Rni-hvgavmyaLUmxGZm#ii5FmZiIl zhUu?>R(yD_$`H2Xm}4Sbg63O}C3~AK#?r)h4HLE}yk}47>>^cGl)>F<%a{!pC|?np z#CmaI=Hg?(9e_&Yg?)8Z{c*zKjV1A8K4+wBi_O=qjcwvJ>Z5jZo_5jl!5` z8ht>9)>($AvZiuTQkO`lb@@fb26=OMJm~WARjMjKz3ew35<#Ywep(Yu%Te(sY&$qa zjQ8=;+bP84%8c@MG;C-YVOs zPd+En2L7?kY<*t|!6n}|zg4_*gWTfZs?*lBa+7Srn6{iW3i=eI@IVg$�&D&tG(z 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 Date: Mon, 6 Apr 2020 22:09:10 +0800 Subject: [PATCH 08/28] add missing png files --- .../readme-images/example-dataset.png | Bin 0 -> 33904 bytes .../readme-images/parser-test-loader.png | Bin 0 -> 44062 bytes .../readme-images/parser-test-setting.png | Bin 0 -> 70052 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 SDKTestFramework/readme-images/example-dataset.png create mode 100644 SDKTestFramework/readme-images/parser-test-loader.png create mode 100644 SDKTestFramework/readme-images/parser-test-setting.png diff --git a/SDKTestFramework/readme-images/example-dataset.png b/SDKTestFramework/readme-images/example-dataset.png new file mode 100644 index 0000000000000000000000000000000000000000..12b03db900ddd0d7bf0303a9373f19d2013f15df GIT binary patch literal 33904 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%0DyMwzHXBP^hH#PXu~!Ta&2a8(TMY{JIYU2y)YW1 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�&D&tG(z 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 Date: Tue, 7 Apr 2020 08:41:10 +0800 Subject: [PATCH 09/28] Update README.md --- SDKTestFramework/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index a42b864..22ee235 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -212,13 +212,13 @@ With the test written (following the [Writing a Test using the SDK Test Framewor # Custom Parser Test Framework Configuration -The steps to test a custom step using the SDK Test Framework can be roughly simplified over the following steps: +The steps to test a custom parser using the SDK Test Framework can be roughly simplified over the following steps: 1. [Writing a Test using the SDK Test Framework](#writing-a-test-using-the-sdk-test-framework) 2. [Running the Test](#running-the-test) ## Writing a Test using the SDK Test Framework -In this example, we will use the Metro2 parser for the demonstration. For further details about the Metro2 parser, refer to the source code. +In this example, we will use the Json parser for the demonstration. For further details about the Metro2 parser, refer to the source code. A test consists of the following: From 209702cf496294f3b670411f885dd0831544a81b Mon Sep 17 00:00:00 2001 From: Hah Chung Khen Date: Tue, 7 Apr 2020 09:16:00 +0800 Subject: [PATCH 10/28] change of example-dataset.png --- .../readme-images/example-dataset.png | Bin 33904 -> 107382 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/SDKTestFramework/readme-images/example-dataset.png b/SDKTestFramework/readme-images/example-dataset.png index 12b03db900ddd0d7bf0303a9373f19d2013f15df..c8a3463c9a12ca3901cd84b0d026661bfbb7e7af 100644 GIT binary patch literal 107382 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 h|8XEfqqhgwcgsn(mNz2nvTtgECB Date: Tue, 7 Apr 2020 09:16:45 +0800 Subject: [PATCH 11/28] Update README.md --- SDKTestFramework/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index 22ee235..18fbb10 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -218,7 +218,7 @@ The steps to test a custom parser using the SDK Test Framework can be roughly si ## Writing a Test using the SDK Test Framework -In this example, we will use the Json parser for the demonstration. For further details about the Metro2 parser, refer to the source code. +In this example, we will use the Json parser for the demonstration. For further details about the Json parser, refer to the source code. A test consists of the following: From b13943713ef3a231a3e927ecc46d9f541914f050 Mon Sep 17 00:00:00 2001 From: Hah Chung Khen Date: Wed, 8 Apr 2020 01:00:35 +0800 Subject: [PATCH 12/28] update as per kee lim's comment --- SDKTestFramework/README.md | 41 +++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index 22ee235..55ce2c7 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -85,7 +85,7 @@ To reiterate, the SDK Test Framework is designed to replicate the above function #### Test Setting Example: -``` +``` java TestSetting setting = SDKTestFramework.createTestSetting(testSettingCreator()); ... @@ -104,7 +104,7 @@ This essentially replicates the Step Settings for the AddVAT step in Data Studio #### Test Step Example: -``` +``` java TestStep step = SDKTestFramework.createTestStep(testStepCreator()); ... @@ -127,7 +127,7 @@ This essentially replicates the AddVAT step to be tested in Data Studio as below #### Test Data Source Example: -``` +``` java List sources = SDKTestFramework.createTestDataSource(dataSourceCreator()); ... @@ -156,7 +156,7 @@ This essentially replicates the data source to the test step in Data Studio as b With [test settings](#test-setting-example), [test step](#test-step-example), and [test data source](#test-data-source-example) defined as above, build the Test Suite using the builder as follows: -``` +``` java TestSuite testSuite = TestSuite .builder() .withTestSetting(setting) @@ -169,7 +169,7 @@ TestSuite testSuite = TestSuite Executing the test suite is relatively simple using the `executeTest()` method of the TestSuite class. This returns a TestResult object on which assertions can be made. -``` +``` java TestResult result = testSuite.executeTest(OUTPUT_ID); ``` @@ -177,7 +177,7 @@ TestResult result = testSuite.executeTest(OUTPUT_ID); Assert the expected results uses the Assert class methods from [JUnit](https://junit.org/). The actual results after executing the code can be retrieved from the TestResult object produced by the execution of the Test Suite as shown above. -``` +``` java Assertions.assertEquals(3, result.getRowCount()); Assertions.assertEquals(1.175, result.getValueAt(0,0).getValue()); Assertions.assertEquals(2.35, result.getValueAt(0,1).getValue()); @@ -223,7 +223,7 @@ In this example, we will use the Json parser for the demonstration. For further A test consists of the following: 1. Defining the test parameters (through the methods prescribed in SDKTestFramework.java): - - [Pasrser Loader](#parser-loader) - [Parser Test Loader Example](#parser-test-loader-example) + - [Parser Loader](#parser-loader) - [Parser Test Loader Example](#parser-test-loader-example) - [Parser Test Setting](#parser-test-setting) - [Parser Test Setting Example](#parser-test-setting-example) - [Parser Test Data Source](#parser-test-data-source) - [Parser Test Data Source Example](#parser-test-data-source-example) @@ -272,7 +272,7 @@ To reiterate, the SDK Test Framework is designed to replicate the above function #### Parser Test Loader Example: -``` +``` java final TestParser parser = SDKTestFramework.createTestParser( parserBuilder -> parserBuilder .loadCustomParser(customParserLoader -> @@ -288,7 +288,7 @@ This essentially replicates the loading of json file into Data Studio as below: #### Parser Test Setting Example: -``` +``` java final TestParserSetting setting = SDKTestFramework.createTestParserSetting( parserSettingBuilder -> parserSettingBuilder .assignDataTypeToColumn(ParserDataType.NUMERIC, "Data Studio Link") @@ -305,7 +305,7 @@ This essentially replicates the column annotation for the Json parser in Data St #### Parser Test Data Source Example: -``` +``` java final TestParserSource source = SDKTestFramework.createTestParserSource( parserSourceBuilder -> parserSourceBuilder .loadFile("/json/example.json") @@ -320,11 +320,11 @@ This essentially replicates the data source uploaded into Data Studio as below: With [parser test loader](#parser-test-loader-example), [parser test setting](#parser-test-setting-example), and [parser test data source](#parser-test-data-source-example) defined as above, build the Test Suite using the builder as follows: -``` +``` java final ParserTestSuite testSuite = ParserTestSuiteBuilderFactory.newBuilder() .withParser(parser) .withSource(source) - .withSetting(setting) + .withSetting(setting) .build(); ``` @@ -332,21 +332,30 @@ final ParserTestSuite testSuite = ParserTestSuiteBuilderFactory.newBuilder() Executing the parser test suite is relatively simple using the `execute()` method of the ParserTestSuite class. This returns a ParserTestResult object on which assertions can be made. -``` +``` java final ParserTestResult result = testSuite.execute(); ``` ### Asserting the parser expected results -Assert the expected results uses the Assert class methods from [JUnit](https://junit.org/). The actual results after executing the code can be retrieved from the ParserTestResult object produced by the execution of the Test Suite as shown above. +The actual results after executing the code can be retrieved from the ParserTestResult object produced by the execution of the Test Suite as shown above. -``` +``` java assertThat(result.getTableDefinitions().size()).isEqualTo(1); assertThat(result.getTableDefinitionById("Customers")).isNotNull(); ``` Alternatively, you can use TableResultAssert which bundled together with SDK TestFramework. -``` +``` java TableResultAssert.assertThat(result.getTableResult("Customers")).compareOutputWithCsv("/json/example-customer-result.csv"); ``` + +**Note:** Do take note that TableResultAssert read the result using stream method. Therefore, the reading of records have to be from top to bottom. The following code snippet will throw `IllegalArgumentExcepttion` + +``` java +TableResultAssert.assertThat(result.getTableResult("tbl1")).hasValuesAtRow(10L , Arrays.asList("a", "1", "true")); +TableResultAssert.assertThat(result.getTableResult("tbl1")).hasValuesAtRow(8L , Arrays.asList("b", "2", "true")); +``` + +Hence, you need to re-execute the test suite in order to read the backtrack record. \ No newline at end of file From 480f632a386f3dd493141c0c3646993933f530eb Mon Sep 17 00:00:00 2001 From: chungkhenhah <53897209+chungkhenhah@users.noreply.github.com> Date: Wed, 8 Apr 2020 01:06:32 +0800 Subject: [PATCH 13/28] Update README.md --- SDKTestFramework/README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index f0b1bdc..4a72eb3 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -240,12 +240,12 @@ In detail, the defining of test parameters use the following methods of the SDKT - `createTestParserSource()` #### Parser Loader -The `createTestParser()` method of SDKTestFramework.java class takes a TestParserBuilder (which returns a list of TestParser.java objects) as an argument. +The `createTestParser()` method of SDKTestFramework.java class takes a TestParserBuilder (which returns a TestParser.java objects) as an argument. -The TestParserBuilder allows you to configure the parser for the test using the following methods: +The TestParserBuilder allows you to create and configure the parser for the test using the following methods: - `loadCustomParser()` - `addParserParameter()` -- `build()` - returns a list of TestParser.java object +- `build()` - returns a TestParser.java object #### Parser Test Setting The `createTestParserSetting()` method of SDKTestFramework.java class takes a ParserSettingBuilder (which returns a TestParserSetting.java object) as an argument. @@ -255,12 +255,12 @@ The ParserSettingBuilder allows you to configure the settings for the test using - `build()` - returns a TestParserSetting.java object #### Parser Test Data Source -The `createTestParserSource()` method of SDKTestFramework.java class takes a TestParserSourceBuilder (which returns a list of TestParserSource.java objects) as an argument. +The `createTestParserSource()` method of SDKTestFramework.java class takes a TestParserSourceBuilder (which returns a TestParserSource.java objects) as an argument. The TestParserSourceBuilder allows you to configure the data sources for the test using the following methods: - `loadFile()` - optional - `loadStream()` - optional -- `build()` - returns a list of TestParserSource.java objects +- `build()` - returns a TestParserSource.java object ### Demo: Json Parser Test @@ -276,7 +276,7 @@ To reiterate, the SDK Test Framework is designed to replicate the above function final TestParser parser = SDKTestFramework.createTestParser( parserBuilder -> parserBuilder .loadCustomParser(customParserLoader -> - customParserLoader.fromParserDefinition(new JsonParser())) + .customParserLoader.fromParserDefinition(new JsonParser())) .addParserParameter("&header_processing_iteration", 3L) .addParserParameter("&id_field", "Id") .build()); @@ -292,8 +292,8 @@ This essentially replicates the loading of json file into Data Studio as below: final TestParserSetting setting = SDKTestFramework.createTestParserSetting( parserSettingBuilder -> parserSettingBuilder .assignDataTypeToColumn(ParserDataType.NUMERIC, "Data Studio Link") - .assignDataTypeToColumn(ParserDataType.NUMERIC, "Id") - .assignDataTypeToColumn(ParserDataType.ALPHANUMERIC, "Name") + .assignDataTypeToColumn(ParserDataType.NUMERIC, "Id") + .assignDataTypeToColumn(ParserDataType.ALPHANUMERIC, "Name") .build() ); } @@ -358,4 +358,4 @@ TableResultAssert.assertThat(result.getTableResult("tbl1")).hasValuesAtRow(10L , TableResultAssert.assertThat(result.getTableResult("tbl1")).hasValuesAtRow(8L , Arrays.asList("b", "2", "true")); ``` -Hence, you need to re-execute the test suite in order to read the backtrack record. \ No newline at end of file +Hence, you need to re-execute the test suite in order to read the backtrack record. From 4ad053083a9797eec4daff7739d129ff3e4cc671 Mon Sep 17 00:00:00 2001 From: chungkhenhah <53897209+chungkhenhah@users.noreply.github.com> Date: Wed, 8 Apr 2020 18:57:11 +0800 Subject: [PATCH 14/28] Add files via upload --- .../readme-images/parser-test-data-source.png | Bin 45741 -> 45027 bytes .../readme-images/parser-test-loader.png | Bin 44062 -> 49209 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/SDKTestFramework/readme-images/parser-test-data-source.png b/SDKTestFramework/readme-images/parser-test-data-source.png index 4beded82261cb667015b0ca7a5d019899a6b3fb8..8b24c5c0b69bd67301aed755c1bb1e9b30fb0176 100644 GIT binary patch literal 45027 zcmd?RcT`hd^fqWOAYem81Z;qGrFRrWq_>0)5or>7??gpFML?xV35Y;QA@qb2ih_U= ziUJ9cP(*qONDGDlnfR*j>u+Y(nl+M&wqPIUHC)x>?sY=xpfl|V!yaUhn(Jo&cyeCe51%Cw59H$kxJL@ z9O%@dODY==aa3XD!=nB%9S?!Tt}8*WKM1bGti*(2qo!adT zrft8D8#j+5_x?FKeI)PPpVv1Y{=dJlJ(Smy%W~<@(Uxw^cH;L@euJ?H+U~k^^VaX< z!;h25i+}Dsb2abWpV#*u{;z-Gepf7*F>llJX#mowL1e5v$!0|8>pzdYE`iwDSsek@ zi$kK;*4m~n{25dlDU*$`OSdciI68Wh)|b0GdHcRg|7=gUeadoYxXtd=SY~?6li!D> zuDcun7a5iH9Mr`NcPrVQGg?K-*G+(^N)*JEGzR!>f0{)JQ-8kF<|^aqy{|p&r>*G{yjTFfpAz_zLKP|C))W~3G2Vp zX3V@mB{V?{_&nxcKq6K+5}WAJ!)uF5G>+=VErEuIhQTj0sjvy3-+sy-PLl=D zjnscYw|Dy73+K?htMjC)FJqPyQCs@B?HMxYSSKpFJkT!Axo3Ru+!9ZRX^a6;hQ)9w|lH{uLX-9%mqptFmGz$k+sJIs-oe#s@(WbotfXkAj1b9ZyF=wvttvM4WBSukXg$aN+AHan9@CUPnaHSO-LYU_kRw>1!TH~w!)FQ-4T=G zv{A=p5|J^1TWy-begs8inSvc=)SAAq_n&qIJ;xiJ!SWQfy!oH@u~XTGc#ocbBr;^) zVQhd%D?&${#kQ#h(- z)AGam)qis$Q=Ug+EKko&l`e;CE^SSLYZ&cPnJN!*eSFTYkqPCw6--n7~q8L7b z5sj*n{@wjQ+|(ltmLfV7i@;4y8(%vzmk_Ccjn_9XljRBET>+V4+7KIN4arr7=$w&Y zd}i-%E`;@$aj2;Ya!J^gYYG4>I@Ik^8ilHHhZhggfyPC820OC|f|ObmVM%Mrqqc!(dlh*jzBjb)qTbVk33wo#%Jw$GH8mG>Glawzb7N<$Z9ctDb|q&$7s z0PVlE-&?n5W&9m>=TmjUjD&5P5NP+EnuRo&i`!~kHKa(c3_i4Qe7?N zm%vnOdsbFAEv*82&};UCVvMlc*HTaij}ngmN=>B(?#TRooNsQ$fRRpv!H^YfM8MYq zUhJesg2e)3u92Chs>_X&@-p&Y>E)ymHAVL?81K@Tcg^KsVU!nlhUzxn@Lmy4 zuUcAZY@`5bzI3O<=i7mY>;}6rzwoU7aZ|5 zoAPU`0hIWk{q!5gZAb%?6mIBxP?A>joyO@nTd)tE#cwTec}6lE57_&h zWjv81u_JN6P{S+tpcj++_YT`5`!m_00L+Jn(p-za;LPsz>o~w`h$>PkpQZS;$l0(m zLUDFt7HR_(T1Ss{a@`cB=|lIszlJpILQ1hj1l9mL;k~^bi2IPs z-_R+YpT5`|ayW_2m3L-zw=#&62=}SzWg?5TcbsvBMc$TSSjc_8q<_+?WptW2z)YYJ zaN{HwXCu591an3NVE}gvxzEvT?cK*NgR&}zS=|7$g}OGXYg<8zL0j3%g@ZST?V4;I zzQZ1!aZ$SXmR`IIsthh@MbG`6Md4X3#U#2wV}qB zQeR2(v^n~!HH;|1=4)cN@4H&(M6Cu+s9-1ytMMD{&dcwdYa`r-SB4db+$lZ7bb~&N zj|nZ^U6B#qE`y64PUIJ)#^lvukFly>dzb9JAq`o=>n0K4BtGzxNgw>eV$-%=*@slq z7_)`C#1Op6MdFzFj|Q&0F+~<^v#3}4+J@QXGbVg<>JwGvE(sRnuX%si1?pC@<<#D{ za0d`>0WAxo;f-dOgJ$-J)xwMofC7>0!H}~3e7v1BphG`nZAT#JW5JBs%^dKu{$U$% zqql06ZfsAaSCYkfB{>gD3yP{#nO^(RYkBb{mt3d=6iGtt63NHe3H=Pn?!rcp_8yoc ztdr^4H;b<@BP^JYV-TM^yL}u{T(yyq6^fv;4{IEg8Wuk5d%zPndAW%O~REWFPrQj;zMN zI-tg>AR$tqG~rcquk$EDrA@K}Yhlmcy=L1%5_HFzdmdw##K4Rx!R=_2m9G_cr(0h9 zA5e5J!4hk15F-j=&=xAFEqple8!!l806q^gSnHyXl}#Uwl@T#E;oUcDs*9X>Fl1CJ z8><*ar~^Kg0lqcJtAGlnMctJIiTAOO48Jo%AnlOg9HlA~hZpl-ddK)|6aZ$7%IG&L z0-hwXEBc8WmHkLJpu1*cCr@%PdX@>LR- zIh+j~EEHu*W}IoQ$|I{w%2~pZPydNmS!UjprQ|{uLUC0@NaKW7K9Y0~@HPLD0Fd&T zJ-c|>hODmWa9BG?Ax#@tXd2^uj-ZwV8G|iujlT0i4Lwqw0-64l8#`Q<6cPS0i_3MC&Q$xsw_(}(e=HY`E5%)K0?(+1r5jxZ@C&PP@C z+hAGT(n{%9P|x1ZfB%XPZp;RPJNS_ZMF82|cb_a8yljx#*|&W+DvLKUGJMpACC|tp8r-uR<kz$2E0-8G8jxgvA{frB8Y8)sLz{5C+QQQZA-f0HC0>(W!VS*$)+Wq}>#n!nG+HslH$ySiDGoARC& zY&TQT0s{I_l|sGfI*PE(wP8it)%K{^E^ef7uF7I85C*PZy3W^2Nw>pNX*KmL$`Bh5 zT2lN3-p>f{K>Ijw#=2ke8mSm%dOI#?Y(!;I3?~Ft9M$xi!|HKCn>LqI!-wajXOzON zzRdJ031(@|IIg+SVy^@G+NaA@cr9b4=!1M@h-J=N`nz8hpjf3WFEj3L1KGq5BDHmZ z^Bqmw3|im73# z;fy7_^~Q$!r*G4~P~YElgj2VXyjro~o*~bCgdF*_$Op3){WWbGvp!`8;>$eJ!?Ssr zQyamOmjSG}Zw05?j-5|iwuV50QDhcEl)vON!#gq((VB*j9jj4O3ufO|R~r1n@8@_I zD@a7w&7nW9N8{9wJXTVAtQ6dB*Ofm5Gt`K$;yr!G>t^R9Z5BF; zyST27G8|xR<-S56RuoQ^cDRfhQ@rh|Fh$}VDoB~Wf9~_clo;Oakao{uYx^u^&)tbt z$z7O%{oDq{;jUHpN(WDI7ja>wR5@-dB(C-@uY7Q(ZF^gU1X&7b%-QHZSFz!pbpw9J zBusLqyg@A7qJ2>PpBm)DNy`ZVLJn(+oLRzDE^mX=VW)$kORq*WU22}?%~Se7Vfr!J zjPF?qLEk5G4Y}C~qqLTXk2GX~(13;Z3}XY#5RB-bD+w?I>S{~cN`U!+S>Rwb42iu* zmmAqdBZT3^m19I&E$+jy@Tnwf{j;Z!!Me%-|0K@5%!xia)PDk#4Tm6(xOSl~5 zYVgiCXWFXdXqtD;gg?+_{a ziY{#%k30F18P#Mm_F>B^YpF$7`V=4VoIYERlKPkSDO}i?q~+QV-Ft|#zNf}O;nuGz zLyhMZ?Axi!sY1p6jyc4l@&g%;d3l-D{14riooQZr(HR zi;-Qb9bqO5CIkb<7&(gTwfP(e;dGo)c6nS(QM{?_ho(~bzQ#c&Z1e0XC0X~~{4(2$ zU;XT@{G9#*&+z1)MN~QEkuK48)iGhJ5Ts)vNk_WNdll3ZVs9R_SUCecj!YdKavO4= zVQpEBwU`&_J2g8>7|MIfu94{3%@-VAbV}!k-sQQ^-KTGKjm%X|!APh2TGm$&2jAW} zV-;(RmWSGz>ZN~Oqr}hnYeTU!63~>H<_V3qqlCu#AyuzYEILI%8Hj1U87hxDw{*Co zYw7C+TP^vmn(cdQZ|qY2Y;0=wKTB`;dToH}?2#-G-mTcKpmp@<8D1^w-08XrfLlm;{t|3DMBMqG>Yh+q!_$~l$uL`^{nXAU!(6F7m zo5N}K4ymRFYZUF#S9)G#r+Eg1rdsrJ2O_;DZ-4lZNPk#;D5^oCPi?ZdsnL{~!fU{+ zON%r;st=~P7I_8Kd2OZC3-V>@f`%sC+`6fFf08kLeTv{Uhff{}N;PJvC~96Ry-xRE zE#d9;O!EvPo?w4q8>npOnixj$nBvIOWdln`7nw&+)ZyeVWfc88Shhe`U>M6`3vu^eW z9M30-;y;*k1B~;Pj$Jz_D-uB?AGYW?Sj_^TN3Y3yQ_7;@->V#eSE)>9$_cF=UJKcX z=AvBCJ}3ju+N~)C5d(S4tF`j>VZ(FmxL(UMoy9=Bm{lLn#2wbfFp!hv?j^JCEis_1 zF)s-bSiJZXLy6M{-znD4J(N!%Q!Kx{f+UIM&CY$?{k+TtZ?3^WClx-4I zj}q2{1}Q<@*pZ8u#MZfms(Sa@*97#Z=MD+;woBrtj6=As;dllM=%mp0U(N(MWQRuL}SUDb{H$p8%z)>Q;j}vi7Nm%r53?>@cx*KnCw= znz9y?d^D)Ne2Vl~Q#M8f4LkR(I{NJsPZNO!xuw|+EM&2xW_x>Jf#TaO6F)f}XFf!M zyWQ>vVNw1_x90KGOnXoK`r*+OX4N|R?n}?4dK5(GZl-B0xTC3xdebvmgQ88Rwk)m4 zAIKwy^(#VFQ#tB$bY!Pk2>q-5VQU8?r^>*2nI+BlPq07t7KeKfPoDhixxOj#4#vW9IAM zI8Uh6QdZ1qJ;C+&533;8Gg%%*5o_$J=lOh!PU~zQ8x*KpujrQ%it8p%0N%jP^;Wl_ zn(Un9*Gr>iIj@O_1{Ya8>OPGW?$6~3KA*}jU;I*Xr)+4H0|?!KbVdQAb{94&ranrx zrVN|voig64If@CASv;nD8oBh5A?DMPBj7kA#xAZ2Gf+Bh1~de^sd9D;_g4UwJ$9#3 zl>laIYFjw|M``z6YHDm)vfmabFF+9tGiK$@q zWj%Fku`7eX0n7xNa_JY&xDK@(`AurzG%WIoKK5y_3b=RNkW0fJQn*F{uPvzJ_efIhbxM z;%m=nntwMIK6-0oa-P8-aa3TE_2A(?eMnq+SVJvZxEusgGj&pV%& zS?9F`@rsVj0n)=ow&}QoP3iKZJ?wis90D~k98>wl7lex0y&v^W9&-qAyHu)*tae6c z8D*VIm$wql%j7!FO-dF0Fif9VFj?y~$yi`Z8f|aZ#K7lxCt|^)L77T{KH~21wB^hM zZe%F0@#E%u=z*NC@5YZpgMVQj1!Ba85t_x(MU|GbNZ~yeAaYj&japuRvOTf9d$*cW zn4TB5cO(6~slfYfhvcozjZLv?y$VDZ5N~obUF6d=2cf@a1EO-zVxfMKbwwZUD-vSr zFap`ZO@9=52CfltC?s7pyXjCeQFt3+8k7|jCBndyMtx-UF=((Nm>aAPLF-P?+OhzJ zodLMu$fBN45b2b4Q~XZrtF9nnCA+Qe$L9)lPn9eyojf88JSvAdh7p(F_K4vp^R^~P7kK4UR(ClX#>WT_?Sp0YCzd={K0#N%yi=UBd?}p3sSdzP>`VvNA3p*Y zbA@~jdVTkVG=R>PWVKN4z2WO_L(-TaJLzmHDq`0(X}9l&U|-Uu!=YkB{$CV1M81c$ zj+H_NCT^RAdcLZ@MS_u>gWYn&})Q7}3e~>-n6`H2s_~r+z^jGX(z);68SF^bHv^`BV z{>7m`cO24`<%~r<5E6N8qM4L)z8vL~IlYO}kOV5}#5nKdCMXrcB9Kiz&+RMp#1Y1` zJx!d)=6^CDLJdOD8?!s=d`AJS8}uCr7!!RB=%<(ZsDqub>y&=L?BZ*dtss6S&)~OT z$IcY8FaY5`kTnkRm#W#ZK!IjJPrVVt6i4xD@`v3|hok4enZ9U*(wUGrLSJ@1ME31ByxGF>MG+ zwF7dR#keA`kYjqmOxk`{jeAf4z@E+U!*of`-!AKCe zW0^X`K3T$a7R$+&we*&bIItvM)IRXt-EcRn`JChJho?B@KYYIUvg=@VWJ&i#??mj0 zp>eA$*`!mq@IRatu?+Y~nnnArzt{51_n$=|@U){(C33k_5}`uQXo=c_N7qJz2Dvew zan3eL_DOof#$Bt_1f_QsurHKMs|DrhCHJ7R*Jv&cc140v_*OBcc9Q&NCBE&&{Lzun zhk+4?l9bo@`rg09kIFGrej@9I9s0Oe`wPY!%K;6MI_n}LL}hYVajv{)%7k`@l5B5V zlfN&L4Y4z;2!?L9WSqQL=ae7gAAxq}-3$!7dqP1Ti7XzdZB-n?&6Hv49k|zn8(+u+ z{7ERDfB^@7(S`bwkz^~w?6qGKoh8f9E!|W{q~GM?>!ZMim6d7nARp(xxtOE7?b z4>?ltlbe@702qU~)n#uQ`uhD|qVvEZ zrwkG~#;^ZLk^?BZ&3+nO9u!}T{yVZ^@ za`wJDX>yT_i#KRT8>B5NrjNu=75Z0*pT0W9L3ot+q*KuBnx@kuZ@@}JI zxKHiuummf?w-raf+})L|>`cCK|4?8QdH8|EZ6Xf4o4$Vy#&^nq)PO#YhZP_wrE^cXWH?dR0jvh62G4+IrB4V| zbo%jeGl4b)tn}V2veUZk)QDmwezY@$5=OJaYk_>?bDo}`y-NaX%S9o zf#FUc&#vaurc_x~*FG@p)iLETU;Uqu)t&SMdM>5I2ToPikgd|UhRX#5t4G3T z{ChImFaNUio{GC5z$}jt&VSzT*_X+$@hhlR$VkOt&2vBGBNYN3Zp|3vnplk&$V%uN z$2j-?5ixIxC16e=BNr5zXs+gqmCS?%;|hqjBHHGhLT)OC+}vFWhP;T&RGJ)%D*B|r zW^eP?7zLR^JEbHe&EzQXsVopkkYO)X{Y&m*z7)Ffm;93u11=hw6+5RPTP*O`ZSEof zJ<4)$e&zi(W+G-#^9$RYFPK~ZF_5XUW*#K~Y@B=0`k$EX3NY6b*=NtELR2S0C!~&x z{;e-{J!T^8A5?FrE-as-oR8t5ZrdXv;Mw}cMKyt+%9;|(jbFRYtq(|RGv;a;i`=YU zRo~qO{?sAT8M5t!t(X1E$>N+R=5w`o8PJa$r8q9|Bd1GmAp(TWlM5qPWHphlYicYY`?-nNIBtI zq=m(#+5YL_dK0E!VQj$7LKJj(13U2h-Usv7k7~+JwO1_oyB_Z0-x|E8M*IEoH};)1 z(8GTdbgQ7ehzkCWdH1<7D13~E51u}hB&XYlLig5|g4)_fj>@zv4No}MiiqbgeYKAJ zFUD>>J-d(|K$cS8Ml^M8JUrw!)GL}lz6Wl6$lAF(MOdm8Ytp;)Ri~@f%Zi%pwxkw^ zPKK#21!RsSWUOpfb-YlnAzu71Mz8ta4wli`0YGL?`L#vNy}q+j0geH?h6@l<{Zwo} zRe&5{*~_Sg9NXWWocMkEIFj({-|2i2moF}b=l@}=-Y1F(idMg$_2ueZ{E|wHDcZP; zA0UprORFh2bo)*Xu9NXt1#X__N!^WX7$PViC4fKBl$|F&i7qW!**08?L_kfwGv(g@ z_RzZzcO*;JnzQS|Z3@Rg1b-QU1nB?;8LjCmPVNm`_qm$Pt+5Q~(eUQ?{XgLAUT!Ox7CDP^=7GB2HD}Em zjXfin0)&Cove1%Wl$22>saNVWA&q>$G@u0hqSouFQutQjNF#P^t58$+2V=Il6FcT$ zkRR*$%p@uBf;hS~HZ9jZTxEDeO;sDVuwj^cnJwt>0r6Mn?E*;6M-h3MBv|X36BcJs z$?y4!I6_Do6|{g8)tC{Q={0dlK(Fwm1qH9jPVEwysds$!T2yC>Ud$%-e$u3$rTi#NPqOG+E839n(r(;XYk zrtd5~kktW%q+JH!F$R5n9!Zeyj&}ttgr(itM>rcniH~irU26g+zoYf_g~M6V54$!h zokmg6UggtPPVM&qN_;B^!2>-hwMMcX_57n30>cLT56$&^mTAR+Cq{Y~S^MX`s)#!t z(Vfuo1=+R4GjoKzFRje!J_zn}=}e6+n(pXakZzgJG5lm%E-wCgoof%iNjfuc_#S<5xi&DOFka3vJdQiV(b~vqT+4Mc_mb!q)oeU zO_cc>GRurkDnx)fk3=%Iu!yc={pM8OmKF87w1C6Fk$JSlR&L#GVm>oof zK+86rMugXK2Cak;xdw=D1EKrSZ5i=QF887Rtw@Kw1a%)&dKxn+ zutV?{(u$kGxSX;Jv<}6(~*E)aFu0t;a93;CtJ)3d2V#?g9-9 zOK(|+z4Q)|2vl%7MtB6hGTG1mp|^K3^>+LT58-D=2@+Jj8Pu8+G2sNI6(|K@JzqUM z-y4zY(i;QDvYJ&ykbQ^hP)5YY+*dgLzAMAlE*=4Z+dbBYqN&fW^~<$4AR;#U^=={3 zRbh!HYABy$zY^sQr}ew;Z%#e5LS=sg6Ici=BI2;CG639t^ySZOSrR*PeHM?BjJtX! zj}c1tx}O2rxfebB(D5qUSlpuY>cyhb3mY6Vckp#yb3#u0{~6O&Hf@`NQTmeeZq5Ls zd$BWETK@HF9JtavAdB_R)j;8=XY;IEU>DbEv7b_f6URzczAC!Ot!O0dB)D?Vjb)Tjw&C9lfq`&fa}Drd%|AuQY(JDd`Az z5f68B849f1kyYOr>0O|Azpzh1yiyE?GVoM*l{!3qnYCg2W~v))?<45G1G-TOMaWY~ zooX4Q;5Y*W9vp1=1yWZ1EhcpPI8vaWQ~y+zAV= z##d<1qkRL3!Sf2O)Q3yj%El?%f)nl$bBxi=g1;~V}yR%+>ys& zL){Vem&0;9j{UStE1=vGCyx2Tp5Y4mT3ImlTKVR|*Gzq*%eY8p7NoV^6b0D-msR4i zb&oL7Re|!|FWUk~q`=@MmkR=TKIoKa7c5&)n*V-U3WIKvXl!sjtjzA*GTVln(#D~T z4FD>@6}WpYc{I?=O<`=kZ|VLEV#|>8=e8jEA%W3)H-9Eb$`4QbbRN=^iwv-|(Y1~Q zYR-6mG`oyW$;-SK0jNVqvU{XEk0db3cJXh+fFn#)YV99#Gz4n18K$q4>nE{3CmBRe z20U_SQn%|i9KxIL75shc!U8`YB|Lj%%=UBny}7-D;o-%xO`2k4Ri{hjr~TS)J9@dE zAQz?ExqG^X(~FfK!lfRAk79^t7r;KI8*^Q~l+gf~!_+jh$`J!hyzZ9dP8DZ6`@k4| z^$4@a|L5_FUA=0m z?QYuM9RV3@Ro*pzW;xHO6OO&!ymXkhE56g`%M^E|^XNBoolP#^k>?wFb!e06Q8{VL zW8w2`ri|p!-u^U+lFj~=i|(~d)DZXn-q0v^`Uodo{$Ns<%1B;2FOm8qR$koeWkAlW z{$Haq=J~m9GrxJ@Ix+iW7f+hmZ?=TumJ`0-E3KOJlri0S^-boSmGRGk%oHB@8Hq@% zZaD)CR@lf`rmAJ&(@n#oPm30~t{KtKXKwKMr!=2a9u`^iW+TSQqY@$7Z*G3JT`$ez z_mI5Mf!OG+5#RMq3SR8@)#F)M3m52H)qSe|k0B2VZot!w-H%ERUf)ls?G<- zanFLJ2ShQl6rqIPIvi*p@N;|n;*RI8j-ZnamN4xNx)EBY;%uXOFuRyjQeIW@v$$rviu8P%LaebSji+j zB0xl;{%Uxkk>}2weTza9%6aPOrVX9b9Ve0d(%k(AsSo^4k;#`v`W16irzD@IRbH_< zZGT5f0CMNsD`7-I=ZSyjQrHCU!uy5DKVxkOYrxfMD-}20yEeLTFfWj%k-JY*wp8i+ z^BSlH+}>$qkC^sAPlGp6xo?J=Pg!C~RCN%)q= z@yFo8%MBmdRQxa*)0kR0RmdkHF3AXC_{`^vZVl~hqJ9TJQ?@}7x|~QF7JvHl^PrC^ z!Kw+$!w%PHA+Fd;{lMqL4!2oY2vWSFor&D0LyPwVu+AMSb5HIZj6aH~cb9()MsU4o zW#1#-W@>-jRibw8#_yW*MZ~k>-C7XU4m+(DYIHDnZE9`IrLC;w*0s)aWuf3eK4LzFTKNMq}XKb)RtyLC4 zlmM3ORa+K`H_dY*#mfpvpVeG#Smp`RZA$eo=7&<0uc$ljxP{x8hHq8wcPO194UfM* zDp`y-k$Ul;7rBvWxkG07q{MhzRiVfhB7A(puStH%acHA9Q{`;)2Zg)l3f`y#~L!4W*ML*yYm&D-0V0G8gt?GKpRNi!?yESFXZEiy*j57vzR#WoxRa-~8l3MF?=`x;^6g^ulp$(n4_{SwDM-YZp_rT0dB)Oo*!wZWIg)sAP_ zzKqP;E*yNsYzmldD{k6<5!gAOyFt+$TI(5;;4wnQrbtm*h6Gl&ftFdrJ7wQX9m^Z| zl>oyMcHm9P+?T11k#<8xX`Cz*EM@Z{2|GsV(~-<2{ak0>t=f7xnxe?lnR_QB)qB)W z0(Xts=0OloYyvv&Z+Nw&t3yW$x>vi2%JLZOn7`BO>8a;RmRiHAsJ4sCrn&OA zTRSgpbeESUwI}!&H~?`0{5+}UHJ)#4L-Gdtc?x#1Tg}VGhrQc;t{L_O6L}T?ftML_r;u8Q zz#XsiG6zPpaFIEp8Ul;M-wooTH;8ovKPuwE;@Vzj-w4m!P2X|Jv7C1?D`D$m1y_uo=V)-+hoqLijM!hUiIEax4w_kQ>*77Hr%RJWp{3o)R*heU zo0yT@7I$TYc-7x4Aev~|W*LVW?vMAMJXEb(^}Nq%dOur5vAFoob!1#v-oWE4zX$ia zQ~v_MAEjo`_iCyxK^8>#$ZW@IqP+RUmcg9dOTpQ-2GUdDA%*)1bz!&7Nsu^HD0pN% z7vzfqTH~c+%*r)ntF4Q;p3&GWXaSFI2|4+14w0~7xVjmEIco<4>82iuhUsPaMN2~9 zojUBIu#$eCdFqP3BSShJ=DfamUnNedaOIF|qZR6HIApyU#b2$vH}V$g13RIkY_a*O z30#gS%(mor4m)I#@se3ln=T(T2=r^=n9-R)2I&MA76!lbDZ$oI9;IFc@F)+TylNun z*=Fk&f&nVwOoI>=#h!|T->}gZH+{44u5Cou(twUQz#f;ikJ1 zA>*bAOaQ5VNJI7)2$__AXlzi83epNf`!x$fLZ(u_)m^bGRowf!Nfk3|EUqG91c&*M zZOrf-X)cvwK=^cmf3(a-wGDEqUz;f`RWgEJxE%J#5XrYLGK*#Pv#(wgL?+0O*xQVo zbC!M>I?!p-?0IP%xM++%hL?EG+`jFjw>EnH`gzaX^9auG3>c7ITQQ$Y>|?!OO9CuZ z!-88H>iFe!L<}Y02*B@&IOYd^#4diZlIpTgo9Yj9BRP~jv0eHc|8Hj2zY6FhT%;!= z8F5JeI!XdmY4U(g-Iu6ByJuY%yfXPVz+Tq!)l`7lI1%g~YDjmABv&6QiswYm$@Ku9 z;yPs#hZZ)GwO$tERxbRDkxId))BgU7tZ9J5v9vULwVarwz{oE99rU(KSqI~Nr4NM4D4eXa-A3L?&iat1LFv z(8Kd~WBW(QB0IiG5Md2j_5H$bTX`ixO8B$4gCql!7F5wvFFR^Y{&1*Qa-YV4l>$sD zZ=7RHy(|mch6IRG6Z6#y4UX)PSE~lzbFp_FwW&2NtB=89Kem&g*9>E9^&yGGAdvKhZ7tg~ zhjalk_%u_C+3ZpZ7!h+*oMw;LL}<#kYAyWeF~(Pwv=o_HIphZq`>lUfJn`=q({n&m zw%Sg%_32Xais9jdXRLstW`F3_0XQp!U6+N!Oemt-lAm%X>S4frh0tYzfIGOP2-zDjuig!)_`K4@Y_RzZlzW*aYj0Z_RfwvV!qhU+h@$;URvx|dqsFn5dNf@hF4vQE~9O8^69AF_5w`zD>#5a3cD zDSidem*@0QwG?UU7^p}bj|q&)NiVU5UUw?l@B{4qZ!0*(P7qw&?phsmCr_2n9Luwn zwXGpY7|4AYRZOU(*WLX@pI$j=$@vpeD?f%Ow~Z{7y?t`RBNTeEGX?bDsOYv9(xMw+H9i}-Jzr}&CBm2TAL!8FnItR*cPDa>c zde2kVxxZ`lJ~5Q;_w`A$afRmZn`cSd)Z2VNd;-RWRL$~>`&DV&=!HkYW3{Z<_7SGO z$w~3Qx3q}1*}961L|=4k8ekiBk8t9GsWc9P>R9_!mTyLCS{QTZxzRbZU=Rxnlq2YB`$CQBcvnhwFN2J@~ zUnTnXY7{%Z{T>r24N4H1lNX%Rs{1gi@AiCFSms?wQF!@}Sk)s!3 zO_q128jeKZ07x=l=If85jkDomd%n54a79t1D<94&h%Am|Ai! zqZE)K`MECNs&38048~g{EcG)j%V7=%mxD~1dv6$h+p>KJ>MTWu3ROHVSdJi$D1odE zX3X-s-7G3QiS1ILBSjiglEzTMO3-4;=o77^CHGWXwM#R}7T@)_BT&lQ4k4QUkEHMp z^I^&}j#Adi`uQGm+GI^*H6kOTkQ9#pd8u1fwm12qN+=$T$lqc%# z7)|R;RIWKuJvaQK+1p@5y<`!c)71|nwG`8#>H2W5_e#uZv#=^*O;XkPQ-# z^aS7np+uKGjG$C>XM)}Jy2*3TzP&G}Hl(HT4H!kbLIQ`*Okdr4dWE4^4WU|G8Xzp$ zP&`!Ok)&HD)ea6y>=&TkSosC3$_LvbmSjsX`0V^!wgx zwr)=>m#T8b@H`S7HGzf!XStOQJ^sb_9#4M>Dv>_q5(7`$+j^5(^^3-rvQ;Tt7dXY- zO2Xc0;1!v4V|A~xvChp*MNrTBWOjxjfpvj%c^c8BeiF(;%yv_R{GA<7|H5&CxehOZ z$MnENe(wnJ_*KfZMNDAALY*@pF00Yrv`DhcLdsV^%z}n247<%=#N^;ICRo?@*{kbK zH)OuLD0!dv6)}9+m!@QUmcK%;w(FTSwy>ep(`{^Z;uo#e@SdyWAT+35#fnIfbo5PE z?iWs|bIR(u7asld?>X#w;2wv{Pk$x?JyU3%W-WO75HnyK1iAT>^YY!8IK=~(l+ea; zZPldPdEo3%uo|=}jlo&O-gXQkzDT;x6zlE0EUMRYyPAf}zeLRu$tV4DYMv)-Rk!4fD^h|ziBe3=(nEum2}CLVwNf=Dq`GcxfZKeY{Dj^#^ljBe?O*# zw`7sR@fg&hfsDAFmv+Lw#F}gJFLm%8riHoY_q|WIqg38{jCzO+yczYE2yLtU7!`%g zQPGRBPJ;{q_9h%=`tu)0|KsXD$WFwCALo|U7ZNiRz*f7?n~seycibZZglPXP}d=l^?}1;@c}tbwcgOipSPB4-)a^-t7f=oSehs8$Mp z8*NaMX#eaO@tKLZp7<%2zgh|2VG**JuCwoE!em z-c8RN%Uap-hK!9hzg0Y2#_?ZIMY#1>UGx3xGxq%N*obiXVV-sAdMyt>%sV{(XK%oc z=!cp86$(A|(;EcX@5Qm_XTycH~iwgn4kGg13s0`{>njn;Cz3@#2(~dVY}zS{LhWxfBCnWv>JQnSMfDma!i-h z8Bm6;baYj$OxDPDDGvR3yRrFfLMj3{xt*sP>sBiM-(Uck0_&YLY3l9gyibpO%1p!y z%fA2aTMOE0Xx^f))*M@=5320QUimZgfFuzM#;_z^!p4Rv!)LNha7Fli8vV%ZA?Q9A zjQ&k4@7Y7hpZ7${@^e?qIoeXuN0Z1Bb~F8gImwu{5r@)^j>hB}r!g$$z1xg;`qbRT zxyrT;sLEv=mXd;7uK`B(IbTe&!^f&f@{+v z_g7#8EBom)h*y7XGgd{8nY>rt?>9<%QJznaZn4Ntalpg~g-KmZQ>M@~8|QQN!U~t4 zWqv-V7GY>;=d-ICRAIqqJ~3l6L3nU#BqKE7sABB}o~-q2c2Y~v7X8Q};URQIZnI>& z+Dk=-_Al0!!eTihY&Y)y8@WjB4Nc}3R}G&szd}(lEFZxv=jL5|1jnkZ@<=XBj)JWw z?514fTfMjFwAMJlmaJD7D%LX%Edr%S+&Hr^RmGv`kfAk3?TnyS)X&uw&LB57hb9aa zin5zVtjw=IN5%d(Ht+>NpTLJUXAq7r?I>xVCptzGGmzcuVa3baxm>BN@VRhoX{_*B zsokrRf$Wu_St{+tqM3B=QlK7G@uD^CL$*zG7eCU9s9tSwrXFjsGypV3{WYzbM+hbE zej3+GpTTT4q(#M;bRd~>d%$V2m^_^^b5OBVHv_s92=i~LHp2np4)fzndZ5mO4x%slgq z8MWNyzGy=R-1kH7FH;5VAuZ;tWP^x}@WP5cFSv_&O!396rR#DcHFx=~63=WAt2ZPb zB%5(})2)n0o*yq&qp?@F7YF5?s4SS<8!{gOug751lL5qwv`Hm7H$UKRl;3onnQebPn?gJGIRzwyrMcIO;v0M@-Fc-SPd{dXjjI@(TGf zxZY7AYNcFKuKK3Q1Uv`x2d<ho3LU1<8w;IeFe2#wV>$>q)+D zS~=uw+ETndrskmnGi$IkU_4Xkk)m^ozn=AMp5EI^)w5aueBA0AhXgPCyD6cQB27Ta z>Gvb*$gWRcV$1w7UPeDg)$OG{ztGJG%PQ^6d;4uvoY=g*TsbvQX#4EdAc8dBj8`dh z>{NHG8MEo5v_c7GSG*qS_iO#$!k*UkVTQc}G@nD#+|m6k*7X{~Tnp8siWpZ9u)F_GhbG0g)nX!ta0me+;Y)4_nY7qacFZ!U@fYLz-IA4{ZH^mIFIK&{$Xf1%OtC>>xD zMZN&|C%kiFLURNFcjA`%wA(IaZ#sT`l|r_8Hl9|Ty5j69m#*-}!DiahIN2H8RFN-M zy-=leg{`!Q7;eAyV@aiM;%(Cbu8R9b%8jDvFU)_>*8RH&2RA(%AhSF+uRHw3hj@fY)44)V503y+ zeo;=;6eRw=+;4mRqMa5vpaP{gT=trJGI^qp7Zkh=WqJ-$PwBei?+VVt<0G;v#kW4C z4d_3+s{GsN|2>q8Tf$0dr-IX$d0`TEzR?5x22GWBa~yz)ef=wlck$62Zv3o*mIp9GCMfvE5WsH-)FO-XbAnV+F+D(wYO5g7Xfv zu2cfK@aIVtUc`>4pQKBSDS1^z)Dd6G@R00S`iOaF#r}(>fbjvB6UMZ(n0FHUzqW$j zD*$<@AC%3fUGgeR()gyg)Fn%Q)ko;aj;FfueOYnB`(KxK?;Cl~sMdVJmM;SSXsoAh zIvq9^OUHRV_-~!L6@EFK14-`{w1Oo3|8+9ob zm&ICp<3y{y&@xn}LL*}A-EE89C_B0%9N0~n$pP*W$1o|`dmH!DId(iK3q<@)iYP2OITN)fZ=v#UMj+}J5ThOY>^#F^Uv*TC!57&DVk z!db@qlIlyJYH;hA5SG}Uyg~AE!~+YK4pw;le=HKXh0H4(d}YGBx-}sr9y!NUcRW{pZ4yGc?>iYJ^ z++IHFBL{rX=#T_MLAz#=?gIPYPtR07&@IUiMPg7TX2$93@lWakD}@PdktP6xSmC1| z*;2#b-*8X=07?ctROEsrkF{AW4D^WF$-&I+Yt+s-#_5Ll>(+32z%DH^e9`h2)(p!s zZvV4HKNU54`+bgi>S}^{3fG1hP4+p~VTNZbnrb12K`AG*l$qYd1N1N)N2@9xHyt6q zj^2o=&oU0%td&2NcT67f(km%jIajSHv4yXu^VyP>X=m2x8}z?q?_gl@ zoP3?m1&QS2#vHaORHoBku)~$d{0yln&5Gut(OJpPXS)aK?Myvy3u{Px_uNa0)do_H zF}}v}nkoDdlIsLrz7Piv$^E~_dFXG&lwKh`;^cj??e;zf>VWidofJ#H>;!p4%)d(vPZVALG7w=e{Rqm&&5urZ zZ9*sT=M+#C<5`CjjSdn>x~GAUL^PY7(YA{y@Pn5xdR1@U%|$IvZQb?^wLZnBLJuG5 z+;&Ute|2E;2Jpse!4A;>RHU!F@9NOp7P`U_(8rn(6=rXrn$;Ma)bHQRI{y)V2>w}_ z<}P(d85KcNfp?zcm^*>7uE(Bn{;rqEG7%f&Sv@@Xyh?a%Ojgl&gTn~FmhUHFb7GAQ zCAK<qAl}!z>3aS6LZwp#KY>s9{oKnect6=hgTDXN(c;{DsWf?ONQEEbp z-J2eZlgNiu>I8pOzJ3r%EhqL==(xNW4>N`inCRD4NQo#qyZY5V8?|_BwhkcStU^qz z@kIRAq@YGZQRg#9JCoS1I;&(M{FlWGI#lNI0MTbNWr}v~!hWfUh`MZ*uMq&WVP%0> z4mEOVikxg5WdO{=kY8G+HeVi))vjXYLj!qXF}NG}uA_a`X0e;xCrimAw;?cF!T(V3 z7$(3#8-PQzU&WRVSPx})=4?EzziJJ0Ok#9SN{D@T%Et1IgJ||de?!}ur*b%0om-@E zF)pFcU+>&;?f#XZpui$0f4E3(PJHVJAV2h1%+TdWa~A%OwFQ#5pg`=nN^2B+vJns` zvonyKY*^1B?hEi5hJb(Du|-_`ksXWoOLFS8V`L<5X4@&+@Ph7N3_=wCjGls3_8%tD zH*bGH1W@~ns=yVY{HI$AsnSDEPFBXg$KMS;}d=VJ`PjXUR^(X;@7r6gt-AwOOheOJlQw!<_t}3cJ90E z$>E*quYTX4DSZI|&p>uzrf%L(EKOs+w8kHR!a^&R})==%wG6;EIRk5f~1E{L0RM`}w#Nyf61(6uu0Pfx9Bs z+p{@Vs2f_2J}tz-%HK}_K5Ha*^vS{_BbR*&#|RPU%p~Kb)Piy)-DU*&Uo(hId%p)N zNl@F`Ra;kD(E5!F142iy9zRv20kt((f}Klq1C(TTmn4?VD-9w`DxTpI0*R2hGIgc> zO*OH{1ENZ`tA*hM|MIF1F+7%&7YSLj;+!35HF(pA@E28Dm|^eyA!t?+@%u1(=+G%3 zxHigez5S|=nB18-Yl*cG-}}yPt*8&MmAxv`+d@?vsC%cy^CV9A2s5g;?S0;CKlgiB zKPQG}eHxe1UR`&DeukDQfT}hl;b8Xr1{mAP(->VshT3{NnU?QDA(EaI~71^(z5HfHmgjQq) zYkag-qV=wvS6gndnYfqnu`!t#jRwptf5@cl@5Ro%ci{?Ld>9EC<>*lzP^eov|BttR zS9$`oU8HU_(lA9}C<}J(T#n}dxZDWH$s8khx)SP^iluy8HscHR>AX8IR zk5q$YaqK{A!}~R>5Dq665YxYw#y3t-m!c|j<}^g9-?68oT4Y{%p`}r!P}*0wxO(GC zt3g-9-Fuc!ZEadRU+*>C{WEQ_C$L=8=}1YQR@5r{UQA9RYy5e$vZ4Z$TFCfpB<1yH zfdw*gF#LLxU6H+dTb?Yj8`31PQ?XHD!i^VVG9TcQY?x(sVK!}jywJMdUbQLVADFLK zi%oS+1REbqEQ(dbS5qAaOUvEoXdNXRs&6u4Y7-ETx^T~0i98#`QDX%^7M&`(hUD-C{YOnwzhq3VLxjn6y^QYA}ibLC~WyBXMeIc|9?T zJzmADjR?%2H2|?g^WOE>m05d*5G!(W4~{C(#1C`Wv4TupvD4}#YLv~O89Lr7qrKT; zVXC$R?#!c}y|=2Ts7IMrhbXKnqL>exS4K9Gh+c8(f0iizEJhAh~bkmQdyec?5mTD8(fInvI{NCGM&6X7hSt-u;F7X^~ z^6y+%ZWn3iOyg#u$UQReZR*0vdKaR;sghDuA6G4j<*hCk&zM1e1jqklqv)N*3_);w zBWnXyIYOFd1LsVc}{69wt0CDQToj#{h9Y+ z1FW`mn0|!v7EeUzlyd*h3u3+8}=uZa9Ai!y+cV{^>M+ zPnAF7-o`Tg<7CAicW#rNO^!#2=M>|q@8;gG#OhAL$8IHOj|GorMNQauXBlTM!w})q z5$x@Ici-3>|J%f+OIsMct*@AL`UVQoN)%{&YFEVqs==<8hQmkW1Oe_3(0*6GrTCAe z)0O!?d}0z!hX(@fgZ#@@VD#flwtbJ(JI|Xr4W7ZwmN9n)O;Drj3PUy3e3~5UvR{QY zHF#koS+@|Y`VxQkf-XSD7jq*6=EgX?iB7eU#!pdSw(QR6@2|w1j|UOG$5>B3Z}Nz9 z@bFjiLOyRyf7D$ke}>jO^PGL8W_QV{wV_n-Vbp}#y#1}KzXzfl^)A?$8@LAR$V!RuUR9(D6Y@?zm8L{cbX`FsUx>PjJY%_(nHSp3qd zMP6Bd>ok`STmZ?{=C0558&AKcxS>Fp_H%PgU;m%#*KDAiiH51Nz+D0(u1KEXj&9=2 zX*J+>N}O=aZHqrL(NBF`umV{F=B`(H`fTxdv=N(xk3wP?U)tE=JOY5Whl&|<_pRWx04NqPYnTS@; zs~CY23({7%WsTFofH0F8E0oE0>I=t{sKbs<8Ofxx>r09~rCs$<`rq>cR|JId>dXyB zYiqT^ikf)Y*vWEX1201S1HE^uJsoZ?Tn$zEd$U{o?G!7tkYP8!(#9i)`C1mt>m$nl3)KydTP0 z$eR?g^zI6*tyTBfNW9*95yKxzzO4e&j}xosk_;p#c+T4oLIy}CHmy-|(%$oz*@n{j z3BJiW8;TCKVn-~DKew$$2)dm7m(g6-lFYht=}+kU|NYuxV?G&n=ER0_t1`$F)veUx zh78D__%F(M%jSb*Fy>oVvq1P4eGw6}!M};CLPG)Kb|9W~MNh7q!9mYtKq2DS1w-eP zKvV>(r6;47rH}ZpKO`I5%kvd3ef*u74B>Z0=qLZmdo6PU(Zshf zJjJ}q4ZHH|xu3>?y!N27)u{@H2mc(${z|Q%@zGd2s346oBJ=;qCtt)~G?9tVGsvB@ zLyd5IOAlD=1F0@cTwco(ZQuWz4*vb^B^t?ll=*S*@UarT8H}fc?|}Qd{r{LGo(}K5 z;S4cV+JanzjiiJ`m4A-y=NbXyx&`t@wN@kD^fpown4!QJRl`F@ZTdFCtov$j%&#Hl zcOHnBTGa6RewV44o1`g&`9M8aB(C3BkRQ;qM3J@2%6zhsY;x{#I}<-$r1BVJB(?bp~W~ldH+| z!#Rq6$HcPKo~KQ{opX%m>qQ#U0MXm)(g^2#GGy z>dhi`aaYT)QlNYmsjI9d0`Do~tH?P&?+$r%Nt|wmg>jLe|0NmsJQrEUj&;5)>IyCn zy4CRYL@z}m)gCe?m{m$`tNkW8$PW?VQw;9jxGW91Kf3BOHuqwBT%m}wW6tcgQD>x#-}k4!M8h<=#)aGMsXL3A^%;nOUS&W#HaKq* zhpziPt@M+IEhG_<-(Kurj%!P8ohOPav3Gom64^bCx#Z_E!sd$JPd+lgW;{jwK$z^0 z%o(enVW~#Dn~$m3%q1LgxBMy=@Vuc~_S}4RB~^Vf$)$g6FlKC7P85)$qgKt@3p2KJ3&Hg?WYCv`R#j0~rUO278pdco*Jo{A2;I0tdJF+(Bq zZ}jVL3U~AO$^v8SOFM65=H$xytkJ)We9LR6oD*o6za#H)U>xW7 z(hIXj-_jW^()5AX5hjI<9Vw{gJ!ypo@@HjnOR~1xUTB4^Z@HM+aIKNR?B}dbTD>R*V-qod-_;&}oHS9M$F74`#y3(wU>0Hp;qJQ-5MD1z7L$s7V=|h zOv(sz(+lBX6hiu2oq&rzXxBNR zq!yx4gO{6Qx!dqlXe@K6|#%!E=<+v@1|p*8ih;2O?7fpHtXhN zk@UXvAuLPAaYUn4voW{H^Xf*V;5xG^RQf_lj9fALGl?)hWHh!|bfahEOR0teBt2*o zl<`a1^Px0Kl$omrN|GO`G3Px@Nf*t?rS-Qw=CWK1!FO%YSoe}Yx2b}b5?kn9CY(yD z;?9~DW|Etp$YCQIY~=;&IrLEB(l=M#0-=2EfeJ97lGfBH2BhgY0!RV>rh@RvNJD{G zuWb{~Dp_`4ac0#{Wm4Fr+L>weW#UId{hOg~V}{+iZC%@jTJhlf{L2l@OmR2NI_Ctv z{n(6kMnOnLFJ5=$NMn#Fqti+Ag4av&cwd*8ptL=KkDNJ9k)s;8psK7J&;5Hc-uEoH zRDtSo^A$eWuP<$?hAD}ZF!No3$Q|L}E6av}-eI(r1TjP`T>BR4xmUiYeSRUWQLChG zmK69EDcbLSUjhW_qLzWn5$L{Y(3jTi)Qsanu&NuSgc~uwlQns|PouXW4QcFgn z*sboNMAT`yU$?*-VmGg z5XAmzzOBi1@qR8^&qLO$c}t2XH3FntlJu8oL*iOAyIq~4PN$bvnaT1nuKp;>>-GEC zk8WuYtub+`I(4*3R+$9u_-NEa^d!~wk!GT?E~LnjICft28k_kxF-e2-^Qnu^+t>Wt zhzDvTX{z^++Mr+smGduNfamu+OoKlNo6pi~A7>D2S6i0nm=d@VlF+%jY)j4+K`!O; zmjjYib(0+ye*&Xj*1Okhc)29mMjXVT{Ns8C!%0jG?xjsnn4Q9<7|Cc{sWQMV^a=C@foJ*Ip*d)5>ho*)G>r+d5d_AK#`zX)br-f)X4lPjMxlF*if zur!iS$_#Chy_rI?&|ql;gO`j)x%A$ajX0d+Ol7CMgCCnAx5_H}H+*d6Wj$NVpfk-M z2tAd5G5uU}4Rc z$EUW|8BSQa#u9trdl_{(Z|UAlkfx1kF%{|jJ*;vLPGQ)f(}JVfGRAbTh2NHAThJ z2K_YpGVElUu$;e)xk{a7XI_ibX~_*nRAOEF(tCEPnx1);) zjB9yA^|q(>hJ?`%virgV1~;98t)rKGi0y>(T=WEg(_6kh(dT7(>?_93*lF`Stvh$B z?RyUAse6x$ssN{p^_`Geb-x{WAVquW-Z^B3TNTJ9aYFO~D36yks;LR^B|9E%$@lUe zeTA~*0*@Va$QUfS(opG(_p_|=Tu!X(y@%0%Wa9gsa=~;zGiSjAws=u684v2U&I_AbI)qCD_PbgTl za#!Hv7Ba!UH5cZ`=Nh$OkL9UoFtL@r88)d*1JUEt6}Z#M>WSkPO%jM(R!L75K$onL z!?d5qjJD+mQdn_d zJ9=$q?3*8Hq*D`gMNyQmbf1;;cGyKx2CHz#`^OuntqeEU+Puy5l?O!fq7)<9!yid7 zildK_JS;wv^1WFS>%S%Z@P9md=7Hnnj9EBdu-Y$)$W+*)SL~_~qBpc9P*nweBrig! z(c}#CTC`}+$o7}Dji0IiYLv@wGw)YyG)d}GAr@= zku-DsG?mFox*!4Q+T;CgxV5HIv2elc`Ti*+C-?5NE(nS>I)1Be$ErWD@y;Z*9%Zj& zEF)WL>ilWXj1jS_V3yG*aSb*d*yDZrMvu~@A3tHiZ|h&WroSbhY!vPWe_;!nr3c7U z!Rc-FnwKF(ea$i$6{V8E49Hm7UxLz^lS!8XK@zyv|I zu08VRm#s6)g^WcVml=ubg_l?D7OHzl$2vjgamc99%kEdf7cPH?ULO`3*!V{=7 zs7Yo&$!TZ#h?7sHLSjOvr~?FSa@&_xO!kViw}QZibIllkE}nm20v}_JPH;mjq*DBD zB84joyJ|6kEk0S2pL&V{EzH8cRPry+Zp~K^jNTXId~A4B2J(uk_sbwXJIN0)n}2f& z%h4qz@3Udi8YO3hnuIKF@~Ny6jbh~dr#;3gDS^Zr%xoSlvKHJgwNlAplWBZ44KJ3w*d^y)?8RiGYkVUY>~&g8 z=<>q_*3CaKl?WTk%=q`INza(d(uxKZ^O=~zo24_zY1fw18twK3WEHNg(KOxbCM9(K zHT46~zCnQYbs)!hPx@AlptU^W4YKL$HK?tE$ge);7$$uCz1F%X6IPjc1A^joXzx-e zA;iYc`Yegya&z^X?hEV1tHff=Oy&>$+6(b>@UbK3v)s9IF2?0 zUhGI^y!&U;ec82ilbe#Bg{LMGyU2Qv&!6^>tjFW+!Ugi+dCHV=BT)aCKL`8~T}2I; z%16a^hY}yGHq7!7+2t=juKA)-3iJ1bX>FH%6t0)5z9Rb}oZWqhI{2;r>v8nL$)#<( z1^<@XNDpMiA}FB{ckkS&A!Tenm`|(#G+ghq8EAwJa`2ez%?vP$tj6jnl`LHEQP`vw zp$bg|3exsgmD_2zen_Euc!-St#KswcC2yD-TUpfrh)moyPG0Xgh~^y`;x z8Yo2%Ny#$iV$ywVx9vq?uhE+E$EeV?c{_y=Y3_8znQjJgRn;sj*8OPqq^bSxv&#l0$;g{9P$fv0-I|u zH4T_hTx2O$BA?TzzWPplk{z2##_cR6)l5kSv{o<9oCllf z8zWh>0t`U#RopyJRhv~w>*5c)S0wvy_uv9yTXt`WU339%VIK9gLlFMWM7bI2_rSLZ z)E&jR3-7>ubD~4wbOKpWZ$EXhTv!=rHr0@)ViYuacfY2x=Sy~va1t(OD^PNub)|D4?f%~(}O^I=Wig<`!n)cq=(Rqh^C?Pi2!fv z@(QE-kY-2!kL>q>A$K8Bx7W$Su-8wlxZ%9Iurm}Czh@p52<-voGyb8 zt15Q3_P?_ffI-4lpHN%`2Op4pl|%xD7e#q@1-QvgT$_$HMS)x=P_rY;pizGTLxq*F zs=$GeGIPjaNSz&?`$VmT=C|4vKRJI&G>^JF4}6Bkyl z@ANH9`BRs0GT)D%B+;}xp02t{8Vxmz&;ff-MH5v^(=)t-tF%CMpw7uhIG<0CS(^xa zA}cPZ!veH=+?+zXeWnzcPHm}Jq%saX*27SzCb`U))b->9UBIrasu-IhA@BT8jS&bJ z@$~H4o0?AoNgkr05?|j5%t?&;7NA|wIN0ujfQp1v!Aa^E}mdfV1SbEhp?NPne;>`O_sRgMaFdLXU3`!1Qz4&2r z>YbG0BjnbNq8XdSL9R6Mss|!krK%x1S=tW{+{5k3eqW5x>n|A_su8f-D-sLQ9D+nj zE(LETwY5{6(LiVPEm)_e@sMD#3h*j+l^bbDL0a-Czg>_J5`*XywriQ zOW=UuL6X__D0W^l_&h=S6P^M?lR|N^Kf{SSna~Im?V?`IA~FYNaO!-s3HW{{N;pMk zb0S5stf6MFY?1cDF|4#L#1-DJYu}W(TiOSzRa<7Xfxy0b%!cOZ>gBL1rV3CMo2VZK(M zDD%)XCGZA1Y$q%e#L8`Fe%T|V6)=%C;fDH~Hllc^btQAh z*{Fes)T#T0lv3_3ft_Rw=0t-(A&N%-aGoRQ^aa4cjT@ZW-3&k2!s;1pwc%o&#*vyy^yin8s&B)u*hI+4OV3Q2 z7~@h4Ry)aS*UB$PlT;6}HS<4Sw5N3v{HPF3Td5fQ7RvKDvM z{j8c{qv>YPOG?@=bk>@%#m4U?Go+K5&h7mrp?HT-^%*x%(xCquq3XYEW%$icqmUxA zS-*K!%a8p8C469+6SQ90Kh_MFW#rNji#g-I|fluX$*oE>Iqo&A~sUGH7_c0Aqg z2|1L}JYy~KqRr+WV7E?F;&D)|rTTl12(RsC1-l{YWhFpY*SJkzFTPpRS>ye-VyJsw z-~%mzz-26o)E}f*VmL#g8S%|8my{T`B-03D-R_z~c8V#b&}wW2eB&5q`r)@ZGv?Zc z;DNG1O0zzKk}Hw7+ zysBjAP=j@V&)uUslZjvDqI~FPR#NspUDfOu(RPW-e`xGgol#`&y=kW(-BR14UDhVE z_k~^joeW#^nul-xu;5i%SbRfh)#QV zx}@aw;k;ynuab|l&_1s}6?-7Nvjn=;DJkbS)PZx-9i52oZ7J@Tz2o)No9kkSi!^Ox{2J%^|GEC=UYvTN13+9o@XrCC>(7eNq-s~=h6i%4WAS< zI;!pb#nSHf3ZE3rG4n|H_u8T0{6`_}hSM3zO~N%oWI*D)T+43TC6gghT=MqA76B-+nWE(XGwp-L zyXh>_8J+Qd&;-7q40)Uvh!E2ijL;@MTE@NjvPa_oXD$1@w{Bg$OuuWvgH0^`9dxI4BCBHT## zuFa9xjb~Cp;$zsc_ei#1!3R#ApP4>TJ{mNh*mT@FpX$FsEtU8}5njFr-!e$^x?NK?vatY~JVmH1VdI&2}e)oeZ%)MLPdeuSlGzI0D5 z@r|;fB=#LqdT@1@Co|CdbYe%3T{><+)S&&L)1=kYK*C!OG?Oga-8ADZ9p(~y?e|AA zK^_1lQH#y3=7Xfo?jG?V8M0LMUQ>-vpq?&vFAOD|Y|i$IUGyd0sZIaj6bTpKl7h!` zlwNk3nEcp4j~`j_vb^gBkmJ(Lg|5CYPxz=L!;n&IGZ)5R{I_KBu1b&#F$bx!O%Vu9QFd5u++#0`O*pI6T_0a02 zvOWdn^4lI~xP}o(Ffn&k`Me{^$F&l;(a<~VbaNEJKuX3&rXVJa1fGiHqu<})>@Vx* z<1_Vq%U@DJU3ApSFKO*6$t2Hdkbu$@^T6t?rFv3@3>}oRK98VHD!*}(+KeHeMwH|~ zP(tG4MD5X9HV?(FI@Rxi7w$VCchbuhl1WfXJrUX~1ImI6OsaUxWEXTTf?Fxi1U{#d zlC$xAe7g#{i!)licHKt@)eK?%mAPxalKzxH>ogBme!{yzbK9x_iBA+^@;$QhL+Ol| zNdMNl%W4bPHBWKW-PD-f5Nbihp$)MnfWBJHOlYVpe)TC|C-ClIW0;7UA6FBKT)USanU*IgWJK|1ld#)gtPLvzeL8l+bXb5x0Ue6Uz7j~3o`tmc z1hA?2NHdlf!hDX^B`Bf_mmS45uI7NAs|iSvq1WiQ7@nhi1Z>YMY@J1n;mm8BCrV<* z9ci4i11FK`9Wv^ZD%Rnmd*Qal&5N!&pr|h`AHiJbA!EuGdf;Pz$*!12e^Nyis1JJg z)R1FHtAxH5M#!^mmhv6W{I!SM>6;LVwkoia|9vGX)lQ|<4E8pK05wT`ax$cZ%rZa9 z7T}_&mW_3qB%S=QVGgiIgmms**I8M+y;5#_c$vNRdgC+dOfp1r)8~%f04BL%TVqzH z+lM8jD4>+kmojHtb!`(iV;0xqG405>#J8|B<6W*1S>tiBr0-uz~roiAN9*>KM`q#wZWcMY$|ak&t2chGG5$L3^`O;!{(oR z_G2o$dQf1yfIsLR2%<@7ZuI>`TcKxDf!_eVgXx%R4`6xs(fW<_pvdy=$abF+MkoZdkeNYsPj)KVV|%nluPN zURLo)W%oo^5l6nGB9VUJm!2Qs{%5^vr`5kk-A^Fzd3FW1vyS6*_odJ6&|IHs%l}eH zCwm=KtLNhHB0c{MqHjPA29ed4GX+0(gqwR0mD_z>;K3q?uv}r|UU1dbaRzTGUJvs` z3&q(sI`HKBCLOG+mUQ<4cxwSjS2&>Lg91I*)=hOL&q9EP9Lv6g)8S5AQN=A*pcRDKqCbr^Gau*k{k+8S zXC)fo9_!_+jeZ8}GKroR;VbEuM|{7;3zVkx67!W;gD2^;dFPR>WiWKP6xObBOm~dC zi1Quo&nd-`!fS5Jl2HG)S+r^ zAZzq~zuAir(BXa{%Gd-P*=5SLB?g-|kaK09om3@pj8CX@WS*+d#;Q^4xw>F&#=nFx zw9C!_1$BcRAEZgyXfxAff@>EF`@C8*q1j#5>!GztmWQ8Zro5I%3{>1tXuw=^DiQD; zqQpxqSP*1yO@?I(A-Vg?VPBjE^)%RP={%A9wMMiybACKfwZtdfmPWQewIG9AvCv=P z-~gOxi9fb#Dax7D& z76UhsclU{m zZ_rkvf|<7PR0*zuy-yYNoLF0)E=?~D^4)WpEOS3g-Ulx`1|AlXm$m?6I3?tD_V(6r$_*q*I9EHAkQs6RBj|aHI6gzK4x_~Jgi=0 z1C+QNR_KQc&g&%B%nZ=BJDVpj^_en>ph(c+ySUMAdiYK;M|N)i=i+E=&6GdoSwN+P z?6A##ruLxt6;HpG%9g41Cr?3#myJ2xN=A0k$^K|~>A`l{ob1Q=c*HxGVboN&A#tJp zqRXYy!pH(Q_8A$wrj~ln`YVS&rAH*-#xviIy{PWlp-r%ubCB-3R1f~V`@kF4 zgryBDaCkm8Oso)isM)e}$W`Y#^?oPPzw>Y_Y!FZ<>ZJ+oJdpBcm@u~k%n zs9z2n*^@0D`+dJG{~$KbUUn-SBqvXNRx9X9Awn@+OZL@MJsE8k$ColV$0K~(@glhK zkaQ>TRJDouqSX13%)M`sbL*OY*lhm4D43Q0=Hk~w(&=F2*g`-}jw))>;rKw=`bo&s zd{4C6Afs4-+7;b1^HU_%l$<7v(Z-}kF}d|+$+$hQ&w_t3Z(A+fs+D~}zGz^jAzkiR znJj^KbtAXnxFY;D*M^GoxWF6uV6O4Lfjm@{xcdObEr!--jrg#oWI#!~P@vXis`vem zD8GmQwM;2=EW7bB&&_7KwMnEEoTMcy`~4V0A1QrJ=oVHovJCAjc4GJOHwRzy9lq}} z5n!|B{<7&M_W=AhxT(3;wJt$?Ue@yXjog@PK5_{E`D*OO_t^f z0fG=$AS{7k6iYC&DND%6s&pgp5kg+v>*lvs)@_pyp@UGMvH75j!kzJ;sqZogQnX(#~+;)V;sDpr?Y%P2X6hw-oGuCWFAdQ zB}wt+uok&bcS8sn~J(BTdcWtEJSr6nGfI!MU%md}zPp9mbyhU>WUtyG|g z#!Qn*Pn(a}QTNM<4TE0!VyY>g2V1fO>Oijs7JV;ZsskX=+{QF%ff)c$b%GhS)_Pth z5^u3iigt~x*@JPh+x|84+*+@keHVSmelEe~j9z zXSeK1^$&o5rUuV;2I+bNw|4bw94$hq5MtF8=j4WSf1~;4-DY3#W>7`i9R>p~JhyB* zTr-ytBzT2M<2~>uarh%BA+988R6u@b_hATc_1q=F%DhlL_jU8~*mb64>zaMXNhL-& z7tSQIGyncR&5XMPwnyn=q2850D8le*YdV2jGYw|67W6NTD_BxSJpRsHnaxR zJ2bn!l%h8M@weneXYTH{x5nNwEch>EqSu8Ghlw)6tCSNpr`bnucqiqmW&St%P`zh4 zqhwPF1S2n4b3=0r|NAlhK@P+sPMha3ReAsGvUZTeSr?X=4d)ZHcf|enboKu+i~~I6 zS9eLJ10vb0VD;bf>ms5mDgHm+1QZ9oa9B z4O$*J;=ywqt^bXlJUF_KdbdaTp9;||y7Qk%PN$FZh~|)YJkZ>$x;&@<%=+J-`@gZ9 zX-8Qvnx_2s;C|lSz4w;~OwZ}Ru%5YuLh(U(<$s|)H+F`r1^>qd2iN)Uj4e+JlK&G+ zS`ftjDHr}~NSWF3KOXj*IO_ihX^U2jrc)m$qxH)A^BigR4+{m!JdvG0^rAOHwm!6S z-v5n;hOq%1s(|2#rNGMWH}NIOq}3sj`5o@>$L-2qBQLhj#fdz7KGpigp8gNeIO;;M zgMl?xa(+z@OcD1}q*OAua2Wo1U_32mh(#>H*re2{?TXAzM-Z(>mGPwt_QU{Z`>ON+ zpa(^u>m&|;QhmUCwwf1WgAl?a%%=txuOFM|c2MVdwZEdVDBaKxt}8#eEM>o_V+VY?K#U zBw=r`#^S*l%>xgp0=Plu1MKein7r;`U)S3=?FU*QRV?ToS_pPquMt6CK=wr0U>Al; zI}K8u%7*-w3#(pz-jjW{+WJ9y`(3I;(n!ek5%$EJhQCVJ4_HLXvyx3Ozn>5Ctt~2Z z>t(xbl9FmcH0c?R&41EGn?H~1b!_8`&J`{a;{iMZlMsyVkXJ=5#{@6Ict({o5By<) zAJhUBKunmp1QZBO4EIs-^%MQsha1XU=PbOFaq}+TShokFwUj&O{}dU-Rb(HgH+R(o zS`Kr^pR6j&GvRa8D9AtPU>x5|Q>Uwu!)T3T#+Tm98s!#aki39DML7&0M zu)lA9x#SDgQ1hx4+pdz;EiZ&Pr|>>^N*T}4i$J*k<28450aSQEK$+mh3Iw=Z$P6HE z!Y_Snnq7Wr90-3^7e&Lk8f=Pt#`@bbfydj1AZV zp041zSDr|e4!}~QIK)=-pKJ$}WrPKlCc?SN%d3^MenT?R`&%QG&PIWiyDq&7z{9%)_ z`~iuWQlYY#$bVI0UQnBp6X^`8N{!y&HXMN6UwIFwH+l%OHJa+@3{aOn%*HKca_&Tt zj2HafX!QoOoCxOF=*PjDZ(C-6H)A50=#K-`(j}XZHJ*;mZg`Y^;utQl|HrnvtpwBm zKJV< zE(Z&S{wX5-{~=M;Pg=$9zStXOt_sQx(gf+5t*f^lfT?htp&9y@EYQFFnVlREy?Sdz zO_DNR@QX4f)AfJ?0xIZq#Ihgy^;h{Q!%xl;VTUxKc_b%+x>oJ)yG8r;VeRzHz&dir z5lMNhNArt_==QOnbq<3P2G5oSk6jE^(x!1F%V<0OE^}r0*(U{f6h*^aIG7<+sXUqV zix)_h?&qtuaKb_Kp-L715B`4N2*^8}g@#!DB-Oe0AFt_0v<;7FF(DWC{<4u|J1EQU zAx6a9+U1g_7Tu)`Jz8RM-!B$55NI3mz@rYdNv6XA(}HsLko_snbFojk@X$Rqwf>6X zg#&(SpmG`LuEKw;78;;uJ89#zl)7gKN-@q; zZOumM&8rs0iaSy9hZ5JWEtzA#n>nf#NI<;@Ss8D6npHkqitmHrc<(rcRS?1wMQtX; z9HepDF{1`J>?Tlv-5tjT6z!X>zSv%-*>R*hzUy9z-! zjMQUC1ag6no9BRb5%8M3YHDJ{WBI6}N%vd|iPwITQF(}eOS$v)z{=dv1S}VkI=yG6 z0=0FQgI&rw-D*`2GA1NlAIMNMGWZa+=auA#^ib=mC_(tvSiozCmZA3EKa6pp8S_Le z+OxRa#O1vNMZ&S;R5Z{FrbBhV0xu#yFq-F|iR7W(|G?ZF*@i}160xsN~ldAwY~Xbu)WFRUYdd%OFd5(MU!J%n1uiDNts;Q)X;I5)5inuF+iijej z(go=TqM(40A|$W`0hJy|LT>>g>k@Po5Tr;TAW{>mkU|GV0Vz^LNhl&x0t8SXNPll| z{jYn@`|SaZ(N zCS@7N|1^=+XGJwk;sSbnj+6`KOY7_gn`No;)LB&MCMgHiE3$le-@g({bU=13X8+Oa zfK9?wRZkhZSO)<(o&~FAqZ(EAbMG3p=5liYi7f3mU|)%rxxP#(WzuB^!{UDzDdG^X z_Vxj6UZ0zeHx{n=fzO^c;SRnz>i=q#g3G2*wHNMh9%>}gUR!uNR$Ae+triA4#H+H} z@7R{yOjW$*nBRHP65z5l&X1bgx%U7pX38dOTz*+t&*2iP!g|#1135iSL03RqB>iS& zg_hS+)#cNs9|F9TRHj-)h8ATcm%g~ym1Jw^WOl#x z8h`VVxEP?G0Jy0cy%xoWIMdFcLNlbX1u@B2?}0auY1!!t(#Kc;{4h#aH}V04*v9b& z%h#eeeHJo@R4Zre13G7IaU%CFeoWPHc;5bnfctKFpvhUq;(g`cDB}+hH@` zCp5qbM3<@>IrSN?c9N@(!D}7*DD{EE=+&c*czW&ZSMQvS6agg{Gk3MvSQL^69FdP} zy2q}ZTW{r~U)QuxQ4U(|METuM{FcVxO0u#D=S0)2MVLKz_*2CfXfxiC4vn=S6)g#( zu#+at%9`t~G94L>@mZh#jKlDES!M`Z_6~LLF@QwIjINDO zAV74s3G6d%SkXLawA98$QYc}0_X=wg5CKZ#km>5v6=cJ$Sx22X4OLw{(2lf*#EI!W zK$6^2{tP{-Q*c72ZA`j;kRN<&N3&Y6A*B1t}dp%}iFf)Ff&D zZaLf`mRopBNj#Ae=4vsmokUd8R5Ct4+PYRJX&`Er`Bz?mMJtW@jkJ)^Q+_=%oV2R$ z(B$UA&l6VW4xxhjR=nupH1JGpHM}=|Gx&UbP#WC75)eNaqwOng zHB$2YAaKKHmQgAOt_fv&^&Q9v-}Eo7Y3*_qh*S~rL8^?P(4;%jCSKH+w+ui#$DZmu zn*<=0YQ&*9l#FbI)X~HtnZ)zwPlyw31oOwj7*Wj!+N^gr?u*XS9|annp@Q?R+tLkZ zs(#Ag~>i*aO_6m)`j8Qz@IA;Fr@K=JO~W*W7r0E$FX=lw4GS^WC@ z6ffKE_xv;s(Q|4V1fQIkP!>33oI1?W*OT1g9lo1nJ7uB-T{ZT}Q5b|xy1K*CX`<6*uGK66Uv<-fLpngVCe{W_J!p0xgfD7LfQsr zZ7ICBDT%l4Y^G!lOF5TdH(%msk7_RXD;7GvQWq$1vNohNO}M{6a~+G^E!M=TCI5-Q z#{f{&bUjUn{`3+>*kM4e=VfCkQb$qv5V&zVRzzqeH>+HYIdJ~9^P3_z>fv2d6Mj(6 zTus+Amx5#NFq?5EkGGoP+mIL|AI?+SVoK#2$v!z%su|($M4~BvBgH6~+_Gsun z+)Gccy?B@$_#}JA>my~$mufvus+mJZ&w`7Ng;rGe&%Kp9`TSk~t~LO()@;6BqW=5$ z4zAC$y-g^`2mj_#@l+UMuFFZTqzdS!M`S>5VaJF&-l+Izz^o(*$^lY?tmaS!Uh zjF}WJOv?w|JCPb~VrX}eely~=aP7C}i*v5aj1asKN+$T!kpsg)=2E(zSxdZE(heE$ zo>D&$e|5hSfY6yzDTY4E<|@XN`l!i{onivkc)$!k&RMneLl-f!_6>H_C#&cR5^ z3K*LUvU;$smZ{`A@aJG9Eh(ZCY==6)@+zwn^nDml+=*~&yD3%&&dG{0JQ&=yjBX?+ zsUqv$5^1Hd&RfKMkKo;&OXNI%4DK*K?7`np|F>MF*N-+~lhY#!!CW0RP5LYen$>qs z=5#w1*KAb=eDi3|}@=#0+m@#%11X;Xf6`)&QX5Y3~J+ zGP+O+5Q?gb)F7HP6-f~mADp*;JovQQzz!_rm}gtwOVLjk#)px_Yz{Z*SYUuu0&5EI zv6G@qlBH=R9=^rb+%IOPHsg!9qZS$BIi!lBG=cXi46?#WJ4u+K1L2nSPn$u7sx1jZ zbr&h16MQ=w^fGC=uy~NNg(JzgH*eIWrq6`bW}QlOqW__=+m#0abeJ8Fw$XLlL*p%T zK#P~ohwGH~S`N>TRiL3cLbF%8UFtq)(3nvAFsrk&O*HKy4$)5t6Z}(3-N_hor!+bp{>!9z?p_px!*Y*4^L8DlDjtTPH6SBO|&V2BavDuErZ{c5~kNdU5djO1q zDv;gdv69!u_7TQk^LK_cS=Z~K_LVjatgP3`q^_HUnU;D`c2~nFPjlTxW z(a;WU==R$iCHI3DciY<9&WF13C%kM{R0?({0MVV3EA$5+ic$-YxrbYl4z;Ifd*w-I zGK7$?)JDKnmkPXcW01G#_2X)=U$Z~Nj0fYK@6{4<+4ZW_%nZLfP{2@sV_F=5*11IS z?%J1)l%`AHODCfYoD6OK&=tZw>Y(HBx{y8zw(kykv>F{SCPYwo5U@%z@-{ z&|ofJGBGpWPw(;MH+$2Q0*6r_W369$=rh=z7}dr~7$H$ADr9+4^B24o%(sbuA;Tf* zt_Gwq_|+@&C1QIYEgxY^@ZJ2nEQR+OKA(@teh*R|KU4PkEL@Wa7{kKxA|9tFbmL#ri#Nq1AmcSwjjL?X|GqS9;#N z==uw;Ed43q%jA+0xGQ)EWm0)MXGmoQ)|=R}r~zF_P&7L^d|I0}u`kZw3}rpnG738k zl1FP#$P8Zy?UAmzMZYkS?|b7Ri{;ItIQjbj(!&w54n#eu^iv>3kXyda`LFrACl3i> zi7F53P4Zs^xA53TAzOuWE}T0`Vy}R!?Tl$QL;Imim*pTQ_ZwQBW{-}*WsKAgb)!D6 z!={@t1ur!KWL$uEJhQ!enroDn@wVPDF#9C*)@;Nd- z;6A5lfc7{Z*an43TR*(C2GE3k3(-vITm-TzEyf6U$l&7B7{{$j4o3yjRC6mlLH!qa zjt;H^)NCI)C99}VNGVJk)nY}4|4Jjga?d^z2rBDdt7Kk?j%xf5P4vEV_8@Sp zHjNIu4csq`r6(v`7&nJ}Uv&Me)7_$Lw}r^Dv?r(jtoG1=?hiM$S!(6)oE0lr?1?@` zs|lu5CC^oMOh;H`HYES%iZ-azv(+!pmsN_e=^;Mo{D{+~E?1xRyIf)rA2KQMQZdbp zjAJjl9H8?t^vqm}ZyPBM$8MummI^BX8;g3xM8nkcTJhP%!15UE=<*0o-^Tyq zxc5#4p;|byKiM2zD(16VLEA-l#Ot?P?W2gOG=#`zV0cy zT)J#rJzCS|(kq+0D$N}-Z$JAdkkN#&&&l$JJhdF1bMxAj_*)oasAxAfmg5I7sCit< z-_ret)F$Iqyu#NKRD*1^R_AqG{Id+JM_psLtZEozC^Jc58-Y?%vPwtsK(x!b4|neA zP|A?LYaUs_z6|HC=JPciPU+QO|J2EFB_PBE=+fg)E+{H>*KTEu+-pK5p?aju>OA7! zx(L6LGp_L9mJYB&{50KB*P+~`Ujg3V;-h;)BWC)^J&8^!g>}2+i(H>+!oV3MLk3-F z&;~4KE30j>wbj4JWtpTDA_r>FezwujrXQs`Q#>~0XbzsWREJVjV=qgj1=^7$3tu>Z&Rd2veB+sn+cw@kzNoD5?C3acy{7s z|D{icTP*je^(N6x`vfJKs(PYL;NZa0*OZ!PJ6thCL9AV@`9RhsD>uE}iNSg9IVv-_ zXv8KAWt>^CW+tYugULab@#Rpj?Z2kbeR=_%o3J9Xm+pr6?EhreIc9ZQq~v&yu?)%z z4J=un#n-`xh@0k#!9ZB36=AoHf-i9R>A^zZPlrFL!b;U_=32+}bm`#`@uX~n3JYVp z>ttZS*UTl)?1Ge)k9%AMcrD94u+4g#AE&)fWkReejcv>aFrhAXF2M$bbe@6>Bu3byAV8^q+IyyR4UkC`mFy_Y6@Gvi5`sIS6u1i7PB0Q>-o}e5P)_`8u*O619aCjQI)RjXIPB~ z01?!oGB__NXB--)j7%EogMznIxD5gL23D^-1fXlqSK7T zE@{h{P^v49@wW_IwJWguRtXy19Icj0&n%i*Q~PBQ$<#JkQ82V>#r(}$lH}c%S(N>k z(5kpyQ~?DaqD?Qp#F$X~ITu)mXf+g>7oF@yx) zEY~xREVWSkem%fkMGyc9V(fVA^~VR__* zH0~e|d=3LLlC*y^Cfr%~_Y=TV2GE@RCiUaj|6b=JiOr#omo5@6pR?*c`mb#7zI}Ax z8^AWQC;X|g*XqBh4}^Re>ZoSpJofzr%DZ|M;En+q(w-2lQ;#D?z4U(o(|7DRi~Cn4 z_5E|G@L4n)uwzWj_;#(X?y+YBS>93EDie0FB^e10?DmddGu0fE+w!Kqb_qPV)bwe> zJUolY|4#x^LJevq`&i(%C+Abs5p|!heMafd*j5!C`T2P4 z7HG}aHIG(^R}6WCmjTJ#qH)69!HS7s%l-)-XOPuEty|ZzwYiZ+bHC%RqJ<|C%n%>% zqz=p-%sui`K~}lcAJitl}PaFhjKRYf|mA~e8~C&{bx;wG!&C>!6Bxo(~trY`+4s$ zGa(KR3E}nucQhOd7l|Ov!Rd9;Vw`1C$p4?}rQZ_)iXsh%kf^ z##w5T4_a~i6BVlxG%&4jXGDv>Fj2bb#>Z(1s1bQdSamK@YS~y@Pm9{sMMryRO7=A*yg<1Slb7k`luaZ1azKZK@T-4%?1=sIZ3FA1^65JBf>w)6f zI*L_xkH6Z}fP-Y7*`MccV&x^RucLvk@`4xK-+t`s&4MEcRkB+appd` zfPs?zo}0xHCbQCibiN()IaMn3ajcAW-RSIi8Q|{-CKCEz_r#$3kKldX{K4j{Ot6;@ zB_;UWShvGk>Ol)ReT&?hSSG@9{`E2SLZ+#gI=0wYh;_dJx1C)9DgwL&P$7DxWmqPP z>z|Yf7`{9-_a@)hfD$fzygsbb^%12dvkbFD&JF-l?6wc?;(zK-Y#ieGPw8eL>h;48 z_W!E<+1z6H{Q?X=2kI2INZ4ZzPr-(QK*1x4D%+hx)C_rvdq*^~7|z^p@0*kk?)T(# fL^`*To0MTzPuptxnYmVQ4;x%F(k-}p=a2sYZTHD3 literal 45741 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 Ki-r2P?*A`4k=>U7 diff --git a/SDKTestFramework/readme-images/parser-test-loader.png b/SDKTestFramework/readme-images/parser-test-loader.png index 5e79d6c03d1b1934a672f28f7de68a95dd669a5f..638bcd2d2ea68bdde46b46a359b5a965c75e9793 100644 GIT binary patch literal 49209 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%0DyMwzHXBP^hH#PXu~!Ta&2a8(TMY{JIYU2y)YW1 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 Date: Wed, 8 Apr 2020 18:58:09 +0800 Subject: [PATCH 15/28] Delete parser-test-data-source.png --- .../readme-images/parser-test-data-source.png | Bin 45027 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 SDKTestFramework/readme-images/parser-test-data-source.png diff --git a/SDKTestFramework/readme-images/parser-test-data-source.png b/SDKTestFramework/readme-images/parser-test-data-source.png deleted file mode 100644 index 8b24c5c0b69bd67301aed755c1bb1e9b30fb0176..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45027 zcmd?RcT`hd^fqWOAYem81Z;qGrFRrWq_>0)5or>7??gpFML?xV35Y;QA@qb2ih_U= ziUJ9cP(*qONDGDlnfR*j>u+Y(nl+M&wqPIUHC)x>?sY=xpfl|V!yaUhn(Jo&cyeCe51%Cw59H$kxJL@ z9O%@dODY==aa3XD!=nB%9S?!Tt}8*WKM1bGti*(2qo!adT zrft8D8#j+5_x?FKeI)PPpVv1Y{=dJlJ(Smy%W~<@(Uxw^cH;L@euJ?H+U~k^^VaX< z!;h25i+}Dsb2abWpV#*u{;z-Gepf7*F>llJX#mowL1e5v$!0|8>pzdYE`iwDSsek@ zi$kK;*4m~n{25dlDU*$`OSdciI68Wh)|b0GdHcRg|7=gUeadoYxXtd=SY~?6li!D> zuDcun7a5iH9Mr`NcPrVQGg?K-*G+(^N)*JEGzR!>f0{)JQ-8kF<|^aqy{|p&r>*G{yjTFfpAz_zLKP|C))W~3G2Vp zX3V@mB{V?{_&nxcKq6K+5}WAJ!)uF5G>+=VErEuIhQTj0sjvy3-+sy-PLl=D zjnscYw|Dy73+K?htMjC)FJqPyQCs@B?HMxYSSKpFJkT!Axo3Ru+!9ZRX^a6;hQ)9w|lH{uLX-9%mqptFmGz$k+sJIs-oe#s@(WbotfXkAj1b9ZyF=wvttvM4WBSukXg$aN+AHan9@CUPnaHSO-LYU_kRw>1!TH~w!)FQ-4T=G zv{A=p5|J^1TWy-begs8inSvc=)SAAq_n&qIJ;xiJ!SWQfy!oH@u~XTGc#ocbBr;^) zVQhd%D?&${#kQ#h(- z)AGam)qis$Q=Ug+EKko&l`e;CE^SSLYZ&cPnJN!*eSFTYkqPCw6--n7~q8L7b z5sj*n{@wjQ+|(ltmLfV7i@;4y8(%vzmk_Ccjn_9XljRBET>+V4+7KIN4arr7=$w&Y zd}i-%E`;@$aj2;Ya!J^gYYG4>I@Ik^8ilHHhZhggfyPC820OC|f|ObmVM%Mrqqc!(dlh*jzBjb)qTbVk33wo#%Jw$GH8mG>Glawzb7N<$Z9ctDb|q&$7s z0PVlE-&?n5W&9m>=TmjUjD&5P5NP+EnuRo&i`!~kHKa(c3_i4Qe7?N zm%vnOdsbFAEv*82&};UCVvMlc*HTaij}ngmN=>B(?#TRooNsQ$fRRpv!H^YfM8MYq zUhJesg2e)3u92Chs>_X&@-p&Y>E)ymHAVL?81K@Tcg^KsVU!nlhUzxn@Lmy4 zuUcAZY@`5bzI3O<=i7mY>;}6rzwoU7aZ|5 zoAPU`0hIWk{q!5gZAb%?6mIBxP?A>joyO@nTd)tE#cwTec}6lE57_&h zWjv81u_JN6P{S+tpcj++_YT`5`!m_00L+Jn(p-za;LPsz>o~w`h$>PkpQZS;$l0(m zLUDFt7HR_(T1Ss{a@`cB=|lIszlJpILQ1hj1l9mL;k~^bi2IPs z-_R+YpT5`|ayW_2m3L-zw=#&62=}SzWg?5TcbsvBMc$TSSjc_8q<_+?WptW2z)YYJ zaN{HwXCu591an3NVE}gvxzEvT?cK*NgR&}zS=|7$g}OGXYg<8zL0j3%g@ZST?V4;I zzQZ1!aZ$SXmR`IIsthh@MbG`6Md4X3#U#2wV}qB zQeR2(v^n~!HH;|1=4)cN@4H&(M6Cu+s9-1ytMMD{&dcwdYa`r-SB4db+$lZ7bb~&N zj|nZ^U6B#qE`y64PUIJ)#^lvukFly>dzb9JAq`o=>n0K4BtGzxNgw>eV$-%=*@slq z7_)`C#1Op6MdFzFj|Q&0F+~<^v#3}4+J@QXGbVg<>JwGvE(sRnuX%si1?pC@<<#D{ za0d`>0WAxo;f-dOgJ$-J)xwMofC7>0!H}~3e7v1BphG`nZAT#JW5JBs%^dKu{$U$% zqql06ZfsAaSCYkfB{>gD3yP{#nO^(RYkBb{mt3d=6iGtt63NHe3H=Pn?!rcp_8yoc ztdr^4H;b<@BP^JYV-TM^yL}u{T(yyq6^fv;4{IEg8Wuk5d%zPndAW%O~REWFPrQj;zMN zI-tg>AR$tqG~rcquk$EDrA@K}Yhlmcy=L1%5_HFzdmdw##K4Rx!R=_2m9G_cr(0h9 zA5e5J!4hk15F-j=&=xAFEqple8!!l806q^gSnHyXl}#Uwl@T#E;oUcDs*9X>Fl1CJ z8><*ar~^Kg0lqcJtAGlnMctJIiTAOO48Jo%AnlOg9HlA~hZpl-ddK)|6aZ$7%IG&L z0-hwXEBc8WmHkLJpu1*cCr@%PdX@>LR- zIh+j~EEHu*W}IoQ$|I{w%2~pZPydNmS!UjprQ|{uLUC0@NaKW7K9Y0~@HPLD0Fd&T zJ-c|>hODmWa9BG?Ax#@tXd2^uj-ZwV8G|iujlT0i4Lwqw0-64l8#`Q<6cPS0i_3MC&Q$xsw_(}(e=HY`E5%)K0?(+1r5jxZ@C&PP@C z+hAGT(n{%9P|x1ZfB%XPZp;RPJNS_ZMF82|cb_a8yljx#*|&W+DvLKUGJMpACC|tp8r-uR<kz$2E0-8G8jxgvA{frB8Y8)sLz{5C+QQQZA-f0HC0>(W!VS*$)+Wq}>#n!nG+HslH$ySiDGoARC& zY&TQT0s{I_l|sGfI*PE(wP8it)%K{^E^ef7uF7I85C*PZy3W^2Nw>pNX*KmL$`Bh5 zT2lN3-p>f{K>Ijw#=2ke8mSm%dOI#?Y(!;I3?~Ft9M$xi!|HKCn>LqI!-wajXOzON zzRdJ031(@|IIg+SVy^@G+NaA@cr9b4=!1M@h-J=N`nz8hpjf3WFEj3L1KGq5BDHmZ z^Bqmw3|im73# z;fy7_^~Q$!r*G4~P~YElgj2VXyjro~o*~bCgdF*_$Op3){WWbGvp!`8;>$eJ!?Ssr zQyamOmjSG}Zw05?j-5|iwuV50QDhcEl)vON!#gq((VB*j9jj4O3ufO|R~r1n@8@_I zD@a7w&7nW9N8{9wJXTVAtQ6dB*Ofm5Gt`K$;yr!G>t^R9Z5BF; zyST27G8|xR<-S56RuoQ^cDRfhQ@rh|Fh$}VDoB~Wf9~_clo;Oakao{uYx^u^&)tbt z$z7O%{oDq{;jUHpN(WDI7ja>wR5@-dB(C-@uY7Q(ZF^gU1X&7b%-QHZSFz!pbpw9J zBusLqyg@A7qJ2>PpBm)DNy`ZVLJn(+oLRzDE^mX=VW)$kORq*WU22}?%~Se7Vfr!J zjPF?qLEk5G4Y}C~qqLTXk2GX~(13;Z3}XY#5RB-bD+w?I>S{~cN`U!+S>Rwb42iu* zmmAqdBZT3^m19I&E$+jy@Tnwf{j;Z!!Me%-|0K@5%!xia)PDk#4Tm6(xOSl~5 zYVgiCXWFXdXqtD;gg?+_{a ziY{#%k30F18P#Mm_F>B^YpF$7`V=4VoIYERlKPkSDO}i?q~+QV-Ft|#zNf}O;nuGz zLyhMZ?Axi!sY1p6jyc4l@&g%;d3l-D{14riooQZr(HR zi;-Qb9bqO5CIkb<7&(gTwfP(e;dGo)c6nS(QM{?_ho(~bzQ#c&Z1e0XC0X~~{4(2$ zU;XT@{G9#*&+z1)MN~QEkuK48)iGhJ5Ts)vNk_WNdll3ZVs9R_SUCecj!YdKavO4= zVQpEBwU`&_J2g8>7|MIfu94{3%@-VAbV}!k-sQQ^-KTGKjm%X|!APh2TGm$&2jAW} zV-;(RmWSGz>ZN~Oqr}hnYeTU!63~>H<_V3qqlCu#AyuzYEILI%8Hj1U87hxDw{*Co zYw7C+TP^vmn(cdQZ|qY2Y;0=wKTB`;dToH}?2#-G-mTcKpmp@<8D1^w-08XrfLlm;{t|3DMBMqG>Yh+q!_$~l$uL`^{nXAU!(6F7m zo5N}K4ymRFYZUF#S9)G#r+Eg1rdsrJ2O_;DZ-4lZNPk#;D5^oCPi?ZdsnL{~!fU{+ zON%r;st=~P7I_8Kd2OZC3-V>@f`%sC+`6fFf08kLeTv{Uhff{}N;PJvC~96Ry-xRE zE#d9;O!EvPo?w4q8>npOnixj$nBvIOWdln`7nw&+)ZyeVWfc88Shhe`U>M6`3vu^eW z9M30-;y;*k1B~;Pj$Jz_D-uB?AGYW?Sj_^TN3Y3yQ_7;@->V#eSE)>9$_cF=UJKcX z=AvBCJ}3ju+N~)C5d(S4tF`j>VZ(FmxL(UMoy9=Bm{lLn#2wbfFp!hv?j^JCEis_1 zF)s-bSiJZXLy6M{-znD4J(N!%Q!Kx{f+UIM&CY$?{k+TtZ?3^WClx-4I zj}q2{1}Q<@*pZ8u#MZfms(Sa@*97#Z=MD+;woBrtj6=As;dllM=%mp0U(N(MWQRuL}SUDb{H$p8%z)>Q;j}vi7Nm%r53?>@cx*KnCw= znz9y?d^D)Ne2Vl~Q#M8f4LkR(I{NJsPZNO!xuw|+EM&2xW_x>Jf#TaO6F)f}XFf!M zyWQ>vVNw1_x90KGOnXoK`r*+OX4N|R?n}?4dK5(GZl-B0xTC3xdebvmgQ88Rwk)m4 zAIKwy^(#VFQ#tB$bY!Pk2>q-5VQU8?r^>*2nI+BlPq07t7KeKfPoDhixxOj#4#vW9IAM zI8Uh6QdZ1qJ;C+&533;8Gg%%*5o_$J=lOh!PU~zQ8x*KpujrQ%it8p%0N%jP^;Wl_ zn(Un9*Gr>iIj@O_1{Ya8>OPGW?$6~3KA*}jU;I*Xr)+4H0|?!KbVdQAb{94&ranrx zrVN|voig64If@CASv;nD8oBh5A?DMPBj7kA#xAZ2Gf+Bh1~de^sd9D;_g4UwJ$9#3 zl>laIYFjw|M``z6YHDm)vfmabFF+9tGiK$@q zWj%Fku`7eX0n7xNa_JY&xDK@(`AurzG%WIoKK5y_3b=RNkW0fJQn*F{uPvzJ_efIhbxM z;%m=nntwMIK6-0oa-P8-aa3TE_2A(?eMnq+SVJvZxEusgGj&pV%& zS?9F`@rsVj0n)=ow&}QoP3iKZJ?wis90D~k98>wl7lex0y&v^W9&-qAyHu)*tae6c z8D*VIm$wql%j7!FO-dF0Fif9VFj?y~$yi`Z8f|aZ#K7lxCt|^)L77T{KH~21wB^hM zZe%F0@#E%u=z*NC@5YZpgMVQj1!Ba85t_x(MU|GbNZ~yeAaYj&japuRvOTf9d$*cW zn4TB5cO(6~slfYfhvcozjZLv?y$VDZ5N~obUF6d=2cf@a1EO-zVxfMKbwwZUD-vSr zFap`ZO@9=52CfltC?s7pyXjCeQFt3+8k7|jCBndyMtx-UF=((Nm>aAPLF-P?+OhzJ zodLMu$fBN45b2b4Q~XZrtF9nnCA+Qe$L9)lPn9eyojf88JSvAdh7p(F_K4vp^R^~P7kK4UR(ClX#>WT_?Sp0YCzd={K0#N%yi=UBd?}p3sSdzP>`VvNA3p*Y zbA@~jdVTkVG=R>PWVKN4z2WO_L(-TaJLzmHDq`0(X}9l&U|-Uu!=YkB{$CV1M81c$ zj+H_NCT^RAdcLZ@MS_u>gWYn&})Q7}3e~>-n6`H2s_~r+z^jGX(z);68SF^bHv^`BV z{>7m`cO24`<%~r<5E6N8qM4L)z8vL~IlYO}kOV5}#5nKdCMXrcB9Kiz&+RMp#1Y1` zJx!d)=6^CDLJdOD8?!s=d`AJS8}uCr7!!RB=%<(ZsDqub>y&=L?BZ*dtss6S&)~OT z$IcY8FaY5`kTnkRm#W#ZK!IjJPrVVt6i4xD@`v3|hok4enZ9U*(wUGrLSJ@1ME31ByxGF>MG+ zwF7dR#keA`kYjqmOxk`{jeAf4z@E+U!*of`-!AKCe zW0^X`K3T$a7R$+&we*&bIItvM)IRXt-EcRn`JChJho?B@KYYIUvg=@VWJ&i#??mj0 zp>eA$*`!mq@IRatu?+Y~nnnArzt{51_n$=|@U){(C33k_5}`uQXo=c_N7qJz2Dvew zan3eL_DOof#$Bt_1f_QsurHKMs|DrhCHJ7R*Jv&cc140v_*OBcc9Q&NCBE&&{Lzun zhk+4?l9bo@`rg09kIFGrej@9I9s0Oe`wPY!%K;6MI_n}LL}hYVajv{)%7k`@l5B5V zlfN&L4Y4z;2!?L9WSqQL=ae7gAAxq}-3$!7dqP1Ti7XzdZB-n?&6Hv49k|zn8(+u+ z{7ERDfB^@7(S`bwkz^~w?6qGKoh8f9E!|W{q~GM?>!ZMim6d7nARp(xxtOE7?b z4>?ltlbe@702qU~)n#uQ`uhD|qVvEZ zrwkG~#;^ZLk^?BZ&3+nO9u!}T{yVZ^@ za`wJDX>yT_i#KRT8>B5NrjNu=75Z0*pT0W9L3ot+q*KuBnx@kuZ@@}JI zxKHiuummf?w-raf+})L|>`cCK|4?8QdH8|EZ6Xf4o4$Vy#&^nq)PO#YhZP_wrE^cXWH?dR0jvh62G4+IrB4V| zbo%jeGl4b)tn}V2veUZk)QDmwezY@$5=OJaYk_>?bDo}`y-NaX%S9o zf#FUc&#vaurc_x~*FG@p)iLETU;Uqu)t&SMdM>5I2ToPikgd|UhRX#5t4G3T z{ChImFaNUio{GC5z$}jt&VSzT*_X+$@hhlR$VkOt&2vBGBNYN3Zp|3vnplk&$V%uN z$2j-?5ixIxC16e=BNr5zXs+gqmCS?%;|hqjBHHGhLT)OC+}vFWhP;T&RGJ)%D*B|r zW^eP?7zLR^JEbHe&EzQXsVopkkYO)X{Y&m*z7)Ffm;93u11=hw6+5RPTP*O`ZSEof zJ<4)$e&zi(W+G-#^9$RYFPK~ZF_5XUW*#K~Y@B=0`k$EX3NY6b*=NtELR2S0C!~&x z{;e-{J!T^8A5?FrE-as-oR8t5ZrdXv;Mw}cMKyt+%9;|(jbFRYtq(|RGv;a;i`=YU zRo~qO{?sAT8M5t!t(X1E$>N+R=5w`o8PJa$r8q9|Bd1GmAp(TWlM5qPWHphlYicYY`?-nNIBtI zq=m(#+5YL_dK0E!VQj$7LKJj(13U2h-Usv7k7~+JwO1_oyB_Z0-x|E8M*IEoH};)1 z(8GTdbgQ7ehzkCWdH1<7D13~E51u}hB&XYlLig5|g4)_fj>@zv4No}MiiqbgeYKAJ zFUD>>J-d(|K$cS8Ml^M8JUrw!)GL}lz6Wl6$lAF(MOdm8Ytp;)Ri~@f%Zi%pwxkw^ zPKK#21!RsSWUOpfb-YlnAzu71Mz8ta4wli`0YGL?`L#vNy}q+j0geH?h6@l<{Zwo} zRe&5{*~_Sg9NXWWocMkEIFj({-|2i2moF}b=l@}=-Y1F(idMg$_2ueZ{E|wHDcZP; zA0UprORFh2bo)*Xu9NXt1#X__N!^WX7$PViC4fKBl$|F&i7qW!**08?L_kfwGv(g@ z_RzZzcO*;JnzQS|Z3@Rg1b-QU1nB?;8LjCmPVNm`_qm$Pt+5Q~(eUQ?{XgLAUT!Ox7CDP^=7GB2HD}Em zjXfin0)&Cove1%Wl$22>saNVWA&q>$G@u0hqSouFQutQjNF#P^t58$+2V=Il6FcT$ zkRR*$%p@uBf;hS~HZ9jZTxEDeO;sDVuwj^cnJwt>0r6Mn?E*;6M-h3MBv|X36BcJs z$?y4!I6_Do6|{g8)tC{Q={0dlK(Fwm1qH9jPVEwysds$!T2yC>Ud$%-e$u3$rTi#NPqOG+E839n(r(;XYk zrtd5~kktW%q+JH!F$R5n9!Zeyj&}ttgr(itM>rcniH~irU26g+zoYf_g~M6V54$!h zokmg6UggtPPVM&qN_;B^!2>-hwMMcX_57n30>cLT56$&^mTAR+Cq{Y~S^MX`s)#!t z(Vfuo1=+R4GjoKzFRje!J_zn}=}e6+n(pXakZzgJG5lm%E-wCgoof%iNjfuc_#S<5xi&DOFka3vJdQiV(b~vqT+4Mc_mb!q)oeU zO_cc>GRurkDnx)fk3=%Iu!yc={pM8OmKF87w1C6Fk$JSlR&L#GVm>oof zK+86rMugXK2Cak;xdw=D1EKrSZ5i=QF887Rtw@Kw1a%)&dKxn+ zutV?{(u$kGxSX;Jv<}6(~*E)aFu0t;a93;CtJ)3d2V#?g9-9 zOK(|+z4Q)|2vl%7MtB6hGTG1mp|^K3^>+LT58-D=2@+Jj8Pu8+G2sNI6(|K@JzqUM z-y4zY(i;QDvYJ&ykbQ^hP)5YY+*dgLzAMAlE*=4Z+dbBYqN&fW^~<$4AR;#U^=={3 zRbh!HYABy$zY^sQr}ew;Z%#e5LS=sg6Ici=BI2;CG639t^ySZOSrR*PeHM?BjJtX! zj}c1tx}O2rxfebB(D5qUSlpuY>cyhb3mY6Vckp#yb3#u0{~6O&Hf@`NQTmeeZq5Ls zd$BWETK@HF9JtavAdB_R)j;8=XY;IEU>DbEv7b_f6URzczAC!Ot!O0dB)D?Vjb)Tjw&C9lfq`&fa}Drd%|AuQY(JDd`Az z5f68B849f1kyYOr>0O|Azpzh1yiyE?GVoM*l{!3qnYCg2W~v))?<45G1G-TOMaWY~ zooX4Q;5Y*W9vp1=1yWZ1EhcpPI8vaWQ~y+zAV= z##d<1qkRL3!Sf2O)Q3yj%El?%f)nl$bBxi=g1;~V}yR%+>ys& zL){Vem&0;9j{UStE1=vGCyx2Tp5Y4mT3ImlTKVR|*Gzq*%eY8p7NoV^6b0D-msR4i zb&oL7Re|!|FWUk~q`=@MmkR=TKIoKa7c5&)n*V-U3WIKvXl!sjtjzA*GTVln(#D~T z4FD>@6}WpYc{I?=O<`=kZ|VLEV#|>8=e8jEA%W3)H-9Eb$`4QbbRN=^iwv-|(Y1~Q zYR-6mG`oyW$;-SK0jNVqvU{XEk0db3cJXh+fFn#)YV99#Gz4n18K$q4>nE{3CmBRe z20U_SQn%|i9KxIL75shc!U8`YB|Lj%%=UBny}7-D;o-%xO`2k4Ri{hjr~TS)J9@dE zAQz?ExqG^X(~FfK!lfRAk79^t7r;KI8*^Q~l+gf~!_+jh$`J!hyzZ9dP8DZ6`@k4| z^$4@a|L5_FUA=0m z?QYuM9RV3@Ro*pzW;xHO6OO&!ymXkhE56g`%M^E|^XNBoolP#^k>?wFb!e06Q8{VL zW8w2`ri|p!-u^U+lFj~=i|(~d)DZXn-q0v^`Uodo{$Ns<%1B;2FOm8qR$koeWkAlW z{$Haq=J~m9GrxJ@Ix+iW7f+hmZ?=TumJ`0-E3KOJlri0S^-boSmGRGk%oHB@8Hq@% zZaD)CR@lf`rmAJ&(@n#oPm30~t{KtKXKwKMr!=2a9u`^iW+TSQqY@$7Z*G3JT`$ez z_mI5Mf!OG+5#RMq3SR8@)#F)M3m52H)qSe|k0B2VZot!w-H%ERUf)ls?G<- zanFLJ2ShQl6rqIPIvi*p@N;|n;*RI8j-ZnamN4xNx)EBY;%uXOFuRyjQeIW@v$$rviu8P%LaebSji+j zB0xl;{%Uxkk>}2weTza9%6aPOrVX9b9Ve0d(%k(AsSo^4k;#`v`W16irzD@IRbH_< zZGT5f0CMNsD`7-I=ZSyjQrHCU!uy5DKVxkOYrxfMD-}20yEeLTFfWj%k-JY*wp8i+ z^BSlH+}>$qkC^sAPlGp6xo?J=Pg!C~RCN%)q= z@yFo8%MBmdRQxa*)0kR0RmdkHF3AXC_{`^vZVl~hqJ9TJQ?@}7x|~QF7JvHl^PrC^ z!Kw+$!w%PHA+Fd;{lMqL4!2oY2vWSFor&D0LyPwVu+AMSb5HIZj6aH~cb9()MsU4o zW#1#-W@>-jRibw8#_yW*MZ~k>-C7XU4m+(DYIHDnZE9`IrLC;w*0s)aWuf3eK4LzFTKNMq}XKb)RtyLC4 zlmM3ORa+K`H_dY*#mfpvpVeG#Smp`RZA$eo=7&<0uc$ljxP{x8hHq8wcPO194UfM* zDp`y-k$Ul;7rBvWxkG07q{MhzRiVfhB7A(puStH%acHA9Q{`;)2Zg)l3f`y#~L!4W*ML*yYm&D-0V0G8gt?GKpRNi!?yESFXZEiy*j57vzR#WoxRa-~8l3MF?=`x;^6g^ulp$(n4_{SwDM-YZp_rT0dB)Oo*!wZWIg)sAP_ zzKqP;E*yNsYzmldD{k6<5!gAOyFt+$TI(5;;4wnQrbtm*h6Gl&ftFdrJ7wQX9m^Z| zl>oyMcHm9P+?T11k#<8xX`Cz*EM@Z{2|GsV(~-<2{ak0>t=f7xnxe?lnR_QB)qB)W z0(Xts=0OloYyvv&Z+Nw&t3yW$x>vi2%JLZOn7`BO>8a;RmRiHAsJ4sCrn&OA zTRSgpbeESUwI}!&H~?`0{5+}UHJ)#4L-Gdtc?x#1Tg}VGhrQc;t{L_O6L}T?ftML_r;u8Q zz#XsiG6zPpaFIEp8Ul;M-wooTH;8ovKPuwE;@Vzj-w4m!P2X|Jv7C1?D`D$m1y_uo=V)-+hoqLijM!hUiIEax4w_kQ>*77Hr%RJWp{3o)R*heU zo0yT@7I$TYc-7x4Aev~|W*LVW?vMAMJXEb(^}Nq%dOur5vAFoob!1#v-oWE4zX$ia zQ~v_MAEjo`_iCyxK^8>#$ZW@IqP+RUmcg9dOTpQ-2GUdDA%*)1bz!&7Nsu^HD0pN% z7vzfqTH~c+%*r)ntF4Q;p3&GWXaSFI2|4+14w0~7xVjmEIco<4>82iuhUsPaMN2~9 zojUBIu#$eCdFqP3BSShJ=DfamUnNedaOIF|qZR6HIApyU#b2$vH}V$g13RIkY_a*O z30#gS%(mor4m)I#@se3ln=T(T2=r^=n9-R)2I&MA76!lbDZ$oI9;IFc@F)+TylNun z*=Fk&f&nVwOoI>=#h!|T->}gZH+{44u5Cou(twUQz#f;ikJ1 zA>*bAOaQ5VNJI7)2$__AXlzi83epNf`!x$fLZ(u_)m^bGRowf!Nfk3|EUqG91c&*M zZOrf-X)cvwK=^cmf3(a-wGDEqUz;f`RWgEJxE%J#5XrYLGK*#Pv#(wgL?+0O*xQVo zbC!M>I?!p-?0IP%xM++%hL?EG+`jFjw>EnH`gzaX^9auG3>c7ITQQ$Y>|?!OO9CuZ z!-88H>iFe!L<}Y02*B@&IOYd^#4diZlIpTgo9Yj9BRP~jv0eHc|8Hj2zY6FhT%;!= z8F5JeI!XdmY4U(g-Iu6ByJuY%yfXPVz+Tq!)l`7lI1%g~YDjmABv&6QiswYm$@Ku9 z;yPs#hZZ)GwO$tERxbRDkxId))BgU7tZ9J5v9vULwVarwz{oE99rU(KSqI~Nr4NM4D4eXa-A3L?&iat1LFv z(8Kd~WBW(QB0IiG5Md2j_5H$bTX`ixO8B$4gCql!7F5wvFFR^Y{&1*Qa-YV4l>$sD zZ=7RHy(|mch6IRG6Z6#y4UX)PSE~lzbFp_FwW&2NtB=89Kem&g*9>E9^&yGGAdvKhZ7tg~ zhjalk_%u_C+3ZpZ7!h+*oMw;LL}<#kYAyWeF~(Pwv=o_HIphZq`>lUfJn`=q({n&m zw%Sg%_32Xais9jdXRLstW`F3_0XQp!U6+N!Oemt-lAm%X>S4frh0tYzfIGOP2-zDjuig!)_`K4@Y_RzZlzW*aYj0Z_RfwvV!qhU+h@$;URvx|dqsFn5dNf@hF4vQE~9O8^69AF_5w`zD>#5a3cD zDSidem*@0QwG?UU7^p}bj|q&)NiVU5UUw?l@B{4qZ!0*(P7qw&?phsmCr_2n9Luwn zwXGpY7|4AYRZOU(*WLX@pI$j=$@vpeD?f%Ow~Z{7y?t`RBNTeEGX?bDsOYv9(xMw+H9i}-Jzr}&CBm2TAL!8FnItR*cPDa>c zde2kVxxZ`lJ~5Q;_w`A$afRmZn`cSd)Z2VNd;-RWRL$~>`&DV&=!HkYW3{Z<_7SGO z$w~3Qx3q}1*}961L|=4k8ekiBk8t9GsWc9P>R9_!mTyLCS{QTZxzRbZU=Rxnlq2YB`$CQBcvnhwFN2J@~ zUnTnXY7{%Z{T>r24N4H1lNX%Rs{1gi@AiCFSms?wQF!@}Sk)s!3 zO_q128jeKZ07x=l=If85jkDomd%n54a79t1D<94&h%Am|Ai! zqZE)K`MECNs&38048~g{EcG)j%V7=%mxD~1dv6$h+p>KJ>MTWu3ROHVSdJi$D1odE zX3X-s-7G3QiS1ILBSjiglEzTMO3-4;=o77^CHGWXwM#R}7T@)_BT&lQ4k4QUkEHMp z^I^&}j#Adi`uQGm+GI^*H6kOTkQ9#pd8u1fwm12qN+=$T$lqc%# z7)|R;RIWKuJvaQK+1p@5y<`!c)71|nwG`8#>H2W5_e#uZv#=^*O;XkPQ-# z^aS7np+uKGjG$C>XM)}Jy2*3TzP&G}Hl(HT4H!kbLIQ`*Okdr4dWE4^4WU|G8Xzp$ zP&`!Ok)&HD)ea6y>=&TkSosC3$_LvbmSjsX`0V^!wgx zwr)=>m#T8b@H`S7HGzf!XStOQJ^sb_9#4M>Dv>_q5(7`$+j^5(^^3-rvQ;Tt7dXY- zO2Xc0;1!v4V|A~xvChp*MNrTBWOjxjfpvj%c^c8BeiF(;%yv_R{GA<7|H5&CxehOZ z$MnENe(wnJ_*KfZMNDAALY*@pF00Yrv`DhcLdsV^%z}n247<%=#N^;ICRo?@*{kbK zH)OuLD0!dv6)}9+m!@QUmcK%;w(FTSwy>ep(`{^Z;uo#e@SdyWAT+35#fnIfbo5PE z?iWs|bIR(u7asld?>X#w;2wv{Pk$x?JyU3%W-WO75HnyK1iAT>^YY!8IK=~(l+ea; zZPldPdEo3%uo|=}jlo&O-gXQkzDT;x6zlE0EUMRYyPAf}zeLRu$tV4DYMv)-Rk!4fD^h|ziBe3=(nEum2}CLVwNf=Dq`GcxfZKeY{Dj^#^ljBe?O*# zw`7sR@fg&hfsDAFmv+Lw#F}gJFLm%8riHoY_q|WIqg38{jCzO+yczYE2yLtU7!`%g zQPGRBPJ;{q_9h%=`tu)0|KsXD$WFwCALo|U7ZNiRz*f7?n~seycibZZglPXP}d=l^?}1;@c}tbwcgOipSPB4-)a^-t7f=oSehs8$Mp z8*NaMX#eaO@tKLZp7<%2zgh|2VG**JuCwoE!em z-c8RN%Uap-hK!9hzg0Y2#_?ZIMY#1>UGx3xGxq%N*obiXVV-sAdMyt>%sV{(XK%oc z=!cp86$(A|(;EcX@5Qm_XTycH~iwgn4kGg13s0`{>njn;Cz3@#2(~dVY}zS{LhWxfBCnWv>JQnSMfDma!i-h z8Bm6;baYj$OxDPDDGvR3yRrFfLMj3{xt*sP>sBiM-(Uck0_&YLY3l9gyibpO%1p!y z%fA2aTMOE0Xx^f))*M@=5320QUimZgfFuzM#;_z^!p4Rv!)LNha7Fli8vV%ZA?Q9A zjQ&k4@7Y7hpZ7${@^e?qIoeXuN0Z1Bb~F8gImwu{5r@)^j>hB}r!g$$z1xg;`qbRT zxyrT;sLEv=mXd;7uK`B(IbTe&!^f&f@{+v z_g7#8EBom)h*y7XGgd{8nY>rt?>9<%QJznaZn4Ntalpg~g-KmZQ>M@~8|QQN!U~t4 zWqv-V7GY>;=d-ICRAIqqJ~3l6L3nU#BqKE7sABB}o~-q2c2Y~v7X8Q};URQIZnI>& z+Dk=-_Al0!!eTihY&Y)y8@WjB4Nc}3R}G&szd}(lEFZxv=jL5|1jnkZ@<=XBj)JWw z?514fTfMjFwAMJlmaJD7D%LX%Edr%S+&Hr^RmGv`kfAk3?TnyS)X&uw&LB57hb9aa zin5zVtjw=IN5%d(Ht+>NpTLJUXAq7r?I>xVCptzGGmzcuVa3baxm>BN@VRhoX{_*B zsokrRf$Wu_St{+tqM3B=QlK7G@uD^CL$*zG7eCU9s9tSwrXFjsGypV3{WYzbM+hbE zej3+GpTTT4q(#M;bRd~>d%$V2m^_^^b5OBVHv_s92=i~LHp2np4)fzndZ5mO4x%slgq z8MWNyzGy=R-1kH7FH;5VAuZ;tWP^x}@WP5cFSv_&O!396rR#DcHFx=~63=WAt2ZPb zB%5(})2)n0o*yq&qp?@F7YF5?s4SS<8!{gOug751lL5qwv`Hm7H$UKRl;3onnQebPn?gJGIRzwyrMcIO;v0M@-Fc-SPd{dXjjI@(TGf zxZY7AYNcFKuKK3Q1Uv`x2d<ho3LU1<8w;IeFe2#wV>$>q)+D zS~=uw+ETndrskmnGi$IkU_4Xkk)m^ozn=AMp5EI^)w5aueBA0AhXgPCyD6cQB27Ta z>Gvb*$gWRcV$1w7UPeDg)$OG{ztGJG%PQ^6d;4uvoY=g*TsbvQX#4EdAc8dBj8`dh z>{NHG8MEo5v_c7GSG*qS_iO#$!k*UkVTQc}G@nD#+|m6k*7X{~Tnp8siWpZ9u)F_GhbG0g)nX!ta0me+;Y)4_nY7qacFZ!U@fYLz-IA4{ZH^mIFIK&{$Xf1%OtC>>xD zMZN&|C%kiFLURNFcjA`%wA(IaZ#sT`l|r_8Hl9|Ty5j69m#*-}!DiahIN2H8RFN-M zy-=leg{`!Q7;eAyV@aiM;%(Cbu8R9b%8jDvFU)_>*8RH&2RA(%AhSF+uRHw3hj@fY)44)V503y+ zeo;=;6eRw=+;4mRqMa5vpaP{gT=trJGI^qp7Zkh=WqJ-$PwBei?+VVt<0G;v#kW4C z4d_3+s{GsN|2>q8Tf$0dr-IX$d0`TEzR?5x22GWBa~yz)ef=wlck$62Zv3o*mIp9GCMfvE5WsH-)FO-XbAnV+F+D(wYO5g7Xfv zu2cfK@aIVtUc`>4pQKBSDS1^z)Dd6G@R00S`iOaF#r}(>fbjvB6UMZ(n0FHUzqW$j zD*$<@AC%3fUGgeR()gyg)Fn%Q)ko;aj;FfueOYnB`(KxK?;Cl~sMdVJmM;SSXsoAh zIvq9^OUHRV_-~!L6@EFK14-`{w1Oo3|8+9ob zm&ICp<3y{y&@xn}LL*}A-EE89C_B0%9N0~n$pP*W$1o|`dmH!DId(iK3q<@)iYP2OITN)fZ=v#UMj+}J5ThOY>^#F^Uv*TC!57&DVk z!db@qlIlyJYH;hA5SG}Uyg~AE!~+YK4pw;le=HKXh0H4(d}YGBx-}sr9y!NUcRW{pZ4yGc?>iYJ^ z++IHFBL{rX=#T_MLAz#=?gIPYPtR07&@IUiMPg7TX2$93@lWakD}@PdktP6xSmC1| z*;2#b-*8X=07?ctROEsrkF{AW4D^WF$-&I+Yt+s-#_5Ll>(+32z%DH^e9`h2)(p!s zZvV4HKNU54`+bgi>S}^{3fG1hP4+p~VTNZbnrb12K`AG*l$qYd1N1N)N2@9xHyt6q zj^2o=&oU0%td&2NcT67f(km%jIajSHv4yXu^VyP>X=m2x8}z?q?_gl@ zoP3?m1&QS2#vHaORHoBku)~$d{0yln&5Gut(OJpPXS)aK?Myvy3u{Px_uNa0)do_H zF}}v}nkoDdlIsLrz7Piv$^E~_dFXG&lwKh`;^cj??e;zf>VWidofJ#H>;!p4%)d(vPZVALG7w=e{Rqm&&5urZ zZ9*sT=M+#C<5`CjjSdn>x~GAUL^PY7(YA{y@Pn5xdR1@U%|$IvZQb?^wLZnBLJuG5 z+;&Ute|2E;2Jpse!4A;>RHU!F@9NOp7P`U_(8rn(6=rXrn$;Ma)bHQRI{y)V2>w}_ z<}P(d85KcNfp?zcm^*>7uE(Bn{;rqEG7%f&Sv@@Xyh?a%Ojgl&gTn~FmhUHFb7GAQ zCAK<qAl}!z>3aS6LZwp#KY>s9{oKnect6=hgTDXN(c;{DsWf?ONQEEbp z-J2eZlgNiu>I8pOzJ3r%EhqL==(xNW4>N`inCRD4NQo#qyZY5V8?|_BwhkcStU^qz z@kIRAq@YGZQRg#9JCoS1I;&(M{FlWGI#lNI0MTbNWr}v~!hWfUh`MZ*uMq&WVP%0> z4mEOVikxg5WdO{=kY8G+HeVi))vjXYLj!qXF}NG}uA_a`X0e;xCrimAw;?cF!T(V3 z7$(3#8-PQzU&WRVSPx})=4?EzziJJ0Ok#9SN{D@T%Et1IgJ||de?!}ur*b%0om-@E zF)pFcU+>&;?f#XZpui$0f4E3(PJHVJAV2h1%+TdWa~A%OwFQ#5pg`=nN^2B+vJns` zvonyKY*^1B?hEi5hJb(Du|-_`ksXWoOLFS8V`L<5X4@&+@Ph7N3_=wCjGls3_8%tD zH*bGH1W@~ns=yVY{HI$AsnSDEPFBXg$KMS;}d=VJ`PjXUR^(X;@7r6gt-AwOOheOJlQw!<_t}3cJ90E z$>E*quYTX4DSZI|&p>uzrf%L(EKOs+w8kHR!a^&R})==%wG6;EIRk5f~1E{L0RM`}w#Nyf61(6uu0Pfx9Bs z+p{@Vs2f_2J}tz-%HK}_K5Ha*^vS{_BbR*&#|RPU%p~Kb)Piy)-DU*&Uo(hId%p)N zNl@F`Ra;kD(E5!F142iy9zRv20kt((f}Klq1C(TTmn4?VD-9w`DxTpI0*R2hGIgc> zO*OH{1ENZ`tA*hM|MIF1F+7%&7YSLj;+!35HF(pA@E28Dm|^eyA!t?+@%u1(=+G%3 zxHigez5S|=nB18-Yl*cG-}}yPt*8&MmAxv`+d@?vsC%cy^CV9A2s5g;?S0;CKlgiB zKPQG}eHxe1UR`&DeukDQfT}hl;b8Xr1{mAP(->VshT3{NnU?QDA(EaI~71^(z5HfHmgjQq) zYkag-qV=wvS6gndnYfqnu`!t#jRwptf5@cl@5Ro%ci{?Ld>9EC<>*lzP^eov|BttR zS9$`oU8HU_(lA9}C<}J(T#n}dxZDWH$s8khx)SP^iluy8HscHR>AX8IR zk5q$YaqK{A!}~R>5Dq665YxYw#y3t-m!c|j<}^g9-?68oT4Y{%p`}r!P}*0wxO(GC zt3g-9-Fuc!ZEadRU+*>C{WEQ_C$L=8=}1YQR@5r{UQA9RYy5e$vZ4Z$TFCfpB<1yH zfdw*gF#LLxU6H+dTb?Yj8`31PQ?XHD!i^VVG9TcQY?x(sVK!}jywJMdUbQLVADFLK zi%oS+1REbqEQ(dbS5qAaOUvEoXdNXRs&6u4Y7-ETx^T~0i98#`QDX%^7M&`(hUD-C{YOnwzhq3VLxjn6y^QYA}ibLC~WyBXMeIc|9?T zJzmADjR?%2H2|?g^WOE>m05d*5G!(W4~{C(#1C`Wv4TupvD4}#YLv~O89Lr7qrKT; zVXC$R?#!c}y|=2Ts7IMrhbXKnqL>exS4K9Gh+c8(f0iizEJhAh~bkmQdyec?5mTD8(fInvI{NCGM&6X7hSt-u;F7X^~ z^6y+%ZWn3iOyg#u$UQReZR*0vdKaR;sghDuA6G4j<*hCk&zM1e1jqklqv)N*3_);w zBWnXyIYOFd1LsVc}{69wt0CDQToj#{h9Y+ z1FW`mn0|!v7EeUzlyd*h3u3+8}=uZa9Ai!y+cV{^>M+ zPnAF7-o`Tg<7CAicW#rNO^!#2=M>|q@8;gG#OhAL$8IHOj|GorMNQauXBlTM!w})q z5$x@Ici-3>|J%f+OIsMct*@AL`UVQoN)%{&YFEVqs==<8hQmkW1Oe_3(0*6GrTCAe z)0O!?d}0z!hX(@fgZ#@@VD#flwtbJ(JI|Xr4W7ZwmN9n)O;Drj3PUy3e3~5UvR{QY zHF#koS+@|Y`VxQkf-XSD7jq*6=EgX?iB7eU#!pdSw(QR6@2|w1j|UOG$5>B3Z}Nz9 z@bFjiLOyRyf7D$ke}>jO^PGL8W_QV{wV_n-Vbp}#y#1}KzXzfl^)A?$8@LAR$V!RuUR9(D6Y@?zm8L{cbX`FsUx>PjJY%_(nHSp3qd zMP6Bd>ok`STmZ?{=C0558&AKcxS>Fp_H%PgU;m%#*KDAiiH51Nz+D0(u1KEXj&9=2 zX*J+>N}O=aZHqrL(NBF`umV{F=B`(H`fTxdv=N(xk3wP?U)tE=JOY5Whl&|<_pRWx04NqPYnTS@; zs~CY23({7%WsTFofH0F8E0oE0>I=t{sKbs<8Ofxx>r09~rCs$<`rq>cR|JId>dXyB zYiqT^ikf)Y*vWEX1201S1HE^uJsoZ?Tn$zEd$U{o?G!7tkYP8!(#9i)`C1mt>m$nl3)KydTP0 z$eR?g^zI6*tyTBfNW9*95yKxzzO4e&j}xosk_;p#c+T4oLIy}CHmy-|(%$oz*@n{j z3BJiW8;TCKVn-~DKew$$2)dm7m(g6-lFYht=}+kU|NYuxV?G&n=ER0_t1`$F)veUx zh78D__%F(M%jSb*Fy>oVvq1P4eGw6}!M};CLPG)Kb|9W~MNh7q!9mYtKq2DS1w-eP zKvV>(r6;47rH}ZpKO`I5%kvd3ef*u74B>Z0=qLZmdo6PU(Zshf zJjJ}q4ZHH|xu3>?y!N27)u{@H2mc(${z|Q%@zGd2s346oBJ=;qCtt)~G?9tVGsvB@ zLyd5IOAlD=1F0@cTwco(ZQuWz4*vb^B^t?ll=*S*@UarT8H}fc?|}Qd{r{LGo(}K5 z;S4cV+JanzjiiJ`m4A-y=NbXyx&`t@wN@kD^fpown4!QJRl`F@ZTdFCtov$j%&#Hl zcOHnBTGa6RewV44o1`g&`9M8aB(C3BkRQ;qM3J@2%6zhsY;x{#I}<-$r1BVJB(?bp~W~ldH+| z!#Rq6$HcPKo~KQ{opX%m>qQ#U0MXm)(g^2#GGy z>dhi`aaYT)QlNYmsjI9d0`Do~tH?P&?+$r%Nt|wmg>jLe|0NmsJQrEUj&;5)>IyCn zy4CRYL@z}m)gCe?m{m$`tNkW8$PW?VQw;9jxGW91Kf3BOHuqwBT%m}wW6tcgQD>x#-}k4!M8h<=#)aGMsXL3A^%;nOUS&W#HaKq* zhpziPt@M+IEhG_<-(Kurj%!P8ohOPav3Gom64^bCx#Z_E!sd$JPd+lgW;{jwK$z^0 z%o(enVW~#Dn~$m3%q1LgxBMy=@Vuc~_S}4RB~^Vf$)$g6FlKC7P85)$qgKt@3p2KJ3&Hg?WYCv`R#j0~rUO278pdco*Jo{A2;I0tdJF+(Bq zZ}jVL3U~AO$^v8SOFM65=H$xytkJ)We9LR6oD*o6za#H)U>xW7 z(hIXj-_jW^()5AX5hjI<9Vw{gJ!ypo@@HjnOR~1xUTB4^Z@HM+aIKNR?B}dbTD>R*V-qod-_;&}oHS9M$F74`#y3(wU>0Hp;qJQ-5MD1z7L$s7V=|h zOv(sz(+lBX6hiu2oq&rzXxBNR zq!yx4gO{6Qx!dqlXe@K6|#%!E=<+v@1|p*8ih;2O?7fpHtXhN zk@UXvAuLPAaYUn4voW{H^Xf*V;5xG^RQf_lj9fALGl?)hWHh!|bfahEOR0teBt2*o zl<`a1^Px0Kl$omrN|GO`G3Px@Nf*t?rS-Qw=CWK1!FO%YSoe}Yx2b}b5?kn9CY(yD z;?9~DW|Etp$YCQIY~=;&IrLEB(l=M#0-=2EfeJ97lGfBH2BhgY0!RV>rh@RvNJD{G zuWb{~Dp_`4ac0#{Wm4Fr+L>weW#UId{hOg~V}{+iZC%@jTJhlf{L2l@OmR2NI_Ctv z{n(6kMnOnLFJ5=$NMn#Fqti+Ag4av&cwd*8ptL=KkDNJ9k)s;8psK7J&;5Hc-uEoH zRDtSo^A$eWuP<$?hAD}ZF!No3$Q|L}E6av}-eI(r1TjP`T>BR4xmUiYeSRUWQLChG zmK69EDcbLSUjhW_qLzWn5$L{Y(3jTi)Qsanu&NuSgc~uwlQns|PouXW4QcFgn z*sboNMAT`yU$?*-VmGg z5XAmzzOBi1@qR8^&qLO$c}t2XH3FntlJu8oL*iOAyIq~4PN$bvnaT1nuKp;>>-GEC zk8WuYtub+`I(4*3R+$9u_-NEa^d!~wk!GT?E~LnjICft28k_kxF-e2-^Qnu^+t>Wt zhzDvTX{z^++Mr+smGduNfamu+OoKlNo6pi~A7>D2S6i0nm=d@VlF+%jY)j4+K`!O; zmjjYib(0+ye*&Xj*1Okhc)29mMjXVT{Ns8C!%0jG?xjsnn4Q9<7|Cc{sWQMV^a=C@foJ*Ip*d)5>ho*)G>r+d5d_AK#`zX)br-f)X4lPjMxlF*if zur!iS$_#Chy_rI?&|ql;gO`j)x%A$ajX0d+Ol7CMgCCnAx5_H}H+*d6Wj$NVpfk-M z2tAd5G5uU}4Rc z$EUW|8BSQa#u9trdl_{(Z|UAlkfx1kF%{|jJ*;vLPGQ)f(}JVfGRAbTh2NHAThJ z2K_YpGVElUu$;e)xk{a7XI_ibX~_*nRAOEF(tCEPnx1);) zjB9yA^|q(>hJ?`%virgV1~;98t)rKGi0y>(T=WEg(_6kh(dT7(>?_93*lF`Stvh$B z?RyUAse6x$ssN{p^_`Geb-x{WAVquW-Z^B3TNTJ9aYFO~D36yks;LR^B|9E%$@lUe zeTA~*0*@Va$QUfS(opG(_p_|=Tu!X(y@%0%Wa9gsa=~;zGiSjAws=u684v2U&I_AbI)qCD_PbgTl za#!Hv7Ba!UH5cZ`=Nh$OkL9UoFtL@r88)d*1JUEt6}Z#M>WSkPO%jM(R!L75K$onL z!?d5qjJD+mQdn_d zJ9=$q?3*8Hq*D`gMNyQmbf1;;cGyKx2CHz#`^OuntqeEU+Puy5l?O!fq7)<9!yid7 zildK_JS;wv^1WFS>%S%Z@P9md=7Hnnj9EBdu-Y$)$W+*)SL~_~qBpc9P*nweBrig! z(c}#CTC`}+$o7}Dji0IiYLv@wGw)YyG)d}GAr@= zku-DsG?mFox*!4Q+T;CgxV5HIv2elc`Ti*+C-?5NE(nS>I)1Be$ErWD@y;Z*9%Zj& zEF)WL>ilWXj1jS_V3yG*aSb*d*yDZrMvu~@A3tHiZ|h&WroSbhY!vPWe_;!nr3c7U z!Rc-FnwKF(ea$i$6{V8E49Hm7UxLz^lS!8XK@zyv|I zu08VRm#s6)g^WcVml=ubg_l?D7OHzl$2vjgamc99%kEdf7cPH?ULO`3*!V{=7 zs7Yo&$!TZ#h?7sHLSjOvr~?FSa@&_xO!kViw}QZibIllkE}nm20v}_JPH;mjq*DBD zB84joyJ|6kEk0S2pL&V{EzH8cRPry+Zp~K^jNTXId~A4B2J(uk_sbwXJIN0)n}2f& z%h4qz@3Udi8YO3hnuIKF@~Ny6jbh~dr#;3gDS^Zr%xoSlvKHJgwNlAplWBZ44KJ3w*d^y)?8RiGYkVUY>~&g8 z=<>q_*3CaKl?WTk%=q`INza(d(uxKZ^O=~zo24_zY1fw18twK3WEHNg(KOxbCM9(K zHT46~zCnQYbs)!hPx@AlptU^W4YKL$HK?tE$ge);7$$uCz1F%X6IPjc1A^joXzx-e zA;iYc`Yegya&z^X?hEV1tHff=Oy&>$+6(b>@UbK3v)s9IF2?0 zUhGI^y!&U;ec82ilbe#Bg{LMGyU2Qv&!6^>tjFW+!Ugi+dCHV=BT)aCKL`8~T}2I; z%16a^hY}yGHq7!7+2t=juKA)-3iJ1bX>FH%6t0)5z9Rb}oZWqhI{2;r>v8nL$)#<( z1^<@XNDpMiA}FB{ckkS&A!Tenm`|(#G+ghq8EAwJa`2ez%?vP$tj6jnl`LHEQP`vw zp$bg|3exsgmD_2zen_Euc!-St#KswcC2yD-TUpfrh)moyPG0Xgh~^y`;x z8Yo2%Ny#$iV$ywVx9vq?uhE+E$EeV?c{_y=Y3_8znQjJgRn;sj*8OPqq^bSxv&#l0$;g{9P$fv0-I|u zH4T_hTx2O$BA?TzzWPplk{z2##_cR6)l5kSv{o<9oCllf z8zWh>0t`U#RopyJRhv~w>*5c)S0wvy_uv9yTXt`WU339%VIK9gLlFMWM7bI2_rSLZ z)E&jR3-7>ubD~4wbOKpWZ$EXhTv!=rHr0@)ViYuacfY2x=Sy~va1t(OD^PNub)|D4?f%~(}O^I=Wig<`!n)cq=(Rqh^C?Pi2!fv z@(QE-kY-2!kL>q>A$K8Bx7W$Su-8wlxZ%9Iurm}Czh@p52<-voGyb8 zt15Q3_P?_ffI-4lpHN%`2Op4pl|%xD7e#q@1-QvgT$_$HMS)x=P_rY;pizGTLxq*F zs=$GeGIPjaNSz&?`$VmT=C|4vKRJI&G>^JF4}6Bkyl z@ANH9`BRs0GT)D%B+;}xp02t{8Vxmz&;ff-MH5v^(=)t-tF%CMpw7uhIG<0CS(^xa zA}cPZ!veH=+?+zXeWnzcPHm}Jq%saX*27SzCb`U))b->9UBIrasu-IhA@BT8jS&bJ z@$~H4o0?AoNgkr05?|j5%t?&;7NA|wIN0ujfQp1v!Aa^E}mdfV1SbEhp?NPne;>`O_sRgMaFdLXU3`!1Qz4&2r z>YbG0BjnbNq8XdSL9R6Mss|!krK%x1S=tW{+{5k3eqW5x>n|A_su8f-D-sLQ9D+nj zE(LETwY5{6(LiVPEm)_e@sMD#3h*j+l^bbDL0a-Czg>_J5`*XywriQ zOW=UuL6X__D0W^l_&h=S6P^M?lR|N^Kf{SSna~Im?V?`IA~FYNaO!-s3HW{{N;pMk zb0S5stf6MFY?1cDF|4#L#1-DJYu}W(TiOSzRa<7Xfxy0b%!cOZ>gBL1rV3CMo2VZK(M zDD%)XCGZA1Y$q%e#L8`Fe%T|V6)=%C;fDH~Hllc^btQAh z*{Fes)T#T0lv3_3ft_Rw=0t-(A&N%-aGoRQ^aa4cjT@ZW-3&k2!s;1pwc%o&#*vyy^yin8s&B)u*hI+4OV3Q2 z7~@h4Ry)aS*UB$PlT;6}HS<4Sw5N3v{HPF3Td5fQ7RvKDvM z{j8c{qv>YPOG?@=bk>@%#m4U?Go+K5&h7mrp?HT-^%*x%(xCquq3XYEW%$icqmUxA zS-*K!%a8p8C469+6SQ90Kh_MFW#rNji#g-I|fluX$*oE>Iqo&A~sUGH7_c0Aqg z2|1L}JYy~KqRr+WV7E?F;&D)|rTTl12(RsC1-l{YWhFpY*SJkzFTPpRS>ye-VyJsw z-~%mzz-26o)E}f*VmL#g8S%|8my{T`B-03D-R_z~c8V#b&}wW2eB&5q`r)@ZGv?Zc z;DNG1O0zzKk}Hw7+ zysBjAP=j@V&)uUslZjvDqI~FPR#NspUDfOu(RPW-e`xGgol#`&y=kW(-BR14UDhVE z_k~^joeW#^nul-xu;5i%SbRfh)#QV zx}@aw;k;ynuab|l&_1s}6?-7Nvjn=;DJkbS)PZx-9i52oZ7J@Tz2o)No9kkSi!^Ox{2J%^|GEC=UYvTN13+9o@XrCC>(7eNq-s~=h6i%4WAS< zI;!pb#nSHf3ZE3rG4n|H_u8T0{6`_}hSM3zO~N%oWI*D)T+43TC6gghT=MqA76B-+nWE(XGwp-L zyXh>_8J+Qd&;-7q40)Uvh!E2ijL;@MTE@NjvPa_oXD$1@w{Bg$OuuWvgH0^`9dxI4BCBHT## zuFa9xjb~Cp;$zsc_ei#1!3R#ApP4>TJ{mNh*mT@FpX$FsEtU8}5njFr-!e$^x?NK?vatY~JVmH1VdI&2}e)oeZ%)MLPdeuSlGzI0D5 z@r|;fB=#LqdT@1@Co|CdbYe%3T{><+)S&&L)1=kYK*C!OG?Oga-8ADZ9p(~y?e|AA zK^_1lQH#y3=7Xfo?jG?V8M0LMUQ>-vpq?&vFAOD|Y|i$IUGyd0sZIaj6bTpKl7h!` zlwNk3nEcp4j~`j_vb^gBkmJ(Lg|5CYPxz=L!;n&IGZ)5R{I_KBu1b&#F$bx!O%Vu9QFd5u++#0`O*pI6T_0a02 zvOWdn^4lI~xP}o(Ffn&k`Me{^$F&l;(a<~VbaNEJKuX3&rXVJa1fGiHqu<})>@Vx* z<1_Vq%U@DJU3ApSFKO*6$t2Hdkbu$@^T6t?rFv3@3>}oRK98VHD!*}(+KeHeMwH|~ zP(tG4MD5X9HV?(FI@Rxi7w$VCchbuhl1WfXJrUX~1ImI6OsaUxWEXTTf?Fxi1U{#d zlC$xAe7g#{i!)licHKt@)eK?%mAPxalKzxH>ogBme!{yzbK9x_iBA+^@;$QhL+Ol| zNdMNl%W4bPHBWKW-PD-f5Nbihp$)MnfWBJHOlYVpe)TC|C-ClIW0;7UA6FBKT)USanU*IgWJK|1ld#)gtPLvzeL8l+bXb5x0Ue6Uz7j~3o`tmc z1hA?2NHdlf!hDX^B`Bf_mmS45uI7NAs|iSvq1WiQ7@nhi1Z>YMY@J1n;mm8BCrV<* z9ci4i11FK`9Wv^ZD%Rnmd*Qal&5N!&pr|h`AHiJbA!EuGdf;Pz$*!12e^Nyis1JJg z)R1FHtAxH5M#!^mmhv6W{I!SM>6;LVwkoia|9vGX)lQ|<4E8pK05wT`ax$cZ%rZa9 z7T}_&mW_3qB%S=QVGgiIgmms**I8M+y;5#_c$vNRdgC+dOfp1r)8~%f04BL%TVqzH z+lM8jD4>+kmojHtb!`(iV;0xqG405>#J8|B<6W*1S>tiBr0-uz~roiAN9*>KM`q#wZWcMY$|ak&t2chGG5$L3^`O;!{(oR z_G2o$dQf1yfIsLR2%<@7ZuI>`TcKxDf!_eVgXx%R4`6xs(fW<_pvdy=$abF+MkoZdkeNYsPj)KVV|%nluPN zURLo)W%oo^5l6nGB9VUJm!2Qs{%5^vr`5kk-A^Fzd3FW1vyS6*_odJ6&|IHs%l}eH zCwm=KtLNhHB0c{MqHjPA29ed4GX+0(gqwR0mD_z>;K3q?uv}r|UU1dbaRzTGUJvs` z3&q(sI`HKBCLOG+mUQ<4cxwSjS2&>Lg91I*)=hOL&q9EP9Lv6g)8S5AQN=A*pcRDKqCbr^Gau*k{k+8S zXC)fo9_!_+jeZ8}GKroR;VbEuM|{7;3zVkx67!W;gD2^;dFPR>WiWKP6xObBOm~dC zi1Quo&nd-`!fS5Jl2HG)S+r^ zAZzq~zuAir(BXa{%Gd-P*=5SLB?g-|kaK09om3@pj8CX@WS*+d#;Q^4xw>F&#=nFx zw9C!_1$BcRAEZgyXfxAff@>EF`@C8*q1j#5>!GztmWQ8Zro5I%3{>1tXuw=^DiQD; zqQpxqSP*1yO@?I(A-Vg?VPBjE^)%RP={%A9wMMiybACKfwZtdfmPWQewIG9AvCv=P z-~gOxi9fb#Dax7D& z76UhsclU{m zZ_rkvf|<7PR0*zuy-yYNoLF0)E=?~D^4)WpEOS3g-Ulx`1|AlXm$m?6I3?tD_V(6r$_*q*I9EHAkQs6RBj|aHI6gzK4x_~Jgi=0 z1C+QNR_KQc&g&%B%nZ=BJDVpj^_en>ph(c+ySUMAdiYK;M|N)i=i+E=&6GdoSwN+P z?6A##ruLxt6;HpG%9g41Cr?3#myJ2xN=A0k$^K|~>A`l{ob1Q=c*HxGVboN&A#tJp zqRXYy!pH(Q_8A$wrj~ln`YVS&rAH*-#xviIy{PWlp-r%ubCB-3R1f~V`@kF4 zgryBDaCkm8Oso)isM)e}$W`Y#^?oPPzw>Y_Y!FZ<>ZJ+oJdpBcm@u~k%n zs9z2n*^@0D`+dJG{~$KbUUn-SBqvXNRx9X9Awn@+OZL@MJsE8k$ColV$0K~(@glhK zkaQ>TRJDouqSX13%)M`sbL*OY*lhm4D43Q0=Hk~w(&=F2*g`-}jw))>;rKw=`bo&s zd{4C6Afs4-+7;b1^HU_%l$<7v(Z-}kF}d|+$+$hQ&w_t3Z(A+fs+D~}zGz^jAzkiR znJj^KbtAXnxFY;D*M^GoxWF6uV6O4Lfjm@{xcdObEr!--jrg#oWI#!~P@vXis`vem zD8GmQwM;2=EW7bB&&_7KwMnEEoTMcy`~4V0A1QrJ=oVHovJCAjc4GJOHwRzy9lq}} z5n!|B{<7&M_W=AhxT(3;wJt$?Ue@yXjog@PK5_{E`D*OO_t^f z0fG=$AS{7k6iYC&DND%6s&pgp5kg+v>*lvs)@_pyp@UGMvH75j!kzJ;sqZogQnX(#~+;)V;sDpr?Y%P2X6hw-oGuCWFAdQ zB}wt+uok&bcS8sn~J(BTdcWtEJSr6nGfI!MU%md}zPp9mbyhU>WUtyG|g z#!Qn*Pn(a}QTNM<4TE0!VyY>g2V1fO>Oijs7JV;ZsskX=+{QF%ff)c$b%GhS)_Pth z5^u3iigt~x*@JPh+x|84+*+@keHVSmelEe~j9z zXSeK1^$&o5rUuV;2I+bNw|4bw94$hq5MtF8=j4WSf1~;4-DY3#W>7`i9R>p~JhyB* zTr-ytBzT2M<2~>uarh%BA+988R6u@b_hATc_1q=F%DhlL_jU8~*mb64>zaMXNhL-& z7tSQIGyncR&5XMPwnyn=q2850D8le*YdV2jGYw|67W6NTD_BxSJpRsHnaxR zJ2bn!l%h8M@weneXYTH{x5nNwEch>EqSu8Ghlw)6tCSNpr`bnucqiqmW&St%P`zh4 zqhwPF1S2n4b3=0r|NAlhK@P+sPMha3ReAsGvUZTeSr?X=4d)ZHcf|enboKu+i~~I6 zS9eLJ10vb0VD;bf>ms5mDgHm+1QZ9oa9B z4O$*J;=ywqt^bXlJUF_KdbdaTp9;||y7Qk%PN$FZh~|)YJkZ>$x;&@<%=+J-`@gZ9 zX-8Qvnx_2s;C|lSz4w;~OwZ}Ru%5YuLh(U(<$s|)H+F`r1^>qd2iN)Uj4e+JlK&G+ zS`ftjDHr}~NSWF3KOXj*IO_ihX^U2jrc)m$qxH)A^BigR4+{m!JdvG0^rAOHwm!6S z-v5n;hOq%1s(|2#rNGMWH}NIOq}3sj`5o@>$L-2qBQLhj#fdz7KGpigp8gNeIO;;M zgMl?xa(+z@OcD1}q*OAua2Wo1U_32mh(#>H*re2{?TXAzM-Z(>mGPwt_QU{Z`>ON+ zpa(^u>m&|;QhmUCwwf1WgAl?a%%=txuOFM|c2MVdwZEdVDBaKxt}8#eEM>o_V+VY?K#U zBw=r`#^S*l%>xgp0=Plu1MKein7r;`U)S3=?FU*QRV?ToS_pPquMt6CK=wr0U>Al; zI}K8u%7*-w3#(pz-jjW{+WJ9y`(3I;(n!ek5%$EJhQCVJ4_HLXvyx3Ozn>5Ctt~2Z z>t(xbl9FmcH0c?R&41EGn?H~1b!_8`&J`{a;{iMZlMsyVkXJ=5#{@6Ict({o5By<) zAJhUBKunmp1QZBO4EIs-^%MQsha1XU=PbOFaq}+TShokFwUj&O{}dU-Rb(HgH+R(o zS`Kr^pR6j&GvRa8D9AtPU>x5|Q>Uwu!)T3T#+Tm98s!#aki39DML7&0M zu)lA9x#SDgQ1hx4+pdz;EiZ&Pr|>>^N*T}4i$J*k<28450aSQEK$+mh3Iw=Z$P6HE z!Y_Snnq7Wr90-3^7e&Lk8f=Pt#`@bbfydj1AZV zp041zSDr|e4!}~QIK)=-pKJ$}WrPKlCc?SN%d3^MenT?R`&%QG&PIWiyDq&7z{9%)_ z`~iuWQlYY#$bVI0UQnBp6X^`8N{!y&HXMN6UwIFwH+l%OHJa+@3{aOn%*HKca_&Tt zj2HafX!QoOoCxOF=*PjDZ(C-6H)A50=#K-`(j}XZHJ*;mZg`Y^;utQl|HrnvtpwBm zKJV< zE(Z&S{wX5-{~=M;Pg=$9zStXOt_sQx(gf+5t*f^lfT?htp&9y@EYQFFnVlREy?Sdz zO_DNR@QX4f)AfJ?0xIZq#Ihgy^;h{Q!%xl;VTUxKc_b%+x>oJ)yG8r;VeRzHz&dir z5lMNhNArt_==QOnbq<3P2G5oSk6jE^(x!1F%V<0OE^}r0*(U{f6h*^aIG7<+sXUqV zix)_h?&qtuaKb_Kp-L715B`4N2*^8}g@#!DB-Oe0AFt_0v<;7FF(DWC{<4u|J1EQU zAx6a9+U1g_7Tu)`Jz8RM-!B$55NI3mz@rYdNv6XA(}HsLko_snbFojk@X$Rqwf>6X zg#&(SpmG`LuEKw;78;;uJ89#zl)7gKN-@q; zZOumM&8rs0iaSy9hZ5JWEtzA#n>nf#NI<;@Ss8D6npHkqitmHrc<(rcRS?1wMQtX; z9HepDF{1`J>?Tlv-5tjT6z!X>zSv%-*>R*hzUy9z-! zjMQUC1ag6no9BRb5%8M3YHDJ{WBI6}N%vd|iPwITQF(}eOS$v)z{=dv1S}VkI=yG6 z0=0FQgI&rw-D*`2GA1NlAIMNMGWZa+=auA#^ib=mC_(tvSiozCmZA3EKa6pp8S_Le z+OxRa#O1vNMZ&S;R5Z{FrbBhV0xu#yFq-F|iR7W(|G?ZF*@i}160xsN~ldAwY~Xbu)WFRUYdd%OFd5(MU!J%n1uiDNts;Q)X;I5)5inuF+iijej z(go=TqM(40A|$W`0hJy|LT>>g>k@Po5Tr;TAW{>mkU|GV0Vz^LNhl&x0t8SXNPll| z{jYn@`|SaZ(N zCS@7N|1^=+XGJwk;sSbnj+6`KOY7_gn`No;)LB&MCMgHiE3$le-@g({bU=13X8+Oa zfK9?wRZkhZSO)<(o&~FAqZ(EAbMG3p=5liYi7f3mU|)%rxxP#(WzuB^!{UDzDdG^X z_Vxj6UZ0zeHx{n=fzO^c;SRnz>i=q#g3G2*wHNMh9%>}gUR!uNR$Ae+triA4#H+H} z@7R{yOjW$*nBRHP65z5l&X1bgx%U7pX38dOTz*+t&*2iP!g|#1135iSL03RqB>iS& zg_hS+)#cNs9|F9TRHj-)h8ATcm%g~ym1Jw^WOl#x z8h`VVxEP?G0Jy0cy%xoWIMdFcLNlbX1u@B2?}0auY1!!t(#Kc;{4h#aH}V04*v9b& z%h#eeeHJo@R4Zre13G7IaU%CFeoWPHc;5bnfctKFpvhUq;(g`cDB}+hH@` zCp5qbM3<@>IrSN?c9N@(!D}7*DD{EE=+&c*czW&ZSMQvS6agg{Gk3MvSQL^69FdP} zy2q}ZTW{r~U)QuxQ4U(|METuM{FcVxO0u#D=S0)2MVLKz_*2CfXfxiC4vn=S6)g#( zu#+at%9`t~G94L>@mZh#jKlDES!M`Z_6~LLF@QwIjINDO zAV74s3G6d%SkXLawA98$QYc}0_X=wg5CKZ#km>5v6=cJ$Sx22X4OLw{(2lf*#EI!W zK$6^2{tP{-Q*c72ZA`j;kRN<&N3&Y6A*B1t}dp%}iFf)Ff&D zZaLf`mRopBNj#Ae=4vsmokUd8R5Ct4+PYRJX&`Er`Bz?mMJtW@jkJ)^Q+_=%oV2R$ z(B$UA&l6VW4xxhjR=nupH1JGpHM}=|Gx&UbP#WC75)eNaqwOng zHB$2YAaKKHmQgAOt_fv&^&Q9v-}Eo7Y3*_qh*S~rL8^?P(4;%jCSKH+w+ui#$DZmu zn*<=0YQ&*9l#FbI)X~HtnZ)zwPlyw31oOwj7*Wj!+N^gr?u*XS9|annp@Q?R+tLkZ zs(#Ag~>i*aO_6m)`j8Qz@IA;Fr@K=JO~W*W7r0E$FX=lw4GS^WC@ z6ffKE_xv;s(Q|4V1fQIkP!>33oI1?W*OT1g9lo1nJ7uB-T{ZT}Q5b|xy1K*CX`<6*uGK66Uv<-fLpngVCe{W_J!p0xgfD7LfQsr zZ7ICBDT%l4Y^G!lOF5TdH(%msk7_RXD;7GvQWq$1vNohNO}M{6a~+G^E!M=TCI5-Q z#{f{&bUjUn{`3+>*kM4e=VfCkQb$qv5V&zVRzzqeH>+HYIdJ~9^P3_z>fv2d6Mj(6 zTus+Amx5#NFq?5EkGGoP+mIL|AI?+SVoK#2$v!z%su|($M4~BvBgH6~+_Gsun z+)Gccy?B@$_#}JA>my~$mufvus+mJZ&w`7Ng;rGe&%Kp9`TSk~t~LO()@;6BqW=5$ z4zAC$y-g^`2mj_#@l+UMuFFZTqzdS!M`S>5VaJF&-l+Izz^o(*$^lY?tmaS!Uh zjF}WJOv?w|JCPb~VrX}eely~=aP7C}i*v5aj1asKN+$T!kpsg)=2E(zSxdZE(heE$ zo>D&$e|5hSfY6yzDTY4E<|@XN`l!i{onivkc)$!k&RMneLl-f!_6>H_C#&cR5^ z3K*LUvU;$smZ{`A@aJG9Eh(ZCY==6)@+zwn^nDml+=*~&yD3%&&dG{0JQ&=yjBX?+ zsUqv$5^1Hd&RfKMkKo;&OXNI%4DK*K?7`np|F>MF*N-+~lhY#!!CW0RP5LYen$>qs z=5#w1*KAb=eDi3|}@=#0+m@#%11X;Xf6`)&QX5Y3~J+ zGP+O+5Q?gb)F7HP6-f~mADp*;JovQQzz!_rm}gtwOVLjk#)px_Yz{Z*SYUuu0&5EI zv6G@qlBH=R9=^rb+%IOPHsg!9qZS$BIi!lBG=cXi46?#WJ4u+K1L2nSPn$u7sx1jZ zbr&h16MQ=w^fGC=uy~NNg(JzgH*eIWrq6`bW}QlOqW__=+m#0abeJ8Fw$XLlL*p%T zK#P~ohwGH~S`N>TRiL3cLbF%8UFtq)(3nvAFsrk&O*HKy4$)5t6Z}(3-N_hor!+bp{>!9z?p_px!*Y*4^L8DlDjtTPH6SBO|&V2BavDuErZ{c5~kNdU5djO1q zDv;gdv69!u_7TQk^LK_cS=Z~K_LVjatgP3`q^_HUnU;D`c2~nFPjlTxW z(a;WU==R$iCHI3DciY<9&WF13C%kM{R0?({0MVV3EA$5+ic$-YxrbYl4z;Ifd*w-I zGK7$?)JDKnmkPXcW01G#_2X)=U$Z~Nj0fYK@6{4<+4ZW_%nZLfP{2@sV_F=5*11IS z?%J1)l%`AHODCfYoD6OK&=tZw>Y(HBx{y8zw(kykv>F{SCPYwo5U@%z@-{ z&|ofJGBGpWPw(;MH+$2Q0*6r_W369$=rh=z7}dr~7$H$ADr9+4^B24o%(sbuA;Tf* zt_Gwq_|+@&C1QIYEgxY^@ZJ2nEQR+OKA(@teh*R|KU4PkEL@Wa7{kKxA|9tFbmL#ri#Nq1AmcSwjjL?X|GqS9;#N z==uw;Ed43q%jA+0xGQ)EWm0)MXGmoQ)|=R}r~zF_P&7L^d|I0}u`kZw3}rpnG738k zl1FP#$P8Zy?UAmzMZYkS?|b7Ri{;ItIQjbj(!&w54n#eu^iv>3kXyda`LFrACl3i> zi7F53P4Zs^xA53TAzOuWE}T0`Vy}R!?Tl$QL;Imim*pTQ_ZwQBW{-}*WsKAgb)!D6 z!={@t1ur!KWL$uEJhQ!enroDn@wVPDF#9C*)@;Nd- z;6A5lfc7{Z*an43TR*(C2GE3k3(-vITm-TzEyf6U$l&7B7{{$j4o3yjRC6mlLH!qa zjt;H^)NCI)C99}VNGVJk)nY}4|4Jjga?d^z2rBDdt7Kk?j%xf5P4vEV_8@Sp zHjNIu4csq`r6(v`7&nJ}Uv&Me)7_$Lw}r^Dv?r(jtoG1=?hiM$S!(6)oE0lr?1?@` zs|lu5CC^oMOh;H`HYES%iZ-azv(+!pmsN_e=^;Mo{D{+~E?1xRyIf)rA2KQMQZdbp zjAJjl9H8?t^vqm}ZyPBM$8MummI^BX8;g3xM8nkcTJhP%!15UE=<*0o-^Tyq zxc5#4p;|byKiM2zD(16VLEA-l#Ot?P?W2gOG=#`zV0cy zT)J#rJzCS|(kq+0D$N}-Z$JAdkkN#&&&l$JJhdF1bMxAj_*)oasAxAfmg5I7sCit< z-_ret)F$Iqyu#NKRD*1^R_AqG{Id+JM_psLtZEozC^Jc58-Y?%vPwtsK(x!b4|neA zP|A?LYaUs_z6|HC=JPciPU+QO|J2EFB_PBE=+fg)E+{H>*KTEu+-pK5p?aju>OA7! zx(L6LGp_L9mJYB&{50KB*P+~`Ujg3V;-h;)BWC)^J&8^!g>}2+i(H>+!oV3MLk3-F z&;~4KE30j>wbj4JWtpTDA_r>FezwujrXQs`Q#>~0XbzsWREJVjV=qgj1=^7$3tu>Z&Rd2veB+sn+cw@kzNoD5?C3acy{7s z|D{icTP*je^(N6x`vfJKs(PYL;NZa0*OZ!PJ6thCL9AV@`9RhsD>uE}iNSg9IVv-_ zXv8KAWt>^CW+tYugULab@#Rpj?Z2kbeR=_%o3J9Xm+pr6?EhreIc9ZQq~v&yu?)%z z4J=un#n-`xh@0k#!9ZB36=AoHf-i9R>A^zZPlrFL!b;U_=32+}bm`#`@uX~n3JYVp z>ttZS*UTl)?1Ge)k9%AMcrD94u+4g#AE&)fWkReejcv>aFrhAXF2M$bbe@6>Bu3byAV8^q+IyyR4UkC`mFy_Y6@Gvi5`sIS6u1i7PB0Q>-o}e5P)_`8u*O619aCjQI)RjXIPB~ z01?!oGB__NXB--)j7%EogMznIxD5gL23D^-1fXlqSK7T zE@{h{P^v49@wW_IwJWguRtXy19Icj0&n%i*Q~PBQ$<#JkQ82V>#r(}$lH}c%S(N>k z(5kpyQ~?DaqD?Qp#F$X~ITu)mXf+g>7oF@yx) zEY~xREVWSkem%fkMGyc9V(fVA^~VR__* zH0~e|d=3LLlC*y^Cfr%~_Y=TV2GE@RCiUaj|6b=JiOr#omo5@6pR?*c`mb#7zI}Ax z8^AWQC;X|g*XqBh4}^Re>ZoSpJofzr%DZ|M;En+q(w-2lQ;#D?z4U(o(|7DRi~Cn4 z_5E|G@L4n)uwzWj_;#(X?y+YBS>93EDie0FB^e10?DmddGu0fE+w!Kqb_qPV)bwe> zJUolY|4#x^LJevq`&i(%C+Abs5p|!heMafd*j5!C`T2P4 z7HG}aHIG(^R}6WCmjTJ#qH)69!HS7s%l-)-XOPuEty|ZzwYiZ+bHC%RqJ<|C%n%>% zqz=p-%sui`K~}lcAJitl}PaFhjKRYf|mA~e8~C&{bx;wG!&C>!6Bxo(~trY`+4s$ zGa(KR3E}nucQhOd7l|Ov!Rd9;Vw`1C$p4?}rQZ_)iXsh%kf^ z##w5T4_a~i6BVlxG%&4jXGDv>Fj2bb#>Z(1s1bQdSamK@YS~y@Pm9{sMMryRO7=A*yg<1Slb7k`luaZ1azKZK@T-4%?1=sIZ3FA1^65JBf>w)6f zI*L_xkH6Z}fP-Y7*`MccV&x^RucLvk@`4xK-+t`s&4MEcRkB+appd` zfPs?zo}0xHCbQCibiN()IaMn3ajcAW-RSIi8Q|{-CKCEz_r#$3kKldX{K4j{Ot6;@ zB_;UWShvGk>Ol)ReT&?hSSG@9{`E2SLZ+#gI=0wYh;_dJx1C)9DgwL&P$7DxWmqPP z>z|Yf7`{9-_a@)hfD$fzygsbb^%12dvkbFD&JF-l?6wc?;(zK-Y#ieGPw8eL>h;48 z_W!E<+1z6H{Q?X=2kI2INZ4ZzPr-(QK*1x4D%+hx)C_rvdq*^~7|z^p@0*kk?)T(# fL^`*To0MTzPuptxnYmVQ4;x%F(k-}p=a2sYZTHD3 From 8a2d92bf9644b806181a0ffaadaf809c94633a9a Mon Sep 17 00:00:00 2001 From: chungkhenhah <53897209+chungkhenhah@users.noreply.github.com> Date: Wed, 8 Apr 2020 18:58:25 +0800 Subject: [PATCH 16/28] Delete parser-test-loader.png --- .../readme-images/parser-test-loader.png | Bin 49209 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 SDKTestFramework/readme-images/parser-test-loader.png diff --git a/SDKTestFramework/readme-images/parser-test-loader.png b/SDKTestFramework/readme-images/parser-test-loader.png deleted file mode 100644 index 638bcd2d2ea68bdde46b46a359b5a965c75e9793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49209 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 Date: Wed, 8 Apr 2020 18:59:01 +0800 Subject: [PATCH 17/28] Add files via upload --- .../readme-images/parser-test-data-source.png | Bin 0 -> 45027 bytes .../readme-images/parser-test-loader.png | Bin 0 -> 49209 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 SDKTestFramework/readme-images/parser-test-data-source.png create mode 100644 SDKTestFramework/readme-images/parser-test-loader.png diff --git a/SDKTestFramework/readme-images/parser-test-data-source.png b/SDKTestFramework/readme-images/parser-test-data-source.png new file mode 100644 index 0000000000000000000000000000000000000000..8b24c5c0b69bd67301aed755c1bb1e9b30fb0176 GIT binary patch literal 45027 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 literal 0 HcmV?d00001 diff --git a/SDKTestFramework/readme-images/parser-test-loader.png b/SDKTestFramework/readme-images/parser-test-loader.png new file mode 100644 index 0000000000000000000000000000000000000000..638bcd2d2ea68bdde46b46a359b5a965c75e9793 GIT binary patch literal 49209 zcmd?Rhg(zG7B;TqIOt#*MP(2L6_5^!6zMWb3jzWv9h53kB7_z~$k+yvCJ=~}fQ5ia zlNtg9EJzCw37v$XLJ~qCkpu`KB>CdpJNM4qKj8O!zUSk4DEn;AK4-7B_FC_H*MgKQ z4%T~rKKk>vZQJ(R+FWwpwrwYB+qUhqyM7X1xlrGjD*m<|MzonR`T z8Rv&I5?|O`{+hhG2od&)R(nDp{PNqblmGb=a!CcX`@h4J4|Fx)g#XNbpE!C15c2ms zPVSXN>HhtWCx1M2F8KSRHXnXdwg1~QPL|$$4nO_(MG0@N0HprDXo%bYC$AAQ?Yvn6 zqsZ`TVNDjXTkB8^JH+ZIp3GvCu@O^?e z7m;e7-KT$)_w6_hn_jcy1^ezJANhwss5T>cgxLkT?4@eL!^XLBS_#g)UH7zT35WkN zBK7Z!+ki?{?dY(e`FHZ25w1fN`mM!xUliDQ)qg0Zv|^+YwaQJZAE_zAjW}<9TxR`K zel|JD|EmI>TDy>$jN+{;w1OceQS;x`@jzFL(+U@Mir72BuYi|?LCe6ZttEr{uk>X$ zkhvK`PWZd7emj~|rh(FH&_s!rCyH}-^nuv!>v;h{D3jVfShc0H>B*z{-h93PAL@)Q zXod?n{Vzsw8a!i{y{4-@OK`IyzY;^!WRSpoG2Y2pny`M<(BlRW!YJLUG+)NGnf`r& zlWUGMcJ%j#$otOmSkZ>`j;O@1{tcIeUbuO`vqGBlW@{oH;uL3WB6^ygWW;P6M_w`_=gDo(pgePzm&4z7zT3fDENt#tNuRG7#(vXhN}GXJ`hg=gR}T~k z-fZ!KRfBCcE*e02V@C9?kdyEaK|fh^Mmr}Ao0=mg z=H{qHL)2TegTpbg@@C#=P=Dm%I{9NIy`7!G)muFfiJ#f>(@7C|I17bpAb;ptqFcab zh9)GxzFTx>uAys(r=2uc6D2cf;8t5J+lDx~v+WLpl zID0Q%2e3?|uA9}i=jcOqV?G``e!LNzf2n+bi1*s#E#7_~JtRfZZV=Z!h`~Tqy#!wNc)sztzYRaz4=L(gf?tsu}h|%GPva^(~#~EoI zcX$QvmrKk-l;_Zb~h>|Q3_bwuUlIfEZh?J$oJtddE z_@52@<_$0)sw}ia&mL@aXsV#;@6eWXyRJ6gT)a}+o3I`C_~VrMx$Ou8mwz~y3a#g2 zTc(-w>bB6GNw!S>mm}cM`4fYNPhx}%A_{(U#{`$^+bmSPgE262-iX^V?zuU$m;I5o zr{7!@6`{Do`j!7;#FxbHstu$ROq9;a$36wQiR8o0@of=Jyjhkoe{1SxA;s7ci0IUB zCa!PP&YO!Un~xm{8=~m2Gu#Q8wW`diuj@35?99b(vj~Lw7PYl~4JN{uexS+FRt(|n!#5I9WrfhB`HmP%q z=oGsS!M!c+*f{7lm#@Abt07u+ER5TC=N}&YwcP?BMANP5Sq#;@V-2I+jYrgaA*fm$5NZg}{=m$_Zcrsw!h?&4+o(Zc3s2^q`b5WOzAkT0mXY%pN3XI|4~?bD__u zMlvgL6~SgoxQutib9**`NCn9J+Xq|a{9^3{PvOGyR&7>Ezjho}-N3x-isBeQJNj z+N6>fhWy#`tmAi5eUvxd1fwmcp}v+w4rS?U4OE!%YUgYctKAd8ctu&N_M`>|E0+(R znrXAg?wt|EbS8P$Bo*`#^Vou0W)iG+n1v6&dd*D@su450+Ht!g>EmPufnV9Fq7qZm z)SkpZHc&we$5Cbz|A@<_t)tcOB>p__-q-q~$`bM(jqs*lggGo=wqp(H4!UAzS>9x@ zc4?rfjYi5E2|5s3?RTWx==QW~c#KC%pPlOZ2#-EEw=?gbUZcWR56Wl%_rcX$Kb~ z2orHEaKO|SP4mninCr6Gn@{TcTcPI_WEAT0-W@iB_B z7`hxx>5efT8Hu{#>t!Urt7D%kvNe}r+YHc$%HZ6>WVXN3rA{v`#%*+QKNsQwpzs=-#P)5qdjx>z-`EfZ&hzS zH>_`c^Q-nX0AthKfY}DZL|nIaXSCxx#qKhO>&Oxzj9yZAMbOT!t6c+xP6@JCCbxzk zOV2FRThTJ+j9sC}ZI>rO8_|{=AA?ha&H&iWkq6fnKhCiq{*LP#V9%S)ogM2LL+p@{ zV$aWY?rL`c(WKeE84Xd<5(maJEJr8DtJY;qz zBkwJ2rK@)4hsn;4;@=&u2_2#@N*tpCt_z~duq++d6{hZE^&9`!&IHb^M;LUNj$D2Oem5eju6N)sA_%%x2KKl zg)#)tY4f~D&hxXEah2w~Jj&hcU5cl2;jVEXQRlv~sr`1r%gIfT=p(k^($fz^cF0L< zg0-iNYjm!wF8BN7V1)+5!C$-0WcW=X!9uo&@+-J-%6)FEDx#NM0v=cTOXf%6+L!PY zX@WcCcLbN;*zW~L$n7WpwA*1u97&W#3}3--V(TOnOq$1F2X>plur4P-UVb^wobQ7PTA2IZr8@iELUG)Ie(l(<*R*{AkHS z3}r4KqP-S-eM_wHx8D#F;dU>Te;XAzx5^u*^;|(8Zj4YEIfPo>pB>em7@!fnzNHh7 zE$ekM3}K=o-|TB|$9#nol;fy*&@WkzWsLP%LW5> zwE3w{E*!s1q)aJHR2jHKrPhSb3a>P3tbYK~48Z{)XP=q&)M3$IBBv^9Bbz&F3es32 z#{^;jh9s;6o>QFiLs@2fe%#C%>$c3pF+#}|v9obVqN$tfTT6=gknx|a%8@G9pWZ%O zIb!wnVfD&96GFS#5U+=$=nSi#Z48TD*y=L+IzH8$(HvX$wk7ghp@FH*R(!t+{aKu^ z*fNhyiq_g>(}?}mE*cKD%*!Fq(I|ztYdV@$F^>i|aY9TrIH z5OixTAZs7etjkz_!wV$?pdVfdrTRyGncsm;_J=6`afCzyf4`U#mQLA%tDBIcvuV@(|7xFIk* zXx1}|kI#;Z?k~3DEb1AyYHO+A`w86yLce~!#$7+l2s9J58ur5S^^v^m*VLjE zIQfQymM9E0KiSRN9-Rn6wuNgN`jUhW?+!^NyzkQ9;?jP$T28PF!TvF1>TP>+`4X*d zJnKtFZQTBR3fr~K=WKI`<_L5++i;=dP-=r{6Xx-mk+f+?@9>p->ZDpd!J~>cns_bh zSQ5`^3hy`0|7|`xlrgyOwf(In-7ngp1S2%#wN>`B{j|7I2?I8b9&6Pd@~tB5H91 zJ6yly*tZ?;^$9imG*RYG*?SeAgxLyE0KM7qbW|o6ZrZxpy7I?!b9r+$^`$isKITjF zV{=5ee?5+yxHPSVmdGOv`GWw(1H?bdzSWt6w%{gn$G86{`y0?fSplTeImcb;qxtKw zgqf#CN-!FBXl}RRqUu{gS&tNZFKcrd*#C%wG=2N<122#*U0m`+@?klwVWW&QP}sk^ zIJG6H(gBMjE!2+{>w+M7+*lml*K|h}I&*A|F(ZWW)+Kc!nNpCwXUhxX*&opZ!!zVH zT`+2uc1kv8wGN1M9?lwW+fVc9gYh{tRDmakst1BJpoqUFa4y|Y70lW5gWUk;{zH4K zLD$ta-^I9pT1)*7{Lj@^KF%Ysu3rJjVwR2X!wJH$H#GeM6Q#JL=Chcd;)mS$n)bDB zqc;JR_i(7q=>37j1MD)yLarD8P4iNL!;&V02h)CiJIW{GJ_5#)fXoZq1{7j2dF?jfh-JTcm zt0=r*9hI6Ur_GxrKY8h?)&l#>*V*jkz5le+k#?gui1NPAg?)KeI~69)g_Y~qoHLEF zFEgE`j6G}t3Cn!@D``s)7Z)3koqr0?${E_GpPT#gqC@0Xkx9;KVyFIPM|<4Ec4uRC zi6V=DWeLhFZgYdd{QD{TmH?CFP+SK&$g&B6v0S{P6bA82L?yH_Zn@J0$j&0*=hI`y zbC$gwd<`V2uXUi_Vr=y6#^Xnp-1$tOarPR-d@AHfxmcY-=L8OrTrG~u^b70lNOe@q z&}}TTa~)1FQnJ}xOqZFlM!IZv){_15@J$*hW8uwYLj;=OG(VO{2z}A1S6dn60tg*& zo=&P#K~RWA! z1LuU%yxgbq90`!ZOZiD9;*fi$`{(5i=MMNjGB9rTv?Ex!ryJBwzDFzHn2Rb0&DI{B zSV{YF-1mrE=e9uW zGINKdjzKr@{>-co-{>?yX~p*jpH-U@!#$|?mE}@vo`;a z$R~PWs}Dw~xGQ&w;7>-c3?&TH8w8RPrXOQ{7Owy@m4AkX($Y@s-#nKSe7XvQUPJ#b z#3fdg!iDd(_>my)av*s9nS*hph0ofd_3K5m2dM}iN)BNi>wTvD{iN}{`CSSqV#VjS zC`u+fICFz+vkWeJd}LHl9fc;24E$K~h~q$Oa;<^K&c>JTpmh&nPwzY8W%U<-HlT|Z zExkJSboEfbPkxBZ%4JxVD}WE#U7mBs9#<*+jVR59)I@chV|@z~5gr&1mgR5v=R3Ts z9svpK&W%+nv1;4X<0V6Zoi5xxx?-Fujf0)~p1v0$i}X`nm5uP6x3&AFP5Y2}FU(V? zD6dyOA2V9X0!JBpGqusUkDbffNx`3xM=zmkU&4=flGbY6UnNX%5dB~*09*XA>02m;D^Sjh7m+MmQOxXdTp zl{+d+Iz(J)bDqY)EXj9v0L#CfT@n6p;u}6WL0$B4$6pk(b9l$M-a_`)JIRg;ojv3O z!$Wai*Uq>N@oFmDXWoL?y>DWewJ(-f0}iyCYDCNVlB&AWdSZcXan9k3Qg^wPOjKju zbB}<<#6irofpw~b>6aT>9i0!lk2ooa>=WP>?VD$f$ZTxj4@II}|ThVsv6~YKT-zR%b@L+0(7wR#OF| z^kkO=MtHkP6p2(5!5f%w{FB`y0fEtN38ExxJ0IUKUN~ouT4^FOn#)??OAkm{ZKmFV zCD9y{G|ZuE&)V!QRlRZZR9UrS2cVziEKD_tiORF;-hP{sBc!{8O{s&vMXJ&!5|cry zD5T&FO>^I5oLyG^Ob!6x%N=}cV8oS#!LC>hk?$yf!@CBm3f^jgucZdi&T=ct;6oHc zOaor+)eN*qzt|2K;#KK9&D&}9sW-;{Au76W;!(a%row+DpL1&}L7z2$m&wDv)l&Mt9l6K^T$mDLBuK9a`Tyt?b6Uo9X>E3 z%<6Mk{qe4X#A%X_v*et7#~Xt;X=AtYD~W_`o)z^RMpW_T9xg_=K5rf%5_Kj*K52Mh zm9LFr%A{v<)J+AbM#3;5;gos9EzNpuqk0HU7#SxzXVAcQHJ`re6I9(`C7kCM4uDIK zmv~`rI`lkeY~XyoeYt^C_hkdwglpiqul_u=FGL@R^vEL=%o;H7Gjj<1v+XRnU_)Z- z)Vr4B&>?x4(4Moh^4e9knm9t#bcIhSfUW}|LedA*D`0>5#;uWCqmA%b9mA8Elf+$i zs^NhiR!Mmf|5YlgEScDV%e^OXGk z(?UsRd!T^{=#m6*R-o<|qvcM$^niz2&4(HXTC&zZFJM}KK%f0^9yVBnIf3VkblMJ# z#63l=eml@`Otb8&YBh$F<=cvSMaYr2ij&J}lTYpY&cnMuSzHLwbnYa!UCb!zx6jKy zZy1uH65EVo6cx7m`IJ3uEPjO7fOWQan>amlxg2W2U#gUtIY6=yD@8tzS@Hz97M5$? z9{09g-spHAEW%eCw)S#jz-iLKuu_DE&Z;)Nie0yU$q`uJ4fTc6OPuKyBO@JsJcMRwN_fMM6HU?PYeKqUR4~G?201cp4fMQ_lIUhhRMq@+;`s)aru%T4UGY@ha0BUcQZPAW{~rycr$)-P1w?a%0rF9s zIr$**jz7C7jL6P2si(h6TYwk0emaMwA&s>>aM5)u*p5}3rGt_EvCH}GE)Sc52v>Yi zA#8J>vPV#}sZia}DCs1t^nt}{vqOpKl8_qQd6uRh+gw+5uE5~EoAoIO&O^W=UT?pZ zQ93>|wtUN}N}&RaYV>KIL$eA;qDbH1pDk8(G$Wdpgqg6jSE3*9_O4M#jFAh{oVGLd zNyy4zC(V79U|V+!H_L}VLC2OC^jDLFHrDqcTKgYoM8#4CX3!)LA^!KQ?$#OW;+epV zud!AziQ&{}U4BL#mjg&TZc$DA1a%jedV=27NYihz0b*{e9~n;9mX5B8@UH26v*9!A zzC+KSOc$%^dO`L+m%50md*h=P=;VuMr|3NZ*J#+s> zmN9Zi2=zt#Jij{Mfp_Odl!ul6d=lt7Sk?Rd=Co;~zt6kSQh`1HLF!MAA@22E!n={i zVn zBQ7R#!W;oV32QfQskx^VJaeN{ywq74F)^xKojr*j6xUGL&5;maSXgh-kixAW8@2ej z^5%SgDdi61wd>F0E7maZo4{35ju}H`&aYGP6OC@Z_3?KT-d9idJL{6CnJA9Qf+&>D*?yGY5P>6tJ55xM%qVLjW8_6E2#JA- zJgo^LAtz)p`jm$aqiDjTi(l)TsoMb`5`;X0bu8RF58}oP;R>R+et1WdgzFB|fj&2R zCIMbOW*+gUQSye&W0%-=vusp!O#n8MelP8qi88S$tHDFj7^Lh=fEp`79I5-RmjUcT z6lTwme=OQjV_e%12?<`}d$jFMGK$6d+CDnhBr-E z@tph_ggEZE$?NfLUg{8-^^KBV7H=~{9R+yPGrf26K6z#cHU#^VrZ-A8$<$?Pn zzkJiM0))z$t3U+YP!E=9Sd89`)UMk(X=dGDSUr@vcS%2W_8CLM5?w)gHB?*0(Ki>8 z3aK_zz59J~VS-@MuWqA8!>2Yy9ip8L5B9cty(Eh61FLeiN!%ji_vghV9B~-ebWDJU zVSJ3liT~CzJ`VR1&(xunj}P~t)=^hi6GX%kbM^1Fh=6M%S!$n*s|j|d==BGaz8i02 zws=68Ae+>|mOgw~cvQ2iX`nWsB<47DPt%2otbUIn81Fe^<^`z@w)xaE(^8mp3sc>> zZ3An3zg&0s<2=66*rPc4HT{^;#v?P|D>iyG%(?^48L!(87v4P=Tyu^EsyO7(`2}7T zysk9=N_62+^cCH6ig>yFA@jM)Rx?cq^kEp!*{JjCRdNh)_RPuPb|q9n#|b>EA+Gtc zvj-=AFqo1ivR5d~J!ie|`c*G#?uMK}jZaRFbw7f|T4YK@_41u%B!9{Fhyq6j{r$rFlEt^;SNq>rngGlLdineBMvbHGXdz0}OWjmg9 z`u=3PLaFRYH8HpgwCd&<2S}3+!wCg%4ajQ6u7CNW04wl~S6eCDIe-vIX&nd~#nClp znDTJ_xEpaL&ArH-vkXc9A!+Xj!Mbn1fn0?*no2IC2`8}d@mnE$UvZs0k&*04shwzN zTG@GN=EZ2yo-uM$kCX&$-wZT$x*2G>d|Ap3z#s1;N;`%a6%GUyt|gkZ*R9t@q9-or zS4tfp(iIZUFFdke=7O#E$9?3943O z?aZ_~p8%f{UoY90MHhw3RD8xn%XNOHDWI!?hcxLN5PxobvjLh!TLS;5^72^e75wzh z5F6FybazGK?$&m97h6^PBR=na{?`LU&rh_yR0WToc!T+;$;P{~u@ac`Hzf>m%D~rf7@hYo=u|k&nhx2wD8W1}n!kn?6WM%r&a$^pU z4Iw8{8>&p$OEquTdfx*k|IxufH5zmQh}*bqi;5a6X$1G0*+<_SizL00HLCux9cS;~+yRXC5ewq2OVM484tfWpW!&TcrxGr{LnrlrZY!vQ zn*m+%ADsX>K|lXb=Su~EzOe%LHkC$TW9)=@V2vc{r;~rykpF^ayH1XwLd2z!N?tx< zj?JUR^1Zr}r3q~9Jkj|(vJZ5P{;sVDR}o?X>HXP2G>%oKh|}uJKCK0a%(9x^ck|Y4 zO0p02(*6G~{ot2_1l?<@)jX`R$VtfYtwET3ti0HAN210?o7+?{D&YO{PO=-tKR=huR$qEjI_LJv+;wthxGf$%}c7s3IFO$hFGLzNd7gT0 zN^0%Mh-bjy^U7jeEzYg)z}S~ve~EqALZVLm?wxJ|jEiF12HCnYG0@_&FYq zl_@CS7qFartS2xXJmp{*p#3haRH?4QadUG=eTZ9j@NLq;U>6;B{3VYgn%S1y>61o* zwU18ptqu93FC}yzxqjdAKhO2(>$k2A&mtmOGcdtpcK})#!-Q2>##c~gLdrtwft1)gc_@0 z-)tmyd~QrsgMFnaehW2UK%qP7^p2h&W1Tp!7jd-ask)P@A;BjS^%Y#C`rhA*^3XoZA2bUoy#%3hhVP0GS+c>O z&v|yF=%AjOCI5x2SkZ<(t8#`x+EH|qQSCiAD3x-N{Y{cT|7oY_*l6J6>Br4C+w?Tc zxy)SU;{HL1VDyf&S(Iy>!|RQLL>eTau(mg@c&sF@ZwN4?7!PvZx0jWjERRNuHr}k# z!aG|=fIrPLaV#$#?N0U(xxGXa1)vvF`wsFU$*;+Xhn4ZF;r(T7EgH#2F8@k9iYi#cVp*=Ej3hfdFg`hPSVqC>H9TO{|XM@4d8jqc--=MOi$&n zyOFu-60v~!w(*$G(I)p(R9$(ijyCsk#rBsqVq#z{?89f%yPxB#!LuiZX7G`E0{`=ffC_43Peu_i15bk7l;_4h%c z#Xx?C5kCsz%7ePM^uq~%43LYxY!l+Hb}v)Z))LT-MhIU0{PUZ(`47W{;Tt26Nw+|q z)5n?hK9N2NWW!eq>c&d-=i^M3H7l(YJEaC~qP#t`a#WjbO3j_x_eYmnl|sOu*7WR3 zL6x;tnoYuRB=f55N80H4fe~`ne8;5dSE20y{B1&W-Iq$^G%ZSO~A1Bfa-wzdgoe zR^vOw?sh7bQdUGZ3dlpFxpMH-b;4K6__ITswY^eprl`8S4~#0JfMBP*{1A1hbEe;p zUX>U?Ql@pZD!fdG8e*neYkfW9+7l08PULE%IFkPOMp@;bOi)3o8d$Vlf@>Ur5k6FJ zNoaObU;5b!;CclR>cM=txWn1{Yp3Rrb5wNv5a1_rT2xC>(-t zbPm%}>C!3}j)!PP%ahau>_^dHNh;A}hn%ZIgsQ35eI`_Q+}k{?_)%obtcy_lTrt{6 zs8HyufZ`r0dOzmx(Y(`Jx%6LguL(pEK-u?eNL(gSo)l*P@_^eFUxX=sF`>4%;DLx; zb&Pl;x5aS@q$R0#yOPwsY5{iRE<@VppL*IDYxU`aer&3P#(9jW+0kX^>X#pS*Pl+f zWL7VY8CuTauQtoiy2iWTJqjlnWb{hyM71xE+tLlnC1mnUg}589p23IG0GTc(t$|@4 zR@cEb=&5s2=fkU5hl*1nN?#m&zZ~CPq+V<QE%Q)(~rhyU=CF7ZCYss!gxSzR( z!01*GpMHQIm8Thz(=jub9hIiYQbTv+*R(|}%rSPE>?G*d-h)z zCsam?T8^e`j}vVrL0Bm8=v9C*!;s^_pBvCzW^ix378`wdXy5-4OQNL#dpWl-oW*(ub`=UMECmk zfj;@rTjX3qQ1N42Dg@tOe6c)`7#hiNyi9d3a6gUATMbmOgfXs~V_>&B?%&)ynn09+ zru7Hzle_rc&HO%b%@EV4X4?cjLkrV#RWVM<`&HGOqQB@12p%M!u~soZujtsduRx)8 za4B(clfgMHu6FJ@)=;}G^Jf5EY6nJYR+HIalmYeuRIa8xT_w#G`cI{C15$2kpri=2 zA!YA){yS7-;O(#rM$9{9iYuo-&u8lCo7>TMJ}IN*6U!)l@gE$GekpdIhWw(M^U+R; zeIxS{TG?(3y!-q6-LP_yhwB+3*tOYFAAPQV?k2Jy@Sr3u2koxv-+05=sA;d~MZdpj z?hp5x!hT%Z!6YUO`8Ye|q8iTyuW{r0&Wc7~?Je$@`x-i)kTsZV+WJk+6%edg7nBdd z5NGCddrft84xhO*YgAl?;^-T#=(NyQ z=&QxLpU!lgj5~ONrk}$wK?xRz-)~1$l%~<3C0sKq*$^F0cAiFKr{RQFBDeh0xicP{ z;y8BOKJ<&`gBjJ+NiB|MY{ZoGY+iXWSt+>;Ic)sSGCYQOUR_&s0lo6L%GRq1F=b|| zKhy4{1Fnw@Z;=6dVRO@7*{4K0c_dRUY2Mg10s>g{tZi)sHd+vJ?m zTyk>Yooih!12E)IaKhI@{zh}G%w+MCl|Hy)OaM!eP~w5&-np5=WN%#)y$Ceb`MM>O z5ai{jj?_V0CUh@Ray}5gI3y3BIxyFCK0!mtMQXQ<&#cmcx%#}^v$mM~9JV}XT-pDi zd@8QxT>qpeK%4pG?o4Egylp-ux*8B-NX^d<96lK0Ypjv-VRs6Um7~w?_%$+N7i&{J z`p4ELH?1C29Ht?u@DhF!$N1gZs5AsHRCFm7qS%ZXN!UIsmAg4~AqQxdNANM4aO8)N zudQC7mb7<#Q9%Vi_%q+VrBfn@(DNSWhJ(x~((C=rJFEjd!w@Dn5ih~YMpw~8Q>fZV zWQ``le5*O_c)X{dc39SpQ9g2@!{5<(=xI+m0eJC3#5o4Yf*c}DZ#b9G2n^aJHi}^>v35c$B zxvV-Yzf?pY9B-enur%Al+Zl2v&xUqd^eXtGzLG-b;o_~K!toxfG|xM_FW~xKcKvU$ z792U_kgVplzW4mOES-o6*o%umwq20FV4}@bp?^nxyQh_j_S|S$^Sv07Q+IyLYJBR= z!N*T|=f|tye1)Rs5!s{P_9SA~M zg%dq8DYS_+iNF;7aL+lxN(Ci8-M^oX203@X_z;!p{*6j27DA&4$Lp3NLjm3Td-@Pd z?9o1iut!U#ZNa-U-pP}vA10k))9C^yVg$ot0g)TA_ma!QCgu_EwwoPCxRqQJcYD>X zf0)d`z_#;!pIMGs`Pe5zscbHt8){wN5Hlh}@ufnPbVTWdr zG6e1Ez=6TS8G=0N;=o6cy*TIBEgW#mTq}GTxFfq!baSU>C3>d|K$cJ&H`Q4kx^!#R z1Wq{j+rOEe+p3@z*J-)ORBH0|;HdjYIn=?3AHG`!$QJkQ;<#kulo9^bLfCH!%fllL z&|$~p;^1&UtKHnfE!wlP(cDPor4*(!|EX=H7d~9tfbZ;4k2yDY-Q=igVcyD&6MbdY zch1lw!L@uf?C79E3 z7S>uMb&u@7lo<^6gPZTSdOsg?kvVOJ}S}gkJ*a5JjI+RX51eiPG7sE zm>uVbdk=1)9TjtZBUeccPmg3w#!&Np8WW;}TrPXbB3=Oxm`Qlvqp+_ z*At&%=B3Tlbf_BWM*cL*(AKX{BWvAHc~@_t)a%QDv>%3w9@}!gQ4Y?ZFUgCt9`7%x zSf1g5bPwacK3Zi~Z$;KF)s6IM9ym|Sj>~vOxY=d+-CS(ogfHSh_!O^5^gM6gD6@Rs zPsa>FQ91}~TS8#E-TlTxE4Lo(HJA;+xg4=E~cwyaGS zGOCa1J8ruIU|w$3tdFMro_19JGMjpG8y?Mv ztK^Gy)BP#dzafsM1>*ONeOm(^EsGTkEb@I}`f`xij^*yEZC* zn2O{|@7AOM#93ZQoDqVOTfC(sc3#UrfGw*QZiR3!*T-20l6ZXxxO#^JIuEqMR(lqSfMDCj>gJGqsR9lRn7q1@zq-nF7aef%pWPM1UEco-MYn<#H z;JkK;yPAf$j}Q}oU2a{Y9A1O$I@)$dLoc||n6_HaRse=afH74BwzIu$*hBC2T$Kz4 zX1RatHGF-^^~$?^xhySyYyy{vQ+qN^iU@a+SAe)bdo6CVNRc6`Yk=+fkZP#=sFH%E z$67wTof(Sm9X%28&MWe6L~qy3DdP=o3Gx3|_*3jRP8NPyJ>El^+&ectLYv>sVjF0= zd+K>52A2d2UWFN#+tv0DMc_BjIfxq-v)Dz>tyZKTYQ#_mVE=QLY;{{$c;DlZJauga zS@ombMKzetd$EX*?o~rIgvgj5Lu|Ntbywz(@ZY%nh``id%YYXf1ufg1y7n>A>M-dK zPqx`{Gy;yWRT_YbAkt zQQzN!z-lI&jg4{amiYR|5T-1~*3ft&9`Xm*whM%bV=g4e73btIO$ZjK)gyHC=)TDz zB^gL~xgK!!VPR`t?^q=@{1`FxFh!gQ908xu*GhIE@<9pC&EW}}abTcxceE^@T`mvy zW5Mf~A#|<=-;Wy!n#ozY&#dp|bnrJlyqFxH@_ya>s|@e!b=QMl|8Q-vHT&_DGQKh~ zpy_4UcW>{C5*t6M(1^5&iCdaOry0f18a5V|{B$6YB`95ebJFQwHGuXj`Wamy@3mC#E zOL~ck@})qfKt*AxY4y8{ACw$h3<}w3QjGZUEsl1;Bj~k>wK_R-*}taZzLlBL8T)%* zuJ@_RUI7FXRBey)b&Pa>ZPykD?U#8tQg{B-XmXJ05$ar|b+S0F=gsFg2B;yWrm1<| zsR+P4(x0Ev`GR)m>0TGee2VmX-v>u<-nA@D-gE#WZ!AsGlzKVklj;X0 zszEGnHcEL)@=BztcXGIE`E}H4%OzIL9bX$Wp1A=1>uz&EQg#;3*VXBb~yL{ zQ1{+ZO>JM>Xgv0cqKJTif(W4m0i_oUQbJQe>7eu)q?gc+h=`O>0-*&I2%z*%s4Bfn zKzf2ojX)wT0YbSu;_>|6cYNThP_*i4D39U_o@nN zPm^b(T@=Y#sD@auMR?R`rDW#R^ZItDzqf?8dU7VYuq;_>TDkF_bTmOlug$nyC9%d6 zFhlEO;+VxqCfBY>=a#Gu!;kzB%tA3R(7C@ryLxn5{cN7#=RtyLSoM9UeJE7ow3?sb z)v34xeP3X3(`g`Do}|-Xcdkb*!3)~Al^7A#((|zAFwK?AzVD#v{bh8I%8!v^#dK1v zr`L38+{LhbR-|{B6Be_4uhrLAw3&tHYD@2&%AfH!K;nAqa1t}0ujl2jCo~T6eP0lz zJb!crJ{Jcuh0=rtbf5z820MJfuB|GSiQOxs@P2Pni+=^o8qFm{2EDzc_dsaDtAg#Qilz?xJTQJ1H+^2mhKh3hNb z)|?7Hy8TE{&oeoZkQnY8Sa>#4Pm1~3=r8L9>I5ZDk68`L zGo?f|%YB^YvNMS*R$A1{fMDFA8B~25u2l5;J1FO#ArfaA=R&L-8U25&h3qy2lejX$?%SgOz7tNMI( z@RA@oV4T0K;#$B^nQ4d{RKY`C+0SNXnhpEicr{3BY@Fq^lW>*Rd}9B(K2lx3(&9Os zp8PGyYQ%}X@7HPaJ}5g+)6x?={%KaguH>B^K0jgl!#$+MTeDj)KRV@xDfg^Xxmtdw zlz8Vwx}p8Z{s9zzV$OWvZI&6il;Y!pXcmBFonGg|;2+|h809R4^Aroz>^yqBw^0k? zk;C8OmY^mLKklcWIBM=^6Sb3RX`@e|-D)iG4)%BmFK7DYPWS z!E}Vz!BmEqllVg-$1250P){G~uo%bqW8%wB@A1O|f|$k;G%{}1$qZ!yMi4Lq(ShVa?9$P~y7+%2ZW#QB7MB z2d4a~pGEUn`kRNdB&SN1KK&&lfadbc!~qPlQe-bvAAu+}F){!@#582KD9< zzt-xx3U%bxVviA-telyBBvn2jfmdNlVzXljXy+ezu7r9lD92@D{Y@|b5=H&o%I9L2 zym+_p)(k6qxhj*$(RdueCu3avVhVa(C!mn^-H(Rr!xfJ`&GG=KRl9LSm;3&F?o0w> z)wcxv7kOa|jOJ`2ykOYk1jE1WsX?ZB)Od9;0HdPdef`Z~TDWXQ+vT3^pE?InJ>nF9 z|L>#2&xMP)+`g;pj&(B@-S=e}@3PK%ZayNHWS+Oi{;qhpLHviN&BM|+`GDsmzN#(l z#-A)>@FWSFq?0mU;BV@<=oaE82|q~&f<-5?@43va7MeGg%{9NeUo@wAQrkRj1w;~N zd7bL6!+F%9R;blYx5Zd^6nRYxxyuw}1XTd+x?i0S61?nY290B}f=p|8Js_(7c-QR-56;!X6(UKmt?t6cQD&>J z!^)O3$r6^E@2_rVMxpR$?(7+%h*mXGg(tfuBoNuxb_VdG>nOJA?Lb;dD(x;Jm8KAA zyW6;%-?i>)!r+FWqi)rX+D8%$cnGBxU(_2Oys&|{XyQ;3P)em{7{^Jz!(}Y0>`~Av z1Jg<}vQn;gapKEYi=o5iJcjF4(J z@H*aWCSdfTeJ$3kvs`7EVyJb7&JKEVl|{z0S1={GCRn?FVcz5K;@T1_(m*ohuzN`V z`nqqT3>_M2VkcFomA_KtU9>7g8ap5^3f)@SQdgIjvvTZWKNmJJ$y2Z8rAot}Gx%|# zE1Vmb!)+iScPIV*TxC}$5Gl@@i8{k_DX+9y@Dj0J(J+$6?Bc3S5*2a}^_Z@a5o+Ti z;+>tc6T3}wp4@UZa)8x(oxUKiISK|`XBPi_yBLg@55)=_CF)uE1rn@WexO(G@e+>` ze4+e0VQyf8*0%>h0M zuVxY%ev0oM9k|#1!70vhZ1L3lFxbIkd0GM0a>ee2H+}uPPeX~(*(I`Ww*izjc_*ex zQJ2datY;1R>aJ~`H|{#{c-ktgydX*y$5L>5ih9k;U&X1wV(qZJ-p2EEvTx&?OA>T=K3G`^utch45|D#4E8{&`I+*lB>r*y2huW_LYJ~vC(P(d=BGd2m*VBjj(G7!} zYMbsGxt2Pp`=wR+@sWGO=^j{94tF^`2WvR6$bJRsKqs|?vKRR-X0P17bVy@#d0DPc zZ8o}B*)XjzXMtArQI{j~{vU!*$bBvKOM~YIMN_xW_NZ%V&I`wRtd+^|*J!tH-O0?B z+I%|o;2)mblc(?6%Gq~sL>^5}3LHDbzHIDqb?HXo9H&UnO^(QW|Gsky*fb8({!W_y zhM%)^oJ;%Ab<@}Ab{W>^X1v}N2Yz&E=B4_Ez!YDZTm@i;?4uommk&0|GmbFmri6NF zb}-?;_NXz!rM=nfh2D&21=h$E$%^MJ6)PI!HrFZ%;7>-g%0u(|7<;`%yNX*vw0gw zpuBqYn{nO>fYtk(19&m&4eWykb-Yw;w^H#hNM2>MC!;RcIZ;%HKvd*lY~c8vDlL1q z|EOV$GL(!Q2{o{Y1RPJ^#>6zcs|8huZ>A_kA(eLikPe@Gm0VK_IYE?eqHdC65I7Un}Np4>wY0v({H}SgQ=Oj@u=Y>Q*+i=Y*Hktd*;# z@P&jkKj{1W@2S_e%m6t;Ie56=d}|xS!i;03kKcrBa;E^|R?e1prTRDOL+AS9HD}%~Y$~fbxYycV z{*}K-UVjD!Bq#DsT}flX zL-O6#*@JRYPb)IBJ^VH8C9D2@gx;NrfSbh)#eFef_0 zI5bqZa%y`%ZT@rgKDx`cSER7uT5mkuG?DoaVGabk67la_LC3iNv>OEa^y<&>fr4&i z{J;B?%(Dr&Dc3QAPvZbB1Gh)epz)?_@nRagJ%XK!r2d0d>y-H$CItm;Wg;togGGQI zEU-kz|8cBA^flo08`uMZ=#yIc>oDkSs|U;YWp}JK zYEc$-YbYrJ?GTv`D4>K_DHhgwU3-ELVcKsp=vbx{JD7dczhfe-n|2>M+fcR=Q}}E- zU-pfH^NoOpnE3EE!Wq-R19V+q`sb5vR1R4Z(gwQ(cd>vT`3n*VAceD<0q#%qK3biW z+kXgjR>@61XYB*cz(S(b)iH0c)L&G*pjJ|7yk^NtIHIe>ZNSx$+_3FYOYH~`14}s> zdu~neNR?CHOw1Wq63bI>CLro7dC1ZSk6Ylq;)aen^0MVGA(keHkXq+~>dVpv<_Jgjh_L zW;HhFCmvzVCwp7GCev2U{~>07vL&eznOqzc*CN3_{bk$lEQSWzc_)A78$E!MW6{hJ zhpP%Zd*{$GpN+Ei}ccN$)9pMhdNVe1M4yo2J4o(&p3)UZ%V7leB($#;b`5eIXrHoX{)0>kFXh;seK5eh0&RH08D%l=G^sG ztH3GIYNJ4nap1X>wUdm5C>&svJ46nN0~16JEMpel=fkq}Z~dj9c3!MeYAdD7Ww&X~FP*xfK7HVBOMrfibI!i~U2kPJOCOJ&rL)&8J-FCp^65 z?XVs?nk2%Mfeq~6ieJOH>vGi!C&{?GR+(JUN{`FgUf5J4O5`u-bHDLl*jo9nIFx$E zG9{spwEcyaZ+BN-)-L`#vu4-9h6NwD$(M1i-Lf&?Jw`3G4vXsTAFIH=Y@e*X6^`dE zIDgW#-Y)IMjbdA%Lwd_OnOEohhh*!BPj*GiKJ-Fov%Ltm@E2>5DYNdJK2_LZ){v!1 zMCf_xjIHd;W2r{s%>TX-pd7uDN*;B8ye2=wuSTcdYhDzNZx5DZ#LGd5 z`So1;tqXcdug)y=dOYA()G5Zs)})pUr?I^&K*Lz-EqxTF^{A?o117itFU17N(2R*_ zY^9!(8#Gd-Z)XWt0S3F#?Dsq1b^+a1akH||<(62fRx~8p#-(W-PqJToH64~)PLvlU zMbC!?%}S-j43@aOjf277X*f|F-sv$?ME7gb%>dXjJ;nfcpAxC6YNkmO1=v2yJVOB3 zT{U`meFYYVwx7@+Zce^953imBxm^=>wOpnLa7S6|cViXBmEYaBvc4{0l&_3+{++lZXQW4sg~uan?NSG z)GxkTzC5DlUXw`YOBmtp2zwM|c%(mP!H-=d#M>R&1-C)Y_=kON7uLr3o}{U`jd&NL zht+BUXOXvmN%gqjrTv}Y;uXLav@Yzt4SpFwDeo-i9Xoiq(bZup$IIHu*e3Fg`u|Z9X(T+U4^4LJzmFD?4;}@QeGdr^-0ex<>e`<5 zf5+f_L+5O!uy$tY(e6x*-TSjQ5%FvIMF)Oy82Zg&UsMRWR(kx`*$syvQ7Y62+SzrP z&?3w=!lZS4Qx`x!7I-d3EYA{lP{Onc?)h2{ZjY+&p8fI~O56c(1jm^BRTW(y^mlV@ z*+pbFq91KnUZ_>Dzes(@mGojwXqZ;2I5ynMGc*1&s@LK1RIi=4;N0rg$Je&O9VB-u#}6z=T8?#C&{7>EmqpeA@h#iXoX4pZv zHr>_nb^_7gR~jb#Ow#Iy=u`=xPMA$Zn`cr z&#tpOEzb!#_tB!pFcQ%r6K4@sbEXE->*>p5nm_|QD5nWVhLEM=! zH!)P4an68Vxe7oe|GRAhi2Wiv(r|$zfxMC9H*&PzJwy6#+u?f`0at|g*}g%df9anx zw_e?ZJE}8oKB#&G@r9z^{e1A9n^hH1T4p^XJ`Jf`a^8CX9230# zYpYLk0iywyhtQ7(rt{=OM|&yK63qozPl3q5081UWcw7Zmi>Wi~8di?K9#N^5CuKei z?J_YDmAvR@mfv=jtA6|-kmvu`?7cH)U=zPX9wJPW%4i8++XucJ5$)Qv=~t}mJ@S6f z&kgSH9{&{SKO+4uH89P}1}+D;F>dp{sRuSmq1_Y%_|EjG@44CwPX4aC*?u~3NsPPu zC(|1zzX@Q_=b0Zr%TO_zp^BKzs^2vy*-|bNMTkVI1J;)?jq>-|&JqLg3xT<;Zhx3Jwp`LQ9aEYeuUsdWNEXfD9Cx zC4n?k6Zx1$@~QCt)YT8#-}ExIeSy>-LoNtgbk?4tpG^iX8zpyBuq=J#&Hi|^O5Wl- zhfj}h`d+V>RKnr5wpCi83h(F+DM5N_su&Q38LUm9Y@)TbJx=9os7c`V6yOuI`TEzv z{RoAlGsuo01}n0z`63ehoo*#6WvD`l$%GuPs8c{B|5dr3ZtfT&d{6N;z$Kku;|Paa zx+m~{KWPD8+AW<HUD;hDBie8Tp8pzXVM#W(gR?R%Vf zO6<2b!=81NEQ_!-qEOT8Ew^XIO^r=uZ5qpX1cE8=YzhWhIOEU%Nhdc7HQpem?fXUL zWBbx_q|>awKE-``t}R|uWn1Ohax%aTlFOzo9lnpbMiKJghVz)(H?lp1vLRaA`Qe61 zt~!aSm!co9iXSwUXl+Pd#T0P}(Jo1IV^9StJM+H)Sx`{%zI}Ed<0LLLReLmRM?A0D zXyx;>By(}@uv?FP@TH>s9p(o$@tZN+qL(E9!ukL!44-4}PV4GkI*M-o9Ipu-(&O*@i!2MdxqZbNPrpQ5H#S;S;!M?Xl?6uALTkMmZ*9aE_KD z#=<4Me1tbr&<`(J^>Fsu%Q#>&>jj&%om<>a-iEaU&D^qcbQ3=fOHh4eoV;kmS26KojTu)m9asVbX zorc_ejdGfMM~0VcWw}gdorGd271#v?Gq|{?ZJN#xhfVhGE^j}ah~&qd)&U4V4?nAA zE%o1F@g&hGxoi2x_9TbA63$FaHeZtKiMjj0i~$n-SUoroE?@zkuZdtxZ^5Ie*ZUc` zi8jCH{C8w!3(i$pag1{*ex9`4*=d{puH+7}rVXO9YR>d>nX4rO(*d;`UnJ?U05JvN zm~CT!EVYEVm=$cnG=b6{7dg59?R#duQ&N+^=W$Y&{<+i`#YU4MndLq&{0D7AE6tWH z-mg-)(!dV^+nv2B=zZRB+1}kN3IL7Ks_0aD;zwc5{b878p&!A7+JuC6VK187=tg`( z_o)-4Y@In85^!SuuiHiSYNUzm!e8@~!q3K^9t#>%Nq+^MbCNb&llg_eRSj$Wc%r zz7;mnZ?5^JWUcU(dtnrCi0OFl|87wGm>MxLHNBkLa1l^K+x;+ZN80}eNcRsZMg|z! z%fOZ`Hn05jOqTim#aX4Rf|#m7zpS;l|K)L!oSSZclH8kK0CYVtS$6Bi;s)WNYM}XK zc+$qSg%qt`-e>)x1^n--fr&qU`H7iS9J7*F=b6>UKuBl+5*cn&s74W^am25T+PJQE zhsJL8U-W6J3rMdMlm3|ck08P4D_7bv*OJo>t~JJ6mTM(dGv8TkY;XNR zEpI}B&Y5g)$)gZtV8$p1i=64jvB~z`=jZyRpG#kF8|H{#wLs0xo~B7h<#Bc{*R405 z`~Ci7bW~TX-KcRxzm&qBi0-?#6CU|@RsZ6@Z3g0gIs~6`EyAdaM?%Y*jjMl~=IC;6 zN&SE6)DTxq;>k>z9-pj9eGgrERVlZ7dXN-pVH>@jiIKK637A z5!3Y1_=5~bGJewDl5kyqUr&w7)8mozg!UHhL@w@8lzh0Ichb9zCZjr*E0kxpN7`KL zzt;RuUE-aYKY;jC3kZV+-lY@Flx7#-`Nrx52LQ+d>kQ0$0WwULio zOwx%xR#zwTXA-`*0PmFeMOSUl#g6zIl(zCnD0@9tFyHDw4!D*QKUZE_p zH+1D=mE5pdjfwmvIcG%Yu090D9={VfkDXB8b@CJ4s;paOniH4ZY)ZUV6=3VU0F2cH z#CZh8KKZ^2($&)!v9qyQV>~d<8o`7utl$hy7(;#eMb!Xmb5`jz1QWTvR_D_+{8C(B zVegwJ_J$oK*71jhYNOYqQp2rI5A4sxgw~_e=K-#4+U`C10jc-GU7L@FD4w$7SBHCI zH-HXIbJ;=qSjB{&Ux_kOcfLvKFiiWRP3!hp5SOpDpL|(Q7$zi?`^!l5`3Vj~4EL7Q zrM`E^FMZzg%sJmrds-BzLsssD^gCZdG!3Wja?rpg#N~;mDB<_V3M`8GHEx&L~{K8#(DvEd}LXOCf z33(wsfwlgAX2oWuLkn&7almVF(&dXGnHL*Ni%d_I$Pws>+G#a;ocFtEK)u5UTt6jH z)V}N7$d&0c;B@FhDM3u9c4YhpM|3KwUx}8K>yH8gaX8R5BMGKz4%TziLZ6 z|6s6SWA@^Rp7P+!ME_~Ptp;Sk);%|9_=3#h`9soHq{zHj4h`VMMzBip*r88nKG)tV zF!OWNh!NQ=F}{RbU>&s+>N27-NVLlYpMSi(q<(Uz!^dYbiP8kY%)B&lq`7Sb)faGK z%B_hPR~18tA-=O{dAClnDvu?=?XsUXG{m7IEf>>&tqzYbU$twr2!YDNwfu994ni_^ zd#Rl=EKe{4UJ)IF0qagG%Qz96Rmm$*vy%T zqOamBL+_W;tN?bpC-zytzUTTq)tauGtvjC|ekBcZR;V>;v}QGJd@3{>I|yhO;EPs) z-S}dvE14nr)^YgEtgb$kH_N#skOlOHKNK!UK8zN1M2E}Y28flC3oa9fK~LW1T7dl@ zL6UV`^aou0VoP(%t2f@Ju0_0-FTXc#6O%%|&V%I#PSUj4@`Q#?qwO(Xu0hjV}v zDWdh*R*+4>iWFW*-Oaret+eSaT}2SgVzlT-mdSl%JobMI4 zL)E0lk|Q8pp(3Q|HK&x1<<@$*#?T2_n{3yTTf+&|j*mi9)D&uGLgy_}c`+6ShmMMlM@OyliY0(C;cSV+i0 zP`7ahHB?k|Xt`#>WkjkFgi+$cEA}y-2j$dU){p` z!BtE5xjk{Z#%k7AsMQw})xyN?W|Oz*b?(SlAp9)g0mj%MF>F?QRc0~$qP&OwrW`~@ z_j*o~=4V~Ic0`5+;4=QATN)fE*xI6ubmfXJiMx(gE$2^I-XK6>#*{o z$S$N!{kykk7D{t0M7KXPE;I(eb_dn$>t3)k1kl=7S^ScPRRvKU z)kV$pw6s1siU^)Sz{MYA6rR5&Dk?uHbdD<5qVN1j_XuZMKrhqPG-`Geg=-35FkGh@ zdWsYUWU{60)D)N;L2SN$?V!q1H(917-SY+T??%RRYd#zeDh478O!YVi4joj-hvPI+ zWpVJquC-D?`B>V#Fx?Eg;8LqRwn#qqc&+}!YT8pjvrDE{>~SbL_CEi<#LEe1R=pe5 zeW}a>aW+3qrYpsXEUbNaP3uAVO0SMrb87c};W^j<%c<)6=C6fD_R_#{eevZi7^C{g zu38imY;;o)z(%mwxWjfIJB+$c-OEm^o+d)7jvd?jPL9<1>)NovxGgqMZR@3ymAC(A z@dzU^`L)XAVH2*Uyn=C8`MS!&GKvb8M%0Mw^Ed(0aJr5uZ{5(ITz5}jtI@e#p+aTD zIi`%_%%?{nq(Vu~7-$Cjpi!>On+@D!zodRQm}9kWfsL)S3PZoq9pvOyx zmO2FL1q3jwMdZbSjG5r?LuW>HN%c-H%{A$WN*|~X z>+?*&XLSUWj0gNEJh((`h-)U|QoH}zF8{NR1}yQGglMZdMV-w|egHixaPkwd-aG!a z`c!h&B$vs!94EOv_Xbr;!v3R>;zci&HAO~x+N}FH;bvk4=Wc2UK%jKLWB8J@bjV>n;k@CAqH^UP>|qsHiW8e` z=1?I|)^GqrUOu2Faqfs0WN?C(sZ%-+*XS;@w+<|Nqy+HS^^Z*uWwx$;i#TgK!M!|j z)`GS%$t7oD2wGU~hYNC`=1(ltXZ6Y8HWN)2efRDTM2|T(wq2SO)8;*rZ{`RQZ#as) z9Ao^w_LZB=t_4=+(shZkQJ+Ag*;6lFlocIZ+qMU1J>3il^FX-kcjryu-YWWW<5nbB zUy>?wHje@8jr-)~w7;He7;Cq@lvG#bF(=(CYF^!4li?|G9v!b#J6v_vM;ays0(EO* zsYm;4Z%{8S(oQmYZFW9&zynJ4X8eYtu@mpPXSOUA1HaMp-`whhV!awoUP=ajoPw1- z!++w+(giOy1{CI#WXy$JW|f7!i{6>*N`YRa=|EFvTmlX_xki2SO%<1KLZK%olZH2e z^iBMduVvd3`HT?GeDAPE+Yr~dE7Kn2d#{JdPrZ07`4Z_SXD{^}O|CC#ta!B_vWh|u z`S#8egY48npndT1rGTOIe0#Mg(J)=XtBg2SeX3}==i}_PT%>2?#++r;X_b_@Ewu!; zsxO>zFQ{F0w7;voQyHpSPMiaMIQ8gZd4doIO+7N#m$DNQZ1!$_Vy9GCpacdaE=<(i z4`-s!epOSj(=#QGah)5RbH-5$?9UblrO?B3*)v@LdrVehJ?`9;TuWf#^Sdn#;nUfZ z$M`!=B364RM&v}30U6jJa_qUCaBV#Es=Q3#Vf%uEpbvMI>6x;|6=qp-fztS`uWwEv zcz7PcvfOV2x>i~Hic`w6hrROL8=nRqbC>@KS%~IvE5v?MWH8DEfcpb)TKOGf}lz3mcf`Tml@&4HOq9hH7Al2#zvk9k*By5J(+>iZz-Z(e96}&L}uTPtP^k@nFhV zd428raylFhW7!s0K5fQ1QY$+V(r=JQf>`sE!6xooXQndFyM!THtc>TD1x5TrS91o! zNl}KpSMq6V>{ySahJ&C}hcV?U_Btup{G}3@gZysj%cbYyZ;+mdbxZ9tBBkas1BWyaDLJj@1V)QAWR2f<>0*~IP%3iAmo@L+ z$aaxeOxU<$yE~fth`)T|3s3#5?qxX~tPecLz8NiZlEP)+il~6~bz(fhPyC*gD~xMH z58jT%k{NuX{(hxMI@9h;du8SVcDg)__qk(qt@OPFd1LbX&cGbfg+>|FR3ni^h8L=v ze91r4gCwY?PZt;JTj4DOo2y7bg+aVf!4dU69H0zDeQAZ`f(uHUO%d9xAD*Apg~9`p zat~^KCpn)#2({}g1tOKI!vkr3RBPEb-1&o)Ww|OxKMU9m^<^wZ&7ZkLgR|7urMYg0 z00^U5_=K0FZw5cDIL%T=UZj%moC77+ofHepwq4uvdu+!-ara1siIfU(2TyFt8VVmwX=N zc?%y7Dn22IiL|Jc>$$&MehIkr;VL@%BTcT2IzE==MJ>K%Q|59?0#R!)+<*eEG#TB9t%Sqh`?1ihzEfXM8??4uxk zZz%ho5B;fkgUf-C#xf9S_9FQ}?h(2~gzW_eQ1J~qOLd!0PQByJa2t?=07}X927V9* z@KJtgrXKqQ2fe>TKaE&h4uS-My&nVuxTB!kX9))%{7R?j=i>l9d71%mTsA_mNYirL zm>n}vkf8&G3cAVstDXNoKrin3O&T1OeDZ%)hvXeOP)`UD9k9Czgi`bq=@knAN({Qv zv&#`QOIIHSs&P*W%t9o`HSC_7Y6Lym1&$cd#(#hDEdh?}=NXMAxzS$A*UYnZe1{kS zUY);>Entgn1l8I;ELt`L-3T14LKaRl``W2G;yku2rz0w^t-oA%!-R2Y8tJL?USoZR zRUmE6%)<=>QRU-gyI<;&Kau`dLEUD+Z4PD}sEr3j%~2x?%rR+~;y)^nFOgY?N_;jH zN!6MFD!Z;zMFn-M(T~f_FBwQprzIqhwTr`a<>S?R<_k`gzHmS!XXpk(BpZ3;hQb$m zT}GsMN|=V=_sLHkRLvt-2@egVUoK{N1EJFcDB4t^+1=S^Mdf1)!Ulyc%6T-7;hO7L zS>SS@LSwOgrOzTq_t!dG6#5nCHSqvx8nfYS6O57 z;0-dJixnw8{{5<3R^Qf2fKiU395<8hmZEwMY9X}cF;RwbsAw7J{Mj69K}@jZeUFa2 zqhO3)b3{S!-Rls!@O6qI#;b8oPKX_4y1J7O=ndpz4s@GE@?muDv6l|Y4%sKPGs17E z^;4gBHR0YZKuFPvJE&XP9p{J!*~3f7Z(YF4A81whGJN>-OBiI#F+6l*U?{Ymg#T!U z^JpFw-8qZ3SLEN$BwoJh z(rUx$ixG5hMfMJVya4D}B;VHbc@DF5-e*-(RcucThPdN4$X zVimRaEmx{2x7RFLLD(c`?F`R}Az{7zY5Y-q`Uj^&s{~=ZCONo=Ow5wy z^uxzoM0lhOL?MkDZA)S`)an$>P5K%bdS%A|MKRUy$@QkkXUM2MkscLSbVcFrJBvJd z*nw4|R4R?tVDwurqQ>@NX!9bYl$-g3u|);6V4}o&Nz8K`Pko~n*X$O>IH0!yphuYz z+-7C1*>NQ}U;jiA5<}4UN`%It2H^``3`YYU%-n#>q7J5BD&DQhX;vXxEyPk7LADV} z4GK52kQ6|IO@_>5BFeaCgGvJO4-tDcr$M*<2N&c(tLJ}hL}d^TZ4qK|cxU_6L)ENK zy#Y;w8pm~jpY?qWxaVBE>qs*#esc3ojjazN!dH1F%>`yOz+Z2XruClq;?zWD*XrD! zI}G0cU7SVoyV0I$?UO!%%g@8(2dy1s3bdkTN%zEsIwBuSHRL~!mG^3_u^N$4AS6A7 zLr52izH(Ivk}jXX5gy{s1CsoiP0k@a&0baR!UGGtR?BCw6%uw(=xkTCeQt;a8| z$G<1=430Nr$Vpg?gVW1nPQ>V%5S603tv*)QqrQncQvCIip=@_$^kXFMPPXO9wv}Pt z+9Ji#&Q;fUt-7xI-phl#8Am}s3LcUfdh`H@ux~rnXmRHnH6ZiX?odxSctati25Gtq zBw=TEH+Y}z_@x4bJy!zI?+gZ{4_zE&QH2e^V?VNb61bz%d=lq0t+dKN7i`~0__V|` zEK~*)dvXD`wGLSoCFhFg@GkgVz5FFB6eU}d`f%UUnkMs~FUus=|jUhS$%VD_~;U%;jZyH3o#c$D_3W_k+- zCO|~0%Fb+D@yqI~L)^JvT}tsv0!Vbs7ap!0^cE)(U=w1=b%}4B;v0&lL~Wy5hx&uS z@HKZ4%CY#mQbJQes@qH;kJW`B?bl2U75rIW>VOJ1V*|EyjlWwoq^?{T+8XAc6*gRY z_nH*duDyEcQVeP7K;!2_K}X(GX$JvU<%-I$vFr&x&)xv&a+p++qo%S`C+c~h;5Xxx z@_?(>;*&~G{D7xQh04hC6lrJ`=kR{0<(Bv)jRI~A3x?(W3@$D^?Iv%}{%|o|tjhge z?EUy%5Qp(+HBadGh1x8<7`0r2;1pk5lw=W%gOT&3gei3Pa2oRY0g~qERQKKzqD+`H zr4Bwl_`K0O*XnA)tQFYg;~IM}W##+jMhHR$b@B7AT|B_c67LI%Rww|F%MjlN1$s*V z^IywzfUcqbOJBVK>r>|HJGm{C%~k-xlnZcAvE`e)_up&!9uVm@`_{BhSNgHC)d+im zxM024LTKkRAlP^WF`~zpv3B%lkoHz`iSX?FEDw%io8Ig>r?h!mUbniymHGvVj%|LB z?v78F>39ok^!FE~k_(N&OU-CfW~}Im+dQe?-wuV88|Grljn&k)N`)yMc4+Y18n2`3 z11?UwHS6Mjb8?^{?1Lg|=q$jrYP1v-y_L2)9O9+i^Y26g#NM4|zTr{Rul?Hu4W!s7 zd1Hb+n$na~9xXq!Zcff~)8W#Sq)FK{dxnRVN95zu0oA5N><4ad_h(Z;R>NeSj`JZT z&Zxjikx|`x0Q1c|u=U9cT{Qi^p; z?AXLp^u}j&L(``AjFZUnHMIq zMSOmj*P8106r(U45_Cb6M+ak{sj))suAKT|1Z7h$7_QBq+IxM6r7EYbz2j2bZFJ_S zWMMwXX}`T^K&!nwK|4p?hG2GA5AN>=LjU;`?ft`xN7qXTq8et4+EaiUlbT>qMom%EBq<1OVi zx$z+@l3ylscK~aUDJyVxGlSKqFO^MCQb@xgQBQq`B$u0 zugi~F_a4TVj`*Ib{Cy+W3+$A3`R7%dx2I8xOWiQ_=u~w{gM=5C@uUkxg&PokErE6H_^#+J$Z^%w z;FG;3y(d{Ewcp=88uZMeQ+tdS-VLuUuqc}oa|_=Y_TQTPx37$$yfY(@Xr^P31}{a@ zNkfSjcI9Ii7<3rT=s5)joP2HuTy(KT!40vwhzJIc@tGVZq4J{?E!B)k{)2Th_W&#? zO2dW4)QPEPR$2+@sDu%4;OK*lC+OE*K?d1#l~2>^T%3%vJ1^im>&=|6S$?iU13Bv| zvR@$@OPtZ3XmijPC853OQu&-SSk5#-vEPlBxr1fptsp6g|v( zi^t z>2}up*`2p6-cd`J7eIm++#W*pFwJu?z*)>q&j#E}+wNLzX+{}d=DAHjT(VN0+Vbb- z&L|Gpo7YMqpxbERR-z-IoAuek7&SU-xMfFoAW=S#pbB+v(83X~?%4Q&W&hQ}=%Jge zn6(KYsp1Cezd4AaT2P|UilX0`*OBe~R6-T~oQqM)M5X~^2cTI-;6(fY092r}S)-E& zKO4{90oUK(n#7U>vYb0R@T*n8o5$`7aEQJG2y)+JReE*~y(Q|nxS6#IkDmm+`TM^W z#<-&Gi>Q;0k@(xarLd0b`GN8&?!P&URFJL(N9z2ur`iAE zg8y=a|93wL{$IJ*bw}T@{&G_bjH)zo#PXf<08;wjPzkq9^kL8quR_!MP5=`4<%^HC zx4*h9`Rv2)aZvHuc^5OpUdvAcP)RK;^(BDYbnf)JPVXR=FhDdMHcQ zK>*RSe_O2nKOvMq7)Sz?zy?4+UX5jb^|av&1E6Bi;?`2_%FI!T>b5|CVNmBUZuciR zx!xw=*q8ouK+XZETkALMvtDg>hI|@yWAD)_;f4z-?gLpExc=y(=2|_7FBE8el7KY- z-92NixtIY44DijY-r7cC+opEr*KKd-D=(rq(e{&U1W9k{pE9Se0)KM)Gl2N%2nZb< zyIqER=(;rrT%eMD8~~I0=1WWwn-S4Ubm-*&EFxyF4K4DSdv6J|44<7&`8b?X<|rw^ z>>Ot7Lst1Ya}_`Ze|=s&)PNFqsjy_WTGywBn&|@FX$2pL9aIQ)y802$k^-D8T@Vhq zOd$U3K1~_OK+S!LS<{dzm)cm7>S?fBjY=ahKQnl>PiX`$4H~T0_FWkL@NhtD5iOda z)ltd3z2FqX`?9Z71YW-0VWH}iA+uLwW*pPlOQiO7hW9y_K;Ta&3snwCUg0x zydg4`US_)#y2SZ$Jf{P^jj_$Y3aeFFUsNRq(USFeP+1S$fb9kKg!%TArNz_4BfH)X z3;}m~rXih5Oc<97#0Gx1@Ajozg-D2~IreJ}#aFM8waeLRrn4o_^}e2nWp8BHL6Qem zW$_;ExmHmZadmj6Q)uVg|Iyr+h9%j3{We?qn3buere%XuYR)-9R%*^UXPTs@=A5$# zNV89xnp4iGl{rh!BT$+1K#n-0p`aq7qM#yjsAqWp@43$Po-gOa;o=K$v+sNFz4lsr zueE-^^(hnTk^=P~P!EiXeS?ac7~CqAH!wyvf-TBUN0&8`($Iuae{~-uM3>vUvHP7_ z3|WgjK^za5w{#he$ruKlsbzAuCx_OS+0Cu2_S9&9#`$sq1$eL&q~lxzj1sZ51a>Dn?}%YU9DEe^@r@}pgx^2%zXd23Al z0CMW6cscLJnCThcl>XmH#c&S)rmZFr!LIyIG;7WSp@hYMWx%T0LPI7$jss*|-TCg^ zSh7*XIb0xZOGJ*{zQkdX93Q;()3&F}6rBsSy=UkbzZ;4qpL9v#3{<{^E6Hm$J*m(1 z@A>0kA49fd-K6qp^2Jq2!~aJxD)HZxwxb?WD6`g}>U+ukes^h>@St|lAxcMjsEkxI zCyQZcqITw^h!WR*PW1=*14v7gfA1k=YshP6(0aEEw8Np8?7{fHoU7glw2AfU0r^eC zCZ~eW1V-UG@So+x;nzpQU*@ell2uuZjhPpw3+6=sqN{&5dR#At zvtR$oAX=Y+P;xkk-xH(sUF*sMgn<;R1LN+3 z8RBb83jxOT4Nf#AYk#;2R0GcTolF{7eSUJ)ySRTrQyiO}l!%5Un&rE?2St;@mHsPj zlcPNr*V46iz5&1-%Bg*F8Fu2>rDO@m5gFc7XP-9dir%$d@EIeQjn7GaaF5TYr(Vc| zuNeDuK9cx%oB}zO{_g#oTK4||J43o#fSaPM{PH!qEZ|m5RR~Xq7>wciiwdfTJ?t8u zR>qNYVs=-GeAh0Ec}XC;qam0)D*@bky|dW{RAqzU!*k*FWn6nwwPPDO#_2Z+`yqFU zfwk}3u(f1r+pGjqB%%BRX_jCHNVcy9sC{6UcC9Pk*T)T!IjEDBfeM$l*s~QOlzXF< z?s3M(#_h>6wzD)WP)#297X?lkd0{*0;-0HYBB6Wt(2j7NOiH+#B^X}h1j?z+zupyo zSXvj?7rdbn&Phi+?x-Ips-i!;a9b5T2*5U|6^a7=50qIDbGD{wJg)F_?2ik-)_dC_^flLSPBRlVPKbQnMk zg4a0@FnLV+)H+(jmJJ94c{bSrh}=Y_0WEmfaO?G7 zwzbpF$Tch7<5aeu0KCNWkw`lHLEPRDbK zDud^v1%hvTyJcs{T;;gGqaXG~rLKZ#4qph-hOQUOKMjS+3L*J>Ce6>($`=~b(7hI| zm~sJ9gzRE`A9zgV;_y6+ocw}Cn=rbK1Q5N_-Qzd`nlX>^T(~GenA443WBuj4sd*(l zql*}m1dDmh9S+K>go`!Ft4x)M(hjbt6$<=9hT$ciH)fDV`mVH1-r$4;6k{ue`C8%p z3KDoe;xH5gKV0r*@cK-4jB}e1tHtRZ^=2d_25uSsk@1F>n+G%kXuQ*K%FKmPnpk+Ksc++bQtOf@aL?M8U{<0P`vCOQ zg^e8!XA~-}JJ=JYD%~!kWxEj;mz(4`Etx0m?l}T25iAw)jcO}Si)}o(guM_gP;IdO z2Gt#B5kBQP!YBlnenmCM0|M_D8NojQ)w_M9w3#^1!_3^{zjtQO5CvBsjm4PwWgec; z_X|1;oP6gSIIQTuVCOC3An3Js{L+O=fW-(`&nM{{ou7FJ4}xsEfx(3|iI<$T{9(bZ zL(scbVi}!=@#4rvJ=hk~6V&`Q{H)$Z4FV=7b&jhbT>BFp!$6>DZ2LWVL4kdVu0z{q zm|#f5q@CA$bLGFg;WkiW^2h_{JmezN;B@VMT_yV4R~avK4xu3 zdvN+>S*tC~!K!)m{q#U?qM=ui6W0$RU=)k!pB_^`3aficVXw;)-_6q!9*>=7J6<%Th#=HaxNKqHL%9M<9tzi zJ+BO`w^LhHG;fz@%Ser!YTc2wRye)k955^sF067TFPdUG3R@{yj~IFqTV&rD;?p95 zD@yV;tJNf%L#&}rQmXP{Ep0H`mK1vG4SFYOOU*LcqM@H@OAqE>K?7Y{Vy$}#<{jnb z2@DYi-ufT|kL)K8(^NaPiI=jK@DRI>VC^C>yeKGR=&@MhHy@kzEoB|lxPW2~7C()0l293$s_oNgLyrD(p= z@-^JAB?*Si_^OJ^WIA>=M>TSSM}Fo*BJ9lINo$$;vr$rXp#p|NQGeT2>Z%Mas}svk zeYf>Sjf{2erSMO-UO`A;?qSL@aXR~_5*L5R8LI?CMN+bx0@`;w-VX#Epx75~=CA$m zS*&rFlWpcb!}TZReXBkvh|A;$9uLP1+Oa9o3=IxgYdEyMzXj3d=auqQ0dJGV`#@O# z;o~_A>;#hI?11%OJDm4$bM;SmaP*b?Dp#b~Up=Jd_JeVti$==}@h3>fH1bm9d-pbu zM7}R%?eCAsAZc*uh9j3#VD*Ms+xVga#8k6@6nmAQ%)pd4Z_0)#AzhCOpU+qO zzn;^!**<-&>%k9N8VB(;7Gn34gU)i~_!K4_JI0U`t~P6U2gQ8neppIuL#;fBQy3-J zAMe8V8Bq@MDb`;i{g5kzO3_^_X34!^s9KxrcSic_b%~?&E@;mL=6j_qVfCJ{yuWzU zNv5Y6-2B?ME2k)-FnLm2lF)D;A_l2xbNvAyKZumMnMNwS$f~Vukfk=rh6Wogy&w%) z6Y;t^o{sJfWpJ_O`L{Zu5j95<>;QJne(TSZO3nR&aSZjVjuLTg7Z;fKvjQigeJE8_ z{WN*AWPrP?SVm?)`_+}+h*(kKZlK%buvBxhG2_f<{8OgoLir^4SW{k5IdA8|Ha#Zn zk*k#+w6=P7S0`|pJxKR`9rmtvqHnG-yPi?8Nk#`#7ZY!t1-@NuZ_tL&M}R}`d_#vX z>@|Wp`6Hrv6cz#<0}-Up{RA{RG-SejN5#GaV*Ko zfHp!$>3#Lf-T*Om?8frLuMks`4g0AMuxplWZx_Vz-W<@vyp-M%8T@lxGOU}@HXJ4< zDtk>Jh&g3cq~&Y1zH8N@x}QF25vHX=9dIU~7B+U;zSo;AT-aqiFltkei0X(S1Zb4_y)5yTq?QAu#PCa(L@)9Aat=!_}y=nNMhA zWt`O%k2ToOj0U>7;>psx#{5?{wPh|7rU-`B*(e)cBPfa;Sh6wN6?+*rE>W;G!x*0X^7t*>Z*%zLezG^NgWR*mAU+Vf>2nasvGKNM;ci zT=cP{K)WFHd=5;89~GPOOVzs2zvlQP27fX3qbl#}9P071nGw89Q!_Dm9buGmMl5VC zLNl2IkVGh#>W*#eyF&ZxmW*$_kF)F2s0pv}7J~}NdL}QMaMIr&%M_5Q!9+bPrhec{j9=C6MPw;ZP71~20*uVATK2+` z5jTrB0vJ%N=)CI- zeMFuF_%@l(6I33dwlw2XSQ&&qiD3BHB~R$1b|!_zscK$sxAr54Iq?Uu)UOE5TxxoX zAD8&Rw>@EO&>u$oL9Q8LwC%)DUKeaRh4m$VAW{Tay6%NI4moQ-F9$M01W(Sv_SSJQ zu?-+j`KQnIASuGl+zr>_>XB?~p(tuG>pVywlj=40tLnyZ%r&H7s8}F2k+Feb_*VNaQso;4tFrsl?c|7Kp5J{=0f_YkmmlTl*r}iv{|`SI`O-CKK2zUuP%)19Fw`+I z+N1>Gbp0)MX)5(#1ITLO* zW%r0kD6>1J83+57&kn^lUYOqE-H8bJhz+OIwMk>i9h#WhRVs*$nmbFTVDomVLfd|o z6Ux5H5%NXEfAk3iI)EFae*`-`29aA8%;Ms8vaOr&TobsEgV|XLA2KiKLx(eV}#sIXl2&liK`Dc zevB`sv12lxx88WcIkR|F4VRtY+DtT~WM2svZ~hO3V>#^L#;F{)v%i{mAE)RNcbzo) zsycZaGoMv{EP)f1flc@G7B!$5H_Krwuf12Gsph>p9cP>tKLfkLWolnz%-*AJ!V4}Zg(aCGP+{qJ7vUAf(JtrQoJX&S7upvj;|1j znEPH)$+}yhl^$2L#Sj+U&BD63ZXVB%OCfCy@+NB-UZ5IfezkMlbn0Q&NixCmk_Rbs z%aL`QnABif(TdTZ8?D6AG8z;D^cJw54R-gtfYG{oO`voGi z&x1}ojZ0$)wx0>zo_&aR^iT0P4{LVK^AYwG4fy9c(g=k?M@qOXWyFRtA|$JKd6G82 z&6uwS+N`=*ZeenrnI17oi*KFqCUfQ4xF-4J&fU+GKegnCM8=JvPfIqVp2=}N>HSwJg<4mv8UiatGV;GqsMxE8qYO7rG$8X-CRjnez z7*AND3mh``?MrjM1nnWm_s{Sy`>g!6j%XnGBO+FdckuVD+i=cEiXp&-AA)%to5BwT z1R%)I;Nx@SqC0(3Ps+b9NCDljmGm0ryc z&Zx)cyp(1+T1~o_JY#Y+&0f+b5nf6T(AJX=?+!JV+63I$slLCN_6>mEj+<;HYxu1g zoEWCeV&ttEX+>{0qF;Q&*4b>ii}+=dd$%i7V8$yEZRJS&K1Q17lu|UxJ#C34v*qY3 zQv;{3MNI*pJ4W})PriY}U%y$cOT}2V!%J;(FF0sKb*{VR~lqxx>_8 zaHg}#jGAPx{!KJgq0pix%ta6=?;o|}?rl`Qw_0S`M=;Zn+=Z9Rx4_NTPd)X9PxTvL zJtUF{&B&)zvk<4t-&LMmd37mxSiE`G%pNClRqYJT)Zwbt@TlQt2(Gm1$g9CxlQFzd z!$fjde~n$T>hR?+CQm+Sdswz7t6UT0Bg}V=3g@I&1oo(Z$u0HTmTEOIOoqtz9u9q; z^jgHNAina-*y)l*_MKScJEbvj8&X4?jc5Q%-ZZ5o%uhY9aH>nmC|l*bkEOz^fVnFR z_G-Q<2}eGTye1x?U>WH(oea$T@kD?3zU`a0TXh`~on*W0wx&Ah*4hL^h37Upfo(jy zt<%0xV1dfk#f=xm6zcRzq<8bu!9#b8e;_N{Lxvr#HuYOvaR`Wngt3T&880mEC@$UOov4xmR|%&I37VxXt*o)LGPq zY7~A4#AA<*;V)O z*PIKsJ~`4=Q?AIN<4f7b}$1Kw4V?S!Y3l3+<9cxPBOs_HFG_7b1_K zMaQm@eVSFnA)XcKZ7ClthmC>B->*r}da@byblO*Xj{CQ+0-SGp)~4?C;q#K({XzY= zr#DBQ^>^w2VF>w<+*BToH&vPCck--bCZ+j8zX{JdeXwy-exYwqY()w*LISo1%{v{< z+ptENaXCMXYTiPi4?C*5T` zakVCZEiw$I!ln8ZltHh3B^TOKaSAb%7|sK(DM35T$d+Mz=Pf@!Nqjl|WO&0;5bn25 z)SMQX^gXMhJ}8-@g#8+8hY9+c=|u$+E%SLQd_1Mjjtix`5VP};o=0SiKUE|zqC}Em zHvOvTl1nayn~7jnxDHzq~nG|!VHB?#gd%-*eq50ez+5uG_fg;R_rczAQu zs$nSdeo6yndE5CeL;2Jq-(*>5ur|z5Ygl@Ne5E3b%ni{khg)e8ui$IxSrNN$)Y+jj zMB?QAz&j_k>E~!!yFeX(VE&`E(Bk`9Woz`N zBiHoDq2CW|okht1?7-a;{|x4B_r&{wmZx~#PZX$MX4OuP@_M@S#^)1Vu%b8MPs5o~@dMnpw2 zm|FN@ytUae8>)W1b0l%6QYG#2`ufc;DYB)Jmj+%bFAKvF$;470(sPZl95CnL*D%BKUpYK9&mZ4p0rR>Drb=F;>q+{UDjTn&7zS$nzeZCPh z`*3H*MGvphu5jgPbMe-6k8LCyJT9AEdH8Ggdrl_NMV8aDIBcd_9o!Z3=f;1Abdrl6 z%j$TXAGrWwb=6$SLNm5bbstpzuld#WXdY!%2x;O6%x)^gI@ceab5JaX-x<4`!0rtE z=CXCqy=Nj!^NR1?tE5sbMj>k8u+BpKr$pl5*`Rq~^4-nk<)AW@Z1#;R#)VFq8)}>5 zNA+wqwy;vqR@0=Dz^7wY7R*Wpv(}>i$gmw;r3IMAYv^on?N#<`ZO#ucP={@Cy~$Wy ze*r6X#JH%=S@Qdz<9epMrD`_b1-qv{4Gp(yo(0Yfob6Rb^HgDTS$iRgLkD54D(796 z3|*z5pGqU{-MtR7V@cd_NBT6Nln4Vom9Ci)?@j@niWl-zm-1cSrPWXi-d0{6=4-PM zex9aUDl{%s6gW=n2uS^L)}I;M50LT8SW`%naW}v>cvVp}Z%x|4NW6)K{gl-@zQNtk z7YX9Y`PaePWLm1AS+h>$>saYwrs18BI=>8#dBJak!vMG3E$;iv;7Ga@>vS}Rb-RW= zLh`}VGE?#ITY39a8A?eFu1vfiUSV=MrwQKqm%TBy%M$Cl@lrm?2ZIRkkXO&x|0mb8 zQ2jaO#mUEI?Th*gJ6`1Fp-)InW`{H@d)*yt!=V>F`)r_tJ7qaFn4DsoO`?Z^>K=B9 zqmA&Je9+NDBwd@!p3sty5&SMWj+h=N5nYjq&`2QN7v}7bT_D<$Ecs8;wS2`SZ6{2@ z_fhNOKefkjCO|94e0 zB0Ck*e~Zk~dT9XYHevPYsOPb;ILAL?_xz;?{D3=^^*fEe*SGMyWTfZlcEZGf-da+V z*AcFa`Oe9oG2KDYd)3e5q@(W|ytpZ-akLdAER&V~T$uPkIkPKV`pR_*x z%aN`rTg@!&qm7y#u?lB2UPUu;V5b>9H+)qeS07$`Y|lC+m0qi-w;aWhBkc!dezm8` zeObux$+f2y+t%mYeek1Ra^APVTZ(SHj~|s@Echi(D4NFn=j*+hmC1{up~uYz&Hj<6 z3@Up^Co;+<@6MR}oR1~om0SAVtq7B2?^XlUx2nqYYP~cj$oMda7a`fhn$))`xJp1A z*q^-%3#3kIvyofkTZX$zeQFC`i+vU-s)V6`BiGpz)s28wOV9P!mubx~N5F8=x>rAf zA7E2%!Y!!?5_+@3*E{>*s(qrHpPs9TiR5ov^sL{vj7{S@YigVIjvN!fw91W!YV%>_ z2P>`Fna1wH5#ron`_s%DTdRqk?}f#<7YrTo@>#My#P-60#`BvA$zJdk_iAK68^g zGiO?oA#MdTpR;UvVNEJ@U+53G_o+E6b<-($s(Q?INj_X-hvfxY-mLbMcnOVl?b z0~3NVF@w~0e|=Op;9dG2>N-@SCUbnaCkBUAJ9OS$Ri_XgGUN>$QGrCftRsFmLa$w3 zpFsMhQzC1Q#f9_`A<;3FD5z%DJ9#sjdY4<}wiAu6=_a)VR(~*2k;sL7l%WLC5Mt7apE(?G*a9Kq`f}F^6?=WoIue@esRY+$QN=%U=LyMH55q3G%o=dAYRW z(9oXUS}r$gS8(NaR1c#?S+Xw=Q}Xr9f~Fm6lFsB+oecER45h=6^ZBRz4?76I#Fl)* zs=M0&sZ$xr%`c9sa|b75Db&uo31zR8Z&RWEzy+UsDm5wry`}7>@CN=TrEQbel_NVf zo;CJ8iP>*tlIV6O$76B%ZT8!3W=HQw8usPk`b zIuUeha9LeA@s5I@i%^6~y3reP6p_f;{%oPfI7r$KdbM-cZB66=g7m5X)#D12f z5VtY1jRR;{FPEUmT=<6xz|g$7*d`>Ruf%u6pxP&!5>q@7UbC$wF<_U4?6{FDpCks1 zx^hTUGWak!g1CNbyO6naEjS!kQ`>$6^jWRsRn~!c{?VarrINwHprIRH{A&j=dlu?9 zA4Ax|_|I|Ek{N<_($JEsh&h)W2h2eWu&kJV;glZ}xElTB^yKi+rj=BoNYz;V+4<59 z)RLckQ~1!_Xn!9!WoR886HQby9C!6`D>Ks$pU}y@aY!TzVY+shH6%?V+?PQ5OxkF{ z`QTFP>@S&y7v`xpm@-h>w(fvx5~+JJ#d_p{ksolQfWhr7Y#y%uN>4wr4HwS%1w!i*9AWxJ><*uk`h4#N(dUcPh8(R3EN8gkXU+k7|S$gSHeQuPiwW%Ot zx~nc|($sMr8?oC|f4VFA&X}1{56Y7Cu^wmIjzgQ4`Z*rsm!4gkrU_d{wtNzdsBs>q zHmd%KuOW?9LA_~TVkzo*4kk6EkIsbBJ*^yZhmzp?O@vXqv8*`TeodQhWJN!jH>utHIrgyuh8ubpD+*=9u}Y2$t=c2K8+X7*R4kQ3zJK=kw(rWhZx+D$i-_F8 zo(**Lh^oB!1EX9#yv3Zov25JSh3Cw(_Ld_ta6U?T1H>7f)^9 z^<*7w`*k9@Jy-21^4f>oUTqR1x(LZ7c8oPxWE<))Ip+hPiAG&MXN|^T{Zcn#5jNYs zwf>XPPhZ^VTN2My*#iY{_eQ?Y|Dg5FC@sv@H%$Ep7<~VlU_pAL%y*V_L|+yU<7Cmm zE80qzq0i?Z<7V0lv7YrBS2b%JL+%e5@Zv7uhnQ~@kvpyXf9*>pzQVOMuFA81?xzhk z`|ZeEKD3Vw^u^BO7QJGk!mSkI%K0rdhTU>+IJ)&wB-{iM z$194K*XFv2eIKqV1}R?@>+mC5_tTtvx0~EVtYXqWSa7cHLvp+W#OnjC`m65gAu^5B zi-;3{?l%ie&UL9U(~Tf$t*%|eg^T1;wQ*s-5DbtPBCq0l1=KWcO%Q zLswe_i7Wr)4w8+XD# zE*OZ9``*4|XRo0BV&VeBbNtDdfv&GOdpFi_iyQEB@6`Rro$AVvY`^qshFqOlU4YDl zLd_oRskMdL1FEqN0cOjIOcKjL<4ffModtL9b-6F*=OlUB^v&PwuNQievwnLZQO`!b zi!OZ9A(j_7_||LoUVS8gKUUQDXVrt=rU<3cP##mIsrW>cj=awzWcvs+w7Vr6p(Y6Y zHnLAkrrl6;>wv>Pk-W&q9l-&pi8e#+C!-_ih^b8W0?)I4?D6^gPwvq(STR@(*!`Mh z5A=|Uc+W+&Q{NH=EBt>yD`)^I= zR7K`+XcPW^eOcu^!i9g5PdQ(@{F3p1=oL8}3a5Yh_x^`|^1AGbshxf!`LS!t Date: Wed, 8 Apr 2020 21:31:14 +0800 Subject: [PATCH 18/28] Update README.md --- SDKTestFramework/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index 4a72eb3..8d3e0fd 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -14,7 +14,7 @@ Example custom step tested is: - [AddVAT](#custom-step-test-framework-configuration) Example custom parser tested is: -- [JsonParser](#custom-parser-test-framework-configuration) +- [SampleParser](#custom-parser-test-framework-configuration) # Custom Step Test Framework Configuration @@ -223,7 +223,7 @@ In this example, we will use the Json parser for the demonstration. For further A test consists of the following: 1. Defining the test parameters (through the methods prescribed in SDKTestFramework.java): - - [Parser Loader](#parser-loader) - [Parser Test Loader Example](#parser-test-loader-example) + - [Parser Loader](#parser-loader) - [Parser Test Loader Example](#parser-test-loader-example) - [Parser Test Setting](#parser-test-setting) - [Parser Test Setting Example](#parser-test-setting-example) - [Parser Test Data Source](#parser-test-data-source) - [Parser Test Data Source Example](#parser-test-data-source-example) @@ -277,8 +277,8 @@ final TestParser parser = SDKTestFramework.createTestParser( parserBuilder -> parserBuilder .loadCustomParser(customParserLoader -> .customParserLoader.fromParserDefinition(new JsonParser())) - .addParserParameter("&header_processing_iteration", 3L) - .addParserParameter("&id_field", "Id") + .addParserParameter("&encoding", "UTF-8") + .addParserParameter("&max_row", 10) .build()); ``` From a4928abca242b0e99ac4a0949e1d4a79ab320ab9 Mon Sep 17 00:00:00 2001 From: chungkhenhah <53897209+chungkhenhah@users.noreply.github.com> Date: Wed, 8 Apr 2020 21:38:04 +0800 Subject: [PATCH 19/28] changing json parser to sample parser --- SDKTestFramework/README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index 8d3e0fd..85d1229 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -218,7 +218,7 @@ The steps to test a custom parser using the SDK Test Framework can be roughly si ## Writing a Test using the SDK Test Framework -In this example, we will use the Json parser for the demonstration. For further details about the Json parser, refer to the source code. +In this example, we will use the Sample parser for the demonstration. For further details about the Sample parser, refer to the source code. A test consists of the following: @@ -262,13 +262,13 @@ The TestParserSourceBuilder allows you to configure the data sources for the tes - `loadStream()` - optional - `build()` - returns a TestParserSource.java object -### Demo: Json Parser Test +### Demo: Sample Parser Test -An example of uploading json file using Json Parser in Data Studio would look similar to the following: +An example of uploading sample file using Sample Parser in Data Studio would look similar to the following: ![example dataset](readme-images/example-dataset.png) -To reiterate, the SDK Test Framework is designed to replicate the above functionality of Data Studio (with only limited features) to test a custom parser. Using JsonParserTfwTest.java as an example, the Java class can be found at: `/aperture-data-studio-sdk/SDKTestFramework/src/test/java/com/experian/datastudio/sdk/parser/json/` +To reiterate, the SDK Test Framework is designed to replicate the above functionality of Data Studio (with only limited features) to test a custom parser. Using SampleParserTest.java as an example, the Java class can be found at: `/aperture-data-studio-sdk/SDKTestFramework/src/test/java/com/experian/datastudio/sdk/parser/sample/` #### Parser Test Loader Example: @@ -276,13 +276,13 @@ To reiterate, the SDK Test Framework is designed to replicate the above function final TestParser parser = SDKTestFramework.createTestParser( parserBuilder -> parserBuilder .loadCustomParser(customParserLoader -> - .customParserLoader.fromParserDefinition(new JsonParser())) + .customParserLoader.fromParserDefinition(new SampleParser())) .addParserParameter("&encoding", "UTF-8") .addParserParameter("&max_row", 10) .build()); ``` -This essentially replicates the loading of json file into Data Studio as below: +This essentially replicates the loading of .sample file into Data Studio as below: ![parser test loader](readme-images/parser-test-loader.png) @@ -299,7 +299,7 @@ final TestParserSetting setting = SDKTestFramework.createTestParserSetting( } ``` -This essentially replicates the column annotation for the Json parser in Data Studio as below: +This essentially replicates the column annotation for the Sample parser in Data Studio as below: ![parser test setting](readme-images/parser-test-setting.png) @@ -308,7 +308,7 @@ This essentially replicates the column annotation for the Json parser in Data St ``` java final TestParserSource source = SDKTestFramework.createTestParserSource( parserSourceBuilder -> parserSourceBuilder - .loadFile("/json/example.json") + .loadFile("/file/dcsample.sample") .build()); ``` @@ -348,7 +348,7 @@ assertThat(result.getTableDefinitionById("Customers")).isNotNull(); Alternatively, you can use TableResultAssert which bundled together with SDK TestFramework. ``` java -TableResultAssert.assertThat(result.getTableResult("Customers")).compareOutputWithCsv("/json/example-customer-result.csv"); +TableResultAssert.assertThat(result.getTableResult("Customers")).compareOutputWithCsv("/file/example-customer-result.csv"); ``` **Note:** Do take note that TableResultAssert read the result using stream method. Therefore, the reading of records have to be from top to bottom. The following code snippet will throw `IllegalArgumentExcepttion` From db8691d078a319ee1d42a564898a5a6e1e7862e3 Mon Sep 17 00:00:00 2001 From: William Ngeow Date: Thu, 9 Apr 2020 15:09:52 +0800 Subject: [PATCH 20/28] Updated README for Custom Parser Test Framework --- SDKTestFramework/README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/SDKTestFramework/README.md b/SDKTestFramework/README.md index 85d1229..002264e 100644 --- a/SDKTestFramework/README.md +++ b/SDKTestFramework/README.md @@ -21,10 +21,10 @@ Example custom parser tested is: The SDK Test Framework tests are run using [JUnit](https://junit.org/) (a user interface is not provided). For more details about JUnit, refer to the [user documentation](https://junit.org/). The steps to test a custom step using the SDK Test Framework can be roughly simplified over the following steps: -1. [Writing a Test using the SDK Test Framework](#writing-a-test-using-the-sdk-test-framework) +1. [Writing a Step Test using the SDK Test Framework](#writing-a-step-test-using-the-sdk-test-framework) 2. [Running the Test](#running-the-test) -## Writing a Test using the SDK Test Framework +## Writing a Step Test using the SDK Test Framework **Assumption:** The developer has already written a custom step to be tested using this framework. @@ -187,7 +187,7 @@ Assertions.assertEquals(11, ((Number) result.getValueAt("Column2", 0).getValue() ## Running the Test -With the test written (following the [Writing a Test using the SDK Test Framework](#writing-a-test-using-the-sdk-test-framework) section), the Test needs to be built and run using Gradle. +With the test written (following the [Writing a Step Test using the SDK Test Framework](#writing-a-step-test-using-the-sdk-test-framework) section), the Test needs to be built and run using Gradle. 1. Run `gradle build` either from the command line or from IntelliJ IDEA: @@ -213,10 +213,10 @@ With the test written (following the [Writing a Test using the SDK Test Framewor # Custom Parser Test Framework Configuration The steps to test a custom parser using the SDK Test Framework can be roughly simplified over the following steps: -1. [Writing a Test using the SDK Test Framework](#writing-a-test-using-the-sdk-test-framework) -2. [Running the Test](#running-the-test) +1. [Writing a Parser Test using the SDK Test Framework](#writing-a-parser-test-using-the-sdk-test-framework) +2. [Running the Test](#running-the-test) (Identical to custom step test) -## Writing a Test using the SDK Test Framework +## Writing a Parser Test using the SDK Test Framework In this example, we will use the Sample parser for the demonstration. For further details about the Sample parser, refer to the source code. @@ -351,7 +351,7 @@ Alternatively, you can use TableResultAssert which bundled together with SDK Tes TableResultAssert.assertThat(result.getTableResult("Customers")).compareOutputWithCsv("/file/example-customer-result.csv"); ``` -**Note:** Do take note that TableResultAssert read the result using stream method. Therefore, the reading of records have to be from top to bottom. The following code snippet will throw `IllegalArgumentExcepttion` +**Note:** Do take note that TableResultAssert reads the result using the stream method. Therefore, the reading of records has to be from top to bottom. The following code snippet will throw an `IllegalArgumentException`. ``` java TableResultAssert.assertThat(result.getTableResult("tbl1")).hasValuesAtRow(10L , Arrays.asList("a", "1", "true")); From 8242dbb93d8c6c08c1de62a20f8e9228b45f90eb Mon Sep 17 00:00:00 2001 From: KeeLim Beh Date: Mon, 13 Apr 2020 11:35:45 +0800 Subject: [PATCH 21/28] Add on-value-changed handler --- README.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 088b089..9782cbf 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ This repo contains the SDK JAR and a pre-configured Java project that uses Gradl - [asNumber](#asnumber) - [asColumnChooser](#ascolumnchooser) - [asCustomChooser](#ascustomchooser) + - [Configure withOnValueChanged](#configure-withonvaluechanged) - [Configure isCompleteHandler](#configure-iscompletehandler) - [Configure column layouts](#configure-column-layouts) - [StepConfigurationBuilder sample code](#stepconfigurationbuilder-sample-code) @@ -77,7 +78,9 @@ This repo contains the SDK JAR and a pre-configured Java project that uses Gradl | SDK version | Compatible Data Studio version | New features released | |--------------------------------------------------------------------------------------|--------------------------------|-----------------------| -| 2.1.0 | 2.0.6 (or newer) |
  • Accessing Step Settings at the Step Configuration stage, so that API calls can be made using the credentials in the Step Settings to populate the Step Properties.
  • Password type field in Step Settings to ensure masking and encryption of sensitive information.
  • Custom Step Exception. Custom step developer can define error IDs and descriptions.
| +| 2.2.0 | |
  • Step property On-value-change hander
  • Locale parameter
| +| [2.1.1](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.1) | 2.0.9 (or newer) | New custom icons added:
  • Australia Post
  • Collibra
  • Dynamics365
  • Salesforce
  • Tableau
| +| [2.1.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.0) | 2.0.6 (or newer) |
  • Accessing Step Settings at the Step Configuration stage, so that API calls can be made using the credentials in the Step Settings to populate the Step Properties.
  • Password type field in Step Settings to ensure masking and encryption of sensitive information.
  • Custom Step Exception. Custom step developer can define error IDs and descriptions.
| | [2.0.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.0.0) | 2.0.0 (or newer) || | [1.6.2](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v1.6.2) | 1.6.2 | | [1.6.1](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v1.6.1) | 1.6.1 (up to 1.6.2) | @@ -346,6 +349,74 @@ For example, to add a column chooser to the step: | withMultipleSelect() | Set whether multiple fields can be selected | | build | Build the step property | +#### Configure withOnValueChanged +Since version 2.2.0, on-value-changed handler is added to all the step property types. The on-value-changed handler allows a step property to update the other step properties' value, when its value is been updated. + +This is necessary for scenario below. The step property `CUSTOM_2`'s allow values are depends on the step property `CUSTOM_1`'s value. First, the user selects "1" for `CUSTOM_1`, AND "1b" for `CUSTOM_2`. Then, the user edit `CUSTOM_1`'s value to "2". The step property `CUSTOM_2`'s value will become invalid as the "1b" is not found in the new allow values ("2a", "2b"). By configuring the on-value-changed on the `CUSTOM_1`, the invalid value of `CUSTOM_2` can be cleared. + +``` java +.addStepProperty(stepPropertyBuilder -> stepPropertyBuilder + .asCustomChooser(CUSTOM_1) + .withAllowValuesProvider(context -> Arrays.asList("1", "2")) + .withOnValueChanged(context -> { + context.clearStepPropertyValue(CUSTOM_2); + }) + .build()) +.addStepProperty(stepPropertyBuilder -> stepPropertyBuilder + .asCustomChooser(CUSTOM_2) + .withAllowValuesProvider(context -> { + List list = (List) context.getStepPropertyValue(CUSTOM_1).orElse(Collections.emptyList()); + if (!list.isEmpty()) { + switch (list.get(0)) { + case "1": + return Arrays.asList("1a", "1b"); + case "2": + return Arrays.asList("2a", "2b"); + } + } + return Collections.emptyList(); + }) +``` + +Below are the actions that can be performed in on-value-changed handler. +| Method | Description | +|----------------------------|-----------------------------------------------------------------------------------------| +| clearStepPropertyValue | Removes the value of a step property. | +| getChangedByStepPropertyId | Gets the step property ID that change this value. For chaining on-value-changed events. | +| getStepPropertyValue | Gets the value of a step property. | +| setStepPropertyValue | Sets the value of a step property. Please take note, column chooser is not supported. | + +Chaining on-value-changed event is supported. For example, when `STRING_3` is edited, it will update `NUMBER_4`'s value via on-value-changed handler. Then, `NUMBER_4` will fire it's on-value-changed event to update `BOOLEAN_5`. However, the same on-value-changed handler will not be triggered twice. + +``` java +.addStepProperty(stepPropertyBuilder -> stepPropertyBuilder + .asString(STRING_3) + .withOnValueChanged(context -> { + final String value = (String) context.getStepPropertyValue(STRING_3).orElse(""); + context.setStepPropertyValue(NUMBER_4, value.length()); + }) + .build()) +.addStepProperty(stepPropertyBuilder -> stepPropertyBuilder + .asNumber(NUMBER_4) + .withOnValueChanged(context -> { + final Number value = (Number) context.getStepPropertyValue(NUMBER_4).orElse(0); + context.setStepPropertyValue(BOOLEAN_5, value.intValue() % 2 == 0); + }) + .build()) +.addStepProperty(stepPropertyBuilder -> stepPropertyBuilder + .asBoolean(BOOLEAN_5) + .withOnValueChanged(context -> { + final Boolean value = (Boolean) context.getStepPropertyValue(BOOLEAN_5).orElse(false); + if (Boolean.FALSE.equals(value)) { + context.clearStepPropertyValue(COLUMN_6); + } + }) + .build()) +.addStepProperty(stepPropertyBuilder -> stepPropertyBuilder + .asColumnChooser(COLUMN_6) + .forInputNode(INPUT_ID) + .build()) +``` #### Configure isCompleteHandler From b9ff6fe652642a3ffea1e7fbc0a0f10f87981ab9 Mon Sep 17 00:00:00 2001 From: KeeLim Beh Date: Mon, 13 Apr 2020 11:41:48 +0800 Subject: [PATCH 22/28] Fix spelling error --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9782cbf..967e17f 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ This repo contains the SDK JAR and a pre-configured Java project that uses Gradl | SDK version | Compatible Data Studio version | New features released | |--------------------------------------------------------------------------------------|--------------------------------|-----------------------| -| 2.2.0 | |
  • Step property On-value-change hander
  • Locale parameter
| +| 2.2.0 | |
  • Step property on-value-change handler
  • Locale parameter
| | [2.1.1](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.1) | 2.0.9 (or newer) | New custom icons added:
  • Australia Post
  • Collibra
  • Dynamics365
  • Salesforce
  • Tableau
| | [2.1.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.0) | 2.0.6 (or newer) |
  • Accessing Step Settings at the Step Configuration stage, so that API calls can be made using the credentials in the Step Settings to populate the Step Properties.
  • Password type field in Step Settings to ensure masking and encryption of sensitive information.
  • Custom Step Exception. Custom step developer can define error IDs and descriptions.
| | [2.0.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.0.0) | 2.0.0 (or newer) || From 766b52f2b4af11386bd864a63c9086562c9f12b8 Mon Sep 17 00:00:00 2001 From: KeeLim Beh Date: Tue, 14 Apr 2020 10:40:15 +0800 Subject: [PATCH 23/28] Add turn off on-value-changed chaining guide --- README.md | 98 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 967e17f..b8d8371 100644 --- a/README.md +++ b/README.md @@ -356,26 +356,26 @@ This is necessary for scenario below. The step property `CUSTOM_2`'s allow value ``` java .addStepProperty(stepPropertyBuilder -> stepPropertyBuilder - .asCustomChooser(CUSTOM_1) - .withAllowValuesProvider(context -> Arrays.asList("1", "2")) - .withOnValueChanged(context -> { - context.clearStepPropertyValue(CUSTOM_2); - }) - .build()) + .asCustomChooser(CUSTOM_1) + .withAllowValuesProvider(context -> Arrays.asList("1", "2")) + .withOnValueChanged(context -> { + context.clearStepPropertyValue(CUSTOM_2); + }) + .build()) .addStepProperty(stepPropertyBuilder -> stepPropertyBuilder - .asCustomChooser(CUSTOM_2) - .withAllowValuesProvider(context -> { - List list = (List) context.getStepPropertyValue(CUSTOM_1).orElse(Collections.emptyList()); - if (!list.isEmpty()) { - switch (list.get(0)) { - case "1": - return Arrays.asList("1a", "1b"); - case "2": - return Arrays.asList("2a", "2b"); - } - } - return Collections.emptyList(); - }) + .asCustomChooser(CUSTOM_2) + .withAllowValuesProvider(context -> { + List list = (List) context.getStepPropertyValue(CUSTOM_1).orElse(Collections.emptyList()); + if (!list.isEmpty()) { + switch (list.get(0)) { + case "1": + return Arrays.asList("1a", "1b"); + case "2": + return Arrays.asList("2a", "2b"); + } + } + return Collections.emptyList(); + }) ``` Below are the actions that can be performed in on-value-changed handler. @@ -390,32 +390,46 @@ Chaining on-value-changed event is supported. For example, when `STRING_3` is ed ``` java .addStepProperty(stepPropertyBuilder -> stepPropertyBuilder - .asString(STRING_3) - .withOnValueChanged(context -> { - final String value = (String) context.getStepPropertyValue(STRING_3).orElse(""); - context.setStepPropertyValue(NUMBER_4, value.length()); - }) - .build()) + .asString(STRING_3) + .withOnValueChanged(context -> { + final String value = (String) context.getStepPropertyValue(STRING_3).orElse(""); + context.setStepPropertyValue(NUMBER_4, value.length()); + }) + .build()) +.addStepProperty(stepPropertyBuilder -> stepPropertyBuilder + .asNumber(NUMBER_4) + .withOnValueChanged(context -> { + final Number value = (Number) context.getStepPropertyValue(NUMBER_4).orElse(0); + context.setStepPropertyValue(BOOLEAN_5, value.intValue() % 2 == 0); + }) + .build()) .addStepProperty(stepPropertyBuilder -> stepPropertyBuilder - .asNumber(NUMBER_4) - .withOnValueChanged(context -> { - final Number value = (Number) context.getStepPropertyValue(NUMBER_4).orElse(0); - context.setStepPropertyValue(BOOLEAN_5, value.intValue() % 2 == 0); - }) - .build()) + .asBoolean(BOOLEAN_5) + .withOnValueChanged(context -> { + final Boolean value = (Boolean) context.getStepPropertyValue(BOOLEAN_5).orElse(false); + if (Boolean.FALSE.equals(value)) { + context.clearStepPropertyValue(COLUMN_6); + } + }) + .build()) .addStepProperty(stepPropertyBuilder -> stepPropertyBuilder - .asBoolean(BOOLEAN_5) - .withOnValueChanged(context -> { - final Boolean value = (Boolean) context.getStepPropertyValue(BOOLEAN_5).orElse(false); - if (Boolean.FALSE.equals(value)) { - context.clearStepPropertyValue(COLUMN_6); - } - }) - .build()) + .asColumnChooser(COLUMN_6) + .forInputNode(INPUT_ID) + .build()) +``` + +Sometimes, chaining on-value-changed events can be confusing, especially if a step property's value can be updated by multiple step properties. It might be hard to trace how a step property's value been set. On-value-changed event chaining cannot be turn off. However, there is a workaround using the `getChangedByStepPropertyId()` method. + +``` java .addStepProperty(stepPropertyBuilder -> stepPropertyBuilder - .asColumnChooser(COLUMN_6) - .forInputNode(INPUT_ID) - .build()) + .asString(STRING_3) + .withOnValueChanged(context -> { + if (!context.getChangedByStepPropertyId().isPresent()) { // ChangedByStepPropertyId is empty if triggered by UI + final String value = (String) context.getStepPropertyValue(STRING_3).orElse(""); + context.setStepPropertyValue(NUMBER_4, value.length()); + } + }) + .build()) ``` #### Configure isCompleteHandler From f115433904a078a20b3dbd7fb165a9b54ae955f9 Mon Sep 17 00:00:00 2001 From: KeeLim Beh Date: Fri, 17 Apr 2020 18:20:12 +0800 Subject: [PATCH 24/28] Update Javadoc --- docs/index.html | 1 + docs/sdkapi/allclasses-frame.html | 3 +- docs/sdkapi/allclasses-noframe.html | 3 +- .../datastudio/sdk/api/CustomDefinition.html | 4 +- .../sdk/api/CustomTypeMetadata.html | 20 +- .../CustomTypeMetadataBuilder.Builder.html | 4 +- ...CustomTypeMetadataBuilder.Description.html | 8 +- .../CustomTypeMetadataBuilder.Developer.html | 8 +- .../CustomTypeMetadataBuilder.License.html | 8 +- ...ustomTypeMetadataBuilder.MajorVersion.html | 4 +- ...ustomTypeMetadataBuilder.MinorVersion.html | 4 +- ...ustomTypeMetadataBuilder.PatchVersion.html | 4 +- .../sdk/api/CustomTypeMetadataBuilder.html | 8 +- .../datastudio/sdk/api/CustomTypeVersion.html | 8 +- .../datastudio/sdk/api/package-frame.html | 2 +- .../datastudio/sdk/api/package-summary.html | 4 +- .../datastudio/sdk/api/package-tree.html | 4 +- .../api/parser/CustomParserDefinition.html | 4 +- .../configuration/ParameterContext.html | 8 +- .../configuration/ParameterDefinition.html | 20 +- ...nBuilder.AffectsTableStructureBuilder.html | 8 +- ...erDefinitionBuilder.DefinitionBuilder.html | 4 +- ...nitionBuilder.DisplayParameterBuilder.html | 4 +- ...tionBuilder.MandatoryParameterBuilder.html | 8 +- ...nBuilder.ParameterDefaultValueBuilder.html | 74 +- ...onBuilder.ParameterDescriptionBuilder.html | 8 +- ...efinitionBuilder.ParameterNameBuilder.html | 8 +- ...efinitionBuilder.ParameterTypeBuilder.html | 4 +- .../ParameterDefinitionBuilder.html | 8 +- .../ParameterDefinitionsBuilder.html | 12 +- .../configuration/ParserConfiguration.html | 16 +- ...serConfigurationBuilder.ParserBuilder.html | 4 +- ...lder.ParserParameterDefinitionBuilder.html | 8 +- ...urationBuilder.ParserProcessorBuilder.html | 4 +- ...er.WithSupportedFileExtensionsBuilder.html | 8 +- .../ParserConfigurationBuilder.html | 8 +- .../ParserParameterDisplayType.html | 28 +- .../ParserParameterValueType.html | 28 +- .../configuration/SupportedFileExtension.html | 16 +- ...ExtensionBuilder.FileExtensionBuilder.html | 4 +- ...ilder.FileExtensionDescriptionBuilder.html | 8 +- ...nsionBuilder.FileExtensionNameBuilder.html | 8 +- .../SupportedFileExtensionBuilder.html | 8 +- .../SupportedFileExtensionsBuilder.html | 12 +- .../parser/configuration/package-frame.html | 2 +- .../parser/configuration/package-summary.html | 4 +- .../parser/configuration/package-tree.html | 8 +- .../sdk/api/parser/package-frame.html | 2 +- .../sdk/api/parser/package-summary.html | 4 +- .../sdk/api/parser/package-tree.html | 4 +- .../parser/processor/ClosableIterator.html | 20 +- ...osableIteratorBuilder.IteratorBuilder.html | 8 +- ...sableIteratorBuilder.WithCloseBuilder.html | 8 +- ...osableIteratorBuilder.WithNextBuilder.html | 8 +- ...leIteratorBuilder.WithProgressBuilder.html | 8 +- .../processor/ClosableIteratorBuilder.html | 8 +- .../processor/ParserColumnDataType.html | 28 +- .../processor/ParserColumnDefinition.html | 28 +- .../ParserColumnDefinitionFactory.html | 36 +- .../api/parser/processor/ParserProcessor.html | 20 +- .../processor/ParserTableDefinition.html | 20 +- .../ParserTableDefinitionFactory.html | 16 +- .../parser/processor/RowIteratorContext.html | 50 +- .../processor/TableDefinitionContext.html | 50 +- .../parser/processor/ThrowingRunnable.html | 22 +- .../parser/processor/ThrowingSupplier.html | 20 +- .../api/parser/processor/package-frame.html | 2 +- .../api/parser/processor/package-summary.html | 8 +- .../api/parser/processor/package-tree.html | 8 +- .../datastudio/sdk/api/step/Column.html | 16 +- .../sdk/api/step/CustomStepDefinition.html | 4 +- .../sdk/api/step/CustomStepException.html | 36 +- .../datastudio/sdk/api/step/UserOption.html | 22 +- .../ConfigurationInputContext.html | 14 +- .../step/configuration/CustomStepSetting.html | 8 +- .../CustomStepSettingBuilder.Build.html | 4 +- .../CustomStepSettingBuilder.html | 8 +- .../configuration/CustomStepSettingField.html | 12 +- .../CustomStepSettingFieldBuilder.Build.html | 4 +- .../CustomStepSettingFieldBuilder.Name.html | 8 +- ...ustomStepSettingFieldBuilder.Required.html | 4 +- .../CustomStepSettingFieldBuilder.html | 8 +- .../sdk/api/step/configuration/InputNode.html | 12 +- .../InputNodeBuilder.Builder.html | 4 +- .../step/configuration/InputNodeBuilder.html | 8 +- .../step/configuration/NodeDefinition.html | 12 +- .../sdk/api/step/configuration/NodeType.html | 28 +- .../OutputColumnBuilderContext.html | 34 +- .../api/step/configuration/OutputLayout.html | 12 +- ...tputLayoutBuilder.OutputColumnBuilder.html | 12 +- .../configuration/OutputLayoutBuilder.html | 16 +- .../api/step/configuration/OutputNode.html | 12 +- .../OutputNodeBuilder.Builder.html | 8 +- .../step/configuration/OutputNodeBuilder.html | 8 +- .../step/configuration/StepConfiguration.html | 24 +- ...ationBuilder.AddStepPropertiesBuilder.html | 8 +- ...igurationBuilder.ConfigurationBuilder.html | 8 +- ....IsCompleteAndOutputDefinitionBuilder.html | 4 +- ...onfigurationBuilder.IsCompleteBuilder.html | 8 +- ...rationBuilder.OutputDefinitionBuilder.html | 8 +- .../StepConfigurationBuilder.html | 8 +- .../sdk/api/step/configuration/StepIcon.html | 1472 +++++++++-------- .../step/configuration/StepNodeBuilder.html | 32 +- ...PropertiesBuilder.StepPropertyBuilder.html | 24 +- .../configuration/StepPropertiesBuilder.html | 12 +- .../api/step/configuration/StepProperty.html | 52 +- .../configuration/StepPropertyContext.html | 120 +- .../step/configuration/StepSettingType.html | 28 +- .../step/configuration/UICallbackContext.html | 28 +- .../api/step/configuration/package-frame.html | 2 +- .../step/configuration/package-summary.html | 4 +- .../api/step/configuration/package-tree.html | 10 +- .../stepproperties/BooleanStepProperty.html | 8 +- .../BooleanStepPropertyBuilder.html | 10 +- .../ColumnChooserStepProperty.html | 12 +- ...rStepPropertyBuilder.InputNodeBuilder.html | 8 +- .../ColumnChooserStepPropertyBuilder.html | 14 +- .../CustomChooserStepProperty.html | 12 +- ...rtyBuilder.AllowValuesProviderBuilder.html | 8 +- .../CustomChooserStepPropertyBuilder.html | 10 +- .../InputLabelStepProperty.html | 14 +- ...StepPropertyBuilder.InputLabelBuilder.html | 8 +- .../InputLabelStepPropertyBuilder.html | 4 +- .../stepproperties/InputTextStepProperty.html | 12 +- .../InputTextStepPropertyBuilder.html | 10 +- .../stepproperties/NumberStepProperty.html | 16 +- .../NumberStepPropertyBuilder.html | 18 +- .../stepproperties/StepPropertyBuilder.html | 68 +- .../StepPropertyOnValueChangedContext.html | 366 ++++ .../stepproperties/StringStepProperty.html | 12 +- .../StringStepPropertyBuilder.html | 10 +- .../stepproperties/package-frame.html | 3 +- .../stepproperties/package-summary.html | 12 +- .../stepproperties/package-tree.html | 5 +- .../sdk/api/step/package-frame.html | 2 +- .../sdk/api/step/package-summary.html | 4 +- .../datastudio/sdk/api/step/package-tree.html | 12 +- .../sdk/api/step/processor/CellValue.html | 28 +- .../api/step/processor/CellValueDataType.html | 28 +- .../sdk/api/step/processor/CellValueType.html | 28 +- .../api/step/processor/CustomValueStyle.html | 28 +- .../sdk/api/step/processor/InputColumn.html | 16 +- .../sdk/api/step/processor/OutputCell.html | 8 +- .../processor/OutputCellBuilder.Builder.html | 8 +- .../processor/OutputCellBuilder.Style.html | 8 +- .../OutputCellBuilder.StyleAndBuilder.html | 4 +- .../api/step/processor/OutputCellBuilder.html | 12 +- .../step/processor/OutputColumnManager.html | 20 +- .../step/processor/ProcessorInputContext.html | 14 +- .../sdk/api/step/processor/StepProcessor.html | 20 +- .../StepProcessorBuilder.Builder.html | 4 +- .../step/processor/StepProcessorBuilder.html | 12 +- .../step/processor/StepProcessorContext.html | 42 +- .../step/processor/StepProcessorFunction.html | 6 +- .../sdk/api/step/processor/StepResource.html | 20 +- .../StepResourceBuilder.Builder.html | 12 +- .../StepResourceBuilder.Supplier.html | 12 +- .../step/processor/StepResourceBuilder.html | 12 +- .../processor/StepResourceBuilderFactory.html | 8 +- .../step/processor/StepResourceContext.html | 10 +- .../api/step/processor/cache/StepCache.html | 12 +- .../cache/StepCacheConfiguration.html | 16 +- ...StepCacheConfigurationBuilder.Builder.html | 12 +- ...acheConfigurationBuilder.ScopeBuilder.html | 8 +- ...figurationBuilder.TtlForUpdateBuilder.html | 12 +- .../cache/StepCacheConfigurationBuilder.html | 12 +- .../processor/cache/StepCacheManager.html | 12 +- .../step/processor/cache/StepCacheScope.html | 28 +- .../step/processor/cache/StepCacheTtl.html | 8 +- .../step/processor/cache/package-frame.html | 2 +- .../step/processor/cache/package-summary.html | 4 +- .../step/processor/cache/package-tree.html | 12 +- .../sdk/api/step/processor/package-frame.html | 2 +- .../api/step/processor/package-summary.html | 4 +- .../sdk/api/step/processor/package-tree.html | 16 +- docs/sdkapi/constant-values.html | 4 +- docs/sdkapi/deprecated-list.html | 43 +- docs/sdkapi/help-doc.html | 4 +- docs/sdkapi/index-all.html | 146 +- docs/sdkapi/index.html | 2 +- docs/sdkapi/overview-frame.html | 2 +- docs/sdkapi/overview-summary.html | 6 +- docs/sdkapi/overview-tree.html | 23 +- docs/sdkapi/serialized-form.html | 6 +- docs/sdklib/allclasses-frame.html | 2 +- docs/sdklib/allclasses-noframe.html | 2 +- .../sdk/lib/logging/SdkLogManager.html | 50 +- .../sdk/lib/logging/package-frame.html | 2 +- .../sdk/lib/logging/package-summary.html | 6 +- .../sdk/lib/logging/package-tree.html | 6 +- .../datastudio/sdk/lib/web/HttpHeader.html | 32 +- .../datastudio/sdk/lib/web/HttpMethod.html | 28 +- .../datastudio/sdk/lib/web/HttpStatus.html | 28 +- .../datastudio/sdk/lib/web/HttpVersion.html | 28 +- .../datastudio/sdk/lib/web/WebHttpClient.html | 12 +- .../sdk/lib/web/WebHttpClientBuilder.html | 20 +- .../datastudio/sdk/lib/web/WebHttpHeader.html | 28 +- .../sdk/lib/web/WebHttpRequest.html | 20 +- ...tionBuilder.WebHttpRequestBodyBuilder.html | 10 +- ...gurationBuilder.WebHttpRequestBuilder.html | 36 +- .../WebHttpRequestConfigurationBuilder.html | 20 +- .../sdk/lib/web/WebHttpResponse.html | 16 +- .../sdk/lib/web/WebHttpResponseStatus.html | 12 +- .../datastudio/sdk/lib/web/package-frame.html | 2 +- .../sdk/lib/web/package-summary.html | 4 +- .../datastudio/sdk/lib/web/package-tree.html | 12 +- docs/sdklib/constant-values.html | 10 +- docs/sdklib/deprecated-list.html | 4 +- docs/sdklib/help-doc.html | 4 +- docs/sdklib/index-all.html | 10 +- docs/sdklib/index.html | 2 +- docs/sdklib/overview-frame.html | 2 +- docs/sdklib/overview-summary.html | 6 +- docs/sdklib/overview-tree.html | 10 +- docs/sdktestframework/allclasses-frame.html | 77 + docs/sdktestframework/allclasses-noframe.html | 77 + .../sdk/testframework/SDKTestFramework.html | 362 ++++ .../sdk/testframework/TestResult.html | 479 ++++++ .../assertion/StepCellResult.html | 254 +++ .../assertion/StepTableResult.html | 276 ++++ .../testframework/assertion/TableResult.html | 308 ++++ .../assertion/TableResultAssert.html | 405 +++++ .../assertion/TestResultAssert.html | 323 ++++ .../assertion/package-frame.html | 26 + .../assertion/package-summary.html | 185 +++ .../testframework/assertion/package-tree.html | 151 ++ .../customloader/CustomParserLoader.html | 298 ++++ .../customloader/CustomStepLoader.html | 298 ++++ .../customloader/package-frame.html | 20 + .../customloader/package-summary.html | 156 ++ .../customloader/package-tree.html | 135 ++ .../customparser/ParserDataType.html | 381 +++++ .../customparser/ParserTableResult.html | 366 ++++ .../customparser/ParserTestResult.html | 390 +++++ .../customparser/ParserTestSuite.html | 230 +++ .../ParserTestSuiteBuilder.Builder.html | 237 +++ .../ParserTestSuiteBuilder.Setting.html | 247 +++ .../ParserTestSuiteBuilder.Source.html | 235 +++ .../customparser/ParserTestSuiteBuilder.html | 259 +++ .../customparser/TestParser.html | 295 ++++ .../TestParserBuilder.Builder.html | 337 ++++ .../TestParserBuilder.WithLocale.html | 248 +++ .../customparser/TestParserBuilder.html | 255 +++ .../customparser/TestParserSetting.html | 232 +++ .../TestParserSettingBuilder.html | 255 +++ .../customparser/TestParserSource.html | 250 +++ .../TestParserSourceBuilder.Builder.html | 233 +++ .../customparser/TestParserSourceBuilder.html | 298 ++++ .../customparser/package-frame.html | 41 + .../customparser/package-summary.html | 254 +++ .../customparser/package-tree.html | 170 ++ .../StepPropertiesValueBuilder.html | 377 +++++ .../customstep/package-frame.html | 19 + .../customstep/package-summary.html | 141 ++ .../customstep/package-tree.html | 130 ++ .../MockResourceBuilder.Builder.html | 241 +++ .../MockResourceBuilder.WithCloser.html | 243 +++ ...kResourceBuilder.WithCloserAndBuilder.html | 209 +++ .../MockResourceBuilder.WithSupplier.html | 239 +++ .../processor/MockResourceBuilder.html | 267 +++ .../processor/MockResourceBuilderFactory.html | 284 ++++ .../processor/MockResourcesBuilder.html | 304 ++++ .../customstep/processor/package-frame.html | 28 + .../customstep/processor/package-summary.html | 180 ++ .../customstep/processor/package-tree.html | 150 ++ .../testframework/datasource/DataSource.html | 328 ++++ .../DataSourceBuilder.FinalStep.html | 237 +++ .../datasource/DataSourceBuilder.Setting.html | 260 +++ .../datasource/DataSourceBuilder.html | 232 +++ .../datasource/DataSourceCSVBuilder.html | 258 +++ ...taSourceValueBuilder.NewSourceBuilder.html | 260 +++ .../DataSourceValueBuilder.RowBuilder.html | 247 +++ .../datasource/DataSourceValueBuilder.html | 259 +++ .../datasource/DataSourcesBuilder.html | 252 +++ .../datasource/package-frame.html | 27 + .../datasource/package-summary.html | 190 +++ .../datasource/package-tree.html | 148 ++ .../exception/SDKTestException.html | 378 +++++ .../exception/package-frame.html | 19 + .../exception/package-summary.html | 150 ++ .../testframework/exception/package-tree.html | 146 ++ .../sdk/testframework/package-frame.html | 20 + .../sdk/testframework/package-summary.html | 147 ++ .../sdk/testframework/package-tree.html | 135 ++ .../testframework/setting/TestSetting.html | 310 ++++ .../setting/TestSettingBuilder.html | 321 ++++ .../testframework/setting/package-frame.html | 20 + .../setting/package-summary.html | 156 ++ .../testframework/setting/package-tree.html | 131 ++ .../testdefinition/CellResult.html | 308 ++++ .../testdefinition/TestStep.html | 258 +++ ...estStepBuilder.AddStepPropertiesValue.html | 235 +++ .../TestStepBuilder.Builder.html | 237 +++ .../TestStepBuilder.WithMockResources.html | 239 +++ ...epBuilder.WithMockResourcesAndBuilder.html | 205 +++ .../testdefinition/TestStepBuilder.html | 263 +++ .../testdefinition/TestSuite.html | 252 +++ .../TestSuiteBuilder.Builder.html | 233 +++ .../TestSuiteBuilder.DataSourceBuilder.html | 235 +++ .../TestSuiteBuilder.StepBuilder.html | 235 +++ .../testdefinition/TestSuiteBuilder.html | 259 +++ .../testdefinition/package-frame.html | 33 + .../testdefinition/package-summary.html | 211 +++ .../testdefinition/package-tree.html | 155 ++ .../testframework/web/MockWebHttpClient.html | 423 +++++ .../web/MockWebHttpClientFactory.html | 329 ++++ .../sdk/testframework/web/package-frame.html | 20 + .../testframework/web/package-summary.html | 156 ++ .../sdk/testframework/web/package-tree.html | 135 ++ docs/sdktestframework/constant-values.html | 121 ++ docs/sdktestframework/deprecated-list.html | 150 ++ docs/sdktestframework/help-doc.html | 222 +++ docs/sdktestframework/index-all.html | 1004 +++++++++++ docs/sdktestframework/index.html | 75 + docs/sdktestframework/overview-frame.html | 30 + docs/sdktestframework/overview-summary.html | 191 +++ docs/sdktestframework/overview-tree.html | 273 +++ docs/sdktestframework/package-list | 11 + docs/sdktestframework/script.js | 30 + docs/sdktestframework/serialized-form.html | 138 ++ docs/sdktestframework/stylesheet.css | 574 +++++++ 321 files changed, 26470 insertions(+), 2079 deletions(-) create mode 100644 docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/stepproperties/StepPropertyOnValueChangedContext.html create mode 100644 docs/sdktestframework/allclasses-frame.html create mode 100644 docs/sdktestframework/allclasses-noframe.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/SDKTestFramework.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/TestResult.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/StepCellResult.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/StepTableResult.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TableResult.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TableResultAssert.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TestResultAssert.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/CustomParserLoader.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/CustomStepLoader.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserDataType.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTableResult.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestResult.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuite.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Builder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Setting.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Source.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParser.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.Builder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.WithLocale.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSetting.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSettingBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSource.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSourceBuilder.Builder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSourceBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/StepPropertiesValueBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.Builder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithCloser.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithCloserAndBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithSupplier.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilderFactory.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourcesBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSource.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.FinalStep.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.Setting.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceCSVBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.NewSourceBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.RowBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourcesBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/SDKTestException.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/TestSetting.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/TestSettingBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/CellResult.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStep.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.AddStepPropertiesValue.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.Builder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.WithMockResources.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.WithMockResourcesAndBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuite.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.Builder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.DataSourceBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.StepBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-tree.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/MockWebHttpClient.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/MockWebHttpClientFactory.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-frame.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-summary.html create mode 100644 docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-tree.html create mode 100644 docs/sdktestframework/constant-values.html create mode 100644 docs/sdktestframework/deprecated-list.html create mode 100644 docs/sdktestframework/help-doc.html create mode 100644 docs/sdktestframework/index-all.html create mode 100644 docs/sdktestframework/index.html create mode 100644 docs/sdktestframework/overview-frame.html create mode 100644 docs/sdktestframework/overview-summary.html create mode 100644 docs/sdktestframework/overview-tree.html create mode 100644 docs/sdktestframework/package-list create mode 100644 docs/sdktestframework/script.js create mode 100644 docs/sdktestframework/serialized-form.html create mode 100644 docs/sdktestframework/stylesheet.css diff --git a/docs/index.html b/docs/index.html index 9124e18..3f72230 100644 --- a/docs/index.html +++ b/docs/index.html @@ -12,6 +12,7 @@
diff --git a/docs/sdkapi/allclasses-frame.html b/docs/sdkapi/allclasses-frame.html index afc3f2e..476131b 100644 --- a/docs/sdkapi/allclasses-frame.html +++ b/docs/sdkapi/allclasses-frame.html @@ -3,7 +3,7 @@ -All Classes (SDKAPI 2.1.0 API) +All Classes (SDKAPI 2.2.0 API) @@ -135,6 +135,7 @@

All Classes

  • StepProperty
  • StepPropertyBuilder
  • StepPropertyContext
  • +
  • StepPropertyOnValueChangedContext
  • StepResource
  • StepResourceBuilder
  • StepResourceBuilder.Builder
  • diff --git a/docs/sdkapi/allclasses-noframe.html b/docs/sdkapi/allclasses-noframe.html index d6ca7b7..0212874 100644 --- a/docs/sdkapi/allclasses-noframe.html +++ b/docs/sdkapi/allclasses-noframe.html @@ -3,7 +3,7 @@ -All Classes (SDKAPI 2.1.0 API) +All Classes (SDKAPI 2.2.0 API) @@ -135,6 +135,7 @@

    All Classes

  • StepProperty
  • StepPropertyBuilder
  • StepPropertyContext
  • +
  • StepPropertyOnValueChangedContext
  • StepResource
  • StepResourceBuilder
  • StepResourceBuilder.Builder
  • diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/CustomDefinition.html b/docs/sdkapi/com/experian/datastudio/sdk/api/CustomDefinition.html index 77688a4..0fb5a19 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/CustomDefinition.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/CustomDefinition.html @@ -3,7 +3,7 @@ -CustomDefinition (SDKAPI 2.1.0 API) +CustomDefinition (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/package-summary.html b/docs/sdkapi/com/experian/datastudio/sdk/api/package-summary.html index 5a1db6c..fce3ffb 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/package-summary.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.api (SDKAPI 2.1.0 API) +com.experian.datastudio.sdk.api (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/parser/configuration/package-summary.html b/docs/sdkapi/com/experian/datastudio/sdk/api/parser/configuration/package-summary.html index ecd6262..9d8d29a 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/parser/configuration/package-summary.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/parser/configuration/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.api.parser.configuration (SDKAPI 2.1.0 API) +com.experian.datastudio.sdk.api.parser.configuration (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/parser/package-summary.html b/docs/sdkapi/com/experian/datastudio/sdk/api/parser/package-summary.html index 572b500..45f025a 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/parser/package-summary.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/parser/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.api.parser (SDKAPI 2.1.0 API) +com.experian.datastudio.sdk.api.parser (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,14 +11,14 @@ @@ -11,14 +11,14 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/parser/processor/package-summary.html b/docs/sdkapi/com/experian/datastudio/sdk/api/parser/processor/package-summary.html index f0873ef..7ae0c26 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/parser/processor/package-summary.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/parser/processor/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.api.parser.processor (SDKAPI 2.1.0 API) +com.experian.datastudio.sdk.api.parser.processor (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/package-summary.html b/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/package-summary.html index d3cff0e..4bad727 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/package-summary.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.api.step.configuration (SDKAPI 2.1.0 API) +com.experian.datastudio.sdk.api.step.configuration (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,14 +11,14 @@ + + + + + + + + + +
    +
    com.experian.datastudio.sdk.api.step.configuration.stepproperties
    +

    Interface StepPropertyOnValueChangedContext

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface StepPropertyOnValueChangedContext
      +
      Defines the callback to update other step properties.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          clearStepPropertyValue

          +
          void clearStepPropertyValue(String stepPropertyId)
          +
          Removes the value of a step property.
          +
          +
          Parameters:
          +
          stepPropertyId - the ID of the step property
          +
          +
        • +
        + + + +
          +
        • +

          setStepPropertyValue

          +
          void setStepPropertyValue(String stepPropertyId,
          +                          String value)
          +
          Sets the string value of a step property.
          +
          +
          Parameters:
          +
          stepPropertyId - the ID of the step property
          +
          value - string value
          +
          +
        • +
        + + + +
          +
        • +

          setStepPropertyValue

          +
          void setStepPropertyValue(String stepPropertyId,
          +                          Number value)
          +
          Sets the number value of a step property.
          +
          +
          Parameters:
          +
          stepPropertyId - the ID of the step property
          +
          value - number value
          +
          +
        • +
        + + + +
          +
        • +

          setStepPropertyValue

          +
          void setStepPropertyValue(String stepPropertyId,
          +                          List<String> value)
          +
          Sets the custom chooser value of a step property.
          +
          +
          Parameters:
          +
          stepPropertyId - the ID of the step property
          +
          value - custom chooser value
          +
          +
        • +
        + + + +
          +
        • +

          setStepPropertyValue

          +
          void setStepPropertyValue(String stepPropertyId,
          +                          boolean value)
          +
          Sets the boolean value of a step property.
          +
          +
          Parameters:
          +
          stepPropertyId - the ID of the step property
          +
          value - boolean value
          +
          +
        • +
        + + + +
          +
        • +

          getStepPropertyValue

          +
          <T> Optional<T> getStepPropertyValue(String stepPropertyId)
          +
          Gets the value of a step property.
          +
          +
          Type Parameters:
          +
          T - The type of value the step property would return. e.g StringStepProperty would return String value.
          +
          Parameters:
          +
          stepPropertyId - the step property ID
          +
          Returns:
          +
          The step property value.
          +
          +
        • +
        + + + +
          +
        • +

          getChangedByStepPropertyId

          +
          Optional<String> getChangedByStepPropertyId()
          +
          Gets the step property ID that change this value.
          +
          +
          Returns:
          +
          the parent step property id.
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/stepproperties/StringStepProperty.html b/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/stepproperties/StringStepProperty.html index 9e79fbe..e79f382 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/stepproperties/StringStepProperty.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/stepproperties/StringStepProperty.html @@ -3,7 +3,7 @@ -StringStepProperty (SDKAPI 2.1.0 API) +StringStepProperty (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -28,6 +28,7 @@

    Interfaces

  • NumberStepProperty
  • NumberStepPropertyBuilder
  • StepPropertyBuilder
  • +
  • StepPropertyOnValueChangedContext
  • StringStepProperty
  • StringStepPropertyBuilder
  • diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/stepproperties/package-summary.html b/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/stepproperties/package-summary.html index 9ef55b4..b693400 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/stepproperties/package-summary.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/step/configuration/stepproperties/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.api.step.configuration.stepproperties (SDKAPI 2.1.0 API) +com.experian.datastudio.sdk.api.step.configuration.stepproperties (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/step/package-summary.html b/docs/sdkapi/com/experian/datastudio/sdk/api/step/package-summary.html index b7bd545..7ecf58f 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/step/package-summary.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/step/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.api.step (SDKAPI 2.1.0 API) +com.experian.datastudio.sdk.api.step (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/step/processor/cache/package-summary.html b/docs/sdkapi/com/experian/datastudio/sdk/api/step/processor/cache/package-summary.html index 56f439c..de2c05c 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/step/processor/cache/package-summary.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/step/processor/cache/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.api.step.processor.cache (SDKAPI 2.1.0 API) +com.experian.datastudio.sdk.api.step.processor.cache (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdkapi/com/experian/datastudio/sdk/api/step/processor/package-summary.html b/docs/sdkapi/com/experian/datastudio/sdk/api/step/processor/package-summary.html index 1c8e51d..d1fc2f2 100644 --- a/docs/sdkapi/com/experian/datastudio/sdk/api/step/processor/package-summary.html +++ b/docs/sdkapi/com/experian/datastudio/sdk/api/step/processor/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.api.step.processor (SDKAPI 2.1.0 API) +com.experian.datastudio.sdk.api.step.processor (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdkapi/overview-summary.html b/docs/sdkapi/overview-summary.html index f2c4fa8..3473149 100644 --- a/docs/sdkapi/overview-summary.html +++ b/docs/sdkapi/overview-summary.html @@ -3,7 +3,7 @@ -Overview (SDKAPI 2.1.0 API) +Overview (SDKAPI 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdklib/allclasses-noframe.html b/docs/sdklib/allclasses-noframe.html index 299ddd5..7369eea 100644 --- a/docs/sdklib/allclasses-noframe.html +++ b/docs/sdklib/allclasses-noframe.html @@ -3,7 +3,7 @@ -All Classes (SDKLIB 2.1.0 API) +All Classes (SDKLIB 2.2.0 API) diff --git a/docs/sdklib/com/experian/datastudio/sdk/lib/logging/SdkLogManager.html b/docs/sdklib/com/experian/datastudio/sdk/lib/logging/SdkLogManager.html index 6101233..45f7728 100644 --- a/docs/sdklib/com/experian/datastudio/sdk/lib/logging/SdkLogManager.html +++ b/docs/sdklib/com/experian/datastudio/sdk/lib/logging/SdkLogManager.html @@ -3,7 +3,7 @@ -SdkLogManager (SDKLIB 2.1.0 API) +SdkLogManager (SDKLIB 2.2.0 API) @@ -11,7 +11,7 @@ diff --git a/docs/sdklib/com/experian/datastudio/sdk/lib/logging/package-summary.html b/docs/sdklib/com/experian/datastudio/sdk/lib/logging/package-summary.html index 42ce1eb..6f64a12 100644 --- a/docs/sdklib/com/experian/datastudio/sdk/lib/logging/package-summary.html +++ b/docs/sdklib/com/experian/datastudio/sdk/lib/logging/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.lib.logging (SDKLIB 2.1.0 API) +com.experian.datastudio.sdk.lib.logging (SDKLIB 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdklib/com/experian/datastudio/sdk/lib/web/package-summary.html b/docs/sdklib/com/experian/datastudio/sdk/lib/web/package-summary.html index b9ed7ac..64c25e6 100644 --- a/docs/sdklib/com/experian/datastudio/sdk/lib/web/package-summary.html +++ b/docs/sdklib/com/experian/datastudio/sdk/lib/web/package-summary.html @@ -3,7 +3,7 @@ -com.experian.datastudio.sdk.lib.web (SDKLIB 2.1.0 API) +com.experian.datastudio.sdk.lib.web (SDKLIB 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/sdklib/overview-summary.html b/docs/sdklib/overview-summary.html index 1702db5..8ee720d 100644 --- a/docs/sdklib/overview-summary.html +++ b/docs/sdklib/overview-summary.html @@ -3,7 +3,7 @@ -Overview (SDKLIB 2.1.0 API) +Overview (SDKLIB 2.2.0 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ + + +

    All Classes

    + + + diff --git a/docs/sdktestframework/allclasses-noframe.html b/docs/sdktestframework/allclasses-noframe.html new file mode 100644 index 0000000..b53dbb6 --- /dev/null +++ b/docs/sdktestframework/allclasses-noframe.html @@ -0,0 +1,77 @@ + + + + + +All Classes (SDK Test Framework 2.2.0 API) + + + + +

    All Classes

    + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/SDKTestFramework.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/SDKTestFramework.html new file mode 100644 index 0000000..ac061f3 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/SDKTestFramework.html @@ -0,0 +1,362 @@ + + + + + +SDKTestFramework (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework
    +

    Class SDKTestFramework

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • com.experian.datastudio.sdk.testframework.SDKTestFramework
      • +
      +
    • +
    +
    +
      +
    • +
      +
      +
      public class SDKTestFramework
      +extends Object
      +
      This is a utility class to create all the necessary components for testing custom step or custom parser.
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          createTestStep

          +
          public static TestStep createTestStep(Function<TestStepBuilder,TestStep> function)
          +
          Creates the TestStep for testing custom step.
          +
          +
          Parameters:
          +
          function - the function to be executed to build a TestStep
          +
          Returns:
          +
          a TestStep
          +
          +
        • +
        + + + +
          +
        • +

          createTestSetting

          +
          public static TestSetting createTestSetting(Function<TestSettingBuilder,TestSetting> function)
          +
          Creates the settings for testing custom step.
          +
          +
          Parameters:
          +
          function - the function to be executed to build a TestSetting
          +
          Returns:
          +
          a TestSetting
          +
          +
        • +
        + + + +
          +
        • +

          createTestDataSource

          +
          public static List<DataSource> createTestDataSource(Function<DataSourcesBuilder,List<DataSource>> function)
          +
          Creates the data source for testing custom step.
          +
          +
          Parameters:
          +
          function - the function to be executed to build a DataSource
          +
          Returns:
          +
          a DataSource
          +
          Since:
          +
          2.2.0
          +
          +
        • +
        + + + + + + + +
          +
        • +

          createTestParserSource

          +
          public static TestParserSource createTestParserSource(Function<TestParserSourceBuilder,TestParserSource> function)
          +
          Creates the input source for testing custom parser.
          +
          +
          Parameters:
          +
          function - the function to build a TestParserSource
          +
          Returns:
          +
          a TestParserSource
          +
          Since:
          +
          2.2.0
          +
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/TestResult.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/TestResult.html new file mode 100644 index 0000000..69d495f --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/TestResult.html @@ -0,0 +1,479 @@ + + + + + +TestResult (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework
    +

    Class TestResult

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • com.experian.datastudio.sdk.testframework.TestResult
      • +
      +
    • +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          TestResult

          +
          public TestResult(long rowCount,
          +                  List<com.experian.datastudio.sdk.testframework.ExecutedColumn> executedColumns)
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValueAt

          +
          @Deprecated
          +public CellResult getValueAt(int columnIndex,
          +                                          long rowIndex)
          +
          Deprecated. Since 2.2.0, replaced by getStepCell(int, long)
          +
          Returns the value of the result at specific column and row.
          +
          +
          Parameters:
          +
          columnIndex - the index of the column
          +
          rowIndex - the index of the row
          +
          Returns:
          +
          the value wrapped in a CellResult
          +
          +
        • +
        + + + +
          +
        • +

          getValueAt

          +
          @Deprecated
          +public CellResult getValueAt(String columnName,
          +                                          long rowIndex)
          +
          Deprecated. Since 2.2.0, replaced by getStepCell(String, long)
          +
          Returns the value of the result at specific column and row.
          +
          +
          Parameters:
          +
          columnName - the name of the column
          +
          rowIndex - the index of the row
          +
          Returns:
          +
          the value wrapped in a CellResult
          +
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public Object getValue(int columnIndex,
          +                       long rowIndex)
          +
          Description copied from interface: TableResult
          +
          Gets the value of a table cell.
          +
          +
          Specified by:
          +
          getValue in interface TableResult
          +
          Parameters:
          +
          columnIndex - column index
          +
          rowIndex - row index
          +
          Returns:
          +
          value based on the specified column and row index
          +
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public Object getValue(String columnName,
          +                       long rowIndex)
          +
          Description copied from interface: TableResult
          +
          Gets the value of a table cell.
          +
          +
          Specified by:
          +
          getValue in interface TableResult
          +
          Parameters:
          +
          columnName - name of the column
          +
          rowIndex - row index
          +
          Returns:
          +
          value based on the specified column name and row index
          +
          +
        • +
        + + + + + + + + + + + +
          +
        • +

          getColumns

          +
          public List<String> getColumns()
          +
          Description copied from interface: TableResult
          +
          Gets a list of column names.
          +
          +
          Specified by:
          +
          getColumns in interface TableResult
          +
          Returns:
          +
          list of column names
          +
          +
        • +
        + + + +
          +
        • +

          getRowCount

          +
          public long getRowCount()
          +
          Description copied from interface: TableResult
          +
          Gets the count of total rows in the result.
          +
          +
          Specified by:
          +
          getRowCount in interface TableResult
          +
          Returns:
          +
          count of total rows
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/StepCellResult.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/StepCellResult.html new file mode 100644 index 0000000..84b6e09 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/StepCellResult.html @@ -0,0 +1,254 @@ + + + + + +StepCellResult (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.assertion
    +

    Interface StepCellResult

    +
    +
    +
    +
      +
    • +
      +
      All Known Implementing Classes:
      +
      CellResult
      +
      +
      +
      +
      public interface StepCellResult
      +
      Represents generated cell result for custom step.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/StepTableResult.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/StepTableResult.html new file mode 100644 index 0000000..e86b2e7 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/StepTableResult.html @@ -0,0 +1,276 @@ + + + + + +StepTableResult (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.assertion
    +

    Interface StepTableResult

    +
    +
    +
    +
      +
    • +
      +
      All Superinterfaces:
      +
      TableResult
      +
      +
      +
      All Known Implementing Classes:
      +
      TestResult
      +
      +
      +
      +
      public interface StepTableResult
      +extends TableResult
      +
      Represents generated result from a custom step.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getStepCell

          +
          StepCellResult getStepCell(int columnIndex,
          +                           long rowIndex)
          +
          Gets the StepCellResult of a table cell.
          +
          +
          Parameters:
          +
          columnIndex - column index
          +
          rowIndex - row index
          +
          Returns:
          +
          the StepCellResult based on the specified column and row index
          +
          +
        • +
        + + + +
          +
        • +

          getStepCell

          +
          StepCellResult getStepCell(String columnName,
          +                           long rowIndex)
          +
          Gets the StepCellResult of a table cell.
          +
          +
          Parameters:
          +
          columnName - column name
          +
          rowIndex - row index
          +
          Returns:
          +
          the StepCellResult based on the specified column name and row index
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TableResult.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TableResult.html new file mode 100644 index 0000000..847653d --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TableResult.html @@ -0,0 +1,308 @@ + + + + + +TableResult (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.assertion
    +

    Interface TableResult

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          Object getValue(int columnIndex,
          +                long rowIndex)
          +
          Gets the value of a table cell.
          +
          +
          Parameters:
          +
          columnIndex - column index
          +
          rowIndex - row index
          +
          Returns:
          +
          value based on the specified column and row index
          +
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          Object getValue(String columnName,
          +                long rowIndex)
          +
          Gets the value of a table cell.
          +
          +
          Parameters:
          +
          columnName - name of the column
          +
          rowIndex - row index
          +
          Returns:
          +
          value based on the specified column name and row index
          +
          +
        • +
        + + + +
          +
        • +

          getColumns

          +
          List<String> getColumns()
          +
          Gets a list of column names.
          +
          +
          Returns:
          +
          list of column names
          +
          +
        • +
        + + + +
          +
        • +

          getRowCount

          +
          long getRowCount()
          +
          Gets the count of total rows in the result.
          +
          +
          Returns:
          +
          count of total rows
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TableResultAssert.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TableResultAssert.html new file mode 100644 index 0000000..f3d1f81 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TableResultAssert.html @@ -0,0 +1,405 @@ + + + + + +TableResultAssert (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.assertion
    +

    Class TableResultAssert

    +
    +
    + +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class org.assertj.core.api.AbstractAssert

          +actual, info, myself, objects, throwUnsupportedExceptionOnEquals
        • +
        +
      • +
      + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        All Methods Static Methods Instance Methods Concrete Methods 
        Modifier and TypeMethod and Description
        static TableResultAssertassertThat(TableResult actual) +
        Creates a new instance of TableResultAssert.
        +
        TableResultAssertcompareOutputWithCsv(Path csvPath) +
        Asserts the output with expected CSV file.
        +
        TableResultAssertcompareOutputWithCsv(String csvPath) +
        Asserts the output with expected CSV file.
        +
        TableResultAssertcontainsColumn(String expectedColumnName) +
        Asserts the output columns contains the expected column name.
        +
        TableResultAsserthasColumnsExactlyAs(List<String> expectedColumnNames) +
        Asserts the output columns count and column names in the given order.
        +
        TableResultAsserthasValuesAtRow(long rowIndex, + List<Object> values) +
        Asserts the row values and type.
        +
        +
          +
        • + + +

          Methods inherited from class org.assertj.core.api.AbstractAssert

          +asInstanceOf, asList, assertionError, asString, describedAs, descriptionText, doesNotHave, doesNotHaveSameClassAs, equals, failWithMessage, getWritableAssertionInfo, has, hashCode, hasSameClassAs, hasSameHashCodeAs, hasToString, inBinary, inHexadecimal, is, isEqualTo, isExactlyInstanceOf, isIn, isIn, isInstanceOf, isInstanceOfAny, isInstanceOfSatisfying, isNot, isNotEqualTo, isNotExactlyInstanceOf, isNotIn, isNotIn, isNotInstanceOf, isNotInstanceOfAny, isNotNull, isNotOfAnyClassIn, isNotSameAs, isNull, isOfAnyClassIn, isSameAs, matches, matches, newListAssertInstance, overridingErrorMessage, satisfies, satisfies, satisfiesAnyOf, satisfiesAnyOf, setCustomRepresentation, throwAssertionError, usingComparator, usingComparator, usingDefaultComparator, usingRecursiveComparison, usingRecursiveComparison, withFailMessage, withRepresentation, withThreadDumpOnError
        • +
        + +
          +
        • + + +

          Methods inherited from interface org.assertj.core.api.Descriptable

          +as, as, describedAs
        • +
        +
      • +
      +
    • +
    +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          compareOutputWithCsv

          +
          public TableResultAssert compareOutputWithCsv(String csvPath)
          +
          Asserts the output with expected CSV file. It will assert row count, column count, column names and all the values. + First row of the csv file will be set as column names.
          +
          +
          Parameters:
          +
          csvPath - the expected CSV output file
          +
          Returns:
          +
          this assertion
          +
          +
        • +
        + + + +
          +
        • +

          compareOutputWithCsv

          +
          public TableResultAssert compareOutputWithCsv(Path csvPath)
          +
          Asserts the output with expected CSV file. It will assert row count, column count, column names and all the values. + First row of the csv file will be set as column names.
          +
          +
          Parameters:
          +
          csvPath - the expected CSV output file
          +
          Returns:
          +
          this assertion
          +
          +
        • +
        + + + +
          +
        • +

          hasColumnsExactlyAs

          +
          public TableResultAssert hasColumnsExactlyAs(List<String> expectedColumnNames)
          +
          Asserts the output columns count and column names in the given order.
          +
          +
          Parameters:
          +
          expectedColumnNames - the expected column names in the given order
          +
          Returns:
          +
          this assertion
          +
          +
        • +
        + + + +
          +
        • +

          containsColumn

          +
          public TableResultAssert containsColumn(String expectedColumnName)
          +
          Asserts the output columns contains the expected column name.
          +
          +
          Parameters:
          +
          expectedColumnName - the expected column name
          +
          Returns:
          +
          this assertion
          +
          +
        • +
        + + + +
          +
        • +

          hasValuesAtRow

          +
          public TableResultAssert hasValuesAtRow(long rowIndex,
          +                                        List<Object> values)
          +
          Asserts the row values and type.
          +
          +
          Parameters:
          +
          rowIndex - the index of a row to assert
          +
          values - expected values
          +
          Returns:
          +
          this assertion
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TestResultAssert.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TestResultAssert.html new file mode 100644 index 0000000..e5fc134 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/TestResultAssert.html @@ -0,0 +1,323 @@ + + + + + +TestResultAssert (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.assertion
    +

    Class TestResultAssert

    +
    +
    + +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Field Summary

        +
          +
        • + + +

          Fields inherited from class org.assertj.core.api.AbstractAssert

          +actual, info, myself, objects, throwUnsupportedExceptionOnEquals
        • +
        +
      • +
      + +
        +
      • + + +

        Method Summary

        + + + + + + + + + + + + + + +
        All Methods Static Methods Instance Methods Concrete Methods 
        Modifier and TypeMethod and Description
        static TestResultAssertassertThat(StepTableResult actual) +
        Creates a new instance of TestResultAssert.
        +
        TestResultAsserthasStylesSetAtRow(long rowIndex, + List<CustomValueStyle> valueStyles) +
        Asserts the row styles
        +
        + +
          +
        • + + +

          Methods inherited from class org.assertj.core.api.AbstractAssert

          +asInstanceOf, asList, assertionError, asString, describedAs, descriptionText, doesNotHave, doesNotHaveSameClassAs, equals, failWithMessage, getWritableAssertionInfo, has, hashCode, hasSameClassAs, hasSameHashCodeAs, hasToString, inBinary, inHexadecimal, is, isEqualTo, isExactlyInstanceOf, isIn, isIn, isInstanceOf, isInstanceOfAny, isInstanceOfSatisfying, isNot, isNotEqualTo, isNotExactlyInstanceOf, isNotIn, isNotIn, isNotInstanceOf, isNotInstanceOfAny, isNotNull, isNotOfAnyClassIn, isNotSameAs, isNull, isOfAnyClassIn, isSameAs, matches, matches, newListAssertInstance, overridingErrorMessage, satisfies, satisfies, satisfiesAnyOf, satisfiesAnyOf, setCustomRepresentation, throwAssertionError, usingComparator, usingComparator, usingDefaultComparator, usingRecursiveComparison, usingRecursiveComparison, withFailMessage, withRepresentation, withThreadDumpOnError
        • +
        + +
          +
        • + + +

          Methods inherited from interface org.assertj.core.api.Descriptable

          +as, as, describedAs
        • +
        +
      • +
      +
    • +
    +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-frame.html new file mode 100644 index 0000000..a34c454 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-frame.html @@ -0,0 +1,26 @@ + + + + + +com.experian.datastudio.sdk.testframework.assertion (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.assertion

    + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-summary.html new file mode 100644 index 0000000..07ddd34 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-summary.html @@ -0,0 +1,185 @@ + + + + + +com.experian.datastudio.sdk.testframework.assertion (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.assertion

    +
    +
    Provides classes to assert the testing result of custom step or custom parser.
    +
    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + + + + + +
      Interface Summary 
      InterfaceDescription
      StepCellResult +
      Represents generated cell result for custom step.
      +
      StepTableResult +
      Represents generated result from a custom step.
      +
      TableResult +
      Represents generated result.
      +
      +
    • +
    • + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      TableResultAssert +
      The assertion class to validate custom step and custom parser output.
      +
      TestResultAssert +
      The assertion class to validate the custom step output.
      +
      +
    • +
    + + + +

    Package com.experian.datastudio.sdk.testframework.assertion Description

    +
    Provides classes to assert the testing result of custom step or custom parser.
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-tree.html new file mode 100644 index 0000000..2797c3d --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/assertion/package-tree.html @@ -0,0 +1,151 @@ + + + + + +com.experian.datastudio.sdk.testframework.assertion Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.assertion

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • org.assertj.core.api.AbstractAssert<SELF,ACTUAL> (implements org.assertj.core.api.Assert<SELF,ACTUAL>) + +
      • +
      +
    • +
    +

    Interface Hierarchy

    +
      +
    • com.experian.datastudio.sdk.testframework.assertion.StepCellResult
    • +
    • com.experian.datastudio.sdk.testframework.assertion.TableResult + +
    • +
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/CustomParserLoader.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/CustomParserLoader.html new file mode 100644 index 0000000..eabedf3 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/CustomParserLoader.html @@ -0,0 +1,298 @@ + + + + + +CustomParserLoader (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customloader
    +

    Interface CustomParserLoader

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface CustomParserLoader
      +
      Custom parser loader for testing a custom parser.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          fromClass

          +
          Optional<T> fromClass(Class<?> pluginClass)
          +
          Loads from a Class instance.
          +
          +
          Parameters:
          +
          pluginClass - a CustomStepDefinition/CustomParserDefinition class
          +
          Returns:
          +
          an optional of CustomStepDefinition/CustomParserDefinition
          +
          +
        • +
        + + + +
          +
        • +

          fromJar

          +
          Optional<T> fromJar(String jarPath)
          +
          Loads from a JAR file.
          +
          +
          Parameters:
          +
          jarPath - a string represents the JAR path
          +
          Returns:
          +
          an optional of CustomStepDefinition/CustomParserDefinition
          +
          +
        • +
        + + + +
          +
        • +

          fromJar

          +
          Optional<T> fromJar(Path jarPath)
          +
          Loads from a JAR file.
          +
          +
          Parameters:
          +
          jarPath - a Path instance points to the JAR file
          +
          Returns:
          +
          an optional of CustomStepDefinition/CustomParserDefinition
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/CustomStepLoader.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/CustomStepLoader.html new file mode 100644 index 0000000..eb5ac3c --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/CustomStepLoader.html @@ -0,0 +1,298 @@ + + + + + +CustomStepLoader (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customloader
    +

    Interface CustomStepLoader

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface CustomStepLoader
      +
      Custom step loader for testing a custom step.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          fromClass

          +
          Optional<T> fromClass(Class<?> pluginClass)
          +
          Loads from a Class instance.
          +
          +
          Parameters:
          +
          pluginClass - a CustomStepDefinition/CustomParserDefinition class
          +
          Returns:
          +
          an optional of CustomStepDefinition/CustomParserDefinition
          +
          +
        • +
        + + + +
          +
        • +

          fromJar

          +
          Optional<T> fromJar(String jarPath)
          +
          Loads from a JAR file.
          +
          +
          Parameters:
          +
          jarPath - a string represents the JAR path
          +
          Returns:
          +
          an optional of CustomStepDefinition/CustomParserDefinition
          +
          +
        • +
        + + + +
          +
        • +

          fromJar

          +
          Optional<T> fromJar(Path jarPath)
          +
          Loads from a JAR file.
          +
          +
          Parameters:
          +
          jarPath - a Path instance points to the JAR file
          +
          Returns:
          +
          an optional of CustomStepDefinition/CustomParserDefinition
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-frame.html new file mode 100644 index 0000000..eb13c05 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-frame.html @@ -0,0 +1,20 @@ + + + + + +com.experian.datastudio.sdk.testframework.customloader (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.customloader

    + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-summary.html new file mode 100644 index 0000000..bf776b6 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-summary.html @@ -0,0 +1,156 @@ + + + + + +com.experian.datastudio.sdk.testframework.customloader (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.customloader

    +
    +
    Provides classes to load custom step or custom parser.
    +
    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + +
      Interface Summary 
      InterfaceDescription
      CustomParserLoader +
      Custom parser loader for testing a custom parser.
      +
      CustomStepLoader +
      Custom step loader for testing a custom step.
      +
      +
    • +
    + + + +

    Package com.experian.datastudio.sdk.testframework.customloader Description

    +
    Provides classes to load custom step or custom parser.
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-tree.html new file mode 100644 index 0000000..3b069b2 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customloader/package-tree.html @@ -0,0 +1,135 @@ + + + + + +com.experian.datastudio.sdk.testframework.customloader Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.customloader

    +Package Hierarchies: + +
    +
    +

    Interface Hierarchy

    +
      +
    • com.experian.datastudio.sdk.testframework.customloader.CustomLoader<T> + +
    • +
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserDataType.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserDataType.html new file mode 100644 index 0000000..4741c53 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserDataType.html @@ -0,0 +1,381 @@ + + + + + +ParserDataType (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Enum ParserDataType

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Enum Constant Detail

        + + + +
          +
        • +

          ALPHANUMERIC

          +
          public static final ParserDataType ALPHANUMERIC
          +
          Values falls under Alphanumeric column type will be converted to String.
          +
        • +
        + + + +
          +
        • +

          NUMERIC

          +
          public static final ParserDataType NUMERIC
          +
          Values falls under Numeric column type will be converted to Number.
          +
        • +
        + + + +
          +
        • +

          DATE

          +
          public static final ParserDataType DATE
          +
          Values falls under Date column type will be converted to DateTime.
          +
        • +
        + + + +
          +
        • +

          UNKNOWN

          +
          public static final ParserDataType UNKNOWN
          +
          Values falls under Unknown column type will be converted to Number, DateTime or String + depending on the value itself
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          values

          +
          public static ParserDataType[] values()
          +
          Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
          +for (ParserDataType c : ParserDataType.values())
          +    System.out.println(c);
          +
          +
          +
          Returns:
          +
          an array containing the constants of this enum type, in the order they are declared
          +
          +
        • +
        + + + +
          +
        • +

          valueOf

          +
          public static ParserDataType valueOf(String name)
          +
          Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum type has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTableResult.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTableResult.html new file mode 100644 index 0000000..dfc4cc5 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTableResult.html @@ -0,0 +1,366 @@ + + + + + +ParserTableResult (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Class ParserTableResult

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • com.experian.datastudio.sdk.testframework.customparser.ParserTableResult
      • +
      +
    • +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ParserTableResult

          +
          public ParserTableResult(String tableId,
          +                         com.experian.datastudio.sdk.testframework.customparser.ParserExecutor parserExecutor,
          +                         TestParserSetting parserSetting)
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getValue

          +
          public Object getValue(int columnIndex,
          +                       long rowIndex)
          +
          Description copied from interface: TableResult
          +
          Gets the value of a table cell.
          +
          +
          Specified by:
          +
          getValue in interface TableResult
          +
          Parameters:
          +
          columnIndex - column index
          +
          rowIndex - row index
          +
          Returns:
          +
          value based on the specified column and row index
          +
          +
        • +
        + + + +
          +
        • +

          getValue

          +
          public Object getValue(String columnName,
          +                       long rowIndex)
          +
          Description copied from interface: TableResult
          +
          Gets the value of a table cell.
          +
          +
          Specified by:
          +
          getValue in interface TableResult
          +
          Parameters:
          +
          columnName - name of the column
          +
          rowIndex - row index
          +
          Returns:
          +
          value based on the specified column name and row index
          +
          +
        • +
        + + + +
          +
        • +

          getColumns

          +
          public List<String> getColumns()
          +
          Description copied from interface: TableResult
          +
          Gets a list of column names.
          +
          +
          Specified by:
          +
          getColumns in interface TableResult
          +
          Returns:
          +
          list of column names
          +
          +
        • +
        + + + +
          +
        • +

          getRowCount

          +
          public long getRowCount()
          +
          Description copied from interface: TableResult
          +
          Gets the count of total rows in the result.
          +
          +
          Specified by:
          +
          getRowCount in interface TableResult
          +
          Returns:
          +
          count of total rows
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestResult.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestResult.html new file mode 100644 index 0000000..0f842e5 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestResult.html @@ -0,0 +1,390 @@ + + + + + +ParserTestResult (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Class ParserTestResult

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • com.experian.datastudio.sdk.testframework.customparser.ParserTestResult
      • +
      +
    • +
    +
    +
      +
    • +
      +
      +
      public class ParserTestResult
      +extends Object
      +
      The result of testing a custom parser.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          ParserTestResult

          +
          public ParserTestResult(com.experian.datastudio.sdk.testframework.customparser.ParserExecutor parserExecutor,
          +                        TestParserSetting parserSetting)
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getFirstTableDefinition

          +
          public ParserTableDefinition getFirstTableDefinition()
          +
          Returns the first table definition.
          +
          +
          Returns:
          +
          the table definition.
          +
          +
        • +
        + + + +
          +
        • +

          getTableDefinitions

          +
          public List<ParserTableDefinition> getTableDefinitions()
          +
          Returns all table definitions.
          +
          +
          Returns:
          +
          the list of table definitions.
          +
          +
        • +
        + + + +
          +
        • +

          getTableDefinitionById

          +
          public ParserTableDefinition getTableDefinitionById(String tableId)
          +
          Returns table definition by id.
          +
          +
          Parameters:
          +
          tableId - the id of the table.
          +
          Returns:
          +
          the table definition.
          +
          +
        • +
        + + + +
          +
        • +

          getTableDefinitionByName

          +
          public ParserTableDefinition getTableDefinitionByName(String tableName)
          +
          Returns table definition by name.
          +
          +
          Parameters:
          +
          tableName - the id of the table.
          +
          Returns:
          +
          the table definition.
          +
          +
        • +
        + + + +
          +
        • +

          getRowIterator

          +
          public ClosableIterator<List<String>> getRowIterator(String tableId)
          +
          Returns record iterator by table Id.
          +
          +
          Parameters:
          +
          tableId - the id of the table.
          +
          Returns:
          +
          the record iterator as list of string.
          +
          +
        • +
        + + + +
          +
        • +

          getTableResult

          +
          public TableResult getTableResult(String tableId)
          +
          Returns table result by table Id.
          +
          +
          Parameters:
          +
          tableId - the id of the table.
          +
          Returns:
          +
          the result in table format.
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuite.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuite.html new file mode 100644 index 0000000..c286a9e --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuite.html @@ -0,0 +1,230 @@ + + + + + +ParserTestSuite (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface ParserTestSuite

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface ParserTestSuite
      +
      The Test Suite for custom parser.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Builder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Builder.html new file mode 100644 index 0000000..2e6bd87 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Builder.html @@ -0,0 +1,237 @@ + + + + + +ParserTestSuiteBuilder.Builder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface ParserTestSuiteBuilder.Builder

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          build

          +
          ParserTestSuite build()
          +
          Builds an instance of ParserTestSuite
          +
          +
          Returns:
          +
          the configured ParserTestSuite
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Setting.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Setting.html new file mode 100644 index 0000000..60c87cc --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Setting.html @@ -0,0 +1,247 @@ + + + + + +ParserTestSuiteBuilder.Setting (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface ParserTestSuiteBuilder.Setting

    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Source.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Source.html new file mode 100644 index 0000000..42cc8d2 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.Source.html @@ -0,0 +1,235 @@ + + + + + +ParserTestSuiteBuilder.Source (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface ParserTestSuiteBuilder.Source

    +
    +
    +
    +
      +
    • +
      +
      Enclosing interface:
      +
      ParserTestSuiteBuilder
      +
      +
      +
      +
      public static interface ParserTestSuiteBuilder.Source
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.html new file mode 100644 index 0000000..91a1897 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/ParserTestSuiteBuilder.html @@ -0,0 +1,259 @@ + + + + + +ParserTestSuiteBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface ParserTestSuiteBuilder

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface ParserTestSuiteBuilder
      +
      The builder to construct ParserTestSuite.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParser.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParser.html new file mode 100644 index 0000000..eee51c0 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParser.html @@ -0,0 +1,295 @@ + + + + + +TestParser (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface TestParser

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestParser
      +
      The parser object for testing custom parser.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getCustomTypeMetadata

          +
          CustomTypeMetadata getCustomTypeMetadata()
          +
          Returns the metadata of the custom parser to be tested.
          +
          +
          Returns:
          +
          the CustomTypeMetadata
          +
          +
        • +
        + + + +
          +
        • +

          getParserConfiguration

          +
          ParserConfiguration getParserConfiguration()
          +
          Returns the configuration of the custom parser to be tested.
          +
          +
          Returns:
          +
          the ParserConfiguration
          +
          +
        • +
        + + + +
          +
        • +

          getParameterValue

          +
          Optional<Object> getParameterValue(String parameterId,
          +                                   ParameterContext parameterContext)
          +
          Returns the custom parser's parameter value.
          +
          +
          Parameters:
          +
          parameterId - the ID of the parameter
          +
          parameterContext - the parameter context
          +
          Returns:
          +
          the value of the parameter
          +
          +
        • +
        + + + +
          +
        • +

          getLocale

          +
          Locale getLocale()
          +
          Returns the value of the locale parameter.
          +
          +
          Returns:
          +
          the selected locale
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.Builder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.Builder.html new file mode 100644 index 0000000..8a2368a --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.Builder.html @@ -0,0 +1,337 @@ + + + + + +TestParserBuilder.Builder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface TestParserBuilder.Builder

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          addParserParameter

          +
          TestParserBuilder.Builder addParserParameter(String parameterId,
          +                                             String parameterValue)
          +
          Configures the parser parameter of the custom parser.
          +
          +
          Parameters:
          +
          parameterId - the ID of the parser parameter
          +
          parameterValue - the value of the parser parameter
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          addParserParameter

          +
          TestParserBuilder.Builder addParserParameter(String parameterId,
          +                                             long parameterValue)
          +
          Configures the parser parameter of the custom parser.
          +
          +
          Parameters:
          +
          parameterId - the ID of the parser parameter
          +
          parameterValue - the value of the parser parameter
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          addParserParameter

          +
          TestParserBuilder.Builder addParserParameter(String parameterId,
          +                                             boolean parameterValue)
          +
          Configures the parser parameter of the custom parser.
          +
          +
          Parameters:
          +
          parameterId - the ID of the parser parameter
          +
          parameterValue - the value of the parser parameter
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          addParserParameter

          +
          TestParserBuilder.Builder addParserParameter(String parameterId,
          +                                             char parameterValue)
          +
          Configures the parser parameter of the custom parser.
          +
          +
          Parameters:
          +
          parameterId - the ID of the parser parameter
          +
          parameterValue - the value of the parser parameter
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          build

          +
          TestParser build()
          +
          Builds an instance of TestParser.
          +
          +
          Returns:
          +
          a TestParser
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.WithLocale.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.WithLocale.html new file mode 100644 index 0000000..e1ad453 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.WithLocale.html @@ -0,0 +1,248 @@ + + + + + +TestParserBuilder.WithLocale (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface TestParserBuilder.WithLocale

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          withLocale

          +
          TestParserBuilder.Builder withLocale(Locale locale)
          +
          Sets the locale to be used by test framework. It will determine how the test framework parse date string. + If not set, the default locale is used.
          +
          +
          Parameters:
          +
          locale - a locale object
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.html new file mode 100644 index 0000000..d0600d3 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserBuilder.html @@ -0,0 +1,255 @@ + + + + + +TestParserBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface TestParserBuilder

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestParserBuilder
      +
      The builder to construct TestParser.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSetting.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSetting.html new file mode 100644 index 0000000..220b88b --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSetting.html @@ -0,0 +1,232 @@ + + + + + +TestParserSetting (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface TestParserSetting

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestParserSetting
      +
      The settings for testing custom parser.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getAssignedColumnType

          +
          Optional<ParserDataType> getAssignedColumnType(String columnName)
          +
          Returns the column's data type.
          +
          +
          Parameters:
          +
          columnName - the name of the column
          +
          Returns:
          +
          the data type of the column
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSettingBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSettingBuilder.html new file mode 100644 index 0000000..8671ca6 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSettingBuilder.html @@ -0,0 +1,255 @@ + + + + + +TestParserSettingBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface TestParserSettingBuilder

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestParserSettingBuilder
      +
      The builder to constructs TestParserSetting.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          assignDataTypeToColumn

          +
          TestParserSettingBuilder assignDataTypeToColumn(ParserDataType dataType,
          +                                                String columnName)
          +
          Assigns the data type of a column.
          +
          +
          Parameters:
          +
          dataType - the data type of a column
          +
          columnName - the name of a column
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          build

          +
          TestParserSetting build()
          +
          Builds a TestParserSetting.
          +
          +
          Returns:
          +
          a TestParserSetting
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSource.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSource.html new file mode 100644 index 0000000..cf58f1e --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSource.html @@ -0,0 +1,250 @@ + + + + + +TestParserSource (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface TestParserSource

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestParserSource
      +
      The input source for testing custom parser.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getFilename

          +
          String getFilename()
          +
          Returns the file name that used to test the custom parser.
          +
          +
          Returns:
          +
          the file name
          +
          +
        • +
        + + + +
          +
        • +

          getInputStreamSupplier

          +
          Supplier<InputStream> getInputStreamSupplier()
          +
          Returns the supplier that provides input stream for custom parser.
          +
          +
          Returns:
          +
          the input stream supplier
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSourceBuilder.Builder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSourceBuilder.Builder.html new file mode 100644 index 0000000..da9b07c --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSourceBuilder.Builder.html @@ -0,0 +1,233 @@ + + + + + +TestParserSourceBuilder.Builder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface TestParserSourceBuilder.Builder

    +
    +
    +
    +
      +
    • +
      +
      Enclosing interface:
      +
      TestParserSourceBuilder
      +
      +
      +
      +
      public static interface TestParserSourceBuilder.Builder
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          build

          +
          TestParserSource build()
          +
          Builds a input source for testing custom parser.
          +
          +
          Returns:
          +
          a TestParserSource
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSourceBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSourceBuilder.html new file mode 100644 index 0000000..154f686 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/TestParserSourceBuilder.html @@ -0,0 +1,298 @@ + + + + + +TestParserSourceBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customparser
    +

    Interface TestParserSourceBuilder

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestParserSourceBuilder
      +
      The builder for TestParserSource
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          loadFile

          +
          TestParserSourceBuilder.Builder loadFile(Path filePath)
          +
          Loads an input source from file path.
          +
          +
          Parameters:
          +
          filePath - the path to the input file
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          loadFile

          +
          TestParserSourceBuilder.Builder loadFile(String filePath)
          +
          Loads an input source from a file in the class path.
          +
          +
          Parameters:
          +
          filePath - the path to the input file
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          loadStream

          +
          TestParserSourceBuilder.Builder loadStream(String filename,
          +                                           Supplier<InputStream> inputStreamSupplier)
          +
          Loads an input source from an input stream supplier.
          +
          +
          Parameters:
          +
          filename - the file name of the input stream
          +
          inputStreamSupplier - the supplier of the input stream
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-frame.html new file mode 100644 index 0000000..e57d3e4 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-frame.html @@ -0,0 +1,41 @@ + + + + + +com.experian.datastudio.sdk.testframework.customparser (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.customparser

    + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-summary.html new file mode 100644 index 0000000..f377e98 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-summary.html @@ -0,0 +1,254 @@ + + + + + +com.experian.datastudio.sdk.testframework.customparser (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.customparser

    +
    +
    Provides classes to test custom parser.
    +
    +

    See: Description

    +
    +
    + + + + +

    Package com.experian.datastudio.sdk.testframework.customparser Description

    +
    Provides classes to test custom parser.
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-tree.html new file mode 100644 index 0000000..71eda64 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customparser/package-tree.html @@ -0,0 +1,170 @@ + + + + + +com.experian.datastudio.sdk.testframework.customparser Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.customparser

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • com.experian.datastudio.sdk.testframework.customparser.ParserTableResult (implements com.experian.datastudio.sdk.testframework.assertion.TableResult)
      • +
      • com.experian.datastudio.sdk.testframework.customparser.ParserTestResult
      • +
      +
    • +
    +

    Interface Hierarchy

    + +

    Enum Hierarchy

    + +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/StepPropertiesValueBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/StepPropertiesValueBuilder.html new file mode 100644 index 0000000..256fe39 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/StepPropertiesValueBuilder.html @@ -0,0 +1,377 @@ + + + + + +StepPropertiesValueBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customstep
    +

    Interface StepPropertiesValueBuilder

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface StepPropertiesValueBuilder
      +
      The builder for user defined step options.
      +
      +
      Since:
      +
      2.2.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setStringStepPropertyValue

          +
          StepPropertiesValueBuilder setStringStepPropertyValue(String propertyId,
          +                                                      String stringValue)
          +
          Sets value for step property which has a string input.
          +
          +
          Parameters:
          +
          propertyId - property ID
          +
          stringValue - value
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          setCustomChooserStepPropertyValue

          +
          StepPropertiesValueBuilder setCustomChooserStepPropertyValue(String propertyId,
          +                                                             List<?> multiChooserValue)
          +
          Sets value for step property which has a custom chooser input.
          +
          +
          Parameters:
          +
          propertyId - step property ID
          +
          multiChooserValue - value
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          setColumnChooserStepPropertyValue

          +
          StepPropertiesValueBuilder setColumnChooserStepPropertyValue(String propertyId,
          +                                                             List<Integer> columnIndex)
          +
          Sets value for step property which has a column chooser input.
          +
          +
          Parameters:
          +
          propertyId - step property ID
          +
          columnIndex - selected column index
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          setNumberStepPropertyValue

          +
          StepPropertiesValueBuilder setNumberStepPropertyValue(String propertyId,
          +                                                      Number numberValue)
          +
          Sets value for step property which has a numerical input.
          +
          +
          Parameters:
          +
          propertyId - step property ID
          +
          numberValue - value
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          setBooleanStepPropertyValue

          +
          StepPropertiesValueBuilder setBooleanStepPropertyValue(String propertyId,
          +                                                       boolean booleanValue)
          +
          Sets value for step property which has a boolean input.
          +
          +
          Parameters:
          +
          propertyId - step property ID
          +
          booleanValue - value
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          build

          +
          UserOption build()
          +
          Builds a user defined step options
          +
          +
          Returns:
          +
          an instance of UserOption
          +
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-frame.html new file mode 100644 index 0000000..8347f22 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-frame.html @@ -0,0 +1,19 @@ + + + + + +com.experian.datastudio.sdk.testframework.customstep (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.customstep

    +
    +

    Interfaces

    + +
    + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-summary.html new file mode 100644 index 0000000..5b8b038 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-summary.html @@ -0,0 +1,141 @@ + + + + + +com.experian.datastudio.sdk.testframework.customstep (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.customstep

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Interface Summary 
      InterfaceDescription
      StepPropertiesValueBuilder +
      The builder for user defined step options.
      +
      +
    • +
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-tree.html new file mode 100644 index 0000000..9a94472 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/package-tree.html @@ -0,0 +1,130 @@ + + + + + +com.experian.datastudio.sdk.testframework.customstep Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.customstep

    +Package Hierarchies: + +
    +
    +

    Interface Hierarchy

    + +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.Builder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.Builder.html new file mode 100644 index 0000000..d6f2ac5 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.Builder.html @@ -0,0 +1,241 @@ + + + + + +MockResourceBuilder.Builder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customstep.processor
    +

    Interface MockResourceBuilder.Builder<T>

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          build

          +
          StepResource<T> build()
          +
          Builds the mock resource of a custom step.
          +
          +
          Returns:
          +
          instance of StepResource
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithCloser.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithCloser.html new file mode 100644 index 0000000..2db5bcf --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithCloser.html @@ -0,0 +1,243 @@ + + + + + +MockResourceBuilder.WithCloser (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customstep.processor
    +

    Interface MockResourceBuilder.WithCloser<T>

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          withCloser

          +
          MockResourceBuilder.Builder<T> withCloser(Consumer<T> closer)
          +
          Configures a consumer to close the mock resource after processing.
          +
          +
          Parameters:
          +
          closer - consumer of the mock resource type to close the resource
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithCloserAndBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithCloserAndBuilder.html new file mode 100644 index 0000000..b82fa84 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithCloserAndBuilder.html @@ -0,0 +1,209 @@ + + + + + +MockResourceBuilder.WithCloserAndBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customstep.processor
    +

    Interface MockResourceBuilder.WithCloserAndBuilder<T>

    +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithSupplier.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithSupplier.html new file mode 100644 index 0000000..e515072 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.WithSupplier.html @@ -0,0 +1,239 @@ + + + + + +MockResourceBuilder.WithSupplier (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customstep.processor
    +

    Interface MockResourceBuilder.WithSupplier<T>

    +
    +
    +
    +
      +
    • +
      +
      Type Parameters:
      +
      T - Type of the mock resource
      +
      +
      +
      Enclosing interface:
      +
      MockResourceBuilder<T>
      +
      +
      +
      +
      public static interface MockResourceBuilder.WithSupplier<T>
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          withSupplier

          +
          MockResourceBuilder.WithCloserAndBuilder<T> withSupplier(Supplier<T> supplier)
          +
          Configures the supplier for the mocked resource.
          +
          +
          Parameters:
          +
          supplier - callback that returns an object of the step resource type
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.html new file mode 100644 index 0000000..ecf321d --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilder.html @@ -0,0 +1,267 @@ + + + + + +MockResourceBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customstep.processor
    +

    Interface MockResourceBuilder<T>

    +
    +
    +
    +
      +
    • +
      +
      Type Parameters:
      +
      T - Type of the mock resource
      +
      +
      +
      +
      public interface MockResourceBuilder<T>
      +
      Builder for defining the mock resource of a custom step.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          withResourceId

          +
          MockResourceBuilder.WithSupplier<T> withResourceId(String id)
          +
          Configures the unique ID of the mock resource.
          +
          +
          Parameters:
          +
          id - ID of the mock resource
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilderFactory.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilderFactory.html new file mode 100644 index 0000000..000ef0f --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourceBuilderFactory.html @@ -0,0 +1,284 @@ + + + + + +MockResourceBuilderFactory (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customstep.processor
    +

    Class MockResourceBuilderFactory

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • com.experian.datastudio.sdk.testframework.customstep.processor.MockResourceBuilderFactory
      • +
      +
    • +
    +
    +
      +
    • +
      +
      +
      public class MockResourceBuilderFactory
      +extends Object
      +
      Factory for MockResourceBuilder.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MockResourceBuilderFactory

          +
          public MockResourceBuilderFactory()
          +
        • +
        +
      • +
      + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          forClass

          +
          public <T> MockResourceBuilder<T> forClass(Class<T> resourceClass)
          +
          Constructs a MockResourceBuilder.
          +
          +
          Type Parameters:
          +
          T - Type of the mock resource
          +
          Parameters:
          +
          resourceClass - Class of the mock resource
          +
          Returns:
          +
          instance of MockResourceBuilder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourcesBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourcesBuilder.html new file mode 100644 index 0000000..9f373a5 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/MockResourcesBuilder.html @@ -0,0 +1,304 @@ + + + + + +MockResourcesBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.customstep.processor
    +

    Class MockResourcesBuilder

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • com.experian.datastudio.sdk.testframework.customstep.processor.MockResourcesBuilder
      • +
      +
    • +
    +
    +
      +
    • +
      +
      +
      public class MockResourcesBuilder
      +extends Object
      +
      Builder for defining one or more mock resources of a custom step.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          MockResourcesBuilder

          +
          public MockResourcesBuilder()
          +
        • +
        +
      • +
      + + +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-frame.html new file mode 100644 index 0000000..3301158 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-frame.html @@ -0,0 +1,28 @@ + + + + + +com.experian.datastudio.sdk.testframework.customstep.processor (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.customstep.processor

    + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-summary.html new file mode 100644 index 0000000..4164f1f --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-summary.html @@ -0,0 +1,180 @@ + + + + + +com.experian.datastudio.sdk.testframework.customstep.processor (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.customstep.processor

    +
    +
    + +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-tree.html new file mode 100644 index 0000000..d64dc09 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/customstep/processor/package-tree.html @@ -0,0 +1,150 @@ + + + + + +com.experian.datastudio.sdk.testframework.customstep.processor Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.customstep.processor

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    + +

    Interface Hierarchy

    + +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSource.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSource.html new file mode 100644 index 0000000..3685d3c --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSource.html @@ -0,0 +1,328 @@ + + + + + +DataSource (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.datasource
    +

    Interface DataSource

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface DataSource
      +
      Represents a data source to be used in custom step.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getConnectedInputNodeIds

          +
          Set<String> getConnectedInputNodeIds()
          +
          Gets custom step's input nodes that are connected to this data source.
          +
          +
          Returns:
          +
          set of a input node ids
          +
          +
        • +
        + + + +
          +
        • +

          getColumns

          +
          List<InputColumn> getColumns()
          +
          Gets input columns from data source.
          +
          +
          Returns:
          +
          input columns of the data source
          +
          +
        • +
        + + + +
          +
        • +

          getColumnsMetadata

          +
          List<Column> getColumnsMetadata()
          +
          Gets metadata for all columns + (eg: column id, name, tags).
          +
          +
          Returns:
          +
          metadata for all columns
          +
          +
        • +
        + + + +
          +
        • +

          getRowCount

          +
          long getRowCount()
          +
          Gets total number of rows in the data source.
          +
          +
          Returns:
          +
          total number of rows
          +
          +
        • +
        + + + +
          +
        • +

          close

          +
          void close()
          +
          Closes any streams and releases system resources associated with the data source.
          +
        • +
        + + + +
          +
        • +

          builder

          +
          static DataSourcesBuilder builder()
          +
          Returns a builder of the data source.
          +
          +
          Returns:
          +
          instance of DataSourcesBuilder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.FinalStep.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.FinalStep.html new file mode 100644 index 0000000..3e41a3c --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.FinalStep.html @@ -0,0 +1,237 @@ + + + + + +DataSourceBuilder.FinalStep (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.datasource
    +

    Interface DataSourceBuilder.FinalStep

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          build

          +
          DataSource build()
          +
          Builds a DataSource for testing custom step.
          +
          +
          Returns:
          +
          instance of DataSource
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.Setting.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.Setting.html new file mode 100644 index 0000000..59878f7 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.Setting.html @@ -0,0 +1,260 @@ + + + + + +DataSourceBuilder.Setting (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.datasource
    +

    Interface DataSourceBuilder.Setting

    +
    +
    +
    +
      +
    • +
      +
      Enclosing interface:
      +
      DataSourceBuilder
      +
      +
      +
      +
      public static interface DataSourceBuilder.Setting
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setDataTagsToColumn

          +
          DataSourceBuilder.Setting setDataTagsToColumn(int columnIndex,
          +                                              String... tags)
          +
          Sets one or more tags to a column.
          +
          +
          Parameters:
          +
          columnIndex - index of a column to be tagged
          +
          tags - data tag
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          connectToInputNodeIds

          +
          DataSourceBuilder.FinalStep connectToInputNodeIds(String... inputNodeIds)
          +
          Defines one or more input nodes from the custom step to connect to data source.
          +
          +
          Parameters:
          +
          inputNodeIds - id of the custom step's input node
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.html new file mode 100644 index 0000000..d251266 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceBuilder.html @@ -0,0 +1,232 @@ + + + + + +DataSourceBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.datasource
    +

    Interface DataSourceBuilder

    +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceCSVBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceCSVBuilder.html new file mode 100644 index 0000000..b46bb65 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceCSVBuilder.html @@ -0,0 +1,258 @@ + + + + + +DataSourceCSVBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.datasource
    +

    Interface DataSourceCSVBuilder

    +
    +
    +
    +
      +
    • +
      +
      All Known Subinterfaces:
      +
      DataSourceBuilder
      +
      +
      +
      +
      public interface DataSourceCSVBuilder
      +
      The builder for CSV data source.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          loadCSV

          +
          DataSourceBuilder.Setting loadCSV(String filepath)
          +
          Opens CSV file in classpath resources folder.
          +
          +
          Parameters:
          +
          filepath - String of the file path in resources folder
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          loadCSV

          +
          DataSourceBuilder.Setting loadCSV(Path filepath)
          +
          Opens CSV file as specified by the path.
          +
          +
          Parameters:
          +
          filepath - Path to the CSV file
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.NewSourceBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.NewSourceBuilder.html new file mode 100644 index 0000000..3158f61 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.NewSourceBuilder.html @@ -0,0 +1,260 @@ + + + + + +DataSourceValueBuilder.NewSourceBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.datasource
    +

    Interface DataSourceValueBuilder.NewSourceBuilder

    +
    +
    +
    +
      +
    • +
      +
      Enclosing interface:
      +
      DataSourceValueBuilder
      +
      +
      +
      +
      public static interface DataSourceValueBuilder.NewSourceBuilder
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setDataTagsToColumn

          +
          DataSourceValueBuilder.NewSourceBuilder setDataTagsToColumn(int columnIndex,
          +                                                            String... tags)
          +
          Assigns tag(s) to a column.
          +
          +
          Parameters:
          +
          columnIndex - index of column
          +
          tags - the tag(s) to be assign to a column
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          connectToInputNodeIds

          +
          DataSourceValueBuilder.RowBuilder connectToInputNodeIds(String... inputNodeId)
          +
          Sets custom step's input nodes that is connected to this data source.
          +
          +
          Parameters:
          +
          inputNodeId - custom step's input node id(s)
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.RowBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.RowBuilder.html new file mode 100644 index 0000000..f0b0bea --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.RowBuilder.html @@ -0,0 +1,247 @@ + + + + + +DataSourceValueBuilder.RowBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.datasource
    +

    Interface DataSourceValueBuilder.RowBuilder

    +
    +
    +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          addRow

          +
          DataSourceValueBuilder.RowBuilder addRow(Object... values)
          +
          Adds a row of values into this data source.
          +
          +
          Parameters:
          +
          values - value(s) to be added in a row
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.html new file mode 100644 index 0000000..fc63351 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourceValueBuilder.html @@ -0,0 +1,259 @@ + + + + + +DataSourceValueBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.datasource
    +

    Interface DataSourceValueBuilder

    +
    +
    +
    +
      +
    • +
      +
      All Known Subinterfaces:
      +
      DataSourceBuilder
      +
      +
      +
      +
      public interface DataSourceValueBuilder
      +
      Builds data source by specify the column name and row values.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          createNewSource

          +
          DataSourceValueBuilder.NewSourceBuilder createNewSource(String... columnName)
          +
          Defines columns for data source.
          +
          +
          Parameters:
          +
          columnName - the column names to add to a data source
          +
          Returns:
          +
          this builder
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourcesBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourcesBuilder.html new file mode 100644 index 0000000..db53c2c --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/DataSourcesBuilder.html @@ -0,0 +1,252 @@ + + + + + +DataSourcesBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.datasource
    +

    Interface DataSourcesBuilder

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface DataSourcesBuilder
      +
      The builder for a list of DataSource.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + + + + + +
          +
        • +

          build

          +
          List<DataSource> build()
          +
          Builds a list of data source.
          +
          +
          Returns:
          +
          a list of DataSource
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-frame.html new file mode 100644 index 0000000..ccb79b2 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-frame.html @@ -0,0 +1,27 @@ + + + + + +com.experian.datastudio.sdk.testframework.datasource (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.datasource

    + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-summary.html new file mode 100644 index 0000000..32ced1f --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-summary.html @@ -0,0 +1,190 @@ + + + + + +com.experian.datastudio.sdk.testframework.datasource (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.datasource

    +
    +
    Provides classes to create data source.
    +
    +

    See: Description

    +
    +
    + + + + +

    Package com.experian.datastudio.sdk.testframework.datasource Description

    +
    Provides classes to create data source.
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-tree.html new file mode 100644 index 0000000..fb20eb4 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/datasource/package-tree.html @@ -0,0 +1,148 @@ + + + + + +com.experian.datastudio.sdk.testframework.datasource Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.datasource

    +Package Hierarchies: + +
    +
    +

    Interface Hierarchy

    + +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/SDKTestException.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/SDKTestException.html new file mode 100644 index 0000000..de747c4 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/SDKTestException.html @@ -0,0 +1,378 @@ + + + + + +SDKTestException (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.exception
    +

    Class SDKTestException

    +
    +
    + +
    + +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Constructor Detail

        + + + +
          +
        • +

          SDKTestException

          +
          public SDKTestException()
          +
        • +
        + + + +
          +
        • +

          SDKTestException

          +
          public SDKTestException(String message)
          +
          Constructs a new SDK test exception with the specified detail message.
          +
          +
          Parameters:
          +
          message - the detail message. The detail message is saved for + later retrieval by the Throwable.getMessage() method.
          +
          +
        • +
        + + + +
          +
        • +

          SDKTestException

          +
          public SDKTestException(String message,
          +                        Throwable cause)
          +
          Constructs a new SDK test exception with the specified detail message and + cause.
          +
          +
          Parameters:
          +
          message - the detail message (which is saved for later retrieval + by the Throwable.getMessage() method).
          +
          cause - the cause (which is saved for later retrieval by the + Throwable.getCause() method). (A null value is + permitted, and indicates that the cause is nonexistent or + unknown.)
          +
          +
        • +
        + + + +
          +
        • +

          SDKTestException

          +
          public SDKTestException(Throwable cause)
          +
          Constructs a new SDK test exception with the specified cause and a + detail message of (cause==null ? null : cause.toString()) + (which typically contains the class and detail message of + cause).
          +
          +
          Parameters:
          +
          cause - the cause (which is saved for later retrieval by the + Throwable.getCause() method). (A null value is + permitted, and indicates that the cause is nonexistent or + unknown.)
          +
          +
        • +
        + + + +
          +
        • +

          SDKTestException

          +
          public SDKTestException(String message,
          +                        Throwable cause,
          +                        boolean enableSuppression,
          +                        boolean writableStackTrace)
          +
          Constructs a new SDK test exception with the specified detail + message, cause, suppression enabled or disabled, and writable + stack trace enabled or disabled.
          +
          +
          Parameters:
          +
          message - the detail message.
          +
          cause - the cause. (A null value is permitted, + and indicates that the cause is nonexistent or unknown.)
          +
          enableSuppression - whether or not suppression is enabled + or disabled
          +
          writableStackTrace - whether or not the stack trace should + be writable
          +
          +
        • +
        +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-frame.html new file mode 100644 index 0000000..be8a2a0 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-frame.html @@ -0,0 +1,19 @@ + + + + + +com.experian.datastudio.sdk.testframework.exception (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.exception

    +
    +

    Exceptions

    + +
    + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-summary.html new file mode 100644 index 0000000..cef3673 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-summary.html @@ -0,0 +1,150 @@ + + + + + +com.experian.datastudio.sdk.testframework.exception (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.exception

    +
    +
    Provides class to throw test framework exception.
    +
    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + +
      Exception Summary 
      ExceptionDescription
      SDKTestException +
      A runtime-exception thrown by sdk-test-framework.
      +
      +
    • +
    + + + +

    Package com.experian.datastudio.sdk.testframework.exception Description

    +
    Provides class to throw test framework exception.
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-tree.html new file mode 100644 index 0000000..d04c55a --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/exception/package-tree.html @@ -0,0 +1,146 @@ + + + + + +com.experian.datastudio.sdk.testframework.exception Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.exception

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    + +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-frame.html new file mode 100644 index 0000000..651dab6 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-frame.html @@ -0,0 +1,20 @@ + + + + + +com.experian.datastudio.sdk.testframework (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework

    +
    +

    Classes

    + +
    + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-summary.html new file mode 100644 index 0000000..1b95f0b --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-summary.html @@ -0,0 +1,147 @@ + + + + + +com.experian.datastudio.sdk.testframework (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + +
      Class Summary 
      ClassDescription
      SDKTestFramework +
      This is a utility class to create all the necessary components for testing custom step or custom parser.
      +
      TestResult +
      The result of testing a custom step.
      +
      +
    • +
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-tree.html new file mode 100644 index 0000000..965495f --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/package-tree.html @@ -0,0 +1,135 @@ + + + + + +com.experian.datastudio.sdk.testframework Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    + +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/TestSetting.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/TestSetting.html new file mode 100644 index 0000000..9394c72 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/TestSetting.html @@ -0,0 +1,310 @@ + + + + + +TestSetting (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.setting
    +

    Interface TestSetting

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestSetting
      +
      Creates custom step setting.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          getStepSetting

          +
          Map<String,Object> getStepSetting()
          +
          Gets custom step setting.
          +
          +
          Returns:
          +
          step setting key value pair.
          +
          +
        • +
        + + + + + + + +
          +
        • +

          getProgressListener

          +
          BiConsumer<String,Double> getProgressListener()
          +
          Gets progress listener function.
          +
          +
          Returns:
          +
          the progress listener.
          +
          +
        • +
        + + + +
          +
        • +

          getIsInteractive

          +
          boolean getIsInteractive()
          +
          Gets interactive status.
          +
          +
          Returns:
          +
          the interactive status.
          +
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/TestSettingBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/TestSettingBuilder.html new file mode 100644 index 0000000..9d1fcde --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/TestSettingBuilder.html @@ -0,0 +1,321 @@ + + + + + +TestSettingBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.setting
    +

    Interface TestSettingBuilder

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestSettingBuilder
      +
      The builder for custom step setting.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          setStepSetting

          +
          TestSettingBuilder setStepSetting(String settingFieldId,
          +                                  Object value)
          +
          Sets custom step setting.
          +
          +
          Parameters:
          +
          settingFieldId - the setting field ID.
          +
          value - the value for the setting field.
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + + + + + +
          +
        • +

          setProgress

          +
          TestSettingBuilder setProgress(BiConsumer<String,Double> progressReport)
          +
          Sets the progress listener.
          +
          +
          Parameters:
          +
          progressReport - the progress listener function.
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + +
          +
        • +

          setIsInteractive

          +
          TestSettingBuilder setIsInteractive(boolean isInteractive)
          +
          Sets the interactive status.
          +
          +
          Parameters:
          +
          isInteractive - the interactive mode.
          +
          Returns:
          +
          this builder
          +
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-frame.html new file mode 100644 index 0000000..df67d8c --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-frame.html @@ -0,0 +1,20 @@ + + + + + +com.experian.datastudio.sdk.testframework.setting (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.setting

    +
    +

    Interfaces

    + +
    + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-summary.html new file mode 100644 index 0000000..cc3e7a5 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-summary.html @@ -0,0 +1,156 @@ + + + + + +com.experian.datastudio.sdk.testframework.setting (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.setting

    +
    +
    Provides classes to create settings for testing custom step.
    +
    +

    See: Description

    +
    +
    +
      +
    • + + + + + + + + + + + + + + + + +
      Interface Summary 
      InterfaceDescription
      TestSetting +
      Creates custom step setting.
      +
      TestSettingBuilder +
      The builder for custom step setting.
      +
      +
    • +
    + + + +

    Package com.experian.datastudio.sdk.testframework.setting Description

    +
    Provides classes to create settings for testing custom step.
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-tree.html new file mode 100644 index 0000000..13c0c22 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/setting/package-tree.html @@ -0,0 +1,131 @@ + + + + + +com.experian.datastudio.sdk.testframework.setting Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.setting

    +Package Hierarchies: + +
    +
    +

    Interface Hierarchy

    + +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/CellResult.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/CellResult.html new file mode 100644 index 0000000..74ff25d --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/CellResult.html @@ -0,0 +1,308 @@ + + + + + +CellResult (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Class CellResult

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • com.experian.datastudio.sdk.testframework.testdefinition.CellResult
      • +
      +
    • +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStep.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStep.html new file mode 100644 index 0000000..6b11508 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStep.html @@ -0,0 +1,258 @@ + + + + + +TestStep (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestStep

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestStep
      +
      The custom step test for execution.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.AddStepPropertiesValue.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.AddStepPropertiesValue.html new file mode 100644 index 0000000..21c762e --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.AddStepPropertiesValue.html @@ -0,0 +1,235 @@ + + + + + +TestStepBuilder.AddStepPropertiesValue (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestStepBuilder.AddStepPropertiesValue

    +
    +
    +
    +
      +
    • +
      +
      Enclosing interface:
      +
      TestStepBuilder
      +
      +
      +
      +
      public static interface TestStepBuilder.AddStepPropertiesValue
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.Builder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.Builder.html new file mode 100644 index 0000000..d3a3ca8 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.Builder.html @@ -0,0 +1,237 @@ + + + + + +TestStepBuilder.Builder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestStepBuilder.Builder

    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.WithMockResources.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.WithMockResources.html new file mode 100644 index 0000000..78d0c6f --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.WithMockResources.html @@ -0,0 +1,239 @@ + + + + + +TestStepBuilder.WithMockResources (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestStepBuilder.WithMockResources

    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.WithMockResourcesAndBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.WithMockResourcesAndBuilder.html new file mode 100644 index 0000000..37d9d97 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.WithMockResourcesAndBuilder.html @@ -0,0 +1,205 @@ + + + + + +TestStepBuilder.WithMockResourcesAndBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestStepBuilder.WithMockResourcesAndBuilder

    +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.html new file mode 100644 index 0000000..1c6e309 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestStepBuilder.html @@ -0,0 +1,263 @@ + + + + + +TestStepBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestStepBuilder

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestStepBuilder
      +
      The builder for custom step test.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuite.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuite.html new file mode 100644 index 0000000..255ee17 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuite.html @@ -0,0 +1,252 @@ + + + + + +TestSuite (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestSuite

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestSuite
      +
      Test suite for custom step.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    +
      +
    • + +
        +
      • + + +

        Method Detail

        + + + +
          +
        • +

          executeTest

          +
          TestResult executeTest(String outputId)
          +
          Executes the test on an output of a custom step.
          +
          +
          Parameters:
          +
          outputId - the output node ID.
          +
          Returns:
          +
          the TestResult
          +
          +
        • +
        + + + + +
      • +
      +
    • +
    +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.Builder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.Builder.html new file mode 100644 index 0000000..a3330a7 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.Builder.html @@ -0,0 +1,233 @@ + + + + + +TestSuiteBuilder.Builder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestSuiteBuilder.Builder

    +
    +
    +
    +
      +
    • +
      +
      Enclosing interface:
      +
      TestSuiteBuilder
      +
      +
      +
      +
      public static interface TestSuiteBuilder.Builder
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.DataSourceBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.DataSourceBuilder.html new file mode 100644 index 0000000..9a04037 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.DataSourceBuilder.html @@ -0,0 +1,235 @@ + + + + + +TestSuiteBuilder.DataSourceBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestSuiteBuilder.DataSourceBuilder

    +
    +
    +
    +
      +
    • +
      +
      Enclosing interface:
      +
      TestSuiteBuilder
      +
      +
      +
      +
      public static interface TestSuiteBuilder.DataSourceBuilder
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.StepBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.StepBuilder.html new file mode 100644 index 0000000..1e00ba3 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.StepBuilder.html @@ -0,0 +1,235 @@ + + + + + +TestSuiteBuilder.StepBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestSuiteBuilder.StepBuilder

    +
    +
    +
    +
      +
    • +
      +
      Enclosing interface:
      +
      TestSuiteBuilder
      +
      +
      +
      +
      public static interface TestSuiteBuilder.StepBuilder
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.html new file mode 100644 index 0000000..ef8a250 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/TestSuiteBuilder.html @@ -0,0 +1,259 @@ + + + + + +TestSuiteBuilder (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.testdefinition
    +

    Interface TestSuiteBuilder

    +
    +
    +
    +
      +
    • +
      +
      +
      public interface TestSuiteBuilder
      +
      The test suite builder.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-frame.html new file mode 100644 index 0000000..5c722dc --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-frame.html @@ -0,0 +1,33 @@ + + + + + +com.experian.datastudio.sdk.testframework.testdefinition (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.testdefinition

    + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-summary.html new file mode 100644 index 0000000..a8036e3 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-summary.html @@ -0,0 +1,211 @@ + + + + + +com.experian.datastudio.sdk.testframework.testdefinition (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.testdefinition

    +
    +
    Provides classes to test custom step.
    +
    +

    See: Description

    +
    +
    + + + + +

    Package com.experian.datastudio.sdk.testframework.testdefinition Description

    +
    Provides classes to test custom step.
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-tree.html new file mode 100644 index 0000000..0824678 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/testdefinition/package-tree.html @@ -0,0 +1,155 @@ + + + + + +com.experian.datastudio.sdk.testframework.testdefinition Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.testdefinition

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    +
      +
    • java.lang.Object +
        +
      • com.experian.datastudio.sdk.testframework.testdefinition.CellResult (implements com.experian.datastudio.sdk.testframework.assertion.StepCellResult)
      • +
      +
    • +
    +

    Interface Hierarchy

    + +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/MockWebHttpClient.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/MockWebHttpClient.html new file mode 100644 index 0000000..affb550 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/MockWebHttpClient.html @@ -0,0 +1,423 @@ + + + + + +MockWebHttpClient (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.web
    +

    Class MockWebHttpClient

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • com.experian.datastudio.sdk.testframework.web.MockWebHttpClient
      • +
      +
    • +
    +
    +
      +
    • +
      +
      All Implemented Interfaces:
      +
      WebHttpClient
      +
      +
      +
      +
      public class MockWebHttpClient
      +extends Object
      +implements WebHttpClient
      +
      The mock class for Web Http Client.
      +
      +
      Since:
      +
      2.0.0
      +
      +
    • +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/MockWebHttpClientFactory.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/MockWebHttpClientFactory.html new file mode 100644 index 0000000..fd1e724 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/MockWebHttpClientFactory.html @@ -0,0 +1,329 @@ + + + + + +MockWebHttpClientFactory (SDK Test Framework 2.2.0 API) + + + + + + + + + + + +
    +
    com.experian.datastudio.sdk.testframework.web
    +

    Class MockWebHttpClientFactory

    +
    +
    +
      +
    • java.lang.Object
    • +
    • +
        +
      • com.experian.datastudio.sdk.testframework.web.MockWebHttpClientFactory
      • +
      +
    • +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-frame.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-frame.html new file mode 100644 index 0000000..2e9f653 --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-frame.html @@ -0,0 +1,20 @@ + + + + + +com.experian.datastudio.sdk.testframework.web (SDK Test Framework 2.2.0 API) + + + + +

    com.experian.datastudio.sdk.testframework.web

    + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-summary.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-summary.html new file mode 100644 index 0000000..849fecf --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-summary.html @@ -0,0 +1,156 @@ + + + + + +com.experian.datastudio.sdk.testframework.web (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Package com.experian.datastudio.sdk.testframework.web

    +
    +
    Provides classes to simulate HTTP transaction.
    +
    +

    See: Description

    +
    +
    + + + + +

    Package com.experian.datastudio.sdk.testframework.web Description

    +
    Provides classes to simulate HTTP transaction.
    +
    + + + + + + diff --git a/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-tree.html b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-tree.html new file mode 100644 index 0000000..b3e093e --- /dev/null +++ b/docs/sdktestframework/com/experian/datastudio/sdk/testframework/web/package-tree.html @@ -0,0 +1,135 @@ + + + + + +com.experian.datastudio.sdk.testframework.web Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Hierarchy For Package com.experian.datastudio.sdk.testframework.web

    +Package Hierarchies: + +
    +
    +

    Class Hierarchy

    + +
    + + + + + + diff --git a/docs/sdktestframework/constant-values.html b/docs/sdktestframework/constant-values.html new file mode 100644 index 0000000..fbfc4e8 --- /dev/null +++ b/docs/sdktestframework/constant-values.html @@ -0,0 +1,121 @@ + + + + + +Constant Field Values (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Constant Field Values

    +

    Contents

    +
    + + + + + + diff --git a/docs/sdktestframework/deprecated-list.html b/docs/sdktestframework/deprecated-list.html new file mode 100644 index 0000000..3439638 --- /dev/null +++ b/docs/sdktestframework/deprecated-list.html @@ -0,0 +1,150 @@ + + + + + +Deprecated List (SDK Test Framework 2.2.0 API) + + + + + + + +
    + + + + + + + +
    + + +
    +

    Deprecated API

    +

    Contents

    + +
    + + +
    + + + + + + + +
    + + + + diff --git a/docs/sdktestframework/help-doc.html b/docs/sdktestframework/help-doc.html new file mode 100644 index 0000000..4474958 --- /dev/null +++ b/docs/sdktestframework/help-doc.html @@ -0,0 +1,222 @@ + + + + + +API Help (SDK Test Framework 2.2.0 API) + + + + + + + +
    + + + + + + + +
    + + +
    +

    How This API Document Is Organized

    +
    This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
    +
    +
    +
      +
    • +

      Overview

      +

      The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

      +
    • +
    • +

      Package

      +

      Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:

      +
        +
      • Interfaces (italic)
      • +
      • Classes
      • +
      • Enums
      • +
      • Exceptions
      • +
      • Errors
      • +
      • Annotation Types
      • +
      +
    • +
    • +

      Class/Interface

      +

      Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      +
        +
      • Class inheritance diagram
      • +
      • Direct Subclasses
      • +
      • All Known Subinterfaces
      • +
      • All Known Implementing Classes
      • +
      • Class/interface declaration
      • +
      • Class/interface description
      • +
      +
        +
      • Nested Class Summary
      • +
      • Field Summary
      • +
      • Constructor Summary
      • +
      • Method Summary
      • +
      +
        +
      • Field Detail
      • +
      • Constructor Detail
      • +
      • Method Detail
      • +
      +

      Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

      +
    • +
    • +

      Annotation Type

      +

      Each annotation type has its own separate page with the following sections:

      +
        +
      • Annotation Type declaration
      • +
      • Annotation Type description
      • +
      • Required Element Summary
      • +
      • Optional Element Summary
      • +
      • Element Detail
      • +
      +
    • +
    • +

      Enum

      +

      Each enum has its own separate page with the following sections:

      +
        +
      • Enum declaration
      • +
      • Enum description
      • +
      • Enum Constant Summary
      • +
      • Enum Constant Detail
      • +
      +
    • +
    • +

      Tree (Class Hierarchy)

      +

      There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.

      +
        +
      • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
      • +
      • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
      • +
      +
    • +
    • +

      Deprecated API

      +

      The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

      +
    • +
    • +

      Index

      +

      The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

      +
    • +
    • +

      Prev/Next

      +

      These links take you to the next or previous class, interface, package, or related page.

      +
    • +
    • +

      Frames/No Frames

      +

      These links show and hide the HTML frames. All pages are available with or without frames.

      +
    • +
    • +

      All Classes

      +

      The All Classes link shows all classes and interfaces except non-static nested types.

      +
    • +
    • +

      Serialized Form

      +

      Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

      +
    • +
    • +

      Constant Field Values

      +

      The Constant Field Values page lists the static final fields and their values.

      +
    • +
    +This help file applies to API documentation generated using the standard doclet.
    + +
    + + + + + + + +
    + + + + diff --git a/docs/sdktestframework/index-all.html b/docs/sdktestframework/index-all.html new file mode 100644 index 0000000..ca040db --- /dev/null +++ b/docs/sdktestframework/index-all.html @@ -0,0 +1,1004 @@ + + + + + +Index (SDK Test Framework 2.2.0 API) + + + + + + + +
    + + + + + + + +
    + + +
    A B C D E F G H L M N O P S T V W  + + +

    A

    +
    +
    addDataSource(Function<DataSourceBuilder, DataSource>) - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourcesBuilder
    +
    +
    Constructs and add data source to the list.
    +
    +
    addParserParameter(String, String) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserBuilder.Builder
    +
    +
    Configures the parser parameter of the custom parser.
    +
    +
    addParserParameter(String, long) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserBuilder.Builder
    +
    +
    Configures the parser parameter of the custom parser.
    +
    +
    addParserParameter(String, boolean) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserBuilder.Builder
    +
    +
    Configures the parser parameter of the custom parser.
    +
    +
    addParserParameter(String, char) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserBuilder.Builder
    +
    +
    Configures the parser parameter of the custom parser.
    +
    +
    addRow(Object...) - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourceValueBuilder.RowBuilder
    +
    +
    Adds a row of values into this data source.
    +
    +
    assertThat(TableResult) - Static method in class com.experian.datastudio.sdk.testframework.assertion.TableResultAssert
    +
    +
    Creates a new instance of TableResultAssert.
    +
    +
    assertThat(StepTableResult) - Static method in class com.experian.datastudio.sdk.testframework.assertion.TestResultAssert
    +
    +
    Creates a new instance of TestResultAssert.
    +
    +
    assignDataTypeToColumn(ParserDataType, String) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserSettingBuilder
    +
    +
    Assigns the data type of a column.
    +
    +
    + + + +

    B

    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.customparser.ParserTestSuiteBuilder.Builder
    +
    +
    Builds an instance of ParserTestSuite
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserBuilder.Builder
    +
    +
    Builds an instance of TestParser.
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserSettingBuilder
    +
    +
    Builds a TestParserSetting.
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserSourceBuilder.Builder
    +
    +
    Builds a input source for testing custom parser.
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.customstep.processor.MockResourceBuilder.Builder
    +
    +
    Builds the mock resource of a custom step.
    +
    +
    build() - Method in class com.experian.datastudio.sdk.testframework.customstep.processor.MockResourcesBuilder
    +
    +
    Builds a mock resources map
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.customstep.StepPropertiesValueBuilder
    +
    +
    Builds a user defined step options
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourceBuilder.FinalStep
    +
    +
    Builds a DataSource for testing custom step.
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourcesBuilder
    +
    +
    Builds a list of data source.
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.setting.TestSettingBuilder
    +
    +
    Builds a TestSetting
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestStepBuilder.Builder
    +
    +
    Builds a TestStep
    +
    +
    build() - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestSuiteBuilder.Builder
    +
    +
    Builds a test suite.
    +
    +
    builder() - Static method in interface com.experian.datastudio.sdk.testframework.datasource.DataSource
    +
    +
    Returns a builder of the data source.
    +
    +
    builder() - Static method in interface com.experian.datastudio.sdk.testframework.setting.TestSetting
    +
    +
    Returns a builder of the custom step setting.
    +
    +
    builder() - Static method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestStep
    +
    +
    Returns a builder of the custom step test.
    +
    +
    builder() - Static method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestSuite
    +
    +
    Returns a builder of the test suite.
    +
    +
    + + + +

    C

    +
    +
    CellResult - Class in com.experian.datastudio.sdk.testframework.testdefinition
    +
     
    +
    CellResult(Object, CustomValueStyle) - Constructor for class com.experian.datastudio.sdk.testframework.testdefinition.CellResult
    +
     
    +
    close() - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSource
    +
    +
    Closes any streams and releases system resources associated with the data source.
    +
    +
    com.experian.datastudio.sdk.testframework - package com.experian.datastudio.sdk.testframework
    +
     
    +
    com.experian.datastudio.sdk.testframework.assertion - package com.experian.datastudio.sdk.testframework.assertion
    +
    +
    Provides classes to assert the testing result of custom step or custom parser.
    +
    +
    com.experian.datastudio.sdk.testframework.customloader - package com.experian.datastudio.sdk.testframework.customloader
    +
    +
    Provides classes to load custom step or custom parser.
    +
    +
    com.experian.datastudio.sdk.testframework.customparser - package com.experian.datastudio.sdk.testframework.customparser
    +
    +
    Provides classes to test custom parser.
    +
    +
    com.experian.datastudio.sdk.testframework.customstep - package com.experian.datastudio.sdk.testframework.customstep
    +
     
    +
    com.experian.datastudio.sdk.testframework.customstep.processor - package com.experian.datastudio.sdk.testframework.customstep.processor
    +
     
    +
    com.experian.datastudio.sdk.testframework.datasource - package com.experian.datastudio.sdk.testframework.datasource
    +
    +
    Provides classes to create data source.
    +
    +
    com.experian.datastudio.sdk.testframework.exception - package com.experian.datastudio.sdk.testframework.exception
    +
    +
    Provides class to throw test framework exception.
    +
    +
    com.experian.datastudio.sdk.testframework.setting - package com.experian.datastudio.sdk.testframework.setting
    +
    +
    Provides classes to create settings for testing custom step.
    +
    +
    com.experian.datastudio.sdk.testframework.testdefinition - package com.experian.datastudio.sdk.testframework.testdefinition
    +
    +
    Provides classes to test custom step.
    +
    +
    com.experian.datastudio.sdk.testframework.web - package com.experian.datastudio.sdk.testframework.web
    +
    +
    Provides classes to simulate HTTP transaction.
    +
    +
    compareOutputWithCsv(String) - Method in class com.experian.datastudio.sdk.testframework.assertion.TableResultAssert
    +
    +
    Asserts the output with expected CSV file.
    +
    +
    compareOutputWithCsv(Path) - Method in class com.experian.datastudio.sdk.testframework.assertion.TableResultAssert
    +
    +
    Asserts the output with expected CSV file.
    +
    +
    connectToInputNodeIds(String...) - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourceBuilder.Setting
    +
    +
    Defines one or more input nodes from the custom step to connect to data source.
    +
    +
    connectToInputNodeIds(String...) - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourceValueBuilder.NewSourceBuilder
    +
    +
    Sets custom step's input nodes that is connected to this data source.
    +
    +
    containsColumn(String) - Method in class com.experian.datastudio.sdk.testframework.assertion.TableResultAssert
    +
    +
    Asserts the output columns contains the expected column name.
    +
    +
    createNewSource(String...) - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourceValueBuilder
    +
    +
    Defines columns for data source.
    +
    +
    createTestDataSource(Function<DataSourcesBuilder, List<DataSource>>) - Static method in class com.experian.datastudio.sdk.testframework.SDKTestFramework
    +
    +
    Creates the data source for testing custom step.
    +
    +
    createTestParser(Function<TestParserBuilder, TestParser>) - Static method in class com.experian.datastudio.sdk.testframework.SDKTestFramework
    +
    +
    Creates the TestParser for testing custom parser.
    +
    +
    createTestParserSetting(Function<TestParserSettingBuilder, TestParserSetting>) - Static method in class com.experian.datastudio.sdk.testframework.SDKTestFramework
    +
    +
    Creates the settings for testing custom parser.
    +
    +
    createTestParserSource(Function<TestParserSourceBuilder, TestParserSource>) - Static method in class com.experian.datastudio.sdk.testframework.SDKTestFramework
    +
    +
    Creates the input source for testing custom parser.
    +
    +
    createTestSetting(Function<TestSettingBuilder, TestSetting>) - Static method in class com.experian.datastudio.sdk.testframework.SDKTestFramework
    +
    +
    Creates the settings for testing custom step.
    +
    +
    createTestStep(Function<TestStepBuilder, TestStep>) - Static method in class com.experian.datastudio.sdk.testframework.SDKTestFramework
    +
    +
    Creates the TestStep for testing custom step.
    +
    +
    CustomParserLoader - Interface in com.experian.datastudio.sdk.testframework.customloader
    +
    +
    Custom parser loader for testing a custom parser.
    +
    +
    CustomStepLoader - Interface in com.experian.datastudio.sdk.testframework.customloader
    +
    +
    Custom step loader for testing a custom step.
    +
    +
    + + + +

    D

    +
    +
    DataSource - Interface in com.experian.datastudio.sdk.testframework.datasource
    +
    +
    Represents a data source to be used in custom step.
    +
    +
    DataSourceBuilder - Interface in com.experian.datastudio.sdk.testframework.datasource
    +
    +
    The builder for DataSource.
    +
    +
    DataSourceBuilder.FinalStep - Interface in com.experian.datastudio.sdk.testframework.datasource
    +
     
    +
    DataSourceBuilder.Setting - Interface in com.experian.datastudio.sdk.testframework.datasource
    +
     
    +
    DataSourceCSVBuilder - Interface in com.experian.datastudio.sdk.testframework.datasource
    +
    +
    The builder for CSV data source.
    +
    +
    DataSourcesBuilder - Interface in com.experian.datastudio.sdk.testframework.datasource
    +
    +
    The builder for a list of DataSource.
    +
    +
    DataSourceValueBuilder - Interface in com.experian.datastudio.sdk.testframework.datasource
    +
    +
    Builds data source by specify the column name and row values.
    +
    +
    DataSourceValueBuilder.NewSourceBuilder - Interface in com.experian.datastudio.sdk.testframework.datasource
    +
     
    +
    DataSourceValueBuilder.RowBuilder - Interface in com.experian.datastudio.sdk.testframework.datasource
    +
     
    +
    + + + +

    E

    +
    +
    execute() - Method in interface com.experian.datastudio.sdk.testframework.customparser.ParserTestSuite
    +
    +
    Executes the custom parser.
    +
    +
    execute(TestSetting, List<DataSource>, String) - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestStep
    +
    +
    Executes the output of a custom step.
    +
    +
    executeTest(String) - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestSuite
    +
    +
    Executes the test on an output of a custom step.
    +
    +
    + + + +

    F

    +
    +
    forClass(Class<T>) - Method in class com.experian.datastudio.sdk.testframework.customstep.processor.MockResourceBuilderFactory
    +
    +
    Constructs a MockResourceBuilder.
    +
    +
    fromParserDefinition(CustomParserDefinition) - Method in interface com.experian.datastudio.sdk.testframework.customloader.CustomParserLoader
    +
    +
    Loads from an instance of CustomParserDefinition.
    +
    +
    fromStepDefinition(CustomStepDefinition) - Method in interface com.experian.datastudio.sdk.testframework.customloader.CustomStepLoader
    +
    +
    Loads from an instance of CustomStepDefinition.
    +
    +
    + + + +

    G

    +
    +
    getAssignedColumnType(String) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserSetting
    +
    +
    Returns the column's data type.
    +
    +
    getCacheManager() - Method in interface com.experian.datastudio.sdk.testframework.setting.TestSetting
    +
    +
    Gets cache manager.
    +
    +
    getColumns() - Method in interface com.experian.datastudio.sdk.testframework.assertion.TableResult
    +
    +
    Gets a list of column names.
    +
    +
    getColumns() - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTableResult
    +
     
    +
    getColumns() - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSource
    +
    +
    Gets input columns from data source.
    +
    +
    getColumns() - Method in class com.experian.datastudio.sdk.testframework.TestResult
    +
     
    +
    getColumnsMetadata() - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSource
    +
    +
    Gets metadata for all columns + (eg: column id, name, tags).
    +
    +
    getConnectedInputNodeIds() - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSource
    +
    +
    Gets custom step's input nodes that are connected to this data source.
    +
    +
    getConnectionTimeOutMillis() - Method in class com.experian.datastudio.sdk.testframework.web.MockWebHttpClient
    +
    +
    Get the connection time out in milliseconds.
    +
    +
    getCustomTypeMetadata() - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParser
    +
    +
    Returns the metadata of the custom parser to be tested.
    +
    +
    getFilename() - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserSource
    +
    +
    Returns the file name that used to test the custom parser.
    +
    +
    getFirstTableDefinition() - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTestResult
    +
    +
    Returns the first table definition.
    +
    +
    getHttpVersion() - Method in class com.experian.datastudio.sdk.testframework.web.MockWebHttpClient
    +
    +
    Gets the http version.
    +
    +
    getInputStreamSupplier() - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserSource
    +
    +
    Returns the supplier that provides input stream for custom parser.
    +
    +
    getIsInteractive() - Method in interface com.experian.datastudio.sdk.testframework.setting.TestSetting
    +
    +
    Gets interactive status.
    +
    +
    getLocale() - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParser
    +
    +
    Returns the value of the locale parameter.
    +
    +
    getParameterValue(String, ParameterContext) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParser
    +
    +
    Returns the custom parser's parameter value.
    +
    +
    getParserConfiguration() - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParser
    +
    +
    Returns the configuration of the custom parser to be tested.
    +
    +
    getProgressListener() - Method in interface com.experian.datastudio.sdk.testframework.setting.TestSetting
    +
    +
    Gets progress listener function.
    +
    +
    getProxy() - Method in class com.experian.datastudio.sdk.testframework.web.MockWebHttpClient
    +
    +
    Gets the web client proxy.
    +
    +
    getRowCount() - Method in interface com.experian.datastudio.sdk.testframework.assertion.TableResult
    +
    +
    Gets the count of total rows in the result.
    +
    +
    getRowCount() - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTableResult
    +
     
    +
    getRowCount() - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSource
    +
    +
    Gets total number of rows in the data source.
    +
    +
    getRowCount() - Method in class com.experian.datastudio.sdk.testframework.TestResult
    +
     
    +
    getRowIterator(String) - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTestResult
    +
    +
    Returns record iterator by table Id.
    +
    +
    getSocketTimeoutMillis() - Method in class com.experian.datastudio.sdk.testframework.web.MockWebHttpClient
    +
    +
    Gets the socket time out in milliseconds.
    +
    +
    getStepCell(int, long) - Method in interface com.experian.datastudio.sdk.testframework.assertion.StepTableResult
    +
    +
    Gets the StepCellResult of a table cell.
    +
    +
    getStepCell(String, long) - Method in interface com.experian.datastudio.sdk.testframework.assertion.StepTableResult
    +
    +
    Gets the StepCellResult of a table cell.
    +
    +
    getStepCell(int, long) - Method in class com.experian.datastudio.sdk.testframework.TestResult
    +
     
    +
    getStepCell(String, long) - Method in class com.experian.datastudio.sdk.testframework.TestResult
    +
     
    +
    getStepSetting() - Method in interface com.experian.datastudio.sdk.testframework.setting.TestSetting
    +
    +
    Gets custom step setting.
    +
    +
    getStyle() - Method in interface com.experian.datastudio.sdk.testframework.assertion.StepCellResult
    +
    +
    Gets the style of a cell.
    +
    +
    getStyle() - Method in class com.experian.datastudio.sdk.testframework.testdefinition.CellResult
    +
     
    +
    getTableDefinitionById(String) - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTestResult
    +
    +
    Returns table definition by id.
    +
    +
    getTableDefinitionByName(String) - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTestResult
    +
    +
    Returns table definition by name.
    +
    +
    getTableDefinitions() - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTestResult
    +
    +
    Returns all table definitions.
    +
    +
    getTableResult(String) - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTestResult
    +
    +
    Returns table result by table Id.
    +
    +
    getValue() - Method in interface com.experian.datastudio.sdk.testframework.assertion.StepCellResult
    +
    +
    Gets the value of a cell.
    +
    +
    getValue(int, long) - Method in interface com.experian.datastudio.sdk.testframework.assertion.TableResult
    +
    +
    Gets the value of a table cell.
    +
    +
    getValue(String, long) - Method in interface com.experian.datastudio.sdk.testframework.assertion.TableResult
    +
    +
    Gets the value of a table cell.
    +
    +
    getValue(int, long) - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTableResult
    +
     
    +
    getValue(String, long) - Method in class com.experian.datastudio.sdk.testframework.customparser.ParserTableResult
    +
     
    +
    getValue() - Method in class com.experian.datastudio.sdk.testframework.testdefinition.CellResult
    +
     
    +
    getValue(int, long) - Method in class com.experian.datastudio.sdk.testframework.TestResult
    +
     
    +
    getValue(String, long) - Method in class com.experian.datastudio.sdk.testframework.TestResult
    +
     
    +
    getValueAt(int, long) - Method in class com.experian.datastudio.sdk.testframework.TestResult
    +
    +
    Deprecated. +
    Since 2.2.0, replaced by TestResult.getStepCell(int, long)
    +
    +
    +
    getValueAt(String, long) - Method in class com.experian.datastudio.sdk.testframework.TestResult
    +
    +
    Deprecated. +
    Since 2.2.0, replaced by TestResult.getStepCell(String, long)
    +
    +
    +
    + + + +

    H

    +
    +
    hasColumnsExactlyAs(List<String>) - Method in class com.experian.datastudio.sdk.testframework.assertion.TableResultAssert
    +
    +
    Asserts the output columns count and column names in the given order.
    +
    +
    hasStylesSetAtRow(long, List<CustomValueStyle>) - Method in class com.experian.datastudio.sdk.testframework.assertion.TestResultAssert
    +
    +
    Asserts the row styles
    +
    +
    hasValuesAtRow(long, List<Object>) - Method in class com.experian.datastudio.sdk.testframework.assertion.TableResultAssert
    +
    +
    Asserts the row values and type.
    +
    +
    + + + +

    L

    +
    +
    loadCSV(String) - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourceCSVBuilder
    +
    +
    Opens CSV file in classpath resources folder.
    +
    +
    loadCSV(Path) - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourceCSVBuilder
    +
    +
    Opens CSV file as specified by the path.
    +
    +
    loadCustomParser(Function<CustomParserLoader, Optional<CustomParserDefinition>>) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserBuilder
    +
    +
    Loads the custom parser definition.
    +
    +
    loadCustomStep(Function<CustomStepLoader, Optional<CustomStepDefinition>>) - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestStepBuilder
    +
    +
    Loads custom step.
    +
    +
    loadFile(Path) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserSourceBuilder
    +
    +
    Loads an input source from file path.
    +
    +
    loadFile(String) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserSourceBuilder
    +
    +
    Loads an input source from a file in the class path.
    +
    +
    loadStream(String, Supplier<InputStream>) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserSourceBuilder
    +
    +
    Loads an input source from an input stream supplier.
    +
    +
    + + + +

    M

    +
    +
    mockResource(Function<MockResourceBuilderFactory, StepResource<T>>) - Method in class com.experian.datastudio.sdk.testframework.customstep.processor.MockResourcesBuilder
    +
    +
    Configures the mock resources to be used by the custom step.
    +
    +
    MockResourceBuilder<T> - Interface in com.experian.datastudio.sdk.testframework.customstep.processor
    +
    +
    Builder for defining the mock resource of a custom step.
    +
    +
    MockResourceBuilder.Builder<T> - Interface in com.experian.datastudio.sdk.testframework.customstep.processor
    +
     
    +
    MockResourceBuilder.WithCloser<T> - Interface in com.experian.datastudio.sdk.testframework.customstep.processor
    +
     
    +
    MockResourceBuilder.WithCloserAndBuilder<T> - Interface in com.experian.datastudio.sdk.testframework.customstep.processor
    +
     
    +
    MockResourceBuilder.WithSupplier<T> - Interface in com.experian.datastudio.sdk.testframework.customstep.processor
    +
     
    +
    MockResourceBuilderFactory - Class in com.experian.datastudio.sdk.testframework.customstep.processor
    +
    +
    Factory for MockResourceBuilder.
    +
    +
    MockResourceBuilderFactory() - Constructor for class com.experian.datastudio.sdk.testframework.customstep.processor.MockResourceBuilderFactory
    +
     
    +
    MockResourcesBuilder - Class in com.experian.datastudio.sdk.testframework.customstep.processor
    +
    +
    Builder for defining one or more mock resources of a custom step.
    +
    +
    MockResourcesBuilder() - Constructor for class com.experian.datastudio.sdk.testframework.customstep.processor.MockResourcesBuilder
    +
     
    +
    mockResponse(Predicate<WebHttpRequest>, WebHttpResponse) - Method in class com.experian.datastudio.sdk.testframework.web.MockWebHttpClient
    +
    +
    Mocks the HTTP response.
    +
    +
    MockWebHttpClient - Class in com.experian.datastudio.sdk.testframework.web
    +
    +
    The mock class for Web Http Client.
    +
    +
    MockWebHttpClient(HttpVersion, Proxy, long, long) - Constructor for class com.experian.datastudio.sdk.testframework.web.MockWebHttpClient
    +
    +
    Constructor for MockWebHttpClient
    +
    +
    mockWebHttpClient(HttpVersion, Proxy, Duration, Duration) - Static method in class com.experian.datastudio.sdk.testframework.web.MockWebHttpClientFactory
    +
    +
    Creates the mock instance of MockWebHttpClient.
    +
    +
    MockWebHttpClientFactory - Class in com.experian.datastudio.sdk.testframework.web
    +
    +
    The factory for MockWebHttpClient.
    +
    +
    MockWebHttpClientFactory() - Constructor for class com.experian.datastudio.sdk.testframework.web.MockWebHttpClientFactory
    +
     
    +
    + + + +

    N

    +
    +
    newInstance(HttpVersion, Proxy, long, long) - Method in class com.experian.datastudio.sdk.testframework.web.MockWebHttpClientFactory
    +
    +
    Creates the default instance of WebHttpClient.
    +
    +
    + + + +

    O

    +
    +
    of(CustomStepDefinition) - Static method in interface com.experian.datastudio.sdk.testframework.customstep.StepPropertiesValueBuilder
    +
    +
    Constructs an instance of StepPropertiesValueBuilder
    +
    +
    + + + +

    P

    +
    +
    ParserDataType - Enum in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    Data type to be assigned to the columns of the custom parser output.
    +
    +
    ParserTableResult - Class in com.experian.datastudio.sdk.testframework.customparser
    +
     
    +
    ParserTableResult(String, ParserExecutor, TestParserSetting) - Constructor for class com.experian.datastudio.sdk.testframework.customparser.ParserTableResult
    +
     
    +
    ParserTestResult - Class in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    The result of testing a custom parser.
    +
    +
    ParserTestResult(ParserExecutor, TestParserSetting) - Constructor for class com.experian.datastudio.sdk.testframework.customparser.ParserTestResult
    +
     
    +
    ParserTestSuite - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    The Test Suite for custom parser.
    +
    +
    ParserTestSuiteBuilder - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    The builder to construct ParserTestSuite.
    +
    +
    ParserTestSuiteBuilder.Builder - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
     
    +
    ParserTestSuiteBuilder.Setting - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
     
    +
    ParserTestSuiteBuilder.Source - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
     
    +
    populateCaches(Consumer<StepCacheManager>) - Method in interface com.experian.datastudio.sdk.testframework.setting.TestSettingBuilder
    +
    +
    Sets the cache.
    +
    +
    + + + +

    S

    +
    +
    SDKTestException - Exception in com.experian.datastudio.sdk.testframework.exception
    +
    +
    A runtime-exception thrown by sdk-test-framework.
    +
    +
    SDKTestException() - Constructor for exception com.experian.datastudio.sdk.testframework.exception.SDKTestException
    +
     
    +
    SDKTestException(String) - Constructor for exception com.experian.datastudio.sdk.testframework.exception.SDKTestException
    +
    +
    Constructs a new SDK test exception with the specified detail message.
    +
    +
    SDKTestException(String, Throwable) - Constructor for exception com.experian.datastudio.sdk.testframework.exception.SDKTestException
    +
    +
    Constructs a new SDK test exception with the specified detail message and + cause.
    +
    +
    SDKTestException(Throwable) - Constructor for exception com.experian.datastudio.sdk.testframework.exception.SDKTestException
    +
    +
    Constructs a new SDK test exception with the specified cause and a + detail message of (cause==null ? null : cause.toString()) + (which typically contains the class and detail message of + cause).
    +
    +
    SDKTestException(String, Throwable, boolean, boolean) - Constructor for exception com.experian.datastudio.sdk.testframework.exception.SDKTestException
    +
    +
    Constructs a new SDK test exception with the specified detail + message, cause, suppression enabled or disabled, and writable + stack trace enabled or disabled.
    +
    +
    SDKTestFramework - Class in com.experian.datastudio.sdk.testframework
    +
    +
    This is a utility class to create all the necessary components for testing custom step or custom parser.
    +
    +
    sendAsync(WebHttpRequest) - Method in class com.experian.datastudio.sdk.testframework.web.MockWebHttpClient
    +
    +
    Gets the HTTP response asynchronously.
    +
    +
    setBooleanStepPropertyValue(String, boolean) - Method in interface com.experian.datastudio.sdk.testframework.customstep.StepPropertiesValueBuilder
    +
    +
    Sets value for step property which has a boolean input.
    +
    +
    setColumnChooserStepPropertyValue(String, List<Integer>) - Method in interface com.experian.datastudio.sdk.testframework.customstep.StepPropertiesValueBuilder
    +
    +
    Sets value for step property which has a column chooser input.
    +
    +
    setCustomChooserStepPropertyValue(String, List<?>) - Method in interface com.experian.datastudio.sdk.testframework.customstep.StepPropertiesValueBuilder
    +
    +
    Sets value for step property which has a custom chooser input.
    +
    +
    setDataTagsToColumn(int, String...) - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourceBuilder.Setting
    +
    +
    Sets one or more tags to a column.
    +
    +
    setDataTagsToColumn(int, String...) - Method in interface com.experian.datastudio.sdk.testframework.datasource.DataSourceValueBuilder.NewSourceBuilder
    +
    +
    Assigns tag(s) to a column.
    +
    +
    setIsInteractive(boolean) - Method in interface com.experian.datastudio.sdk.testframework.setting.TestSettingBuilder
    +
    +
    Sets the interactive status.
    +
    +
    setNumberStepPropertyValue(String, Number) - Method in interface com.experian.datastudio.sdk.testframework.customstep.StepPropertiesValueBuilder
    +
    +
    Sets value for step property which has a numerical input.
    +
    +
    setProgress(BiConsumer<String, Double>) - Method in interface com.experian.datastudio.sdk.testframework.setting.TestSettingBuilder
    +
    +
    Sets the progress listener.
    +
    +
    setStepSetting(String, Object) - Method in interface com.experian.datastudio.sdk.testframework.setting.TestSettingBuilder
    +
    +
    Sets custom step setting.
    +
    +
    setStringStepPropertyValue(String, String) - Method in interface com.experian.datastudio.sdk.testframework.customstep.StepPropertiesValueBuilder
    +
    +
    Sets value for step property which has a string input.
    +
    +
    StepCellResult - Interface in com.experian.datastudio.sdk.testframework.assertion
    +
    +
    Represents generated cell result for custom step.
    +
    +
    StepPropertiesValueBuilder - Interface in com.experian.datastudio.sdk.testframework.customstep
    +
    +
    The builder for user defined step options.
    +
    +
    StepTableResult - Interface in com.experian.datastudio.sdk.testframework.assertion
    +
    +
    Represents generated result from a custom step.
    +
    +
    + + + +

    T

    +
    +
    TableResult - Interface in com.experian.datastudio.sdk.testframework.assertion
    +
    +
    Represents generated result.
    +
    +
    TableResultAssert - Class in com.experian.datastudio.sdk.testframework.assertion
    +
    +
    The assertion class to validate custom step and custom parser output.
    +
    +
    TestParser - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    The parser object for testing custom parser.
    +
    +
    TestParserBuilder - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    The builder to construct TestParser.
    +
    +
    TestParserBuilder.Builder - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
     
    +
    TestParserBuilder.WithLocale - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
     
    +
    TestParserSetting - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    The settings for testing custom parser.
    +
    +
    TestParserSettingBuilder - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    The builder to constructs TestParserSetting.
    +
    +
    TestParserSource - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    The input source for testing custom parser.
    +
    +
    TestParserSourceBuilder - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
    +
    The builder for TestParserSource
    +
    +
    TestParserSourceBuilder.Builder - Interface in com.experian.datastudio.sdk.testframework.customparser
    +
     
    +
    TestResult - Class in com.experian.datastudio.sdk.testframework
    +
    +
    The result of testing a custom step.
    +
    +
    TestResult(long, List<ExecutedColumn>) - Constructor for class com.experian.datastudio.sdk.testframework.TestResult
    +
     
    +
    TestResultAssert - Class in com.experian.datastudio.sdk.testframework.assertion
    +
    +
    The assertion class to validate the custom step output.
    +
    +
    TestSetting - Interface in com.experian.datastudio.sdk.testframework.setting
    +
    +
    Creates custom step setting.
    +
    +
    TestSettingBuilder - Interface in com.experian.datastudio.sdk.testframework.setting
    +
    +
    The builder for custom step setting.
    +
    +
    TestStep - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
    +
    The custom step test for execution.
    +
    +
    TestStepBuilder - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
    +
    The builder for custom step test.
    +
    +
    TestStepBuilder.AddStepPropertiesValue - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
     
    +
    TestStepBuilder.Builder - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
     
    +
    TestStepBuilder.WithMockResources - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
     
    +
    TestStepBuilder.WithMockResourcesAndBuilder - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
     
    +
    TestSuite - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
    +
    Test suite for custom step.
    +
    +
    TestSuiteBuilder - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
    +
    The test suite builder.
    +
    +
    TestSuiteBuilder.Builder - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
     
    +
    TestSuiteBuilder.DataSourceBuilder - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
     
    +
    TestSuiteBuilder.StepBuilder - Interface in com.experian.datastudio.sdk.testframework.testdefinition
    +
     
    +
    + + + +

    V

    +
    +
    valueOf(String) - Static method in enum com.experian.datastudio.sdk.testframework.customparser.ParserDataType
    +
    +
    Returns the enum constant of this type with the specified name.
    +
    +
    values() - Static method in enum com.experian.datastudio.sdk.testframework.customparser.ParserDataType
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared.
    +
    +
    + + + +

    W

    +
    +
    withCloser(Consumer<T>) - Method in interface com.experian.datastudio.sdk.testframework.customstep.processor.MockResourceBuilder.WithCloser
    +
    +
    Configures a consumer to close the mock resource after processing.
    +
    +
    withDataSource(List<DataSource>) - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestSuiteBuilder.DataSourceBuilder
    +
    +
    Adds data source into test suite.
    +
    +
    withLocale(Locale) - Method in interface com.experian.datastudio.sdk.testframework.customparser.TestParserBuilder.WithLocale
    +
    +
    Sets the locale to be used by test framework.
    +
    +
    withMockResources(Function<MockResourcesBuilder, Map<String, StepResource<?>>>) - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestStepBuilder.WithMockResources
    +
    +
    Adds mock resources.
    +
    +
    withParser(TestParser) - Method in interface com.experian.datastudio.sdk.testframework.customparser.ParserTestSuiteBuilder
    +
    +
    Configures the TestParser
    +
    +
    withPropertyValue(Function<StepPropertiesValueBuilder, UserOption>) - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestStepBuilder.AddStepPropertiesValue
    +
    +
    Adds step property value.
    +
    +
    withResourceId(String) - Method in interface com.experian.datastudio.sdk.testframework.customstep.processor.MockResourceBuilder
    +
    +
    Configures the unique ID of the mock resource.
    +
    +
    withSetting(TestParserSetting) - Method in interface com.experian.datastudio.sdk.testframework.customparser.ParserTestSuiteBuilder.Setting
    +
    +
    Configures the TestParserSetting
    +
    +
    withSource(TestParserSource) - Method in interface com.experian.datastudio.sdk.testframework.customparser.ParserTestSuiteBuilder.Source
    +
    +
    Configures the TestParserSource
    +
    +
    withSupplier(Supplier<T>) - Method in interface com.experian.datastudio.sdk.testframework.customstep.processor.MockResourceBuilder.WithSupplier
    +
    +
    Configures the supplier for the mocked resource.
    +
    +
    withTestSetting(TestSetting) - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestSuiteBuilder
    +
    +
    Adds test setting into test suite.
    +
    +
    withTestStep(TestStep) - Method in interface com.experian.datastudio.sdk.testframework.testdefinition.TestSuiteBuilder.StepBuilder
    +
    +
    Adds test step into test suite.
    +
    +
    +A B C D E F G H L M N O P S T V W 
    + +
    + + + + + + + +
    + + + + diff --git a/docs/sdktestframework/index.html b/docs/sdktestframework/index.html new file mode 100644 index 0000000..4f9484c --- /dev/null +++ b/docs/sdktestframework/index.html @@ -0,0 +1,75 @@ + + + + + +SDK Test Framework 2.2.0 API + + + + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> + + + diff --git a/docs/sdktestframework/overview-frame.html b/docs/sdktestframework/overview-frame.html new file mode 100644 index 0000000..1e2d855 --- /dev/null +++ b/docs/sdktestframework/overview-frame.html @@ -0,0 +1,30 @@ + + + + + +Overview List (SDK Test Framework 2.2.0 API) + + + + + + +

     

    + + diff --git a/docs/sdktestframework/overview-summary.html b/docs/sdktestframework/overview-summary.html new file mode 100644 index 0000000..463ba1a --- /dev/null +++ b/docs/sdktestframework/overview-summary.html @@ -0,0 +1,191 @@ + + + + + +Overview (SDK Test Framework 2.2.0 API) + + + + + + + +
    + + + + + + + +
    + + +
    +

    SDK Test Framework 2.2.0 API

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Packages 
    PackageDescription
    com.experian.datastudio.sdk.testframework 
    com.experian.datastudio.sdk.testframework.assertion +
    Provides classes to assert the testing result of custom step or custom parser.
    +
    com.experian.datastudio.sdk.testframework.customloader +
    Provides classes to load custom step or custom parser.
    +
    com.experian.datastudio.sdk.testframework.customparser +
    Provides classes to test custom parser.
    +
    com.experian.datastudio.sdk.testframework.customstep 
    com.experian.datastudio.sdk.testframework.customstep.processor 
    com.experian.datastudio.sdk.testframework.datasource +
    Provides classes to create data source.
    +
    com.experian.datastudio.sdk.testframework.exception +
    Provides class to throw test framework exception.
    +
    com.experian.datastudio.sdk.testframework.setting +
    Provides classes to create settings for testing custom step.
    +
    com.experian.datastudio.sdk.testframework.testdefinition +
    Provides classes to test custom step.
    +
    com.experian.datastudio.sdk.testframework.web +
    Provides classes to simulate HTTP transaction.
    +
    +
    + +
    + + + + + + + +
    + + + + diff --git a/docs/sdktestframework/overview-tree.html b/docs/sdktestframework/overview-tree.html new file mode 100644 index 0000000..98a6a84 --- /dev/null +++ b/docs/sdktestframework/overview-tree.html @@ -0,0 +1,273 @@ + + + + + +Class Hierarchy (SDK Test Framework 2.2.0 API) + + + + + + + +
    + + + + + + + +
    + + + +
    +

    Class Hierarchy

    + +

    Interface Hierarchy

    + +

    Enum Hierarchy

    + +
    + +
    + + + + + + + +
    + + + + diff --git a/docs/sdktestframework/package-list b/docs/sdktestframework/package-list new file mode 100644 index 0000000..3055426 --- /dev/null +++ b/docs/sdktestframework/package-list @@ -0,0 +1,11 @@ +com.experian.datastudio.sdk.testframework +com.experian.datastudio.sdk.testframework.assertion +com.experian.datastudio.sdk.testframework.customloader +com.experian.datastudio.sdk.testframework.customparser +com.experian.datastudio.sdk.testframework.customstep +com.experian.datastudio.sdk.testframework.customstep.processor +com.experian.datastudio.sdk.testframework.datasource +com.experian.datastudio.sdk.testframework.exception +com.experian.datastudio.sdk.testframework.setting +com.experian.datastudio.sdk.testframework.testdefinition +com.experian.datastudio.sdk.testframework.web diff --git a/docs/sdktestframework/script.js b/docs/sdktestframework/script.js new file mode 100644 index 0000000..b346356 --- /dev/null +++ b/docs/sdktestframework/script.js @@ -0,0 +1,30 @@ +function show(type) +{ + count = 0; + for (var key in methods) { + var row = document.getElementById(key); + if ((methods[key] & type) != 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) +{ + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} diff --git a/docs/sdktestframework/serialized-form.html b/docs/sdktestframework/serialized-form.html new file mode 100644 index 0000000..eff64e2 --- /dev/null +++ b/docs/sdktestframework/serialized-form.html @@ -0,0 +1,138 @@ + + + + + +Serialized Form (SDK Test Framework 2.2.0 API) + + + + + + + + + + +
    +

    Serialized Form

    +
    +
    + +
    + + + + + + diff --git a/docs/sdktestframework/stylesheet.css b/docs/sdktestframework/stylesheet.css new file mode 100644 index 0000000..98055b2 --- /dev/null +++ b/docs/sdktestframework/stylesheet.css @@ -0,0 +1,574 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ + +@import url('resources/fonts/dejavu.css'); + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4A6782; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.subNavList li{ + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Sans Mono',monospace; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; + +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, +td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colLast, th.colOne, .constantsSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + white-space:nowrap; + font-size:13px; +} +td.colLast, th.colLast { + font-size:13px; +} +td.colOne, th.colOne { + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.useSummary td.colFirst, .useSummary th.colFirst, +.overviewSummary td.colOne, .overviewSummary th.colOne, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colOne, .memberSummary th.colOne, +.typeSummary td.colFirst{ + width:25%; + vertical-align:top; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor { + background-color:#FFFFFF; +} +.rowColor { + background-color:#EEEEEF; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} + +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} + +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} + +td.colLast div { + padding-top:0px; +} + + +td.colLast a { + padding-bottom:3px; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, +.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, +.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} + +div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} + +div.contentContainer ul.blockList li.blockList h2{ + padding-bottom:0px; +} From 2b03c53161864751cb4ed9f233b00b3be57bbf86 Mon Sep 17 00:00:00 2001 From: Hah Chung Khen Date: Sun, 26 Apr 2020 23:01:49 +0800 Subject: [PATCH 25/28] updated to 2.2.0 --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b8d8371..66ead05 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ This repo contains the SDK JAR and a pre-configured Java project that uses Gradl | SDK version | Compatible Data Studio version | New features released | |--------------------------------------------------------------------------------------|--------------------------------|-----------------------| -| 2.2.0 | |
    • Step property on-value-change handler
    • Locale parameter
    | +| 2.2.0 | |
    • Step property on-value-change handler
    • Locale parameter
    • SDK custom parser testframework
    | | [2.1.1](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.1) | 2.0.9 (or newer) | New custom icons added:
    • Australia Post
    • Collibra
    • Dynamics365
    • Salesforce
    • Tableau
    | | [2.1.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.0) | 2.0.6 (or newer) |
    • Accessing Step Settings at the Step Configuration stage, so that API calls can be made using the credentials in the Step Settings to populate the Step Properties.
    • Password type field in Step Settings to ensure masking and encryption of sensitive information.
    • Custom Step Exception. Custom step developer can define error IDs and descriptions.
    | | [2.0.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.0.0) | 2.0.0 (or newer) || @@ -117,14 +117,14 @@ This repo contains the SDK JAR and a pre-configured Java project that uses Gradl } dependencies { - compileOnly("com.experian.datastudio:sdkapi:2.1.0") - compileOnly("com.experian.datastudio:sdklib:2.1.0") + compileOnly("com.experian.datastudio:sdkapi:2.2.0") + compileOnly("com.experian.datastudio:sdklib:2.2.0") } ``` If you don't want to use Gradle, you'll have to configure your own Java project to generate a compatible JAR artifact: - Create a new Java project or open an existing one. - - Download and install the [sdkapi.jar](https://raw.githubusercontent.com/experiandataquality/aperture-data-studio-sdk/github-maven-repository/maven/com/experian/datastudio/sdkapi/2.1.0/sdkapi-2.1.0.jar) file. + - Download and install the [sdkapi.jar](https://raw.githubusercontent.com/experiandataquality/aperture-data-studio-sdk/github-maven-repository/maven/com/experian/datastudio/sdkapi/2.2.0/sdkapi-2.2.0.jar) file. If using Maven, modify `pom.xml` to add the SDK GitHub repository: @@ -159,13 +159,13 @@ This repo contains the SDK JAR and a pre-configured Java project that uses Gradl com.experian.datastudio sdkapi - 2.1.0 + 2.2.0 provided com.experian.datastudio sdklib - 2.1.0 + 2.2.0 @@ -1026,13 +1026,13 @@ CompletableFuture webHttpResponse = client.sendAsync(request); } dependencies { - compileOnly("com.experian.datastudio:sdkapi:2.1.0") + compileOnly("com.experian.datastudio:sdkapi:2.2.0") } ``` If you don't want to use Gradle, you'll have to configure your own Java project to generate a compatible JAR artifact: - Create a new Java project or open an existing one. - - Download and install the [sdkapi.jar](https://raw.githubusercontent.com/experiandataquality/aperture-data-studio-sdk/github-maven-repository/maven/com/experian/datastudio/sdkapi/2.1.0/sdkapi-2.1.0.jar) file. + - Download and install the [sdkapi.jar](https://raw.githubusercontent.com/experiandataquality/aperture-data-studio-sdk/github-maven-repository/maven/com/experian/datastudio/sdkapi/2.2.0/sdkapi-2.2.0.jar) file. If using Maven, modify `pom.xml` to add the SDK GitHub repository: From 0c563e0f297dceef6c1ed72223996f22d154bb65 Mon Sep 17 00:00:00 2001 From: chungkhenhah <53897209+chungkhenhah@users.noreply.github.com> Date: Mon, 27 Apr 2020 22:34:00 +0800 Subject: [PATCH 26/28] change of 2.2.0 feature list --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 66ead05..b30604e 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ This repo contains the SDK JAR and a pre-configured Java project that uses Gradl | SDK version | Compatible Data Studio version | New features released | |--------------------------------------------------------------------------------------|--------------------------------|-----------------------| -| 2.2.0 | |
    • Step property on-value-change handler
    • Locale parameter
    • SDK custom parser testframework
    | +| 2.2.0 | 2.0.11 (or newer) |
    • A new On value change handler for step properties. This will provide you with more control over the step properties in your custom step (e.g. you can reset the selection of subsequent step properties once the value in the preceding step property has changed).
    • A new Locale parameter. This will allow the users to select the "Language and region" settings when uploading a file with the custom parser. The parser will then be able to deserialize the file based on the selected setting.
    • SDK custom parser test framework. The SDK test framework has now been extended to cater for custom parser testing at component level as well.
    | | [2.1.1](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.1) | 2.0.9 (or newer) | New custom icons added:
    • Australia Post
    • Collibra
    • Dynamics365
    • Salesforce
    • Tableau
    | | [2.1.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.0) | 2.0.6 (or newer) |
    • Accessing Step Settings at the Step Configuration stage, so that API calls can be made using the credentials in the Step Settings to populate the Step Properties.
    • Password type field in Step Settings to ensure masking and encryption of sensitive information.
    • Custom Step Exception. Custom step developer can define error IDs and descriptions.
    | | [2.0.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.0.0) | 2.0.0 (or newer) || From 79671b3eff3fb3b6447c79944d89cf0b0ce7cbcb Mon Sep 17 00:00:00 2001 From: William Ngeow Date: Tue, 28 Apr 2020 11:43:11 +0800 Subject: [PATCH 27/28] Updated README for Custom Parser Test Framework --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b30604e..d740434 100644 --- a/README.md +++ b/README.md @@ -350,9 +350,9 @@ For example, to add a column chooser to the step: | build | Build the step property | #### Configure withOnValueChanged -Since version 2.2.0, on-value-changed handler is added to all the step property types. The on-value-changed handler allows a step property to update the other step properties' value, when its value is been updated. +Since version 2.2.0, on-value-changed handler is added to all the step property types. The on-value-changed handler allows a step property to update another step property's value, when its own value is updated. -This is necessary for scenario below. The step property `CUSTOM_2`'s allow values are depends on the step property `CUSTOM_1`'s value. First, the user selects "1" for `CUSTOM_1`, AND "1b" for `CUSTOM_2`. Then, the user edit `CUSTOM_1`'s value to "2". The step property `CUSTOM_2`'s value will become invalid as the "1b" is not found in the new allow values ("2a", "2b"). By configuring the on-value-changed on the `CUSTOM_1`, the invalid value of `CUSTOM_2` can be cleared. +This is necessary for the example scenario below. The step property `CUSTOM_2`'s allowed values depends on step property `CUSTOM_1`'s value. First, the user selects "1" for `CUSTOM_1`, AND "1b" for `CUSTOM_2`. Then, the user edits `CUSTOM_1`'s value to "2". Step property `CUSTOM_2`'s value will become invalid as "1b" is not found in the new allowed values ("2a", "2b"). By configuring the on-value-changed in `CUSTOM_1`, the invalid value of `CUSTOM_2` can be cleared. ``` java .addStepProperty(stepPropertyBuilder -> stepPropertyBuilder @@ -382,9 +382,9 @@ Below are the actions that can be performed in on-value-changed handler. | Method | Description | |----------------------------|-----------------------------------------------------------------------------------------| | clearStepPropertyValue | Removes the value of a step property. | -| getChangedByStepPropertyId | Gets the step property ID that change this value. For chaining on-value-changed events. | +| getChangedByStepPropertyId | Gets the step property ID that changes this value. For chaining on-value-changed events. | | getStepPropertyValue | Gets the value of a step property. | -| setStepPropertyValue | Sets the value of a step property. Please take note, column chooser is not supported. | +| setStepPropertyValue | Sets the value of a step property. Please note that the column chooser is not supported. | Chaining on-value-changed event is supported. For example, when `STRING_3` is edited, it will update `NUMBER_4`'s value via on-value-changed handler. Then, `NUMBER_4` will fire it's on-value-changed event to update `BOOLEAN_5`. However, the same on-value-changed handler will not be triggered twice. @@ -418,7 +418,7 @@ Chaining on-value-changed event is supported. For example, when `STRING_3` is ed .build()) ``` -Sometimes, chaining on-value-changed events can be confusing, especially if a step property's value can be updated by multiple step properties. It might be hard to trace how a step property's value been set. On-value-changed event chaining cannot be turn off. However, there is a workaround using the `getChangedByStepPropertyId()` method. +Sometimes, chaining on-value-changed events can be confusing, especially if a step property's value can be updated by multiple step properties. It might be hard to trace how a step property's value has been set. On-value-changed event chaining cannot be turned off. However, there is a workaround using the `getChangedByStepPropertyId()` method. ``` java .addStepProperty(stepPropertyBuilder -> stepPropertyBuilder From e44b7025b7370e6624dcbf3252b3a677b206796d Mon Sep 17 00:00:00 2001 From: chungkhenhah <53897209+chungkhenhah@users.noreply.github.com> Date: Mon, 4 May 2020 10:15:36 +0800 Subject: [PATCH 28/28] Update with new icons --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d740434..08ab319 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ This repo contains the SDK JAR and a pre-configured Java project that uses Gradl | SDK version | Compatible Data Studio version | New features released | |--------------------------------------------------------------------------------------|--------------------------------|-----------------------| -| 2.2.0 | 2.0.11 (or newer) |
    • A new On value change handler for step properties. This will provide you with more control over the step properties in your custom step (e.g. you can reset the selection of subsequent step properties once the value in the preceding step property has changed).
    • A new Locale parameter. This will allow the users to select the "Language and region" settings when uploading a file with the custom parser. The parser will then be able to deserialize the file based on the selected setting.
    • SDK custom parser test framework. The SDK test framework has now been extended to cater for custom parser testing at component level as well.
    | +| 2.2.0 | 2.0.11 (or newer) |
    • A new On value change handler for step properties. This will provide you with more control over the step properties in your custom step (e.g. you can reset the selection of subsequent step properties once the value in the preceding step property has changed).
    • A new Locale parameter. This will allow the users to select the "Language and region" settings when uploading a file with the custom parser. The parser will then be able to deserialize the file based on the selected setting.
    • SDK custom parser test framework. The SDK test framework has now been extended to cater for custom parser testing at component level as well.
    • New custom icons added:
      • Dynamic Feed
      • Experian
    | | [2.1.1](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.1) | 2.0.9 (or newer) | New custom icons added:
    • Australia Post
    • Collibra
    • Dynamics365
    • Salesforce
    • Tableau
    | | [2.1.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.1.0) | 2.0.6 (or newer) |
    • Accessing Step Settings at the Step Configuration stage, so that API calls can be made using the credentials in the Step Settings to populate the Step Properties.
    • Password type field in Step Settings to ensure masking and encryption of sensitive information.
    • Custom Step Exception. Custom step developer can define error IDs and descriptions.
    | | [2.0.0](https://github.com/experiandataquality/aperture-data-studio-sdk/tree/v2.0.0) | 2.0.0 (or newer) ||