This repository was archived by the owner on May 29, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathextrinsics_test.go
More file actions
87 lines (75 loc) · 81.8 KB
/
extrinsics_test.go
File metadata and controls
87 lines (75 loc) · 81.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package scalecodec_test
import (
"encoding/json"
"fmt"
"github.com/freehere107/go-scale-codec"
"github.com/freehere107/go-scale-codec/source"
"github.com/freehere107/go-scale-codec/types"
"github.com/freehere107/go-scale-codec/utiles"
"io/ioutil"
"testing"
)
func TestExtrinsicDecoder_Init(t *testing.T) {
m := scalecodec.MetadataDecoder{}
m.Init(utiles.HexToBytes(Kusama1055))
_ = m.Process()
e := scalecodec.ExtrinsicDecoder{}
option := types.ScaleDecoderOption{Metadata: &m.Metadata}
e.Init(types.ScaleBytes{Data: utiles.HexToBytes("0x280402000b900b7aa47101")}, &option)
if utiles.BytesToHex(e.Data.Data) != "280402000b900b7aa47101" {
t.Errorf("Test TestExtrinsicDecoder_Init fail")
}
}
func TestExtrinsicDecoder(t *testing.T) {
m := scalecodec.MetadataDecoder{}
m.Init(utiles.HexToBytes(Kusama1055))
_ = m.Process()
e := scalecodec.ExtrinsicDecoder{}
option := types.ScaleDecoderOption{Metadata: &m.Metadata}
extrinsicRaw := "0x280402000b900b7aa47101"
e.Init(types.ScaleBytes{Data: utiles.HexToBytes(extrinsicRaw)}, &option)
e.Process()
b, _ := json.Marshal(e.Value)
r := `{"call_code":"0200","call_module":"Timestamp","call_module_function":"set","era":"","extrinsic_length":10,"nonce":0,"params":[{"name":"now","type":"Compact\u003cMoment\u003e","value":1587602394,"value_raw":"0b900b7aa47101"}],"tip":"0","version_info":"04"}`
if string(b) != r {
t.Errorf("Test TestExtrinsicDecoder Process fail, decode return %s", string(b))
}
// sign
extrinsicRaw = "0x39028430e078868ac70f8959c09deaa9a58880a0eaabb3c6145d042a54e13e70a7701801b0d317678364078aa289f8ec04851a7ae51d8c3a1dba7b121f62c56ae505b37208a1428fce37db2e9cf04f08a97569b0aada4185cb4ce92b5bc25e500dc49d83650010000400ee0b2c10108fe3d074ecd0f0bbef1aad46eaf865c0e00bd533878e1c14b5c0350700d0ed902e"
e.Init(types.ScaleBytes{Data: utiles.HexToBytes(extrinsicRaw)}, &option)
e.Process()
// sign
extrinsicRaw = "0xc95204061785033b003f003e00ac00d300e000f0001600a000a300c000f200ab00a400fd00a200b2001300f500f40062007c004b00430007004000810012002f005000c200b90018006b000600b000560097004600d100be001e00060149006e00e20060006f004a0024007d009c008300c9008800030131000c004d00f6005b00e8001b00e100d7007100e9004e0079009f00bd009600e6009100dd00d600ae0025007300e500da00bb00f300e400f800c10028002c00a90047005900cb00fc00c4004c00680089002100ce00ee006c00670041003900d8005f000501950051009e00040075002b0027000a005e009d00c8001d00610098005300dc002200d400a1000d002d008400fe00c500630008007600d5003c008b00cd005a00c70026001a005200b1002900b60014008c005c004800d9009400d0005d002e009300cc003d003200b700ff006d003700660054003a00fa00d200ca00bc001c00af0011000e00580070008700720044008600de008a009b0078008e008d00b500a5006a00ed000500ea00bf00340030001900020182004f007e00f9007b001000360009010900380092002a004200570099000a010000a800fb00eb0002006900c600ad008f0033007a0004010109cc0200000000ce0200000200d00200000400d10200000500d20200000600d30200000700d40200000800d50200000900d60200000a00d80200000c00d90200000d00da0200000e00dc0200001000dd0200001100de0200001200df0200001300e00200001400e20200001600e40200001800e50200001900e60200001a00e70200001b00e80200001c00e90200001d00ea0200001e00ed0200002100ee0200002200f00200002400f10200002500f20200002600f30200002700f40200002800f50200002900f60200002a00f70200002b00f80200002c00f90200002d00fa0200002e00fb0200002f00fc0200003000fd0200003100fe0200003200ff0200003300000300003400020300003600030300003700040300003800050300003900060300003a00070300003b00080300003c00090300003d000a0300003e000b0300003f000c03000040000d03000041000e03000042000f0300004300100300004400120300004600130300004700140300004800150300004900160300004a00170300004b00180300004c00190300004d001a0300004e001b0300004f001c03000050001d03000051001e03000052001f0300005300200300005400220300005600230300005700240300005800250300005900260300005a00270300005b00280300005c00290300005d002a0300005e002b0300005f002c03000060002d03000061002e03000062002f0300006300320300006600330300006700340300006800350300006900360300006a00370300006b00380300006c00390300006d003a0300006e003b0300006f003c03000070003d03000071003e03000072003f0300007300410300007500420300007600440300007800450300007900460300007a00470300007b00480300007c00490300007d004a0300007e004d03000081004e03000082004f0300008300500300008400520300008600530300008700540300008800550300008900560300008a00570300008b00580300008c00590300008d005a0300008e005b0300008f005d03000091005e03000092005f0300009300600300009400610300009500620300009600630300009700640300009800650300009900670300009b00680300009c00690300009d006a0300009e006b0300009f006c030000a0006d030000a1006e030000a2006f030000a30070030000a40071030000a50074030000a80075030000a90077030000ab0078030000ac0079030000ad007a030000ae007b030000af007c030000b0007d030000b1007e030000b20081030000b50082030000b60083030000b70085030000b90087030000bb0088030000bc0089030000bd008a030000be008b030000bf008c030000c0008d030000c1008e030000c20090030000c40091030000c50092030000c60093030000c70094030000c80095030000c90096030000ca0097030000cb0098030000cc0099030000cd009a030000ce009c030000d0009d030000d1009e030000d2009f030000d300a0030000d400a1030000d500a2030000d600a3030000d700a4030000d800a5030000d900a6030000da00a8030000dc00a9030000dd00aa030000de00ac030000e000ad030000e100ae030000e200b0030000e400b1030000e500b2030000e600b4030000e800b5030000e900b6030000ea00b7030000eb00b9030000ed00ba030000ee00bc030000f000be030000f200bf030000f300c0030000f400c1030000f500c2030000f600c4030000f800c5030000f900c6030000fa00c7030000fb00c8030000fc00c9030000fd00ca030000fe00cb030000ff00ce0300000201cf0300000301d00300000401d10300000501d20300000601d50300000901d60300000a0101000000e400020000005d0004000000730007000000dc00080000000a000a000000c9000c0000009d000d000000fe000e0000003e0010000000f60011000000d00012000000080013000000240014000000f400150000004a001600000005011900000012001c0000006c001d000000c8001e0000003e001f0000003b00210000009700220000005400240000009d002b00000056002c000000d0002e000000240032000000f200360000005f00370000003e003800000098003d000000f60041000000160043000000120047000000e2004800000096004b000000f0004c00000018004e0000006c004f000000240051000000140052000000400053000000ac0054000000f90055000000be00580000009d005a0000005d005b0000005c005d000000120060000000940061000000e20064000000fd0066000000240069000000bd006a000000a1006b00000054006d00000058006e0000003e0071000000dc0072000000b00074000000510075000000ae007a00000054007b000000d9007c000000be007d0000005a007e0000003e007f0000005f0080000000cd0081000000f60083000000c40084000000fd0085000000fc00880000006c008a00000024008c000000e0008e00000031008f000000ce0090000000ac009500000097009900000024009a00000037009b0000003400a20000006d00a50000006200a7000000fd00a8000000f600a90000005400aa0000001b00ab0000009700ad0000003e00ae0000009e00b00000009e00b10000008400b2000000c900b4000000bd00b60000002c00b7000000fc00c0000000c400c2000000d100c4000000ab00c5000000d000c70000009100c80000001200cb0000003100cd0000004000cf000000fd00d0000000f600d4000000b700d6000000b900d70000004e00d9000000c500dc0000001600e00000005900e30000004a00e4000000e500e70000002100e8000000be00e9000000c400ef0000009e00f00000000700f30000006d00f40000003b00f5000000c000f60000009700f7000000fc00fa000000c500fb000000f600fc0000006700000100004d0002010000f900030100001c000401000004000701000046000b0100009d000d010000d50010010000fd00110100006e00120100009e00130100001200170100000a001801000024001a010000f6001b01000056001d01000012001e0100002c001f0100001c002301000050002501000012002c010000f6002e01000006012f010000dc0031010000460034010000540035010000c0003801000058003a01000054003d010000be0040010000d00041010000440042010000960043010000240045010000e600470100003e004e010000ae004f010000c50050010000fc00510100004a0052010000390053010000760054010000c000550100004d0056010000c500570100002f0058010000780059010000d3005b01000097005f010000c500620100002400630100009d0064010000dd0065010000fd006601000026006701000016006a0100003e006b0100003e006c010000eb006f0100003e00700100006e00720100006c00750100006c007f010000b70080010000fe00820100005d00840100009e0087010000bb00890100006e008a010000cb008b0100009c008d010000e9008e0100003e008f010000be00940100002400950100003e009901000006009b0100009e009d0100009e009f0100002d00a0010000a100a40100006f00a70100000501a90100009500ac0100000501ad0100005900ae010000dc00b00100005400b30100003e00b70100006100b90100005900bb010000dc00bd010000d000be010000a200c00100009700c1010000e600c40100008c00c5010000dc00c7010000b600c90100006800cb0100003e00cd010000bd00cf010000b700d30100002400d50100003e00d80100002400d90100009c00da0100006e00dc010000f600e10100005d00e4010000e400e90100003b00ec0100006100ee010000b200ef0100009500f0010000d400f10100002600f20100001a00f30100001200f40100009400f60100009d00f70100009e00fc010000d000fe0100006e00010200006200020200002400050200006b0007020000d50008020000940010020000dd00110200009600120200001d00160200003e0019020000e2001a02000014001d02000012001f0200009e0020020000e20021020000e000230200006b002502000083002902000095002d02000012002e020000a1002f020000b70034020000970038020000c7003902000024003a020000f6003c020000f6003d020000b7003e020000b7003f020000840041020000c500420200001200430200000800450200005e00460200009e0047020000ed004b020000b2004c020000a2004f0200000a0050020000240055020000c50057020000540058020000240059020000c5005a02000005015b0200003c005e020000d8005f0200001400600200005f0061020000540062020000d900650200003e0066020000400067020000c7006902000098006e02000037006f020000bc00720200003e00740200004000750200009e0077020000120079020000da007b0200005f007c020000bd007d0200009c007e020000fd0081020000240082020000130084020000fc0087020000830088020000a100890200000501900200005900920200004000970200000800990200009e009b020000f6009c02000094009e02000024009f0200005900a20200000400a30200003b00a60200006c00a70200009d00a90200005000ab0200006e00af0200005400b30200002400b4020000f300b50200001200b60200008300b90200009700ba020000e800bb0200006c00c00200002400c10200006c00c50200001200c8020000e600c90200001100ca0200001600ac390000006100b4a946003b000000cc009a950a0050000000480092783a0057000000ae00c68e510065000000ea00abfff9006f0000008b0026ac5e00730000009c008e5a260077000000c100a87f52007800000003015e5b070082000000600073d62c008700000075005299a000940000004700849bf2009f000000ed003a61de00bb000000620041ec9100d50000006800232ed500f9000000a50068bd3a00ff000000d60019adc500050100005e00d3d92f000c01000096001e329e000f010000ce0025811e002b0100006f007b703b00320100009d002d6bc0004a010000cb00a9a5c0005d0100000201c95ebc0069010000490054d39b0083010000bf0078f74d00970100004700001ca400a30100001100cb5b9400a50100009300a6c7fa00a6010000300076e33200c2010000c0008b863900d10100005f00efc6dd00e6010000b200f796ee00ed010000f6008b956e00fa0100002200f3d35e000d0200002c00b5712600150200004d001175d00030020000a100fa876d005d020000a000814b6b00640200008b00bd7ce5008502000076005d702c008f020000c900d1d32f00a50200008400498191003c3a000000b90062690301b9713b004d000000d100d4437d00ef9ad800ca000000fd003ebd4c006c100a00ea00000021009a58de00e3773a00ed0000008c0098bdc200861fc1000a0100005800b2197b00fb721900290100005b00a19ee900c13cdd009001000098005a4c28006d5e670091010000d300b642da002664d800b40100009400ec48b0001c2e1a00cc0100008700492fd4002d3d3700960200003200d5bef600412e4000be0200003c00066689005968d100c6020000f90058a36a00f20cbc00cb02000076006ec96e00472aa30034ac0000000000152502005ed6050034000900ec000000fc0081398300b14adc001a55a2001c0100006a001e4d7e00b33c4f006e3d82007701000031006a48be009d308c00bf3d040081010000ff009151af00925129009151b200a101000087007583760005135d00f6028e00a8010000fe000d209f00295c1800314c2700b801000062006725e4004c73c000c80c4d00d00100000d003e47bb003b444c00be4af2004e0200006e0077651200b9588300ff0cf8005c0200002200ec25f0006e4b4300e652c4008b020000e200832b6300869a5100c408b20093020000c500e1506200fc0f47004e5eb0001803000000c200ff32410040334e003c3353004033b100060000001d00463b43008b1e060155481300bd493b00140100001c002127d400dd4958009f1ab700cd2bfa003b010000b000812e1e008722710040480800962f95008c0100001100b5240201f31634007d3bb50002490500e0010000b6001d102b0096367c007b3ed700514c210018da0000009b00ea397300655744005b2e78005c2654003f0d5c00f80000006200ed26e000b5176b009e14e800a54ae600334f6000300100002500c42fa900c22fac00592c7900c02f88005e2f490048010000f300640cee00cb3b4a000c304b00bf36e1007e3ad3007c010000a300192e5600b42e8100b82e1b00cc2ef5004c2e490006020000dd0097200700a340ab00c46e1600d60c4600eb0af40004fe000000fd00d207f3001f383e00da242400f51dbd00a82b6c00dc36970004910200009500a40cb600ed302700a711d9001e4050000d48f000ba1f9800cd07be000000085900000066005b172f00f01d0e005b172d00dc0f70005a1772005a1786005a178a005a173d005a17ca0059172e003e010000c800020e0c003d223f00302306001d116800931e9600511a1400cc18a1006e0ac700231d05014b02f80000000000001beab9a3ce0000000000000000000000c9d6650d1fd62e310000000000000000c54b85db547a2f52a47bb9a03a091300d4020000"
e.Init(types.ScaleBytes{Data: utiles.HexToBytes(extrinsicRaw)}, &option)
e.Process()
// BatchExtrinsic
// sign
extrinsicRaw = "0x010584ea48da4f864d52cf6e30ac227f0df46a24be812c1442e01a9e08b979d52a242a01c8a341f77b30e95ebbf4070730aadb555040d3b0e0fab366f5b5e23f6be76c6dee1d679150183e15caae4159af80dc5b529b99a48b8e0fb72d30aee748413c8f9502300018001406109602000004b6a59e01dad355860b38f20ebfea6547a233a7e0c5df700884895140cfa69e610c00000006109702000004b6a59e01dad355860b38f20ebfea6547a233a7e0c5df700884895140cfa69e610c00000006109802000004b6a59e01dad355860b38f20ebfea6547a233a7e0c5df700884895140cfa69e610c00000006109902000004b6a59e01dad355860b38f20ebfea6547a233a7e0c5df700884895140cfa69e610c00000006109a02000004b6a59e01dad355860b38f20ebfea6547a233a7e0c5df700884895140cfa69e613f000000"
e.Init(types.ScaleBytes{Data: utiles.HexToBytes(extrinsicRaw)}, &option)
e.Process()
}
func TestEdgDecoder(t *testing.T) {
m := scalecodec.MetadataDecoder{}
m.Init(utiles.HexToBytes(Edg))
_ = m.Process()
e := scalecodec.ExtrinsicDecoder{}
option := types.ScaleDecoderOption{Metadata: &m.Metadata}
extrinsicRaw := "0x750284ff3cb12bf2311ed6db2d8f082cc950b124c4d16cd9cfeb800dba814614e778d91300a087129729b0b4bd4274c14ee788d150ceb990e6616cdc31d93500f623e6b447eb867fc616de95817b02eda783bc619c730b6935c611226e84edc5ea3434650e290144130000d9e9ac2d78030500ff659a5d7315e6f5b9e1578f40b1971ff71d8a696de6ef71012de23e98baf54ad01b0000ad9b476c3074eb27"
e.Init(types.ScaleBytes{Data: utiles.HexToBytes(extrinsicRaw)}, &option)
e.Process()
}
func TestPlasmExtrinsicDecoder(t *testing.T) {
m := scalecodec.MetadataDecoder{}
m.Init(utiles.HexToBytes(Crab2))
_ = m.Process()
c, err := ioutil.ReadFile(fmt.Sprintf("%s.json", "source/crab"))
if err != nil {
panic(err)
}
types.RegCustomTypes(source.LoadTypeRegistry(c))
e := scalecodec.ExtrinsicDecoder{}
option := types.ScaleDecoderOption{Metadata: &m.Metadata}
extrinsicRaw := "0xd61c020084b62d88e3f439fe9b5ea799b27bf7c6db5e795de1784f27b1bc051553499e420f0118d5135dd3a33b11e134dfe6e4f5719a252e4bedb06ebe67123a49f74cfe84702405293d71af74991839f45d86d19435947c32b470731a25ae66e04fe1642786850118001900912e313b310c2bfe1bf0889aaea95f4d70a48e31ce617ae35b5ab189affd2ce44ec8a85e000000007b0a980000000000829bd824b016326a401d083b33d092293333a830fb5a9e8944ed036f6f0c169472c5b88f0dec77cfc3ae12c07e1b0c6ca4fc3d491dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347607070796520e4b883e5bda9e7a59ee4bb99e9b1bcbb249e98b2230bf5c223669791eddb0348a070e3fc088acb3ddedd9001dcbacf06d1717711dd1b514308ba9d12a75c6a0a785e25be6b65fc21332682c3f3d7371e2bab04084a11200130200824848800600042000282080014900010200723101011000820104c102008000810600000020041011010945c42000808004012801030040800012000900044219100d10e2400a4840900000200200402800000884000900074000001020010010001c100000498400c4000a00a42200108b02214b03070000020800700401010640002906200401000010d080182000040505002083000130250201040244000020420920083800100080005a0422a2200000088004003000c491842000000004418002400000820000442420208800840900000105020080014241100109018800021104018e006000900b0000005a4c00032200440000c05253700000000000000000000000000000000000000000000000000000000001e53980000000000000000000000000000000000000000000000000000000000364ef678adc307000000000000000000000000000000000000000000000000000884a0eb20c32d420fbfa5216c2a1966cc8b4ff6a069cdc63cc4eee9bd72eda335e5bf248816be29e804403ffd01a9f234777acf9a7fcc3975d8e096c697bc5b633f49820a6aa68afeecdfd3611e010148a0f225351efcaec497d90f98dc0d30f671f6825de7e59fd40bbf1d73498c0df4815990fb9ec3f2c3b6f46760e13c2694a4aeba0f5a1eea53b21de15aab2c203ebf4840ed15f48aa42332b5eb39dc86ea9e3c1f6da882a423b3ac52ccabd65779dace5375c22a88ea471bc1b519c616b8112b7204e097798aa1923a6460b4426477b63a49ddb028c3d751d0dfc43b3356b8f7ccbf8450fd5641249d444181dfade82cd536390f98f6233713bdee63f7dff35a3fd8c77a96772c5d7c226afbd8f42a818cf479c1e160e3698d28298de7226575cc625e0e2440b84d68a9b309b5e6659db95deb179786f0eddf11f06ee2400ee27fa209363f48907d23573eaae45a8e689c1b4d322a027a6656b5c04949970ad7434ab0a3743398adbe7a195901ca5e0fa2b9ee71183d22df96d3b66d38ec219bbd7ed76e3335ad9579a1f957e899c50dd0a8f557f3aebbad04c2a3e6eba90942286c67c562810a7e307d31998668d3ff2fa8e1f95f9dbfe7fd58a934894bae0ee11af4e62d1fb871ac3ed8f8b66b03d81c661e99ed572911d6836cb7c5838f8d723b770bb636d0a310038fec950cad75aeb914f0938df5fcb4fd69372e62a7987bed523b05314974ff2a19d186ffd768606cc5dc15490caec5adca902be2cb1d3f2ad166886a2a5e8c687be9c85c4d9dedc63da45fc05289ca9d20eac24706630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d5e70f63265ae110417fa3774176b42e01de88652447ce19dc40c57c8072d1442b257f9bdd73f1ab01e4e85fea97be9d293d85ce24bef5888c2ac38f5c61561d662f5e53b1a2753b36438919b8e214378199227d1f352e3f7c8e18b5e368d66e0a9e846b97d85a72407e6bb37fc9910d022de9c381a04715af2a3889591a1aadd6412a613e384c909eb4b74194d6fe0ea2dd40e638d6043489ccd989690f375af606c88ca1297981c1282b6c87cd45ab8d5f5feeca3cc16d67589f6cad1135b61050d85d22e2db67d0172e41bcdcc7e698b734d139a15986c4e30cd2d347e3177e1eaf8c9c210f80039f8081bc0aec30373671299d750292814da815ddf434b50c9a4cbacf9adbdb7479da28c2f431afe40cbd05e54f4cb395de653f65ecec278b26ad2fa92abc49c4b8f81096341bc43456e5dfae012f1b8a9a7a0d1e1b28c3690035897cdeea34e83d513445ce707c3bedb4195b42de1d4df9a5597a241bc3a7cf08a8b7e0624bb9e2a3334113340c2866638445d72aec14d601f151b97be4f1bf400b91b0ad0cc7122ec57d1b2163d9819071b48e1642271df6f9afbda8f6fec1a7b604e3f8ff263bcd14e45115e4a09c278a05b3a074c44cd807093a23f10ecf9296654d818129904bb7c6f2469aace5250f63346b09887b6e12a692921785538fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fee0bc816e8240858decfc4a91963090bff0d35692812c6f27e6e72f6956d98a30380b68d0b6e7a7ef9436c07bf1ab5c97e4dad4cefddfc5cb1d989678cd48e7629e576891e93e661ad34f42fb142512613b2188819b49819cf34e66aab55a7e6e9ec38cf95ecf1bcc2bf410a26a4637a8a2220ba502d1b98617640f3e8a035dd1646f1eebafa22935ae44df8dea2a4612b9700c198e9705d2f6a6f733c3cc6cb7e392d0424b52bc64fbb791ad06a25225895d51b2d47b93c8052fcf73038c401d42ad5c4c49a6237b83453b02a5d2db1fff2db74947f6249905015bd6e6af1623e18b1c2ef593a26b9da67a546cc17b88a3768461cf9e644c0f1ec0cfdf21537f8c9794783833006c5f1d3d3ba7c9f98a60bd3195b5a13a7065be8cde493db1da7dfbab46f5adf206201ab6436d9d0100719d7665acc3e603fd73186128a1f702c3942d16e1ba1493dd3a6b444f3801ff755ac259c00163e7594f6299b6d46cadca56d6d4420396f47658f618b1bac5ceb6501ad9f6e0010d192f65b7abef8eaa9560e7f599fea1bae92ba1d03219dc13e69306c6806ff83b03448dd4f2bb4f37eac24fae8d4b716a9e42ca8eccb0fdc9eebf6aaf53717e034bdd975df19c59ea776d9aaf567a4077a92ad38fda4cc30add960b00bf88825ceeba9dbc9e819fba10b172fda155b4c3e0c965d426c7cc3d8fa4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d87e79c657a8260583ce2e43ec2a4b6bf1c8fb2e6af7fd949235f422d875a71b58ba60f43e68961a689de200db795e6bf867d0cb6864a39ff6c34169893cb1c04effe00ffe2c219041d24e86b39e620f104d3440624543c6a127cf5a46886f929b44fc39ade26d823779a326bcf6ef3ae564cb2b02570e3786368678080ca747a64658593f8a6ef922fc4f7b56d8395f265a6af9812340ec7df09015f28d8fb1eb568b5fad3a86a3380b78957f4c905fa2d17fa4145460ca1860bbc93b093f6f032265b0ad595049a93c7be471164fd3ffd14062023c28c4ba8faf6422e050d3a0ddcb31a27e0013bc1209244f633924742689e10ae59997e940da47a0977e69959baf244e3bb251c11ffb614e40d698062dca6848cb43ff721907be2c29bb9570acd410b5a56f2ded688970ba15a1806ca33244c5b0f79a91c607174749da10000ef473fc723821bef4e18fd868047d3c58f75fbcacaef0eb564194b7a6163e80ccd930e43219cef8dd586392e937533a08401429b5abc3f5c76a9a2b7fc4239b8ca32207330a31768a061757fbace8db07c72307f3dfab16506bdcec5b2817c160b616b520b090465a0099659f34f2816c7f9c97b4b5ef770d3c923fb956666e1e3e411fedbfd01c4949ed32497bebcef4e236df0aec1db8d62c76643610b58897aa19d5c1cbfa6fe593a11a872d623bc2f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fe1158625d0095de84b2952abff71097bb765e434710c0158167279298d0ade640cf2a774f5a0488e034b7e13eac724578fe1652058500715f24b4e2889a91bdf7db6b5dca89fd4e451078d43f9e88822f2f34f8e78277e73ca103901c1135d89806a22c09b90dfccc53ab5fedc6834e7630d5885e42b8d5c91ac0bad38d7d530364a2a733c45a247e6ac4be22515a05a15435725c08d3d02b914ba1d3373e5c69d3873237c055b53193343a2abb1aeee4ddb331989d9d2a294c6af4266eebbc2bcfde2a00e85a27ca2a1c760a9b4aefcc3d2c4aa20402d6560d3266760515a3fa4815ac0e9b8f1b305c11a2cd2a3d3943d12ae20415b276ea2d184feabb9ce1774e3184a8a09992df33422c5ba391dafd8ae0dd26933158ed804ec02d9340c3fa605adf22f7a78156abd2feebc1f0b962744b314e07e2ea769f4f10909f6ed604045e753ca5fe48aa84254a0fc5f07afe7142fd92da0c07f9fc9d2055e5705bafa9ca2d7a12cb6da923116dac79b9e8f1bdff7f241fc8aace3b06077a25ba3448fe9a9239b8b431d6c40fe36160fbb018e87ec8484aa766eb249af8a8a7e6f5a3e1b4886e0745c084536c99a9d2e489b32504be0e10a94879b93af303b277253a6596acc1d2fb87b3268c0689f6869b7aad637256df196386f31a5277e8b58a6cb9fcab7eccfd204a7328f3c3f2c92e90312f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22feadc46148124dd75f8dba91f061dbb67774f8cd4ca6f2cbcea45622e1071f3b060fa7384b25f036f018c6f76aba38580fe7b3154b6a007ac9cb556ad8e8a094f8f4719402c8645d369e9a0a13135a52c98db78e37a52c6160256bc3f5f3f91515bba3096aeb068a6dabf8cb99272e20d8234fae8e6f0ec20c605fbf08d493176264c84c3f12c000269ed15671b28a9863c69fc5a667427431bb9d1ee18648b710cc02dca2ab2edc8c0335263d311fed91b1f1960a97ee29c3fc4d5b73e8995a90374539c8361cda3fde6d9d3d8d2aed79d70ad131d78cd2c919ebbdf666650b5515254e643c8da7f86a69a4e093ce487661e5b55130bf0d16d3a1dbcaec02ea8cb8a1d4946358a78fc1cda4a37e3a79a8509ac236a938aa7f8a9b66a1f1fe85274cdf6a525875008de43d40c67e12476a0ae4db6c7994a01e9d1b2657e3f85d9e779cb7de7d2e54228b98a398915ea04c74474a9a24424ded47a56487e7718fe3dfede2a2dce9d233df627f18dbc5adc4c057cef785a9120da9ecc3e336f87e4cb7bd4af68ba9c1aa014a4a117f157b9479ce1e9875ecd83b784d671b3d5488f9a5ee481b85012ce5aa7649e451025134fdd4a970f3a6ce81115bfcfec4f8bde3eda983b9be881b47f5385c427233c468f5399df381ef126f4719c73d8f5686ab4738fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fe4ed89badc528d5f1c1ee6690451b89f5091c8bf484d2ecb4cd2266c594083bb9ac4480549e5f966af7fbe138164ac28a667ef18d12f7c025c454ef2602440ccd5698724e559574f12346570ffa73d622a21b3024da9a9807a7a00bc7bf70fc5ca616da63c5e72d5dcd5178c081c8957e2fe449c23d7ebcf156925ec002495808649c9b7205b234dc48133c69a7f3b555cb1fcf8eae5ca0a26fb9e8154431d3c5058028328b307d3a5c8a2b01e6a49242b3a713c6131446f33436d4ebf48009309b2b9d2fda59f12f9f50372763d1b881019c04d6680534181956f68d39817cc89d0879007d10c83a6dd053aa459926ab159558923ce202f92c065ca524dc2e98673156378e9f4ab9ff423138a83d4834fee529eca122864f08da733c31bd8824ff1950a5e8931338a1868fcc80ac8d8bebd5ff808a16cbe2e40df38b8750751f6c3a0a0f2bb4e950ee512f31b5699c4da91f1716b85e73993fe5ce8dfad5b974905c4d6749eddb977c8432b9642188d8f727bc9e1fb0e847b4946815de416b1e6593c05560713d537dc2c3b4e9b81ff95ff787f3c8c3dc81236cb55e7e536f7ec762ae58989d647f98166cec40d791bd8db040cb0bbfc215449209bd3d6871b09bbbdc10ddb79cf75ccf1b587449d4d66b57e00a026704ee39b11ee9621e8a63177aa19d5c1cbfa6fe593a11a872d623bc2f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fef0fb5af9d15e2501a5001c7413df836ad96bd98f6bd7d65b04b6e3a0830105b521139e1cebf0b6366cc60e8c49ad08eaf62fec492ff7ecf4b0f89a45911708c51c3313cb539104a9e143769adf0be6ee4b80ed698ab3402309a82811c25c9e89efbf0a01d6bfe36ea1a87840125aafb20833da45224aba4888b3eafbc5da492964c16107b8f210f8d9fd5794dce50ec31cd65a25e2a376699c43bf09d276ea1ae96c16a4b3e3ed0809ebe324ffe8e1cb466188df38e32e613be6458248a69260a7ed5466085e7b2c83cb01277baee7ff5ebdd57d1a229d2b934abf3fe7ea905110f458281733b4db59ec30a0ced2ca523f20bd8058cc389659f12db294d7bdced256214a6c03278c688fdb508d9eab4e9abed5699348c7d547e4612a49bab29cac9fc233aaf211f395ba43de04ca01c5bdd9866b73631cab1502dcaf8e664fd7aa625308275510b92ff5b6f391c759f6c964f78bee12eb31d08de6befd2167733185056592e67a5a519da3db2c4cd81551405fd972b76851a9fcbc7aba1b974f90357b9705bb0aecfe56bf14cbfee5bc1f552816da505257a7deab4bf3dbdbbe6f0b4ceb6715eb1bd83a933967f1b8418c7edab42bfe2dd94183c99865b0ed8b720599a2b959f4db0ea03405696d1a542d399df381ef126f4719c73d8f5686ab4738fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fed58dcc3e7af648554be0d64c4528bee41ef0c65ed8e0f86c900d4549b33aebec4cd05f65513307ffd79e84cbbc6ec0f3df3fa0b56a7fafd92ba240c336b8ee27711e21eed80482b3df3b688f32138be72f2f89fcbac00a986de5a4bc041179f143c4649ae7d139b3dec68da7c0eef573b00e897ffdbafc7b10761d1f5c292d1f64002fbbcb1c33a45ecf95ec5432987ff874033502c7fd5870b26fe0c9fd2053790803589ea52ac44e10e2714442a59b73ccf8dff7deacb6f7abc729daacdd66f06d87f0c06aab591bc26347552e5887499ff3d4ad5eec8ac5302dda313f7006a8c348dcd380fd5c1b4b66ed6d84c99edafe4f875c1fee9a4949c5c0252b309e425ec805dd458c4b1f1015050e97e8c5d29d16398d5ab5ad9449f55d6255d84fe2e81b43fd32db04f09e564786358f77df689b63da637970c3ae9ca61eec17462ce2462ee23f79541441de1dedf4bb36d4d97a56367ae8aaffe996e0f95193618ceac3952eb0339bc048d67bf47ec2c2e6f21fdbde8fcbd659c5eccbf35a9ddcac409ad42033beb838c20cbe6cda9553c2731c91b96e9a8c769597ac554c80ef641cb0dede12d5e2dae0bb6811fb447e6eb6350f03ad409377661db11c02419beda983b9be881b47f5385c427233c468f5399df381ef126f4719c73d8f5686ab4738fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fe7be51a99dd951fdb96e01cc0e2950f65be1f7cee5425a9874645bfc305d26b2029cbd7a1d2c12d199170efd2c02a9821abc43a4dd381187743563a85683be2d4abef3003334d6df510949625a7f33b33d6254a4da2beee4a68f2d8badf6698d03c3be80da09f7a1d96d4de495bd379781bea303233e4be44321a2df4d9a2a86364fc33d6986efefcd1426d3919dba00394a40591ec2b14d78624ae13bda2cb6cf1aaf1b25e452ef29f2fc08ba63d72898b06e8a7d852aed2d627a7d840bd90afa346c1e8f14e05678dff17dbe927bf085a5efc85bf797c403b010731af07e10aa0b48fede56a7cc4ee27916eb2d94db69bb93bf7f6ada6eaa2c84d9bfd4386ef72e0ae364e64158d99a70b554e452f3b54121b9836c219786d30b0778c8ade1447c8ae2ba9e52a3b63f84366165f4dca2b109c050ed884be5dcfe15d3f9fa70591cdf4117e93cc4b44651725192ba632625edb2cc14bd2d82e6e88c7e5174518c3e14ae7090b6a2707dbc3a8dbc3c9d17b7d817236fcc69b66c61e012d1fdfb7dc3495c7afc6f2ae93a433290d7cbf5e441e2ebdb3873e4107b67e1b7969b723d52b11b3b027d9ab38a4e640aca8f4c9fe8867de6d88da1c2d6ca50b12c354fa564cb540ee2d9e49ec569af9cdc02b2866fb44ad2ee2a93d92aeefb41644825b51cbcb628aab591846a06dcecc961dbf8a06630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3db81eba8098e1b5164d6e72bed11e93c87420e007c735e7875ef61d16ee180905ab1131491137218956aec81da183621993dccb6025c40edb4b1d88db634c86b064e56ff449ba572580f4e03bcfeadb2d868b4f42ac417e527f5b20a893b259bd380e0dc0aa90622362c1b88c1139968a64c5b52329fdd919652a07cb336048126462ce178c61285bfa90ce0763542b161771e1c825c9dfbad60078531af9ae6bc683db154d61cee5882bf831cc7e038a9596bc106137fdea52596cc6a575e4e054f54ab8cb2c1c55b00dec687520b42548f206a35ceec0fad4d2d9448df8544074ec34f45ecaa6279ce80f2e1d44445dfe3f2fed038a526e3f57d08c540c58ae5e908b31b55f47b5814336ef04325dac5b7c7570c4441cd1a59f3598dec47bdb4ecdc7f5da6c051dc80443e3e9e4cf547ecc27566e9d7150211955a7c74c02a3a2408cc92ad653115ef7edf4c0f27ba16732940d7651ac99a09b5758bab2ffb6ddd744cfd3873a509a9abb80eb238c5508b46b84dda4b1ace9b3c3474ffdaab760d6ac4e4190279c7f308014c094401f01758fb5dd61a2df43f14c5cd8276264feb793565e4c47d1ce77d60502756f515e1216fdcbb7e1fbd8bdfb6137ede2f57ed0db0a310622527fe6ebfa4ecde0ece65c55eb142088516f9d557a86d353479f5acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3dece82eab28161105330d5e57fe7f8acb966b8f21a3cf4202e72b0193dac137419d3a2b4ad818ffd0f5cb60f5cfdecc860afddf8bbd866f39a1408202ddd244710235b729a1ec208e9114d0e0ef2b8924f1efa8832be0f6a956d21fbde2a81a902ebcd4a61095d206a27d97d2e124dc94d56db1c20db90967b6a6d539a0708410641079dce4121ca580a8f7b2af54e68cf55e675e073b847e3f4cccc77b6898da30428772bf45d6ca34d0febfd0602672d98578144d5d8f3884852894afd637520e94a1d3e1451245dd01c9fc2d2c7398c0233a5b0559a542d76024aa9f22afe43c194569d3b2557009c9e446c2f161cba25bd01a1ed8053f4007354575a1ec5bcb2e38c03f9b71db8b703f8fc2332fae297c30b3c9855067d32848732029a670330a2f30b0e928fb5a9d716abd65c1a49cf1408b6ad5dd58e3b2d4969f3131c529ca4d57d3d1fe8d79d654b588f913603c3f77294d947e8cb387cd0e83db663529a260f2b1311ed777ba26d9608de5e64967f589b3a7f8e24868b43fe8c8550e7b096fe2ecd2e5bf71687c391971dc4cbb0e86ae50379efb318f7fed1ae79fd6cf4a8cd219fb6d15e67bb3619dcc1ef8dd5ebed9201f05fb8e2f52e35510df066439b3142f636b086141fd92a046cb50575c55eb142088516f9d557a86d353479f5acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d16048ac3583dbb21e0979c2a751dbfa9f2bdabbdab6c6634bf4260899821ae5488772db02c8f34eacc8139bf094eea43bdcc86726123794c13824a35e112a731d5a2eed09291e8f81e37f6e39f32684d1e237f8cb0ad0d6d275e6975e3a0fd47c07d048bad616065b189c402cd9f99b63e55e7865213362c67ab0f0a914fdd36645840c189a3d84336d94fa8ef96434678271dbacc25bc807154362ba3093b453da6f1a7e68f23dbf15354f6d5115409d67fae9f8e1b5d9424a941916bfc4ad2575f35f7638772083e59896e5fb9916ae6ea541a20d3af3a951ba50d710ab4779426dbf3e9a3b9eb07aec9a9d11a3443449c164bf670200a0d390dfd11ecd1da0a04ba4de636b24770244f89fe83e3626bb928bfb4a2c5712882cfd5e1355c87e223467c0784e3385c9c2596543c87cf763466660ca3ebd08abb934075f51d59b458ad07824fed115fe4272b5ae0a8483e0dade7bc9f962e0f46ddaf25c7afee0592e48af3c4a0c61cdd744125031e7681030c3ae1bbcb9a10c808cf0e48e27d2786593da8f6b64558f77757407af02f393590270cbc919571c3eb1c9f2f88aa8bf6e9caf1dbde5582e6b88561bd15f7f204be0e10a94879b93af303b277253a6596acc1d2fb87b3268c0689f6869b7aad637256df196386f31a5277e8b58a6cb9fcab7eccfd204a7328f3c3f2c92e90312f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fe2a4320a48cc60dbe04dbdf68f715fbfa211d0cf7cd4da76f0dd363db654fb5fe7965b4bde8ec36c0172666ecb1b0453dff99eaeaf0867281a4eb87e191fca165efdbf37e7c4c01f79b257caa3c81611fb6def06071a2067ddfd4cd02d46f8fd94344df50b07bbf17d078a91c26779405678b8951a1e4e9a9d141ff8fd5333ecb64cc57861b474613b4115b2c116788fe1f20381ddb0a0d55fc8ad9897cd946b99acbea72be73ef8dc3b6c31dada8efdc493208c2f837a356eca904fb859033a0b9a51a8317e987ac034fb197102800c602523872996397cdcb3b95e15eb3780ba5f404ac50aed4933530128c324dfa2b1f7d1cfe42fc4fe6a71d068c816329c3f0c0715c975405e335efd332d5b4df797bd44e84da45e29b9fda023e8dbb3a1431878ca1a37191e72901c8499fe2739e895d3af6c84f19b67c5a41486ee7edb481c3b49c3a9f8697dd6befd60b770793f883c9484b67c273a641f4116c27f6c6c0ce4cab4e730392e50473e04ce64e78e1695dd805d4727372e5634b16b4dc644c6eafc4c1134b76b669cab976085aa6fb54c22897ea8058498ed90689e8f6704941650108580af73e0324e677d6ab8a4d40c8a8b0c8bdc0a59af0e9fe1b2e59ef84b5ae6d7b6ffd0e08c6548f19ff4d74df71665756ffe51f39cfa3566f6736a7b172fda155b4c3e0c965d426c7cc3d8fa4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d8510525d602a18529cc9f0b85045f339279af70e0b2da5053787f983a1e37eb0444d66359c9b01bc59011f11e74b8fd047fa51324b92eb1e11c1aa851817b27b2622ed071f686fa2a826462f26180e0c0bc238712fbafb9d28aadb8b9c432320e9ce98ed73f4d620fde16e59cbe12b10180da52444a404ef082a9b3c42fd4437642a5dc02e0f46e33097029740b8e80640387b6020b8737bfbec9a6aa4fb44a286ccd5a3c9b3b8a38005bca2388d1e54cc7d89d5050bfca5364d25a8b0ff2b7b77a08b45fc5cf4ff674a5a6aa2fb1ea52d476484311a3b0fd45e7b7d5e01a1c927889283fea65147e3581177293e051588683f7f0e7e429bf90ee6ce4de2294500234733cf4260aac10fdf887d8f6a00569c44afc5e4f5ea5c8fb9e4b0fc6bdfe842a57e598518575bf46b1cfd7fbd6e24d6158c1e2aa88d3f3921453f5dbe168dc580cfb8baf6877797cdf8e4bd91bf6d5710827c02b688370a9ba1662323e16d042c5888ae77811c40a984f4e5db7232064ce85bbed1843a75961175440b2bbc15473f6a855b1a78c743dd558743d55afea925679cc3523ab42682a1f0afe715bf9707acd2680f28c5ce1a80e83bb23fef31ac824df0b3f55bd7393d11d543c60b43118a0703a99886c7375d89a3d277a5a021507ea0179cf13e1e1f92e05b815acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3de2af1b031c0fa5fba218ee2f07f9607ff396dd08642a4866c9d227061cb5b2a1e7e7ceab393d7f4c8724274960e26bf2154d48b57e08fd7fbf336c9258fbe59f99b5315233fa069f258c33df3c8296b7b91cd4430e5ba8c038ced91aff6b9bbb9ca60fec7301593ea7abbb6eac20b0c6d0260b8d2ba26a27f7c0e3489105e99b64dd2982e42d126202058a3d4c01a1b5f1156a5ccd2584045d43a363b75ec624455c947379d078f041b9454a19310144374b41c4822566acf88d8f4100402264fd4c637d8b08294a933cf817b75198c8fbf2668a62b56d8ccc95204d8f971bf48e2eb0c66c703f45f81bf64d9217db51aaeec6ce5a31a14f4bae15c6374b01b9c771769663191b8a85380e043946541f7211fa1c9faf8a7fb3c32615ddf0213c27cb5ca26fb6b34e9d6d9e5aa75f0300d9e1720f0372e1fbc6980573635633d3ba2dbc6c9114b6f6abc17fc632e4091ffcc736eac0c41f9631d7fc2a7d2ab2b6f4a22205b1dba1dfb9ca1666e92f803b8c9647c54341a8fdbcd7e72e124f3ebb98ebd3bdc034355d787fd426ddbed46faafe44f6ca4369f7f154505bdad912d1902b11b3b027d9ab38a4e640aca8f4c9fe8867de6d88da1c2d6ca50b12c354fa564cb540ee2d9e49ec569af9cdc02b2866fb44ad2ee2a93d92aeefb41644825b51cbcb628aab591846a06dcecc961dbf8a06630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d09b5cc47e04f5a06fe2e03c9973093344171b016683c360f8af9bc9ebc3974dee2088526e4ba36cd10f9ba4369afe6d02740ba4732da8ae22227b1273bc69183420c29d8886044843887ba47a60ac602d598d58399339d9045a9149b6507dcbc0290021c5503e7cd0584eaf33a150f9f05486148d5de3e7fcafbedb5a8ca8b9b645489f9cea00525eeecda64c628b2779faca7fb59d052c2db691062d6ab22aa1f08cd57d3b12e1083176551f2b5d23bbab27992e6db859d757d5436bd5d57dff63a5c9b629ca4ab3075ca8c319dfdf4e77d2837e73d65beb42ef9bd341ab8b5325af396d50a46dcc33482c469c4172799dd93025a7ba534faa3e84c87bf95196cce0d6667a97b2c1587d91228ccbb0500ff13e040bf470496e3db8560464fbb813b059d695045c9b9ef231374086759cbaabe4317e580607564de5747ca280c44f55240ac581723d5a42f3f258859c6f803e008d91e5964ffbcc18b82ceaa82dc4bf8086f0b181636b20d3850eb0a551f279058e11a4ad37fdaca8634411f126ebc9cc4d26a433332455a9fbbdba951b396d46e7ea2fe773542a65763e2ede3f0f5bfa808b6fc724dfc90b96247de0847fb5ad4aa53c4547a241f7ed3f5a16e563d8d9ac7581db111d92aa3315822855d0c283c533c5ce41eae20915f6dcbe386fcab7eccfd204a7328f3c3f2c92e90312f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fe6158bbe83812f8b7afc38bd90bf272716bd7af1d014e6663adfebcdf7bf5bfff00210d5d839f49113a8d84e19e0aa469832bdbe4186a3e36cb33fc6aa378f98d6e3b835243a477cab6fc363508965a76baea068f4b3269b85899eaaa7a1057ea6d7f50449f87800fac04c2e1660e328d3109cb2679e6486717dcd2692e7135c36471aa49f3ecf943951f3f8c6a637028d7d4c18c5c2d848d7707e1d0da97228e35dc96ac764ae0996272064f11acc35c960dcc30e8d4d098fd2d56a830125343f7c48dc04df3369a102ac5b8dc0cfe21acb079697f4467c3d795cbe6242ab4bc3a4b4e3fec5dde210afff6454f5f6c55fbeca2ae23836560afdfed5864015310935714046da0f3db384f565a06cd2f6701f2a6ec1fb2a49925e305dbecb04f1c97aab197f03686c4403b01d56d188e310eff56fb52a93456a87e28692330e2f79bdeba5862b3154f5fed47d6f2c649887903a62903d8cc3cdb1f9359404524195459d3ac6051b6c5b8a2b317430a5e37bffb1e6dd4928981fe0e2f0f433dfeb6090e6ab301ed69cdac1c967791cc72d190b84e4e05a3e7dee8f65cd9bcd0346fa5397bf30e09ba4508932f84c02c4d07e5ecd0ec170e6c07087129f6dab5e30921de2f6c925cc86ef65a937f5f863bb9ccfb44ad2ee2a93d92aeefb41644825b51cbcb628aab591846a06dcecc961dbf8a06630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3db8f26526837c9ba2e7ef8cca5123f10d9f4a9533670345becd64fd1c4f03207644314ce46aff1b5226235c924e6a67355989fd18d13446d2278a60fd2f04ff6f9ee1d2daf66b1c930172b322888f8c5aa4f903dd721459fc6e81078c7a26b18c1ad5d8b2fff1d92e679a49fb5ba379f6e8eabcdde46918b5f4548738a8dabdbc6433ef65ba9027f3081725a293f736e9d5a91d7f121557cbc5c06006acca04481bd9f9022d8791672329bebf7aad90ae71dcaedd7878f5d3679372e587c72802073ef74086045c0b2b53bfa82c894a3a184322f91dab48e1c0dfcd3e6bca7f51ff45d21e49d118ce774027e20acf2a00f421aa161fd06b7b266a2969f0c7368d58569c86282a22ac80ff784b8971ed7efc5cfdc208f7347e21d529fa29e9bc4fce0d167ab4484522e90699f6d90d84df473a3e4a0330e402442d29a144023baf81f59df67d95d7bba793f4af0963cdbdd70abd9a520ac7b991f765609786947e1120f4a3bdda78f253e2006b9eaef10a8a0ce6fb63c539d5ae8ff387493e73f4f8120dd70e20963b4c4274108759288c40c1261dd6fa1f1b73b5b2b54eca72d77bbf9707acd2680f28c5ce1a80e83bb23fef31ac824df0b3f55bd7393d11d543c60b43118a0703a99886c7375d89a3d277a5a021507ea0179cf13e1e1f92e05b815acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3dc0fa826a3461899cae0ff71fd9a98f973eb18c1e7a3df84c3ed9c4a94b67be9a83af769e6efc7891fa36dfb5cefaefef95a72bdaea0a8d69552dc85fe28056b8518a379c68afcbe0fb1f8950025b33b3c60c53dc9f13d89961dde8cd58acdb14e2a35dbcd356582a7b82e23575bf9a8934759fce8a934f5d97f7523ec44287626414a816a632fef6eb1d267aab1d0e3658a0e73bdc34d2c680668efd5e020c358d02c705056d718f677c913ae325d4f04926c126e6281a0a672ec90d3f0c3fb103ea39df0c4173bd764d650d17ed2a8c12a2e4df9d3bd9dc4f9a5b4d02edf965b2482fe84ba3863bde08b817c211301bf9563d3995c020837ac676dffe925769fd477ea816b5d23e0a4b4f5a0b1c955389f2570d55a45d68d54d5bbc5156e3f4a9c12f3e23374eb07d5a14ed9c257d597413eea77507b5eddb27c22bb79661ef20bbf80b0377fb3bacde465fbbcf2e9b7e4cb0228ed974298bf459417b6a815f60c885fcb7ae1f489be3f5e5e8cb36f60ebb49f1b3699d6cfa7c05e08d51375a6b2138488a602004771b7238f5c7e46b240a1449a384c030f051b764769996beedf81f120fe583421d579310201770f796b7818936edf2bcbca9c0da12b4731c86bbdc10ddb79cf75ccf1b587449d4d66b57e00a026704ee39b11ee9621e8a63177aa19d5c1cbfa6fe593a11a872d623bc2f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fea1967e48d69342a34921fab52d514b4d3fba4438d420d786123b8a59ccfff60925132699cb28271892b82c1a8f6c164bbdb4e6813c68e9ec72c463e91db888169de4db8c42f4fb3213e46d44b0d1d2e26834bc2b2faa90d5812784f844cecda5311aeb55fc1c05ef6a370dcb7fe66e2c2426bb3f356c8e648c4402a62eb7237964cf354c9d95d035efa7c822b89387869549a1a3673b1bcca80c38f361704fc40270aba1935997f64a2d706d40190c0bbf54ec0b089334b25a0238a35bb2c13796e9134d759951d03ddedd06046d32730bbc04d2cdd2c5f86b30ffe5a3395403136eec4c8c6faa889d6dfb38f3734666de9a743cf15e4af17f19d5a2c660e9719db67ba06f1db5f80f784a02c978b11c3473643d5bb5c1c2579a17023f5bbbc3a5e27b92484b4adc50952a4b5a0e5226d16167a10ca9b6b4d47cf838b2cabfbaca09e53dc98934da95216b598e9a965bf3505a5be7cbe88713143ff986337bc4d9f4c20608350538b04f10dc563fe453b1e805695081f8c07c9dc64ff392739545093ce96b8b616c96f7eadc1f73285c141f7cf0d1abe527742003d777a8e483c3198f52e0dd8a94f2e1fd22c008515fd5d75c9e111fdf747c606018375ed106a5d0db0a310622527fe6ebfa4ecde0ece65c55eb142088516f9d557a86d353479f5acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3de49fda0073122f760914c364a5ef4a349b117809bd7469fd171f9c3f7fe385320ec24487872b6dd4e00ebdb9fc9a14ea548d2813b7f7adfdf5fcd91c6d0e35541bc8b8c8df4b83a9f8415abb27ed8eb00758d52199e3ab3ecf08df3c1c4cfe2edcd5d4093f230bfb3310b2cf9eab01f7d3007221cb8c259190c1a409fde2f53064430484f52de37d92e7200b61f3316f236c0ef8fff4e1de505e4ba4b2c72efec83fd3bfff3bb427ad8f4abecb51769225e07512a651478725af73f22a27a559b97ee6c34f5f9f34add7bb3b5fcb76f9e5c2f8fb4b64038b428dc2734eaec3e50147d794a440674d273226222fdd4aca4498ef657f5d8e50cbce996e852ab128663d892fd02d5b071c7dac2137a4b5040e8c889fad9720e89f9b23449e685f09cf9b73315b6de42a8d49a799d8b6efe6507acaff4281a68be70e6c60dc40285e2bb1f6b8447edcca803787672cf615b9e2989f6749ff5c9bd05013118e3f9b52b02fac634bfee357581f7541d2d767dab11918555bd465a8d0e7c5a4017810bea139925153e79b9027196a2e89d701e09ff3b7740ff029d40ef9de08ff1a1f9b2441650108580af73e0324e677d6ab8a4d40c8a8b0c8bdc0a59af0e9fe1b2e59ef84b5ae6d7b6ffd0e08c6548f19ff4d74df71665756ffe51f39cfa3566f6736a7b172fda155b4c3e0c965d426c7cc3d8fa4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3dced47ec4723c79f0b382129ba6cd2a58c754bd1380d4a93aaeb4cd6ccd27db4c0ef1e31cb8eb00f1974f941c028b04a46bb75195f03de0bf3245bc778a75924d6398784a820d0f56dd17c5d347aca10a1dcb48e4f485ae5991a86c0228cd19ac9743aa7e84dba309ae51a214d91aedd46b041c9e8f9a83a72cac7fa013b0e85a6490d116b3499a83c71eca5715966b340f2aff60b9c3b999ff4a6e8fb0223e117d853bfb8c89f5c07e0d53231ad7108abd73a0ca91803669f615d44484594fe3b24ec815f51d5a17e1051ea2413b348a2940466ffd190aa9ae977516949b401d72f00c94e6d47ec56d878247e40f15cc30da896b5c24084dbf20aae8e1c8f9b30efe195a51747caa5d827643bf4d71b2a13e6e54e20848210d359dd64a052773cec59d489630c98ec52f4375e80a81709cddcd388462f35424882066c859d1380842198203f20459c44bbf28a2c7d07ec6d92e70376cc91114384001b5ab55331f79f0c6513941d6883d1b331618778b394b50bdf5dea9bd3db5f72d42640ec5064cb176b7697121fd406130325ce324478e37007a9b21e7451aca907e10a4ded2fabd5d440715663fc16d64b58bcf92a60d44c9e7b1b4894ec4c0d470a1a4bfbad768606cc5dc15490caec5adca902be2cb1d3f2ad166886a2a5e8c687be9c85c4d9dedc63da45fc05289ca9d20eac24706630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d97077169c2c8e68abf2657e2a14b4a6e2a544f4911d174b80e22a73944ce9293ca77bb20b7335b44f02430aef4968592eb48f1f657677ba1a13e50b36b5ba0e2c6d1249b7e5c8ff79d9af2f9dd5767ee1f2525068a64554faaf82574d39aff1f6b7a95345d747ff4af318a4fd881415f7bc60a2a19a52ac8ecce1bd8822d04a964680a46bb0faf9418034df3ec0c68d730cde4e8a768693bc6eb0bf77bae12a9e30816d22c75a7c74f95e1fd32547e7a267002f920e904e4501fd0af0f4a97f37886e09bc5f6b6d18e636ddb5a43639fa9f66fbfccb7ae1ce1754b3d526808d9b21d1a1ba7916a41ad75f0a33547894eb659d135e5dee2c965e9c7c50b7440ea3993e9bbf9e45fb767d8e12bdcc10d1751a3acf57d824024e9da40c285e144d8d25d822c972fc5e16dd89277a832c1f7dd1a29371887514883547d05f2cb2465cec29b69ccdb38c4b063dc581df9052cc98058a0c7fa06461947d5413a37b86e464c01a11d78db18f8c4b855b48b18fcdadc2af03048fdcbd5d8b792fc1884eca01a5f729e8aaebe80fc90d3f8215f8f0884f7095afdee4ba0d4103d76a2bad248d23f0e77cee3b4a7fc3244ebcfc92f0516a5e76d16b9ab66a2b8b89b2fe9b85077858592690e2075bbf0dbc5981a3408cb1d3f2ad166886a2a5e8c687be9c85c4d9dedc63da45fc05289ca9d20eac24706630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d40267e6845b2f6e988f15f6b36eac5a7c0a9589009f2ce011b17d31f0744dff8d36e03b686e892e85f24be731f81a14b7de14d159f12af0ab5b5b721183474f6e08bb4e68179b908d253e7e243c555cce4408782723e78ff1f542feb5671de8789e10599550d57ecefd751ad78d5f33be68788277a94f48a55121dd5a0775fb96437da51c638b5a4581a1c7c90920984c41169505d110d8091913b7c2131a773935fff365481c5700599897760c80de8e5e8fabe07c11af889d8682212245fde4981393c555abd394871e3f932837ba17360788b58cf486b7641800bacade86a53ad51c062b213b6f55bec9f5fffe6ec559afdb78c4da713eb3d15c461dcc9403b0946958343679f61548f906d7e4fba7c26204c6fb955c0d68159fa9b6426021ae74242f30168ad692057bd4f392496f7bbb29e456c48b483a4b4ff3de79b2a9527566acd1fbc0894bcbd0886919c9c494391e8b1946d62c43b58d4acec74679d5a3d3b197be6a780fa07ddf8b27a63ffe565e8e531f3817c119762be029dd2320ecedf46a097bd676a58f2ae0ae36b960481548f1592a0bc5a18ea7b0ec1c34014e03ea3b1766085032d8e081ddf66e23ccae233835c6546d526e357e7e7e91f08e73dbc068eacf93bc3ef8fd53668caa5a021507ea0179cf13e1e1f92e05b815acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3dec4ce71d0936b4c027a4a8ec25a8869c4dcacaf3c5122dff9f6743687175e13ff8d28a7f887b3142c452291a4c4e4429970a69af94220c4399acd9b7460c4dd2fdffe654a1cad98af741a0ec0880b80a84fbdba370ab478ec0a16a878a3ca5494c6a7851cf928042c5025dbd88ef241e0993ce18713055f89c01ab2baaf574f66406ac52746fd9f204fc623fccde44877f4e050caff7e11607a62179206b377dc9537584362578034da6615f70390e47b5acff67624f0858f7aa1ac4664193edfd3534befd2546d9f9f51987358d7bcdb800c26ecd0d18943bf0c25d9edd13635236c038cd3c846741605b67a92428b275115a83e3c0fab3e543971accfbfa4c38189b4cb9d6ad033026f9c931ec765e7e2fc3c2098dfffee8450e31d32b8c6b05e59004e179272eeed0cab8e71b248957b72f48922fc1571786fa46fc786efae9f3ef3efec26693677565475a0a7b8b2f42a48bc31f483ab2b8f5e4780987f4016dfd8d5842bd0e5d632da55fc2d3a3cd74a8251a029301a28725270a947869c5933739a8ffbb47098a57896843feeb16063a835498b392cdd1014608d2e163bb19093fa222bfb2340ba00773c2c313936e86f8262c4bebabf32ac10f105227e11aac52a74c586a789ace4ba330d80f77960b00bf88825ceeba9dbc9e819fba10b172fda155b4c3e0c965d426c7cc3d8fa4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d913a6bf92f0eece9a1a54aca37e3d12e090f0cffa04f2caf992dda5ce271c37b533def593e016a3147e996323108418072e9879fec0bf565a4b33a1f4615165509d3f1ac538ba43ab68792d598039d1fb20b07198e84f23bf8d8d32ec51c8b6221efe9b961402e71314d2699f1c5efff89c8b8cef7e373eb9a1c677f48fecc5664cadc9713dc1bee159152f8d52e0f39345602e1692a5197c1693e90346a5a2edbb06a98272c1d2c4d5fe2311e9e188d819b7343b3be490bab9c07480f458877cefbf06e34d2db7ee39fba7166ba1faab71136ea453ca65f482dd987bc860992165d7bf769bf1207f8f8ac3093e60bcd54c9b20e3bb85b8ccc55d785b67a82273f4e5db5b155c6a0f1650f3562faa98b6a4364ec8909a4f99000beb20d33872e8350672219dd416b3ee4afed8b634564c7470082b7506e0389c901987cebbdfc57da90fee878d6ec168990757172152cef02cc7511922ff5a00f8b6e7a43bbac2da1c97eecb73560001f561aa879f66a0583d1ced2b8b59154361a00a2f1dd6c089c438daf5d3c482c56a322140761dc12aea00bf55c08fc8222373e142e72763b7ff2e3ddb0de38004a9900e9b963769d4e06d84e0f741e0a23f959a1182db45c0f278dd0d32fafbcf7b4b28427c052c6380261d5e14fe031ce6717a7f85eab7acbcb628aab591846a06dcecc961dbf8a06630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d653b528c731f094aafec12cda6cbb0e70530133708bb02e6cb51c3bc5e38f9369467f6e5729a6c2f02d128a2b8a224dee1bddf8e819eda29441b1cfed625d2314768999a6fbd66a7d3e691fa91ab6e7470e9bc062fa8606d543f97d8385aa0f0e17be466a1b282f3aaad0c93f7a22d430e2b61d90a39c8d72ed740600a8fcd3e64de38d51f14b2a44ad551b2021e3c942ad4f91147f57bbdf8c1c635f7b6624304939204964ad696b89cb572c554115077786df8650b5f713d32c38725624c84594fba6b19e93242a09fdf40e5861b7e3f6d7790d9ba1e7cf21de014c976b67af8b7402b5cdb2550a7ea999d69582eeba73e02ca5b93419e102b87cc169778638f53eeef6209a0bf9bb317a04f7a0f3c246452325bd30bd7ee92bd440b06f42bd6aeeb4b254882399791c20687388b0e2a5fb9936478012cf374af34815ce4ad578405fbd26b8fb4937c6d05ae1f17a2ea7ef55822fde23524af952d5dbfed8bf09a8f7c3b3b6048048a7f97ddc7da4639f55e30e26106131cf3081174da77567bdb9413c39a3727959b8d90716897aa138f349ca9d752eb22beae0964fa5c0687f6e9caf1dbde5582e6b88561bd15f7f204be0e10a94879b93af303b277253a6596acc1d2fb87b3268c0689f6869b7aad637256df196386f31a5277e8b58a6cb9fcab7eccfd204a7328f3c3f2c92e90312f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fec203bf8f8a6d8d353b4ce4481fb85d7bdf0286cdca66a8b2f7136b314e036050e6c3b516a7d5deb16031065b4b64e9f9f1ca730fbb6b237d4779775bbd58332ccb0321bf6a91dd8b83b49e096e4416f2074d40cc380c1a54ff7cc54b1a74ed19d662869be92ace34a5fb7515cc597f84f9a66544fe4dead74af691e4bf76def064edf4958e25a850b1cc0d648c1310ca9e3540b6db33193154be562214f675f38b789cf7651e8a881ccc5ab786facdcf327627cb293acf9c800d93ba624208ee57af9229db1919f959eb66eee58dc5431d30fbf37db5d80cfbb8c0452de931e1d0e1703e6164a9f07678f66e2568b9b771a41e3fca7fb6693513344ae2cdc01ea3716473d01e55412d76340871ae5784d1ecf7d3c82dd4f36b8b471c86f2c486f4d2ae77df1377af7c2ed7e569e580b9ba6fb7227b538cd1d4f57a4d8c5643cf518ea11ac72a89d06eaa2580ca9141a63185df224a02b89614c92dadc9778b6307246d8b814609b7405afea221aa13fe01c48221fd9520f01235436d1a829a76d60570019e1b21d4c5b683b56517d46333c8919f7e6e63c374937e8e37d7f8fcadfc3ac8fcc4e0b302a2545bd52f6c5f8ce9df5164ac514c5570420ed3b28276f2e3e411fedbfd01c4949ed32497bebcef4e236df0aec1db8d62c76643610b58897aa19d5c1cbfa6fe593a11a872d623bc2f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fee78a4c36a92d24b99dda0277aa38c7e6ed7c3a04319b38250d0ad180a15bdd202a5e17d0f4889bb3deccb8eac38c2f2c4044ffe466f59581eb1bfc28cd957336c24ca3e6433a30c3434a33375f19f8e1ade8506d527e00368e981ff941c2802be1c647ce2cc39f78bcc427b3a1c6fdd295dcc559c7620ef8c3f1ba8b039c3de064b1cb68571d6753c75531838e2a8118dc6e111578228220cf2a6ae7de48035c0001aaf76f42f86727da20407c2e7ebe9cd83782f65b9facb20c22aaa3902ec18461c7c637bd9da2afd2c49e4260c244e34d475da03ce9da804c0101bd12e44f03208fcd6d152ddc60f81a23acb4396f4db6abac95dd624319b7b539169fc453738c0937809c1dccae1d4d0c4327cc56b59b4667e55cbfe177fcb49d40086b52bb8cd24800600a20718e1b1035f5c39709e6ab4f6241ed0c84b08424b06c79bfe6154e946afb4170da9c3674bb81e1d2337dac1855a4a697247aeb6008c14d795aa59d36e54672fbb97d8b524cdd3a6775ab264711d5f4cb11ca9853137119386c2ef5b9c4b04be2dafeb031be0a651ca4f75ae523d5c16bf610b4b87efb67f29c58f30693ff6fe60580fb3c0750f512f6411f276195ec1ca93e7e0c7ce6ec7cc008e73dbc068eacf93bc3ef8fd53668caa5a021507ea0179cf13e1e1f92e05b815acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d5a491870caed4bc1da71ea5b26b00758374bd1544dd1f15841d40d0c7fbf8866ca521e4fa78e5362647cd53bba08dc6a0bb15ad2be287e672b5c7422bc4ce68303ff8aa60a9fb7265d5fdce8f700de6da622baf01390cabaac7a1ad430a0763504e2a65669cbab0ebd3baf086a5627ddcc32afe07e101847822931f7dca0bffd64e05d94bc6ac06bb6113a2e12ce780295d5e0ede7340e59934af27924a08b5ff86c57f25074f0242a5a1e001c0b59abed58747cf9a049104e5feba1ac48c73870093fe6da61fa86ba0451bef4a3b9e9f05c83402dfe1c3e360de9ef29d9c646460c759e112a519bbaa40ca1e15466f6276419b52960dc396b9809019526ff41a95a6e573a3536ed4fd4d9c3289774686cb9a676fdb659708e968455d32e49aa7c1c38a46227fee8aba323846843ed90fe04d2ab614587086d5360ad8b655bbe6f558abf1217f48d10970e58b7b4b0696fcb8157140f59232f60b4d3dbaf4435a1aae353567bcc00d646a77b131dc65c7d54ab58bfd7938dc3a2464d7aebbaa1f87d5ef3c523915ca784d95d0d59149c289bd811fc3af4eaf27760911d1c819b14e3dd8fcc2456cb39054775e8e5e2de5fb6350f03ad409377661db11c02419beda983b9be881b47f5385c427233c468f5399df381ef126f4719c73d8f5686ab4738fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fef25f2f3e4e17325ad612320c7acf922c05bd0722f8ff57fd70decc20f67489b5ebc5fc7a6441d2ab671393539c8e3553d1868875dda9767f3d21c29fd491892977e2153db7c2c2591462c25e9fde52f30cb95aadf1b7d923281cbf3805c45f1ace96c63369a566cb686170bf6e7dbfa4a10d505c022db7adf673d10ab4d83af664a2639ca29ca56683fc29a8ede61116565cea719415505c33271c3d01f1c1f6842cb552226065b55d1a513bd8e427044d48d2237d3475e8096f2525c1ce790fa372f6be9c377eb50d6946d4be79b1f1e8d757eeb5cab7dc3dd062b986ac1cb1afa18278060b5a801910be1b0616902938723d8dfe93828e702c8abe8cbfa8fc7c7f891c5d612e6c88edd7c40f9dc1e8b88741f2428c5fada958f9d5984f0e5436374e9cfdaeb949b1e3c6c4edca2426ea6f03e4a3f609f9b790db5c53102bd6019d93a8dd90c092ddba6a7b5a62c9ec3c5195e84d80b1ea0c4af99ee8edfcaf16f7c3170945e85ef15d9db81af3f2bab86e9c02df41b71749edad6387a02ca15dca048cfa230df91512f43667b3eb8e4615fbb974ca22c6aab54e33f96522c4987cfcdff18ea6ec47882a8ecee7a7f50c3cb42a78ff88f5ae2c9963354e8fcac096acc1d2fb87b3268c0689f6869b7aad637256df196386f31a5277e8b58a6cb9fcab7eccfd204a7328f3c3f2c92e90312f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fe2bf23116dcdb1ab36ea4f3a3330869debd74bdb897369bc132c03e67aac212b0d2799d26a83479ca64e46c1767bd043d8cf0ad2982829480287e521ca998ec2e6af659d7a36e4ef2402e0077203a8cb3e095565237aaa37345070d1209c3fc072bc6c62cc92f5026131217cd675ffd535db3226dbd9a1683ca00eb69e9c5c45564f114658da4f52a495fb7964ef05787f942931f4539c2d30e4db799281e2618e6d152dba7abf80d6702b5ab7234d1de22026dd1247cac523273f56350528c8925bb82efc7ce89fdb619bdbaef7147b60a3761c1256c5fe51be05b1ac5cea48be51103907af23de15de14eca1386f86b535230df7b1e50b18016070c57e95bfdb9a5ecebe80d141313ca51250c8fcc4b5100d639c51f1720f39def5585c2a6ac42a260b508198bb9c0ff103b2ef4d83c3d5d182578a9bbb4def34a57f343eddb3caac3d5f39c748c65acf1473fd7e1c6bbf18e625cb25ed8d512e0f6fc4a5ef2b9cbb9f0b7e3bb713777a80ac872c48c0e07d9698bba095ff357de5ac941fef321336a4bc238db794af81a106c531ee302eb16185abaac61278c484040961ca4db9a89e0c284d80e132093dc6e946e6cebc278a05b3a074c44cd807093a23f10ecf9296654d818129904bb7c6f2469aace5250f63346b09887b6e12a692921785538fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fef0825c814843b2b1f7f6e8ce97c2afd4d435095066115666b2b47d4d540eb5ba3b487189f7ede457ea5d525495b81c4975eea0e2c8fdc976ae9178e5a3b06b16e425cd1783a55cb2f54825983f244fba0d0bd0593c6331c3d61adf5835aecfd0d480c1bf35c5b52efa1bb78f0ed1ea89aae3c6a8da5bb1b1259eb4dccc3563b16417ae8bc226e38b33dc0215759b9998efa8b36c41769e3d6f584757bde5b8b7999361f7f6d131d61b792fcbff940c163f50259de2e757baa00dd5aa9aa62250affb261f067a743db0d045a614400595ea6a850bc94794fc226bfe0de1502ec4951d1f5de81f5052796dc11a58594a5ba38b9b5588e2db85b75371f175a6dcb3cc034545d2a67afe8b0870f29e80074d0d13705d22fe40451933c13ab8952f5e6af7bc42c34df4753beaa2776c10d1a6fdac6592c7d64f5fb35420bcad97c7d305f5625104e341c72a62abf93777c900b6ecdd06cb01f7298b4bbf6f056d0daa7bcc1fac0247b3b72f731e79d0b49bfe39ee6286117719bf5e0b8a68b1e25c89453791d01ae263a212169670f681d15a9b905501ca7df1ab790ecb99ebde2c38dd1bfe611fb0333df4985b11c9d1c59bf217f1c6949ffe51597673ba2b01bc908000e7df6864611c70b3fe5eccef2314bcdf71665756ffe51f39cfa3566f6736a7b172fda155b4c3e0c965d426c7cc3d8fa4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3da8d25bf59b158df2ea5f8bc1640ac67b61ad059e8a493279e02ca813992c0fb1b2ea1f170ab9880384cb6a89f38a878ef3197f56e7509deb44cb16c355a9429ec70c57946c3339b6f3827c9a6386c2f1e648a6863f09109b3d858b59de0d08e65e4e52c27f3936431c69d9690ae112644e6fc1de90c1d050c6b5e03489db3ecb6497350f631ca2d40485de2029bae8d5d09d1f8c0f0cfcc6d5ca92475a75097e65b7c8e3344c3dfc6bf1dc7f84098bfd1279551f2019f2291c31f7446670404e412b76bdddbd2f2dd84880d97c98ed19a2b3c69654b6947b6617a046ca1f12646d01e3846f3aace628561154c0cc7094813571e7f68df9903c332514d9d398f02e812fc33d0a0e4761248df3a468b0eb1bde02b4285d814a1eae069d93f7dae1e818d9a1886dc54663a3c181ae47ea4ab5912cc2b91395eacd24ce6d514c0975d3e295e63dba200cc668076ebf384f5ba7f4e0de20e7d0382b2b76a1eaf37c7d1a2a021b860a668c1f7a616dde518464219de67f8cefd26e90dee050c11f9edddfdc08b022c763309bb447fa40ab5fe53d14d6fd36bb52dbe01c66c341f9811e76ad75aeb914f0938df5fcb4fd69372e62a7987bed523b05314974ff2a19d186ffd768606cc5dc15490caec5adca902be2cb1d3f2ad166886a2a5e8c687be9c85c4d9dedc63da45fc05289ca9d20eac24706630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d0942a5780b130695cea2a7ed78fa0609b477a99f9e10f2d946e91ac74ff5d7d945bdd32bf1c8ddcf3c0cd30f4029bb2d634793add12fabaf2e040745df74bbc3c3a3e6b846de8f5a07dd60c9a02749026e08499e3acbb0cb97cf0f2efb1cb993e659232488fc764f28af90ebac788937608e6abcfcd4dc8668031cb2eca58f5b6402fe77b2f77fda9c94323c25911367ca4db46743b2428dc3822ef4cca398f0459ff157c0203da9838f508ae5451cb2f938c972a6add6ad10a926727c3226e30a6d8a7adacadc518f80a806a8182ce17d7671f5604dd45ae1c683f2f9c6ba303b6cec88196b9a054c2342d15513d7553a821f374cd3895949f2d54759ef4b74582630fd9b13e2753181d85c3134bc17076644b2f3148d81232eae71a4dbd89664bca90132d6847bbe5c4207db9846b7a18c83724638e39e1e81fb6281647f04b1d5eaa18f325d518a82578cdfcfb8bc0d85d30385c5aa732f87b9dcf379000b956bb37bf172695cb0e00f001e4d3cb51f0669644827e0d526d4b435385add534677e20cd0adefd83d6421e702d4ba29d7edbc987f1270908e00b2b4a5834fb4d21cb0dede12d5e2dae0bb6811fb447e6eb6350f03ad409377661db11c02419beda983b9be881b47f5385c427233c468f5399df381ef126f4719c73d8f5686ab4738fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22feb3c67988f2f7a29f20e1ae29bc925b9912aaa120675bdafa6fbf31433613ae4e992c6efcb55a8b7c534eee08416dacf3a3478917430e0643def9c7300b03a5ce701eac649bbcde212920785253d018bf4cdc5adeee7c1c92426361b0311f943381bfd582832e0ae728fcda89b963cd9eba5cadfa0f6caf3a83840fce2c2ce397646885654d8d0a22143b985e6304244962abbdf56fc6763612226e4ce1936515011e4ad9507700bd89e8538afc6f127ce8b06ae5cf0103a8bf9ab0e54fa26d9b263871d60c9869e70881e9f6795b02f5fc6156c7bc6cf2ac6ae4c1f370cfbbb940ed6182393482371714e363521018d17724af2c039d40f1201763b1a3c1631d69ebcebd033488b556695a4e0026eb9b4324d230f98c3de94252f9f38977a58b2c71c972cfd58d276cb0fa6e0c48436a905a794ab8bec5751105ba987d6cbe7e65bcb75da88b8a7573e66b46bbaea44c9465d5642f90a2afc8766316e872ac223309deb24076d6c10813b156f5fc726197572421e5d3c3d20fec948637a89c12494cb176b7697121fd406130325ce324478e37007a9b21e7451aca907e10a4ded2fabd5d440715663fc16d64b58bcf92a60d44c9e7b1b4894ec4c0d470a1a4bfbad768606cc5dc15490caec5adca902be2cb1d3f2ad166886a2a5e8c687be9c85c4d9dedc63da45fc05289ca9d20eac24706630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d74d0b636c9cdbb99ae5a6cc30ff4d1a32fb8e6e175fa925c13f0c83f5322f6f0f9e83e045465a4ca95fc8164f383489a60a6340d8046193812c663ec5be41a995dc6606cb4a32c8f3be9cdf4623a7d4552f985c685ea9e9060f7b3941b64fb7cca12a58a8d9507deac7a2063f412a7c69a386faa81e1a1cde82530c2f786b91a646795404d24ebe1f80cd1d9bfaca98e692b08dabf86defa633de3b44e40458eb32481ce2a889342be9885068d00f0558f4f487de97fdf7e57f4803052e83156e0d197ff20f7a4eaa1b855707c58f1e177e0444b5fa72c2d2746f35a844b297dd0eb0e4ac9f98d4387ea313e9ad71e95fc107321d424982f38f9234bcbcf93c111f67da849d5e9f6e0b7e84f351f4ca2f037f236a2f02cfc36f84fcbee06b3159e4444a2c3d922475ff231ae5fe00aec2141ef98156c595635e3ce2fbeb6884c1fcb3a2786592b9a2525c18f5442016535fc2be5d13db64455d5be717b0eb55a2ce326ac1317141b4472f337e64c52c1bbec11b9a918df56666cf3576c2bfa6a023844e3451102302bbee7afa9a6fcda5459c123390eb6120168e47410cd83513c44e419457d5dea37ccecdd30da18028c07449d562898760333202d5e5dd9ecde4cb540ee2d9e49ec569af9cdc02b2866fb44ad2ee2a93d92aeefb41644825b51cbcb628aab591846a06dcecc961dbf8a06630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3df0266bbf83dab9d7933a75ee846a8f8ae68e12912f8b141466f8f33bf0d8f996e17fb172dcb4b747a63b37091ee2516364e6abb4e4703c6bed123dcf871e7a5fb143bdf8f9115d62eb6bfbd297ec9361fe6770c9c0a47270babd9dc6ab72bd015a65e4a64440cd5ba20f2a99382517219e6dfef1e682110e647b91cf7d96d23c64a61420fb7db0293c0a1530047332c5fc8baf16a811fd6ef906a269c8157684f96ed7cd405995e3daa35ae2176bc1a8c8e3a3dd0884f3cf10a4019c399e94220c18bd45f3af902bb47f9cc19f90cb13c09bc17bbdcaa481cad8241c59bd5baff87dc5e359c85b372323a05956ba4c960466df424af8ff2e8d8ce6a86db89ddb7e69ed4d846bfb2b9699eb546fba4013cfae4e33543c2b7018a420fd637439d2eb181cf888911d1eaeac8515c898b9003c1427a12f240b4d624ee011ec70ff11ccac0f2d7a9bdf72fbbbfc7d4a6ea626522a0d28ca297f56ff2f8f8fe58cfb6c97c261dc20ef78c89defdd8bb135b41da279dc75c83e708c7471662331588585f7c8c4bac593f1dc07cf01f16e794da9d3665dd5459716e8d7262d8f901015a5dd19093fa222bfb2340ba00773c2c313936e86f8262c4bebabf32ac10f105227e11aac52a74c586a789ace4ba330d80f77960b00bf88825ceeba9dbc9e819fba10b172fda155b4c3e0c965d426c7cc3d8fa4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d21c3908d22a71320e6ee918b39ab7b000d4fea256327da41e5681a16fece1be6800deb854638e3d04e7728f65859cd5e9b5f801d14164c0d5d0d21aa4761ab4fab2b673f64606cf250b39813c48b478cfeadacf1d0fc9e467e3eb72053638c657a187ce7d237efcc34820a3c49498191761568543009ec0a9db503576e577a8c6458ea579d4be2d0c4bdaabe65b1080fc70e8a7f985e4c1ea67e7f7ed1825114114dbf9da73c53a9f2a1c34827426e6025e4d6957f4eeab978cbec7731bf417053310ad2058df23568a3716a9fff51ba5ef661c1e98b6c3a19ceac53687263d4f52a0e867292dcf4645ba83d7e8db44b7594c78303a35db6664a2d4fae1f9ecafb9f006abe8a193f993a18fdc491e70c33ccae330fe98e0411417ecbae6a27174c506f40a25dcfa39e59429795ef2c17b904df13b5d80120f5f5807bf1d007c8c3fb7053a23a5ed280f8ae5e43e911e6ee46fce3b69ae2b908f9cc8ee78a7d0f8d7b430d57ebe30a3a39fa175b7c73e3d1694059a6800889e0ec0f896046f25594a70111000f7568c60ccdd32514485bef37853bad36e4dc2a6ed8463ca1dcdb674a8cd219fb6d15e67bb3619dcc1ef8dd5ebed9201f05fb8e2f52e35510df066439b3142f636b086141fd92a046cb50575c55eb142088516f9d557a86d353479f5acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d683b24f35b0bd5fc53dc1596f94cb27439b28f9fa7148d1d1377f58765ed70b0ff8543e250bddc948a0d78eb0a022c55faaadce4a39a4365fd067a27c77baa4305cc192ad65f69604706c9197dd56a6f1b564f7e2aba368066aad8980c5632e523533da48c2ab2d031520d62fac6b0749cbd3eb62f0a0dd34780e3e086345d60647b021e2729d7865b007bee4548d698ab8668f920f1dd1188f78fd1e1443be13db7b9b70dbd66aeae8a8215683f3baa904103bdb6eb7bd2c55b11671e1cb3fb5857d609be56e9b881a3445ae0513fc770cc3de9619f93362a9de91e05a2023ea9d20c9b38c73843b7c62ee3ff8ab3a06ef1050a141c2dc7b6a0502ed011f4f5ec49f7f1e132c546399c1ab23306778a99b57b44725efadf62c4959ae0416adf441b0e9564d822a7f0d3164500a78733ad95a22a5a9c5e512669887bd7f6887cbe45d57543f2aff8b4d42105d18d0eec077f786acd4465f11cf8255a5a685240b947139ee1acd3a16ab8a68a25afa920d4ebb4c8d7fe90dbc2b908fdaa6f60c5851ac28ac8aafbb23e2afc1ed17b81c45d394e52c9789dfdeb7f31ab39c074de05f5bfa808b6fc724dfc90b96247de0847fb5ad4aa53c4547a241f7ed3f5a16e563d8d9ac7581db111d92aa3315822855d0c283c533c5ce41eae20915f6dcbe386fcab7eccfd204a7328f3c3f2c92e90312f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fee01ac524a20cd9b7c0f25dba1f2f295cc2811f46b77e4300a14c5d9d25822edc59eedd7177c9f3bce06a0de87dc470545be8c8b172991e6eb1c9cf82d392e4730da52a51f88401866698fa2f55589b13e5101a9ac072d169c8f08eca5f73059a0db5e1efe5e6fdca7431bb48f76bbc1be019f9320343e722931a3c4b30a0519164e5b5a0608f01b8e42d3c5bf669b618abfc76cbfcba90457d9c47acae6e0e28ebae7724cbe82da7d95aeb0f50e77157409cee645e4c46d5c161bc3e294f4e20e04decdfa55a22ac200ffcf4fe36faa90ac6375cb27de9da7912b0a452da8a2239e7e439ca5063fef04c6a2567cbf3fef1438e76d4c52fadd304c31fd653c7e2157aebf6969c24058d528c8ef22c890cb4cb9c596a2d2956b50225ea1bc55d6b1d81e6a374792451b0703ed6f4c3e886c4af33fbd2d258325e4bbd4d1c0417b25f0e5d88763418987caa57dd8d113fd9e410ada78f1950a0f6add69f7cb5f49d8da294db1ec8f751a09a63e59e573a5c90a74a54480fb6f3ffc8865780cb4b41cb19adc00aeb781edbdca8d73df5ee26abfb79fe7c8125ac674da544b66a6c6b1126ee469f047d12312e237c99778795158867de6d88da1c2d6ca50b12c354fa564cb540ee2d9e49ec569af9cdc02b2866fb44ad2ee2a93d92aeefb41644825b51cbcb628aab591846a06dcecc961dbf8a06630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3db7c10dffa61e5e7eed29e14df2b82bb6755ef7730da075359453d6b31a0a4f22dc3a57f5fa767a5297e6247541d2fffd9a8b2c374e2c9cc00039c9d36bbc121adda2298b1bf1debf56ce47d072b10726bf1129616fcecdc2b625ddb4df137c4553dd7979651a6bab39b0d3706025e57b555db9db9c925bb333f17a283c9594d0640fb38fe766029bcb81baee33592d97f0075a137ffd008d7c1f6be371f6acf36e8c49a4dc1baabb67775b121abb502a4fd179731c7ef5b6bde88715ccdbec573e094b053707f434a13e368f5ec184083a13e87bc2a1fd9db4bbc6fd9e9761e045f8178bb2d6e414f15e43b4b6b2dddc0a128cd1f62960c78806795b66684b7be79d0572977e9aeb28da2404ccba71f368f4107a161542f0613b0ad1995c2746e00b62b1c2b8a761a20c75712aef9aa1a57ca0b99bd9cebf27e12083fbe2b8a07ed380d5c1a1b7e0dc9752e2cd75ecae261d0e7ee717a0a580d17501e03a2e875bef2a51c637287bbe7a909dbc4f19639adcbc6dd9c931ba192ace73116b604e0c1e734621bd640b9d1ee86a835ea99145f787f3c8c3dc81236cb55e7e536f7ec762ae58989d647f98166cec40d791bd8db040cb0bbfc215449209bd3d6871b09bbbdc10ddb79cf75ccf1b587449d4d66b57e00a026704ee39b11ee9621e8a63177aa19d5c1cbfa6fe593a11a872d623bc2f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fe69cb9bd7f3edc82502794de371d4861d65214f79445acdded7bf6818090d17d139415b00b50f262f5f7249b4a43bb998ac8afc17cf69fec10efdfd4257d6621d365a666cc17e819ac54f5babcc2ff0444df2b2f54a715ea85d121adc1dc1c989efc2de3f49a65fead21ef5921da99391bb584431ecbc01fab5b542575dc7eeb0640ee1a5b01072db7c654b2db6f586bce39f2678fc44f743c604b5ed45d2eac4f4634f1617988b37f44a6757398ec2141372a5934aaaf850b497b6b13a5a0bf87f666474bf8ad143c13e97759f4de636c71d800dc72ce0deb4957312dda7d753f014c08e80be7190dc9da8696735aa00484d656d3b64b610639ef50fa9c658319707e79adbdedeb7839a4c10b526e92f4d36aba95415d879c836f06bc1611d49844a9c3fdc4ecf45793f8a139a98bf7f5c9bae3d84804cc9d05db762f6bc460b9f704e47895980659ab1a429887dde9dced1eb6d1961b3099fd21fe62b29aa0f431156d803019e2a6726944d9ed358824469e35a8480242b26b4fdda17f8d415a92fc2963198738b5d16dc4e1f0b57074419071b48e1642271df6f9afbda8f6fec1a7b604e3f8ff263bcd14e45115e4a09c278a05b3a074c44cd807093a23f10ecf9296654d818129904bb7c6f2469aace5250f63346b09887b6e12a692921785538fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fe0a05646326446450e1e59c4e15ce8c9692e73f43a8452fce183d03aae62857f4d46d993a4aa0224d4f9e6eef2af4d77148ff3e4d32f9dd402b90a7b6a2a6dad3cb623d0d0edaa81d582dd6d7544e08a4e4c4f671b8e708f2f4dce3b14a162a4645719d894df5ce1d672a42f83fc29087dfe6cdc8b138556b6a25357f8c8cc8f5646eb486bb87c52b2294c67dc29a9c4a80d9b78e8f4de4aaaa280edc2cbd613230c1ddb79a04d80c44f950557c20bdc5b93f67e8833024fac092a2acbfe2d2511d57bed358db3cf334f6b15e26e2b267bd473e8e029019a914105a40bcd78d145ab3becd3e989df7f4f4a72faa10ae1011d3aba6fed5f6fc043ac63d360b471dc61b6e248548c831c6d812fd70757faa82dac1d0dacd63e41ef478659d0222ec277f41c877720d2b4ad9ebc8c1e9c0c9e8bb023f487cefd25ae3cdd0d5deb473ae96d12e0d9c2817ab2f0b44939ad68236c2b83b2e34f8fb7a5cd2fa6b1d6c41929b1e9d48c5a102fee8caa657b502903f358e6edccf0a082a5c7ef2d71d1bf58063a0344b50af0ce404e853b3d7083cc2b8320423762d48e8ff32b78d43e3b34d8bf059c6ae9acc09dc29190596b89c4ca7987bed523b05314974ff2a19d186ffd768606cc5dc15490caec5adca902be2cb1d3f2ad166886a2a5e8c687be9c85c4d9dedc63da45fc05289ca9d20eac24706630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3ded443a91009407a7b2e657e4b1daf21def0d0bb2e3c83263314e6decfd095ddfcc3890529eeb124546b6be48258af39d132ce98ab4fd4d03f98d3a34046df199aa2f6f4e45171e3686583855fc4cb9e4e4c26764e6ae32d09c83a54c3495bbdfc436652339282c408b3059a994f98a3d6c2fc79d2e5c74b626fa96e2a9b23abf6490e2bea75e706b56ae291f78d2625269f4c69652ee3c425366a5162baf3367ccf411714d3e456f9b1fa3e2f7c60d56c2a3c9e4e95b7b9dc9ceee06371a8408f0b44f8dbb08ef433295259c9b12e51a8c05dc91f3238f167768b1448a42ad3393eb5b181a20e7cc3e58e3455f2733d1f4953ef810fab679008984ffbb029ded5383500c68bb37519864d45d0912fa20985836327c13c9b79d4fb90ea72a9a07766e35086ee7c4129bfedb112aa517591de1eabcb85274879ff4ce2fa03b0c30a8988f41e1660fbb82c0a40d28ef0fbe5d09a320058882814389dee286fe8802d0bc7ad7f615dd8a3adcc9b3db9bf5e076aefebbcdab3099e2ba272df7a24abe3755d037a6da554eccb97e568b628aaee162bfd70e6a41a1a057e7105a8c08ac4647973795830404a8b9dea80e4473dae7e0878abd056822c42d241942b863e6167316623944b9757dfaceccec2182f047111ca4c94ba6cfc115d0b8bc7b50b5c74d9dedc63da45fc05289ca9d20eac24706630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d4dd7579a7d2d9b7f52dd2106c6dbd152aecd7099e9545f315637f1171818b7cf98ef3ec4f5bcceca4f536af8579b21e612dea3ded30300fa93a214aa9efc68680d6de45b6915cfda1ba791fe5fdf2718fd710705ad0d116f3480b3922bc832eb9c217bec877b82e4582246da82ebd6202f8ff79d5a635f62c8eb5031c7cfa80664b26cc2042fc310e99bc009266a359dc83100459cf87d0072dc2d217e6c0e9b1f1860bfa7bc19102312ff5eb2ecc99a57794db73d738ef9e0ce43bd744c9edfc63c2e44640bae867505ef8ec061deb984d31391f4d611fd1194bead024c9fb5cbfeb05b1b19bb511db21bb05370c9c683171fc18cfb91a73b1221fd085c9e0eb0e1ee9586ce677f9419ecf09519613d341caa2b396bb62c5663f51e3395f570265662fb5cb84b6c29120d986238aad7e503310b83a8e4e4d3d8a4fc5002a4f130ef0694904d6739b2fec4c52c7b913ff9e60e9b8f90c7f5cc67224296435f6089c0852b58eba0503601212f865973624d8e4e0ef9c0bc2f8d24845ccaf77873dea1f3b4a897fe88410cb88eb4d542a72e458079886493a24ffcf73250e8a97259a6373537b4781fdead5e576da0fc99bcb35b7011a96c289f229602cafb023355f9296654d818129904bb7c6f2469aace5250f63346b09887b6e12a692921785538fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fe4e5934ab7962ee9718bfb32353dbd52e637febe59da41074abd98547c2e0885810000c41cd8f1488bfd27335b97106e3e358e8eaa8e02524fd8fbd410eb21e400c01c223bf501d04f017822e8268b91b5e2a324aa52c72fc549a382d55c58e23aa4ec9eab755c10df1cd723136b75303c0650d251175e70d5aa9f583250b25cd64455891c48e39dbe0b61a9ac14e0a433e7a4b0d8e77d845486bbb197376b9f8583b23b486dc24503acadd419771a702e81f253d365c0e2a0b57431eb020fd7374e2ce34128288c4393b1399d78884e8ce9a5d405e5380d330e68f3d37ea03a3c4c02c1c6a48bf88f5bc0983b216ead0b11c94d1e321aedd4216a36c668a31cb2328dbb493f3163ba85d8c7923d3449c32da099237e8ffd8a652b2a363f1ce0348772662156c8c1cb504b4ce26af5e9b5377f3d0ed3f87dda36eb95da9c0753479a2be9bde889d50f8ec139c46399b0697cc01e1c00fb3177d2a2d3589b08d089409f2be677ca7525b544d14f6fa2a4a97b46b84dda4b1ace9b3c3474ffdaab760d6ac4e4190279c7f308014c094401f01758fb5dd61a2df43f14c5cd8276264feb793565e4c47d1ce77d60502756f515e1216fdcbb7e1fbd8bdfb6137ede2f57ed0db0a310622527fe6ebfa4ecde0ece65c55eb142088516f9d557a86d353479f5acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d7c4a6f48e8b40e82bb079c859efe754af12363e37304e95d18c9bb9c0205e4c12156989d67d1d9b9b75d7fc955ce3068ce0442c5354875ea0f4d3f624a0af29e2a43ef7ae5943dd6c9d877194c19c23e0c341e63405c64d180d7b9ec0690bcc521b6be1a1454abb1342c4f98a36e84c4f06f9053b9542f3e47e5f24dafea72c164565712943f111bcda6097b6a712f194fa9e58296ee5d38bea7d94fdbe8e5db7dfb3a1db14c63ff5ad32d439c370ba4219871f2cbc2be28b42676ad0c0ed64b2e9900078f3db0cc05b5e6af9f83e3555bfd252481c6f2bf219ea746bf4a7167d654be58105b9656b234a7cfea9bfb78f60702b664acd60f77ca449afe49512e2815d1249052c8188a068b1fc9b47dea78b586c5235e4404e75962d65941ce4729469fcc35398bedb7b84eb6ae058743225a06b22471d5e0d09d082090bfa2d003e62c193258e874fae72d26cf08b6e14b66b5279cab80a4f0660792285cff6e26c4d405821af208b9eff1138260a39e1d41476b9ef6a61463e38f55d9663c83484bae1446dceb59f25da762b88b885d087656eb2329663c372962fe210845dc2524196c2f1de3d435058e0c7061825891f76c5a55778f8b3e28074c3b0c8bbfd90599a2b959f4db0ea03405696d1a542d399df381ef126f4719c73d8f5686ab4738fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fe82ab57013ca6bb4e1ba37f4c05e645804861ecdceec810c524f4cb37c61fd52d4749ff8baf52aa51bb20d09f73bd86456bd0e93689ea2d45248ccb0e856cf4d7c7dee6fd09fb4b6b471e77b1d52931808b40762f9bb6683381a5fe666f9526d32445340e25b73bfbd1ee018c8bf7a1d97de5f475d227c5d35e632f13f8dceba664de2207199122e834db04fbeb664798d9e1ee2c14ce887fcf8982641265501a4bc2ad1543eecaac5df0c32ec512c0f892e7ec19c7e15aadce3b44211fc87ee6153dbbfde4ab8d5daf7bf7f39549cb8d6b8f62b55bf026b1d4af058f525db127628c3b21803bc9f2cd0f1b2c4cfbb2df9782730403aa9e8d91369fef0ca1a4117408ca03599ee1a9c6163f1e34cb44d85baf5f61adfdc6b821434e9fe6413459c0190d9aec1a93ef1dcb3c23cd63fe4a66c3695ebb088091e0f3919259f347eb1b5d6216a637a5ed6b4aa848fd5554236cf44dcdac7dcb802488ab645c2fab23e47b494548d103a567a6720143110cc3ce309b51ded31914184c08a5927398f53512bc333e1d71d32a57ad58294a285035c72b03a63d17d93277b765cab33dd8354a13afc7f033ccacdfc3057caf58c4acfeede7c3f52ca6a19e487215329426c71c3095d2475e25968204c47eec8a425c380261d5e14fe031ce6717a7f85eab7acbcb628aab591846a06dcecc961dbf8a06630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d7b11936507a6cf2b4c261f12928bcb907f54bbf5e7a0d8fbf90510fa78608586000e9b94b0597285534db153a81df81fc5caae704aff7e8334ebf61acdc97111cb8e4bbfe6379848ddc42a9f1695cf0534faa7a0272f5900fe3d660a743fab0bdecef05c1c2bcdf54b915d4622c4886c4ee40ffc12b8728ad641bf7d948b4298646296b91039a55a3e0c5bf0f85f9bf704b6d562069e24f4e76d2c8947c6fc0f395e4db600344e095392a2ab895e3cb4eb86d52cb995e57eccc2dc7b8f715b8cf4b6377e7f100d8684008543f5a35ffd221af32796815d443169f44d334db8a89baea16497f993e4c6001fc2536d91288506d92c97c0ed6d5c6640f196609630104c656443dbc54c05fd5c5cf84ee19d55d27b28a2209cb769a6dff1f3c07fab93fe1cbbf0ad86465de7639c7038e1601afd9d89894c4be248bdc3fd0b47138c60b37b7e2a51fb89c75e930bcbe15531085bbba934edb6c1e5cba2e921c0509236ae58f2916355d92c68ab56c5e6efa38d9ff45a3b210bb4b94b2be71968ad734c7fd7c463c07e51ff28741f488ce478b9922d763f969ce41dfbeb04f5c0562a759972bfb7b169de760a3e4bcfa0027f8501a33601a35018daef1b9d307330b8d1d3fc22ffa161b7ac17df470719a5926557e00a026704ee39b11ee9621e8a63177aa19d5c1cbfa6fe593a11a872d623bc2f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fe1074aa2bea679946103f18e6656f1a510b0f7ddd0ee164fd66943e0a2acbd474225c5d4c2fd3a86115f690b47827f102731b742d0f771d8675d0616d43e49063b57ea00a005207453487081c642a10cb801f2a522ce28888349f9d963a6bfab34819bc529feb95234bf83858fdb040b7325e6517e7e4ef4dc3c8659dd7f00063643531f74bd272d6d91ab9feb2d6e068c150dee6fa807b3d4a3b863ba5b8d1365c22f9259738319b1c47da9e192e4f1279aef5b40043140771d9d57f9e893fd3a444c9c3f928534f58557568e1efa39c476189ffb466b3b1a6bcf26ad676def96e1448b2e2b0c8ab9820713c4a7b7c6195d006bb21087778d48e61d42a92394ee2713b075dd7dd36f4a8c0d838a345c1175a48b259b57d33697d138060e5405fc82ad152007d5de68a3fba8222ab257e9aa9eeb0b9892935de05bfa66fbd805aa4e5ca980dfd8e739097e488eca349dadb1ec4f63bf3159a78bbed86b2ae285c5d4e15ba8eea5fde6c999041485e482eee3bffb6b266dd3e246ebd85f7a6900a0bbb8df96c4ac163c397f03f623615ad510894bbc19359490b7963478e7ea776ecd23f0e77cee3b4a7fc3244ebcfc92f0516a5e76d16b9ab66a2b8b89b2fe9b85077858592690e2075bbf0dbc5981a3408cb1d3f2ad166886a2a5e8c687be9c85c4d9dedc63da45fc05289ca9d20eac24706630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3de94b340fb8bc7df41123cf43539f923ceed30756641915518198d4d11ee55bfcb07fcfeca42ba1320dc0989f38fabafab087daffbefa758284b8f6d581170585c18621c56a549005726218d699d758388a62a6aee680a3b9bd9630cc04e17b73a4d58b846a26f033720f7b3797912a5b9c2318042f36ebb88ce8d7f6b2a78d4b6412d1176deb15c6f10a22703f9f932f37aec8f0c6908ffcb9118063ef07e76effe22d3b345547360b3b8ddae80d60396582a3d450bf3bd068b3eee6ff114b3a25e5ac572199cf1689d2152d4f12e2e17d2206af23804ceaaa8d0116da75e5f37cae462d0ab59c6fa4aeb537ce77d16378ec10f8523c659826cac1f343a39fae6661485dce527b7dceb3c8a327563256a92c102d8fc6aa49b893cc3a7e8c39a186cbfb03ae226a46af5035965078a24c94301efee394f3283061a6346cfeb5f52a976923879ffd367c9e7c5342a7efc5b71fb0de45c44c99f3c34745845c1e106a4f6f49b593cc26ea76855b9e1488e13789ed320f48e585bfb2372e75b7ef2e0972093f207a321af60c6110cc7616435c9bd811fc3af4eaf27760911d1c819b14e3dd8fcc2456cb39054775e8e5e2de5fb6350f03ad409377661db11c02419beda983b9be881b47f5385c427233c468f5399df381ef126f4719c73d8f5686ab4738fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fe681f7cbfc41fca8804b4edb2ae93b85dc31ca6a024c0147ab04fcb39ab4573b0d197fb5de0a512eeb3245e6aedff2c1d20c5158598f2e309b0ebe113f0d5beff4b8b817a7e723e18bf218bfaf847011bfdc66f6c6f29d616d7e545aee30b466d440e9ad86a6a0dce0ab1810fd5e79ee266329a13d202d1bd5767fdd75433520e64276785050ac2ac81e82ed19b94a78b7d4f79e939af456eb97032e6139c58168cd4f9086fbfbe2c88abd4fca904ad74e604e93f5530828e55719870db56f0a045d08f0a53b86dfa1f6a82bfff4a093237b63dfac8a813eb140b04de5f4b5df718f7df46eec096d57e6bca50b8285c97372e3389c4b448d4f43bd1c0f33e97dae36a74170b32d6782bcd2167425bda058e9c64f7a89885d4c09f8d85062024c0f05c9b84428d132e1ad6dabc744ec77f840e7ee1d504d8affe5f6e56013de1600ed43216dda1f41f4ad0de754d819fde1276767792c70a0b58a764eba11734b7de0cb78e9f9b0c45223db6583b7a934dd31afc2c3632639d2884617229528783b78559a2d16086a88197c37a5e5b619c0633c43fd40183e949ff8fe29fc2208987ee481b85012ce5aa7649e451025134fdd4a970f3a6ce81115bfcfec4f8bde3eda983b9be881b47f5385c427233c468f5399df381ef126f4719c73d8f5686ab4738fc53601340683acca3f0ee7d33ff183a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22fecb92182704d87166492d6b767271c1e775d35eb71df5e5c4946febffcf7bb20b17eb4433f945a66b6df6f85039664e10e820a6b764b8d25ef6bd04c6eff9fbb75d1029401ea60273eb7b0ec55a8d0f05bc44d3c267d136403eda08aa4b69b6e65b118319f38eeaecd8094d8f945e29c95aa6d317b3023c648336c744d77f7a206449e32553548a04c7b39d3c1ad0a88fd18acae8cd5316968b7ec72d16310fac987822b76d056b7677953de39954c5361b0e98cb957739077be5986cf942b510068b94f1bd6b5145fa18ca268486b3d456aa529fb1cf13cb90d2e122f8952611cbf768a608f5ce1ab71a9c29bd314988d013c4b5befb5eb443e7a742f60dc212aefa8be5f047aa59e7c3cf10e2d5b00a7624e9ce1f604f5be5a86945ff4606266b9ad8fae33c3d1d7f88cc3ac95328c0d3dd6af92b61e814f3bafae7bd07ded51b2f5243163220f95369c30db6096a4d0fc4cc9a0df6cd5ef1358c94bdae024bf784e8cde22e18c1b0cd16c5af46b3295e684f2dd588566cce14effa43f7c4a572fcbc94ebf84b89d24b3403763635300bcd53bc83c3f7dde4d9b678d48e4e6811a832219a9e46287e5731035118595ec64214381662ce5365b15be68ccf02a63b39b3142f636b086141fd92a046cb50575c55eb142088516f9d557a86d353479f5acb74c5cc7f7ec79925221578e1dbaea4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3db863e652a56d01a4c4e05f8f187d8fcc446d2fa443ab1ece00e140d3c4fbe725a55a19099ee39b4c93f9706038cd42a727ca14a8dd6dea27b536649ee4f969ac6da92c256fde09a2f2e698a777ea8163c87a4945df4f73480b00dd2675ecfdaefce7d12538fa7b695d282fa0f4be95ceb6a5aa46431cc7e28341cc0c960814dc64ffa873badfcfdf6b6803f735e7e95357d09fdbecf2b2af0ba8282174e69ce2f3acf26afe81cbf98b9cc3ff30ec531763a071b826071e05c98e7bd228950824264a828081cfbabc94ab24d6e1db398f0a11831a65c232e7805a917ec84fa8d7231cba2245a1d3c4f16b53f606f04f8f5cd1cec0b8ed9415cc94429203ccba2cdbfc12d9792e202317dbd43c05394808ddd5770490eb03dff1efc7be99601dc0c69bfb23727399d4f1f4350e4c88c2dff0e0416d734820e7e57dfff7a6971c801c1104e969a3345c8e14ad4a1056f30d12096d87bf0369c6da052667baade58b9bea02671b956532eb33384747f84ef9cb5d9eaf740b2c18a7076c210ad8fb71ae2eb28cebd182e2bdf770ad19a4d81cb30a1449a384c030f051b764769996beedf81f120fe583421d579310201770f796b7818936edf2bcbca9c0da12b4731c86bbdc10ddb79cf75ccf1b587449d4d66b57e00a026704ee39b11ee9621e8a63177aa19d5c1cbfa6fe593a11a872d623bc2f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fe9514bf296be210bcdbdb4c8040fed9145ceca7768f5bf0215c9da175719a7a300f97c9e509055666f29f2ea66db300518cd11274dfa0ea74f3e52c28aa8eda89d809d996605a0ae98c838fe9dd4fa76807126f5f004a0162d620164222ec83621bf67fdacc265492b8e91cab8575050af309db7a77f5287fb2e640ad786bde546415af8925479aaf8aee8c9cf7223ed2e6b9a7c4b623c6ba2ac44deb1d590ea76c340ec313f1658cd64cbe1762d182a3fb9240e06a2f248babc8677d0bea16469767f5269ab9d1a469e85df76546fa9546e088faeb495391309e1c2eb75cbf822b832b0ece3dfe5bbfec32312bda65836530f2eecf9cdaae7f4976ccdb3986c3adc9cec6a0f9368f3b398bf4aa96d1edff43fce1afa47e140692e1cd58cd1dd17f2e42298de14b2d8901a24e9cd2ff9e07677537a9305c40e12088a36aaaa8d3df9b30acf194c7059cb650e0812327acde151b506becfb14d4429f4d2da36a35034a68ca64c5432e9f6a38f94112652fab19039e8c4760dd8a34109da5125d737c9f4783501905a77841fdcb1a43a37ffc1259f3c9dc677b009b3db0137e939f524320422007d5dcf466107532412f8279bf6aaf53717e034bdd975df19c59ea776d9aaf567a4077a92ad38fda4cc30add960b00bf88825ceeba9dbc9e819fba10b172fda155b4c3e0c965d426c7cc3d8fa4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3dcc9c7a153423f64217aed7d9d7e256a09cbf78cf53131581baa341f1977cfee9beba7bb17b022a10d51aff5b4e5780cbc45fd9678c8ee1498ec5547324b4ca6b4a5392a8bba2c66cfc2a4d172eb86f4c509a5a39edaf7fd5ea8bae373b75e573799bb175225594f6f4c0538ce20a5335e5a8defbc702398b62d679ddb982fea264ddedca400027d154ccf9ad10ef11957f709bc602fc2a5c7fb7d3de62d9ccdd2aefd57aaa943b11622249930a513160aebc4f9e664e5663886e27c4092b880727ef90ed073f53aa5da6d7476b81872205c97139b95b198f0f8edb7d7c3d140a8d27c5f4a30d3be5901bcf6618fbbce8e6d3f8569ccd3f4d97928e7abb11e7916991eff7b84a4e645a3d21613d6fb4b19bed0ec1ff2073891604b0c4597f5c9e779543e6863622a22ebc43228a6e7a9a2d94f23fae834fbf81950b37eb195561b20410bbf0bd54391ae60e5b5de4ffac0d1a24a8e2fa15c5db72683f484f486d42825c2fc96a7a24ace6ed844f6aab2ddf7ca655c943e21404a00412aabe69f553524f813575c262c9057470a411c9acdd6f8bd69e5f752e5d89160fa933605cf44793b1ef6b8b01b286c2573f0c0797a3e0878abd056822c42d241942b863e6167316623944b9757dfaceccec2182f047111ca4c94ba6cfc115d0b8bc7b50b5c74d9dedc63da45fc05289ca9d20eac24706630c3eb2e399f89eb7c05bf447ad6bd78321b28a731a5909a2f966e4c12e3d685593852ed7ce9a4fbc41da2e70d04783f91e0ad589b3cac12ed601e1e23a56a6c1c3cf5b67ae497b79dd175e6f3a4486f40b7c2f6af319e54249324867f223f0e5e7cebc9ac685aa40ec5c602b2bf05716d161bbcd7125bd148b1db4b8dd2ffc235e6ebebcdd051055abf9c6d1a7c67f86c3970241a9ed62cfc9254e38806a64accaf8d35e0263699ef6144f78ba5c26f645c7ad779c0a17fcccb68f2f250258a59c13c4e0b516463fc8525b789e833cdc705ca765a7cd7831b574604a73cd523d086146888f1f29a4954c3818bc3af4e51af910f6afeaaa5f419c371dc40d893d1243cb4672bf2ac366c1fb2ac6f304609cbd7a5a45f133641b71ea566fb25fefa16b2d700220df38c62c5e2b1f742d301544400dfab01de9f0a740a94c7d684c5a9fd1c2263dc7e4202009c06a016cc53430d518b5a4a16e06ae3dbbf3b28e9d459fb935cdfab4f73c1166d8f912347be9d6bfd95bc7209fbbe00aae2e325e0ff701df66d92f80630ea581c1419bfc09e7192ca7f6cf64422d280fd2106e0ecfa0d9d1dcc4789c91737b788a61aafc13f76903b1bcec8e3977ac38838a4ff7a24c607e6fa3b9f3a737384c06110f5fd8178644f6c53e5e3e9049ff48f3a60a521aa8511d68101b947706abb02b38bbcbfddcb5d58aa3cfddd061653f27d28a003e3e98c0c2197ba11eeac3d9fe420b3a9d6d0877dbd2783df87ce1ea51152f15de7ae9cb5e1c5a30cb3a0922fa22feba46febef3d1448b2189cebba91d91bd156e941c4f150c86c998f156ad4151dc13b4817fa0fcc6594083a5e9b74e4c1044d42cd80b63f8fd4eef2b2de308ad241d4c01b50c1a39a612700cd2ef4c6c7ab02ee7ef3034a6c2cefc16d0a3a41942405c50147879f4f7a5f1592d9678a104b60c81bbaad68841d52f629345e1cc1d64e5788cec8f23e81aecb75282562af4dbb36315efc685d42f6ec750326ac85d2b5e06fd4d13963a27eb00b75dfb394c60c2c462f5f588c4d69c3c6f74a3f5c83c9be7b681c8287646285d77c245006be0b012b5414c9619ca9321dd7b8aee5e0b9e2f0caa2c3b4334307eb043c58481b6e13b8685b45e8a601fd74bf83e9403bfc98343386845f3835ffd0a10a6285585b87957a0d394d81fd902628bbbdbb581e5c9ee96adfae403e132503ce6bafd60298443e0be438de2f4d08fd1bec3393db81ccd16cbb9f025d0fcab8aa33ca8db8581cc694cb3a85e15136c636a7a38bf7f209cf25f5f5735753dfec18f6d1d3d501ad9f6e0010d192f65b7abef8eaa9560e7f599fea1bae92ba1d03219dc13e69306c6806ff83b03448dd4f2bb4f37eac24fae8d4b716a9e42ca8eccb0fdc9eebf6aaf53717e034bdd975df19c59ea776d9aaf567a4077a92ad38fda4cc30add960b00bf88825ceeba9dbc9e819fba10b172fda155b4c3e0c965d426c7cc3d8fa4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d512a044744f6b94b5e697de5e8cab388a74a7312d312a1c3a0d42567b3b05f77c6e34b157c5fedfc112a215c04cd1bba901cc7f095e9ebe3647c1b7a3620555868ef29da7f50b6a3d612a9ad1aec74fb77429c7617be1d259d0d775b7f5b28cf65043171bf755a9f0cdd2e7db4125f57c06b755e88d329cfaa4bbd4f6e59f4db6470b61abb9ee2d3203e0ed71082ce44d15403409357b62698d72968321fd83fcb5e9e380f4dd10956eaa592a048e119e0fdc685777535421a15fe7cad2f5070161c2c6114159e753ba2290ab4158a57be508d29aa8cb0bcecd9a52aca893c46a9d47f0d4c689903a6614047c54ff5fb5710f8dca983b188f8f568f03c81fb1b3edf434389218bfbdf9ed20ad2fb6fbdcadba58abe8c4aaa866ef429c23035d9849c067d89aa9580c5f2dbcf52ea1c7412176caf9ef4d1b2d7b47b9ed2377323e1ba081c34677de9a6bcce151b59ade7cf798c0ee989b318bf89bc345dad0df2fc042de4f4d28487f38d89e8aabcaf005f419609dce8cf026eb2958c38fe4748b3479ba26d9a66b88bfd2a7336f4a8f75e7b321dc6345c773d806e8e74cad8ecc0bdec364ae00f1339b01660bdd1ced898f06fb5a8c9ea4ff68faf6417af59ac01f1856a7ec8daf46feb142f25c0e9290c0c283c533c5ce41eae20915f6dcbe386fcab7eccfd204a7328f3c3f2c92e90312f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fe94ecec069e67d35397e0cafbcc2fbc8835aeb86bc01bf27f62b6ea035aeb4d08db18c89a4a4ff200233abf58fef1dab71aca57d912d7e2f5ef9c92e13d2c97cd0a9e56f2928d196db870d9a408e28f97cb9eeebbdeb9b67e335e62033ca382be557075d3bfecef1bbb2cab056cb44a051ec9253f820b8350b1e40b5a835ea64264964d175fcf411fc79af95cbc37f978961c70070269f6258d13b646e07822c1e8d257679399f1b0b4aaa2dfe981f1fa9f0417b4d6d1f1276cde6fe701a162c5074fae127989bde8c023246123a60e98cc5d1d4fabb3de2d711bc3888609eb068dabd325de07e9999f871c9a981229ae7a43d1e47b6588eaac618029f66c2da45f924127a772305c894ae509d6666c17e10f79526c11c59bfdddd8a1fc6a2acd147580d173d84236702bc100def3a07d01013c19a4d9e3b70ade3cf74eafd3f038ae8da3124836e36ef5b0c15c8790783965b6c0b5804c7242509a3896f9ebaad5f19f082730d8804664bb6ec0bce4f807a3cf54bc7966bad24299c172d7f14c84608e4abf3fd48040a0c4c8911a63766d1259f3c9dc677b009b3db0137e939f524320422007d5dcf466107532412f8279bf6aaf53717e034bdd975df19c59ea776d9aaf567a4077a92ad38fda4cc30add960b00bf88825ceeba9dbc9e819fba10b172fda155b4c3e0c965d426c7cc3d8fa4ed24cfdbda5dc0d5251cac9a7152a3d78321b28a731a5909a2f966e4c12e3d96a8141996d52df94fcb0408b56504d1d9dd67d22dbf928ca449a1c0c6eb82df03ece0ca8126dc2b0abf088a3b1671bfa4e0b1087c6a3f88ae34c5f7cba341304ba4ff0820c78d73c7cf201344d1f827abe459c9a5098da91766e5e1fd76220a15fa7eac81e557384aca89adca27991acb9d82c2f8f0ed827128f18c3def0df96408bce09e0096b609f0c84cea95753c9c169938f2ea23bc39c94a642f0458699998a1c339ab7bc8efee47aafd77612bdd6b547c28eefeb4656604d3b16b0f782c3e8d77ca517bbf907a24f215f2d14505c1ae2c90f55d3471607ef18112adea5292047d189cda0b4c9e5cc30fc63f0b54eceabe2f0496f3e02f43ea504d50bdc70b4270aea36c6a83a321c1b65d3c27648ff3bd39c06380913fc7cae1d3b3ef11b701f57207f79822fc45c89f42e98e6a26f0b8e6202ceef27c421c14597babacc38f95aead583faa3d632d7099234c19961be7f304a2d191bc2dbae1d918d84cbd017b739eadea6924f4dd53ef8298cfdcd2deade161cca985887390c5b1813d5eae339fdea1b8d1e234952cbb5ae415d3b64526f42c1aee6e35ff537b8c2ff6bdec364ae00f1339b01660bdd1ced898f06fb5a8c9ea4ff68faf6417af59ac01f1856a7ec8daf46feb142f25c0e9290c0c283c533c5ce41eae20915f6dcbe386fcab7eccfd204a7328f3c3f2c92e90312f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fedd7e061859730c2543996ce5154f1ae9f56a37f4c84f7e5dd4356f2519c4b242960fb4ce99007bc2401146249a478798b31533a4b820b7539de530c11ba5063908ff2acb3242e4d3a74346abc5ef0de6dc40a598ed77adf23aeb0162c042d32b61b68025633a0ac7339f3a40df07d711fb2816a39adb4f675ef59a2aaabdb92d642c1289586822098c0ff929142ced8a8e83a168821439e20c594c129f8bf8c6f2a59548f8a9117eaa0eb53db74e538ce091612c84fd017fa2d77537b02de55ce208b6c43b05f0ef2f3756365c0cdbc451950ff024151768b6aa41e1d9b4a3a75dc013096099ed98c0a352202548a3dbd28b4ed9b22799896d1b20835ce968f3baa765cc0186b98ddad7c87adc45ed4b3f02cc0e56bfba0b7d3252d144aa443906d32804287bebfa3702b24411fb71518b4e35783fddf41d67f4412cc268b4324446d3a658df4bf0e39edd7414543eef6e29bd683dee94fdfad9019eb31fa591f2021309a88e3b25f5c5a87c59c50b0c1852ed69e11ce51651c7812cfdb4bacb5a479ba26d9a66b88bfd2a7336f4a8f75e7b321dc6345c773d806e8e74cad8ecc0bdec364ae00f1339b01660bdd1ced898f06fb5a8c9ea4ff68faf6417af59ac01f1856a7ec8daf46feb142f25c0e9290c0c283c533c5ce41eae20915f6dcbe386fcab7eccfd204a7328f3c3f2c92e90312f1b82e4e5f1711ec67d37a6d05773cb15de7ae9cb5e1c5a30cb3a0922fa22fe"
e.Init(types.ScaleBytes{Data: utiles.HexToBytes(extrinsicRaw)}, &option)
e.Process()
}