From 4625d31f93d4810bc2355d545f79ae26c9b12190 Mon Sep 17 00:00:00 2001
From: Andrea Bulgarelli <bulgarelli@iasfbo.inaf.it>
Date: Thu, 19 Feb 2015 08:30:58 +0100
Subject: [PATCH] makefile for Doxygen issues

---
 Doxyfile                                      |   3 +-
 Makefile                                      |   7 +-
 PacketLib.xcodeproj/project.pbxproj           | 100 ++++++++++++++++++
 .../xcshareddata/PacketLib.xccheckout         |   6 +-
 .../UserInterfaceState.xcuserstate            | Bin 45631 -> 46848 bytes
 examples/xml/packetlib_example.cpp            |  93 ++++++++++++++++
 6 files changed, 204 insertions(+), 5 deletions(-)
 create mode 100644 examples/xml/packetlib_example.cpp

diff --git a/Doxyfile b/Doxyfile
index 18ad206..3c798c9 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -54,7 +54,8 @@ FILE_PATTERNS          = *.h \
                          *.hh \
                          *.H \
                          *.cpp \
-						 *.cxx
+			 *.cxx \
+			 *.c
 RECURSIVE              = YES
 EXCLUDE                = PacketLibDemo.h
 EXCLUDE_SYMLINKS       = NO
diff --git a/Makefile b/Makefile
index 4e053c2..b2a7882 100644
--- a/Makefile
+++ b/Makefile
@@ -105,12 +105,13 @@ vpath %.o $(OBJECTS_DIR)
 	
 INCLUDE=$(foreach dir,$(INCLUDE_DIR), $(wildcard $(dir)/*.h))
 SOURCE=$(foreach dir,$(SOURCE_DIR), $(wildcard $(dir)/*.cpp))
+SOURCEDOX=$(SOURCE)
 SOURCE+=$(foreach dir,$(SOURCE_DIR), $(wildcard $(dir)/*.c))
 #Objects to build
 OBJECTS=$(addsuffix .o, $(basename $(notdir $(SOURCE))))
 #only for documentation generation
 DOC_INCLUDE= $(addprefix $(DOXY_SOURCE_DIR)/, $(notdir $(INCLUDE)))
-DOC_SOURCE= $(addprefix $(DOXY_SOURCE_DIR)/, $(notdir $(SOURCE)))
+DOC_SOURCE= $(addprefix $(DOXY_SOURCE_DIR)/, $(notdir $(SOURCEDOX)))
 
 ####### 7) Only for library generation
 
@@ -143,6 +144,10 @@ $(DOXY_SOURCE_DIR)/%.h : %.h
 
 $(DOXY_SOURCE_DIR)/%.cpp : %.cpp
 	cp  $<  $@
+
+$(DOXY_SOURCE_DIR)/%.c : %.c
+	cp  $<  $@
+
 	
 ####### 10) Build rules
 
diff --git a/PacketLib.xcodeproj/project.pbxproj b/PacketLib.xcodeproj/project.pbxproj
index 945afe9..fc591a4 100644
--- a/PacketLib.xcodeproj/project.pbxproj
+++ b/PacketLib.xcodeproj/project.pbxproj
@@ -120,6 +120,36 @@
 		DD7468B218CF00D10028146F /* PacketBufferV.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PacketBufferV.h; sourceTree = "<group>"; };
 		DD7468B318CF00E30028146F /* PacketBufferQ.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PacketBufferQ.cpp; sourceTree = "<group>"; };
 		DD7468B418CF00E30028146F /* PacketBufferV.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PacketBufferV.cpp; sourceTree = "<group>"; };
+		DD8A41F41A95C11600565702 /* ChangeLog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ChangeLog; sourceTree = "<group>"; };
+		DD8A41F71A95C11600565702 /* 39_01.packet */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = 39_01.packet; sourceTree = "<group>"; };
+		DD8A41F81A95C11700565702 /* BURST.packet */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BURST.packet; sourceTree = "<group>"; };
+		DD8A41F91A95C11700565702 /* BURST.stream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BURST.stream; sourceTree = "<group>"; };
+		DD8A41FA1A95C11700565702 /* GRID.01.packet */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = GRID.01.packet; sourceTree = "<group>"; };
+		DD8A41FB1A95C11700565702 /* GRID.stream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = GRID.stream; sourceTree = "<group>"; };
+		DD8A41FC1A95C11700565702 /* headerESATC.header */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = headerESATC.header; sourceTree = "<group>"; };
+		DD8A41FD1A95C11700565702 /* headerESATM.header */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = headerESATM.header; sourceTree = "<group>"; };
+		DD8A41FE1A95C11700565702 /* p3901.stream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = p3901.stream; sourceTree = "<group>"; };
+		DD8A41FF1A95C11700565702 /* rblock_type_0_1.rblock */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rblock_type_0_1.rblock; sourceTree = "<group>"; };
+		DD8A42001A95C11700565702 /* rblock_type_2.rblock */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rblock_type_2.rblock; sourceTree = "<group>"; };
+		DD8A42011A95C11700565702 /* rblock_type_3.rblock */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rblock_type_3.rblock; sourceTree = "<group>"; };
+		DD8A42021A95C11700565702 /* rblock_type_E.rblock */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = rblock_type_E.rblock; sourceTree = "<group>"; };
+		DD8A42031A95C11700565702 /* TC_start.packet */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TC_start.packet; sourceTree = "<group>"; };
+		DD8A42041A95C11700565702 /* TC_stop.packet */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TC_stop.packet; sourceTree = "<group>"; };
+		DD8A42051A95C11700565702 /* in.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = in.cpp; sourceTree = "<group>"; };
+		DD8A42061A95C11700565702 /* msgqclient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = msgqclient.cpp; sourceTree = "<group>"; };
+		DD8A42071A95C11700565702 /* msgqserver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = msgqserver.cpp; sourceTree = "<group>"; };
+		DD8A42081A95C11700565702 /* out.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = out.cpp; sourceTree = "<group>"; };
+		DD8A420A1A95C11700565702 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
+		DD8A420B1A95C11700565702 /* msgqclient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = msgqclient.cpp; sourceTree = "<group>"; };
+		DD8A420C1A95C11700565702 /* msgqserver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = msgqserver.cpp; sourceTree = "<group>"; };
+		DD8A420D1A95C11700565702 /* socketin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = socketin.cpp; sourceTree = "<group>"; };
+		DD8A420E1A95C11700565702 /* socketout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = socketout.cpp; sourceTree = "<group>"; };
+		DD8A420F1A95C11700565702 /* TestSHMClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestSHMClient.cpp; sourceTree = "<group>"; };
+		DD8A42101A95C11700565702 /* TestSHMServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestSHMServer.cpp; sourceTree = "<group>"; };
+		DD8A42111A95C11700565702 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
+		DD8A42121A95C11700565702 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
+		DD8A42131A95C11700565702 /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TODO; sourceTree = "<group>"; };
+		DD8A42151A95C11700565702 /* packetlib_example.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = packetlib_example.cpp; sourceTree = "<group>"; };
 		DDB3B86B18CA2F8700918955 /* ByteStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByteStream.h; sourceTree = "<group>"; };
 		DDB3B86C18CA2F8700918955 /* ConfigurationFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigurationFile.h; sourceTree = "<group>"; };
 		DDB3B86D18CA2F8700918955 /* DataFieldHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataFieldHeader.h; sourceTree = "<group>"; };
@@ -223,9 +253,79 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		DD8A41F31A95C11600565702 /* examples */ = {
+			isa = PBXGroup;
+			children = (
+				DD8A41F41A95C11600565702 /* ChangeLog */,
+				DD8A41F51A95C11600565702 /* examples */,
+				DD8A42091A95C11700565702 /* examples2 */,
+				DD8A42111A95C11700565702 /* Makefile */,
+				DD8A42121A95C11700565702 /* README */,
+				DD8A42131A95C11700565702 /* TODO */,
+				DD8A42141A95C11700565702 /* xml */,
+			);
+			path = examples;
+			sourceTree = "<group>";
+		};
+		DD8A41F51A95C11600565702 /* examples */ = {
+			isa = PBXGroup;
+			children = (
+				DD8A41F61A95C11600565702 /* config_files */,
+				DD8A42051A95C11700565702 /* in.cpp */,
+				DD8A42061A95C11700565702 /* msgqclient.cpp */,
+				DD8A42071A95C11700565702 /* msgqserver.cpp */,
+				DD8A42081A95C11700565702 /* out.cpp */,
+			);
+			path = examples;
+			sourceTree = "<group>";
+		};
+		DD8A41F61A95C11600565702 /* config_files */ = {
+			isa = PBXGroup;
+			children = (
+				DD8A41F71A95C11600565702 /* 39_01.packet */,
+				DD8A41F81A95C11700565702 /* BURST.packet */,
+				DD8A41F91A95C11700565702 /* BURST.stream */,
+				DD8A41FA1A95C11700565702 /* GRID.01.packet */,
+				DD8A41FB1A95C11700565702 /* GRID.stream */,
+				DD8A41FC1A95C11700565702 /* headerESATC.header */,
+				DD8A41FD1A95C11700565702 /* headerESATM.header */,
+				DD8A41FE1A95C11700565702 /* p3901.stream */,
+				DD8A41FF1A95C11700565702 /* rblock_type_0_1.rblock */,
+				DD8A42001A95C11700565702 /* rblock_type_2.rblock */,
+				DD8A42011A95C11700565702 /* rblock_type_3.rblock */,
+				DD8A42021A95C11700565702 /* rblock_type_E.rblock */,
+				DD8A42031A95C11700565702 /* TC_start.packet */,
+				DD8A42041A95C11700565702 /* TC_stop.packet */,
+			);
+			path = config_files;
+			sourceTree = "<group>";
+		};
+		DD8A42091A95C11700565702 /* examples2 */ = {
+			isa = PBXGroup;
+			children = (
+				DD8A420A1A95C11700565702 /* main.cpp */,
+				DD8A420B1A95C11700565702 /* msgqclient.cpp */,
+				DD8A420C1A95C11700565702 /* msgqserver.cpp */,
+				DD8A420D1A95C11700565702 /* socketin.cpp */,
+				DD8A420E1A95C11700565702 /* socketout.cpp */,
+				DD8A420F1A95C11700565702 /* TestSHMClient.cpp */,
+				DD8A42101A95C11700565702 /* TestSHMServer.cpp */,
+			);
+			path = examples2;
+			sourceTree = "<group>";
+		};
+		DD8A42141A95C11700565702 /* xml */ = {
+			isa = PBXGroup;
+			children = (
+				DD8A42151A95C11700565702 /* packetlib_example.cpp */,
+			);
+			path = xml;
+			sourceTree = "<group>";
+		};
 		DDB3B85F18CA2F5C00918955 = {
 			isa = PBXGroup;
 			children = (
+				DD8A41F31A95C11600565702 /* examples */,
 				DD3AB43119459AFB00498F60 /* Makefile */,
 				DD6C793619255A6A00406949 /* README */,
 				DD6C793519255A5E00406949 /* Doxyfile */,
diff --git a/PacketLib.xcodeproj/project.xcworkspace/xcshareddata/PacketLib.xccheckout b/PacketLib.xcodeproj/project.xcworkspace/xcshareddata/PacketLib.xccheckout
index b8411a5..b64f3fc 100644
--- a/PacketLib.xcodeproj/project.xcworkspace/xcshareddata/PacketLib.xccheckout
+++ b/PacketLib.xcodeproj/project.xcworkspace/xcshareddata/PacketLib.xccheckout
@@ -11,17 +11,17 @@
 	<key>IDESourceControlProjectOriginsDictionary</key>
 	<dict>
 		<key>87AE3A47C426A969B4ECB716011DCD84ED0D145E</key>
-		<string>ssh://github.com/ASTRO-BO/PacketLib.git</string>
+		<string>github.com:ASTRO-BO/PacketLib.git</string>
 	</dict>
 	<key>IDESourceControlProjectPath</key>
-	<string>PacketLib.xcodeproj/project.xcworkspace</string>
+	<string>PacketLib.xcodeproj</string>
 	<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
 	<dict>
 		<key>87AE3A47C426A969B4ECB716011DCD84ED0D145E</key>
 		<string>../..</string>
 	</dict>
 	<key>IDESourceControlProjectURL</key>
-	<string>ssh://github.com/ASTRO-BO/PacketLib.git</string>
+	<string>github.com:ASTRO-BO/PacketLib.git</string>
 	<key>IDESourceControlProjectVersion</key>
 	<integer>111</integer>
 	<key>IDESourceControlProjectWCCIdentifier</key>
diff --git a/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate b/PacketLib.xcodeproj/project.xcworkspace/xcuserdata/bulgarelli.xcuserdatad/UserInterfaceState.xcuserstate
index d4174adce4e25c71b22efee480605abc622c5d2b..4e0cc302b41156a28f35e8ab4d5952c4598afad2 100644
GIT binary patch
delta 26688
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
XP+|ZBCMGb&z#j*uxxplen4tmyfPLoT

delta 25887
zcmZp8$F%<m(*!YQ27boLid||f>jha7CpuTxA7nVraGK!^!zG3r4EGrBGkj<G!SIve
z7sGFcKMa2v{xSS#WME`uWM|}H<Y5$I6l0WPRAW?U)L_(P)M7MZG-fnov}1H;^kMX6
z^kWQW3}cLDOkzx9%wf!DEMcr-tY_?G>|^X_oXnWWIGu4O<2=R{j4K&eG1@Y&W?aK~
zi1Bbe;}OQAjK>&{GoD~P$#{zKG~*e@^Ng1nuQA?ayu)~(@hRhL#?Opj7{4<9W&FqZ
zpNXA`gNc)gi%Ee=kx7Y3nMs97l}U|Bok@d9lS!Y+fXR%>oXL^NiOHGCg~@{{iYb~Y
zhAEaQjwzlgfhmzGi7AgMpQ(VUkg15Nn5l%Rl&QX+se!4LF_5X7sh?>w(-fvzOtYEh
zGc9IX!nBHM9n&VJ%}o254lo^LI>dCC={(Z~ri)CMm@YG2W4gn1m+3Ln3#JcDADKQe
z{bKsf^oN;=nVFe`S%6uPS%_JRS(;gfS%F!D*@)SK*_PRn*_GLi*^AkqIhZ+|IhwhY
zxs17-xuTxAlDUexnz@F#mbs3(p1Fa!hq;%zkGY?D0`m;!Im~mJ7cwtm-oU((c@y(y
z<}J)ynYS_TVcyGpi1`%rY34J`XPM72Ut_+`e1rKW^Ihi0%ukq~GQVYh$NZl81M^4b
zZ_K|~*jU(EI9NDYxL5>O1X;vb<XGfc6j&5llvuP_v{~wPSPWQ9S<G0>S?pOHSR7fL
zSln27SOr)GSw&gJSfyB{S>;(3SXEe6Sv6U;SoK)-S&dmuSS?sBS#4SESe;m%S>0JZ
zSbbQ1Sp!*vSi@MuS)*BFSQA(iSyNflShHBOS@T&7SW8$-Su0tqSnF8pS({l~SUXrd
zS$kRgSSQu9PG+6XI)il%>s;1_tczHeu`Xv_&ANtl1M5cCt*qNvcd_nf-OqY}^$6=x
z)|0HKSkJMZXT8jNh4lvOP1d`t_gEjXK4yK+`hxWh>s!{3te;rFv3_U$&H9IpfsK)k
zm5q&!i;bI&pG|;GgiVx9l1++Dj!m9TnN5XFgH4l7mrakY-iXbZ&794G&4$gE&5_NC
z&5g~S&6~}KEr2bMEtD;cEs8CgEuJlbErl(WEt4&aEsrgqt(dKZt%9wRt(L8ht%<Ff
zt(~odt%t3bZ6ezwwrOnB*=DoNVOzkqkZmd3GPYH0tJ&7GZD8BNwv}xs+b*_!Z2Q>`
zvmIeO!FH1EEZezywo7c6*{-wQV7tS1m+c|jBerL3&)HtHy<z*n_L1!`+dsDd><sKY
z?7ZxJ?ELHk?1Jn<?85Bw><a9P>`Ls)>?-W4>}u>r?8fXS?56By?B?ti?3V1V>~8Gt
z>>li%>|X5N>^|%f?2+tI?9uEo?6K@|?D6c`>^bbY?0M|@?DYlgh3vKLb?o)*4eX8V
zP3+C=E$kE6C$djspUggmeJcAj_C@TA*_W^{Wnad=oP7oRO7^Yn+t|0WA7($oew6(f
z`z7|v>{r+yus>vf#QvE5J^KgtkL;h=|FQq)VBlcn;N{@s;O7wFkl~Q!kmHc&(B{zL
z(B;tM(C0AVFyyf1u&d{==WyU~<Z$9}=5XN%;0WXh;)vsj=Sbj4<jCd7<H+YI;HcrK
z<*4K6;^^k+;ppY)<LKv@z%h|yF2_8M`5db`)^M!lSjVx8V>ibhjuRXwIZkn$=D5yr
zgX1R0Eskd#&pBRjyyW=G@r~m<Co?AtCo3l#Cp#wxCnu*Urx>R=XT1ccB&QUoG^Y%w
z2B#*c7N<6+Ij04uC8sN=8>c&`2WJRpC}$XFIA=0v3TG;3A!iY1F=q*917{;=6K6AL
zKj#F_iJX%-=W)*GT)?@Ib1mmO&h?xdIQMYw<=n@4it{w*8P2nuH#u){-sXJH`GWH$
z=PS-{oZmTraItW)a<Or-*K-MTiExQ>DRL=sDRZfC8E_eL8FATh*>gE?`EdDi`EmJk
zMRUb)#d5`QWpQP5<#1JSRdQ8vRdcm-b#QfZb#YDOn$9(YYbMuHu4P=yxmIwk<XXkG
znrl1P4z8VCySR>V9p^g1b%pCH*EO!|TsOFGa^2#3#`T=*1=mZiuUy}_CU0O9sTb##
z;Fjc;;#T8U=homh;Wp(q<2L7Z=62zB<#ywC=l0<C<PPNy;|}MJ;7;LA<xb;H=Pu?h
z;V$Ja<8I<^=5FC`<!<9{=kDO{<ethsje9!x4DKb|OSzYEFXvvty^?zs_iFC#+&j2;
zav$YB#(kXoGWQkktK8SPA8|kCe!~5sp8F&BC+^SO|9KdA7<rg@_;~nv1bAe4WO?Lx
z<axAtba-@m^mwdzta)sBY<WC+ym-8Me0U;wB6*^C(s<H&GI%n1N_on7%6Xc3T6kJ{
z+IS}MOy-%wGnHo{&mx}1JWF^s@NDGS#IuiQKhFW4GdyQ`&hgygdBF3K=PA!Ko>x5e
zuX*0{eBk-Q^Off}&mUd}UJhO!UIAWFUTIz#UIkt?UJYJ7UVUC;UQ1qUUPoSc-bmhL
z-W1+c-hAEy-a_6Y-WuLo-a6h6-cH^w-YL9Od8hF%;9bbOh<7pXdfpAZ8+kYJp5Q&n
zdy4lo?-|~+yytk&^IqV+$a{(RGVc}MtGw6hdGGMv<-N!Ig7+owE8f?<pLqZ9{^kA0
z`=5`2kCBgwkB5(!kB^U^Pm)iHPnu7TPmfQZ&w$U6&xp^M&z#SS&zjGM&z8@T&z;Yk
z&xbFBFO)BgFPtxeuad8pua2*YubHo%uY<3Lua|Ek-z2_ieAD@6^UdK~z_*ZZDc>@_
zReaK``PTDo;M>Btm2W5CF1~$y`}q#@9pO8{carby<jWiylbtzjnHs)tZsuIgC@fZ8
zZJ?uIP^+U*ZD?s|rlVkJIN5=F277mdK*O|#>67ns-{*>S&PdElPxZ-9pL~s{jcH=f
z<T&2_JT46-4V4X54O;O63X}8s#3wuOtrk{dP-0lgu&TkL!L~u5L7>6D!C~@0KFP`9
z{K1ng_~j>`l@Oe)!7ng*6~AA7z-0zb1}+9}hC>WT7=#uwY-zAu$Z)j5u0ahZaf0C_
zgT{gdAS*->?ldyB)KM@rur#f$g(*DCa2{^Lg$75236~kJGH5Jh*xg{gkl|W`Q-c;v
z$4!R%+aQ@+4bBT0_BPlwXd!$FQ}ck~HG{?~hKCG~7#=e`VR*{$jNv)M3x<~ruNqt%
z+#1{)JQ_S3yc)b4d>VWk{8ll%Ven*l$Kc8Ef#D;AC&On3FNUuT{teO%K@HLksSW83
z(hY?TG7Uu_@925DOui^6Jo%E4By+rg^5pY^qLcRt{+rw=s45P%o{@=>g+XW`BXdK*
zLPpkxz{v;srRy0v8Mz=qa+#5rft!(!k)Kh3Q82<UIJl%JGcP^HFW9l9q$o3~v?R5-
zA-Ex>A@mXhH={742%~7EU$9;=SXDzvcv)gjX{v(lB?fZ_3r2B9iFg5izhK|elEkE(
zRESZF8O0eT8LZ((gPf(!#lX!d&8Wa2w1iQHQI=7TQNAIpA-o}?A#w?$BBK(cBBM$}
zR6}e-R73paXTqlZ+Kf7kx(wWmdW`yv28@Q2FLo)i@dz|TH^fX16p>IcVKfc%3wF!T
zD_O*7!eD)c(VWqOft%5i(TdTU(T34>a;J!%cANkc#F_St4)FrwaAyW27A2+^B^G1^
zmsIAYE@pIObejA~#8}XU(UsASQIpY~(Sy;G(TmZ0vYMzyTyjIA09!*sLsD39WpPPr
zZoGg%a(-S(QGQNHYDI~2eolVTWk!ESR|amz0LDN@_i(@9@QlooR3`%l0p^Behzmj(
zL&N=o!HO3#hA>z|M8g>)CZ89TVO`7^$rv^Htf*;y3<Eb~EMpvFJYxc5B4c8dU$9Sp
za$-qleqM}Ua1banIp>$=l|=Xj`=sWjmt+VCHlztKLQG3$Oo{Rf_RLF3tq4vnS;Uyi
zV2#AT!pO^*&dA5W&6vTM$(Y3`0FF3#oO|Y_<u_yqHsm*CHl)B}KCdBUa;um^eE~z(
zBE~|-qK2%7oCZx$e1f90l(8I?%;Xv(7BW^eWH+c?VT8q6HDe7Z)|4I87{EY~3mkPY
zoehjF3_^<;<r(D|Wf~$IA{xRLGqy4+GAcIYHbgZ<HK<)>;ATX`MtwIVIvSE2@<0(0
zSpp0AON<j3xEUuhP73!6)=Nn&Np$04U}t1wXefXL$rQ$^vG8bjNi0cR%s7Q{8iRG1
zUoePwi7}Ren<0jAMnf?~{Vc}W@dAQy9ni33D_P7qhjH#?RbeG1NXf%EpK&pR#$v_=
zj0+hTHIz1#HIy%AT*9El;Mq_y`L=kQ|60cF3>qsL*D<bV+`zbzaTDWa#x0Cn8Mif5
zH`FxLHq<rLH#9UfHZ(OfuVheS+{w6$aW{h!<6g#n3`&d#8Uz|z8d@9L8w46U8af*U
z8oDNLkhoiamhs$zhBk;pFECz=fjcuewPZ2l1;$GZ)}emE!Ko#eK!qdY6{vDhR9$Dt
zTF{^g5x<2beizJ!Mau)mN1&1|u|a+z<Ku>&1}%t&XAD`38J{z1y<mLV(AzMfVKO2K
zykUILAhd`fmm#k~sX=)W;|Io%4Sfy$lg*@50~o(C{zQ@d#rV5nV#A~cwOCIVSJ#xx
zlKdjaqSQoXhnWw+i3I8lCI%*EWPMC5Osox48m3NOEv3MyJ$a&>Qa!v{fob7p5@pa>
z$;89N%f!dT&m_Pk$Rxxh%p}q<qhV&ltcKYQa~kG0%xjq6uwW&F7n3-H7lS8*CzCXj
z43jLAT!T!*!UmZJ=?3YBGYt<LUNyW16|@4u8TsWdsY#{j>8W6M#tVo+-95Qpx<@H0
zC$TcWv?Qb`H5KLxEhZfXjfG6w4T}~s={78$T&`ebYsh2_5;JO8vXIH7VQGU_h;L$M
z9!!S?lMRE=VkS!_D<<oPWev+4RxD<+W$<LOZ&=wN-EeC1Gli5uR|eCCOl}RU8u($l
zJedL+G?p`YF?lojF!?h1G5IqEG^}n|)3CN-UBmi@4GkNYGX*gPGlekRVz|W=&J@wG
zsbO=&?gr-u=Z51ACnnEUoa8K6P@0sJnXFfklbD&O3(8P1)03Gp7=)HEr7)#3r7@*9
zY-!lqu&rVH5~fV1ECwZ}oQ53@I~xQVb~UI?o>)<>^VZH>X}w4!s4ZY*ZeUOwQEhB!
z32GNyWh!GTXW(Y4V5(%QVyb4UVXB=Z8^V6LVQ<5+hCP#`Wv#3m8B7;3H8C|e>}xpK
zz<-&kjj5f1o8cByCsS9HXG&^bNoHDRYEdXS7dALI>~A;#PW((gOudu;$jUP>V(Odx
zOIFz(tdD5|gC|p0!=VQ0h69lSiOJciB|e!+mzkzAa5GI~n$9$X(JDG6Ke;qFHLoNz
z$S1NSGdH!kBr&(3;Yh>L28MV6qsfL^nnLiT1+i)l)7;7T<RqBqF<4K&Cnq+UU!IM5
z0n@_C67sstix{jYOUP?8#|x-UcGQ%q56&+wN=|joPf5MZw3LCHX&Ivx(+Z~PprR=$
zu{br_FIcZAH7Btovn;iNq2Xl15r`G5nbw5*1&0RtEMi&<&cUHUKH!YUv>p`m8yZeG
z@W%@vH@D18LCq}#LnC-QhG`4aP8SA^B}`kHwlQsI+R<>f;atP{h6_uWb}{W{@MPNC
zaIxWfgLK2q2CWF6)U=YY%+&J8pv?3PFe}OjoRod@Q&K0-SCP<#rGz6)CqZT&Wje-m
zoascvrH0E5R~oJ^0TpvhXBfO11RA6pu1)@_(jdung~4<IB7t6Kx(Q13HyUnCR#Q`Q
zWxB`o09LRtJ#4rIEm)YIFk~%addl>y;daA4c$vcVlIaaf_J7OtuHjC@-N|QEr6rg?
zGkrsm{Lb{F;eNw|$^TVl1epFZ{Rdh5ui?=`W`>5xllk<e>zP>?vKBG3GP5;2X?PB|
zgqf3>2iY8EUS__Arwz{<)FPpIJikcUVS)>Cxx_5YEQX>-oLQpbMZ?PmwRi!3PZw9@
zvO?J*`T$t35;QECWtrt5&95uWip)yP$_(7hDvValYRu}B^<})}J~uElylMD$jaidf
zi-DV2n^}ihm(hw@h1q~Hk=bza44HuX&kbK2-Xi5HW@Ba(P_AO|Z1~jh4wR`Hq`~Qi
z*^<F@5wjJub;J9H4`}%cl8vBQjoAsDWj^A`GLXyxa+Vp~UCiE$R?G$rF^pCWF%4fD
z7#hAdFhDF0U@%?Ctk&?RfghZ-nM0UEC$E*)W?>Fvu%5hDUW*eV9KjqpnO{Mjg*l4B
zdNRL)+T;WU_B7@g<_rdn)y%QXam?||3CxMiNzBR2Da@(NY0T*jKN@~E{A&2!@TcK#
z!@q|Ajf@P9jEs$pOsg5Zn6nr>nRA$Pne&+QnG2W;8I%~58e|$7nH!`VnLji#|8Hbr
zYGhGtWKn8l(b`<8Zpf(L$lS)Dv4pvaxtY0zxwVmzrIC@fk&&&Dk$nksJ97tfCv#UL
zBS#~nOC$5nM&|32Z)#jHoX9+dL1Pi~B<9JDjGT>(+>4l}GEZw{<ZWcsZqP!?@XWJ8
znY)pZYjWZQoyiKiA|l9=3m}p_lNb1bBsnLuYKgeP(#T@wl?)n7nU^pxWnRX-oOwkf
zBVQvUe<PznBcos=qtH_3Rm`iI*D$YTUf0Md+{h@>$SB{)sL;r$1*)%fCtuVPo_s;;
zv*32-oeUZanRhfYiY{c{)yOCY$_OUR`#>3CKl6b`M)5{Q8AMh%%zTVNXc6-f=A(^_
z5{-<Ki<plypJ-&1YGjn29INj+IY)<2hWR}6B{W5snXfc5$~H2}O`fKsZOnWN6!o_o
z85JA&uQ1<Zng%L&neQ_{V1CH_D6%*;Cp8(=h;3w4X=GGxWK?Qo)P#nQiVX8J=9i$L
zea`%%kx{jgQEd_PE9TdYjOvYy8j}-rtyq{pF@K&sPgjwR`3v(`2J6Z5bQLDwZjyCl
z{?7aZlBr-J_?v|R6tRDp|1$q${@=)`)5xgX$f(!IsK11Tk%ftcnT4g1(V&shs*%yU
zk<l3xZW^F)o1|Sj`GTIVAU6vygT_J@o<>H)g)DrHj7F3B^ks~N7_t_z2(ySZG8#8B
zTEIh&MVv*7L1+<+1dC)Nqe&y9=^_?s7MVsyvqnbq$+7wo(#kAqsPfF0Sv0_bW;ywS
zzKXUkgXuyRy+%eGq%dPKWHDkfW`5MjXy3?a*T`tw$fy}F;6B+<%WZP1fsnKXi!~^$
zUa(j-GO9H)IxJ$bVX<vwbZlgFnmoxsuilx(1tmyW+*wvKXsj1VWbt6}WbtD0X7OS1
zW$|P2X9-{lWC>ykW(i>lWeH;mXNh2mWQk&lW{F{mWr<^nXGvg5WJzL4W=Ua5Wl3X6
zXUSm6WXWR5X31g6Wyxd7XDMJQWGP}PW+`DQWhrARXQ^PRWT~2b(;%k4k<qo0(Y=w;
zvysuek<qu2(Z7)~u#qvikukK9F}#s6vXL>mkukQBF}{&8v5_&kkukNAF};y7vym~o
zkukTCF~5<qu#vI2k+HOqvAmJ7vXQa6k+HUsvA&V9v5~R4k+HRrvAvP8vyrj8k+HXt
zvA>aVVk6_^M#ia)jME$I8D};!&TeF!+sHV-k#S)o<KjlfrHzcs8yQzNGOli9T-(UF
zzL9ZbBje^q#;uKv+Z!2oHZtyRWZc`xxWAF{U?bz<M#iI!jK>=pPc|~1Ze%>$$auby
z@nR$6<wnM<jf~eD8E-Z+-fm>P+sJsok?~<8<Ksrgr;Uuy8yR0VGQMtP)Og#-_`Z?x
zV<Y3|M#is=jNcm>e>O7yZe;x1$oRjJiLsH1xsi!=y+Gn*bHg+ymb;UW8Aa7MGO;%@
zaW^svH!?{#GATDQX*V(%H!@i@GC4Iec{VZyHZp}YGDS2pMK?0VH!>wRGNm^%Wj8YA
zH!_tqGSxLQH8wJ}HZpZKGW9evO=)DB-pDk&k!fBd)1pSEWsOX$8kyEMGHq#O+SAB%
zppoftBh&Flrqhi~=Ng$VH8NdmtY^B_$aJrf=}{xo(?+J3jZAMEnLac!eQsp>-pKT;
zk?CI}Gh-t&OCvK!BQsAUGk+tqa3iyLBeQfPvr;3oS|hV&BeOvxvq>YfO(U~IBeP2*
zvwI`6cO!F9BXd|Ib5tX9TqAQ@BXd?Gb5SF6X(Mw*BXdn7bA2Oob0c$mBePvsBXeIP
z^Q1=RX^qUY8ky%dGB0doUed_CqLFz`BlCtv=FN@F+fWKxR(?oX>IQAP$-<j%NChsd
z2t<*`<N$k<$?K=GP5wKb1Gz+Im4qnpn*7mMXYvFamdR61#e@;<H&!`_ywBu#3zNy2
zp*+ZP$`Cof$?;}7le{=&gI%0*@{_amGLT)M0Z|k%Io`|;S+g!gJZSO;Gk;`pBZzp&
z<oj+0a>1!ZnTa`i$pr<-Mw&yEgiXHh2C`SmH`qN8)lwUXiipVq7B<L+J3_>xCdXSi
zh#~pX4I&;BFW@|x(N}+RjSsJMeohLy#oiEQag!JN=uft`ltwl>03w$#dA+Ua<aw6d
z$a0|&xg=;nP5xlXg=~8iL^=gzyP%ozWM?ZuWZm%)>9olQtW74*wh~2_OM%E`z@x7;
zKu`kR*_jYUS(EK1n<3kq2NBPS7jT(;(A02pK_KhodDi^M<`+Yh<V`+c?TM_l0wP`z
zFJK7jH%yM}=S0?43z06GtT^2kS-c4%UNZTCyUyeXHWJ8k?GU-L$%WoFl40n6=z+*q
zOir*xiP4D=@v6z|Z5@zJn+6fD0R{PFJv$*}IcO85ZgSytP?~3#4|0MeT(oosZLKtb
zlOm)~h3>4S5NnzyFYvRPtZOfTY|Sc&T+8GDduQaZTMrR$gNB`qOMXRVT4oM%w~2KN
zL`}!!clI90X6}TDcTGNEZKV{P59;PQ=VYelm7u2oeGp|mljF?{6g~3_N=rb4b?A;i
z3{llLxp2BYvLz=V;uE0Z!!fzW5hXdFg~(5u{L$BB@;OJ8u)PG4n=)B(Iw)^~${a~l
zw_S&*m=-VKIGNE`ck<FHC@K05M0y4|iGT{E(@rADj(Z4^pEWsgg27}xUpB?y)S|M~
zB6Pn!gD9H=O4}e?%A8RW+iQsQyvYllosdoc01;m>`J=DtWNjCeeE1b2w`g*Jy_F2q
zR+OUd7ev95$%Wnqldrm<gv)=3+%j;{q3McTbg;2N<W|5l@!u)PWiT5jM1B=GJ{%^n
zDT9ZaQxkL1Jk7=jQMd+FkbpdG<R*^fIW}R4^t#D0ZUxBV5)knXlkdA(BPCQeS%~<i
zcmWTj@_|RnEi)$-B~ICtAS$;^PMqL~Y_d8;eB0y)?k>pUIuP+4lNG0+s5gX&?}DTr
zJ~32V%pkIRCM!-cn`}7|IZd)zL*({>(<G>(%k<<y_KO2V{y@BdDLB<VaAiR+C)r#f
zY7T*#=99cck+pk4q>jW3m`rw@Y#@=5te1>bC9(NK<d02$;O-zEhU)APh};Qibv5~)
z7dvuTL_(xb!CWp68k%*>OwCC_H6{+C?#$#uZzp7@B}2r|#S7$4j(1C)tmlJV6tiVO
zq%T186YJz^A7Nzcb0PAVCNK2yLKZKAh+hE}ev|clQ3AUhB6kf`yiBg~<wMq21ChG{
z2}F*`=O^(ZOE*HKZ%zK_>xL}e1`)plYpBS0q$Z}M7NG_~H$>6B$qW3vkb__XMEpU#
zfH637b^TF7cq&Bt5zI-|{=CS#XF;T&#0!{#b)WX<LU!4Fi1agX&b79b6g9n!XgRPg
zfyll9_h>=IRcU|}vf(Qs@~`3r^uZP7xd0TWt%FFvfjLbk5XEVmA=2+ar5L1!MlK84
zc0i;*Oct;JRb(tmp(U9)nI)Cz<-%Twx=)ZIS8uX-5Q;H}AktsJVc$IwxdFg-93uB^
za)7<g<O4w{<;fX{+z)WM1oFF7Fh8>2FGA#h!HT1tU=;1wAku$euAeMF8M%4Mb{iu9
z50r0|N>YnUjP!F8GxN|r_W-Pni2)Xb=^-dV_!J_|1nNcdTe^xFnjuHuD~K!$q`={j
zfmEresqQ^Q4I5NVJ+x7p0qu3OePa6#8Ye^_F=qS0_LD)0?RO&+M<WwwgFqt_SA&+a
z<4(|!ac3EpA!Dd{?2PPe3>r(=nb?`xS=d<{nRptRcpI7c8kzW)u(Pvs@G~f}b2Tyv
zG%^W-3>BJup{RE9moODQ5q3$CK2dftc5!xzMkbL)CecPFu|_8GCG1k{(hN%MvW-j<
zjZBgtZBk%uhr?C$)Y)}F+BDcT*|pfU8<}JpnPeN8<Qkdem$2)y>oF*?8#FR0G%_iI
zv?+nKd8@yl!kyw74j%P3t_=gx2CzA0b}M#!ka^bZHte?Sc8yFbjZCVIOlplx>Py%i
z*c};^*qs}hG#Z&SLFQ>qzED&%IWAI7&zC(2q|J}rpFMy*u#ripkx93aNw1Mfe+hdq
zdkBLPdsrirK_inPNShH@n_iTfUIKe6NLwO%5_>XxN+Xj=Ba>+(lUXB^`4aXt_H>Br
zEgG3DLE6BspZq^cTCa$`9Hgz7y@b7#y{wVRx{=AIk;%4^$!-aI1$!lf5_@$clYJwT
z14x@A*tR3l%6hHrT_A03?CtCw?46BF&W%hijZChMOm0iqyV-jnwz)Sld4RNmY^#}^
z8zZeZoqY~S+YI)Z?6cTsH!^uOGI=*L`7|>5E@7X`K950(eL*9WUn7%0NLv6Xh=U$A
zKexDM8(nQ^VPL4EU}<Dh8(D2+2x6Po!V=0V_VplRu}1g?_KgtN1T``RgN#+0%oQuE
zw}X8zNDJ1;*~h-0L5clfBU5N2Qy54~_~g)7HGTHu>}NoFum<s2_Hz(xA{&{aKzfuW
zuZoq?XTQpR3#12YY~E(S!=S`|uaPOHktr6WCvNiBSWSKQC+sglda$PZSM0ADl-S=k
zG9@%JC4%%MP4<mb(`Wz8{sW{3YdrpB|HYuh{-=>CrI9HWq$h3iqBwOuCJuIx7HmPl
z!NI}Fpv1x5$du8@lnK(3HTip-x}G417)T2?mvM-5NH8dINHsF$G&1FawB$|piPz9m
z;811ISi+&mp~Rugq0-1y(8yHS$W+wGRJ?>kjYAz0XeEtIr64V!lu|ocK0!v$h{GJD
z&6vZ4!<56Uk*U0qsiKjovXQB335NxTC4&-&bt6-CBU24XTP-N1On#Q2RPV~+h0}rF
z96k`+>KmCFK-!eR#Zcvmm`Jm0;9|(o+`<r+s5pW-BCwTa9FZJR3`!g^jZ96AOwAx;
zTEND<wG-2x;&&pZ+R(znLPx>S)WQOkQq9cGK(k=bl**CBk&e@S8624mN*vjZOl^%!
z?I43YCSOg|(JSOA18KpQxH-x>Dj;6!YGmpLX;GT2pCqeS&(Q)3yatX&jwX)gMyB3I
zroKj|{zj$=OE_9N+8C5LIvSZKHZn~DX_-73RBnDxQqh~lF&$(R*4UlFF%x3b)JCRh
zAZ<#MJ(J~i7H}-Z8c54HmNO`EtZZbO(a1Ctq<mI`)?|Sc_4@T3TR?VT%R?MnIkrLU
znA6BK7o-UiLF$tVuItT(M39lO1w4ZGavTB~g*E*i<~YKj#Br>VX?`Qq0+3M)L6NlM
z^yF<Rs`VUaI4<H0pGzE<8I(A#HZm=4WLg5!xfG;x=iSnac^M01s|`&J%uI9?42_Kq
zYon?SO)bm~bQH|tZo19!0Aw=OWc!fg5rY!PlSVG4<&8`$Kt`{eoSdqm&+&@mJ;)<i
zWB3EdM@X2gZe&^m(xWtaSE`IY#}AIbAd7x-{Nnh{@u!h#T_e-_My3soOdFSQ{Nwl!
z(X*+MX){C*D2kiXB=opA`582paB_3<aPo5UH8O2&WZKrqw7rpO#}ZBfPC*7GPT@wT
zosCSpK-zYLQ-*80lAbK55-t~VDs!qZC~>MaGVN_-+6U6MfAZ9HEj=AhLy#715zT4D
zX$*1T!A7P-AT3Ih-=@pzS#g3ZOl;|o(}B~GL5b73k?BYy(@~I?W0Ng1wDdeV{Xn*0
zD_%MMIRhA!ID;CQPBb!|1Zg=nc|wMIeFSGLNDH=P!x_gJ4{_L;My9hME#MTm<4pFH
z<Q+PY6liQ}35#vcG|p^LBw#DsICD628I(Bl8=1~GGF<=}brGD7UQag5RM9KttO9Ao
zmO(kIIcpe{IO`gjE;lk=0cpHCxg%3uuZ6P{<ZNt-gtLpYn?Z@Qw~^_3Bhw9#mYb9B
zW@_n8=A403%S_H$3`(4H8kuf4GTi}bxjWf3OG|GN=W>w4u%%zl6`U&>lsH#6GTm=v
zdH~Y$aB^>!di_SuZ6I5)H3c}gbMAnI=i^4ECm=15@H~HX?iFi2NO+nXnZd(zKj#sU
zQP?Um&ZC^i7?e0qG%`JFWO@!V>IEn~cbuARoUKsLd5-fkNGI0Nxx#rB;)qv`Os_#Y
z!H(Feb7(5d-#Vxxj7{K<xWoAnWE9qf`-t-~gA(V{My9uoOz%KOy$3mB=j2P-s`Z?&
zIX~dcTOT<;LEP}Mk?9jiBg75bIZ}~pouO_pfEOd2KRN$_q5*6A_|L__pv1-0$n>R=
z=_|;nZxA<><tXWKaPflNjx89t__#m~W`jniAB{{uLHd*?AIp)`6XTM`sYQlMmO+V2
zzLDv7Bhw#{mcNsQay9f+xwLS3luMgS2jbEHjm!)nElQI!aup1Wxhz1oU~5}*S#nu{
zwJ<X^GBbm<G-ypW$dlG{<Z=Ur0=C4+<<8~7pv2|X$jsWv%+?^#$jm;uGEbvEfGZTF
z1zV2f3gZfAP~wVgWaeyS<^pNq1_#`0OIt(vN#HmzGBh=+jjT2_G&Dh~w7KHBQb3N!
z8mg&WX%NTrHZt=yun06VDNWYMmo>=cDgx=j*3#uF<|<)O;wo!o7HDJ!bzPW+8nh<A
z&DYec;c5hF!d3usHE}gFC~>tmGK(}ai-KG)Hrb^>y}p}k0!Ry1dnR&CVo>6m(#R~)
z$PDW1FiU|w{HS@NVF*J^wXvZAc>Rc_S#4Ccv89<Is9J+%1Fl(I^BFXjaLwkL!!?&{
zUL&(iBeQHHvs@#y{1UDOTnizdR^Vu4Ms$ZJ=NC%Uui@GVauC+Q+QhY)L5XW?BeQZN
zvkJ%$s$d7{E$W?=R~B7uWMXcqqhM}kUK>?yWNBieqhJj0O>yn!I)F3L9ppL$agTaq
z5VHm}2`M}7)OMe(b!aa*Y7H&S;pGh1Nv?Aszn$Vb&2@(BY$LN)BeQlRvrZ$k?h>x^
zTo)i_=`}LzgN>Sep=gRe*KICv&5kWgay{gF#Gu6Wq><UMk=Y33FXPFRi#7DPUU7jc
zcCOc4Z@Auay=!DPZDclUWHxVPwphaTf$JlK64&QOX3IuqE0CVa4<l+rc9#9rP*li`
zsWvvSGyuhinQ?7owTY3jDRP4R%gux<jJcV)Ss0YK*&3N`8=37u=GsqoD$&y8;TFWH
zMTlFNL5W+mk=e14*$Je@dGf3h4LxaY1zaJ{t;nqe2_@G?W;aMEeJD}X)8y6z*@7(r
zbL(>(Feq^wH8OiNGJAq-@tSO3s-<VaZOfpsgxiwairbporjgmFk=eJA*{_k=e+jo8
zw>`v`fJWv(h%KOoj7XV;o)@=2$R=#bj5~lkkU@z%xRE)ykvRlpQ|RQVGA+GG?l@d!
z19v=k0)rBFQX_MCBXa~uOXTEDW!hR9+_~7Ax7>N$`3y?jg^kS7jm$A1<*}2w%eD2&
zxobdvso<{UuHvq4WR7oSPH1FKY-CPa!d=T<$DqXB(8!$J$eaSwk_v8JJuKJI>*DUm
zsci!HL<S}9$&JkEjm#M!ZJCqJE41`xa?b;4nZ-Sudk**9M&|5B=A1_6+(zcSCEWA5
z7ceMsFKT4YZ)7e2X(<HT#8auNw}u;>IkA-%+?%*JLjt?Fk+}pC*zuK8`rNy?_k%(j
zTcyl>fcqdsPgx^#IYiHjN|}1@6WnJ(L5(f5aG&Eo&!EJ8v5~p5k+}-wylQYEaJTfl
z*TYOmUNtkf1Qo+Zrlv@3YwqjZcR&uoRxxwm<-P}TNNpo?oj=$mU{lp6#cw+PCjvAu
zV`>TSI&eSbeg!fLYdU?+{f0q_`&}b*LnCt|$bC(dd8;+`xxaA#1Qi<C3PkQ-+`k!=
zxc@dXw=^=hg7maaPOa9^W9H!iS%b~RJe)jS5EpkeGIxR<Jb8DutezkbxQC4`UGs?Z
zNH8ezNHsEdH!}BtZ0ViMR->t>zys=GV;v^rQR7i(P~y>SWbSWdo&eG^adK>px}H9d
z3CLmC;*`gf$BaRV$D)yWawGE;kd~>FH`Qp>+wnN#ic%gI9#;k>9`{D(>5a@YKw4&k
z1OJX<zHP2lOtqnzg}H@}f`x?vsLNz-0;*l%g)xsW4|u!_t6PG3K;vBojm)$C8ky&S
zLkVQ^j#CDVYo<N~N2`$qJX(38c@nT?SDr+kBnBm(lt$)xjm+~w?prW<O|6bz7EeAX
z6tISM0Z$<$dKNV@F9usYnXOJ<uY#u*6bjhd7d&-5^$bcpjg8Dp8=04ZY*{`zxK2l}
zou>y^G0M}+)5oC1Gog`rWh3({ke1bx*Vd`)P2-sjau~KQ3eOy#xeQ7?^BbAhHZrdR
zX<0v+sa{KODbFg97OY8aHP0G|Up6)}Z-V$Gs$NE)XEV<ZkRGi5-^sHJqGwAZ^HzwS
zrS<ZLJO_D>f%IT&?eiSxIRVkLy^(nbSWko2<o*b;aOmg<&v~A!3>r&$F7RCBxx{ms
z=Sm~<u14lPjm-NRnGZBFA6m+DjpsVg4W64kw;Gv`G%}xVWWLbIe6^AJ8p?tXp8Mc&
zXy)CMV;jtnCMbBGK*aY>UWO|E5+c5T@_SVAcM$P|lPwxi%mFRJJlV*6cyeQ-jS$Z_
zo*xVv3wgdbG9O*Y^Rtop*yQt#%HceJ8B7=Q{A*-B-oSsAftzU>FC)`bUM5~<Mk@vz
zp8LG)@d5&=6$OcTDIrCPdBw>^nFS@0nV>xx0f{9Ujm)PS7&sc4cQ-PhxXjDR3tF3>
z$e75>J=wEK)9)mBc_c3{FJClt9|uU!B3^z5Yh(e4DnVW$$cl8I{B#%Sx@Op3k;S~i
zydskiG+7FY@k%ggEaVk$WInTySF(}$?Bw%}DxtCrrVDxH8kx^w^TQKfRhTpPHZq?_
zab_d)Nobt%YVvA>Ox9{-zPONAr;+&*$mDthkjaLP%$Kp5{F2uKX7c_<<}0{Nw&Aq{
znGAL_)0qZPB7p3=;C1440m*>vM3wR24Pek%&QhPp(#0~LWirbomVA~}@T#zr;AL31
z!Hc#gH!{{Q=MCfy;tl2v;SJ>t;|*_QzR}2hyOH^RBlDw1=BJI!FB+NOG{AOy@ka5+
zF=#Aiw_~?qw{B!o2an{dEM_<0P2f#zWKwEmzS+opt3eA=eHoihUfLq8n#P+2(PPbS
z1J(nY09eeM&6~rU+sJ&Uk@;>T^S#M;TQpRQdCMUx(M_-9tpc0=ppp6EWUW?3)q37$
z>?&J%+rTOxH!?q&T+k}7+RfXKUFAgHNnn-F8kwI@-qNa|I-Pem7L~knc<1uYYh-@e
z$o#62`Ss+Vt=f7^cvpflKelp-cNOny1|{CLjm&QwnL%A+=J%6>+H_-hH}mdg5L(H*
zg?B6OHs0;LJ9u~U?&96eyQh))V<YpYM&{3r%wHOrzcw;|Yh?c3$o!*``R7XBeGFcp
z<-5Fxcn|X);XTUW)yVv-K?bxTu#x$9BlDj|=D&^1|0dsV+rS-_o0yzmTw!RSXE}L#
zyR#7Qb>5o{LJN6sG_o)(<h|9%!Z`U&yP_KJecs0m8jE=!@IK^y)X2iz$imXd!n&CE
z3GY+hXN@dujV$twEDDp2JMuhu-!Nn?;eE^dj`uz9hej6mMi#zC7NJHKu?E<dC*IGz
z-$90b;r+_{t&xSJk%hC7g=;bI58j`=zZzM%8(DZ7S$HSE?3ky@%*T#JB_9VLCm&ZM
z3x6YvKqHIb<TafNssel>*i?%0iSdayvIsY_h%~Z@PX5>_!ajk4n@@&u(q^8n6ejNi
zXh!6d=Tl?QSjPK>PmxcF_Zy!IpDNg8;*Bg4jVxS^ERu~ZQp@<%89wuA@@X-AX87F5
zBHd8f$Rg9oBG*vZP}ra~`9Y83<U2hb^(GA5e5QP6pdAaK?Geh3I~_VA4l@civdDr9
z9X<;_OUTx#)J1$24A$`if(EAg24?z(CJKoq3Wmm3hQ<O}h}{?9RpESg3|R{qcpI4D
z!N}*t2g=8M&W$X}3;A3dSyUUqE2ssadnWiGiw#&*kf-dSJFobB`2rY(7V-J<`8Tqt
zHL|EL;tS*pYGl!9WYL@)*{5C~$&j^PK#nPbFPblgC5dGsUp!v|Um{-;Uou|`Un*Z3
zUpij~UnXA`Up8M3UoKxBUp`*}Um;%+Uol?^UnyT1UwOlcMi%Wx7G3bd)9Z~a`i(4x
zjV#8EET)Yt=8Y_tjV#uUEVhj-_Khr#jV#WMEUt|#?u{&-jV#`cET+DVEdGrwfsHJ|
zjVz&!Ea8nTk&P_TjV!T^Eb$GRNK>zTkc9#)I?!cMXiLcWAPWUp^pGc)k!n3Y$btbD
z1GFV4e2_H)EJiqHmH8lR1z1c#i{X&XgDetYF~hQ^fe*4mfW-nj1B|(-i4U?!fW->?
z3IsmLDghQ7wDpL5kktV!c34)l@IjUausDF$$RN$C^Fh`GusA^`^U>E&@$CTD?kp~#
zbsLIU7p?I@mIJW3VPEjTcL-vF2ae@Pe2^spEM8a_>hVDq1+e&FSqZ}jSrEYD2U}=>
z>@CP@0G0q8D{S~6s{vSoKx;pc;|((X&k_QO8?+@ue303HmN4Y3gsdAf|IZSEwos7|
zGUv|{g|;+~547LoWFt!q*ax6xMt@P))AId<1YR6G@USe%<ogFvlz_BoM6w>dA=Nvz
zGBw4qC^;juEVbw&KNCN5XmCklNooTl0|$d7gA#)_gDHa*gFPoJCpV`Arvj%orxB+)
zrzNK~rvs-GrwgYWXD(+8=S0p$oJ%;DajxK8#kq!a9p?tlO`L~0k8&R8Jjr>Q^DO6i
z&WoIvIj?d);o{&@;Y#J2!nLiQ>k`*nZZ>XyZXs?FZZU3oZY^$OZfkA_ZclD6?r`ob
z?i}ts?gH*2?h@`Y?h5WI?i%iX?up!!xu<eZ=bp(un|m(zeC~zZi@Eo3pXa{K!_6bd
z<I9u4lh0GjQ_s`D)5SBLXBN*Kp7}frc^30*=Q+T0l;=3lNuJX@H+b&y+~=u($n%Wn
z1<xy<H$1;UZ9raeUIkuVUL#(6UKd_BUJqVhUVq*|-eBGs-c;Ta-fG?!-dVg0dDrpo
z<lW7?mv=w!LEgi>=XfvhUgEvNdyV%7?=9ZHd<uN_e8GIhd<}fPeEobA`6lyC<(tko
zlW!T{3cgi*YxvgjZQ$F)w}tOC->-UpIeuGyAO1N0Z2mm{0{&wDQvP!OPX1~9Gx=xp
z&*NXfzleVg|62ZC{CoNL^B>|r!hekaGXE9+tNhpb-}C?B|1ZEOz#_mVz#$+iAR!<n
zAS)m*peUdxU?^ZLU?yN8U?t!p5Gar)kRgyIkRy;MP#{nwP$Ez!P$5ty&@V7ipnkHz
zRDtONGX-V~%oUg~uux#Jz*2#00)GTG1RVvl1!oCv6uc<-N=Q&hPDoKmSx8MtLr6==
zM#xjhOUPTuS13v-S*Sp$NT@`pOsHO{Q>a^Lvd|o%bwXQ(_6eO9x*~K<=!VcOp*uoP
zg`Nw&6nZW6R_MLZKVd;(31J0cLtzVH$9iE8;XvUK;V|I{;Vj`|;VR*J;R(XCg_jHO
z6y7boS9rhhLE%%vPlR8Ku!=~C=!#g1xQT>_go#9mM2W<R#EGPeREV^S^omRnnItkr
zWUk0kkyRp_Mb3*{6Zs^{E-E3aENUQXDQYchD{3$5AsQ?iA(|{&BHAX}A=)L{Bibig
zKV5XD=w{J9q6b9}iyjp{E_y}uy68>OJEHeQABcVw{U!QW^uHLR7@wG^n7Ejvn6#LZ
zn2MO1n1+~^n7x>zn6sFxn7de@Sd>_jSf*IESczDZSf|(ov6*7C#g>Te5Zf<yS?r$J
zYq3vaU&OwN{Sf;v&M3|-&MM9>t|aax9wS~~FWw_QUwonXV)3Qo%f(lUuNGe`zFvHz
z_!04A;wQvUiJuWaCw@WvlK2(zYvMP=KT9x4h)HNkSV{y+q)IeOOp{nEu}xyT#7>Dr
z66YnZN!*cmD)CI>g~UgRPZD1w{!09lWRT>P<dWo(l$4Z_l#^7HRF+hg)RQ!oG?%oL
zw3f7$toM@imkg8)mW+^$l8ljzlPr|1l5Cgkk?fP4AURcXy5vmB*^(<IH%ac7JR*5a
z@`U7B$@7vIB`-@plYB2FE2Sl6D`hX`DCI2WD&;QaDdjEYE9EbhB$XnSCY2$TC6yzU
zCsiO-Bvm3+Ce<mmNNR)Baj8pEFQooR%S&rXn@d~OOWR1>OFK$COJ_@0NLNeON;gP1
zNw-LMN>7uXD?ML&q4Z+uRnlvu*GX@X-Xwib`kM@&jJS-HjEsz&jJAxGjE#()jDw7m
zjEjt$jE79POr%V-Osq`2OrlJ(OsY(}Oo>c`%xszUGN)x;%6ygOlogYemsONimQ|Hi
zmo<<zlC3w9HIucFwUP~$t&#1L-6XqP_NeSR*~hZq<XGh-<V@tu<SgW@<ZR^Z<O<{}
z<?7@b<eKDK<R;3^ky|9UL~fbf3b~DP7v!$WeUWFBXO?G`XO|b0my_3$H<34!w~)7z
z&zG-|?~|V_zfyja{9XA+3cLzt3eF1N3gHTo3egI&^$KYUISPde<q8c7%?hmw?FtJN
z)+%gM*rBjXVUNN-h2sh*6;3OhRXDG3QQ?-t6NUGR?200avWoJGii*mLs)~Aw28u?C
zCW>Z?7K&kt#fsAu*DLN&+^M)*@r2@O#j}bR6fY@WQGB8JRq==7FU7x#|CJb(xRm&n
z1eJu9M3t13>eZDrm9&)%l#G;2l+2Xul{}O}m7<hll;V_<l~R?`l`@rzm1>kam3ox=
zlqM=oR+_4`QfZUYcBP$4yOs7Tol-ilbW!QD(ha3sN_Uj*DZNnosPs>nS(#OtU71Ij
zPgy`&NLfW$SJ_J0TG>X~PT5~MMY&FSrt)m%xytjE7b@?nS3azKO8J`dPZd@bb`?$)
zZWUe?B^4DFH5CmNEfpOVQxz)}8x=bh2Nhoxf0aO$V3h=wB$X7EG?fCCT9ta0MwMoj
zIV$s17N{&zS)#I5WrNBll`SfJRi3N7Q592_S9MkOQY}!eRh^<bO?8IqEY&%x^Hdk8
zE>c~hx?FXY>RQ$MBdW(#PpY0)J*Rq6^@{3s)my4}Rqv}lRDG=aOHEwOP|ZUvRINj8
zmf9}0t7`An+0=#AWz^->mDE+$HPj8&P1McRt<-JR?bR#Q7pb4oVAT-P5Z92>kkwGq
zP}R`T(9$s1u+*^Du+ym1=+@}f=+~H}aa-es#%GOh8b3AuX#B6&WYXl-6wnmb6w{Q{
zl+l#a^wX@=T%mbgi&aZrOGisz%Sg*q%R<Xa%TFs@D@H3`D@iLwt5B;<t5T~*t5K^(
zt6i&8Yr57dt#ew}wVr6b)Ow@!Uh9k2cdcJqf3*H;vuP`6YijFg>uVcoJ8Ao9`)dbj
zhiXS?&(L0|y-s_xcKtT(o!a}f4{9ILKBj$6`>OVR?VmbKI!Zd4I-WZ5IypMII(a$;
zI<-1&I-NQ_I{iA6bY|<!(^;sqL}$6qN}VgZ%(_Opk-BNRnYuZ;`MO2ACAuBD6LqKQ
z&eWZwJ5P7D?grh>y4!Sj>+aJ%sC!uVqV5wt4n09VIXz`PH9bu|y?Q-EJrg}MJ$t<%
zy=c8Sy+play%N20y(+z0y#~EgdYAPc=sneYq4!$vgWhMoZ+buU{_6|r%jj$BYw2t2
z>*`zS|2JSVU^U<{;5Ohh5Ht`m5I2xAkTp;+P&QCA&@|97&^ItLFg36+ur{zWa5Qi+
za5wNW@HGf92sQ{ah%~5=F^D%vGDtPZFvvE@Gbl7DF(@~vGN?6ZFlaVtGw3wvG3Ym#
zWH8lWhQVxuc?Js&mKZEISY@!*V1vPCgKY*o4fYu9H#lT))Zm1{X@heH7Y(i$TsOF7
zaM$30!DEAG1}_cX7`!+5WboDChrw@ye};^PEQaicT!y@c0*1ndVuq6ShBAiohDwId
z4PP0)HT+=s+3=g;Ps2Zk|BaZ8SdBQ0xQ+OX1dT+D#EqnkWQ`Pzl#SGkG>vqO^o@*+
zOpPpztc~o99F1Iz+>N}9e2oH(f{ntAB8_5<;*FAwQjIc<vW@bL3XMvP%8jawYK<C<
znvL3wI*oda`i&+TO*NWfR6pBjp3y?1B}U7QRvE1|+F-QVXq(Yaqdi9ZjSd+dH9BE*
z+UT6oMWZW5*Ntu&-8Fh(^w{W`(MzK@M(>S28GSYSVf5SRpE08`i!r+~mobmAq_MQI
ztg(V|sBw~UigB88rtxay9mczi_ZaUtVKEUj5jGJukuV82Nij(?$uP+_Sy6AY)nvQL
zPLn+*KTX+8IZU}sc}=5DGfcBgb4>G1SDJ1!-C?@Rbg$`mGZr&8GY&IuGdHtfvrw~e
zvnaEfX3NZ0n5{BfYxdck!JNsQ#hl$dz&zGG-aOGf#eA{(2J=nkTg<ncf3aY+V76ej
z;IQzsh_;Beh_^_xSY@%@VyDG!i~4<*%$5R{LY5+y;+8&^k(SYxv6cyz%PqH9ZnNBB
zx!a1_O2A6UO2kUs%G)Z!D#|LxD&A_g)e5UsR%@)*TYa+nZ_Q}UY|UovZXIGBW*uQ2
zZ9UC;vGr2x<<_gLUs`{&{$c&g`mc?Zjk}Gfjkk@TO^?k?o7pyVZ5G(vvUzUvvfk#k
z%{yCjTNhh5TMt`r+g{sQwsUOf*)FubYWv9ciS0Anmv#nrws!V*j&?3~J$5tgX4}oR
zTVQwB?v>peyLWaU?e*<#?CtCw?49i!?fdK}*iW*bYJbcAx&2G~*Y@umv>ePGEFG*J
z>>QdL`W+@ZOm>*&aMR(L!wZL34sRWG9qX+eZ5-_!9UVIyr#en|oas2n@vh@5$2X4e
z96vglIXOGII=MS}IrTWrbeion*J**%L#KC6ADlipeRZ~T_ICDl_ID0)p6<NFd71MH
z=he<HoxeH%aQ@}|*TvZ-z$M5f#3kJ2n9F6Ct1j1FZn=uMD!MAWs=8{p7P~gMHo3OA
zw%5BJcfI0z&Gm-sZ8teLZ8u#veK#YwBDZ?CMz?0SHn&4==iM&4U3R<XF6OT6uIjGt
zuH~NZUgKWp-r(NszT5qT`ziM`?&m%DJ!CxOJQO^XJ)%6)Ju*GAJ@Py@dhGK!;Bm;~
zsK<X#9#1|`0Z(Di2+vf{bk9uB9M83$yFB-J*6;H?=w;|-=jGt#<mKws;WgE3y4Osv
zIbKh_K6!od`sVf1+t}N|+sWI-+uggxd!qMb@2TE1yl;3v^?vUC()*2%p^u%9gO8Js
zt53Vn6rX86Gkj+IJn{MH^V#RC&ktWcUu$1mUwdCC-zMLF--*7HeW&@J_r2qL&-a1v
zV?P}~%X&X+KU+TszfQktelz@L`OWn^?{~-Vp5Ft%$NtLx2L49=CjRFBb^hJ{z5f0F
zll;&6-}1lXf6xD6fNFqIfJuN^fMq~+Ku17VKu<t_z{P-j0S^Km1w0K@4m1cf3N#5c
z53CLB3hW8&3!E5uCh%t9?ZCT%4}zqE)PppGw1f15>hprCgKC57gPMZQ1l<g}9dtM7
zL9k4)X0Ud!Zm>acPH<&#Q*cXgTX08kSMcQEX~8ptX9v#<UJ$%8cysWc;FH0Zg0BYO
z2)-SBFZg-ztKhf6?}I-De+l6aF$-}C$q6Y9X$<KOnGv!uWJ$>KkX0dTL$-zN4A~R1
zFXUjz;gEZwto5P7q1K@;p#h;$q3NLop~azPp_QREp{=1Eq1~aqp%X$Ug{}>~68b2N
zD@-^{I!q}{Kg=S`I?OK2G0Y{*H!L75I4m?QA}lJbG;B`Ts<2C8x5Hk9eG2;@&JoTX
z&KE8iE)p&qt`M#qt{Scpt`+VYo)cabz9@Wk_>S;H;pfBaZ-n0tzZd>6{7LxR@DJgi
z!@q|A2>%r!8etRR6;TvX9nldnHDX@G!iXgi%Oh4rY>wC#u`^<K#J-3F5w|0mA_XEX
zA{`^WBSRyTBC{j&A`2r+BFiHiBAX-IB0D0xBYPuPM4pel8^s#M7bO*?9%T?^9Ay?|
z8D$gY8s!n?9pzge6%Z8^l^ZoBYEjgwsLN6Jqh3aRi~1kU6wMmV5zQSf5-lDr6)h7j
zAFUXz6>Spj80{798yyfG932)NADtAP8l4`U6`d1Z8eJdV89gm}e)OW~rO_**S4VG&
z-X6UxdQbHJ=!4OxqOU|hjD8jUHu^*K=jd<I|6`b9SYy~@xMJ#gVnkz<Vsv6GW1M1K
zV?1KKWBg*mW1?bWW8!0yVp3vqW6EP1WBOvI$IObE8?zv0am<>S^)Z`bw#00Y*%@;v
z=1k1Bn8z`1V&2DmiuoGzBbG6iC6+ywGnOZoFIGHOF;+X)BGxh1CDuLGE7mtQEH*MW
zCN?fMF*Z3iC$=oMu|Bphc6#ir*txL_Vi(7*iCrJNDRxWj_Sl`VS7Lw1amE?OS;cw8
zg~r9jCB~)1rN?E(6~~puRmN4v)x|Z$&5k=1cOmXaJYzg}ylA{qymq`^ykWdaym`Ds
zymP!;yhpruyl;G1d_sI~d|7-&d{ul+d|iBdd{=yLe1H6;_$l%AbK_UVZ;3w`e=7cL
z{Dt_-@z>(-$3KdH8vi{0Rs5UyuL;Zvd<oJCDhcWdS_!%d1__o4HVO6#jtMRaZVCPg
zkqK!D`3Xe{r3n=Y)d?*L?Fn58Jqi5@6BE`XTuykH$eAdVD3_>_Xqsr3=$Pn|=$`16
z7@QcE7?~KI7?+rkm|34#n%I=so!Fb$pExmba^jrC`H71Xmn1GvT$#8jabMzz#H)$-
z5+5c$NqnC8D)DpTx5S@`zZ3r@F(h#&2`4EeX(s6;=_eT_nI_pKIVQOzxg~ifc_)P=
zB_-u1RV6hiwIy{X^(6Ht%}AP^G%smE(&D70N$ZmKBppw>l5{ueK~nwWq-RMllRhPV
zP5P1aE9r02|74D2kz~1K?PQZ=^JJ@J+hm7i&t#uu|Kz~rkmRuB_~gvwvgG>YrsUS-
zj^ys-Daq55XC==`o}auhc~A1=<c}$mDM~3iDV8ZtDXu9VDc&i5Dd8zmDX}T>DM=|Q
zDfKDKQnsYrNqL&`KILaBTYV~js!*zEszj=Es!FPQs#dB_s(z|rs#U66YG7(yYI<r`
zYHn&lYH?~!YJF-`YD;Q+YG>-C)H$guQ#Yk<P2G{YJ9S^`@zhhPXH(CoUP`@^dN=h|
z>X$UeG_Ew>G=VhXG_f@KG^I4vH1#yCG@UflH2XBqw6L`Jw4}7uw2ZX+?6i`!^0cb7
znzZ_~#<Z@qDQOGSR;8^?+mN<7ZCl#@v_ok}(~hT|N;{KwHSJN_o3x+lOzEuY9O>NY
zeCgupQt7hk^65(HD(SlE=IM^<e(B-qQR%Vi3F*n{IqCW7Md>B!<>{5_P3isVGt-x)
zuTS5UzBPSE`tI~2>BrMgrJt!!Kc9Xv{Z{((^pENPGT1Y?GI%otGK4c^GUPLqGE_3u
zGc+@dGHf#3GJ-Q=GU79mGEy@#G72+FGRiY5GioyGGTJjHX3Wc2p0O%pZN`R-%^7<#
z_GcW*IFfNZ<7CFAj5`_6GCpVg$@rhil*yXOktvudk|~}knJJSgm#Lm<m|1U^>7MD8
z>6;ml8JroD8K0SynUa~FnVDIXS)bXJIX!bh=Hkp{nJY8bWNyvek-0l_Z{~r_Lz$;D
zuVy~Ve4Y6&^JC_h%<owYS<G2%SsYp1S-e?dSqfQNS>{;|S<YE*S)N%wS)o}GS<zXs
zSqWK5S=m`-S<P8JS^Zg)vZiLusLxuMwIpkK*2=6kS?jX4XC2BqlXWxeQP$I}7g?{f
z-erBy`jz!J>wh*=HcK{dwp6xywn4UWwpq4iwoSHcwnw&iwr_Soc2IV7c4~G}c6D}L
zc4Kx+c6;`O?8({FvS(z^&YqjSEPF%t?(7rU7qhQqU(ddkeK-4A_RH)y+3&JHX4ikt
z{*%L&BakDTqn4wYqm!ebW0Yf^W0&KY<DBD`<B=1X6P=ThQ<zhdQ=U_mQ=8M4)0xwg
z)0Z<bXL8P*oRv9Sat`L4$~l{JA?I?=wVeAok8+;oJkNQR^CstO&i`D_T(MmFT%}yq
zT#a1qT$5b$T&rB0T>D(dT(8{l+@#$6`rL}#>fE~A#@v?N-rNbflXIu$&d8mWyEXSt
z?yEeZJn1~uJfl48Ji9!{JeNH8ynwvmys*58yy(2xytKTcyxP33yvcdf@@D4E$(x_I
zB5!rxy1Wf}oAb8j?aMoncQx-`-ov~ndC&7+<$cckmiII7ciz8zhJ5LKr~H8Yiu}g>
z`tJN0`3v)x<S)-(mA^KBTmH`cJ^B0c59S}vKa+nW|55(?{2%$h^Zykv7O)iX76=pw
z7l;-}6i5}A7Q_@}6-+9aU9h5HQ^Ed%69uOW&J|oNxKePp;6cITf~N&93SJd_E@UX=
zDikkNC{!*~E7UC1DKss#D6}rLEp#Y!D)cT4uP;m}%q=V{tSqc4tS@XT>@MspoLD%y
za9ZJv!i9zF3-=TrEj&?py6{}##ll;KcMBgBJ}P`#_`L8#;ol<mB9S85B84L5BDEsT
zBBLVHB8wucBHJSSqNt+AqW+@oMF)yb6<sfSQ1rOyS<%a)H$`8IeiZ#K`diFU%v8)>
zEK#gfT(4hjQEXjoSL|5qQtVqCP#jzwS{zXvRh(R0P+VQyQ9QADa`DvS>BTdP7Zoop
zUQxWNcy00e;vL0Di!T)4Eq+$~viME$`{GZ<zl;BsFqSZvu$6F>D3^GZM3gj?be2pn
zSzNNAWM|2qlKmxzN{*JCE4f&5rQ}-4&63+CPf9+N{H`zMC>1OfDHSi3DwQo&E7dI3
zDb*`AEHy6mD=jT;E?r%^rSw4Q>Czje4@;kvJ}-S$`nL32>Ce(XrT@wp%b3e}%0$W(
z%e2aL%M8kl%goB`%bdzw%iPPn%6!T~%i_y&%1X;B%Bsui${NeM%6iKtluas|S~k6G
zLD{OZEoBGG>Q9xOExS;5x$Iim{jx`8Ps^T{y()WC_O<L^Id{28xp=u$xoo*Yxn{Xe
zxqi7}xk<TMxqZ1$d02UJc}{tLc~N<3c}00+c}sbFd1rY~d0+YT@`dGV%6FC@DnD9&
zqWpCEx$^7fx61F9-!Feu{-peE`S%Kz3f>BV3gHT|3dstk`U=$wjS8&_-3t8*iwfro
zzl!LJl#29<tcu)<f{MzDnu_|0#)_7Twu=6WnH7sGHdO4a*i*5;;!wrWigOhgE3Q;r
ztGHQlyW&a3$BN&T9F>BVB9-EmQkAlmYL%LmI+c2rhLy&ZHkF>0A(e@hS(Uk!1(n5>
zWtH`nO_i;c?UnUil|7YHE9X_NuG~_&t#U`@uF5@?M=MWMo~}Gwd7<)B<?YIsm0zkD
ztGKFos|2cqtHi40tCXr#tJJHss&uMMs~oHRs=}+Hs$#1Ws*<a6s`9Ifs!FQLt17FS
zswPy;u3AyGv1&`z_NrY~d#jFBovb=jb*}1S)#a)?RnMwERQ;{5W~=6`=Behd7OIx6
zmaA5*R<2g7)~GhDwyXB24y}%>POMI;POr|YF0L-CuB@)EuB&dS?yR0%y`Xw!^_uGS
z)tjofR`07mSbe1WSoO*3)74k1A6CDs{$Bm7`fm+G4RZ}o4S$VLjYy4njbx2djed<y
zjeCt(jc-jrO>j+EO?_fbN=<rAR!weAK}}IjeNAIcb4^>#?wS)dr)tjBoUdi66|5Dm
z6|I%1^{tJnjj4^RO{|?(ySR2~?ef}HwfAe^)V{C%RQt8|NA0gVu{!xWr8?C*^*Wn6
z|GLP!n7X*S_`0OJ)ViX&wz`>hbLy7XZLHf?cc|`k-IKc4^(^&L_4VrYTJ^g12KC1E
zruBjKQT4I)3H3?!<@HtdHTAXi4fW0S6Y3||FQ{K!zpQ>`{hIo9^{47D*I%o@S%16!
zL;dIaul3*Rf7btL;B4S&kZh1?kZ(|GP-#$WFm5nwuxzktuxoH=@NI}`h;K-0NNvby
z$Zp7MC~RnGXl`h0=xnI(Y3Og5)G)PSdc%^2)eY+!Ha2W&*bP1#@kqn5h6@ch8=f`1
zZTQgex#3&G-$sT;=0>(gjz-}|nMSon<3_7S+eU{*=SHta-^PH(;KtC#<i?!F%EpGq
z=Ek<h&c+FilN+Zs&TO3BxV&*g<KD(2jmH~LHJ)v}(s;e`R^#2q`}K`)8oxF%HE}la
zH1RhHHAyzfG|4w9HK{b|H`z3~HU%|BH^nt2Hl;MBHx)D$H<dM2G*vg%HnlZPX<FE{
zuIXUYk*4EKr<%?-U1+-8bgk)T)19XGO`n>+G<|FO(e%6NUo&GfOEX(DN3&3~Y_nOj
zQ*&f<UUPHv?B*@a`<tIM*S~Il)BL-IqlLSLuSKv$q(!VnrA4pBy2Yu*wZ)^wyCtY4
zv?Zb?x+S({Ld)uwBQ0lJuC?53xzlpL<x$I%mX9qzT7I|uYh`TZXytC@YZYu2ZnbI6
zYMs_Pzja~j^42Y_yIc3Q9&A0*db;&o>&4b9t=C%bw?1lp)B3ZGp^dqXt-g)3O`uJ<
zO{`6_O}b5`O}ovcV|vHTj%6L2JGOP~?AX(>zvEEH(T+<US39nE-0Ha7alhkX$Ky_p
zPTkJ%&c@EJ&dHs#JC}4W@7&P2y>n0Jh0aTzcRHVTzUX|_`KI${=bz61T})l9UF=;V
zU1D7lUD91~UD;g)UBz8xUDaK6UG<G!&0U>c6S`)0E$Uj`^{VSl*ZZzdU0=I?bp7u7
z*Ui|?(#_t@)y>;2&@J38)-BmB(=Fev)UDdB(XHLB*KOEs(rw;t)ot7D(Cysq+8xv#
z(jC?v+1=Yct9wrOyzYhF_q*S8zw7?c{kg}u$Dzlm$EC-;r>UpEXJXIfo@qU&>w9kW
z-0Hd0bH7)nSF=~USGU)oH>bC<x4O5sx1o1i@8RB~y~le`^|AH|^@;R}^-1<c_NDb@
z^kwzs_O0#P)wic_U*Exg)_$RWk$$m$$^PK}g#M)dl>YSo1^sLL*Y|Ji-_rkc0^0<R
z30xC+C-_Z>o)9}BenQfOr4u$y*fL?;g!-Kmeoy3>$Tg8?BL76UiNO;?Cx%aqnz(r4
zhKZXdZkf1!;^#>Wlb9y4Ok$tpH7R^j<fQ0Hag%0ET0Uvzq}7wwO?orw=cM10{!V6?
z>@?Yba^U3P$zhXcPhK&3)#Npk*H8X2g=-4`6jAV*j0{Xn5SpI_LPJOv28Jo(0LQ%a
A`2YX_

diff --git a/examples/xml/packetlib_example.cpp b/examples/xml/packetlib_example.cpp
new file mode 100644
index 0000000..4859bbe
--- /dev/null
+++ b/examples/xml/packetlib_example.cpp
@@ -0,0 +1,93 @@
+/**************************************************************************e
+ PacketLib example using RTA Prototype2 raw format
+ ---------------------------------------------------------------------------
+ copyright            : (C) 2015 Andrea Zoli
+ email                : zoli@iasfbo.inaf.it
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software for non commercial purpose              *
+ *   and for public research institutes; you can redistribute it and/or    *
+ *   modify it under the terms of the GNU General Public License.          *
+ *   For commercial purpose see appropriate license terms                  *
+ *                                                                         *
+ ***************************************************************************/
+#include <iostream>
+#include <packet/PacketStream.h>
+#include <packet/PacketBufferV.h>
+#include <packet/Field.h>
+#include <cstdlib>
+#include <cassert>
+
+
+
+int main(int argc, char* argv[])
+{
+	if(argc <= 2) {
+		std::cout << "Wrong arguments, please provide config file and raw input file." << std::endl;
+		std::cout << argv[0] << " config.xml input.raw" << std::endl;
+		return 1;
+	}
+
+	// getting the xml description information through the Packet.
+	PacketLib::PacketStream ps(argv[1]);
+	PacketLib::Packet* packetType;
+	try {
+		packetType = ps.getPacketType("triggered_telescope1_30GEN");
+
+		PacketLib::Field* apid = packetType->getPacketHeader()->getField("APID");
+		std::cout << apid->getType() << std::endl;
+		assert(apid->getType() == PacketLib::LogicalFieldDataType::UINT11);
+		assert(apid->getName().compare("APID") == 0);
+	
+		PacketLib::Field* arrayID = packetType->getPacketDataFieldHeader()->getField("ArrayID");
+		assert(arrayID->getType() == PacketLib::LogicalFieldDataType::UINT16);
+		assert(arrayID->getName().compare("ArrayID") == 0);
+	}
+	catch(PacketLib::PacketException* e) {
+		std::cerr << "Bad config file: " << e->geterror() << std::endl;
+		exit(EXIT_FAILURE);
+	}
+
+	// load the event list from .raw file
+	PacketLib::PacketBufferV rawPackets(argv[1], argv[2]);
+	rawPackets.load();
+
+	for(unsigned int i=0; i<10; i++) {
+		PacketLib::ByteStreamPtr rawPacket = rawPackets.getNext();
+		PacketLib::Packet* packet = ps.getPacket(rawPacket);
+
+		// use reflection interface to read content
+		uint16_t apid = packet->getPacketHeader()->getFieldValue("APID");
+		uint16_t arrayID = packet->getPacketDataFieldHeader()->getFieldValue("ArrayID");
+		uint16_t npixels = packet->getPacketSourceDataField()->getFieldValue("Number of pixels");
+		uint16_t nsamples = packet->getPacketSourceDataField()->getFieldValue("Number of samples");
+
+		std::cout << apid << " " << arrayID << " " << npixels << " " << nsamples << std::endl;
+		
+
+		//get each single pixel as a 1-dimensional array
+		//for(unsigned int j=0; j<npixels; j++) {
+		//	PacketLib::byte* buff = packet->getPacketSourceDataField()->getBlock(j)->getByteStream()->getStream();
+		//}
+		
+		for(uint16_t pixel=0; pixel<npixels; pixel++) {
+			for(uint16_t sample=0; sample<nsamples; sample++) {
+				cout << packet->getPacketSourceDataField()->getBlock(pixel)->getFieldValue(sample) << " ";
+			}
+			cout << endl;
+		}
+		
+		// use reflection interface to write content
+		// similar the above using setFieldValue_16ui();
+
+		/// get all the waveforms of a camera as 2-dimensional array
+		PacketLib::byte* buff = packet->getData()->getStream();
+		PacketLib::dword buffSize = packet->getData()->size();
+		
+		
+	}
+
+	return EXIT_SUCCESS;
+}
-- 
GitLab