Skip to content
Snippets Groups Projects
Commit b01c4dff authored by Maximilian Schmidt's avatar Maximilian Schmidt
Browse files

Add Fig8 scripts to repo and Fig8 workflow to snakemake file

parent bf102df1
No related branches found
No related tags found
1 merge request!1Add all necessary files for the multi-area model
Showing with 2035 additions and 3 deletions
...@@ -621,7 +621,7 @@ pl.savefig('Fig7_temporal_hierarchy_mpl.eps') ...@@ -621,7 +621,7 @@ pl.savefig('Fig7_temporal_hierarchy_mpl.eps')
""" """
Merge eps files Merge surface plots
""" """
pyx.text.set(cls=pyx.text.LatexRunner) pyx.text.set(cls=pyx.text.LatexRunner)
pyx.text.preamble(r"\usepackage{helvet}") pyx.text.preamble(r"\usepackage{helvet}")
......
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.14.6 (http://cairographics.org)
%%CreationDate: Thu Jun 15 08:56:19 2017
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 3
%%BoundingBox: 0 -1 401 402
%%EndComments
%%BeginProlog
save
50 dict begin
/q { gsave } bind def
/Q { grestore } bind def
/cm { 6 array astore concat } bind def
/w { setlinewidth } bind def
/J { setlinecap } bind def
/j { setlinejoin } bind def
/M { setmiterlimit } bind def
/d { setdash } bind def
/m { moveto } bind def
/l { lineto } bind def
/c { curveto } bind def
/h { closepath } bind def
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
0 exch rlineto 0 rlineto closepath } bind def
/S { stroke } bind def
/f { fill } bind def
/f* { eofill } bind def
/n { newpath } bind def
/W { clip } bind def
/W* { eoclip } bind def
/BT { } bind def
/ET { } bind def
/pdfmark where { pop globaldict /?pdfmark /exec load put }
{ globaldict begin /?pdfmark /pop load def /pdfmark
/cleartomark load def end } ifelse
/BDC { mark 3 1 roll /BDC pdfmark } bind def
/EMC { mark /EMC pdfmark } bind def
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
/Tj { show currentpoint cairo_store_point } bind def
/TJ {
{
dup
type /stringtype eq
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
} forall
currentpoint cairo_store_point
} bind def
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
/Tf { pop /cairo_font exch def /cairo_font_matrix where
{ pop cairo_selectfont } if } bind def
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
/cairo_font where { pop cairo_selectfont } if } bind def
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
/g { setgray } bind def
/rg { setrgbcolor } bind def
/d1 { setcachedevice } bind def
%%EndProlog
%%BeginSetup
%%BeginResource: font DejaVuSans
11 dict begin
/FontType 42 def
/FontName /DejaVuSans def
/PaintType 0 def
/FontMatrix [ 1 0 0 1 0 0 ] def
/FontBBox [ 0 0 0 0 ] def
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } for
Encoding 49 /one put
Encoding 50 /two put
Encoding 51 /three put
Encoding 52 /four put
Encoding 54 /six put
Encoding 55 /seven put
Encoding 65 /A put
Encoding 67 /C put
Encoding 68 /D put
Encoding 69 /E put
Encoding 70 /F put
Encoding 72 /H put
Encoding 73 /I put
Encoding 76 /L put
Encoding 77 /M put
Encoding 79 /O put
Encoding 80 /P put
Encoding 83 /S put
Encoding 84 /T put
Encoding 86 /V put
Encoding 97 /a put
Encoding 100 /d put
Encoding 108 /l put
Encoding 112 /p put
Encoding 116 /t put
Encoding 118 /v put
/CharStrings 27 dict dup begin
/.notdef 0 def
/V 1 def
/P 2 def
/four 3 def
/t 4 def
/O 5 def
/T 6 def
/M 7 def
/S 8 def
/d 9 def
/I 10 def
/v 11 def
/C 12 def
/A 13 def
/one 14 def
/two 15 def
/l 16 def
/F 17 def
/p 18 def
/a 19 def
/six 20 def
/E 21 def
/H 22 def
/three 23 def
/D 24 def
/L 25 def
/seven 26 def
end readonly def
/sfnts [
<0001000000090080000300106376742000691d3900001198000001fe6670676d7134766a0000
1398000000ab676c7966918e5f770000009c000010fc686561640d1447cc0000144400000036
686865610d9f07880000147c00000024686d747885aa0ebe000014a00000006c6c6f63610000
f19c0000150c000000706d617870048806710000157c00000020707265703b07f1000000159c
0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f272062900010010
0000056805d5000600b740270411050605031102030606050311040300010002110101004203
0401af0006040302000505010710d4c4173931002fec3239304b5358071005ed071008ed0710
08ed071005ed5922b2500801015d406200032a03470447055a037d0383030706000702080409
06150114021a041a052a002601260229042905250620083800330133023c043c053706480045
014502490449054706590056066602690469057a007601760279047905750680089800970629
5d005d21013309013301024afdc6d301d901dad2fdc705d5fb1704e9fa2b000200c90000048d
05d500080013003a40180195100095098112100a0802040005190d3f11001c09041410fcec32
fcec11173931002ff4ecd4ec30400b0f151f153f155f15af1505015d01113332363534262325
2132041514042b0111230193fe8d9a9a8dfe3801c8fb0101fefffbfeca052ffdcf92878692a6
e3dbdde2fda800020064000004a405d50002000d0081401d010d030d0003030d4200030b07a0
0501038109010c0a001c0608040c0e10dc4bb00b544bb00d545b58b9000cffc03859d43cc4ec
32113931002fe4d43cec321239304b5358071004c9071005c9592201402a0b002a0048005900
690077008a000716012b0026012b0336014e014f0c4f0d5601660175017a0385010d5d005d09
012103331133152311231121350306fe0201fe35fed5d5c9fd5e0525fce303cdfc33a8fea001
60c3000000010037000002f2059e0013003840190e05080f03a9001101bc08870a0b08090204
000810120e461410fc3cc4fc3cc432393931002fecf43cc4ec3211393930b2af1501015d0111
2115211114163b01152322263511233533110177017bfe854b73bdbdd5a28787059efec28ffd
a0894e9a9fd202608f013e00000000020073ffe305d905f0000b00170023401306951200950c
91128c1809190f33031915101810fcecfcec310010e4f4ec10ee300122001110003332001110
002720001110002120001110000327dcfefd0103dcdc0101feffdc013a0178fe88fec6fec5fe
870179054cfeb8fee5fee6feb80148011a011b0148a4fe5bfe9efe9ffe5b01a40162016201a5
00000001fffa000004e905d50007004a400e0602950081040140031c0040050810d4e4fce431
002ff4ec3230014bb00a5458bd00080040000100080008ffc03811373859401300091f001001
10021f071009400970099f09095d03211521112311210604effdeecbfdee05d5aafad5052b00
000100c90000061f05d5000c00bf403403110708070211010208080702110302090a0901110a
0a09420a070203080300af080b050908030201050a061c043e0a1c00040d10fcecfcec111739
31002f3cc4ec32111739304b5358071005ed071008ed071008ed071005ed5922b2700e01015d
405603070f080f09020a15021407130a260226072007260a200a3407350a69027c027b07790a
80028207820a90021604010b0313011b0323012c032708280934013c035608590965086a0976
08790981018d0395019b03145d005d13210901211123110123011123c9012d017d017f012dc5
fe7fcbfe7fc405d5fc0803f8fa2b051ffc000400fae1000000010087ffe304a205f00027007e
403c0d0c020e0b021e1f1e080902070a021f1f1e420a0b1e1f0415010015a114941895110495
00942591118c281e0a0b1f1b0700221b190e2d071914222810dcc4ecfcece411123939393931
0010e4f4e4ec10eef6ee10c6111739304b535807100eed11173907100eed1117395922b20f29
01015db61f292f294f29035d01152e012322061514161f011e0115140421222627351e013332
363534262f012e01353424333216044873cc5fa5b377a67ae2d7feddfee76aef807bec72adbc
879a7be2ca0117f569da05a4c53736807663651f192bd9b6d9e0302fd04546887e6e7c1f182d
c0abc6e4260000020071ffe3045a06140010001c003840191ab9000e14b905088c0eb8019703
17040008024711120b451d10fcecf4ec323231002fece4f4c4ec10c4ee30b6601e801ea01e03
015d0111331123350e0123220211100033321601141633323635342623220603a2b8b83ab17c
cbff00ffcb7cb1fdc7a79292a8a89292a703b6025ef9eca86461014401080108014461fe15cb
e7e7cbcbe7e7000100c90000019305d50003002eb700af02011c00040410fc4bb0105458b900
0000403859ec31002fec3001400d30054005500560058f059f05065d13331123c9caca05d5fa
2b000001003d0000047f0460000600fb40270311040504021101020505040211030206000601
1100000642020300bf0506050302010504000710d44bb00a5458b90000004038594bb014544b
b015545b58b90000ffc03859c4173931002fec3239304b5358071005ed071008ed071008ed07
1005ed592201408e48026a027b027f02860280029102a402080600060109030904150015011a
031a0426002601290329042008350035013a033a043008460046014903490446054806400856
0056015903590450086600660169036904670568066008750074017b037b0475057a06850085
0189038904890586069600960197029a03980498059706a805a706b008c008df08ff083e5d00
5d133309013301233dc3015e015ec3fe5cfa0460fc5403acfba0000000010073ffe3052705f0
00190036401a0da10eae0a951101a100ae04951791118c1a07190d003014101a10fcec32ec31
0010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e0123200011100021323637150e0123
2000111000213216052766e782ff00fef00110010082e7666aed84feadfe7a0186015386ed05
62d55f5efec7fed8fed9fec75e5fd34848019f01670168019f470000000200100000056805d5
0002000a00c2404100110100040504021105050401110a030a0011020003030a071105040611
0505040911030a08110a030a4200030795010381090509080706040302010009050a0b10d4c4
173931002f3ce4d4ec1239304b5358071005ed0705ed071005ed0705ed071008ed071005ed07
1005ed071008ed5922b2200c01015d40420f010f020f070f080f005800760070008c00090701
0802060309041601190256015802500c67016802780176027c0372047707780887018802800c
980299039604175d005d090121013301230321032302bcfeee0225fe7be50239d288fd5f88d5
050efd1903aefa2b017ffe810000000100e10000045a05d5000a004040154203a00402a00581
0700a009081f061c03001f010b10d44bb00f5458b9000100403859ecc4fcec31002fec32f4ec
d4ec304b5358592201b40f030f04025d3721110535253311211521fe014afe990165ca014afc
a4aa047348b848fad5aa0000000100960000044a05f0001c009e4027191a1b03181c11050400
110505044210a111940da014910400a00200100a02010a1c171003061d10fc4bb015544bb016
545b4bb014545b58b90003ffc03859c4d4ecc0c011123931002fec32f4ecf4ec304b53580710
05ed0705ed01b01c1011173959220140325504560556077a047a05761b87190704000419041a
041b051c74007606751a731b741c82008619821a821b821ca800a81b115d005d252115213536
00373e0135342623220607353e01333204151406070600018902c1fc4c73018d33614da7865f
d3787ad458e80114455b19fef4aaaaaa7701913a6d974977964243cc3132e8c25ca5701dfeeb
0000000100c100000179061400030022b7009702010800460410fcec31002fec30400d100540
05500560057005f00506015d13331123c1b8b80614f9ec00000100c90000042305d500090029
40120695040295008104ad08050107031c00040a10fcec32d4c431002fecf4ec10ee30b20f0b
01015d13211521112115211123c9035afd700250fdb0ca05d5aafe48aafd3700000200bafe56
04a4047b0010001c003e401b1ab9000e14b90508b80e8c01bd03bc1d11120b47170400080246
1d10fcec3232f4ec310010e4e4e4f4c4ec10c4ee304009601e801ea01ee01e04015d25112311
33153e013332001110022322260134262322061514163332360173b9b93ab17bcc00ffffcc7b
b10238a79292a7a79292a7a8fdae060aaa6461febcfef8fef8febc6101ebcbe7e7cbcbe7e700
00000002007bffe3042d047b000a002500bc4027191f0b17090e00a91706b90e1120861fba1c
b923b8118c170c001703180d09080b1f030814452610fcecccd4ec323211393931002fc4e4f4
fcf4ec10c6ee10ee11391139123930406e301d301e301f3020302130223f27401d401e401f40
2040214022501d501e501f50205021502250277027851d871e871f8720872185229027a027f0
271e301e301f30203021401e401f40204021501e501f50205021601e601f60206021701e701f
70207021801e801f80208021185d015d0122061514163332363d01371123350e012322263534
36332135342623220607353e0133321602bedfac816f99b9b8b83fbc88accbfdfb0102a79760
b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f8b2e2eaa2727fc000002
008fffe3049605f0000b0024005840241306000d860c00a01606a01c16a510a00c8922911c8c
250c22091c191e131c03211f1b2510fcececf4ece4310010e4f4e4fce410ee10ee10ee111239
304014cb00cb01cd02cd03cd04cb05cb0607a41eb21e025d015d012206151416333236353426
01152e01232202033e0133320015140023200011100021321602a4889f9f88889f9f01094c9b
4cc8d30f3bb26be10105fef0e2fefdfeee0150011b4c9b033bbaa2a1bbbba1a2ba0279b82426
fef2feef575dfeefebe6feea018d0179016201a51e000000000100c90000048b05d5000b002e
401506950402950081089504ad0a05010907031c00040c10fcec32d4c4c431002fececf4ec10
ee30b21f0d01015d132115211121152111211521c903b0fd1a02c7fd3902f8fc3e05d5aafe46
aafde3aa0000000100c90000053b05d5000b002c4014089502ad0400810a0607031c05380901
1c00040c10fcec32fcec3231002f3ce432fcec30b2500d01015d133311211133112311211123
c9ca02decacafd22ca05d5fd9c0264fa2b02c7fd39000001009cffe3047305f000280070402e
0015130a86091f862013a0150da00993061ca020932391068c15a329161c13000314191c2620
101c03141f09062910fc4bb016544bb014545b58b90009ffc03859c4c4d4ecf4ec1117393931
0010ece4f4e4ec10e6ee10ee10ee10ee11123930014009641e611f6120642104005d011e0115
140421222627351e013332363534262b013533323635342623220607353e0133320415140603
3f91a3fed0fee85ec76a54c86dbec7b9a5aeb6959ea39853be7273c959e6010c8e03251fc490
ddf22525c33132968f8495a67770737b2426b42020d1b27cab00000200c9000005b005d50008
0011002e4015009509810195100802100a0005190d32001c09041210fcecf4ec113939393931
002fecf4ec30b2601301015d0111332000111000212521200011100029010193f40135011ffe
e1fecbfe42019f01b20196fe68fe50fe61052ffb770118012e012c0117a6fe97fe80fe7efe96
0000000100c90000046a05d500050025400c0295008104011c033a00040610fcecec31002fe4
ec304009300750078003800404015d133311211521c9ca02d7fc5f05d5fad5aa000100a80000
046805d5000600634018051102030203110405044205a0008103050301040100060710fcccc4
11393931002ff4ec304b5358071005ed071005ed5922014bb0165458bd000700400001000700
07ffc03811373859401258020106031a05390548056703b000b006075d005d13211501230121
a803c0fde2d301fefd3305d556fa81052b000000013500b800cb00cb00c100aa009c01a600b8
00660000007100cb00a002b20085007500b800c301cb0189022d00cb00a600f000d300aa0087
00cb03aa0400014a003300cb000000d9050200f4015400b4009c01390114013907060400044e
04b4045204b804e704cd0037047304cd04600473013303a2055605a60556053903c5021200c9
001f00b801df007300ba03e9033303bc0444040e00df03cd03aa00e503aa0404000000cb008f
00a4007b00b80014016f007f027b0252008f00c705cd009a009a006f00cb00cd019e01d300f0
00ba018300d5009803040248009e01d500c100cb00f600830354027f00000333026600d300c7
00a400cd008f009a0073040005d5010a00fe022b00a400b4009c00000062009c0000001d032d
05d505d505d505f0007f007b005400a406b80614072301d300b800cb00a601c301ec069300a0
00d3035c037103db0185042304a80448008f0139011401390360008f05d5019a061407230666
0179046004600460047b009c00000277046001aa00e904600762007b00c5007f027b000000b4
025205cd006600bc00660077061000cd013b01850389008f007b0000001d00cd074a042f009c
009c0000077d006f0000006f0335006a006f007b00ae00b2002d0396008f027b00f600830354
063705f6008f009c04e10266008f018d02f600cd03440029006604ee00730000140000960000
b707060504030201002c2010b002254964b040515820c859212d2cb002254964b040515820c8
59212d2c20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b0
0050b00d7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b0fd454459212d2cb0
02254560442d2c4b5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b0
05254960b0206368208a108a233a8a10653a2d000001000000025eb8369cab945f0f3cf5001f
080000000000d3d94ef700000000d3d94ef7f7d6fc4c0e5909dc000000080000000100000000
00010000076dfe1d00000efef7d6fa510e5900010000000000000000000000000000001b04cd
00660579001004d300c90517006403230037064c007304e3fffa06e700c90514008705140071
025c00c904bc003d0596007305790010051700e105170096023900c1049a00c9051400ba04e7
007b0517008f050e00c9060400c90517009c062900c9047500c9051700a80000000000000044
00000124000001a400000260000002dc00000368000003d8000004d4000005cc000006640000
06ac000007d00000086800000964000009d400000ad400000b1000000b6400000c0400000d30
00000e0800000e6800000ec400000fac0000102c00001070000010fc00010000001b0354002b
0068000c000200100099000800000415021600080004b8028040fffbfe03fa1403f92503f832
03f79603f60e03f5fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03ee9603ed9603
ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5e45305e59603e48a4105e45303e3e22f
05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9bb03d8fe03d6
8a4105d67d03d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03cffe03cefe03
cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03c3fe03c2fe03
c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb05b8fe03
b7b65d05b7bb03b78004b6b52505b65d40ff03b64004b52503b4fe03b39603b2fe03b1fe03b0
fe03affe03ae6403ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105a9fa03a8fe03
a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03a16403a08a4105a096039ffe039e9d0c
059efe039d0c039c9b19059c64039b9a10059b19039a1003990a0398fe0397960d0597fe0396
0d03958a410595960394930e05942803930e0392fa039190bb0591fe03908f5d0590bb039080
048f8e25058f5d038f40048e25038dfe038c8b2e058cfe038b2e038a8625058a410389880b05
891403880b03878625058764038685110586250385110384fe038382110583fe0382110381fe
0380fe037ffe0340ff7e7d7d057efe037d7d037c64037b5415057b25037afe0379fe03780e03
770c03760a0375fe0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21036bfe036a11
42056a530369fe03687d036711420566fe0365fe0364fe0363fe0362fe03613a0360fa035e0c
035dfe035bfe035afe0359580a0559fa03580a035716190557320356fe035554150555420354
150353011005531803521403514a130551fe03500b034ffe034e4d10054efe034d10034cfe03
4b4a13054bfe034a4910054a1303491d0d05491003480d0347fe0346960345960344fe034302
2d0543fa0342bb03414b0340fe033ffe033e3d12053e14033d3c0f053d12033c3b0d053c40ff
0f033b0d033afe0339fe033837140538fa033736100537140336350b05361003350b03341e03
330d0332310b0532fe03310b03302f0b05300d032f0b032e2d09052e10032d09032c32032b2a
25052b64032a2912052a25032912032827250528410327250326250b05260f03250b0324fe03
23fe03220f03210110052112032064031ffa031e1d0d051e64031d0d031c1142051cfe031bfa
031a42031911420519fe031864031716190517fe031601100516190315fe0314fe0313fe0312
11420512fe0311022d05114203107d030f64030efe030d0c16050dfe030c0110050c16030bfe
030a100309fe0308022d0508fe030714030664030401100504fe03401503022d0503fe030201
1005022d0301100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00>
] def
/f-0-0 currentdict end definefont pop
%%EndResource
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: 0 -1 401 402
%%EndPageSetup
q 0 -1 401 403 rectclip q
0.313726 g
122.5 w
0 J
0 j
[] 0.0 d
4 M q 0.543916 0 0 -1 0 401.018738 cm
58.983 339.59 m 729.382 339.59 l S Q
0.76163 g
q 0.543916 0 0 -1 0 401.018738 cm
58.983 62.09 m 729.382 62.09 l S Q
0.313726 g
110.250403 w
q 0.543916 0 0 -1 0 401.018738 cm
58.983 223.215 m 394.183 223.215 394.183 178.465 729.382 178.465 c S Q
0 g
28.082 400.179 4 -159.25 re f
28.082 232.929 4 -232.75 re f
396.883 400.179 4 -232.75 re f
396.883 159.429 4 -159.25 re f
BT
9.5 0 0 9.5 -0.0742188 394.093201 Tm
/f-0-0 1 Tf
(VP)Tj
0 -1.25 Td
(V4t)Tj
0 -1.25 Td
[(V)18(OT)]TJ
0 -1.25 Td
(MSTd)Tj
0 -1.25 Td
(PITv)Tj
0 -1.25 Td
(PITd)Tj
0 -1.25 Td
[(CITv)]TJ
0 -1.25 Td
[(CITd)]TJ
0 -1.25 Td
(AITv)Tj
0 -1.25 Td
(AITd)Tj
0 -1.758005 Td
(V1)Tj
0 -1.25 Td
(V2)Tj
0 -1.25 Td
(V4)Tj
0.0107422 -2.480983 Td
(MT)Tj
0 -1.25 Td
(MSTl)Tj
0 -1.25 Td
[(F)17(ST)]TJ
0 -1.25 Td
(STPp)Tj
0 -1.25 Td
[(STP)44(a)]TJ
0 -1.25 Td
(46)Tj
0 -1.25 Td
[(FEF)]TJ
0 -1.25 Td
(TH)Tj
0 -1.25 Td
(TF)Tj
-0.0107422 -2.230345 Td
(V3)Tj
0 -1.25 Td
(V3A)Tj
0 -1.25 Td
(PIP)Tj
0 -1.25 Td
(PO)Tj
0 -1.25 Td
(DP)Tj
0 -1.25 Td
(MIP)Tj
0 -1.25 Td
(MDP)Tj
0 -1.25 Td
(VIP)Tj
0 -1.25 Td
(LIP)Tj
0 -1.25 Td
(7a)Tj
24 0 0 24 40.711661 311.818896 Tm
(1S)Tj
0.0366211 -8.500001 Td
(2S)Tj
13.252123 7.034929 Td
(1E)Tj
0.0366211 -8.506592 Td
(2E)Tj
ET
Q q
32 278.019 365 -156 re W n
q
32 278.019 365 -156 re W n
% Fallback Image: x=32 y=123 w=365 h=156 res=300ppi size=2965950
[ 0.24 0 0 0.24 32 122.018738 ] concat
/DeviceGray setcolorspace
8 dict dup begin
/ImageType 1 def
/Width 1521 def
/Height 650 def
/Interpolate false def
/BitsPerComponent 8 def
/Decode [ 0 1 ] def
/DataSource currentfile /ASCII85Decode filter /FlateDecode filter def
/ImageMatrix [ 1 0 0 -1 0 650 ] def
end
image
Gb"0WH[&e.IGjVqqlil\dMBEjo]^7cmSe:qdWV7+03u"^>G0>^.grpkZE5BQ66Z\4E2.pe#)
7YuNJ0aL`fUQ/2k:'Z$mITM0$6VC,E6N!'mXW;@p,*LO/t`Z.jN6/k[n,+1V-_UO_3b"3Tn
)(5Q<(?PZV;-q46Dgci#L!!$(O^)cH@ZQ2fh!.K>09r,M<-3l`c)B"W0^](VMTSM=D)B4K5
B!!$`fQu]@=YP\nqSR1gcV!4`=Q92=#M73:[qfAdJq68c6eeX)?;%Pk?eTJ$m\$,hk5\0@V
FC]K&nkB,"$H4IWqYnc*+Q2ke?EC>[]!f'@ENckJlfeTQ?(Xci+iW@edF@N4,nTt*K!(\A?
iQtS#G]1Hr$_W]FK#NF03762,I.M<OiD!_g[U<Lm[i;799Gq,nL;lcdfY+6Y!k!t]=S-H^4
uL_[?!OQol.l.c^*!4()Ll`6Xt__6;u&Xa%r9jg\]^$bL'2d"TX(!`ZsG=0]6lJYH.1o=&t
QPPnY%rX^5+^K>1*$CS7H/V_9$HN_bT4LBmn'NC<Wg"I`[Wn8iNuNbtB9]C%)k:#8jK#n6f
Bbsqj`]0lP#?Y/j?5_SCc`Ug"]I.dAOG!Ampm4EP>?7<D1%Zht2Mti;R&'!<FM-^ko)ZYE.
`Zq2FTYI2'VRj(GXJ@77FH##u?gnkGDX6MDVghtDmgK3])\/JHpn%BEj1BKipXLp6;LLT9M
:B@Kcueo)B?t@Ui<doH@fRq<=sPqKLA-oH)-Q`Ge-Q&*-@^AT:[H<OU`ViG=8G\f)tlM$X5
]V<Dp&sQ=6V+Kquqk:Fe7p64Mku#JFRUF*+)oU=^Gj_,i1R^K0QQM/_JN:36GPT?ksr)L$H
LHe*(`=l5a9\"6aRto(f_K-[1(?>Betf,s%T3dNnVZiWoI%P\7UY52p5NqO4GTZ=8jbRF3Y
]Et0;\](#PMEumSHPHT0OIVR3SnupiW`k;OHQ_)$cF/6LM2o9qa:e!8UBW/&9-nERYSOPbV
*W0'S[SsjA*;9JJNJE/#3cCjmUd0#5F_<u/B/TNIHGWP13!!_um5b$e':%JM''o+k0dc\%)
Z;%1/s:WJT^cuoTsgu6FG&fR)9B&?c^Hl]1ZSSlF=eL)`B1h3FS&7=AFO4h[W_@6\<dYDes
/&9qlB2C9]otpE:@K\3H=I"LOHs]d;E<^[t;GU</_@eN7_RRDi!"e!?8sD+.q>mE$HTZ^S(
,\W='<P\cPtI4k!A7jl(&YW=f&>Nc]rQ5*3@tE1l&l_6[5i&H"qp5*4:<m)Hq)YppplX(jX
4)WVep@(GNQ'@/i8^h/>n$6o7\3tgm!i]Sl$7^TeD>J]?%Kb=7D)I#<#g"_8&U;;.JY60BK
U?;1@&I(?Oc!^FTs)NSq2\bS0i2=I746hb'#mB$;&bagWQ1<FiAdEjsI-i);qTr=i;"#thj
qE>M,5>1q[WPs:(*7/ONNRn0<,?/oUGIL?fo[EK*U"[G9U8&Z#mbuL%X7OTZ+gB`70</4Sk
Yq8"Les?N;88ne2%sPe5_d9(EFX.Mr<?a.F9llqcQb4j98o8pV*.J3^"%*i7k-.4Z(5O+#8
`Wl7,HYM2i(a+o&JiqN+W4=BAMBS$L$YppOsQmu<5(nHS,EKD!cd>==5NEZk.;3"kR"'E*O
ndp5'4ipL`IH7VDP*TQT,i/Lut0f,oo'e1b)n=A'RXG;d0\8!5;i%=+oO2M=<e!f!;Gp*uA
L`bqUq#1uY5k*Ufmi%Q->m"bVip7''>IiE"8J-?:1q&+jh1>NZKD!c+9^@fZK(#EYSNOoGI
:br.gj"Q1&:A[Z#$B;D`hn%m4m':XF?H3;K'tlMqQOime54C?Z`o8D$dmJo)D>\G9f&ot(S
(u5N8P)mg+t"c+Ag$NlacZsR3MDM*U+R%;IuqHVY.%L^_R&[0OI=7?cPTE;m[V>,5C.T"tk
jl:((SGn^j"D'V,KmL>^7khp"D.F5@2PE#T9,61C_udM:`82:INhH'\jJ,5<p-jrpn<iX]Z
p\bZ_p,5@>kd<l$bHn8R?%0U$%^5amciYj'@E:tX+)1X.A^6G("^&`t@Fd9q?$NQq5Hs+jE
SP>Z%](/T;cGFE$?Xc_W0@>1G$jUOi$Ut*R_b:2?DS@7*RMqS$2,pi'$#p6boU7iH7<](si
*[)c#egXLGRmki*:+gTK!1!]d"pn%_2=@_/I-XDK&E])[?l4teIlbu0'-IOM%G'"1^<fZM2
iEN_SI9K,5@%(4^WNa^!Ape`#_f#q!.Bl%^N)`WQFS>MOR'7:]maApe!TqrJ'OC@C_LcNJA
J"+>nbSWj]VJd=oJiLl]T_:]S=5<tfN2b$Z\ucP:+i"Mn/C9+TeQ,)rjc"/QQVe[>(V[3NV
OhclBoqWAYc$c,mdUE.s?\LIVP,5>>Tknt5l5Z>T;05hI$@gcC+n9)Q\a*FG24^7MHs2Y8m
&U]$%:1"T=7#d0/]OeXJIp@QK&:CUep9L4WJBNBp>P?DE_:M@ZOO'cU.cTLa/@7_4otrNA0
&cZLgI;-q!]D7t3q@D^7CQ0;;k\MT6%a=d^8>#dZ#6kZ[X=k6T1m$$"CG@Qo;ri=e9H4f(:
k^b3c"&R&fjf6>k*0aE^]pq!Y-FLHK1BbU<(NimLoK9#WRh%CG0X`Rs*B&js<\en-s?HB2!
DGV%nnOQeB7n"Q'KE]T/7B\=nd;HPhIpRt<fJ-,T>?[u(+C"5HB8c#JEYcA_N[<B#d6_#m(
Jpa0FT1Y#c4_)D[//:qdWK-rbN(MGa`rdb/>,5B/4Ej@KEI*Yi"TS;nA^4@1aN10*P>66L6
i1$\tCrW:ZI&@<RK]&?b84`JZo<7YS.UX]WDm#t?&^a<rb[k-=Ym6R>pa0eCd.+I*K>\g%N
8PYX/ZdLQC@QYt7/op]dN\J+45-USo38B;!KnT#Gkl=)\EI%-MQ:`I'G,Z11j':d::=_tBD
16/D$`HW#X2k!q(`_X)[FeWn1d_DkI75&>$dj*dR*GCSc;\YT&1%L!\Id\_8g#?ja[;r21*
+gJrcaUh:G%BI<FKQf'EG'#X4PilB_#?jD]MnC\C"_#X2:(m$-h%S]U:\5"Z)kNo2.E`f@"
]b0Lq5nsq8G-3PEkBYQ%.ol"/NH#--6kT:C%*s<[d$:G$:5/K&b?oN[u22HMoCF[9o=hk=H
+)CHA]:8^q7eV@B#X4Dj0DU6LD]'dH^c;N>8[Z'I@m7(q!R;qb8:dPXB?M?8$,K,(*(p3LT
S=sM!OiVfUr`8jpGG'2_Vum",(bl?fpDWa?sUarU4;V6`Zb+JK,r'ppo:mJ*Y<q],:scZ5C
TiO7J(MD^g%!aBsO+R%ebEl"<V>N2u-sgKDd.E^XE2pHs"dZo%UVc^UK0890`si+-r^ar5n
@fmQ^kb6L\D\lbFFD&&2@t0A#1`Os0V)m$37GIj7cgc70;H,D(sb"GW5LIPb/.aih#@Zj8i
NdQ[EmgW<8ZF_S;Jhp)5Q6L^,2i(/77I\#][aT.JJprLB0hAofYjY=^TPX+_HdIV^/HL<2K
Oe5;;!<j$^V!k/6SXqnN(*iX*!XM!<Eq#D[ps*12$WbF5U)ZFA"<XUhBj^PAbo7>'T&]ug+
S\JnZI[?)a'L)81P1[q*K7IV6djPLHpE,`+00^:cTcpFc:%:#23ZA8><l3l+,N,?Xn8FFqD
kY="-Ol'=R+8Ih)i&]ZBk>I4M:pZ7.@J>`S0ToRgV#erI"1H)B"VJ_+2_C"-5V?ojU!\:\"
O3&U`%j+$8'2S(S&pZ#q<6O:8rafJDA)>OP6lDX5DW7h^sk_)G9jSt5W3SbtpVN3TShaFrI
jk5!`rm9=IN55"MLfE(&!n;VEA^2J:P`SGk+G^9`gKA[^,d"1trhY#CEj68-<$%f@gK>61n
1A)$sB9WqJT],G73QKk9[JKk$QKFQ(dCk-CcdtdOqK[H1"cu!eRn6:J9MCD*N^TX0K9lfI0
)#$HkRI3TmHP+g\$rcar`j+L>rF5io2sTB=a^of[fD5N2#,0e:5fZQ01RYf?O6=p3?;p#p5
5Jl2\=rpJL;N<mQF=X6Y-Y6nc@-S#_(bt"g3hi*?=;3$_<:U&^Y^n0Rj-`BkDfmEg,^_-U[
G*Z()1#$592^bElQ$4a[%dn^\K<5W1WE@*bumpI[BZ=VWT!!@#&ir1ta\LBk_FU$c<]oa$>
&/"Z^m%j!,L<i5N\)!(i$#n$Z@e)P?T?L0c*H/]PC5:LikG'Bd\jCZg$[Yu$-!+@,YrZ^n+
L\oAg3pua!m](XK):U%S-m'!gY2Crg3BB"DgDp^t3V>U:Zg31Gh<DdVB<G[-%gX=qn/"cZ?
QJ>l)a&:3FE_#7nA(W$gUEL$nd-f!n0/VjJGd5j0KhI=Z1gp^X8^S>pmD%B$LQ\P_'gCET0
gA$0JP]Bh\0hT0Ds/p6N>D>a!`$KRu5%SGO<PLhQ@M^eK=A&:@pWWDcM&R`hGTC^\\&LW#Y
^qe"`oaph*&T>P&o`VhD1"^f;9UJ)8gSs1)O,!\a)X\GqCUGBiPdh2p%/R[EC@0%)0CF!cW
NkP\Efk<&t[m+ksXD/77qKRPY=&%G*Di6Ri1*k61c=L754`uKJ=AjX9.%aejQ'ltD2/\2.9
:@,LJh<l*,q%rblWIAO8fC%c`T,]AMJ3,RuriCA<:UIWoq:K]D]5,%AhE-_O\B,0:5QokM7
.=h`>j:]@m`:LQi)=tEHfTOYbhjU*SEaQP'6'O/_4NS>eCPG>AX2HSI=$2,h!WinEi\D+C4
Wo*i&KbK5@]"ai;?/>1S4BAc-@?eftsnOrRf^&*+igPB;Kq,J"^b`pX+cqTBE7$[o%E@EJl
1%.$K9J@sU,idrBWo8cG-+H`H*rq9;$OFVAg:^d5sFJ(D];F!k9Tn;AZCoZ2[>^A4&+DVH9
pI)a<AXogZ'm,1B$6%;7-9m(#mBi4<]Z>t!WnjNcob]No`QkfOUbC-;C)P=/)<di;8cg:mm
rWgQfc<Ws5`F>tP3(*;qO%0u2n7AFB7B)k!j4+rO4d2umq1'-c$@_VFW:QDF\c"bKrCFnU>
OK4R@n-LIAEPZ)&Vdh+huI>@Ik;QKSI)Y[ej&to+$Elfq9#%AgYg$M4q)Z=iB8a-IOYJM4;
&,-"9+&O\f,L0A\"_?Uq"Lj2t=5\F,@X.GRk1dRl%r'O2eK^*VB5<?*CB0Y,\RZQ+aQ#W)/
MtF0fnSlFW)RFT?d!'DuXnX5S"npSgEnkBip%WS1OZpP2`Z=&aER:&i8nigV\B[_%9n^<;o
0!4GKWplj+883$$BGKcI?>cTOG`VTG/CZ?0(<`d7%*Xd7pjJA?(@kB>beE`Wj`I,^#gm\`)
W8WZR9>q7OKO23t#P/u1n3&><4q3P=[MU,;4-/U;K"2A!(P87chTp3G9DO*$#_&Y,^@R`X!
4F$F2W,nda0Cj>fRVo7Ka506@]ffDN8WG=.u37KLPN?(V?jo\Z8h&0-D*XhO:d*5!(Qf[iS
cAM$%hW)XDDc_DupPgJIE*;k@Eap[Bfb@C]Uc!i&cjL^?o%F#HT-ENlu$Ya(EP<!,DkS.rt
2K7oCukjTANpI(+'sZCUPHj9+Wkpb'_K""O$'O:S.Hi4CLtiJqc"GRL=(i4G&:EG`S1>9H'
3?O3*=%hAD#3XEGJ%.rr&+Wj5W_&%q)(Mpn)>9IJ[?S!8XArLMhJQ*5/nS!B+\6]D2%DeAt
(2mbqK'RQ0PRr4FYdfl'*o6rI+SZRXD^PW,nq!SB^0I&m=LO6F[m1Q/?TO_KX^XX2=<#)C&
c;A>EQAC96La*$`E,th@7(]1"2U<>c*r969ji)H?Y7umC8R%$9jfg]?ZItfI6>.G&gR2Bit
61?p])M"&A_ELj8:`Ra9N>#pkm/8iL$5Q2Dft"#ei@*GmcPOChNmn&U^E/g.;AcR_UZ]?SR
L_d_LSaYQVdD%i;=DN^H"7#f0S?2PZfWnGu&93eFO`NqoY`6PGhWnC>Jc=fLAA&'Q3l.cUh
QC=pl9Ae9@/EQh2bLOA$$"CD79UR[3h%f$+@f)j"jjEM+A+S_D`R%G@^Hl.q&CEko:FA\mT
+WlF`p_mRT-Q+g!@5`_@QQ2%]CZ@9'R#Kth-7`/>;rtHJ6U&^_n28-pB2'B:@4[#6,p)!IM
*jH87IW1"c"(GrChU[Z"CGM0G1OGP+!r3,3b,J%3pp1%JI'!Hq!e*Z\8)--+o'dOdY66@a]
k-ei#@3gc>%BflbFnOh[$lS[0l>*J5HTd.2_1p`bS[1#f/G(2^g&n,Tl.kpa.0[$$"%A.1!
XjZ?Uhf!0_dIK&E+FMd_&9gpI,,&:=S"k<]4inmMNMDkq34^B/U25^rpo:t[tG?&lN4TKRm
F/De-IJIP=eNo1j-/!%ft1*#kY21fa'Y$>(h%8H&Fi#@\.c/j0Z$i2(B+SeYbabR;15$6$9
N^Gue7IUo0QKD(=nt@@]O'0,R[01\*5Xtr!o=.G7#nHdX&&H;/%!EEHO:U^iHn<;1abt,i!
d$g!YnY;eKFLZ>L#?H$P.q9XI-?7A@jR:f*Hs)#,6T*FOSnG87/t.)lpC3((jl&dR,gUN"<
XZfq$X]J!I>m`=<5Lj^a(!_+S]%Hae-UY#9"`[=;u29cJsusjUlkc_]:g[\8),F,PXfiqsr
q>)A^gln<"'@5:`?t5#b#@Och8Y5E"-tTJ1tY<98pRXW4id!U:m(86Jurkh+%/LUU(p_+,D
7r[],I6;7S)Bd*:.393Fu"<V@;,0^uFnt@1XO0k&I3&WUe*eFn1\7-hG%8EdUi562YndF*s
KQ7>^/7L3GJ;`ul(kN:!=P/Jji@Pa1n6m?Z047-\.O"T.":I9p"o0//TaHC4bj^/t2Dh*9J
r`U1Yeu2B'LD5N3Kh^C-Bpdb@0`C\ZCqR.&:E,^KcRmJ%f$]afHcBQ\*J9`$b6jsfS36eY@
0_7"<TP]\cjuK+Z"]\4([LlJ'-s!>KD`\_d:!&bF>u&(;Yd^Gk[MZ[u_<?L]'b-9DOY^_1r
\_hob,D%iGt,3.b!kLO@0ui56_XcZQa(#LXdjE/a>/B<D?Y&:?IYpoXI!juSS1_2"55+6><
1JP6>5SAe`g6U%;3nDQ4Q0A,7.>=aD)_f<]RQ-YG)O9ECT$^g66f7=>95$X4[HLdKi5QV'1
mP'*m_br\:,PZ59nLL&5[K+\\529ZE.%d>`#Y+=B-IY2+bJ"I>,5?,BnT,^'>C\sA+"h'+,
Pn#4bXM$[3n*7Qm-?nNJe.Sn5M+!jrD*EJ,5;]mbOE&;!HT9;5k#qOnQ2_Ff7Ef)4p3V>eQ
^nJK'N\+KOM#.qO[a]6gu7\l%aX=d=f+;5"&k_6h91[Je,+[TBku0/@^Mo6T!Z;')bT+`ZY
$fNq]cFlbFMD*tg:+OO%/:mND:dK'<ea\P`lS+S_%NnT,^?q/@CkLFc,klS-J:is7j0@JjA
c;*LL=n0&CmQgtO81!598#X5%nqB_Tc[K%ZeI)s;%LUYKMi#I=ZfpMcd>?3T>(kN:oR/ZT@
'hpZ@i'TiN5J/<<E!4"4Pd4"jb%HqL#7u:(anV@r)<Jbb"<Xp)rfGH,53tc.+YVjdq:rCYH
P(WrN/+kf+*Jk'O;`0\T&.=J"<V[Ei@RiD@2je/fbshP/Jmch/d*9eb;FaO_^HV8+S\b5%r
VjHF%JPN7e!)Sj$/=<dp(ITi'Rsn?^k<9dp$@Ai'S5!np0sF)'\iP"rj!7>bd.7&:>mZLUR
HRBHdN]+%fs/Z[a&j=@VeR((U-D/F:/%Je-E$n@!k$*EY\uTc>sIj%)A^8+<2p%f(,2BHg^
b+"C_eEs=^p8.WOlR^b_+#!88E#Jl1qf[--SnrYtb%qW#>3K(:mUl+(t@6D2nO\bP1)M/Kb
Z(X19g[^I>Je,8/aIgGp[n$P9LZ6t5S3uk0'Z#Rq398EEj]`urn=`#Uq=Ak,(2G,hciG)So
12'r5k(J&*7:UJ#0Foc#X1)-c%b@CP)iTSHt\.f[gP_j&gI+t#HqQA8+McB_1tcFjBkFJYl
_as?9%"Q8+Nnn_1uX.3TOO;o!&>6LNYZ<01,67#f2:FGR\GnFkj6SGm#3Mii\!S\3(XM#X5
W6+b'f]Nu8'BRc:K(-28r*5"G+90CE"GMWBEJ6Y!c`[1(/9*PmNN\8,M5[PZ5un=_]Lq9+n
JP7`1UN^Nedl`rtZ1P$qW+1gL8KbZT/Ru6,kJ%UND!fQkd,5<hlY@/`mb)V#Y5)bTH>\Blq
LA@\ipb5&nL\q;G)<REBi568a[?([92[[BV0t;!B+eIR0K]'`j]S;\J5/VbH&:Bju],"G`B
"f,g50UkeIh`C`9gJ2V)@lSD@$n,^Je-m\f>;8>k3J&c_a*"bYUYD'=sNer;&4rb<AE1S(r
:uq\8,L^9QkMHn6m^t<*K_l4*i+G0G\jaXG+cVNX.hm`G8RkA$VjMJe+(8)V3X5F#`;tL#B
j^*:f;$ZD/.d&&WD.:M(WfHu0FBQnF<KY`dt4Y7#pmn27<.39G"-huhcBO:mTLl6H)>kI>:
N2&u3f8+;'IgpN6,>^#^=7dtt3gpN4^maG,P_$B*Wa\N@=43AcB^]G#AWT%qU2%b4D&\a!b
1.F>4,5Ar_gpN6TI%K8rL>W/,nJYFH)""8Uhuh/Af0VOho4Yj!#X5HoL]"N`[A+.^%j\sBY
gUF&7h#SC8;%GsFRac1"V?&(0fCl;`].=K"<U_L)k-#$S1cgQ&$1YD[hc'?q=5a)_!9S!["
NM7X9_"o((U/kE-8mZ#X5IN2Dd#FZ5r`PHlr_*q3L,RF3^*Z_$?._ODc/?RPH&]5]U[SAg!
^IZD9eUJQ1_")HJ1u^)RDBO;^#61W/(0":.2Q+s,TQMWTgdn:?hon2=dhP9gpZ#?&SchZbo
E*.e]sK1!?n\8OkKJe+Z2%8D2Nb@NusI0:W_'6>1`jQH%Ef4>(,86[]>q0$2Vj!oWkUlQ$/
g*f1P\$FdUn,Y'7!2?#$m^Rr.".&HGen,oo>sRl[Mn!*6DY[P8lnF#%=N:"pp05R'ha%AeY
`=LJ:10gb(kN9/Jqph\aQL5f-P1YJ1H`<m8flG%]+KE56bI^1SG^#>U2M9.%qLWI*@ESi[h
$:[1<7::LTTT@kdDW/J/rZ$^=2Xo3U(16hugF/i^PdAE2dki#X2W0*o=IPT3&A#,PZe+=NY
h\IP-s@=@)EW)faP_Hh:UsbUG(o]VE!HUpTc#O2piW7E,#%WiE]dO4VDMW]oj40.mgfd2dE
S]YmWgRB\^.HukJ/"#e<]ORFOH<]8PGDCYWPC$A[EG:P/CWcia`eCMXgI3]@`dsXD\kua:U
^$-eo&(lccS@^>%SQtJB)[_M<=LuImJ&T<*s8%!-rqZh+CZ*Fin>5?QUFAtJ_$B>G:&+jHR
."kD<*]8W:W5Qco'Y=8s72:;=&1dgSIh@a[1Rf%DX?ZpiF);!$B$immCPH[*rFWSonO"^:A
9FFN/DM^,m5<o+."R8@`q_8YGe8@;dNU4;chl7%u):UC!iW_$c*&f^g'C&po8d(BDpU[?i'
&94*EddbNF8(1]:B$T?:\thuf!I.:90!CYZ)*rq:j>joZ._rn14'*Bb-`I8"a:>t"/_LG7<
l/jF9'K;YrLCh?/ci9u[c]D3j4Je'hp\W04i'Q;jf\c8A'+7FVAn=%1Q?\72<c=()#>oR]6
g#C[c=mb$li8DdOZuhgf?-U>,>7l7u8\Bi?[+-D9JhPL$2`)sE\fq`6^er<uS.Mn%GBW?.S
NQHn1qqDkGM1IX&&AJj`qQ]R138c=^9`.3^),5"r!L^=_u>narjn-J"--k[1BTRaiLXsNY]
KQbp1I_-'omD.KSQs\X""8U+)i9BSTJ_9RG$rteimSnk*PVGSa(XZOR*X.^^]YrUu^*iZL:
!Pki5Ii4.c90)I%jW0>4(VOGD`rmbg1iX1RK=HXk+l4o8Q-^%9FRJ+Vg4rZQ\3kn8BZ-!>U
+CRL0+h!<Y-b?OkVkftj5g_T5_7l=Q0,kun*f[lOriJu?)5PXG<p'X+2-e!+1].Yq@e!PpK
""l?TPeUYh5elKt+jhH/;fc/UmslJBI=`!>b.tR5`]NVe:1a*i"/<](Tu2H1kJKYs9!@gtI
)'%MN:JoV@EZ*/IS@H^I:aDrJRD:Ri2Dgt-hr5H[%H[>;R0<Ad7nqUNjbPd?+`:oe;0aT"7
FW[7<:hDG-eg3JQH;lf%f!9eJhQLaA;:+!Ap;3giE.uG5QURZ_Go!<b'=X@/#BEi3:.\G6p
GUKH@TSbRJJY[oP7Y7uqkcmCP>7/D]K/#sKJfdT<HnQJV*eI<&%6a#^fW^H+%oag%Jr"2^u
ratLEn)\;r3(Rf3t\=r.XCS7FQe/+-5a+]NM#sKJ.Y!T&a>OVMcV3gG+/Io625C**1kgbTD
=%D&9q[e-?,S`fE\!1^bZ+IG1F<pP0lp'(Xg!t0&eVfQ`kid\PkC8'oLaDRlrq\^j[f+Uec
\_(`EI:8[""/\u]6el$q?LJZ#)nMooksj6*tU"o^:DPc418t/k"m]C?aKcG>G/YSGe33W:N
(0$s1lG3_4bOaA9;W3om\>3pjdT%NUf$`\TPs\I<rXRX.dPqjqb_hhqAjp*cj(R%%c`fjBP
L)WrsN+5aDPp^SSld6Wq)C-hr3+6pA;tq9/O"A>e8a"<W_ZL_m>IcO=b\G6ffEpjbK^9`E7
G=_@>=+o$R]>Zo^i^$L)1hY32spqV:\+-;DUf4]'3e$F*k^$+fJ'S6id`hB<>\&KdTU4WQQ
#X0@OS!/>CM.c#.(Ibe;&g6t"K^?9fiU^VB*b2Mto*@N&V+dN<`qM'u9^Aqd_$B%cQ".5pL
%,`bfAL$_Je,rF_KTpV^07f==/)_sBb>_X?Kia8epFm2KnHcFHpD9m4h\OOb760ai?1.4&'
/VTjO8FNJ`$X9>NJfHTANiJ'0\m>F:`gbI`lplDr/-D2s5L_NSjmg=?,EG0A4>cQ`u;("%p
YWa^9OqBBS-(U721;&UZhI7HHCDh*06"JDphu+M!K')ZQ']j0&&3M(T!s7dpG('pM]WK\fs
EXK,3?1S?FR%nJ.IUp@.MqTTaE3_;N:,5?\1^@9KJ>n\_m5A)r(3ZCm1_$=M6?WQR+]P?cq
>Wj5k*)I<b#@p\2?5pPC/G?D&*tt1TW/0@6'$)N(DRbp7lfSZs(EF$bLYr8dV/`^eq8`iX#
K046?r-?U!J1i<@J+#(nmNEP#@&'0fO)k0octVn,PZeiDVJ$4HIA\CPC00]hug,2Y,i-[%l
h[d;[>SFL7H\,h\@MJ:\'W/Je'hX]r*3=n`*c8O3A2`^e$s0$*QU8_B<dS+pii33$c,3b-k
TGe-pJU%LV8dn,WdTQ[/O,=(=HFb2p`I"2P4Y[`OOgW[o+N'.I#u_$=cj?bCJpAA<H]q=ZC
@61=o%`(0O)$Z>p5nPHRUZ9V"b+37]7b?i-.IT;TF,TeNKHlt3KA_t54keOAYe^l"V/s$RZ
#HV.uW=?$0nQE]*_ad/i"d1&(J2Nh=CYa<5b,X\sS*7^S.Kgha?VuOPAXq8_*Y@-E8;,n'k
p`dXj<I[mj'=2e+S\4EZ:h3f]^jK",Mc(g6N]=[Hls_\>PA7i7Ann?CV<5+VZnn!pcqaQAR
=Qg2g3bO\5dWe+<J?(el:SIAbL#/NjO_i%7DH9^oF2:ZaYJJ\#(DF5XHDPd]_>.0ZrukUCh
l]"U3b^Z>>[S(CWe&JL+S!-D;R24MN`h_$:ao?_A.)@ol&nLb93k+S`a2ilZRk5<paM8.YG
B)i3DS=a**aFBN^:>rUH_AB-Y4+(eID[KKf.%gH1c1^h-T\[#fD:6k]GRHtcEi585KV-a0@
U2qge-9EOtpb:#T3Bp+a%$M]A&:Bj6S#^OF`QjJe#X6I0T\7jTG%.ae"G..?goU$_#r]?L_
.6&["<[Khq.^mRNV.><Nnt%*oVTps`hgIc^>9,ZoOZZl#r^b0Y;(V>/XcM<D8u?/QF7&_[)
4t*R2bPPX62Mfps;WaqO\^n`:O&MI/OV(BO_-[p@]Eh3@m3fYSY-2(,fn,SLPe[39KO\i'V
e0I&BSmiNq=NTFZVbQ"=h3@FLn5,jK7s_J[(?#X24Q_eo+M)=Mo@FK/^RJe&T5i6G!)7D!h
sX$2+GeJ.P$<X_GZl6H(#85;`V_gpt=R>fORiWq^^;,HEJ%uUo=hMcWa[A,@+%g<Z4f*3Tk
QO\)6#.QX"<<OD,/$<F+?94$g'LhL7YP@,=<RGYN@TU,XmAPfu6Vb*SYcj7KEMPKUf]a%i0
VjK^6TXaC*2Y\fQt0,o/Hd.nfi28k(_`GpUgYIk,@#@&I)mKnI^&!p.Kth)"[n+SW?M%u_$
3[E9D0hSm6)r1AOlj<LLAd]Q1Z-`2)$$@Mp<3'+nuTsI^&#$ZeCcfids&0&U]DN_-Td`Oj5
<$;8_Z)52:A2GP@[G'qH[2A1H$L.p9/%pi'5.Bf2qNg1.Q9.tS;@A=$9H"aPCE&@(B,Loq[
t+S]nC&arYdB0$r?=&UjW*tI&hWUX=-h&ZhW*,65E3%RDciLGM*C+dI[hJb.:iC\a\_\"nF
?"1VuG:uL=i59`WQ$'oYU)O3FN:e4SN]$>453u6J?K7*(D@>M^0u/CTBETD8q>C1UCV;:1.
?GLlRXu-!A1i>6VtERi%rhasprH"=og>Ge!l^,3f"m>-64eNH'lQ5Cp98.DY_N[9pCVeK0D
D&n%s7<S&nG[_T7al$#X6\B^9!3_9A!i+d`#-i(D2%jWlW(HQZ,4^!\=+b+o"S/CH-:_e6l
(AkS>(fi+#J#\,Pm-/j<;;kDf0?Gq[?T"<X\c/hX?t0uAL"VMEI)1#6g^_8f.ej%j9t^)eI
l1>Qp]_8g#qRictIfV%H#Go1FHJDD5Y&:D\N.ebiCZZ$4B0[b.H_+/n1Z9H?^=ib3$.!1&"
ZYW)"NE0.^<>XS>"NY@>g=u$/SOn5@Hpc_sFk9P>83Kp;oPHtbNAGXU%u^E)#1>7aFIr"tj
p8[eij3q83)J1JZnHZ+F>DB9n4f!C>jg^Y/@7)Lmdc:]VRd&IhJOrmpm4MI-:Rrr!d9GiT?
HjY+o%MK.?;_mG_HL9RN1V[?r9-o"CF6EV3SI&&;PSqDgIeGIX2:651\W_]q;rZL(@.t/Ct
*O*bTsM70Hs"GpO3^qEUF+/Rb[3;88TI2H)m1<CZ5("d;<%SIBbo7du[BGjg93%X,-U%kKL
pcuXeO\Z6qL9$&OU<7Uhs]I+)g@6>1fi!leV#eh2a94ru<m+q^kUA>0-I(A@a*9k(<]`G2O
\_(u_M!2uRK]($fh-KbTrVY$Af6JDFA83=f1m]5S3.`fM]_I>tJ]/SDAs:V]GJO!%I=a,-_
NL>79gnVL"e`3diCi?0*]<_s:[j&f./ESS2(os8jW[@52:KJ%SdmP(qZL8Z]]-4(DdD]pcf
>9AAGgIT=2;2.I=gp^]]-+ZjF,a3NYePm8PBQcGIO&__*5\Z?=A\gP4LdYY?:MESnJ^A@i#
](Vp(-;K"NW<W*sFcTNC_6&&G_Tett*M]CN3fhl2Oc7/uBQ@*(eng_4MQF+]\7gE:[,0<_C
TpN)c.F>5okH0oE<X(L264SYQJfLJ-tG9?_#B/B</ro(kXIe^f&rV3;jDl3P?gltl>=rnd1
#=B`1Iqo+)b3XE2-b@ecaX$X's3(H5hLG:N)eQeFf7)nDroYZWr?XWBq^$^iD)][cgH4<i7
t:5^5&'u1P/HjJ8j&Bh2=\i\MA0H[CKE-C\kX[RcBd#=J+A*e_6;\!dVjNkj/N%sJ,b)W9^
k]n]]8bdoP^NcmE\58hB*.p7K94e+P&r&TXUuXYA3ha"olS,H1tMUV`K"Ls8A"Sp5AkAn#l
@WbT?J-n'BJ^pBA/Cgj[SY++/0+h+OrA)&O1g)[q7=VFQCop7CM^<GeQ[rSW2%^V,!=;VuH
2++,R6YO^*8,l'mgIe/1mEc"DG\SHRpe)1ak=g.pgR`XMZs7t-arJD$Zdgc;SrkmKRL\gC0
6iEp$:&_33r)]rt:+E=6$`0GP7iqR'dtcZ&>i`JA!#_1E*?+/-#mTI^p7rZ*O/*KT,c1LaH
W0fAljS>L;+^*_?T!1d%n3?`s7QGcV<RM`jL+Sl3f^U=\C0V<n8J(tC]#*CH<6!=M"T]hh-
=4]NG[S1jo*.s%>P&AY?`ID!*hE:4ETi<T$n]s/[?AnSI5?*mp#IOprpln!,m/[4+?5!hYE
0He"Y?DT2g-jSY_n_roo3!f04Q&hf1Q%AO?#RBE2.FEdW*cg_]5c#$OH%ba_i*s35Jsn'D%
!mr&'aa8Ydbn,N.*Er?fTr=]-Ml/26<p]'?qk24nhoS<JDqqf#"]Y>ZcH%e[5V.Ja'Q.7b"
FU^NaYWEPUE[M_)F\Ie.EVWN4Kl^P9j0,sTpW4QQ^\.T@?1N=/5Q'2tc2>'LIH"VmIkCYhh
Yr'F=8WN"q5aPnlZ7RO`i=OYeim6oi+idDSI](=71t,_VQUG9M1f4FSa?cU37cgCm(/8.i4
n=N+'\OW5PrKZfCOJNi@j\gIs_._Gj>V'X/N,Rjn8Vcp/go?`i=L!4+&J<(Am"IE67Res+[
YMs&f>PX/776UI10%r>.f`\k\f45M#+<[dONQ[G\g_K?LIDaXJbl]VDtrpRR5"?g<WK]XFu
Wr]-US3=sAZ-lhqcs6K,f>3#YKnN@s<p](m*6XX^UH=cU=JT1XChO_&ZS\^?[@r6(3s5E,4
?Mup6fCjLIY?^2pO"U4d^W,[:kteeGE5PoZqP!lbJ+[&O_b4u$M`eQ6KrVn%=m>Eo0DspUe
g1%VMg96R4iuR^!2bZS^T$JZ6\c/c)"U)<Zh="acTW@n@$/&!qtIR:9_X5?HQQPbDtrhpB<
H/EE!tA)YQ&n;^Q\\)bN'"*!5K3VBa4SN+%l6NI,K>!'.iGH@?M3e!5K`eru]_GKk:~>
Q
Q Q
showpage
%%Trailer
end restore
%%EOF
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.14.6 (http://cairographics.org)
%%CreationDate: Thu Jul 27 13:08:13 2017
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%BoundingBox: 0 -1 598 403
%%EndComments
%%BeginProlog
save
50 dict begin
/q { gsave } bind def
/Q { grestore } bind def
/cm { 6 array astore concat } bind def
/w { setlinewidth } bind def
/J { setlinecap } bind def
/j { setlinejoin } bind def
/M { setmiterlimit } bind def
/d { setdash } bind def
/m { moveto } bind def
/l { lineto } bind def
/c { curveto } bind def
/h { closepath } bind def
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
0 exch rlineto 0 rlineto closepath } bind def
/S { stroke } bind def
/f { fill } bind def
/f* { eofill } bind def
/n { newpath } bind def
/W { clip } bind def
/W* { eoclip } bind def
/BT { } bind def
/ET { } bind def
/pdfmark where { pop globaldict /?pdfmark /exec load put }
{ globaldict begin /?pdfmark /pop load def /pdfmark
/cleartomark load def end } ifelse
/BDC { mark 3 1 roll /BDC pdfmark } bind def
/EMC { mark /EMC pdfmark } bind def
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
/Tj { show currentpoint cairo_store_point } bind def
/TJ {
{
dup
type /stringtype eq
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
} forall
currentpoint cairo_store_point
} bind def
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
/Tf { pop /cairo_font exch def /cairo_font_matrix where
{ pop cairo_selectfont } if } bind def
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
/cairo_font where { pop cairo_selectfont } if } bind def
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
/g { setgray } bind def
/rg { setrgbcolor } bind def
/d1 { setcachedevice } bind def
%%EndProlog
%%BeginSetup
%%BeginResource: font DejaVuSans
11 dict begin
/FontType 42 def
/FontName /DejaVuSans def
/PaintType 0 def
/FontMatrix [ 1 0 0 1 0 0 ] def
/FontBBox [ 0 0 0 0 ] def
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } for
Encoding 49 /one put
Encoding 50 /two put
Encoding 51 /three put
Encoding 52 /four put
Encoding 54 /six put
Encoding 55 /seven put
Encoding 65 /A put
Encoding 67 /C put
Encoding 68 /D put
Encoding 69 /E put
Encoding 70 /F put
Encoding 72 /H put
Encoding 73 /I put
Encoding 76 /L put
Encoding 77 /M put
Encoding 79 /O put
Encoding 80 /P put
Encoding 83 /S put
Encoding 84 /T put
Encoding 86 /V put
Encoding 97 /a put
Encoding 100 /d put
Encoding 108 /l put
Encoding 112 /p put
Encoding 116 /t put
Encoding 118 /v put
/CharStrings 27 dict dup begin
/.notdef 0 def
/F 1 def
/E 2 def
/four 3 def
/six 4 def
/M 5 def
/S 6 def
/T 7 def
/d 8 def
/P 9 def
/p 10 def
/a 11 def
/V 12 def
/t 13 def
/I 14 def
/l 15 def
/three 16 def
/A 17 def
/O 18 def
/D 19 def
/L 20 def
/seven 21 def
/one 22 def
/two 23 def
/v 24 def
/C 25 def
/H 26 def
end readonly def
/sfnts [
<0001000000090080000300106376742000691d3900001198000001fe6670676d7134766a0000
1398000000ab676c7966918e5f770000009c000010fc686561640d1447cc0000144400000036
686865610d9f07880000147c00000024686d747885aa0ebe000014a00000006c6c6f63610000
e9ec0000150c000000706d617870048806710000157c00000020707265703b07f1000000159c
0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f2720629000100c9
0000042305d50009002940120695040295008104ad08050107031c00040a10fcec32d4c43100
2fecf4ec10ee30b20f0b01015d13211521112115211123c9035afd700250fdb0ca05d5aafe48
aafd3700000100c90000048b05d5000b002e401506950402950081089504ad0a05010907031c
00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01015d132115211121152111211521
c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa000000020064000004a405d50002000d
0081401d010d030d0003030d4200030b07a00501038109010c0a001c0608040c0e10dc4bb00b
544bb00d545b58b9000cffc03859d43cc4ec32113931002fe4d43cec321239304b5358071004
c9071005c9592201402a0b002a0048005900690077008a000716012b0026012b0336014e014f
0c4f0d5601660175017a0385010d5d005d09012103331133152311231121350306fe0201fe35
fed5d5c9fd5e0525fce303cdfc33a8fea00160c300000002008fffe3049605f0000b00240058
40241306000d860c00a01606a01c16a510a00c8922911c8c250c22091c191e131c03211f1b25
10fcececf4ece4310010e4f4e4fce410ee10ee10ee111239304014cb00cb01cd02cd03cd04cb
05cb0607a41eb21e025d015d01220615141633323635342601152e01232202033e0133320015
140023200011100021321602a4889f9f88889f9f01094c9b4cc8d30f3bb26be10105fef0e2fe
fdfeee0150011b4c9b033bbaa2a1bbbba1a2ba0279b82426fef2feef575dfeefebe6feea018d
0179016201a51e000000000100c90000061f05d5000c00bf4034031107080702110102080807
02110302090a0901110a0a09420a070203080300af080b050908030201050a061c043e0a1c00
040d10fcecfcec11173931002f3cc4ec32111739304b5358071005ed071008ed071008ed0710
05ed5922b2700e01015d405603070f080f09020a15021407130a260226072007260a200a3407
350a69027c027b07790a80028207820a90021604010b0313011b0323012c032708280934013c
035608590965086a097608790981018d0395019b03145d005d13210901211123110123011123
c9012d017d017f012dc5fe7fcbfe7fc405d5fc0803f8fa2b051ffc000400fae1000000010087
ffe304a205f00027007e403c0d0c020e0b021e1f1e080902070a021f1f1e420a0b1e1f041501
0015a11494189511049500942591118c281e0a0b1f1b0700221b190e2d071914222810dcc4ec
fcece4111239393939310010e4f4e4ec10eef6ee10c6111739304b535807100eed1117390710
0eed1117395922b20f2901015db61f292f294f29035d01152e012322061514161f011e011514
0421222627351e013332363534262f012e01353424333216044873cc5fa5b377a67ae2d7fedd
fee76aef807bec72adbc879a7be2ca0117f569da05a4c53736807663651f192bd9b6d9e0302f
d04546887e6e7c1f182dc0abc6e426000001fffa000004e905d50007004a400e060295008104
0140031c0040050810d4e4fce431002ff4ec3230014bb00a5458bd00080040000100080008ff
c03811373859401300091f00100110021f071009400970099f09095d03211521112311210604
effdeecbfdee05d5aafad5052b0000020071ffe3045a06140010001c003840191ab9000e14b9
05088c0eb801970317040008024711120b451d10fcecf4ec323231002fece4f4c4ec10c4ee30
b6601e801ea01e03015d0111331123350e012322021110003332160114163332363534262322
0603a2b8b83ab17ccbff00ffcb7cb1fdc7a79292a8a89292a703b6025ef9eca8646101440108
0108014461fe15cbe7e7cbcbe7e7000200c90000048d05d500080013003a4018019510009509
8112100a0802040005190d3f11001c09041410fcec32fcec11173931002ff4ecd4ec30400b0f
151f153f155f15af1505015d011133323635342623252132041514042b0111230193fe8d9a9a
8dfe3801c8fb0101fefffbfeca052ffdcf92878692a6e3dbdde2fda8000200bafe5604a4047b
0010001c003e401b1ab9000e14b90508b80e8c01bd03bc1d11120b471704000802461d10fcec
3232f4ec310010e4e4e4f4c4ec10c4ee304009601e801ea01ee01e04015d2511231133153e01
3332001110022322260134262322061514163332360173b9b93ab17bcc00ffffcc7bb10238a7
9292a7a79292a7a8fdae060aaa6461febcfef8fef8febc6101ebcbe7e7cbcbe7e70000000002
007bffe3042d047b000a002500bc4027191f0b17090e00a91706b90e1120861fba1cb923b811
8c170c001703180d09080b1f030814452610fcecccd4ec323211393931002fc4e4f4fcf4ec10
c6ee10ee11391139123930406e301d301e301f3020302130223f27401d401e401f4020402140
22501d501e501f50205021502250277027851d871e871f8720872185229027a027f0271e301e
301f30203021401e401f40204021501e501f50205021601e601f60206021701e701f70207021
801e801f80208021185d015d0122061514163332363d01371123350e01232226353436332135
342623220607353e0133321602bedfac816f99b9b8b83fbc88accbfdfb0102a79760b65465be
5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f8b2e2eaa2727fc00000100100000
056805d5000600b7402704110506050311020306060503110403000100021101010042030401
af0006040302000505010710d4c4173931002fec3239304b5358071005ed071008ed071008ed
071005ed5922b2500801015d406200032a03470447055a037d03830307060007020804090615
0114021a041a052a002601260229042905250620083800330133023c043c0537064800450145
02490449054706590056066602690469057a0076017602790479057506800898009706295d00
5d21013309013301024afdc6d301d901dad2fdc705d5fb1704e9fa2b00010037000002f2059e
0013003840190e05080f03a9001101bc08870a0b08090204000810120e461410fc3cc4fc3cc4
32393931002fecf43cc4ec3211393930b2af1501015d01112115211114163b01152322263511
233533110177017bfe854b73bdbdd5a28787059efec28ffda0894e9a9fd202608f013e000000
000100c90000019305d50003002eb700af02011c00040410fc4bb0105458b9000000403859ec
31002fec3001400d30054005500560058f059f05065d13331123c9caca05d5fa2b00000100c1
00000179061400030022b7009702010800460410fcec31002fec30400d100540055005600570
05f00506015d13331123c1b8b80614f9ec000001009cffe3047305f000280070402e0015130a
86091f862013a0150da00993061ca020932391068c15a329161c13000314191c2620101c0314
1f09062910fc4bb016544bb014545b58b90009ffc03859c4c4d4ecf4ec11173939310010ece4
f4e4ec10e6ee10ee10ee10ee11123930014009641e611f6120642104005d011e011514042122
2627351e013332363534262b013533323635342623220607353e01333204151406033f91a3fe
d0fee85ec76a54c86dbec7b9a5aeb6959ea39853be7273c959e6010c8e03251fc490ddf22525
c33132968f8495a67770737b2426b42020d1b27cab00000200100000056805d50002000a00c2
404100110100040504021105050401110a030a0011020003030a071105040611050504091103
0a08110a030a4200030795010381090509080706040302010009050a0b10d4c4173931002f3c
e4d4ec1239304b5358071005ed0705ed071005ed0705ed071008ed071005ed071005ed071008
ed5922b2200c01015d40420f010f020f070f080f005800760070008c00090701080206030904
1601190256015802500c67016802780176027c0372047707780887018802800c980299039604
175d005d090121013301230321032302bcfeee0225fe7be50239d288fd5f88d5050efd1903ae
fa2b017ffe81000000020073ffe305d905f0000b00170023401306951200950c91128c180919
0f33031915101810fcecfcec310010e4f4ec10ee300122001110003332001110002720001110
002120001110000327dcfefd0103dcdc0101feffdc013a0178fe88fec6fec5fe870179054cfe
b8fee5fee6feb80148011a011b0148a4fe5bfe9efe9ffe5b01a40162016201a50000000200c9
000005b005d500080011002e4015009509810195100802100a0005190d32001c09041210fcec
f4ec113939393931002fecf4ec30b2601301015d011133200011100021252120001110002901
0193f40135011ffee1fecbfe42019f01b20196fe68fe50fe61052ffb770118012e012c0117a6
fe97fe80fe7efe960000000100c90000046a05d500050025400c0295008104011c033a000406
10fcecec31002fe4ec304009300750078003800404015d133311211521c9ca02d7fc5f05d5fa
d5aa000100a80000046805d5000600634018051102030203110405044205a000810305030104
0100060710fcccc411393931002ff4ec304b5358071005ed071005ed5922014bb0165458bd00
070040000100070007ffc03811373859401258020106031a05390548056703b000b006075d00
5d13211501230121a803c0fde2d301fefd3305d556fa81052b000000000100e10000045a05d5
000a004040154203a00402a005810700a009081f061c03001f010b10d44bb00f5458b9000100
403859ecc4fcec31002fec32f4ecd4ec304b5358592201b40f030f04025d3721110535253311
211521fe014afe990165ca014afca4aa047348b848fad5aa0000000100960000044a05f0001c
009e4027191a1b03181c11050400110505044210a111940da014910400a00200100a02010a1c
171003061d10fc4bb015544bb016545b4bb014545b58b90003ffc03859c4d4ecc0c011123931
002fec32f4ecf4ec304b5358071005ed0705ed01b01c1011173959220140325504560556077a
047a05761b87190704000419041a041b051c74007606751a731b741c82008619821a821b821c
a800a81b115d005d25211521353600373e0135342623220607353e0133320415140607060001
8902c1fc4c73018d33614da7865fd3787ad458e80114455b19fef4aaaaaa7701913a6d974977
964243cc3132e8c25ca5701dfeeb00000001003d0000047f0460000600fb4027031104050402
11010205050402110302060006011100000642020300bf0506050302010504000710d44bb00a
5458b90000004038594bb014544bb015545b58b90000ffc03859c4173931002fec3239304b53
58071005ed071008ed071008ed071005ed592201408e48026a027b027f02860280029102a402
080600060109030904150015011a031a0426002601290329042008350035013a033a04300846
0046014903490446054806400856005601590359045008660066016903690467056806600875
0074017b037b0475057a068500850189038904890586069600960197029a03980498059706a8
05a706b008c008df08ff083e5d005d133309013301233dc3015e015ec3fe5cfa0460fc5403ac
fba0000000010073ffe3052705f000190036401a0da10eae0a951101a100ae04951791118c1a
07190d003014101a10fcec32ec310010e4f4ecf4ec10eef6ee30b40f1b1f1b02015d01152e01
23200011100021323637150e01232000111000213216052766e782ff00fef00110010082e766
6aed84feadfe7a0186015386ed0562d55f5efec7fed8fed9fec75e5fd34848019f0167016801
9f470000000100c90000053b05d5000b002c4014089502ad0400810a0607031c053809011c00
040c10fcec32fcec3231002f3ce432fcec30b2500d01015d133311211133112311211123c9ca
02decacafd22ca05d5fd9c0264fa2b02c7fd3900013500b800cb00cb00c100aa009c01a600b8
00660000007100cb00a002b20085007500b800c301cb0189022d00cb00a600f000d300aa0087
00cb03aa0400014a003300cb000000d9050200f4015400b4009c01390114013907060400044e
04b4045204b804e704cd0037047304cd04600473013303a2055605a60556053903c5021200c9
001f00b801df007300ba03e9033303bc0444040e00df03cd03aa00e503aa0404000000cb008f
00a4007b00b80014016f007f027b0252008f00c705cd009a009a006f00cb00cd019e01d300f0
00ba018300d5009803040248009e01d500c100cb00f600830354027f00000333026600d300c7
00a400cd008f009a0073040005d5010a00fe022b00a400b4009c00000062009c0000001d032d
05d505d505d505f0007f007b005400a406b80614072301d300b800cb00a601c301ec069300a0
00d3035c037103db0185042304a80448008f0139011401390360008f05d5019a061407230666
0179046004600460047b009c00000277046001aa00e904600762007b00c5007f027b000000b4
025205cd006600bc00660077061000cd013b01850389008f007b0000001d00cd074a042f009c
009c0000077d006f0000006f0335006a006f007b00ae00b2002d0396008f027b00f600830354
063705f6008f009c04e10266008f018d02f600cd03440029006604ee00730000140000960000
b707060504030201002c2010b002254964b040515820c859212d2cb002254964b040515820c8
59212d2c20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b0
0050b00d7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b0fd454459212d2cb0
02254560442d2c4b5358b00225b0022545445921212d2c45442d2cb00225b0022549b00525b0
05254960b0206368208a108a233a8a10653a2d000001000000025eb8369cbaf45f0f3cf5001f
080000000000d3d94ef700000000d3d94ef7f7d6fc4c0e5909dc000000080000000100000000
00010000076dfe1d00000efef7d6fa510e5900010000000000000000000000000000001b04cd
0066049a00c9050e00c9051700640517008f06e700c90514008704e3fffa0514007104d300c9
051400ba04e7007b0579001003230037025c00c9023900c10517009c05790010064c00730629
00c9047500c9051700a8051700e10517009604bc003d05960073060400c90000000000000044
00000098000000f8000001b40000028c0000038800000480000004f000000588000006080000
06a8000007d4000008b40000093000000978000009b400000a9c00000b9800000c2400000ca4
00000ce800000d7400000de400000ee400001008000010a0000010fc00010000001b0354002b
0068000c000200100099000800000415021600080004b8028040fffbfe03fa1403f92503f832
03f79603f60e03f5fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03ee9603ed9603
ecfa03ebfa03eafe03e93a03e84203e7fe03e63203e5e45305e59603e48a4105e45303e3e22f
05e3fa03e22f03e1fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9bb03d8fe03d6
8a4105d67d03d5d44705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03cffe03cefe03
cd9603cccb1e05ccfe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03c3fe03c2fe03
c1fe03c0fe03bffe03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb05b8fe03
b7b65d05b7bb03b78004b6b52505b65d40ff03b64004b52503b4fe03b39603b2fe03b1fe03b0
fe03affe03ae6403ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105a9fa03a8fe03
a7fe03a6fe03a51203a4fe03a3a20e05a33203a20e03a16403a08a4105a096039ffe039e9d0c
059efe039d0c039c9b19059c64039b9a10059b19039a1003990a0398fe0397960d0597fe0396
0d03958a410595960394930e05942803930e0392fa039190bb0591fe03908f5d0590bb039080
048f8e25058f5d038f40048e25038dfe038c8b2e058cfe038b2e038a8625058a410389880b05
891403880b03878625058764038685110586250385110384fe038382110583fe0382110381fe
0380fe037ffe0340ff7e7d7d057efe037d7d037c64037b5415057b25037afe0379fe03780e03
770c03760a0375fe0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21036bfe036a11
42056a530369fe03687d036711420566fe0365fe0364fe0363fe0362fe03613a0360fa035e0c
035dfe035bfe035afe0359580a0559fa03580a035716190557320356fe035554150555420354
150353011005531803521403514a130551fe03500b034ffe034e4d10054efe034d10034cfe03
4b4a13054bfe034a4910054a1303491d0d05491003480d0347fe0346960345960344fe034302
2d0543fa0342bb03414b0340fe033ffe033e3d12053e14033d3c0f053d12033c3b0d053c40ff
0f033b0d033afe0339fe033837140538fa033736100537140336350b05361003350b03341e03
330d0332310b0532fe03310b03302f0b05300d032f0b032e2d09052e10032d09032c32032b2a
25052b64032a2912052a25032912032827250528410327250326250b05260f03250b0324fe03
23fe03220f03210110052112032064031ffa031e1d0d051e64031d0d031c1142051cfe031bfa
031a42031911420519fe031864031716190517fe031601100516190315fe0314fe0313fe0312
11420512fe0311022d05114203107d030f64030efe030d0c16050dfe030c0110050c16030bfe
030a100309fe0308022d0508fe030714030664030401100504fe03401503022d0503fe030201
1005022d0301100300fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00>
] def
/f-0-0 currentdict end definefont pop
%%EndResource
%%BeginResource: font DejaVuSans-Bold
11 dict begin
/FontType 42 def
/FontName /DejaVuSans-Bold def
/PaintType 0 def
/FontMatrix [ 1 0 0 1 0 0 ] def
/FontBBox [ 0 0 0 0 ] def
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } for
Encoding 32 /space put
Encoding 43 /plus put
Encoding 68 /D put
Encoding 69 /E put
Encoding 70 /F put
Encoding 80 /P put
Encoding 86 /V put
Encoding 97 /a put
Encoding 100 /d put
Encoding 101 /e put
Encoding 105 /i put
Encoding 108 /l put
Encoding 109 /m put
Encoding 110 /n put
Encoding 111 /o put
Encoding 114 /r put
Encoding 115 /s put
Encoding 116 /t put
Encoding 117 /u put
Encoding 118 /v put
Encoding 121 /y put
/CharStrings 22 dict dup begin
/.notdef 0 def
/P 1 def
/o 2 def
/l 3 def
/y 4 def
/s 5 def
/e 6 def
/n 7 def
/r 8 def
/space 9 def
/d 10 def
/a 11 def
/D 12 def
/t 13 def
/m 14 def
/E 15 def
/v 16 def
/i 17 def
/u 18 def
/plus 19 def
/V 20 def
/F 21 def
end readonly def
/sfnts [
<000100000009008000030010637674203eb9310800000e18000002546670676d5b026bf00000
106c000000ac676c79662a32e3cc0000009c00000d7c686561640e2547990000111800000036
686865610eaf07870000115000000024686d747872220a5400001174000000586c6f63610000
9fcc000011cc0000005c6d617870065b062d0000122800000020707265707c61a2e700001248
000007a700020066fe96046605a400030007001fbc00040126000000060126b6010805890204
002fc4d4ec310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f27206
29000000000200bc0000058905d5000a0013003140160cae070bae008d09130d070108102d04
0b081600031410fcec32d4ec113939393931002ff4ecd4ec30b2001501015d13212004151404
21231121011133323635342623bc027f011d0131fecffee3fefe7f0181d5707a7a7005d5fdea
ebfdfdfa04befe5f6d64646c000000020058ffe30527047b000b0017002d401306a11200a10c
ca12981809420f4c0342153b1810fcecfcec310010e4f4ec10ee30b637133f19471303015d01
220615141633323635342603200011100021200011100002c1777d7d77757c7c7501210145fe
bbfedffedefeb90147037baba1a1ababa1a1ab0100fec8feecfeecfec8013801140114013800
0000000100ac0000021206140003001eb700a302010d00100410fcec31002fec304009500560
057005800504015d13211121ac0166fe9a0614f9ec00000000010019fe4605120460000f0136
40430f1d000f05040b0c0d030e1d050504031d040504021d0102050504021d03020f000f011d
00000f250e0a021005000a9f08da0300b3100f0e0b0908050302010904001010d44bb00a544b
b012545b4bb014545b58b9000000403859c41739310010e432f4ec113912391139304b535807
1005ed071008ed071008ed071005ed071005ed17390708ed59220140a4000200021002100220
0240025002650274028602800294029002a002b402b002b002b002c002c002d402d002e002e0
0218040109030505050605070508160115051506150724052406240735003501380336063607
390e390f450045014a034a044505450667026506860286058606880d880e970296059606990d
990ea802aa03aa04a90ea90fb501bc03b804b009b00abf0bb90db90ec802cb0dcb0ec90fd602
e502395d005d1321090121010e012b01353332363f01190166012d01000166fe2947bd9bcf70
5b53170a0460fd0802f8fb36bb95eb3a4b1f00000001006affe30462047b002700dc40400d0c
020e0b361e1f1e050607080905040a361f1f1e250a0b1e1f041500cc01d40414cc15d4189f11
049f25ca1198281e0a0b1f1b0700531b520e140750224d2810fcecc4d4ece411123939393931
0010e4f4ec10fef5ee10f5ee121739304b535807100eed11173907100eed1117395922b2080b
01015d405e0909090a090b0b0c0b0d090f05231a0c1a0d1a0e180f2c082e092e0a2e0b2e0c2e
0d292039083b093b0a3b0b3a0c3a0d4b094a0a4a0b4a0c480d770c770dba08ba09ba0aba0bba
0cba0d250e060e070e080e090e0a0d0b370d3f295f29095d005d01112e012322061514161f01
041615140421222627111e013332363534262f012e01353436333216041773d65f66634b613f
0113befef8fefa6fed7d6be174696a496d3fefc0f4fc63da043dfef0303033352b2e0b0923a0
abb3b42323011034343a39302f0d081ea2a5b2ac1e0000020058ffe3050a047b0014001b0043
40210015d80109cc08d4059f0c01d7189f12ca0c981c1b150208150d0044020d0f3b1c10fcec
f4ecc4111239310010e4f4ece410fef4ee10ee3930b42f1d3f1d02015d0115211e0133323637
110e0123200011100021200005342623220607050afcbb0d9c8c71ed7d7ffe7ffed0feaf014b
01220108013dfe9077606882100233667e7e4344feec3031013501170112013afec293667d75
6e000000000100ac00000512047b0017003540180d0400010adb12d015ca10b30e01020d0047
110d0d0f101810fcec32f4ec31002f3ce4f4e4ec1139393930b46019801902015d0111213511
3426272e012322061511211121153e013332160512fe980d1015482e7080fe9a016651b66ec2
c902aafd566f019b916e1a2327ad99fdd90460a4625dee000000000100ac000003ec047b0011
00374016110e0906070003c00b940eca09b3070a060d0008101210fc4bb0135458b90008ffc0
3859c4ec3231002fe4f4e4fcc4113911123930012e012322061511211121153e013332161703
ec2f5d2f8a95fe9a016645b37d122a28032f1615b1a5fdfc0460b86e650305000002005cffe3
050e06140010001c0038401b17a100d00e11a105d008980eca01a3031404000d02401a420b3b
1d10fcecf4ec323231002fece4f4e4ec10e4ee30b44f1e601e02015d0111211121350e012322
0011100033321603323635342623220615141603a60168fe984ab275cffef6010acf74b3a273
79797372797903bc0258f9eca2635c01490103010301495dfcc9a8a0a0a8a8a0a0a800000002
0058ffe304c5047b000a0025009d402a090600191f0b00d217cf069f0ed01120cc1fcb1c9f23
ca11980c00231703180d090d0b3d1f030d143b2610fcecc4f4ec32321139393931002fe4f4fc
f4ec10e6eef6ee39123911123930404c2f273d203d213f274d204d215d205d216e206e217e20
7e2170278c208c219d209d21ad20ad21bd20bd2115321e301f431e401f531e501f631e601f85
1e801f931e901fa21ea01fb21eb01f105d015d0122061514163332363d01251121350e012322
26353424213335342623220607113e0133200402a270715b51658a0169fe9748b481aed9010f
0122d3868e73c65573e874012f010d01f84c4a444d916d2987fd81a6665dcba2c5b81c554f2e
2e01111c1def0000000200bc0000063905d500080017002e401500c0098d01c0160802160a00
052d102e001609031810fcecfcec113939393931002fecf4ec30b2501901015d011133323635
342623012120041716121514020706042901023d8aecf9f8edfdf501960154014d7769666669
78feb0feb0fe6a04b2fc71eadfdee80123617465fef8a7a9fef7657461000001001b000003a4
059e0013006d401a0e05080f03a11101b308a1000a080b09020904000d10120e541410fc4bb0
0f544bb010545b4bb011545b4bb012545b58b9000e004038593cc4fc3cc4c412393931002fc4
ecf43cec32113939300140183f003f1302000200030f100f1150025003501560026003095d00
5d01112111211114163b011121222635112311331102330171fe8f3e5cb8fecdd4b1b2b2059e
fec2ff00fe254e37ff00b1d401db0100013e0000000100aa000007b4047b0025006940291b15
1209040700200607180fdb20d02303ca1eb31c13070014120c080d0648140d12481f1b0d1d10
2610fc4bb00f5458b9001d00403859fc3cfcecfcec3911123931002f3c3ce4f43ce4ec321139
11391117393001400f1f2730275027702780279027af27075d013e01333216151121113e0135
34262322060711211134262322061511211121153e0133321604ba44bb70c1cafe980101464e
666f02fe9840526770fe98016842ab6774b203a6686deee3fd5602480d1c1a776ba89ffdda02
48ba6ba99dfdd90460a45f6070000000000100bc000004e105d5000b0030401404c006be02c0
008d08c00a01050907031600030c10fcec32d4c4c431002fecf4ecf4ec30b6100d500d700d03
015d132111211121112111211121bc040ffd720267fd9902a4fbdb05d5feddfeeafeddfeaafe
dd000001001f000005190460000600d34027031d040504021d0102050504021d030206000601
1d00000625020300df0506050302010504000710d4b49f001f00025dc4173931002fec323930
4b5358071005ed071008ed071008ed071005ed592201407c0002000210021002200230024002
5602660280029002a002b002b002b002b002c002c002d002d002e002e002e002f002f0021905
0002010d030a04150013011c031a04260024012b032904360034013903390430084600460149
034904600878068701880387058806960096019903990495059a06a803b601b903245d005d13
2109012101211f0166011701160167fe47fe770460fcfa0306fba0000000000200ac00000212
0614000300070029400e06dd00b304a30205010d0400100810fc3cec3231002fecf4ec304009
500960097009800904015d1321112111211121ac0166fe9a0166fe9a0460fba00614fedc0000
000100a0ffe3050604600019003b401b0f0300010cdb14d017981001b312060200130f0d1147
020d00101a10fcecf4ec3211123931002fe432f4e4ec1139393930b4601b801b02015d131121
151402151416171e013332363511211121350e01232226a00168020e1116472e70800166fe9a
51b56dc2cb01b402ac705bfeed2e87771b2326ac990229fba0a2625dee00000100d9000005db
0504000b00224010000703a70901a60508040012020a060c10d43cc4fc3cc431002ff43cfc3c
c43001112115211123112135211103d1020afdf6eefdf6020a0504fdf4ecfdf4020cec020c00
0001000a0000062705d5000600834027031d040504021d0102050504021d0002060006011d00
000625020300c10506050302010504000710d4b48f001f00025dc4173931002fec3239304b53
58071005ed071008ed071008ed071005ed592201402c000210022002b0020407010803170118
03180417051f082008470047014803480445054a06570158038f08115d005d13210901210121
0a0183018c018b0183fdd7fe3505d5fbb2044efa2b000000000100bc000004cb05d50009002b
401104c006be02c0008d08050107031600030a10fcec32d4c431002ff4ecf4ec30b6100b500b
700b03015d13211121112111211121bc040ffd720267fd99fe7f05d5feddfeeafeddfd870166
0133016600bc00e90000013d00a200fa031f00020002006601660002000200ac015400ec00bc
006201660181048501540166016d04a400020166007f04cd0000000201330062007100000025
04a401bc00ba00e500660181018d0548055a0166016d000000000002000200f605c301f00539
02390058046d043d04b2048104b2016601750466048100b00466043902d1049c047b04cf047b
005801330166014c0166014c000200ac009a014a0123009a029a01440119014402cd00c10000
0166013f019a013b05cb05cb00d500d5015000ac00ac0077020a01c701f2012f015801b20123
00f600f6011f012f0135023501ee01e70133009800d10358050a009a008f0112009800bc00cd
00e500e500f2007304000166008f05d5022b05d500c300e100d700e50000006a01020000001d
032d05d505d505f000a8006a00ec00e1010205d506140721046602f800ec018302a602f80123
010201020112011f031f005e03cd046004c7048900ec01bc00ba01020333031f03420333035c
0112011f05d5019a009a00e106660179046004600460047b000000ec02c302b802cd00be00dd
00d50000006a025c027b029a00dd01ae01ba01120000008501ae04600762041b009a069a0458
00ee009a029a00d102cd019a015005cb05cb008b008b063100f6040600f0034c016004a800c1
0000002505c101000121074a06120096014a078300a800000337007b0014000000c9010005c1
05c105c105c101000108061d00960427039e00ec0102027d0133009800d10358017900cd0239
0362009c009c009c009301b8009300b80073000014000326b707060504030201002c2010b002
254964b040515820c859212d2cb002254964b040515820c859212d2c20100720b00050b00d79
20b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b05
59b0051cb0032508e12d2c4b505820b80128454459212d2cb002254560442d2c4b5358b00225
b0022545445921212d2c45442d2cb00225b0022549b00525b005254960b0206368208a108a23
3a8a10653a2d0001000000025eb8518cf5005f0f3cf5001f080000000000d3d94ee800000000
d3d94ee8f772fcae0fcd096500010008000000010000000000010000076dfe1d00001021f772
f9320fcd00010000000000000000000000000000001604cd006605dd00bc057f005802be00ac
0537001904c3006a056d005805b200ac03f200ac02c9000005ba005c0566005806a400bc03d3
001b085600aa057700bc0537001f02be00ac05b200a006b400d90631000a057700bc00000000
0000004c000000c8000001540000019000000308000004600000050c000005940000060c0000
060c000006a8000007bc00000844000008f8000009d800000a3c00000b3c00000b9000000c20
00000c7400000d2400000d7c000100000016034e002b0078000c0002001000400008000005ed
02210008000441840280012600fe000301250011000301240121003a0005012400fa00030123
0016000301220121003a0005012200fe00030121003a0003012000fa0003011f00bb0003011e
00640003011d00fe0003011c00190003011b001e0003011a00fe0003011900fe0003011800fe
0003011700fe0003011600fe000301150114000e0005011500fe00030114000e0003011300fe
0003011200fe0003010f010e007d0005010f00fe0003010e007d0003010d010c008c0005010d
00fe0003010d00c00004010c010b00590005010c008c0003010c00800004010b010a00260005
010b00590003010b00400004010a00260003010900fe0003010800fe00030107000c00030107
008000040106b2972e054113010600fa0003010500fa0003010400fe00030103001900030102
00fa0003010100fa0003010040ff7d03ff3e03fefe03fcfb2c05fcfe03fb2c03fafe03f9f847
05f97d03f84703f7fa03f6fe03f5fe03f4fe03f3bb03f2fe03f1fe03f0fe03ef1e03eefe03ed
ec0a05edfe03ec0a03ec4004ebea0a05eb3203ea0a03e9fa03e8911605e8fe03e7fa03e6fa03
e5911605e5fe03e4fe03e3fe03e2fe03e1fe03e0fe03dffe03defa03dddc1805dd6403dc1803
dba01e05db6403dad92505dafa03d92503d8d12505d8fa03d7d61405d71603d6d51005d61403
d51003d4d30b05d42003d30b03d2d12505d2fa03d1911605d12503d0940c05d02303cfce1405
cf2603cecd1205ce1403cd1203cc911605cc1d03cb1403cac9bb05cafe03c9c85d05c9bb03c9
8004c840ffc72505c85d03c84004c72503c6fe03c56403c4901005c4fe03c31c03c2fe03c1fe
03c0bf3a05c0fa03bfad1b05bf3a03bebd1a05be3203bdbc1105bd1a03bcbb0f05bc1103bbba
0c05bb0f03ba0c03b9911605b9fe03b8fe03b71503b61203b5fe03b4fe03b3fe03b21703b119
03b01603afad1b05affa03aead1b05aefa03ad911605ad1b03ac911605ac7d03abfe03aa2603
a9fe03a8fe03a7fe03a6fe03a50a03a4fe03a3a20e05a3fe03a20e03a24004a1a01e05a1fa03
a0911605a01e039f9116059ffa039e940c059e1c039dfe039c9bbb059cfe039b9a5d059bbb03
9b80049a8f25059a5d039a400499fe0398972e0598fe03972e0396911605961e40ff0395940c
05952003940c0393911605934b039291160592fe03919010059116039010038f25038efe038d
fe038cfe038bfe038afe0389fe038887250588fe0387250386fe0385fe0384320383960382fe
0381fe038019037f0a037efe037dfe037cfe037bfa037afa0379fe037776a60577fe0376a603
75741b0575fa03741b0373fa03727d0371fe03706f2c056f2c036efa036dfa036cfa036bfe03
6afe0369fe0368630c0568320367fe0366320365640a0565fe03640a0364400463620a05630c
03620a0361601505619603600111056015035f0a035efe035dfe035c0111055cfe035b5a1b05
5bfe035a0111055a1b0359fe0358fa0357fe035601110540ff56fe0355fe03541e0353140352
51190552fa0351011105511903504f190550fa034f4e11054f19034e11034d1e034c4b14054c
15034b4a11054b14034a490e054a1103490e0348fa034746140547150346140345fa0344430e
05440f03430e034241250542fa0341011105412503403f0f0540fe033f3e0e053f0f033e0e03
3d3c0d053d16033c0d033b64033afe0339140338fe0337130336351a0536250335341405351a
0335c004340a0d0534140334800433320c05331403334004320c033130a60531fe0330011105
30a6032f0c032e13032d2c3a052dfa032c1525052c3a032b64032a640329fe03281503271711
05271e03262003251e0324231105402b241e0323110322000d0522fa03210f03214004201403
1f0a031e1e031d1c19051d25031c0f13051c19031cb801004091041b0d031a194b051a7d0319
011105194b0318fe031711031615250516fa031501110515250314640313110312fe03110111
0511fe031064030f0e10050f13030fc0040e10030e80040d0111050dfa030c32030b0a0d050b
16030b80040a0d030a400409fe0308fe0307fe0306050a0506fe03050a0305400404fa030364
030201110502fe0301000d05011103000d0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d0000>
] def
/f-1-0 currentdict end definefont pop
%%EndResource
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: 0 -1 598 403
%%EndPageSetup
q 0 -1 598 404 rectclip q
0.768627 0.305882 0.321569 rg
110 w
0 J
0 j
[] 0.0 d
4 M q 1 0 0 -1 0 402.030151 cm
121.457 345 m 357.457 345 357.457 325 593.457 325 c S Q
0.298039 0.447059 0.690196 rg
66 w
q 1 0 0 -1 0 402.030151 cm
121.457 93 m 357.457 93 357.457 97 593.457 97 c S Q
1 0.623529 0.603922 rg
33 w
q 1 0 0 -1 0 402.030151 cm
121.457 194.5 m 357.457 194.5 357.457 209.5 593.457 209.5 c S Q
0.505882 0.447059 0.698039 rg
22 w
q 1 0 0 -1 0 402.030151 cm
121.457 271 m 357.457 271 357.457 259 593.457 259 c S Q
0.298039 0.447059 0.690196 rg
q 1 0 0 -1 0 402.030151 cm
121.457 137 m 357.457 137 357.457 182 593.457 182 c S Q
1 0.623529 0.603922 rg
q 1 0 0 -1 0 402.030151 cm
121.457 167 m 357.457 167 357.457 141 593.457 141 c S Q
0.8 0.72549 0.454902 rg
q 1 0 0 -1 0 402.030151 cm
121.457 241 m 357.457 241 357.457 237 593.457 237 c S Q
0.333333 0.658824 0.407843 rg
q 1 0 0 -1 0 402.030151 cm
121.457 41 m 357.457 41 357.457 53 593.457 53 c S Q
0.392157 0.709804 0.803922 rg
q 1 0 0 -1 0 402.030151 cm
121.457 11 m 357.457 11 357.457 31 593.457 31 c S Q
0.8 0.72549 0.454902 rg
11 w
q 1 0 0 -1 0 402.030151 cm
121.457 224.5 m 357.457 224.5 357.457 157.5 593.457 157.5 c S Q
0 g
117.457 342.03 4 -88 re f
117.457 112.03 4 -110 re f
117.457 246.03 4 -55 re f
117.457 183.03 4 -33 re f
117.457 142.03 4 -22 re f
117.457 372.03 4 -22 re f
117.457 402.03 4 -22 re f
593.457 231.03 4 -209 re f
593.457 382.03 4 -143 re f
BT
9.5 0 0 9.5 90.973893 134.606417 Tm
/f-0-0 1 Tf
[(FEF)]TJ
0 -1.25 Td
(46)Tj
-0.0170896 5.48759 Td
(MSTd)Tj
0 -1.25 Td
(STPp)Tj
0 -1.25 Td
[(STP)44(a)]TJ
10 0 0 10 13.964844 168.472388 Tm
/f-1-0 1 Tf
[(Polysens)-3(ory )]TJ
0 -1.25 Td
[(dors)-3(al ar)-3(eas)]TJ
9.5 0 0 9.5 91.36355 238.884644 Tm
/f-0-0 1 Tf
(V4t)Tj
0 -1.25 Td
(PITd)Tj
0 -1.25 Td
(MT)Tj
0 -1.25 Td
(MSTl)Tj
0 -1.25 Td
[(F)17(ST)]TJ
10 0 0 10 4.697266 213.930676 Tm
/f-1-0 1 Tf
[(Dorsa)-3(l strea)-3(m)]TJ
9.5 0 0 9.5 91.36355 107.009521 Tm
/f-0-0 1 Tf
(V3)Tj
0 -1.25 Td
(V3A)Tj
0 -1.25 Td
(PIP)Tj
0 -1.25 Td
(PO)Tj
0 -1.25 Td
(DP)Tj
0 -1.25 Td
(MIP)Tj
0 -1.25 Td
(MDP)Tj
0 -1.25 Td
(VIP)Tj
0 -1.25 Td
(LIP)Tj
0 -1.25 Td
(7a)Tj
10 0 0 10 4.697266 51.513745 Tm
/f-1-0 1 Tf
[(Dorsa)-3(l strea)-3(m)]TJ
9.5 0 0 9.5 91.36355 393.325586 Tm
/f-0-0 1 Tf
(VP)Tj
0 -1.25 Td
[(V)18(OT)]TJ
10 0 0 10 3.168945 393.552124 Tm
/f-1-0 1 Tf
[(Earl)-3(y visu)-3(al )]TJ
0 -1.25 Td
[(+ ventra)-3(l area)]TJ
9.5 0 0 9.5 91.36355 363.504883 Tm
/f-0-0 1 Tf
(V1)Tj
0 -1.25 Td
(V2)Tj
10 0 0 10 18.925781 358.894946 Tm
/f-1-0 1 Tf
[(Earl)-3(y visu)-3(al)]TJ
9.5 0 0 9.5 91.465601 336.129883 Tm
/f-0-0 1 Tf
(V4)Tj
0 -1.25 Td
(PITv)Tj
0 -1.25 Td
[(CITv)]TJ
0 -1.25 Td
[(CITd)]TJ
0 -1.25 Td
(AITv)Tj
0 -1.25 Td
(AITd)Tj
0 -1.25 Td
(TH)Tj
0 -1.25 Td
(TF)Tj
10 0 0 10 -0.0488281 295.403931 Tm
/f-1-0 1 Tf
[(V)55(entra)-3(l strea)-3(m)]TJ
4.407227 -16.706753 Td
[(F)64(ront)-3(al)]TJ
24 0 0 24 552.461182 314.361511 Tm
/f-0-0 1 Tf
(1S)Tj
0.0366211 -9.322224 Td
(2S)Tj
ET
Q Q
showpage
%%Trailer
end restore
%%EOF
import csv
import correlation_toolbox.helper as ch
import json
import numpy as np
import os
import pyx
import scipy.io
from helpers import original_data_path
from multiarea_model.multiarea_model import MultiAreaModel
from plotcolors import myred, myblue
from scipy.spatial.distance import pdist
from scipy.spatial.distance import squareform
import matplotlib.pyplot as pl
from matplotlib import gridspec
from matplotlib import rc_file
rc_file('plotstyle.rc')
import sys
sys.path.append('../Schmidt2018')
from graph_helpers import apply_map_equation
"""
Figure layout
"""
cmap = pl.cm.coolwarm
cmap = cmap.from_list('mycmap', [myblue, 'white', myred], N=256)
cmap2 = cmap.from_list('mycmap', ['white', myred], N=256)
width = 7.0866
n_horz_panels = 2.
n_vert_panels = 3.
axes = {}
gs1 = gridspec.GridSpec(1, 3)
gs1.update(left=0.05, right=0.95, top=0.95,
bottom=0.52, wspace=0., hspace=0.4)
axes['A'] = pl.subplot(gs1[:, 0])
axes['B'] = pl.subplot(gs1[:, 1])
axes['C'] = pl.subplot(gs1[:, 2])
gs1 = gridspec.GridSpec(1, 1)
gs1.update(left=0.18, right=0.8, top=0.44,
wspace=0., bottom=0.27, hspace=0.2)
axes['D'] = pl.subplot(gs1[:, :])
gs1 = gridspec.GridSpec(1, 1)
gs1.update(left=0.165, right=0.6, top=0.15,
wspace=0., bottom=0.075, hspace=0.2)
axes['E'] = pl.subplot(gs1[:, :])
gs1 = gridspec.GridSpec(1, 1)
gs1.update(left=0.688, right=0.95, top=0.15,
wspace=0., bottom=0.075, hspace=0.2)
axes['F'] = pl.subplot(gs1[:, :])
for label in ['A', 'B', 'C', 'D', 'E', 'F']:
if label in ['E', 'F']:
label_pos = [-0.08, 1.01]
else:
label_pos = [-0.2, 1.01]
pl.text(label_pos[0], label_pos[1], r'\bfseries{}' + label,
fontdict={'fontsize': 16, 'weight': 'bold',
'horizontalalignment': 'left', 'verticalalignment':
'bottom'}, transform=axes[label].transAxes)
axes[label].spines['right'].set_color('none')
axes[label].spines['top'].set_color('none')
axes[label].yaxis.set_ticks_position("left")
axes[label].xaxis.set_ticks_position("bottom")
for label in ['E', 'F']:
axes[label].spines['right'].set_color('none')
axes[label].spines['top'].set_color('none')
axes[label].spines['left'].set_color('none')
axes[label].spines['bottom'].set_color('none')
axes[label].yaxis.set_ticks_position("none")
axes[label].xaxis.set_ticks_position("none")
axes[label].set_yticks([])
axes[label].set_xticks([])
"""
Load data
"""
"""
Create MultiAreaModel instance to have access to data structures
"""
M = MultiAreaModel({})
# Load experimental functional connectivity
func_conn_data = {}
with open('Fig8_exp_func_conn.csv', 'r') as f:
myreader = csv.reader(f, delimiter='\t')
# Skip first 3 lines
next(myreader)
next(myreader)
next(myreader)
areas = next(myreader)
for line in myreader:
dict_ = {}
for i in range(len(line)):
dict_[areas[i]] = float(line[i])
func_conn_data[areas[myreader.line_num - 5]] = dict_
exp_FC = np.zeros((len(M.area_list),
len(M.area_list)))
for i, area1 in enumerate(M.area_list):
for j, area2 in enumerate(M.area_list):
exp_FC[i][j] = func_conn_data[area1][area2]
"""
Simulation data
"""
LOAD_ORIGINAL_DATA = True
if LOAD_ORIGINAL_DATA:
tmin = 500.
tmax = 10000.
cc_weights_factor = [1.0, 1.4, 1.5, 1.6, 1.7, 1.75, 1.8, 1.9, 2., 2.1, 2.5]
labels = ['33fb5955558ba8bb15a3fdce49dfd914682ef3ea',
'783cedb0ff27240133e3daa63f5d0b8d3c2e6b79',
'380856f3b32f49c124345c08f5991090860bf9a3',
'5a7c6c2d6d48a8b687b8c6853fb4d98048681045',
'c1876856b1b2cf1346430cf14e8d6b0509914ca1',
'a30f6fba65bad6d9062e8cc51f5483baf84a46b7',
'1474e1884422b5b2096d3b7a20fd4bdf388af7e0',
'99c0024eacc275d13f719afd59357f7d12f02b77',
'f18158895a5d682db5002489d12d27d7a974146f',
'08a3a1a88c19193b0af9d9d8f7a52344d1b17498',
'5bdd72887b191ec22a5abcc04ca4a488ea216e32']
sim_FC = {}
for label in labels:
fn = os.path.join(original_data_path,
label,
'Analysis',
'functional_connectivity_synaptic_input.npy')
sim_FC[label] = np.load(fn)
label = '99c0024eacc275d13f719afd59357f7d12f02b77'
fn = os.path.join(original_data_path,
label,
'Analysis',
'FC_synaptic_input_communities.json')
with open(fn, 'r') as f:
part_sim = json.load(f)
part_sim_list = [part_sim[area] for area in M.area_list]
part_sim_index = np.argsort(part_sim_list, kind='heapsort')
# """
# Load bold signals
# """
# label = '99c0024eacc275d13f719afd59357f7d12f02b77'
# bold_load_path = '../data/'
# bold = {}
# base_fn = 'bold_signal_syn_input/bold_signal_syn_input_{}'.format(label)
# for area in M.area_list:
# bold[area] = np.load('{}_{}.npy'.format(base_fn, area))
# data[label].bold_signal = bold
def matrix_plot(ax, matrix, index, vlim, pos=None):
ax.yaxis.set_ticks_position('none')
ax.xaxis.set_ticks_position('none')
x = np.arange(0, len(M.area_list) + 1)
y = np.arange(0, len(M.area_list[::-1]) + 1)
X, Y = np.meshgrid(x, y)
ax.set_xlim((0, 32))
ax.set_ylim((0, 32))
ax.set_aspect(1. / ax.get_data_ratio())
vmax = vlim
vmin = -vlim
# , norm = LogNorm(1e-8,1.))
im = ax.pcolormesh(matrix[index][:, index][::-1],
cmap=cmap, vmin=vmin, vmax=vmax)
cbticks = [-1., -0.5, 0., 0.5, 1.0]
cb = pl.colorbar(im, ax=ax, ticks=cbticks, fraction=0.046)
cb.ax.tick_params(labelsize=12)
ax.set_yticks([i + 0.5 for i in np.arange(0, len(M.area_list) + 1)])
ax.set_yticklabels(np.array(M.area_list)[index][::-1], size=8.)
if pos != (0, 2):
cb.remove()
else:
ax.text(1.25, 0.52, r'FC', rotation=90,
transform=ax.transAxes, size=12)
ax.set_xticks([i + 0.5 for i in np.arange(0, len(M.area_list) + 1)])
ax.set_xticklabels(np.array(M.area_list)[index], rotation=90, size=8.)
ax.tick_params(pad=1.5)
"""
Plotting
"""
ax = axes['A']
label = '99c0024eacc275d13f719afd59357f7d12f02b77'
matrix_plot(ax, sim_FC[label],
part_sim_index[::-1], 1., pos=(0, 0))
ax = axes['B']
matrix_plot(ax, FC_exp,
louvain_sim_mat_index[::-1], 1., pos=(0, 1))
# ax = axes['C']
# matrix_plot(ax, exp_FC, louvain_sim_mat_index[::-1], 1., pos=(0, 2))
# indices = np.array(1. - np.eye(32), dtype=np.bool)
# def compute_cc(label, cmp_matrix, measure='synaptic_input'):
# ts = []
# if measure == 'synaptic_input':
# d = data[label].synaptic_input
# elif measure == 'bold':
# d = data[label].bold_signal
# for area in M.area_list:
# ts.append(ch.centralize(d[area], units=True))
# D = pdist(ts, metric='correlation')
# correlation_matrix = 1. - squareform(D)
# for i in range(32):
# correlation_matrix[i][i] = 0.
# cc = np.corrcoef(correlation_matrix[indices].flatten(),
# cmp_matrix[indices].flatten())[0][1]
# return cc
# for k in labels:
# cc_exp = compute_cc(k, func_conn)
# corrcoeffs['sim_exp'].append(cc_exp)
# cc_struct = compute_cc(label, conn_matrix)
# corrcoeffs['sim_struct'].append(cc_struct)
# label = '99c0024eacc275d13f719afd59357f7d12f02b77'
# cc_exp = compute_cc(label, func_conn)
# cc_struct = compute_cc(label, conn_matrix)
# ##########################################################################
# ax = axes['D']
# ax.spines['right'].set_color('none')
# ax.spines['top'].set_color('none')
# ax.yaxis.set_ticks_position("left")
# ax.xaxis.set_ticks_position("bottom")
# ax.plot(cc_weights_factor_100[0], cc_exp, '.',
# ms=10, markeredgecolor='none', color='k')
# ax.plot(cc_weights_factor[1:], corrcoeffs[
# 'sim_exp'][1:], '.', ms=10, markeredgecolor='none', label='Sim. vs. Exp.', color='k')
# ax.plot(cc_weights_factor[0], corrcoeffs[
# 'sim_exp'][0], '^', ms=5, markeredgecolor='none', label='Sim. vs. Exp.', color='k')
# cc_bold = compute_cc('99c0024eacc275d13f719afd59357f7d12f02b77', func_conn, measure='bold')
# ax.plot(cc_weights_factor_100[0], cc_bold, '.',
# ms=10, markeredgecolor='none', color=myred)
# print(("Corr. with HiRes",
# np.corrcoef(correlation_matrix[indices].flatten(),
# func_conn[indices].flatten())[0][1]))
# print(("Corr. with HiRes", corrcoeffs['sim_exp']))
# print(("Corr. of structur with HiRes",
# np.corrcoef(conn_matrix[indices].flatten(),
# func_conn[indices].flatten())[0][1]))
# ax.hlines(corrcoeffs['struct_exp'], -0.1,
# 2.5, linestyle='dashed', color='k')
# ax.set_xlabel(r'Cortico-cortical weight factor $\chi$',
# labelpad=-0.1, size=16)
# ax.set_ylabel(r'$r_{\mathrm{Pearson}}$', size=16)
# ax.set_xlim((0.9, 2.7))
# ax.set_ylim((-0.1, 0.6))
# ax.set_yticks([0., 0.2, 0.4])
# ax.set_yticklabels([0., 0.2, 0.4], size=13)
# ax.set_xticks([1., 1.5, 2., 2.5])
# ax.set_xticklabels([1., 1.5, 2., 2.5], size=13)
"""
Save figure
"""
pl.savefig('Fig8_interactions_mpl.eps')
# """
# We compare the clusters found in the functional connectivity to
# clusters found in the structural connectivity of the network. To
# detect the clusters in the structural connectivity, we repeat the the
# procedure from Fig. 7 of Schmidt et al. 'Multi-scale account of the
# network structure of macaque visual cortex' and apply the map equation
# method (see Materials & Methods in Schmidt et al. 2018) to the
# structural connectivity of the network.
# This requires installation of the infomap executable and defining the
# path to the executable.
# """
# infomap_path = None
# filename = 'Fig8_structural_clusters'
# modules, modules_areas, index = apply_map_equation(M.K_matrix,
# M.area_list,
# filename='stab',
# infomap_path=infomap_path)
# files = 'Fig8_structural_clusters.map'
# map_equation_dict = {}
# with open('{}.map'.format(fn), 'r') as f:
# line = ''
# while '*Nodes' not in line:
# line = f.readline()
# line = f.readline()
# map_equation = []
# map_equation_areas = []
# while "*Links" not in line:
# map_equation.append(int(line.split(':')[0]))
# map_equation_areas.append(line.split('"')[1])
# line = f.readline()
# f.close()
# map_equation = np.array(map_equation)
# map_equation_dict[label] = dict(
# list(zip(map_equation_areas, map_equation)))
# To create the alluvial input, we rename the simulated clusters
# 1S --> 2S, 2S ---> 1S
# f = open('alluvial_input.txt', 'w')
# f.write("area,map_equation, louvain, louvain_exp\n")
# for i, area in enumerate(M.area_list):
# if part_sim_mat[i] == 1:
# psm = 2
# elif part_sim_mat[i] == 2:
# psm = 1
# s = '{}, {}, {}, {}, {}'.format(area,
# map_equation_dict[area],
# psm,
# part_exp_mat[i])
# f.write(s)
# f.write('\n')
# f.close()
# The alluvial plot cannot be created with a script. To reproduce the alluvial
# plot, go to http://app.rawgraphs.io/ and proceed from there.
"""
Merge with alluvial plot
"""
pyx.text.set(cls=pyx.text.LatexRunner)
pyx.text.preamble(r"\usepackage{helvet}")
c = pyx.canvas.canvas()
c.fill(pyx.path.rect(0, 0., 17.9, 17.), [pyx.color.rgb.white])
c.insert(pyx.epsfile.epsfile(0., 6., "Fig8_interactions_mpl.eps", width=17.9))
c.insert(pyx.epsfile.epsfile(
1.7, 1., "Fig8_alluvial_struct_sim.eps", width=8.8))
c.insert(pyx.epsfile.epsfile(
11.5, 1.3, "Fig8_alluvial_sim_exp.eps", width=5.4))
c.writeEPSfile("Fig8_interactions.eps")
...@@ -38,7 +38,18 @@ ORIGINAL_SIMULATIONS = {'all': ['533d73357fbe99f6178029e6054b571b485f40f6', ...@@ -38,7 +38,18 @@ ORIGINAL_SIMULATIONS = {'all': ['533d73357fbe99f6178029e6054b571b485f40f6',
'5bdd72887b191ec22a5abcc04ca4a488ea216e32', '5bdd72887b191ec22a5abcc04ca4a488ea216e32',
'99c0024eacc275d13f719afd59357f7d12f02b77', '99c0024eacc275d13f719afd59357f7d12f02b77',
'3afaec94d650c637ef8419611c3f80b3cb3ff539'], '3afaec94d650c637ef8419611c3f80b3cb3ff539'],
'Fig7': ['99c0024eacc275d13f719afd59357f7d12f02b77']} 'Fig7': ['99c0024eacc275d13f719afd59357f7d12f02b77'],
'Fig8': ['33fb5955558ba8bb15a3fdce49dfd914682ef3ea',
'783cedb0ff27240133e3daa63f5d0b8d3c2e6b79',
'380856f3b32f49c124345c08f5991090860bf9a3',
'5a7c6c2d6d48a8b687b8c6853fb4d98048681045',
'c1876856b1b2cf1346430cf14e8d6b0509914ca1',
'a30f6fba65bad6d9062e8cc51f5483baf84a46b7',
'1474e1884422b5b2096d3b7a20fd4bdf388af7e0',
'f18158895a5d682db5002489d12d27d7a974146f',
'08a3a1a88c19193b0af9d9d8f7a52344d1b17498',
'5bdd72887b191ec22a5abcc04ca4a488ea216e32',
'99c0024eacc275d13f719afd59357f7d12f02b77']}
if LOAD_ORIGINAL_DATA: if LOAD_ORIGINAL_DATA:
...@@ -53,7 +64,8 @@ rule all: ...@@ -53,7 +64,8 @@ rule all:
'Fig4_metastability.eps', 'Fig4_metastability.eps',
'Fig5_ground_state.eps', 'Fig5_ground_state.eps',
'Fig6_comparison_exp_spiking_data.eps', 'Fig6_comparison_exp_spiking_data.eps',
'Fig7_temporal_hierarchy.eps' 'Fig7_temporal_hierarchy.eps',
'Fig8_interactions.eps'
include: './Snakefile_preprocessing' include: './Snakefile_preprocessing'
...@@ -150,3 +162,17 @@ rule Fig7_temporal_hierarchy: ...@@ -150,3 +162,17 @@ rule Fig7_temporal_hierarchy:
'Fig7_temporal_hierarchy.eps' 'Fig7_temporal_hierarchy.eps'
shell: shell:
'python3 Fig7_temporal_hierarchy.py' 'python3 Fig7_temporal_hierarchy.py'
rule Fig8_interactions:
input:
expand(os.path.join(DATA_DIR, '{simulation}', 'Analysis', 'functional_connectivity_synaptic_input.npy'),
simulation=SIMULATIONS['Fig8']),
expand(os.path.join(DATA_DIR, '{simulation}', 'Analysis', 'FC_synaptic_input_communities.json'),
simulation=SIMULATIONS['Fig8'][-1]),
expand(os.path.join(DATA_DIR, '{simulation}', 'Analysis', 'functional_connectivity_bold_signal.npy'),
simulation=SIMULATIONS['Fig8'][-1])
output:
'Fig8_interactions.eps'
shell:
'python3 Fig8_interactions.py'
...@@ -80,3 +80,40 @@ rule cross_correlation: ...@@ -80,3 +80,40 @@ rule cross_correlation:
'cross_correlation_{area1}_{area2}.npy') 'cross_correlation_{area1}_{area2}.npy')
shell: shell:
'python3 compute_cross_correlation.py {} {{wildcards.simulation}} {{wildcards.area1}} {{wildcards.area2}}'.format(DATA_DIR) 'python3 compute_cross_correlation.py {} {{wildcards.simulation}} {{wildcards.area1}} {{wildcards.area2}}'.format(DATA_DIR)
rule synaptic_input:
input:
expand(os.path.join(DATA_DIR, '{{simulation}}', 'Analysis',
'rate_time_series_full',
'rate_time_series_full_{{area}}_{pop}.npy'),
pop=population_list),
output:
os.path.join(DATA_DIR, '{simulation}', 'Analysis', 'synaptic_input', 'synaptic_input_{area}.npy')
shell:
'python3 compute_synaptic_input.py {} {{wildcards.simulation}} {{wildcards.area}}'.format(DATA_DIR)
rule functional_connectivity:
input:
expand(os.path.join(DATA_DIR, '{{simulation}}', 'Analysis', '{{method}}', '{{method}}_{area}.npy'),
area=area_list)
output:
os.path.join(DATA_DIR, '{simulation}', 'Analysis', 'functional_connectivity_{method}.npy')
shell:
'python3 compute_functional_connectivity.py {} {{wildcards.simulation}} {{wildcards.method}}'.format(DATA_DIR)
rule communities_FC:
input:
os.path.join(DATA_DIR, '{simulation}', 'Analysis', 'functional_connectivity.npy')
output:
os.path.join(DATA_DIR, '{simulation}', 'Analysis', 'FC_synaptic_input_communities.json')
shell:
'python3 compute_louvain_communities.py {} {{wildcards.simulation}}'.format(DATA_DIR)
rule bold_signal:
input:
os.path.join(DATA_DIR, '{simulation}', 'Analysis', 'synaptic_input', 'synaptic_input_{area}.npy')
output:
os.path.join(DATA_DIR, '{simulation}', 'Analysis', 'bold_signal', 'bold_signal_{area}.npy')
shell:
'python3 compute_bold_signal.py {} {{wildcards.simulation}} {{wildcards.area}}'.format(DATA_DIR)
library('neuRosim')
args <- commandArgs(trailingOnly=TRUE)
print(args)
x <- read.table(args[1])
d <- data.matrix(x)
T <- 100
it <- 0.001
out <- balloon(d, T, it)
write.table(out, args[2])
\ No newline at end of file
import numpy as np
import os
import sys
data_path = sys.argv[1]
label = sys.argv[2]
area = sys.argv[3]
load_path = os.path.join(data_path,
label,
'Analysis',
'synaptic_input')
save_path = os.path.join(data_path,
label,
'Analysis',
'bold_signal')
try:
os.mkdir(save_path)
except FileExistsError:
pass
fn = os.path.join(load_path,
'synaptic_input_{}.npy'.format(area))
synaptic_input = np.load(fn)
def bold_R_parser(fn):
f = open(fn, 'r')
# skip first line
f.readline()
bold_signal = []
for l in f:
bold_signal.append(float(l.split(' ')[-1]))
f.close()
return np.array(bold_signal)
fn = os.path.join(save_path,
'syn_input_{}.txt'.format(area))
out_fn = os.path.join(save_path,
'bold_syn_input_{}.txt'.format(area))
np.savetxt(fn, synaptic_input / np.max(synaptic_input))
os.system('Rscript --vanilla compute_bold_signal.R {} {}'.format(fn, out_fn))
bold_signal = bold_R_parser(out_fn)
fn = os.path.join(save_path,
'bold_signal_{}.npy'.format(area))
np.save(fn, bold_signal)
import correlation_toolbox.helper as ch
import numpy as np
import os
import sys
from multiarea_model import MultiAreaModel
from scipy.spatial.distance import pdist
from scipy.spatial.distance import squareform
data_path = sys.argv[1]
label = sys.argv[2]
method = sys.argv[3]
load_path = os.path.join(data_path,
label,
'Analysis',
method)
save_path = os.path.join(data_path,
label,
'Analysis')
"""
Create MultiAreaModel instance to have access to data structures
"""
M = MultiAreaModel({})
time_series = []
for area in M.area_list:
fn = os.path.join(load_path,
'{}_{}.npy'.format(method, area))
si = np.load(fn)
time_series.append(ch.centralize(si, units=True))
D = pdist(time_series, metric='correlation')
correlation_matrix = 1. - squareform(D)
np.save(os.path.join(save_path,
'functional_connectivity_{}.npy'.format(method)),
correlation_matrix)
import community
import json
import networkx as nx
import numpy as np
import os
import sys
from multiarea_model.multiarea_model import MultiAreaModel
data_path = sys.argv[1]
label = sys.argv[2]
"""
Create MultiAreaModel instance to have access to data structures
"""
M = MultiAreaModel({})
load_path = os.path.join(data_path,
label,
'Analysis',
'functional_connectivity_synaptic_input.npy')
FC = np.load(load_path)
for i in range(FC.shape[0]):
FC[i][i] = 0.
G = nx.Graph()
for area in M.area_list:
G.add_node(area)
edges = []
for i, area in enumerate(M.area_list):
for j, area2 in enumerate(M.area_list):
edges.append((area, area2, FC[i][j]))
G.add_weighted_edges_from(edges)
part = community.best_partition(G)
fn = os.path.join(data_path,
label,
'Analysis',
'FC_synaptic_input_communities.json')
with open(fn, 'w') as f:
json.dump(part, f)
import correlation_toolbox.helper as ch
import correlation_toolbox.correlation_analysis as corr
import json
import numpy as np
import os
import sys
from multiarea_model.multiarea_model import MultiAreaModel
data_path = sys.argv[1]
label = sys.argv[2]
area = sys.argv[3]
load_path = os.path.join(data_path,
label,
'Analysis',
'rate_time_series_full')
save_path = os.path.join(data_path,
label,
'Analysis',
'synaptic_input')
with open(os.path.join(data_path, label, 'custom_params_{}'.format(label)), 'r') as f:
sim_params = json.load(f)
T = sim_params['T']
"""
Create MultiAreaModel instance to have access to data structures
"""
connection_params = {'cc_weights_factor': sim_params['cc_weights_factor'],
'cc_weights_I_factor': sim_params['cc_weights_I_factor'],
'K_stable': '../SchueckerSchmidt2017/K_prime_original.npy'}
M = MultiAreaModel({})
"""
Synaptic filtering kernel
"""
t = np.arange(0., 20., 1.)
tau_syn = M.params['neuron_params']['single_neuron_dict']['tau_syn_ex']
kernel = np.exp(-t / tau_syn)
"""
Load rate time series
"""
rate_time_series = {}
for source_area in M.area_list:
rate_time_series[source_area] = {}
for source_pop in M.structure[source_area]:
fn = os.path.join(load_path,
'rate_time_series_full_{}_{}.npy'.format(source_area, source_pop))
dat = np.load(fn)
rate_time_series[source_area][source_pop] = dat
synaptic_input_list = []
N_list = []
for pop in M.structure[area]:
time_series = np.zeros(int((sim_params['T'] - 500.)))
for source_area in M.area_list:
for source_pop in M.structure[source_area]:
weight = M.W[area][pop][source_area][source_pop]
time_series += (rate_time_series[source_area][source_pop] *
abs(weight) *
M.K[area][pop][source_area][source_pop])
syn_current = np.convolve(kernel, time_series, mode='same')
synaptic_input_list.append(time_series)
N_list.append(M.N[area][pop])
fp = '_'.join(('synaptic_input',
area,
pop))
try:
os.mkdir(save_path)
except FileExistsError:
pass
np.save('{}/{}.npy'.format(save_path, fp), time_series)
synaptic_input_list = np.array(synaptic_input_list)
area_time_series = np.average(synaptic_input_list, axis=0, weights=N_list)
fp = '_'.join(('synaptic_input',
area))
np.save('{}/{}.npy'.format(save_path, fp), area_time_series)
par = {'areas': M.area_list,
'pops': 'complete',
'resolution': 1.,
't_min': 500.,
't_max': T}
fp = '_'.join(('synaptic_input',
'Parameters.json'))
with open('{}/{}'.format(save_path, fp), 'w') as f:
json.dump(par, f)
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment