2006-08-26 00:35:42 +00:00
{\rtf1\ansi\deff1\adeflang1025
2007-08-14 18:53:43 +00:00
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset0 Nimbus Roman No9 L{\*\falt Times New Roman};}{\f2\fswiss\fprq2\fcharset0 Nimbus Sans L{\*\falt Arial};}{\f3\fnil\fprq1\fcharset0 Courier 10 Pitch;}{\f4\fmodern\fprq1\fcharset0 Courier New;}{\f5\fnil\fprq0\fcharset2 StarSymbol{\*\falt Arial Unicode MS};}{\f6\fnil\fprq2\fcharset0 Nimbus Sans L{\*\falt Arial};}{\f7\fnil\fprq2\fcharset0 HG Mincho Light J{\*\falt msmincho};}}
2007-05-05 19:05:01 +00:00
{\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red128\green0\blue0;\red204\green204\blue204;\red192\green192\blue192;\red128\green128\blue128;}
2007-08-14 18:53:43 +00:00
{\stylesheet{\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\snext1 Normal;}
{\s2\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon1\snext2 Body Text;}
{\s3\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs28\lang255\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\loch\f2\fs28\lang1033\sbasedon1\snext2 Heading;}
{\s4\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b\sbasedon3\snext2{\*\soutlvl0} heading 1;}
{\s5\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b\sbasedon3\snext2{\*\soutlvl1} heading 2;}
{\s6\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b\sbasedon3\snext2{\*\soutlvl2} heading 3;}
{\s7\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b\sbasedon3\snext2{\*\soutlvl3} heading 4;}
{\s8\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs23\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\b\loch\f2\fs23\lang1033\b\sbasedon3\snext2{\*\soutlvl4} heading 5;}
{\s9\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs21\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs21\lang1033\b\loch\f2\fs21\lang1033\b\sbasedon3\snext2{\*\soutlvl5} heading 6;}
{\s10\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs21\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs21\lang1033\b\loch\f2\fs21\lang1033\b\sbasedon3\snext2{\*\soutlvl6} heading 7;}
{\s11\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs21\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs21\lang1033\b\loch\f2\fs21\lang1033\b\sbasedon3\snext2{\*\soutlvl7} heading 8;}
{\s12\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs21\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs21\lang1033\b\loch\f2\fs21\lang1033\b\sbasedon3\snext2{\*\soutlvl8} heading 9;}
{\s13\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs21\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs21\lang1033\b\loch\f2\fs21\lang1033\b\sbasedon3\snext2{\*\soutlvl9} Heading 10;}
{\s14\cf0\tqc\tx4818\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon1\snext14 header;}
{\s15\sb120\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs20\lang1033\i\loch\f1\fs20\lang1033\i\sbasedon1\snext15 caption;}
{\s16\sb120\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs20\lang1033\i\loch\f1\fs20\lang1033\i\sbasedon15\snext16 Illustration;}
{\s17\sa120\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon2\snext17 Frame contents;}
{\s18\li283\ri0\lin283\rin0\fi-283\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs20\lang1033\loch\f1\fs20\lang1033\sbasedon1\snext18 footnote text;}
{\s19\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon1\snext19 Index;}
{\s20\sb240\sa120\keepn\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b\sbasedon3\snext20 Contents Heading;}
{\s21\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon19\snext21 toc 1;}
{\s22\li283\ri0\lin283\rin0\fi0\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon19\snext22 toc 2;}
{\s23\li566\ri0\lin566\rin0\fi0\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon19\snext23 toc 3;}
{\s24\li849\ri0\lin849\rin0\fi0\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon19\snext24 toc 4;}
{\s25\li1132\ri0\lin1132\rin0\fi0\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon19\snext25 toc 5;}
{\s26\li1415\ri0\lin1415\rin0\fi0\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033\sbasedon19\snext26 toc 6;}
{\s27\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af4\afs20\lang255\ltrch\dbch\af4\langfe255\hich\f4\fs20\lang1033\loch\f4\fs20\lang1033\sbasedon1\snext27 Preformatted Text;}
{\*\cs29\cf0\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 Footnote Symbol;}
{\*\cs30\cf0\rtlch\af5\afs18\lang255\ltrch\dbch\af5\langfe255\hich\f5\fs18\lang1033\loch\f5\fs18\lang1033 Bullet Symbols;}
{\*\cs31\cf2\ul\ulc0\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 Internet link;}
{\*\cs32\cf3\ul\ulc0\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 Visited Internet Link;}
{\*\cs33\cf0\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 Endnote Symbol;}
{\*\cs34\cf0{\*\updnprop5801}\up10\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 Footnote anchor;}
{\*\cs35\cf0{\*\updnprop5801}\up10\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 Endnote anchor;}
{\*\cs36\cf0\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\b\loch\f1\fs24\lang1033\b Strong Emphasis;}
2006-08-26 00:35:42 +00:00
}{\*\listtable{\list\listtemplateid1
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid1}
{\list\listtemplateid2
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10146 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid2}
{\list\listtemplateid3
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid3}
{\list\listtemplateid4
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid4}
{\list\listtemplateid5
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid5}
{\list\listtemplateid6
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid6}
{\list\listtemplateid7
2007-08-14 18:53:43 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid7}
{\list\listtemplateid8
2006-08-26 00:35:42 +00:00
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'00.;}{\levelnumbers\'01;}\fi-360\li720}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'01.;}{\levelnumbers\'01;}\fi-360\li1080}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'02.;}{\levelnumbers\'01;}\fi-360\li1440}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'03.;}{\levelnumbers\'01;}\fi-360\li1800}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'04.;}{\levelnumbers\'01;}\fi-360\li2160}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'05.;}{\levelnumbers\'01;}\fi-360\li2520}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'06.;}{\levelnumbers\'01;}\fi-360\li2880}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'07.;}{\levelnumbers\'01;}\fi-360\li3240}
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'08.;}{\levelnumbers\'01;}\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'09.;}{\levelnumbers\'01;}\fi-360\li3960}}\listid8}
{\list\listtemplateid9
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57356 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid9}
{\list\listtemplateid10
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid10}
{\list\listtemplateid11
2006-08-26 00:35:42 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid11}
{\list\listtemplateid12
2006-08-26 00:35:42 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid12}
{\list\listtemplateid13
2006-08-26 00:35:42 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid13}
{\list\listtemplateid14
2006-08-26 00:35:42 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid14}
{\list\listtemplateid15
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid15}
{\list\listtemplateid16
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10132 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid16}
{\list\listtemplateid17
2006-08-26 00:35:42 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid17}
{\list\listtemplateid18
2006-08-26 00:35:42 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid18}
{\list\listtemplateid19
2007-05-05 19:05:01 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u10004 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li707}
2006-08-26 00:35:42 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li1414}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li2121}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li2828}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li3535}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li4242}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li4949}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li5656}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li6363}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-283\li7070}}\listid19}
{\list\listtemplateid20
2007-05-05 19:05:01 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid20}
{\list\listtemplateid21
2007-05-05 19:05:01 +00:00
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid21}
{\list\listtemplateid22
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u8226 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid22}
{\list\listtemplateid23
2006-08-26 00:35:42 +00:00
{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'00);}{\levelnumbers\'02;}\fi-360\li720}
{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'01);}{\levelnumbers\'02;}\fi-360\li1080}
{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'02);}{\levelnumbers\'02;}\fi-360\li1440}
{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'03);}{\levelnumbers\'02;}\fi-360\li1800}
{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'04);}{\levelnumbers\'02;}\fi-360\li2160}
{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'05);}{\levelnumbers\'02;}\fi-360\li2520}
{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'06);}{\levelnumbers\'02;}\fi-360\li2880}
{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'07);}{\levelnumbers\'02;}\fi-360\li3240}
{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'08);}{\levelnumbers\'02;}\fi-360\li3600}
2007-08-14 18:53:43 +00:00
{\*\soutlvl{\listlevel\levelnfc4\leveljc0\levelstartat1\levelfollow0{\leveltext \'03(\'09);}{\levelnumbers\'02;}\fi-360\li3960}}\listid23}
{\list\listtemplateid24
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li720}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1080}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1440}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li1800}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2160}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2520}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li2880}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3240}
{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3600}
{\*\soutlvl{\listlevel\levelnfc23\leveljc0\levelstartat1\levelfollow0{\leveltext \'01\u57354 ?;}{\levelnumbers;}\f5\fs18\f5\fs18\f5\fs18\f5\fi-360\li3960}}\listid24}
}{\listoverridetable{\listoverride\listid1\listoverridecount0\ls0}{\listoverride\listid2\listoverridecount0\ls1}{\listoverride\listid3\listoverridecount0\ls2}{\listoverride\listid4\listoverridecount0\ls3}{\listoverride\listid5\listoverridecount0\ls4}{\listoverride\listid6\listoverridecount0\ls5}{\listoverride\listid7\listoverridecount0\ls6}{\listoverride\listid8\listoverridecount0\ls7}{\listoverride\listid9\listoverridecount0\ls8}{\listoverride\listid10\listoverridecount0\ls9}{\listoverride\listid11\listoverridecount0\ls10}{\listoverride\listid12\listoverridecount0\ls11}{\listoverride\listid13\listoverridecount0\ls12}{\listoverride\listid14\listoverridecount0\ls13}{\listoverride\listid15\listoverridecount0\ls14}{\listoverride\listid16\listoverridecount0\ls15}{\listoverride\listid17\listoverridecount0\ls16}{\listoverride\listid18\listoverridecount0\ls17}{\listoverride\listid19\listoverridecount0\ls18}{\listoverride\listid20\listoverridecount0\ls19}{\listoverride\listid21\listoverridecount0\ls20}{\listoverride\listid22\listoverridecount0\ls21}{\listoverride\listid23\listoverridecount0\ls22}{\listoverride\listid24\listoverridecount0\ls23}}
2006-08-26 00:35:42 +00:00
2007-08-14 18:53:43 +00:00
{\info{\title Web Service Toolkit for FPC & Lazarus & Delphi}{\keywords Web Service FPC, Lazarus, Delphi}{\creatim\yr2006\mo4\dy20\hr13\min39}{\author Inoussa OUEDRAOGO}{\revtim\yr2007\mo8\dy14\hr19\min26}{\printim\yr1601\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6800}}\deftab709
2006-08-26 00:35:42 +00:00
{\*\pgdsctbl
2007-08-14 18:53:43 +00:00
{\pgdsc0\pgdscuse195\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\headery0{\*\headeryb283\headerxl0\headerxr0\headeryh0}{\header \pard\plain \s14\cf0\ul\ulc0\qr\tqc\tx4818\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\b\loch\f1\fs24\lang1033\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b Web Service Toolkit for FPC & Lazarus}
2006-08-26 00:35:42 +00:00
\par }
\pgdscnxt0 Standard;}
{\pgdsc1\pgdscuse195\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt1 Footnote;}
{\pgdsc2\pgdscuse195\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt2 Endnote;}}
2007-08-14 18:53:43 +00:00
\paperh16837\paperw11905\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1693\margbsxn1134\headery1134{\header \pard\plain \s14\cf0\ul\ulc0\qr\tqc\tx4818\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\b\loch\f1\fs24\lang1033\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b Web Service Toolkit for FPC & Lazarus}
2006-08-26 00:35:42 +00:00
\par }
\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
2007-08-14 18:53:43 +00:00
\pard\plain \sb240\sa120\keepn\f2\fs32\b\f7\fs32\b\fs32\b\qr \ltrpar\s4\cf0\qr{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b
\par \pard\plain \sb240\sa120\keepn\f2\fs32\b\f7\fs32\b\fs32\b \ltrpar\s4\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b
\par \pard\plain \sb240\sa120\keepn\f2\fs32\b\f7\fs32\b\fs32\b \ltrpar\s4\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b
\par \pard\plain \sb240\sa120\keepn\f2\fs32\b\f7\fs32\b\fs32\b \ltrpar\s4\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b
\par \pard\plain \sb240\sa120\keepn\f2\fs32\b\f7\fs32\b\fs32\b \ltrpar\s4\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b
\par \pard\plain \sb240\sa120\keepn\f2\fs32\b\f7\fs32\b\fs32\b \ltrpar\s4\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b
\par \pard\plain \ltrpar\s1\cf0\ul\ulc0\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs96\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs96\lang1033\loch\f1\fs96\lang1033 {\rtlch \ltrch\loch\f1\fs96\lang1033\i0\b0 Web Service Toolkit for FPC & Lazarus & Delphi}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs96\lang1033\i0\b0 0.5}
\par \pard\plain \ltrpar\s1\cf0\qc{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs96\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs96\lang1033\loch\f1\fs96\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs40\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs40\lang1033\loch\f1\fs40\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\ul\ulc0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs40\lang255\ab\ltrch\dbch\af6\langfe255\hich\f1\fs40\lang1033\b\loch\f1\fs40\lang1033\b {\rtlch \ltrch\loch\f1\fs40\lang1033\i0\b Inoussa OUEDRAOGO}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \page\pard\plain \ltrpar\s1\cf0\ul\ulc0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs40\lang255\ab\ltrch\dbch\af6\langfe255\hich\f1\fs40\lang1033\b\loch\f1\fs40\lang1033\b
\par \sect\sbknone\cols1\ltrsect
\pard\plain \ltrpar\s20\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b {\rtlch \ltrch\loch\f2\fs32\lang1033\i0\b Table des mati\'e8res}
\par \pard\plain \ltrpar\s21\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Web Service Toolkit for FPC & Lazarus & Delphi\tab 4}
\par \pard\plain \ltrpar\s22\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li283\ri0\lin283\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Client Side ( service consumption )\tab 5}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 overview\tab 5}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Example\tab 6}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The \'93WSDL importer\'94 wizard\tab 6}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Import by the ws_helper.\tab 7}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Connection Parameters \tab 14}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 HTTP connection Parameters \tab 14}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 TCP connection Parameters \tab 14}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 LIBRARY ( LIB ) connection Parameters \tab 15}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Multi-Address service ( Address per operation )\tab 15}
\par \pard\plain \ltrpar\s22\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li283\ri0\lin283\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Server Side ( service creation )\tab 16}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Overview.\tab 16}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Example\tab 16}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Defining the service Interface\tab 16}
\par \pard\plain \ltrpar\s25\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li1132\ri0\lin1132\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Export the pascal files.\tab 20}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Providing an implementation for the service\tab 22}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Providing a binder for the service.\tab 23}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Host the service into an application server.\tab 25}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 WSDL generation.\tab 28}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The Meta data Service.\tab 28}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 WSDL generation API.\tab 28}
\par \pard\plain \ltrpar\s25\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li1132\ri0\lin1132\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 WSDL Customization.\tab 28}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Sample\tab 28}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Services Extensions \'96 Server side\tab 29}
\par \pard\plain \ltrpar\s22\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li283\ri0\lin283\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Services meta data.\tab 30}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Extended Meta data.\tab 30}
\par \pard\plain \ltrpar\s22\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li283\ri0\lin283\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Headers support.\tab 32}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The THeaderBlock class \tab 32}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Defining header class.\tab 32}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The ICallContext interface.\tab 32}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Client side headers.\tab 33}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Server side headers.\tab 33}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The ICallControl interface.\tab 33}
\par \pard\plain \ltrpar\s22\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li283\ri0\lin283\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 SOAP Specific.\tab 35}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Binding style.\tab 35}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Client side.\tab 35}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Server side.\tab 35}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Encoding style.\tab 35}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Client side.\tab 35}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Server side.\tab 35}
\par \pard\plain \ltrpar\s22\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li283\ri0\lin283\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Provided examples\tab 36}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Client side examples\tab 36}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Server side examples\tab 36}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Delphi examples\tab 36}
\par \pard\plain \ltrpar\s22\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li283\ri0\lin283\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Status\tab 36}
\par \pard\plain \ltrpar\s23\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li566\ri0\lin566\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Serialization\tab 36}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 SOAP serializer\tab 37}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Binary serializer\tab 37}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Class type serialization. \tab 38}
\par \pard\plain \ltrpar\s25\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li1132\ri0\lin1132\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The root \'93TBaseRemotable\'94 class.\tab 38}
\par \pard\plain \ltrpar\s25\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li1132\ri0\lin1132\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The \'93TBaseComplexRemotable\'94 serialization.\tab 38}
\par \pard\plain \ltrpar\s26\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li1415\ri0\lin1415\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Attribute properties.\tab 39}
\par \pard\plain \ltrpar\s25\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li1132\ri0\lin1132\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Provided array implementations.\tab 41}
\par \pard\plain \ltrpar\s24\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li849\ri0\lin849\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Test cases\tab 43}
\par \pard\plain \ltrpar\s22\cf0\tldot\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\li283\ri0\lin283\rin0\fi0\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Author\tab 43}
\par \sect\sectd\sbknone\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1693\margbsxn1134\headery1134{\header \pard\plain \s14\cf0\ul\ulc0\qr\tqc\tx4818\tqr\tx9637{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\b\loch\f1\fs24\lang1033\b {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b Web Service Toolkit for FPC & Lazarus}
2006-08-26 00:35:42 +00:00
\par }
2007-08-14 18:53:43 +00:00
\pard\plain \sb240\sa120\keepn\f2\fs32\b\f7\fs32\b\fs32\b \ltrpar\s4\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b
\par \page\pard\plain \sb240\sa120\keepn\f2\fs32\b\f7\fs32\b\fs32\b \ltrpar\s4\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs32\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs32\lang1033\b\loch\f2\fs32\lang1033\b {\rtlch \ltrch\loch\f2\fs32\lang1033\i0\b Web Service Toolkit f{\rtlch\ltrch\dbch\hich\fs28\loch\fs28 or FPC & Lazarus & Delphi}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs28\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs28\lang1033\i\loch\f1\fs28\lang1033\i {\rtlch \ltrch\loch \'93}{\rtlch \ltrch\loch\f1\fs28\lang1033\i\b0 Web Service Toolkit\'94 is a web services package for FPC , Lazarus and Delphi; \'93Web Service Toolkit\'94 is meant to ease web services {\rtlch\ltrch\dbch\hich\b\loch\b consumption and creation} by FPC , Lazarus and Delphi users.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b
\par \page\pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i\b Client Side ( service consumption )}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b overview}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch \'93}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Web Service Toolkit\'94 is made of two parts:}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls23\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 a set of programs : {\rtlch\ltrch\dbch\hich\i\b\loch\i\b \'93typ_lib_edtr\'94} a WSDL based type library editor, a command line tool {\rtlch\ltrch\dbch\hich\i\b\loch\i\b \'93ws_helper\'94} and a Lazarus integration package which contains some wizards,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls23\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 a collection of support units. }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Given an interface definition file( a WSDL file or a pascal file describing \'e0 web service ), {\rtlch\ltrch\dbch\hich\i\b\loch\i\b \'93ws_helper\'94} ( or within Lazarus the {\rtlch\ltrch\dbch\hich\i\loch\i WSDL file importer} wizard ) will create a object pascal unit containing a proxy implementing that interface. At runtime when
a call targeting the web service is issued, the proxy's role is to :}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj (a)\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls22\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 marshall the call parameters, }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj (b)\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls22\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 make the call to the target web service, }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj (c)\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls22\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 receive the call return and unmarshall output parameters to the caller.}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj \tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Behind the scene, the proxy will take care of the SOAP plumbing details.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b
\par \page\pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Example}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 We will use the {\rtlch\ltrch\dbch\hich\i\b\loch\i\b \'93Amazon E-Commerce Service\'94}, freely available ( you will need to create a account, it's free) for personal use at this address \'93http://www.amazon.com/gp/browse.html?node=3435361\'94.In order to use this service, we have to download its exposed
WSDL(Web Services Description Language) interface and translate it to Pascal language. To that end, within Lazarus we can use the import wizard; we can also use {\rtlch\ltrch\dbch\hich\i\b\loch\i\b ws_helper} as a standalone program.}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b\tx1815 \ltrpar\s7\cf0\tx1815{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b The \'93WSDL importer\'94 wizard}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This wizard is contained in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b wst_design.lpk} package located in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \\ide\\lazarus} directory of the toolkit. Once the package installed, it adds a menu section \'93Web Services Toolkit\'94 with two (2) sub-menus items to the Lazarus \'93Project\'94 menu ( figure 1 ) :
}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \'95\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls21\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Import WSDL file ...}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \'95\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls21\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Type Library Editor ...}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par
\pard\plain
\pard\plain\absw6540\absh5730\nowrap\pvpara\posy1\phcol\posx2{\*\flymaincnt0\flyvert44304\flyhorz44288\flyanchor0\flycntnt{\*\shadow0\shdwdist0\shdwstyle41\shdwfcol0}}{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw436\pich382\picwgoal6540\pichgoal5730\wmetafile8
89504e470d0a1a0a0000000d49484452000001b40000017e0802000000652578c3000000017352474200aece1ce90000000467414d410000b18f0bfc61050000
00206348524d00007a26000080840000fa00000080e8000075300000ea6000003a98000017709cba513c00004f8249444154785eed9d099414559aefd36e5b6d
b5971967ce99396fce79fd5e4fcfcc7967a6a797e9e9d676b46940e9d6d176b4d176c17d03048494662fb6020b101001a1481464b328a1141010904256415665
55b1c4720104ec02d90bf2dd887be3ee11191199191137f3cb1307b2226fdcfbddff77ef2fbe1b91f9c5053f6ff7722aa6d7e2e1ad636a199a05054001502097
02088e716d5f1e380c1b28000a8002c9542015171951bbc95404ac02054001500029602e1c5feb904a75a883d8336e05368e6ed162f4e6e81701751df1a2a894
c780ddc716a3b626055571f93afad165b7a881636396be1a2bfd2cbafbed6cdcbff33e6d498f8f7491630be122408b511b5d677e5dfb20b3a2e04e7566a6656f
fbd7123176f3eee3e6514c7eaf09491bc26ff26c37a492e8d4680f8f3c5be7679dd4afc24d48715477acf35b33eaa355980df50276566fc3566b08d0539dda5c
d10d88fb4c2fcaa2832325dda4c6ac1bf5fc401395090ac722c5200575aa0d1136c4ebdafb1feec5f47d7e7db43ac5c4b7a272573e4a0de5d16e782551a39c0b
0a7372caa323de06142cb22e9a85c47eabfe8e1d5ab80725c536c0ef69a398f388b3c1138eedd6adcd3656da809bb5058593762089fe2491a5fd2702287a6186
b28f9a66f543f77916cfdaef145db858bdb8a90e29651871b3d49a0f4eb040024cea45ab1859648de25679c497f6f9d07e5913deaac7f9cb093d46b5477bfc32
6e9476f4b06aed7ac838c3eb3e6280b500e4f6b325a174ec81c32c88b381c5c5742c5cb26da6eb4aa18fd2e17ed84102313a32d4a85015b37d473e720cd1a86f
25478b9d65eeb69d6a2fea9986f61e7e1a737da18e96253dc00988fb25d4497d2a59e26b966ae0e83a08b90b055219c5423668e592f2f8f133005019a4099a20
285025e7453e94a64b3a5919afe59dcf76135bcc0b8ef72d6cb2a867236fed247c531be192bcb73eddb2ceda49c2439ba438a2a40163d0c8915f563337a0a189
c62e7603596b588272d3955d785267052ba93bdc1e5881ae5be962167601d49a7568a14d516e2d1b6dcbd11b3c69f19fc82aeb23d435edb184d472588a0e2195
3b36e36af93e725195ffa856775aea58e72d260fd0708d6a4e485a353c3b6b759fbb00ed8675374763492501c53a399f2a96f808769465b5328679db8843d571
ce5d4310faa2adcd65fc7859eb4c31794429da6ae6a0af93446221e86698e735471a0fd2c5350f3b0b9a4e2ce930945daee43f725983fb881c2dd1f1499e9dcd
84eb92e2041638280e2635beb0ea510ef733d6d5b5bf0411be5afef42b5fa1b32f9cd589a1ae834b2192cd1916c92780008130f642be70b4f1e43ffa766954bc
868881eb1fd0d8771e70e41d2749aac2d1c3a7d230cb3566646df9a6d54148ed97c6b906df4e7fe592617cc15dbd15afe76a6370d5b65c22184746971b32d275
4609883c282538aa172883468eda6b8efc3d3bde55fc6490d683d24712a1b497e17d7b575e81aa44ce178ef83cec0c713ed8749bf99ae91a6c86f85e562ba71c
c123f935eaada4960eb8751aecf884a32a69c47094c6b916401ee760ed09431ec0c17cc1df8e6317a0dc2f50c4f0fd04df33b45020f6bee628ae91732fabe9ea
dbf962398d2e75c1a3bfc811af1a9cb319bf80226259578b8465b5b358633719d8a24ff902904adb5c3ed0dd46d02d06d5d5ae34d4d8028ad84f976f1dc8b737
ec950e175a921eb90553b8e31b470b87bbdff1e7f5d7df90e116cb1a31c56575c846e55b5bee4a7ac0910d0f2e729486810b505cfba5bddce17127d77dd868af
a40b577234b6e9bea946dda19c90a4da42f8429844f41210b9bc402e04395a95cbb7e882c251b921235d61a4eb6a278aacb4eee4641b7dde9011c275e412ce0d
e40a9d72e91dcf19e740344ae839b005bdb26e7f1f42b921a35cb9cf85454a13e1344baf58111bd8c57bf95220b9e6483be9dc0262f6e33dec8603be98808db7
ec17ef810857ca581f47d3db5381be22c7778a4e362f310563649b7d9ebd0328e905477c01d7798977b134a2a992daae2783c4f3860c8998829c533d6fc8b8dc
3e124735fd22816c215d21097d0fe30bd148f1828fa32d9b50ea4509df73c7e7c04842b1427c093cec377e92d0ffa86d0832a9a2b6ad34c637bdc1521add815e
c4a780068edc4d15f2d6fd2786d6cdeb6c167f7127f0a64e7e2170b4ff482020542303d89954386a3b15a05fa146705e4a8a2dd2e03ae84da1080658e98fea50
de8f40f93c9b2844e4181c8b98a4799a0e878302a00028503c05008ea5f915ade28d18a81914281305008e00475000140005340aa466cd9c0d1b28000a44a080
7a351ff62459010b8e49b60f6c03054a430134d1ca64355a32dd043896c6d4835e245d0180a371d00438267d52817da5a10082e3b333de34719bfcdafa37b71d
f8f4932ff0b66ad757d3176f35b123aacdde5d033896c6d4835e245d0173af5f7dd1947d75f5878889988ce8fdfb0793aeb64ffbbcbb0670f42923140305f252
00c1f1e8d1a3274e9c3873e6ccb973e7ce9f3f9f5775111e8c2cdd7d208ba2450447f42f22a339b6e790c9bb6b00c70847193455c60a2038eed9b3a7b1b1b1a9
a909f1d1203822a71d399e456b520447f46ff3b992f2a247d7008e25e569e84c621540705cb060c1ba75eb101f8f1f3f8e82c7c49aaa358cc2d12cb3fd58ebd6
b5a8e1d826956a936920163764dab03ffcf422d6321ed69ad59158552cdbc6111caf4b4f427c44f1235a5f8783231a68f497dae9fac269e96300bbc291b72995
2a8c55f5699e1385eba7bea6c4c0b14d3a4d89e8c325c5d6a530f5974c470a2307d4a25100c1f18fff9cbaa1df2b9bb7ed3870a8e9eb93cd27cf64c9f661a675
ebcc1efaa7cb9b3d13daa458b1fa2ea95497a54e0d1ec7faa9dc47194a1066366e5438b6e1f9d62e56f96882d6fc46d75497aee9d6131ae4b6724914aebc5bd7
228f1c51a8884e0bf8fc4299c24e3ef6073c6bf07bab003d2739c7b3a348fcc99dc3ec3d6a3d74d05a1f214c93d3b055b55d3883ce58b821c924eb54e69ccce4
76153b000ea080a200826365cfdbffedc78fd76ddcfec981a643c79abf3a9125dbee4ccb569977e99ffa370d635ab519b3db39244761ae989fca7d94a1044136
379d74afdfad2a1f4d3882a09ea6e79fa87f22b726c1d5d0e9e6d6b538e098cd12bc117859e0a1b4b4dee9a04689ea1ccc7608e5f1a0c41f7ac391aeef71fb36
e21c002b263164ebda85c81168984b0104c781433b5c9fbae9d90ddb673cc6d298b55fd830aa95fd67abcca663d9ba4efc47d983c79c6d47a6855d80edc1efd1
7ee7145f87ff6c9519e55422546e7d946e6fb595aed31d852adf3496c40b2dc636480d5182680c100cab6f8fea973be2af8fb4479dea0f1e4387b419b503f717
d5495eed17baec613d2247497d09d1b578e048b045a3427ae51147885aa83950aa4f3b51a190274f0af7ec282f47e448af7da2aadb64eab90ba0d28134962431
2cdfb012eae69a24f079792a80e0d8afb2efddfff693ae73b7efd8d7f4d197cdfb8e64f76dcb5cdb32b306ff8bfee43769a7b6cc9186aa96a947e65b07ae79b6
4daa63bd55618aec912bb73e6a53b50d15d61d651950ff482a5d83adc26fb88dc25130927681954495e3569ccd7f1fed435047688fae7db681b7769f6521aa9c
d9cfed711a2542497d09d3b598e0682f5bd31967c9ec078ef611f52826c485d560cd02ab539116bbfccd1fe1f08070546f2241e4589ec00bd26b1b8e1d5aa56e
1ab176fb8eb5cf5d43cfb0121c6dba91174fcc9c00551924eda135f05509652ce8a0978d2491d447d8577972c191c710d711a9516d1fad46890d4c01b5e3da3d
42a84400caf5254cd76283a3bdf4c557f174cb6a67812b112f8dae1392808f1d4586284728721477a592af47b8dc89d7e05298a99a242cab955b72c2255167c6
f03bddde07995d50d66805101c7b76bdfd5ffef5f1c92b5fbc27d56ae08666f4cdeadd1b3357b7c8bc89ff457f1ea87f20d566f046eb4bd7e4236b27de1a06b7
703ea23bd9816a55ca1e5ad8fba803d997ac456cfa25d6b465008d1c1d7b1cc3f8da98d94a477cf5d1b6b97dbdd0e53a2a8e4b8bb851c5605c89d497405d8b11
8e0e95d4bb1fdced10fee6b67d9384fbaa00bb11426e95e0bb2616729d5be2b488508fd0227707460a2d9d4b39d6fd193e5655dac58025a8a73318e06834cc0a
6d3c82e3f53f4cfda66bcd9ce5993b534f54ef3bbdf5d3e6adb3bba5aead5ef476f555e85ff4e7a7cbee4d75cb586f9c8ff07b7b5b34fc3aab30f913954cdd3b
7b6fc5b5e85fe7d3c7966d65553593f7740ffbc8e5285420755dc5dba8365400bf611b8523bfd37acfb7681d88ed513ae2bb8f570ddfcb77f9aae1cb681fed6a
9161cc7ecd1eab17dd32525f6687e95ad4702cf4900b5b5f8885300e30c33608c795b902088ebf68377cd8f3b3662fdd327b007d5c265ac44e58b06f693bebdc
fae4c47da71754b5660b44eba3d39bb88dffb45d8dfdd19a0957e2037061f4273d8abc772a973ed21d45ebbfb2ea03be5df49ec251dacf0cb02b2456693ae2a7
8fa84cebbe6bb82e5bbd43b2e063f9fa3df6901aa4be84e81ac0d1cf9cd5c4857e0e8332a0005500c1b173afa1439e9b3673e186655b3e5fb3fb2feb3e3866d0
46e16890cd3e4d75eb5ab9c211662d2810ad02088eed9f1ad8ff99c92fd4ad5cb076efb2ad5f2c7ff7a0411b25884136fb34d5ad6b00c768a708b456ae0a2038
3edab57f9f61d5d5b397d7addcbde89d4fded8f499411b25884136fb34d5ad6b00c7729dacd0ef681540707ce089dedd078d1d336dd1cc37b6ce5db907254634
68a30431c8669fa6ba750de018ed1481d6ca550104c71bda3e74d7633dba0c18d77f4c4de5c4d7864e9a0f5b9215003896eb64857e47ab0082e38811235faea9
ddba6dfbe1234da74e379f6dcec2966405008ed14e1168ad5c1540701c367ce4cc97676fdefadec1437f397ef2eca933e7614bb20200c7729dacd0ef681580c8
31c941a2d6368063f1a748882f9cfb34ca67cdce2f873489487dd6e0d31e28e6ae00c0b1b070ec1ff6259931a862fc807e93ffdcb57ac49005037ad776ed5cdd
afcfd4cacaa9e9a7aaa28663396602cf0740dec7faaad9f9658fb6b0367f07fc10a808944770bcf4d24bd18f3cbef9cd6fa27f2fb800fdfb8dc2f2425bdbdcd4
15da2d44d3efa5aed06eb15485d818c24b2b56ac4047f106f7fef398f367b2975ef8b38b53fff9fd4b5a7ee7e296dfb9e4b7a78e679bcf64238763196602f785
b0108ed6a52652abd126c5a0c58a675ba80e95f041088ea9d485b5b5b5efbdb7ada9e9d0a237e6223c86c08acf43705c8558e00647f49136f652eba755b9c131
aeaad068414d077a61a4f27d1c3ef40504c72bbefbcbf327b3e78e674f3765bf77f11f9a4f642fb9f097d1c3b16c3281abf929d81e9aa85c938dbc011342ccba
261d4a2042d1a6ff1895a2b93870420efcdb70b613678db3f39f5b2f9a11dd2aa6b196cb945ec2182b4ed76c387eab7676ed37be7141ea82d4868d6fa5be515c
38627678c051eda81a58218e60a0a08f3ce018635579c2b15f9f61e79bb3177de3877f77c5af2f4cfde46fbe7be33753bf3e792c9ec8d19a9f6590099ccba846
10a6a410e7d3a8d16ce47c6a4b9a488d8bfeead3625e2292f3cdd9e9b14c261f8991a44d4072b090ba4d6b6d811e9f541cfa24bc5604c70b52df4491e3c30f3f
3c60c080254b96a0b391cf303044314ab43cd9c1c3b124ab1a3870704545559fdec3fbf67eb66ac8d4ae5d478c78e6a5be15c3fb0e181c47e4288545fc7cc633
57da837961562670b50b7c2089a33401642e09771958496027208046972c918b528c8f2ee5b4952e8febd1263c8705787ef4b523c70b060c183475ea8cb973e6
ad5eb53e95ba3804f57c1e0270d4a25c5d56233d2b870c6b3e9f6d6ece9e3c99454fe53e8d36f467f64c4c702cf94ce05a384a373a02c011cf4bbc1c5622476f
6c8586a397b5f971a22c8fb6e078015a507f33f58d8bd0fa1a91d14438e2eb987e5e5a0ca9c846033a676d3eabca590fbe368a469f7482e9d967c0b1e3d9bffa
fe55975e7af5a597fdf23bdfffe9c597ffdf33e763b821c33fb9a5843381b3ec8fceead92b7539cb462ea5407762c334914d04211757ba3e2f5882a39431d815
e29ed6f274e397e96eefcb928652a7111c873f33f2e5d9b55bb66e3fd2d474b6b959ba5bad8ab473e766edce868606ed47fc3abd189123aa133581f938347585
db8621e54d34cc44fc6f9e55f961222da3b56ad09067102e8f1fcf9e3c9e3d7e22fbf589ece9662b788c2d722491107d200c774b80bf1960702670e7b607eb02
bfb29697ae046eb408394a585673f754f0a4e1c14757d66e119fae30798c0f5f9b5b9d6ef129c0d11ffa111c2fbae807177ffb07dff9de0fd073ab4f37377feb
920bf8100655839047b7c1830723086a77a232da8f8a0d478c3c9f30ca19eef98919fd70d6a73d1e55fdb9d7a053a7b3975e7acd65df6e73d965d75f7af9b5a7
cfc601477f03a9f8a5425c412b7826f01036145f1868a1480a583f1f7c7ae4cc9956e478f8aba663279ad13d6b158e8889881a087fe80d0e0f25626232d28f50
615c121f482b2c46e4983f869269558fde83916ea74f670f7f993df1751681f22f47ada577d4916391465ee06a8381a93899c083d910b88b7040a2144070bc29
7551bbd4c55b366e3f78b0e9d429b4acbec21b8e7e22c788e158c0c811a3d64ffc983308f54f6d6d55e93ff73f7132fb8dd4cfbeffddffbef85badaef8eb1bbf
ffddff3a75aa6ce198a87903c6948102148e4fa5be3d3875e9b0d465a9d40fbc97d57e22477e195eecc8d1cf3547efab7b3472f473cdd16755fec9e87625f4e9
e1632d479cce9e3d993d7d327be4b075f1110592e51a3996c16c842e264a0104c7aaaa913367d46e7c67bb03c77f92e08896c6fc0b478eea4e7acd51faa8d870
2cd56b8efd078db8fcf27fba20f5af975e7ccd772f6dfdd7dfbbeee20b7ffaf77f7715c0315133088c2959057491e33ff07014beab1af60fb8e6e81d486a97d5
4fa6fba22f399e3d933d73ca8a1cd1867e587dfc6b881c4b763242c792a50085e3e6addb0f7ed574e234ba2163de97c04bf29ae3e0a123d177bfbf73d94f2ebe
f0df2ffff67f7cef3bff817e6d7dfe2cc031593308ac295905acbbd5c350b2dbda0d9bb61f38dc740a7dcfb1c88927909481aec7e5fc72a29f6b8ee84b8b7ebe
7fe3e79aa3cfaa02f5511b390e1838047db7b1f9ac1530a27fbffedabae6887e700dcbea929d8dd0b1442980e078e185fffcad6ffdf32597fdcbfe434d879a4e
a62e2a62cab2227d69a68091a39ffbd47e389b3f1c7bf7e977f1c57f954afd6d2af5f7e8df4b2efa5fdfbaf06f52a9cb018e899a41604cc92a6025bb1d3e7296
fd0c99435f5991e325977fcfe70fa543142b121cfd93a8d8dfbf296007dde4657044ce830d1400050aab00853d4e59964a5d94bae0f254eab20b2fba02fd1b82
7a3e0fc1211efa37e80b192c3551f255e58663c99eb2a163a040021488fe3109a13badc2a2e4abd2f21196d5a1fd0e0782020114881e8e3e634c280691638071
0c454181822b0070348ec21039167c164085a08046018023c011260628000a001ce5bb3ac691b18cb3f2c0fc0505a255002247e3f8186659fd44e70efcf6e8e3
0fa32dda9106ad8102862900702c7d38222c6e565e6bd7ae79f0e1fb0d1bad602e2810a10200c7d28763fb8e8fad58513ffef97168abce4c985533dd6d1b3f71
4c84630f9a020512ad00c0b1f4e18856d0ebd7af9f69bf10163dc6a3f7a7891ec8605c89299080a4eb00c7d287e3fd0fde4b23478cbfe3c7bf5637b4df0d8ed2
63a6c24cc318c7ba47d3315a1546c49238c6798a197b66add60b399f5eebfae0effab4f4c032f4a048798f2f25018ea50fc77beebd4b8a1c1119376edcc06f68
8f1b1c9de794e2f1640ded5023cdd7708cba10c0315ac5edb32c7b246d7dda7eef138eea336915e3c9599c1ba0ea1eff3d063896051cf3891cd3120cf118d53e
3d998d7bc4d074bd5d26633dd69ebcc747913d74906aab22c55878418a5b85d36934c5ec9735b7a43a59946b4f3cfe415bec23f9f1b2a5837bff533f86926e14
24dec4cfb615060c6fa40f385ac5d546c29e02018ea50fc73fdd75bb47e4b87bf72ebcc4768b1c2d140a1389818fec77069ffd81135fa2777c9c4091ca470eb8
5a3d67b9aa7803f838163fc55e8846d883edadddd81a523fb34e7878347031324a3297884dd201a00e180f38ba2dab018ee8f901e5ba05fe9ee31f6fbf15458e
f7f7aafe8f87a7e7dc5a76982c4d16ff70b4c23412aed9c871090945d4e62a268d75e14ffbb9d4f57624abe52cb686e33237a1dc177491c1a2dc1a728be07838
6a5cc95fa414624c7920a963c06d8f3fe52172340eb261e088224784c5b5bbbf5cfeee7e8f0d1540c5a491e377594d8234041de7fa77d2e0a8068961175cfe26
17949214b04f662ad272c0d1a90496d5e51a0ffa67741838a2c811516feebac611afed76dbaae6ee9cb9f263158efc4296dd90e196487c01f43e8dae1ce119e0
1f8ece1a9a54e5310df88ff05c936349b6985696d5dcbd001a5328fbecab01ce4d03b7f7c0bd500a089740acc1e4c4ef7c8cef2700f438abc1b2ba8c191a068e
38729cb3ae71f8abbb101cd1bfc3ea763d3d7767e52b3b06d46cef33f3ddee2f6dedfae296ccd2bd2a1c31e5e88294de6ba43bf17574b6b0e5c922ad925cc6b4
5c95371cd9da58b73466b67280936fc0b03beefc0d1b32df018ea1c0e7f3207e2cd19142bc200d2429caf41139aa03553b747d9a0acb6aff215b424a8681238a
1cefe83e69d2d2bd5d5ed8dc65f2964e933777ca6c7e22b3b9e3a4cd1d266d6a5fbdf9f1899b1e9bb869ecc20fb470f43998a228166221ecb2988bc25a68c364
05008e09419e7f33c2c0b1a6b6a6aa6e17e260876a84c24d160a276c7a64c2c687276c7af8f98d0f8ddff8e0b88dd54b3ebaf5c9f1adefe999e8f11c0c8e9ab8
30d1bd03e392a400c0d13f95125232301cafb9af2ae74d6a5ce0dafb86246970822da0409c0a001c13823cff660486639ce30bda06058c5500e0e89f4a092909
703476b681e1462900704c08f2fc9b0170346a8681b1c62a80e0386cf8c8992fcfdebcf5bd8387fe72fce4d95367cec3966405008ec6ce3630dc28052072f41f
b225a424c0d1a81906c61aab0082e30d6d1fbaebb11e5d068ceb3fa6a672e26b4327cd872dc90a001c8d9d6d60b8510a203876eed4a572f0d019d3672d5db27c
f5aa756bd7ac872dc90a240a8e2c0b8e51c31e8c2d7705d0cfac724a80e058d16fc0c40993962f5bb16be7fbfb1a3efdf4932f604bb20251c391fd7250c91ac0
6501cb39d2721508f6edee5cb505fa3cd00f7503d50c8593aa00fe0daab775088e7ffba35bfffedf1efcdfbfeafdc3df8cf8d16fc7fca8e558d892ac40e470d4
fe6e3aa983bec076c588ec02f704aa1314a03fd0f7d005c1f117373e79eddd4fdfd4b5e64f0356dc33747dbbaa77604bb202f1c191e66b44038afda0df61a794
f1419b9207528503a392a1009f2ad7cd2204c7df3fd0f74fddc7771af346df99ef0d9cfbe1e0571b604bb202f1c191657050b36a2b29b875395420557832c800
56647d468efff0cbc7ffef6f2bfedf2d93fffd9ef93fbd7fe9cf1e7813b6242b10391ce93812d6d7fca9d779440c9e7438e59736c114a40a072e2543019fd71c
7fdcf2f15fddd2aff5c3999bbacefb9f1e4b6eedb90cb6242b10391c5932442543221de8120adde0688113528527030fe56d45cebb31481eb4acfe71ebc77f75
6bbfd68f666e7a6adefff45e726b9f65b025598198e088060b5b3aabdfe0d12daba5fcde4e5809a9c2cb9b4bc6f41ec1f1dfaf6b7fe56dfdaf7bec859bbb2f40
50b8adef72d892ac407c7024b7619c876749cb6d250537a40a37060360a84e0104c79f5cdfe1cab603aeef30e50f3d17de56b1fc8ffd57c0966405a286a36113
27c4976f2055b8613e8ec85c0b8ebfeb78e5ed03afef38f50fbd17df86c83870256c495600e0e8393782c111528547041a139b4170fce90d4ffcface41bfebf2
d2ad156fdc3ef8ad3b86ac822dc90a001c4d9c6860b3790a5891e38d9daeba6bf0f54f4ebf65c0923f0e59d5f6e935b025590180a379d30c2c36510180639239
a8b50de068e244039bcd53c05a56dfd4e5d7ed86fceea999b70e7ef3f6616bef18f1366c495600e068de34038b4d5400c1f167373f79f5bd4fffbe7bcd6d4356
dc3162fd9f46be035b921500389a38d1c066f3144070fcf92dddaeb97fd88d3d6b6faf5a75d7a88d773fbb19b6242b0070346f9a81c5262a60c331fd5f0f0cbf
b1e72b6d87adbe73f4a6bbc66c812dc90a001c4d9c6860b3790a20385e7367cfdf771c73f790058f4fd8d4e9c59d9da7ee812dc90a94341c837d4bd1bcf90616
1ba40082e36feeea7563a7e7ee7d7a61c7495b9e7c6977d7e91fc0966405a2862397091cfd60d0c93d51a4315e0c3842a2ef2239abd4ab4570fc6dbbbe7f7872
fc8323967499b2bdfbacbd7faef918b6242b10391c69a6b208264331e0e86176c4cd45202034513805101c5bdd57f13fe9090f8f7eb3dbf45d3d6b3fee35a711
b6242b9000384a69c06dc464d2765c69bd4fa7ed68d3fe03bfb107acc7517440535aa999c67119ae7e5233dfbad08add2cfffb40b94eb7360a37bda026931540
70bcee817eb73df5fc63cf2eed3e63479f391ff5addb075b9215881c8e7c5a5b0b744a1a701b321c01ed50d3a292f3c6fadff328198e6aa671a784d59613cae2
34697ceb5c56359c72d7e1a9ce00825acb58788102aa02088ed73fd8af6d8f091dc62eebf9f2ce8a571bfacffb04b6242b10391ca565358bb730355d927ef331
20aac1fb28098e6a6135b4b4f6d8e974eaadb895004ecdb94b09a8ad1396d500457705101c7ff748c51dbd273c31e1cd3e73760d78fde3418b1a614bb2020980
a38a4b154f2a1c3d8e52e1e876a153c0594038aa75021c018e39e0d8cf86e3b23e73760e78bd61d0a24f604bb20271c3915bba927125c56bf4b10ac21b2579b8
164c64a79a699c5b5653c6e13c8c322ed9625a59562bf7dad9da1b20010ac80aa0c8f186c7fbdfd5afba4b6679ff79bb2b977c3274d967b0255981d8e1c8df5a
b1af2bfa82a3e751eaaa995f05f3119fb03ab6af294a9065059427dee8ea84848e00453705101c6f6a5f714fff89e917960f5ab0ab6ad9bee1cb3f852dc90a44
0dc7644d9e100b6148f49d2c171a630d82e3cd1dfadf3ba0bafb94fa210bf78c58de3872c5e7b025590180a3fffbcb10171a43a2041a8ae0f88727fadf3fa8ba
c74bf54fbfb167e45b8da3577d0e5b9215286f3826700e814925aa00c031c91cd4da06702cd1b908dd4a9802088e2defa9b8a5f3848787bdd975f2ae1ed33fee
39b311b6242b00704cd81c02734a540104c7410307bf907971d5ca351f7df8f1fecf0f7e79e0306c495600e058a27311ba953005008e49e6a0d6368063c2e610
9853a20a2038de72f7e3f777aee85935b92a337fd4b4a5cfce7833e26df26bebdfdc76e0d34fbec0dbaa5d5f4d5fbc35621bf2692e62fb018e253a17a15b0953
00c171e4c891b5b5b5dbb76f6f6a6a6a6e6e8edec02f9ab2afaefe1031119311bd7fff60f456846f3162fb018ee15d05478202fe1548021ccf9fcfee3e9045d1
228223fa179111ed31e815b1fd0c8ec879b08102a0406115a0e849021c9131478e67d1c216c111fddb7cce20301253a3b41f2247f3c607586ca202098123928e
c2d14419a3b41fe068e80801b30d538087e3eb9db8b4cd85ed878f5fc48681a38f6aad7ef829e6a78ca72661ecf716599bcf219b053816766c426da0805e0104
c761c347ce7cb976d3d617dba73a2d3ad97cf24cb6f0db8799d6ad337bf87f9556285c02b4eea35aab365cccbb5f7eca78d6e0667feea6ddaa75e91dc0112633
28108502088e955523a7cca85dbb60e06f7ef3dcd663cd5f9dc8167edb9d69d92af32eae997fcfb545e182ca349df467838f6a3d5a14bae962957f29dcec671d
0f2aac4bef008e514c0c6803144070fcc77f6a71fd8fe97342bad51dcbd6d9eb6bfc6abf307bf018daeadb4b7b76645a903d6d46edb0cb78ed49a55a6536a102
add2ed5bd987a13fad6ad946e1c2efccbf5a5243abcc28a753a44792b5966da285a93492426300eb8553c02ee6663feeacd57aa77adc35246f8b4e6926056d48
14c4d29398241a867c0603171400058aad009a683f4cfdcbdd236a97ce1d78f56f9e5bf565f3be2359b66dcb5cdb32b3e6484355cbd423f3f1fefa47526daab6
a13de85f7b0f2ba3ee718e9a9f4ea17a7049529e6bc56e91c24530e04856d750806a898529e710376ba96d56ef2c7bd63cdb26d5b17e9fd577b15fa8a4538637
d5cd7e5b405ba554ba860898aee12a711a920521c232c3481720722cf6a480fa41014b010b8e3fba7df014118ed6d4755e5a9cf105ac826daae67387d03d980b
14a0a1e0c82c09552d876fd112e1997ab6fd524f31ceb43da5fde24e2439e078245bd3d1a61b3a4f20e6f26708c64d918fbc5c5c7980234c5d50200a05101cff
cf3fde5e91a95d307be095d73cb7f4f3e6dd07ea1f48b519bcd1fa62f6ee8d99ab5b64dec4ffa23fe986f6a4d22fe5dc438fe2eb516bb3eba17061add8fb350d
05a996f5025b4b2d51ed977aea5d92efbbb7fdd4daba74aa7dfd4bed6d6d79115c0411c4e7ca001ca39818d0062880e0f8831fb6ed3db166ceccfebfbc7acceb
fb4e6ffd74d9bda96e994f9bb7a26d76b7d4b5d58b3edd5b716deaded9f61eebd3eb2adee6f6bc5d7d9555de6bcfa2e1d759f5a092f45f5c3fb751384afb59d3
4a437eaab56ac3ede2b6c87bc55a6a9bd377abf2c7966d55fbc5d7e6c37ed6b4255dcad6d336436e48168498aa180670d44ddbbcbf8a052c000524056c38feb1
e7f3b3664feff79f578f9ef7d1894dfb4e2fa86acd169dd74e58b0eff4a67d4bdb39bbdad5a03ff93dadfbae71d9b366c295f8a86b5b5f89ea417f5ab5e1aa9e
9c6855c2360a477ea7bea120d55a359076edb6d87bda23db7ebcdffab7b56333eeb8d253be361ff6f39d9df848eacaaa0f1c33d486044138936cc3a84b22be21
d346bc00e1ff1905ae93cd0d64f9002e9f63dd0cf5a8b318cd019c12a6009a689d7b0d1df2dcb4990b372cdbf2f99add7f59f7c1b158360ac7585a278dae18fb
cbabc7d68552c087fd0bef4a751a872bcfa3a1a823c7366e8f902ef850ce8738f91c1ba223113717c24238246f05101cdb3f35b0ff33935fa85bb960edde655b
bf58feeec158360a97bc5baf6b2bc43ad6f79146f9ecd4e251bfb86ad42c9f85c56239ec9f6c7d15ea17fd3791de691af26b76dc70b4b99049138dade79fb23d
ceb3529d2f799130537a26aa4316b6dbe22ff7573aed34a1ab506a0ecf014a2bb1523641ac02a85e3f66db8df2cfe692eb746b23efe9081524490104c747bbf6
ef33acba7af6f2ba95bb17bdf3c91b9b3e8b65a37089a5f5fc1b8dccfec8e1c89f6af053aa5329f24c68fcd4537e8f0515e981d11666c82e8c30fa2fab467c02
b57785c2a7ce642270545be70a58b6da7f628be4568835d66e6cae479d103926896245b205c1f181277a771f3476ccb44533dfd83a77e51e944e31968dc22596
d6f36f3432fb2387a3b4ace6b9c0c38e467042dc6e3388d62094c7b199435229fae30ff1a8904e0b065cbeb4ae7242c736997ac530d6050ed67cd84b0d063816
094849aa16c1f186b60fddf5588f2e03c6f51f535339f1b5a193e6c3966405120f4709a638bae417bf02593844f24b63e9107ece68c1a4625a9a6672a341e0a8
5e75053826896245b205c171c488912fd7d46eddb6fdf091a653a79bcf3667614bb202c9862359b2f2c395a3a3b8ac4eb34b92367ee88256a1271701ba245962
4b603e16e5cce0eba4570318f5d8da5fb7ac56ea64858a3431a1daf8154070bce79e7bbb74ee3a7cd8332f4c9e3a63facb85cdaa0bb5155c81c8e1287d95475d
8d4a6114bf0ec5f4c1d1217ed16b8edc5eca287217c4be2143824dbcdcd61c2e4e1e3eeae40bf3eb6e6684788953be20205d33550cb0cbf3376ce29fc7604111
144053f7f737dcf4a7bbda75eef254bffe8307550eab1c3a02b6242b10351c0b39eab8fb2585acd64f5d2116c2fc05013f4d4099d252203999c04b4bd722f6c6
3c387281a3b03e2ea2486ad5c1e0087161a4ce49666300c764fac5c32af3e0689cc4603028801400381a370c008ec6b90c0c36520180a3716e03381ae73230d8
4805008ec6b90de0689ccbc060231500381ae73680a3712e03838d5400e0689cdb008ec6b90c0c36520180a3716e03381ae73230d84805008ec6b90de0a87359
b0af311ae77430380605008e31889e5f9351c31132816bfc052cce6f101b7134c0d10837f146460e47c804ae8e1180a371f326b8c100c7e09ac57c44dc70b4b9
0099c0691a0d3a1c587e0c7c3a617f2b792e1cb6ca87c43cb4a079410180a3710322723842267039b7b92e6d1a97c4ac3e8d68a8e440e3834d9aba4dca856edc
602c6983018ec6b93772384226702915398e0ae5ab0d6262730985f8a90c72065f2517ba7183b1a40d06381ae7dec4c3b1ac33813bbcf305473cf60091099d83
00c7843ac6ddac64c3b16c33813764c4c4e6ba6535f79c319cf457ce852e5cbfe472eef2eb7a974ce7c68de3e41b0c704cbe8f240b238723640257739b6b3281
b3ac952474966ec8707768ac67c45a859443008e499a8e00c72479c3972d51c3d197513e0b4126709f4241b1042800704c80138299601e1c211378300f43e964
2800704c861f0258611e1c03740e8a8202895100e0981857f83504e0e8572928070ae4a300c0311ff5623916e0188becd068d929007034cee50047e35c06061b
a900c0d138b7011c8d7319186ca4020047e3dc067034ce6560b0910a001c8d731bc0d1389781c1462a007034ce6dc983a39a852144bac3108718e73a30d82805
008e46b9cb32366a387299c09d5ffb4a9ab9c13110ef0215f6e9348f3a8bd19c4faba098210a001c0d711433337238d22c3be8972edaace026468e0047e3067e
e406031c23973cdf06e383a39528419797d0020d4aa5c0e5c6a6c95ce59cd8f6df2c9738178a525ab965c7165ab153d348f548891ef08f16b5067049ba237b06
44be6e87e3235700e018b9e4f936181b1c2df8d889b6e4a4ade403ab6342195292cb36c132602b89b7dc0a53b9b856485e349b860e5f951461d81a92fc864bff
4571095ccc772896f8f10047e31c1c391c69ca32152b528448e8e844971c0ab9b46762ecc9b30f93574dbb8dcb080b617b855fafe6d6764a6266ba1920d766dc
180083a35000e01885ca056d237238067e4c8202478f1a5438ba0574f9c051ad13ae391674509664650047e3dc9a00382a19ade942db8afc50d02644946cc14b
b4d682892d815d525df347e15b43322ec981c4066159ad5bc5abedb023f105025d2e6ee3c60b181c5601806358e5623b2e6e38aa19adf9b530bff4a6f0920a78
c1917fa2a9733b852eabd98a5b79d82959d1e312ba2b8cd2c5014d2a6f7720f2a08ccdefd070d40a001ca3563ceff6a28663de0617a882100b61b7ef1e15c822
a8a6b41500381ae75f80a31f97f15fe4f1531eca8002b2020047e3c644b9c2d1384781c1862b007034ce810047e35c06061ba900c0d138b7011c8d7319186ca4
020047e3dc067034ce6560b0910a001c8d731bc0d1389781c1462a007034ce6d0047e35c06061ba900c0d138b7011c8d7319186ca4020047e3dcc6e0889c071b
28000a1456014a0480a3c17034ce7430181430480180a341cec2a6c2b2da389781c1462a007034ce6d0047e35c06061ba900c0d138b7011c8d7319186ca40200
47e3dc067034ce6560b0910a001c8d731bc0d1389781c1462a007034ce6d0047e35c06061ba900c0d138b78581e333afeded3debc35e333fec35fdfd9e2fedee
3e65c7532f6cef36f9ddaed55bba4cdcdc79fc3b1dc7aeef55bdda382dc06050a0780a001c8ba76d916a0e0cc7ca57f68e7963bf9fadf3e8b78a6434540b0a18
a700c0d138970586238a19f9ad62dab625c36e5b30e4e6dabeff5d317d1bffd123c3571827876c7088a72918df67e840511400381645d662561a188ebda67f40
ed3973a26943f5bd5ba63db2f2f97b36bfdcf9b5c1379d3979947efae0d03755cb9d07493b4fad2a78df0a8bb3c2d6863beb5167319a2bb8c250612805008ea1
648bf3a0c070ec396d0fb2f7f4d9e6af8f7df54ee6c18d2fb45b31bedd8637a62e1971f3eac9ed6bfaded4f0f1671f7d6121f2beca259a9e157bfe17b6fec2d6
96d3d1113797d31e28503805008e85d332a29a82c3f1a5ddc8b433e7ce6d9af2e8a6971eaa1f77f79e5ddb8f9d3abf63c3b2593d5acf1f7ed7e42ed7ef3f7402
9569376091171c6d1064d2e421a73892644f5d250f924ea7a550532881abc74fbfc20f51153f960af3e8e19e856ddb2046b2dac7c39246f0e3629d97558f6824
eb97f3c457be8bfca3bae4be68fa16d12880668aaf00c0b1f81a17b885c07044f7a69109cde7cead9970078a193ffee8fda663c78f1c397cf4eb93dbd7bff5dc
fd578fbafb57878e9e4265eeeef77a0e385226e1a79e720f74ae4f63d03924b298825883fe939e22ad3c049a115029ac85a3cc45425bd20c39446d9783a364a4
8d38c74a6237e13e3d0358ddd2d509916381877782aa033826c819fe4c090c47f4ad1d0b8ee7cf9f3d77eeb5b9b34f9d691e346860b76eddfaf5eb87f6f74977
397af2ecd1e367d1fb3bfbcccb193992208c31880be20452d8f8acb7b8c3bd6c808a911cbba2c7477f34aca485b9c8910f0449f8aa1693da1522471a4a3a464a
87e3c214e3b469b54e80a3bf516b622980a3715e0b0cc76e996d188e687be595da13c74f3cfdf4d393274faea8a8c89e3f5f5131f0c499b35f9fb2e07847af57
03c21117c72b4f097c0a7728713ce0e8f611461559b90bab6457384a5515048e6a9d0047e326906f83018ebea54a4ac1c070ecfcfc4664fb9acf568d7a7b6487
290feffe64f7b8e7c6cd9a356bc8e0219b0f6de8fafa6343970dae7de71554e6b6a7ac7fe5179dffba456e9a90cafe0cc589141f78dd6d7353bd3a28ec61eb6c
a530b704274b763d8c486324dad3b7eb748baf815e1c60d4f35e564b7de1a2cba40c0fb0a3600a001c0b26655415058663a7b11b906dede73c70ffb43fdd3cf4
f7dd7b3dd5b3474fb4a6eedebd7bfb818f3e3ae3de9bc7b4695b752b2a736bb7d96a2fd8fd15158edcad150b2fc2ba98bbd44857a398415c315c88ddf3e06bb0
0bd31dd64d14b7c89156914a9162622bf41a230933d9ead8b903c38784cc06e96aa960b970dd12b5ab84b3518d0768a7580a001c8ba56cd1ea0d0cc78e63de46
c61cfefad081a6037b3fdafbe1871feed9b36797fddab173c79ef7f77cf6e5675f367d89cadcd2b5262fb38d586386309205a679c903079ba500c0d12c7f216b
03c3f196276b1e1bb90afdfae5a1a797df5fb9f4de416fdcdd6f01baf77247efd76eef39b76df739b73d557b6bb71a540c6d79c911823b79b517eae06046f25f
e409d51c1c64ac020047e35c17188ec6f5100c060592a000c031095e086403c031905c50181408a900c031a470f11d06708c4f7b68b99c1400381ae76d80a371
2e03838d5400e0689cdb02c371c82b7ba564b73da7bae6bb7df2b955c62902068302c55000e0580c558b5a676038a264b79b3f6c9af2d64135dfed9ab737a19d
f8dfec43ad66adde0ff96e8bea3ca8dc2005008e06390b9b1a188ed60312a67fd0739af580841e5377757f7147fa85f7d06f0aad67243cbfa9d338eb19091d9e
5df7f8a8d58f3e637de3c73845c06050a0180a001c8ba16a51eb0c0c4744c6edb95eef392f6dbedba2f62777e5c1be9998bb3e28114c016ffd9dfc73054e869c
00a7031c838d9304940e0c479cec567abdfffefb3367ce44e927d6ac59c37fa4cd77abfca8cf4506edafb0f397ac18f3c4a3ce623497bf0851d6c0f99bfc2ad4
352108f7e3219fbab1649eceafeeb5077ad726fc50554aee599f967fcba9eef1a526c0d1974c492a141c8e76b2db73dcebd8b163888cfbf6ed7bf7dd77172d5a
74ead4a993274f1e3f7e1c1553f3dd928c0f44026b68bbfe8ed8e7f408aa6691aa753323e2e682aa51f4f2fc8f25ad2c9d399e1221e7eb14ed13c5b499c6424c
bb7697a750a85ed0fcb45fd68230931ba0ea1efffa011cfd6b95909281e18893ddf270443faf7efdf5d73ffffcf3eaeaea79f3e6cd9f3f7fc992258898a8989a
ef1667d7612f3c46ad7fa5a4dfec6caecbfec0a681572e715e63295ef5981baa31766196309c55659b01c9bdbdc63297d317176362e2cc7414675c10c80d0661
b8088c730b119d8ced766e11e2b55070a4d6f203d60bee9e731ae09810e4f93723301c71b25b0cc7e6e6e6b367cfa2c41388893b77ee9c3265ca98316356ac58
316cd8b0a347adc7c8a8f96ee5dcb43821361f4fd22c5ff2b25a49ffc5470eda5ce24c062e7d19c3b1436969e6a8c608210a24f7f63fbaac92847934c2d37a8d
2658d2e609a60d4aa73425e59b8033bea19c70f495cc98c15dc0a53f3d008efe744a50a9c07024c96e6d2c9e397306ada06b6b6bdf79e71db4a65ebf7e3dfa77
eddab5a3468dc27054f3ddbac251c881e8e417e3e78c3a3134d19f93285752582d99237284e4de851ea3d4331ebe70750a7f6551080c359092cfa912d18254e5
c4b91039167a3498515f6038a2afeca09e212ca26b8babde3b3c6ace47d3ea56efd8b163e9d2a5e8ca230a1e478f1ebd6edd3a0cc7b63de64832b82fab451ea1
f1288d725f70c4ad29888c0c8e90dcdb6bd83bab04b78755789cb170b54200e892fa2d071c1dfb72b6a56911224733a056282b03c31167024701e39a1d8787d6
7cfceaba2ffb4cdd3b6ec6b29a9a1a14396edab469fffefd888c188e6a32707ecd8a2926dfc1a463de2aca5f62d72dab956926e41267677c25b937ad1ce79c95
d2d34a19c8e539499673ac0e52805bbc53ff700d319ff13bddde17cac3f1d6837ac72fa8a504c35837379ca9ab667175ccaf9bed53227ddca3726726e7b2daed
b6a0f78141b485657510b5125136301c7126f0b53bffd26f1a22e3a1d7371c9eb6fcc04323adbb34ea4b9b0cdc1ed3c21359f549bfe9ad0e9cb51b070efc71ae
cb6aab90fa050c7c28bdbd432b63377c68b050ece4dee50347c1b5e2d5121a096ae128dee822434b41153f9684473ef259dce59053090055023a45a481aa19ba
be6731c0d1b754492918188e2813f8e6cd9b7bbcb877ceea2fe7bd7da8e6ad837da67e54356deb860d1bde7efb6d74c1117dd571d5aa552b57aeacababf39b0c
dc6574c62352086320b9773cae32a95580a349deb26d0d0cc7279e5d8532813f3a664f66f1e733ea0fa4277df8c78a35aec9c0bb4cf3a548081ef9aa3754a160
c64072ef502297df410047e37c1e188eb487b70cdaf1bbbedb5af6b49ed40a2f500014f05600e068dc08090f47e3ba0a068302312a00708c51fc704d031cc3e9
06478102c114003806d32b01a5018e0970029850060a001c8d7332c0d1389781c1462a007034ce6df9c2b175afe57833aee760302810a50200c728d52e485b21
e1488188de2cdbd488e108942c884ba092925400e0689c5bc3c0110371c8ac77d19b8746af9bbcf87df42f7a8ff65050265788605f632c443fa26fb11056431d
855500e058583d23a82d241c11071113d56dd4f4e5e3aaa74c9a3469e2c4896ed6f3bfc172cd748b0e76f95559bea244892ae9b7c3aae9511a93af70707c5e0a
001cf3922f8e83c3c011afa01119fb4cdd725daf256d87ac42ff0e9cb16df2ebdbc74d7c01a5e7993b77eef8f1e3b5ddb1c82864272bf54ce03ce5018e710cf1
84b409704c8823fc9b11188ef8c2225e4d2326feb643063576ed83a37ed7674966ceea575fadfbecb3cf6a6b5f41291d478e1cf9cc33cf48a6189009dcb29865
fd23a9aae58417246f39ced3cb65b416f3998b91231732cb8934486a222757a19566434dab61ef6109c9fd3b194a2640018063029c10cc843070441716f1821a
c58cb435f47ed29c55f35e5f84b2960d1d366aead4a968715d55552599634026703b910cf7f43b6d06729b6ef411382c0fb91315e383dc96d5f4d9018c80dce3
04d4a3e81efe9929c11c0da5635600e018b30382371f068e3472bcb1e2cdb60317a1465b769e7167c56b53aa9f9f337ff1962d5bd0ca1ae5e679f1c5172b2b2b
fdc231a199c095088e228f5f2f6b2068f3b25ec957487360490f0610726fd991a84be488980c2f131500381ae7b5c070c43dc437acd135478b8f435675185473
64dee07d2ff75bb37af5b499352fbef8c2b871e3060e1ca8ca615a26f0c2c191bfdaaade6b52efcc001c8d9b4c9e06031c8df3671838e26fedd05bd5750b561f
5d382cbbe1a5ecf2611f553fd663d0b31e2ae86fc8f020883d13b89f65b51af74939aee9429beee7fac844602b78258b38b7b827e5dd6e6df39701dcde1b3730
4bce6080a3712e0d0947fa3dc78163e71d7d7d6876cdc4ece2caec5be34e55b7bda3f75c6f15f81524b9b4272c2af927110bb9bb23ca048ed7cb7cae72f6a798
7f5f0a00d55e88cb6d7a9787cf3dcef241f2873b39b385ece50047e3a6176730c0d138ef8581235e56e35fc534cee8995d3321bb704076d9884363efecd4dbba
791df8e536ed035714eb01a5d18b58252ce1c6018ec63937241c693fcfce7834bb727c76e9f0ecf89bc277be34b0521abd08ef4538d24b0180a371e3235f385a
1d9e7053f699ff32aee760302810a50200c728d52e485b858063410c814a4081925600e0689c7b018ec6b90c0c36520180a3716e03381ae73230d84805008ec6
b90de0689ccbc060231500381ae73680a3712e03838d5400e0689cdb008ec6b90c0c36520180a3716e4b0c1c9d9f8f58bf41e1df4b8a86fe2e61ce03731608e4
dbc2d616a869289c4805008e89748b9751b1c0d1fea19c90049cfea01ad9eabcd7f2253474721e28fed44fd62ce7e179415cf8e121f9c9a095134d7c89a5b8a4
6ac68dba723418e0689cd7e380a3051a941496a3a3ff74094121451d92f340ef02390fcf0b8ecec1fe6db041097c3468be011c0d721636350638620270b1224b
bb9d6ad386667cb0734ee0f089cbcb9da1d9b09dfcdbe873165239091bd48cd90e77b8f04b7c808d18398a557afd25b89c0fee74d9be5563e5c379a3586d62c2
0b7c0c25a954ccb831581e06031c8df373f47074e634bf92e623267ece3b4f0f6021121f31911a7439b4d5a84a0dcab8e3186b28229db0ac3e2d8149698ef99c
4b3b469ad3da467a436ae6878c60a42e03b97c2d0255a514336e0c9687c10047e3fc1c391cd9fce7e8e80147096a6a49f14a9c9c435b5d56abc11d1f8831a891
07c3900a34611abe36c82d6dfdd846a2609705b15607126d8ab9c14940ad240c87a57652a720c031a99e71b52b6a384a282391509e70941ef0aa068974116a35
ef94d6625789dd08fee4785627a8168efa87cfe20b050a2203c19106b9b409ab77701d32a17310e09850c7b89b15351c85e9cb27fde667b890675b9cf11a7ce8
7268ab485250c273525d56a7c9cd62a73d6685d29cb0ac66b4b721acb14dae39e4b29ad6ecb9ace6c5737b6fdc9835d36080a3717e8b1a8ee2d30775dfda5163
342eda4cdb37641af8853059753a99bba5c71528cb6a6d3a6e198edc2d20da9a47ca6ef1aaa35bf6727c7f89dd5cd2c4946a302b3d12963e9f8bff2614d34717
8ad25812e018ebec0438c62a7f98c6a38663181be11850c07c05008ec6f910e0689ccbc060231500381ae73680a3712e03838d5400e0689cdb008ec6b90c0c36
520180a3716e03381ae73230d84805008ec6b90de0689ccbc060231500381ae73680a3712e03838d5400e0689cdb008ec6b90c0c36520180a3716e03381ae732
30d84805008ec6b98dc111390f3650001428ac029408004783e1689ce96030286090020047839c854d8565b5712e03838d5400e0689cdb008ec6b90c0c365201
80a3716e03381ae73230d84805008ec6b90de0689ccbc060231500381ae73680a3712e03838d5400e0689cdb008ec6b90c0c36520180a3716e03381ae73230d8
4805008ec6b90de0689ccbc060231500381ae7b63280a3f66184aaa39c87bb681edfe7b3063fcecf59157d1098f01c41dd53bd7256e5c71ea3cb782be0e1d038
7a0d708c43f5bcda8c058ef613a1f8e74b059ae7810a23717c95d73dea8b0aabd6e0ab4e9d63721ea83e70356b3d94cb15d97e9e199bd70829dcc11e7dcf290b
b6827bd49a357cbcfce2f254746d6fb86ae5679123ede507a1a97b7c490470f42553920ac501476b4ca7d3e273080368e2732279a04d6d8c7f329ff653fde3a7
03584d8ae6349e14f03103d5471516cac8e0ddcaf7889cb2580d70bc43efd1e9c29bb6fc6317dd1ed54b99ab938e3093fb48dde3bfe30047ff5a25a4640c70c4
439a8d74f6cc533e34b043257ef493f7ec2c4f6207f2b4527b08db653269b48b8bb4f8d88a2fcc3cc01e976a3f56153ffa95edc4cf83b5abb55e56d56e756a0d
10431e52bfd80f668b8a3cc9663ecc61cfa1cd2d8bdd29c772173ba5c84ca7bf632939c3c99a30f1595db62ff45ea64f28d73b469c244a00cd7a21f98573a875
1ad655ae195aba29e9159c069bc200c7607a25a074f47074861b1f07d070c9a11a89e4b42398ede4660bde694f487905ca2a773ef118f11c82593d7cb5d86cb7
3ab506d86020b5e53446b04de9a05a158f698675b1a7aa8c7a3bb9f1885bf6208855831353e1fe0975b22e1357b2539dda299f973e9cf315758cab5fb4a75571
b6495d630f047739b3d2a3d5c1e36f1a031cfde994a05291c351409b33bb28dae812064f296f38da73837b89e5a5d1ac16e6bd2021469a005ab8382cf66b8014
b8f9998dde1d9444e3bbe0218b2ab5a4033d969d03b89053cf08fb8c516f9f9ff86ed2f7f8d4409b56fb1e8838382ed4b25b73aa90c82bae126c4bbcaef1a886
053295d316e09820ecf933256a384af39dcca6d070942e156907ae370ea4c9ac2dec0147ff06487074bb3ee811acb1e08ba3958a03eff9eca186e51bcfd395eb
3db48070f4be02e86be0dae1a79b5fb44249d57aebec1127021c7d39a8140a450d473b207484a32b6b32e094b5188e1f1d147057ebf04ee50b2e1e70540b7b44
8ef66d5161592dc5448ac1a432fdcc6157101cfee8be9aa3c65c1a9b95aa8480d15d1649462fa12c3b889d5afd553b854b0df863ef65b5eed287ee86bc30c390
31fc825a1bd8ba458e6ae500c752c05771fb10351cc57bd4ce54176638bbed4166a9b2f66117f7f940549a2deac95f2aec0547e15b23f8864c030f058dc1f69d
1cb7b0c259ccb1159c9b31520d6a31a92aaebcab2c5c6f88012e76d23527b593b62faf3d79c3f855332f3b77b7861057be01c3bed1c5dfb07119f28a163e2347
f16e90e634e6a206df1ec6b2bac7ffec8465b57fad1252326a38eabbcddf9c4988306086b702215697e5ed6580a371532a7638fa88188c13b51c0c0e0647f072
16e068dcb4881d8ec629060683026114003886512dd663008eb1ca0f8d978d020047e35c0d7034ce6560b0910a001c8d731bc0d1389781c1462a007034ce6d00
47e35c06061ba900c0d138b7011c8d7319186ca4020047e3dc067034ce6560b0910a001c8d735b79c031d897f28c7322186c80020047039c249a18351cb93c3a
9ea959b53f920dad6e31e0e85167319a0bdd773830190a001c93e1870056440e472929999ba985e54b616bcb296fc4cde5b4070a2440018063029c10cc84f8e0
c83f1985fda05f490d8d9fa760e3469765da3d0138d2c1232d859adf814b194d737d1733af75303f4169d31500381ae7c1f8e0c8d21078a686c614b331e724ac
52ca0b9f52177069c16825da6cac04a351e7b5366eac80c1f9280070cc47bd588e8d1c8e7ca269dc6321f99593a45ebae62825a7f29f009c3691d8bcd6b1b81d
1a8d5c018063e492e7db60e47064eb66f727ba6062d292de5ce30bf36a7824fb530f1156d9d1e7b5ced78b707cf215003826df47928531c11159c156bdbab4d8
5638293e7884dddcf697009c7b92a75519599b2b79c5f9d012bf2f525e6bda23122c73e7869c49b08d1b5660b0a200c0d1b841111f1cc97adab9a3a22cb7490a
40ee864c0355d7e34e0bef0125ff363d2e86bcd60047e32647410d06381654ce282a8b1a8e51f429441b21be7c53de79ad43685ce687001c8d1b000047db65c1
e00879ad8d1be7f11b0c708cdf07012d003806140c8a8302a114003886922dce83008e71aa0f6d978f020047e37c0d7034ce6560b0910a001c8d731bc0d13897
81c1462a007034ce6d0047e35c06061ba900c0d138b7011c8d7319186ca4020047e3dc067034ce6560b0910a001c8d735b62e0e8fc9ac5fa551dff5e5234d817
12b983431f689c4bc1e0442a00704ca45bbc8c8a058ef6aff88444e0fccf4d9cf75a9c85665ce8038d7329189c4805008e89744bd2e068710aff64dab1cced77
c7aae5a11917fa40e35c0a06275201806322dd923038624c71b1a2b38a46b927dab4e11e3243a34b56209da129c1ad4c155c8e1d9cb8c23d31389f038d24b990
1f62c3d259c8f9c8b9fc40584c2e7b2ecb164e2f0760c3e4ea8c1b1b6070211500381652cd48ea8a7e59ed508a5f49abb91729806cc638e9bd0871c89fa4067f
89c14913baace394774e3bf569d4024b8c462cd0268864f9c9453ba58740783e4c2c12474323312b00708cd901c19b8f1c8e0c311c1d3de0282d875d08c5a506
4fd77b5cace4739d71a1a7ad1b8e4f75297831f7b44d7b3d7781cf57cef01edc4770442928007034ce8b51c351a213614b9e7094e2326f38e608e21c444a2685
8023448bc6cd86621a0c702ca6ba45a93b6a380a6b641a3b065a56cbc19abfc4e06c59ed9277bb2193267788e8455152922dabf98b9cd2c31ba4e53fb72a2f8a
dfa052d31400389ae6b16cd470e4ef513b4f2410d329f2774ee41b23297c43a6815e25540a90c721a8519be6868cfa7522f14e0d8b72e51b3fe466bbbae47756
d2e20d19a921e30609185c0005008e051031da2aa28663b4bd83d64081a42800704c8a277cdb0170f42d15140405f25000e0988778f11c0a708c477768b5dc14
00381ae77180a3712e03838d5400e0689cdb008ec6b90c0c36520180a3716e03381ae73230d84805008ec6b90de0689ccbc060231500381ae73680a3712e0383
8d5400e0689cdb008ec6b90c0c36520180a3716e637044ce830d1400050aab002502c0d160381a673a180c0a18a400c0d12067615361596d9ccbc06023150038
1ae73680a3712e0383cd50a0b0cb73a82d3205e8f002389a31d3c04ae3144093d9389bc160de6b0047180fa040511400381645d62257aa87e3cfdbbd0c1b2800
0a144a013acd0a5521d45354053075018e701a00058aae00c0b1a82c2b78e500c7a24f8982fb0c2a34540180a3598ea3703c7af4e8891327ce9c39c3ae399ad5
13b0161448b80200c7843b48328fc271cf9e3d8d8d8d4d4d4dc98663bf9d8dfb77de574a1743718f4aaf5fa5e4a3e07d41f34a0501c0d1158e891cff148e0b16
2c58b76e1de263d47064b04302659b66f5c3ebdc756bb38d95eaa0f416d1aa81bc1a172e0e7c9acacb438b67ed976f9bf9b2410b476a495e26c11583d814c043
411a8179c2d119dbba79111cdfc4367580f17bb453529a65dc9fa8cb6b27d99abb8d5bb17016cdf1040707148e93264d427c44f163d470a410bc6f6153e3fea6
dce2ba468e88a71c5bb7ac0b0cc7d0238c3f3028cebc0747d0da0ad205a8246f05e879921f8479c2d19538f958ab19602c2ed14d496596c930b5f9e80147edfc
4de438a7701c3d7af42bafbcb263c78ea8e158b98510ad724b63e5a446126dd137ec546317b3446c5c4b62348a42f7605373f8ce595b50afed53160b4eed01c1
3c84fe242fe269f21769110d1ab243f5b4e466668073c297f648709c84e283a65993f0d503168dfa0a42f39924706c4115e01711948f058323370bd64e2283c4
41129d1d5c10e7aca6aca5983ddec8147019609e535259d2a903dee332915ba0ca2f95c4b9164f88630f060ac7912347d6d6d66edfbe3d6a385a67276b09bc78
d6168483756b6ddc546ec1aee53c4121e2848716a14436a1a3ac178b19b5873b8386b5f2f2cf1192d051c443d6682301acb4c0673610d25940972695e07e0bb2
b82acb5acb30650f0f47ca6b7eac94d835d6823228c699e3dd747123476b9cd8e7697c2ac56f3092e8e2c9fa080d4edd78a38b5f97f5afe794b4e6a630cb64de
497186786583450658216959ad4cd858474bfc70b49084c164b10381097914ff6b9fe584eb787c70873fd55d7fb186858d48efc351fd988916256958aadc1b51
2bb1079c3df27497b4f8b122bd178253c77e065cae4e8063acb3227fe6e2615bd86b8e6cadaa0e0f69fd414eea7409e25c079446a0dbc5418f2949fdc2cf32e1
fc9d0b8ed2c95e0e0ef8095fd0ababc1475402e088c3c3498d4e84d538ab1f891f35572e54dce8fbece221f92c87292c36a75d26685a7141646838eedf5949a2
4bee928dba0c09eee3fca73ad4105401958ca886822eabedef6c489494572d61e1e8312585e1a79b651a4c7331843a9e253826699d9404385a811bba1543ee53
a3ab8dfbf1421b2fabf915ae70a1d759a83ad293d893bf59e675381eeea892b55b9c0b9dc473eab25ab6612d310f9594ae7b4a97a2032eabed95bed5777ed0bb
85a84049d31488148e78a1ed7619874ae7b2fc729d92ea2c93891cf0868c005365c2f22ee64d757b5fd0219108380a570fed652cbbe4c7af6ac9551527f0964f
32fc97691c66a987ab513da58f8024d28a7843264b071cb964a27e61480d3c494dfe6ec8d8a3b911f1dab1135fe2811b324163b70496cf138eecab3c1ecb6ab6
2af51c6f1c44b403cc7d4a2ab38c9f62f48aa7b0935b1d7b478ed29534efa9ca4fdbe2041089806302c73198040a145c813ce198db1eb808537a91636eaf17b4
cfd01c28108b0200c758640fdd28448eb1fd8822b4cfe0404315283a1c218628a80200478023281091020047b3ce6a00c788268659c302ac2d860200c762a85a
bc3abde0287cff1afe00054081fc1480c724e4a75f3c47f30f898467c8c4e30368b5e41500389ae862198e913df3101a0205ca4a0113e950e6360b7094b44029
c251223394ce0c253543a97b50820a788102a040080520723491b35e70440f4f40297051225cc44794d40ca5ee811728000a8450c000383664dab4c93444ccb0
581af5dd472f38a2c7caa08727203ea2f811a57b4449cde0050a80022114c8138e29f1952fc42424e13f8bc42954ad60bc68bbd474916cf04d43a9a0171ccf9d
3b87f878fcf871b4be4694841728000a8453204f385a93b680e0d05655c0fa79c67857abc574589615fc382f389eb75f0891e8d50c2f50001408ab40a1e168c5
63e97a4c83fa74aa4da61e457fe9b413a4918f58d4a68bd7284b58f8466bb0cbdbfb336914f859f57121a0faa9620f5d9fbb819886932c6815cd657fd9bd118d
293807b5157ac1311a0ba01550a0e41528341c6d246204e237164a1c02a23dd62e5a42893add96d54e0da4321b4f0e823917b116b94f257b78f2f2cb6acb4662
1f0b87a93dcc30568670d7cd98620e1d806331d585ba41015b81c2c3d1611f8192c03b2796142ef67194cb79cd1103492da609f7a88389211c92ed8fd4c891df
e376cd512aa31a13c9b802384622333452de0a14018e988e0e8bb47074bb7113028e7c642a11cdf1ac600f1f394a66001ccb7b2e40ef4101418162c0115f0524
e4e18963078ec2ea55f2462e38b2952ce51a77085b74abd4a3f678c0115f246d2061a5f5965f56b38b05e49dc618be3be463274aa50b7d7e7fd8c108916358e5
e03850c0b702458123bf64b541e9bc9c1534bf93079954984682fcaa5959115b5701ed9775e347ffd51f75092ddcc7c1475b5874ea52abc29f58859891ec868c
4d54f10570f43d08a120289044050a0047b55b2c022be8177d42ebc7db13ba92241d08916392bc01b694a802c580a370eb4317b445aca57c2b26e2e68bd01cc0
b108a24295a080a84031e0081a175b018063b11586fa4181427c9507548c5c018063e4924383e5a700448e26fa1ce068a2d7c066c31400381ae630db5c80a389
5e039b0d5300e06898c3008e263a0c6c365181b2ca795e4a9d45898d51fa4e94a42e65e2b0039b4101e314801cfb21b2a9c772087a08024af58d12da021c8d9b
6560b0910a408efd10d9d463390491113d0a0125fc06381a39d3c068e314801cfb21b2a9c772088a1911195186e3ff0f73d9f3fc688f18940000000049454e44
ae426082}
\pard
\pard\plain \absw6540\absh5730\dfrmtxtx0\dfrmtxty0\nowrap\pvpara\posyt\phcol\posxc{\*\flymaincnt0\flyvert9281\flyhorz14850\flyanchor0\flycntnt}\ltrpar\s16\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb120\sa120\ql\rtlch\af6\afs20\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs20\lang1033\i\loch\f1\fs20\lang1033\i {\rtlch \ltrch\loch\f1\fs20\lang1033\i\b0 Illustration 1: TheLazarus toolkit menus}
\par \pard
\pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Click on the first menu item(Import WSDL file ...), it will bring up the dialog below( figure 2). We specify the WSDL file and the directory where to store the generated files and click on OK button to finish.}
\par
\pard\plain
\pard\plain\absw7215\absh8370\nowrap\pvpara\posy1\phcol\posx2{\*\flymaincnt0\flyvert44304\flyhorz44288\flyanchor0\flycntnt{\*\shadow0\shdwdist0\shdwstyle41\shdwfcol0}}{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw481\pich558\picwgoal7215\pichgoal8370\wmetafile8
89504e470d0a1a0a0000000d49484452000001e10000022e0802000000077e27a5000000017352474200aece1ce90000000467414d410000b18f0bfc61050000
00206348524d00007a26000080840000fa00000080e8000075300000ea6000003a98000017709cba513c0000562949444154785eed9df9931ec779df37ff877f
49aa5471ca969c487114c749ec8dc412aa54b64595ad2446859229f910b0122d6b73d022238794682b8ab51049517404eba242c090a82562c8a044210069f128
1204012e010812048000411c8b6b4182b8b179667aa6a7bbe77867de7766de9e793f6f7501b3f3f6f4f1e9ee6f3ff3f4bc3dffe0edb76e79ff6ffea3293e1080
000420e02101d1e8cf3c7af0b6ef9e244000021080806f04a694467ff4e1e3ab081080000420e0198148a33ff2cd931f79880001084000027e118834fa96b547
3ff8d7af112000010840c02b0291467fe04b07ffe3970f112000010840a069027fbc71f10377bff01b9ffcfbbc20df4a1c558c48a3ffcd5d0bbff699dd040840
000210689a8048f07ff9cadeaf3e793233ac7df2a47c2b715431228dfe977ffae2af7c6a270102108000049a2620e6f3bd9b8edebde9b5bc70efa657258e2a46
a4d1bff2a7dbdf79fbf63fdfb32c9f673604c71f7ee262f0c79e0372fccefb5e3ba28f379c09cec79f234fec7ea77d6679f1b50fcb2512d47995821d5446d147
c74f454b5f58fdcc8167826ccefc792389bbf5aa5e3c52800004268ec0bf9f79e6731b8f7c627d20abf2910315f49ff2adc4517a1269f4afdefeec3f9f7dfaf7
b6be29918e6cdd29c7f7ec0ee32f1ef93de3fc2faf3f1d9cdcbd4f22e8609efce5b923613ea7ef997d3a3372e655666af51efff2ecbea7e3f2d49b32a9410002
10188e80d8c8a6462b99d656ab1ccbb71247256ed9d186bd1c989f4716c5940e2cd0d0ecbdf837f745c675603b9b66a96d2f2b033cb1afb3ec68d7ca5676fae2
c5b89867fe5cdbe6caca561152a67764ec87e7a3524549bdf6e1208533cf9806bbb2a64dabdf4c5c8ec34bb0b8b91b8000041a25f01b9f7cf2aeef1efefdaf05
c11436395627e55b899361474756a7d8ce8139fce6faf5e1bf733bd72fdaa6719caab2b81d7b59ff59de8e36ad6f65cb2b535dd9f24faf7f3a8a906fd4a762be
199bf3961dadd2318b2dc771e2fa92e41661b84992ab200001081410985efded99affd64c55fec59f117bb256899567f4af8d8d77ef2ef3ef6ed2c3b3a329995
192b1665604d3fb32174e926e6b0f2f0c61f39eff89df59ff9fee81c3b3a30991333dcf48f6bebd870739bdef3a40c91c5adcd61cb1f6ddadd5105a4fcee2513
e71d6bd46420710840c021f04f3ff4cddbbebef75fdff1ac04c78efed53b9e9570dbd7f6befd43dfb4ece85fffaf4fff8bdb9e9470eb960bcbcb179e79f9c2f2
c9c3b7def6c2fa93cb475e5e0c6ccf2d2fa80849f8fce1c0569568df0accece597f71a2984f1edf3eee5e6b73aa9a8005176f7bc1c24fcccb79efc1746049d6c
f2ad944aa766c60c4abb379c5116ef496a97aa8b7b895d4da7d6fc09010840603402bffc3b91466b8136c55a8e45a3258ed2ccc81ffdeffeebd3eff8e8b620dc
7328f2fc2eec913f3fbba012b9b0ee9ef05b337c23946689a60ff4e5270e7d488ecdf3ceb5ceb72ad3f0aa0f3d2e93c4f291c79fd7b93ffd8db854610455a4e0
a4917e72d2482a2ced9e70cd70f1b3aa00ea12fda75965556602042000818609fcfcef3ef8575b0eddfaf9c82521072a28b59503f956e228398a34fa3dffeda9
777ce487615808456df9e9af867f7ef544f8d789cf86df7e7697d6fde0e0c863cf1a71e2af8e1ffc904a2aba3675de4947e2df7d30d0e8f0c20f3df6864e5965
17944445d09f5d0baab42ab2fa448531924ac5096b6127155c95ba2446a1801020000108d449e0e77ff7cba2c27fb1614f5e0835fa01253e9146ffc69f3ef5cf
3ef898bfe1d3fb4311df7f8bcf85a46c108000044a1078dbcaf98fdff7fc779f3f9617e45b89a30439d2e8f7dff1d43f5df977de867f7647a8d1c7f6dfe27121
bda547c1200001af08fce2ef6cfc850f6cf8f995f7fdfccafb55f82761d07ffee27fd820715499e33d953efdd45b3fb0910001084000025e118834fa773ff3ec
db3eb0f1173fb089000108400002fe108834fa7d77eef8b9df9affc7eff9df040840000210f08740bcc7ffe79e7fcbbbeeb71edae00f0840000210182b81750f
6f70357af1c469020420000108f840008d664282000420e02f0134dadfb6f1610ea70c1080c07809a0d16834042000017f09a0d1feb6cd78676f728700047c20
8046a3d110800004fc258046fbdb363ecce194010210182f01341a8d86000420e02f0134dadfb619efec4dee1080800f04d068341a02108080bf04d0687fdbc6
87399c32400002e3258046a3d110800004fc258046fbdb36e39dbdc91d0210f08140358ddeb37b1f0102108000044624b06bd7d6921340058d56652a992ed120
00010840208fc0c2c28f4aca69598d46a0e96d108000046a24b0b0f0541999aea0d135168ea42000010840a08cc7038d66cd10021080c0780860478f873bd601
042000813204d068341a02108080bf04d0687fdba6cc1c4b1c0840a0df04d068341a02108080bf04d0687fdba6dfd601b5830004ca1040a3d16808400002fe12
40a3fd6d9b32732c712000817e1340a3d16808400002fe1240a3fd6d9b7e5b07d40e02102843008d46a321000108f84b008df6b76dcaccb1c4810004fa4dc063
8ddebe667a7acd8e1368680304cab2dd39373d35b56a631b63607e666a6a7a6e7b0395a50b41a0cb045ad5e8447345239201b971f5d4cc7c1a62b18e0429449f
e9b99d9545a4ac48e5488691bb1462f5fcc8ca52501efdd51065b6cb39259c5522e592da210a6d0ab47955660b3a8d9249a9206b916966e52eab49e56148654b
106855a3b516cbe0974f246d7983b6484744d6b5cdb571753b869e49d355ab3a643aafb5cae969f6f01886ad9e6f4cc8ea64329b66b560aa51322915552730db
6b98f04af47bd404025d21d0aa46cfaf8a84757ed5ccfcfc4c64ffea83c4ec0aa30583796675642d3b77c159a677c6e56be65689991b1a8f89a91e5e9b2885fc
197d0275701239713ab025d5c734f11ca1314d5d6ddc87b7eda9cb8dece6029336296164deea2a2bb50abd0d2aff5533d18d4852c8f0fe23cc3d4c27f8581a97
1644c78e4ed537e9b859566d610ba61a259352e1941348ff107745883204fa4ba0558d8e47e0ceb955e268deb83a54bdf9554a568c11ae7524369603a5b3ef82
e5aae09358d09997278215e7727a51a447ae8a94c231dc321389fc30c1bca2fb812b34eac28197dbd985fa68dd4c980e84c03f9b4870e0978f320d545e5d15f9
22cc741c61b5bd0d295f47aac04647cf94cbc2160c9ad26a944c4ac5b705aa75fa3bdea81a04aa126855a3039551fa188c43112cd120f5af69c02a73d03475d5
b7593eeb40c842a5ce13233ddae3c11f59828e39a9a2a5130964372c8ca31a79ea139be451159ccbf3ac6fadbf5684d875601ae98e2b596131af2ac842d75127
9251dfc4b19e6dd216b4a0895a378a35b33a7730594efc620547bb21307904dad5686569cecfc466e0ccdcf6c89a8e8d4463dc3ad293a9d1da499a77539fb4a8
9a0cecec062a5a74794aa9abddc5c7977ba8d1f96b74396e87fc16b4064f961c67ce8bce90c38e9e3c0daa6a574e5afc96355a6e8783d5c2e8112bf144077fa8
a732925bf8a80d0c45cb78c040df11a73c00e9cbd5194964b5b8745576d155695f87ebcf5d1d154f621a3e71d7e0d5ee9ae2cb53be0e2d9169fdd25e0b7d0f91
aa69e2eb70d2c9f5c9c415cf83660a44ce5316b92d18dd1ec57724eed32371fb165acaf8a3274d80a8ef40026d6bb4e5590eefb593352ef3d65b8d70ed3a70cd
bd64252d79a8367db9739516bb44a32dff86bd66a8160993253e6b2dcbf212d8da6d953975b971e1ea70cd307a005c6b74e22d491c2ccacf5bbc6668a55356a3
6df78e0b39fd5c47ec04378b9db460aa51322959271d2712cf758cfc10276678ef08b4add103278d898ee09937d6bd7d69baf7f37c74d38449bf8304d0689f2c
17cf343a7af2af9d072df89d6107e563a22daab6da0b8df649a3db6a7586160420d0150268341a0d010840c05f0268b4bf6dd395799e72420002cd1140a3d168
08400002fe1240a3fd6d9be6666652860004ba42008d46a321000108f84b008df6b76dba32cf534e0840a0390268341a0d010840c05f0268b4bf6dd3dccc4cca
1080405708a0d16834042000017f09a0d1feb64d57e679ca0901083447008d46a321000108f84b008df6b76d9a9b9949190210e80a01341a8d86000420e02f81
56357addc31b0810800004d20486b36a4f9f3a7bf6ccd2896347db09278fbd26d949a6c39576b8abdad6e8653e108000046c0222d9c3e99728e6facdcffdf627
1f78dbcd77ffc26fddd56878ebcd77bf77e65ec94e321daeb4c35d8546335c2000813113185aa3c5b0fdcd8fddf7a92f6eda73e8d4cb074eed6e2c48e2928564
24d99d3eb5389cda0e77151a3de6de49f61080c0281afd4b37df7df0f8854b57972f5f6f36481692916477f64cabce6b349a010201088c99c0d01a2d6ee8b7be
efaebd8796ae5e5f7efd52b341b2908c24bbb367ce0c67110f77d5d834fae0da15fa15d8b35bcd2eb27576c5da83e60933ead4941d79cc7d2b95bd5d7829b953
97facb9bc2552d8b112f0f33cba8661dc9e655c4cc6e74c2b929b855d83a1b74d8a8fb95cd3787439096ee1941ffd6bd3aececfaaf205e92633c60d267d437ea
7cfec8aad6336a8e6d142b3d8487d668f1758868bef4b37397af2d5fbf71a3d120594846a1464fc09a61d05e8978191d311ef2562bd63b266bee7a6e7252d8a4
f06547f24865b2722c999251b01a0a9c55cd1a922dd66895e9e884f3d3b1c14a2f0d1bb662be99ad13a4359b9822766bac904f64a424ea2d57a44ee6602f1859
257b4703d1b2ca6f6433a246bff8d3d397aedcb87afd7aa341b2908c2645a307999705d6683c541ae847352569147e74052955a6ea46ab55b0910b9c5dcd9193
6dd38eae5a850a2d9b6e1da5dbc6f944c182935bf5f0d09d3d33bb8c93158a55aa67d5156950b946d4e8e7f72ebe79f9faa56bd71a0d92856434291a9de30148
f437d70a4bac18b143c2dbbbe41e2ab65f9333e10d657049147936bc5d4d6e0c93af24a20c8de09bc05cc93b6fdd4946768dcecdbc7775ee88d56db279436a9c
09e2ba118c0258f7c4611e453926f7241a662400c655514d4dcb2c3611c3325ad0ec9bf2d8745d1bd728b8301981613d0c83cf4936b82a6ea5a058d22c51d324
5e04e35e3dc74f645ab226a8023758d2254c6b346e125d06bbb7a89a85e5d5ed13f637d37e4fa55cd43a4af2a2444ddd8a1b4bfd1fe76ac408527571a4852f4f
0a9d31327ab737c65430d9e43a612c7f4e81db6f448d7ee6655934bcf6c6952b8d06c942329a708d36676ddb0a4b244eab946af1a0f7256eb848306ca76156f7
4eee5855cfd771f408cc3c6f7a5ea3f160dc029b6e445dbab46fdd3893945e573d5d00b39f07c78539ea128603c71050fb2a7730c7b4f57907881617254f8e5b
3641e1d4363359d55c61798ca68951d8ba9439ac1d8d36fdb0d98b15e9340df06a0a4b573c6a91ac2a24f1d32917b78e21d1961b3f4a27166795a9d3485a68b3
a619e58eced6e8d418311b57f7f3a865b38643badb270d67766107a5b350912a7f7dbe8e1fed3af6fa9b57972e5d6e34481692111a9db45bdc5fb396a4cc11e5
4898d94dcdc1ac5546cbbd33324d554da79f4867325dc406676c7d1b7d2e2abc35f2b5d516af889add5b77e0c48c8de72057a3a3a869f137c42fbc91de6ade52
db57a506734681d3d34c26cf58b59345ab020e9136c7ff398d65dd15295c5922ed68b465ab6589b4c956a52964f2ba4d4932c3f58748a28d2e64e8ad21b12af5
1cb79e768ca4153953a30b4684d3cfcb777b0d30b30ce61049b7a0e19ad63d65443bfa891daf9ebf70e5f41b171b0d92856434291a3dc81fadda2e65c238c6a6
32a32b68b4bd7031a446679b6ada6c8dcb18163e2a5e2adf78ac9af7fdc9325166c19cca46b7df6661625cc1ff6b43432c116a4d2e2a67c660360b6c802d4938
ba454fbb1bec6463033a2a6b66e2039fdc29d0e83cbbdb49b38c6c25334d169944a3abf487c4d161de98449ddd5c460ca6ccb5e6eab331ef9937526e7db344ba
4c659dd937addd7900b335baf8d9ab8cb9078d2e782c6f3ccfde05964dd2bd121faad91393fe5c642f04290df6754479199d237d875bc68e365c2bd1615213b7
94d13033bd134aa1f4dd64d293f30ba607a4beb638c7c08f10f054b549660ee72a6d073936afe8826b3e17942df59043d21af6fd904e564dbdda3e36e2c78719
a79c5e613d595122bae9108b1bd0ee367993629cb1d1944e9553d90f6a1da797187fdab3bce5d837bb5dd285b21e794c9c76b1f047f726d6187124584fff79e7
33bb7d34a6cc26d783ca7c5ed0f13f1ae537da75448d7eecd9574e9fbb7862e942a341b2908c26c58e56bdc25946d3f7c146dbc55ecbf48dbd75876bdf169b49
9bc3cfced4f54296d2e858628cdb709d5bca864bc69959a27851d2f4b95834ac8299658e1fca2acc512d39c583c41058fb2ab5cee3d83beaa4ebd94c0aaf0a60
ca8c3a36ce84911d1246b2b17224035c9274bd1a3a7ea6556caba4d3d6ae9cdbf70fa6f324c1a11e758b8138221a2560cf2b5695ddd20ee80f0e9cd4641197d8
f508e86c9256b37a5552b78c91e594a9b246a7babd4529299a715f98dba899bf701851a31fddb6ffd8a9d78f2c361b240bc96882343a7734d5f845c64d558da9
93d47004ec79234787874b9aab3a4a008df6ced7d1644f320c8ecc15a726f326ed0104ec5bf8ccbbf5540a6683c6667e513655e3d368e32730a2467f67cb4f5e
3db9b473ff62a341b2908cb0a3c7df5d28010420d0328111357afd0ff61e3e7eee99ddc7068547564e7df44b41b4f4c1c06b8f491692111add72df203b084060
fc0446d4e887beb7fbc0d1334fbc78b8d12059484668f4f8bb0b258000045a2630a2467ffd6f17f61f39fdf873071a0d9285648446b7dc37c80e0210183f8111
357aedc697f6bdb2b8f1c91f371a240bc9088d1e7f77a104108040cb0446d4e807bfbb6bdf2b27bfbd65a1d120594846a2d1e726616fd2967b00d94100023e13
185ea38f1f9317a33cf8c8ae17f6befaf0632f361a240bc948b23b77f6dc70bbf50f7755dbbf33e48dc810800004ea7a2ff8e289e337fdc1dc07ef58bf66ddf6
35eb5f6836acdb2e19bde78fd62c9debaf460f378d7015042000814c02eabde0efffc40362de8a17a2d120af1e7fefcc7d3d7f2f38fd0c021080408d044e9f3a
2b322dce87a5734be71b0d4be7cf8741b2934c6bacc2c0a45af5750c2c0d112000010840c0248046b7fa1a763a1f042000814a04d068341a02108080bf04d068
7fdba6d2644b640840a09704d068341a02108080bf04d0687fdba6974601958200042a1140a3d16808400002fe1240a3fd6d9b4a932d912100815e1240a3d168
08400002fe1240a3fd6d9b5e1a05540a0210a844008d46a321000108f84b008df6b76d2a4db6448600047a49008d46a321000108f84b008df6b76d7a69145029
0840a01201341a8d86000420e02f81c9d0e8ed6ba6a7d7ec38e16f33549a57890c01084c0e81b6357ac7dcf454fc999edb990bbaaaaa16c757df564d5369fa70
57311f40000210a88340ab1a1d087462cf6e5c3d35952bd35595b18c460fc7ab6a4986cb85ab2000010864116855a3578b266f371c0e69f33612c49ddada9e5e
35333d3db33a36be57cfdb866d3abe699bcbb789d11edbd1e12573abe48b99796526477174d982c9437d56cf1b25919493c8f1b5495241cca078016549c1ae29
9d0f021080c050045ad5e8945358b46c66de3454f5b179a0f56e7e2610d6e2f80985406a23d134278350670d310dd536f1699852ebf83a9204831b82551b9564
c7499d5e94e2c949494a1f0cd52493e368a3a61080c040025dd068cb3d323d376f2c00a6355dcb625aca33cd766d680707f604e0f8a39d0433228753ce89d3f3
ab0ce146a6210001088c40a0558d2eedeb301c1a963b38f421d4abd1cef31e69ef73e6341058d019821eaa73a4d403a74722400002101848a0558dce5e33547a
17ce3349047dd2144df121a8c7330ae25bbe8ec8291c259bf17487e10f892eccf27544d965f93ad2125fb0103ac25c3ab02189000108f49240ab1a1da970b222
17ad1fea07f2c215c2e84166b149e5139c49dc118694872733e29b6b8681ffda8896a1d1e69aa12417666dac342a5f7354929c3543fbb16b9178560b790e1d02
10a88d40db1a5d79a2ebd6a36fcad2c75e8600042050130134bab6e94e59dcc9631e35b550e5598d7c2100811e11f05ea37bc41ab5850004205095001a5da71d
5d953ef121000108141340a3d16808400002fe1240a3fd6d1bec0b0840000268341a0d010840c05f0268b4bf6d830501010840a0558d5ef7f006020420008134
81e1b4f8f4a9b367cf2c9d3876b49d70f2d86b929d643a5c6987bbaa6d8d5ee603010840c02620923d9c7e8962aedffcdc6f7ff281b7dd7cf72ffcd65d8d86b7
de7cf77b67ee95ec24d3e14a3bdc556834c3050210183381a1355a0cdbdffcd87d9ffae2a63d874ebd7ce0d4eec682242e59484692dde9538bc3a9ed7057a1d1
63ee9d640f01088ca2d1bf74f3dd078f5fb87475f9f2f56683642119497667cfb4ba88854633402000813113185aa3c50dfdd6f7ddb5f7d0d2d5ebcbaf5f6a36
481692916477f6cc99e12ce2e1ae1a9b461f5cbb42ef6737bbd5ec225b6757ac3d689e30a34e4dd991c7dcb752d9db8597923b75a9bfbc295cd5b218f1f230b3
8c6ad6916c5e45ccec46273c7a0ad580133b83c0d01a2dbe0e11cd977e76eef2b5e5eb376e341a240bc928d4e80958330c543711afadb3b6f2cab79610d73b26
1b1e2356e15b19ff2eae3215340a564381b3aa5943b2c51aad321d9d705de994c14e9c1c02236af48b3f3d7de9ca8dabd7af371a240bc96852347a907959608d
8aa0fb6d492f1b851f5d414a8deaea46ab55b0910b9c5dcd91936dd38e6ea9a54a35e704461a51a39fdfbbf8e6e5eb97ae5d6b34481692d1a468748e0720d1df
5c2b2cb17a66670367c9ecd6c413126bb7e91b894cad28f2ac58ecf127881da4a6be12b37eabf2be04f67dde79755f1fa510dd08e813fac620297c3cf2833b05
33df651172eb841bc1284072c311a7569463724fa261ca41542795a5aea94e392e709cb0054d11317c1a6131d6c6e58f31aa38613de2f8e96483abe2560a8a25
ec63fec91729c2ae669996af09aa60f24ea7697592a80f04254f12f4dc14e895928fa8d1cfbc2c8b86d7deb872a5d12059484613aed166b7b3adb044e2420108
06985282e0480da6f8283913f94993c846fa7a9cab74749ce2f3a6e73552cc580a8d6c03a9d2a54bfbd68d33d6458e0eea82391219e86058e3cc1c750943b534
04d4be2a96fb9848aac00e10b76cb11c9a721914cca96d66b2aab9c2f2184d63349fa1f199de7c47a36375cf801955cfa86d7468c455a5d651327b4baff4d0c7
ca8ca8d13fda75ecf537af2e5dbadc68902c2423343ae940b11596b524658ea82c2b2f6df72567b4dc3b23d354d574fa897627d345683146f6585a8a2d03d3b2
da0cb3549b7e4e84820ac6967c768e91f885b3c4d6d0af1fe9a45d4e57a38344dd02a7a7194b916dcb5a5149999e6eb271f1a289c62c86924d93437c5733c88e
cee2695e934e53c8e4759b14191f25ad77651a51a39fd8f1eaf90b574ebf71b1d12059484693a2d183fcd1aa0f96b0469d41ee2c22b99a62187ace578e261669
74f62db0365b2dcb344a2795af69f74746a56d3c1669749443768e11b6b5a1219f08b51ed4d155194a14d2ceabb86347a7052e9067c3384d44c44e3636a09389
233ba9421132db2edd01d297a6cb55d06dd0e8714c006874c16379e379f62e1835891de83ed7a13b49da0a4bddbc26e32f3e32466486469bded07c49ca952a3b
71eb6edd1ddc41e1d7aac9c858e78ce5dad68d548424b1acaf123f8f654c47b842a7b0fa22d1f1847898b46948c6b88d029bf72e05658ba399b852b6b4956c34
21c5e54be1b43c38999a2f29381a6df85d723cd2e96cec6e9339398d43aa2636cf1135fab1675f397deee289a50b8d06c942329a143b5a0db4d4f3d1e9673662
af6581575727645a64990e0d3b53d70b59c6d7a125c6b80d4fe79f98d2f1029a59597b012f59a4b45cee86e027d7ae904fec3c8f56ff0221363e0aa021490651
bb9c6a91d2b927d02b97a1cfc1b0ece355d2b000e664e4ce82aa59535ee9e8fa28bbe4b622b87c45d40fec393bbb7e6973de249be9bc36ef3a4ce7498243518d
81b853edc4ca66ab151f51a31fddb6ffd8a9d78f2c361b240bc9688234ba8d2e90d6fc3672258f6202f6bc5124ac909c140268b477be8e26bb9e36068da7c09a
cc8fb42b10081b2791e55246abd9a0394b93eecd84b9ae9bb59459a1c4446d83c0881afd9d2d3f79f5e4d2cefd8b8d06c94232c28e6ea34390070420e0158111
357afd0ff61e3e7eee99ddc7068547564e7df44b41b4f4c1c06b8f491692111aed55cfa1301080401b0446d4e887beb7fbc0d1334fbc78b8d12059484668741b
1d823c200001af088ca8d15fffdb85fd474e3ffedc814683642119a1d15ef51c0a030108b44160448d5ebbf1a57daf2c6e7cf2c78d06c9423242a3dbe810e401
0108784560448d7ef0bbbbf6bd72f2db5b161a0d928564241a7d6e12f626f5aa7f5018084060bc0486d7e8e3c7e4c5280f3eb2eb85bdaf3efcd88b8d06c94232
92ecce9d3d37dc6efdc35dd5f6ef0c79233204200081bade0bbe78e2f84d7f30f7c13bd6af59b77dcdfa179a0debb64b46eff9a3354be7faabd1c34d235c0501
08402093807a2ff8fb3ff18098b7e2856834c8abc7df3b735fcfdf0b4e3f83000420502381d3a7ce8a4c8bf361e9dcd2f946c3d2f9f36190ec24d31aab3030a9
567d1d034b430408400002103009a0d1adbe869dce07010840a01201341a8d86000420e02f0134dadfb6a934d912190210e82501341a8d86000420e02f0134da
dfb6e9a55140a52000814a04d068341a02108080bf04d0687fdba6d2644b640840a09704d068341a02108080bf04d0687fdba6974601958200042a1140a3d168
08400002fe1240a3fd6d9b4a932d912100815e1240a3d16808400002fe1240a3fd6d9b5e1a05540a0210a844008d46a321000108f84ba0558dfeb99bffac4ca8
34c91019021080408f09b4add1fbf7ef55e1c0817d870efdf4f0e103478f1e3e7efce8a95327ce9e3db5b4745644bcc7b8a91a042000814a04c6a3d17902fdfa
eb4b191a3d3f3335353db73d7533b27dcdf4f49a1d278cf3e933eadbbcf3e6b51e1ea78a3dbf6a4a3eabe7bb5c290f39532408784c600c1a5d20d0172ebc91d6
6811a6d5ab66a6e776ba93cf408dd6117cd3e892e571a36d5c3d3533afa79c9289e8ce5735fec05e5b3ec1f23107664a04084c1881b635ba58a02f5e7c33a5d1
3be7a6459836ae764ce64cebd8d1829e69745eed4a76d9310ae518b32e09876810f09540db1a9de98316178758d022d0972f5f72355a86f7aa8d8b2744a96377
879c09eef8c38f12eef49900b75c12c70935622e741458be823815d791529445588c320906716656076598591d671de66e14cc2a7c7e0583ea8811ad3e33f34a
f2cc19c8aec88ea8e6e221d2371f79998686b9656bab328719451361548b205f5d06738e4cce6b97942e6daabebe8e844a2e422243a035026d6b747a91d014e8
ab57af381a2d72a3dcaf72102a4ea035914356fcd48146a7cfc4a263ab98edc6b545df32d28d04a314529143551a90601027e54677e4d5997bca5727d1e87445
0c9788d259d7299f543050f3600a34e2c4658ebe4a6a91ba2a0f8ed922c1d4323d379f5a3940a92100817204dad668e7290e47a0af5fbf666b746cfd69abd9bc
6b76f52eb53698e9ebd05769633c34c813533a330b27b2293a79093a714cdb3fc3048e6a68c959b1eb26b7221134d7835f4023d3671da8736cb33b9e2593bc79
cfa148a615195f47b9d1d89a6946461d22d0b6469b8fd9a505fac68d1b9646478e0e65e5850663a6386a2bb858d44c73520950e6c8c9d6e8b44f207ea424d1ca
bc38a12da99e4bc970530c4a392da0ae446657247c0824cb8e4e57304fa31d8f8ac37970c5d326bcbfbf14e8d0a0a5a81345a06d8dd6cf41670af4f2f2b2a9d1
b17f231ad8e19f1bb5af23b819b79d03f1992c5f87abe3b643c3d2eb4c5f87e1d930adcbc4c04c25984861ec7c90c8ca3f937c952e86ed52309d308e219cb81a
52658ba604c30d6219c2c5be8e48d6135f475486025f875d007c1d58cd10a88f40db1aad7ea89227d08e4627e6a73681953e468e81e9e8f9e8f49908905ab932
6ed82da9d2eb5a595e63d335612dd9256b86d1a3d99616c72e8b785d51c5d18b78a133400cf0b860e99455099d0a3a0e65d7c9e356246bcd50af3ac62b81da7d
6476a620e5e938f7783dd69cdeccabf22a6e554ac9b7595f4c690840a00281b635ba58a01d8d1eff1d8d98bde6925a7d73e3f8ab36d0cf33b0b2789907222202
044626d0b6467761bf8ee4b9b1ecdf378e0cdd53817616068bab19fcf8736ab226b01eb73b55f39840ab1aedaf3679dc42408300042699001a5dc13134c91d85
ba43000263218046a3d110800004fc258046fbdb366399b4c9140210f08a001a8d4643000210f097001aed6fdb78359953180840602c04d068341a02108080bf
04d0687fdb662c9336994200025e11d8b56bebc0f2ac7b78c3d4db6fddf299470fdef2b9e7dff2aefbe5d78099d788de9791fc81f91101021080000484c0c2c2
536544b5ac464b8ac8341d0b021080402d0416167e5446a025af0a1aad655a8935010210800004862350c6cba126836a1a5dcb04422210800004205092001acd
ba22042000017f09a0d1feb64dc96996681080408f09a0d16834042000017f09a0d1feb64d8f4d03aa06010894248046a3d110800004fc258046fbdb3625a759
a24100023d268046a3d110800004fc258046fbdb363d360da81a04205092001a8d4643000210f09740631abd6ddb3b6e591f864d5fd9ed6ffd4b4e6544830004
20301602cd687420d0db36ab1772efdebe324fa6e5abdbb7bfa4e2a80302042000010818049ad0e8c35fb9ddb69d45b2efdd9ba1bf48337d1102108040218106
343a309c63233a31a5b76d0e1479db9db72b07884410290f8fc582360deac84312a6109effcabdea92f5776e0b0ced97366c527faedc7018bb1b02108040bf09
54d3686717be6c3419d6f1de3b45940da747a0b36259bbbe8e40b51321561162698e238749452e147b26b0e7a2e1360ce42a084000022d1068646fd2b27bfc17
d9d1b1d359c57134da1477759c3e135bdf18d1fdb61da81d04fa4da0fe3dfecb0a7460cce6f8a30b24384f9133343a5a57dc1c38408aece87e3730b5830004ba
4ea0e67765957cad4b442df3b90ec3beaee0ebd0cf7b681d8f9e1249cd04ac3c40000210e81481321e8fb2fee86a1a2d98d2cf470722bb49fccbd13a6180529c
cba1399c5e334c3f9317c761cdb0ebe603e5870004148132bada9846a767339eb4ebd40ccf288200049a268046f3a31808400002fe12f04ca3b1222100010840
c0208046fb3b7f367d0f45fa108080ff04d068341a02108080bf04d0687fdbc6ff199e124200024d1340a3d16808400002fe1240a3fd6d9ba6e767d2870004fc
278046a3d110800004fc258046fbdb36fecff094100210689a001a8d4643000210f097001aed6fdb343d3f933e0420e03f01341a8d86000420e02f815635fae7
6efeb332c1ff998d1242c01f0265c694c4f1a7c094a41281b635faf0e19fa970e4c8c1a3475f3976ecc8c993af9d3a75e2ecd9534b4b675f7f7d89ce54a9fd88
0c011932fbf7ef55e1c0817d870efdf4f0e103478f1e3e7efca81e590cabeef693f168749e405fb8f0bad599b6af999e5eb363d80d56e6574dc967f5fca87731
563aa315a9bb1d85927b4b406b749e4067983ed28d83c151cf002945c6c8716a6a7a6e7bb9515965b8f5759c8e41a33305fa1f7ee31f8a405fbcf866298d2ed5
721b574fcdcc0fabef46b78bd3519996caba5cffaba16c640481d34aa30b04fac285376c3b5aba74ac928174561c26c30d0133a3f243a9425ebd1da76d6b749e
408b468b405fbe7ca9368daed0ba85e3dc49a7ae64116808d44440864cb14097357d6a2a4fb6596d4d06a5eda7f2c3adbfe3b46d8d563e685164ed2993631544
a0af5cb99ca1d121fdb9d07111fa2e76cea9fb34e50649eea142d320883cb35adfc8853682ba09b2efeca497d8679c74a2feaaa3cdcc3b937f767ccc3a08b44d
40864ca60f5a5c1c624167983e278211343db7d312d3a271641addd373f3da035972108540f2ec687774ebc8f1f81c30ccd54d409fc769db1aad16099528cb22
a123d0d7ae5dcdd668ed5676ef92a4b7191d48f922d47d5ce60c1c9d0cfa68eca756f77da974b44da1d3b1b2ce8fdfa83142e21048119021935e243405faead5
2ba935c3d8d0899c1ef9e328347194a0ef9061b36a633cb2aa0c22cb960accab64848673433418d3c3737e2634c58a8a17cd34fd1da76d6bb47a8a434bb36941
8b405fbf7e3dcf8e8e560e738d5935eb1a93bca9d1898d105adf69f93623a874f49a4666db17c4474420d02e011932ce531c8e405fbf7e2df7b90e2582e9fe9c
18cbdadc8985d2b593e2fb86e24191f675a4d3293893dc09dbc3bcd896eac5386d5ba3f35c1c4aa06fdcb8515da3ed150f4752a3fba094aded3c2e627520fb5e
3557a32baeb4b43b6e4b2db553a45e109021633e66971668775859b50e5dc3e9fe6fd931a13a6bd52ed2e8fc4161656124e8d8528e09a5f372163633cd2ced15
d189148cebee347ddb1aad9f8396a738b40f5a0bf4f2f272358d0e3d6bc98d92ea6d6653451a1d779de4d629edebb0d319ecebc889df9db647c7fb4140868cf9
0b03ed8316178758d022d0ceb08a5c16aaa3a64784d2355b04834b82bbcbd0859df64804ee60e530cc1f14a65c9a59a435da18d441be91af2367984fc0386d5b
a3d50f55d463766a91d014e8b21a1d2d1138cb05b61bda687bd5c3a24f6441a7963b926507fbe1cd4c3bda5aa628fdb027f20d81060888461ba64fb448680ab4
3bacac55746df9ea1191b59c13a8aa7d336a0d01d3e289bd8ece13d0b6db21b0abf23c1ba6f37a5a3eea171285c54b668e74b2f6850df06f7aa66f5ba38b053a
dd999aae3fe943a0eb0444a363d3275ba019569d6ee2b635baccde029d064ae121d0328132638adf82b7dc283566d7aa46d7586e9282000420300904d0e8b67f
713009bd8a3a420002751140a3d16808400002fe1240a3fd6d9bbae661d2810004ba4b008d46a321000108f84b008df6b76dba3bf353720840a02e0268341a0d
010840c05f0268b4bf6d53d73c4c3a1080407709a0d16834042000017f09a0d1feb64d77677e4a0e0108d445008d46a321000108f84ba04b1acdbe0475cdcca4
030108748540c734faf0e19fa990f9eeda8c77d477702bc2ae741dca090108b440a0931a9d27d0b22db5fb8a00e3153bf10b0c1bb8a9c97b3305330404200081
d108744fa333055a5ee9a2de1b90f11a170528fd729dd1c059f367a646379a638d8527290840c063021dd3e83c81168dce7847bda592e17bdb1a6a0934ba21b0
240b818927d0318d3e7af49563c78e8822e7bdbb76a01d2d2fa2d79ff8853d33ab837769cdccc5afd44adedb16bf5f2b794d78d863b212715e371ebcdb2d7cc3
f89a39c951de781f5f38bd6a667a5ae518641a4d1bc99b84a23712e9f77b458599f89eda82e38f2c20e021818e69b408f4c993af89464b90f703a903f3ddb5f9
fee8d45b0793570eabaf62433b7a3966fca6fa623f8969413bce0df345889116eb77301b421cc8773a2fa7300df8d0117d0840a00b043aa6d122d062416b6976
04fafaf5ebb976b46e0cf3dd97d68be223cb37654467bd433333913c8d0eedeec0669777308b223b2f4256ef6036d63683f72f87af584edec4dc859ee4a10142
9120d003021dd3e83c17877eb9f8208d562f99375611532b7ba11f43e9669eff3a27917c8d56ea3cbf2af5c6e5c496cfce2b2a0c1a0d01084c2a818e69b4f18e
fad74d178758d0376edc70df7f9cf16485b17228ba69dad1c9dbe995e721b064a3c7f55cbdce49a440a3d59be7d55be88dd402a773e4ebb0f3720b83af030210
9850021dd3e8f81df5c16376972f5fba72e5b2b6a045a04b68f469bd16a716f47618c29a5aa60b8555b91c94e91d87ec44dc29415d1e19c86211275e94e9e9c8
b9a1543b086e5eac19f6e02e952a406074021dd368f925a17a0e3a53a05d8df6e8e6c830bd796edaa3769950d36c74e12085d608744ca3cb6cd9d11abbb21989
532530c57746f1d168341a0210284da04b1a5d56134b579e0421000108784e008de66e1702108080bf04d0687fdbc6f3e99de24100022d1040a3d16808400002
fe1240a3fd6d9b16a668b28000043c278046a3d110800004fc258046fbdb369e4fef140f02106881001a8d4643000210f097001aed6fdbb4304593050420e039
01341a8d86000420e02f0134dadfb6f17c7aa7781080400b045ad5e832bb6d581b40f3ab6e084060100186550b4239c62cdad6e8c3877fa642e6db63655b3b34
7a8cbd81acbb484086ccfefd7b55387060dfa1433f3d7cf8c0d1a3878f1f3faadf89c1b0ea62cbaa328f47a3f3045af61dcd7f2161bc0bfe20b3626063a837c6
26fbf7279b38e3f78040f708688dce1368d7f4a9baf362d5f8238fd08143784004e3e573f17ba5f546ed39ed5b771d6b1499316874a640cb4b55d4c6d0035fec
3d6afb99ef96b5f7f81f39e5ee0d6faadc03024aa30b04fac2853706bd43aeb0ebd6ad5f01f38234cd97350f633fd9afb253efbd1b984e5e9c32d766cc49c63b
a3471699b6353a4fa045a3d5cefdf99dc9d8267f9489bae88d56882c04ba4740864cb14017993e6586d2903a35acee8f985dfaf23209d6abd1b58a4cdb1a7df4
e82bc78e1d1145ce7b7bec003b3aa8fccceae04d53e6ebb483f751053717c90b03c3575c05af0a0c3a4af29eaae49554f1ec6a4eda396fc6ea81a945157a4c40
864ca60f3a7c69d11bb9a64f3294e405141b93f7d01be7a337bde58d91bc14a297761aef990b53980b7d8ca19b317aedbd1ab0ca2d90f15546bee19be7dcd49c
c920483c79a58665b33baf15754b18bf6e549fb7ca19be89547d8a8ba1df7b578fc8b4add122d0274fbe261a2d415e4ea80eccb7c7e6fba3e3976a476f174cde
091bbfb9556971d0db222754f42e41db0077eea4a23fd57b66c3c62e33eb96b13e8803815608c890492f129a027df5ea950cd327501c7b4ca99eafcf9f085ffe
29864ede18c94be1446a3485ea66ad00658e325d006d6c0507a9919e4ecde51c6babae60908ee103c92c619497ad034939ab14a35691695ba345a0c582d6d2ec
08b4bcde7b80e3cca9bc6a9b8463388319e673d02de45555f1192bb2d9219219d2985a5b19603db6efa85a3b0464c8384f7138027dfdfab56c8db6a4301e47a6
7a06e3c23006137b377cfbdb7cece74d4b525e4c3d5add5ce20b4cefad23d979d716f89a65ec47b38e75636d58c4f178577549eb40ba8e658a91a9d1c38a4cdb
1a9de7e2d0aff71e49a31505dd66a13acfafb2dfea9d8b2f7a81773be38a5c205017011932e663766981be71e3c6f01aad4553e9b569b8a40da6c412cf899921
70f6125fbd1aad1e10884a9e18c2a1466795b04c1d47d2e86144a66d8d3e7bf694b838d4ebbd4d178758d0d293dc177ba76f880a6e3de27b22d7fbec4cb3b9b7
21c6bd98d37e18d410f09880e8af367d32053a7b589550d894afc31e23792918de89480d1dabd97ad4c170456ab377a0af430fea944468cf673005a6138c8676
4aafa374f2cecbfd7a96af23af18b58a4cdb1aad055a2d655cb972595bd0d293aa6874786b16dda9444eabd8a711783cd4a281a1d7f1c242363ef9567bfa6dbb
dbe3c1599721463a9d26201a6d983ed122a1f8a0c5c5a1ec9eca1a3d3d6d8cac942f311874b1233bd35b120c197b34a5353a8a10d89581aaea4fe4380ed7e5cc
a19a8c747bc5286dc6598b90c9e25eb01e18e5a506785e091d1d507fc6e9942c46ad22d3b6462b0b3a4fa0ddce34aa3ed6f4b8dea8c5e8dee35c9dd6ac492bbc
68746cfa640b74b56195a57a9386d4abfab6add165f616a80790dce6c4d6743d09a2d410f09240993155e1b7e068b467addcaa46a39510800004205089001a8d
230202108080bf04d0687fdba6d2644b640840a09704d068341a02108080bf04d0687fdba6974601958200042a1140a3d16808400002fe1240a3fd6d9b4a932d
912100815e1240a3d16808400002fe1240a3fd6d9b5e1a05540a0210a844008d46a321000108f84b008df6b76d2a4db6448600047a49008d46a321000108f84b
008df6b76d7a691450290840a01201341a8d86000420e02f0134dadfb6a934d912190210e82501341a8d86000420e02f0134dadfb6e9a55140a52000814a04d0
68341a02108080bf04d0687fdba6d2644b640840a09704d068341a02108080bf04d0687fdba6974601958200042a1140a3d16808400002fe1240a3fd6d9b4a93
2d912100815e1240a3d16808400002fe1240a3fd6d9b5e1a05540a0210a844008d46a321000108f84b008df6b76d2a4db6448600047a49008d46a321000108f8
4b008df6b76d7a691450290840a01201341a8d86000420e02f0134dadfb6a934d912190210e82501341a8d86000420e02f815dbbb60e9c7bd63dbc61eaedb76e
f9cca3076ff9dcf36f79d7fdcbcbcb99d788de9791fc81f91101021080000484c0c2c2536544b5ac464b8ac8341d0b021080402d0416167e5446a025af0a1aad
655a8935010210800004862350c6cba126836a1a5dcb04422210800004205092001aedef7a42c926241a0420d0630268341a0d010840c05f0268b4bf6dd363d3
80aa4100022509a0d16834042000017f09a0d1feb64dc96996681080408f09a0d16834042000017f09a0d1feb64d8f4d03aa06010894248046a3d110800004fc
258046fbdb3625a759a24100023d268046a3d110800004fc258046fbdb363d360da81a04205092001a8d4643000210f097001aed6fdb949c6689060108f49800
1a8d4643000210f097001aed6fdbf4d834a06a108040490268341a0d010840c05f0268b4bf6d53729a251a0420d06302cd68f4eeed2b6f59ff8e7bf7c6e00e7f
e5f6f5efb87dfb4be1ab5f081080000420509240631a7dfba6955a949564a3d1cc4f108000042a12684ea3b77fe5de4d5fd91d5acddbb6adbc775b22d9158b58
72b6211a04200081fe116850a35f1269de7058906d16b1deb63dd2686553072152f097366c0aff5caf223b7f6ebe57450ec29ddb42c54f52886df34169f6afd9
a8110420302104aa69b4f396f25c46229ae2d950ff9ed87b67722c8ee9d8b8d6dfdeb26d73a4bc72b0f74eeb4fc3791dc50f5cdb895807e90f4c33d7033edc4b
d7b90a021080c0880476edda5a728ea9a0d1aa4ca5d24df474dbe66ddb82c543addab1511c9bd2e172626c442f06826bfe99b29aa39463835aa9ff803459a584
000420e0178185851f9594d3b21a5d41a095511cae108ae362e5ed9b02b337d1e8d06a4e85d0a7917c15ff2966b56d77676b74a9344bcd2ef8ca21000108b442
6061e1a932325d41a32b689c56d2c0c88d5d19915fc2742b6fdb1c44502a1cba2cc46d6dfeb93b767d840b8fe1932199be8ec234d5ba2501021080806704ca78
3c1ad6684d24b17f45762bac19ea25c4c037a29ede4baf19065eeca2341168084000021e12189f1dddce64a53cddede4452e10800004ea26d04b8dd62673f2f4
1e320d010840a08b047aa9d1789621000108f484001add9386eca28140992100818104d068341a02108080bf04ead768790a84000108400002a313102bbb118d
5ee6030108400002a311108947a34743c8d5108000044a1078e5ccf2b3fbdff8b3fbbff37fbebfeb5b8fed2c080f6d7ef1ce2ffe8d449654d1e8126889020108
40606402a2d19ffdab8d4fffe47c9994249a4446a3cbb0220e042000811a08288d2e9f505b1a7d70ed8a156b0f66956bebec947c66b7962f738b31a5d841e9a2
4f1b85141c4136062fa30c351420b321ac6ae6b49349bd5291d2356ab101c90a02be11d01a7df5daf2c020851fbb464723b81e8e5a80f2a7846a1999e9544db3
6a7c55b244d19420cbdfb16806ca38b24ae76a749cb28a5054f81245322f776b54ad05880d819e11d01a7de6c2f2c0e081460f2764798d566f6a928b9560add3
497e1566c3fb8dadb3a168365ba3b81096fa0faa669922d9739b55a39e0d38aa03818a04b4461f3ebb6c86951ff9a47346fe6c5da3c3a1bb36746e84fe0de5e7
885d1dc91db496a7d959e56b58111dac58bb55791f946da9af0f9388af37cdc08c34cd02387453f2946547db992a1955c59b5d1bbb4682e21906a951e53047d3
b730c0b5104475a3249747df141469ab01493b51b2ca936547bbeda5700d2c92d11015bb2fd121d07b025aa3178e2deb2002ad8279528ec7a1d1daf5ecde5327
b65c74a4a520f3c0d12d27b5485b33d38cfd0525edc1c41d9d52539d693265c4b38b9a32d46ce15439d4b84811cb942151745500e39af4e56e918cbc94db249c
e3dcdccd3943d525b7f0894cabc933bb48a5ead5fbc14805219041406bf47307de54410bb43ad0e7e5601c1aad852e5b556343cdb1851d29d012e018a4e679c7
a9ea4e09e5dc08995a9397692ca65115f37234d3aca465ca0f6ce969ac92c51ccc7e9299bba9e4ca235e12575e91642628b1f4c80886c00412d01afde49e3312
b4403bc7eadbae6bb4bd789596f5b41e55d5c70c0dcdcf34ee6ea1e7215fe6aa9621e9c5b17aba2b87833854d3e8b07c4a64071735a74895e69e091ca6547982
09688ddeb2eb8416683956c139e393461b1e80c8aa738c62f32e3ffaca701f6b83ceb2b813fbd04dd3f619e476986c8d8e5db7e94ccd7bff5c9933acd6415ae6
1ab8919fdb70560487f91c4cbf8af67538b7329187d9f04717dad1a58a34a85e133c42a9faa413d01afdc39dc7258828ab031dcc335e69b4b19256e0d9b0bfb2
eefb83afe287ad4d7d570ee594e334eb9189c235c3b86bb9991a7aa4bf72d60c0337b233c76837f7209f80b11ea81fbcd3e712b78ae536b7243249c079f03a21
60fb4f92683976748922c50d51341e35edf4c1a40f63eadf63028e463b02edfcd9a246f718f928551bf49cdb2869732d0420e0210134dac346718a643e2937c8
8af6bf3694100210a842008dae428bb810800004da258046b7cb9bdc200001085421a034fa85572e9bcf41e71d4bb4b1efd7a197f9aad4b2b5b8e9c5b4a6b38e
3cd4590b91b5ec3c95f9c4456aed75402d8df89537104957b069a4a40f019f088846cb8fbcef58b3fe0bdffcc1c0f0a9b9757b8f07a56f7effe8dc87b16a5d35
4b3fae3762db0c7e40383f83e19e3f4b24ac2f7b2aa5bdf1d1832395e57dc4c6e47208f840e0c727965f3dbb7cf45c108e2d2d9f38bf7cea8de5b36f2e9fbfb8
fcc6a5e5372f07e1e295e5cb57a320f1c7aad1c309591ee97a53935cdc87d89a9795836bfbb6a792d3584e057d18349401022d12f05ba343c9634fa589da53c9
7a66bcc591405610f09380f71acd9e4a93b5a752eccbb27e9ee8e7d8a15410688380f71acd9e4a43fbb83bb9a7526446f31c781ba39f3cba4060a2347ad05e42
6935acaa8f190e6ef65432c741d93d95a27da6ba30842823041a25d0598d664fa5ac7e516a03239ff7540a2a90de2aa5d12140e210f09a4077359a3d95b23b56
890d8cac35c8688fe9c4b930e63d954aaf19b2c592d7ca42e1ea22e0ab46d755bf9ea553ebd3e13d63437520d04b0268b4ffcdca9e4afeb7112584405304d0e8
a6c8922e04200081d109a0d1a3332405084000024d11f055a3f37fa55de68d1d4dd11a98eed8f75472b8e5612cf8113c7b180d6c652240a045029dd3e85a57cd
fab7a7529d1addfc66232d7674b282404709744da3ebdd05a9ded4a40bf8b6a7d21076347b1875742853ec9e12f05ba3d953696bd8ef4c174af1afa4f3ece824
85f07a152df8777676857afd2c56734f8738d5ea3801ef359a3d952aeda9643bc4e3179c1bca9da873a8d1d18ffacc3c3adea3293e04fa45c07b8d664fa54a7b
8664dad1ae70af58bb55dbd181551d9bea98d2fd1adcd4a61704264aa327604fa55c8db6f5d7b4a6b546b3d75c2f863495e81981ce6a347b2a65f6c46c7fb4b1
d5923ad41a1dbba18d183debe1540702dd26d05d8d664fa5ac9e97fbec9dfe41b9b366b8225a321c6c44b38751b7873aa5ef28015f35baa3389b2e76ad4f87db
4f0a365d74d2870004862180460f43addd6b1adb53a9f6c7c3dbe5426e1098040268f424b43275840004ba4a008dee6acb516e0840601208f8aad1f9b7e1eca9
64f54b670ba4d1f7eb48fd0aa6a5a7a6d9cb6912f4863a5627d0398dae75d58c3d95d23da6a4ca57ef6a19579879251addd2a4504b0d4804024d13e89a46d7bb
cc556f6ad2565682b54e27791dc1d902a9a4c21654dcfdaac95ad83fa19c0d7ff3b875168d6e7ad4937e9708f8add1e1185e3bab36fd919f5be8271cc2619cdc
95c77fea1d82e283f057cff1ae15c1f88f920a538baf8f76170a1522234db3004ed3a6f42beb77db76a64ac7d54e46b36b55e1a6c25d338cdffe19550e7334fd
0f4defa994a7f24919e21238a5caaabb51f2e82a7d916e9a78cb902e0d1bca0a81d60878afd1eca9d4f29e4aae3f5a59b586004787c619f51bfb0c8d4e5f15cf
6a412ef1cf1d5bebec6404810e12f05ea3d95329d33ecd777d049b8eea6fb56d9edc3f8456bbdc5da45555fd2edcb2a39594da86bcb2fb550a2a23e30ec03de3
e41b6eb517dd37b8797570f4506408344f60a2349a3d95e20e95a7aa69dd54866facd549874ccf1c996772b6a50efd3fd8d1cd8f6f72e83e81ce6a347b2a6576
be6c6fb221b1a6932175daf16a8439a4443abaca98f0a243c33b1f9dc9ca37723f8705358df1ee8f256a008126087457a3d95329ab3fe4adf825cba583f65472
5248e6427b5726a5ded18ae70ae5f7485cd97222f284b857196b8672459987ddd9cba989814f9a9d21e0ab46770660bb05adf74138578e87ad4b5de90c9b3fd7
41a0c704d068ff1bd7fb3d95d068ff3b1125ec2c0134bab34d47c1210081092080464f402353450840a0b3047cd5e8fcdbe732cb4c636b8e64d54cfd30b2f982
14efa954357fa3fc35143eb311d93ba96aa3107fb209744ea36b5d35d32252974735fd8c70f9ee355c199cad88d20f3e972f40f09485f93bef91557a80468f9c
7e85aa1115025d25d0358d1e4ec8f25aa7ded424172bc15aa793fc2a585b118da2d1cdd2882be06c02d5d58143b921d01201bf353a540df654aab8a792dab049
6dd4643db41c3dc39cb3e1948aea6ed9643cf3ac7efa5db045d456e3cbe817e456f3b5d4a7c906027d22e0bd46b3a752d53d95ac8d380cdb589bd84a87b5205b
e6b3fd13938cad948cceef2468fd603c749bc8cf089de6ebd3d0a12e10688580f71acd9e4a957cdc8eafc35ec3b4f6422af6c5ebadecdc4d91521ba516a453a9
e4ad7477328140e7084c94464fcc9e4aa66e3a4f97a42535db0d1d3ad303897756f606313447001add393da0c0fe11e8ac46b3a752666772d70c0d955587f91a
6d0972dea648d1164b61deeeb6d16602b1afc3b90df26f00502208784ea0bb1acd9e4a595d2b9260f321727b57a3423bda580fd4e673eea648d1b2a4fb288b7e
698efd94cbe08746d83bc973ada078e321e0ab468f8786f7b9b6f2389ff7142820042688001aed7f6337b6a792ff55a7841098780268f4c47701004000021e13
40a33d6e1c8a0601084c3c015f353a7f89893d95ac4edbb93d95dc47b65bd9794a3d85a27ffb7870e2c73d00ba43a0731a5debaa59f1ef388668c5519e081efc
e44356813ab7a79253cde16a5db269ccc41d502553201a04c64da06b1a5def90ae3735694bf741b4e6b77673b628729f8faed2bf9aa51197c4cda5d649d7a9ae
3d655a9b4f5501435c088c9180df1a1d8e31f654ead59e4a797674e20331f7478d7f8a6e6d4262cc85a9abf48968bb10bdb7d41807195943600402de6b347b2a
f56c4f25d71fad6e350ce58e0e8d33ee0f1a75f4f455b155ae7ef358fb9dc108238d4b21301c01ef359a3d952af9b81d5f872b88a171a9f72c750ecc1ed4dc9e
4a966e2a29b5f76952bf5fd4e5d4029ee690aeddc1e854d46bd0e8e15481ab7c2230511a3d683fa04c15a8b4e3448628e4671af783f04995d8e81bb10c191a6d
fbc475fae903ab5f36b6a792834819beb156274528c3217d5526529fc61b65814055029dd568f654ca6c6a47a31d3f890f7b2ab9d3584aa423e535e6b6e8d058
5dccdbf229b8d6b83b308df1aa2383f810f0834077359a3d95b27a50a4801eefa9e46ab43686ddcd9b9297baac904ffc5a02b588189f315e0b93b837a228c115
651ea6672f273fa48852e410f055a369b04c024d3ea8e62f72dccafeb60d256b9c001add38e2913398f83d95d0e891fb10097497001addddb6a3e4108040ff09
a0d1fd6f636a080108749780af1a9d7f7b5b6619686ced613fb1dbfc2fc1535b058de21618e2da212e516dc30e4763eba364dc31029dd3e85a57cd063c235cbd
2dd34ff5964f6338bdab714fa5210a30c425ae46b73191956f046242c037025dd3e8a14521137cbda949165682b54e27791d67bc7b2a0d0dd029b66fc382f240
c01b027e6b742801eca9d4d29e4a69c14d5c37b1b5eb9c492e095d50993b1f0571666757a8a796b19abd19fa14a42304bcd768f6546a6d4fa5dc5f97e812243f
be8e8e929fcc189bd5a5b758897efb97f193ef8e0c138a0981b111f05ea3d953a9928f5b4536fdecf1ee9eeaf779457b2a391a9dce37f38c631f0fbc0a537a6c
839d8c3b4960a2349a3d95ec9d978b37c01ba8b66a3270b6442a735527470a8586c078087456a3d953a960153411cac43b11014b3fca92fb704bcab351cc3c32
90533b1fa58a309e9e4eae10e82681ee6a347b2a65f5b8c441ac17e8ecbd8a8a35da748c445b86463e92832a37bd6698da7b3afc26389b2c2baa9d8f821c5744
4b86da73953b5ad8e1a89b4242a91b23e0ab463756e16e27dccae37c35234a3f2e5273062407813e1340a3fd6fdd8eefa98446fbdfc528a1c704d0688f1b87a2
410002134f008d9ef82e00000840c06302be6a74fe0d327b2a59ddc9d99c6814c7c210d70e7189b3f618af52b6f40344f672f2588c285a2681ce6974adab66b9
8f9d0ddb5b2afddec4c96438bdebe89e4a05bf9719967dee75665e0eaedaf3224108d44da06b1a3d9c90e551ab3735c9c54ab0d6e924bf0ab3c18bfb64b3cfd0
12550518ae5e435c35c425da8eb69ec36b92953d715ab8ea1e4ea40781da09f8add1e1e8624fa51eeea99467471b0f5787538ff14476de9e4d569cf49b67b706
cf6dab6b6b1f3d240881e60978afd1eca9d4cb3d95122d36f7fb30943b3a34cea85ff2677893d257c5567990cbecd6a18dfde6871f3940602001ef359a3d952a
f9b81d5f872b85deeca964e9a69252db64767680ca74e3e8ca3afb4685db8824a6331a3d500688e0318189d268f654f2664f25473795e11b6b75325ed2f353e6
999cbdf4c24780b0a33d961f8a56824067359a3d95325bd75d333464cfb9f1d762973e88524eae350d5df5905c74c6bcb6d29e4aae6d9b12e92803635a8d0e53
7b3639be2025ca91fb39cc666bb88e5a62301005021e1278e5ccf2b5ebcbffe34b8fac7b7cc10cdf7a6ca77346fe9468125f3eeb1edeb078e2f49eddfbe4dfe2
2031a7de7eeb96cf3c7af096cf3dff9677dd2f17675ea0d292d8893ee4bed4231e6ffa463e6f8fcd94fa58b7fec155f1c3d696d6184b4c03fc0ca9a711b26eab
dd4c8d38560d5c79b56d5e7d3b5f2c3751e2e643e45eeea9e482d2f3815d5ae90dc989708726d323a2f66c0a7a8c7b95dd35ca3c52cf5e4e1eaa13450a0888e6
7ef6af363efd93f36570483489dc8a469729ce04c669f211b5a67066cd5bc3e455573ac3e4cd3510181b01a5d192fdf98bcb87cf06e167a782b0706cf9f98317
253cb56f69ebc2e2965d27fedf4b27251a1add7e53b1a752c81c8d6ebfeb91a30704d21abd7f7159c24bafdd40a33d681f8a0001084c3681321abdede553d8d1
93dd4da83d042030260205be8eed872e491893af23ffc6b6cc02d09860ba4ff8b6b14fd0e87b2a196b9a351438b3e1d8c9686c3d928c3b4fa0c08ef653a36b5d
35cb7dec6cd8761df01c4861b2c3f95b33f754d2f964a6699db49f191ffda5dd0334ba865960d8b6e13a08749280a3d1e93a881d3d0e5f479e600d2764794d53
6f6aeeba56add3497e1532f6542aee8aa34c24033b79ceacc04e4603c91101029904d276f4dd5f9e77c2389eeb301e16664fa58a7b2a19bfd78815d3785e78ab
bdc750f08dfbc875e2fd701f3f8e5e641b243b3b1bfcde5aece2e4b193e8f7dcd636588c3b08406024027edbd1a15844b7c7ee4f3cf4af1e8cdfbc29b5d1b263
1e383ae4a4166959669a7601069aa8c9de11a95f9be84c2355ccdafa275de521f654727d1dc57b0c19022ef4cc67dcd246b15b858458f84392f0477d4e938dd4
3fb91802934ea0037674a01b5a3ab46aa46fd8d35f659e317fb0e7442848d3f563e4f49b9c3b7db53b66b4cd4f122712c7643fcd323fad2cf53bc3b878c6dc33
788f21bdb19cbb4551fe06a179226e36d9a40f31ea0f81910894b1a3c7eceba84fa327664f25d78e8efe1eb4c750686e9b9671725d3c3364df7f185d303dcf8d
d43fb91802934ea08c1d3dbe35c322c336cb2f3160e38ed4763caea19d9fe6f0767461a6e9ad7f3234ce50cd4c3bddecc34e840cd784b5c79025c8d114666717
799ce3e731b4ad6d6ca66f7d27be0e673bd9491f62d41f022311e8ac1dad44533b104c0dcd777ae82be2dd85fbb8a792e9a988771db251598f981bbf34d70fc6
e56e519472d708f78c3543ebd6a7a87fb293d148a3978b278140193b7a1cbe8e49603f441d5b799c6f887271090420d0108132bf611987afa3a1ea7632d98eef
a9d449e6141a02be1028a3d1d8d1beb416e5800004268d409e469b7b9362474f5aafa0be1080802f04caec7b871ded4b6b510e084060d20814d8d163dd5369d2
da81fa42000210c822a034fa85572e3fb1fbf4c020d1780f0bfd08021080407b0444a38f9e5bbe63cdfa2f7cf307c561eea1c73f7ddfb7db7ae76c7b04c80902
108080bf0444739fddffc69fddff9dfff3fd5df22ef082f0d0e617effce2df4864a94cf3ef05f797182583000420d01e01de0bde1e6b72820004205095805e33
2c7921fee892a08806010840a006025aa3af5e5b1e18243f34ba06e82401010840a02401add1672e2c0f0c687449aa4483000420500f01add187cf2e0f0c6874
3dd049050210804049025aa3e5c7df12567ee493ea4007f30c1a5d922ad120000108d443406bf47307de143956418e5570cea0d1f5402715084000022509688d
7e72cf19095a949d63f52d1a5d922ad120000108d443406bf4965d2754d032ad0ef4793940a3eb814e2a108000044a12d01afdc39dc775d0326d9e946334ba24
55a241000210a88740a6468b1c8b4c3b028d46d7439c5420000108942790a7d1698146a3cb532526042000817a08a0d1f5702415084000024d1040a39ba04a9a
10800004ea21a0f7f8d7cf44171cb0c77f3dd04905021080404902a2d1f213f0327bfccb1b003e35b76e6ff07007fb4797a44b3408400002e320a0f6f8dfb56b
abfc5b1c24e6d4db6fddf299470fdef2b9e7dff2aefba5b49917ecd9bd4f82c4264000021080c0e80416169e1251ad4da3252125d30353240204200001081413
5858f85149392d6b47abfc944c13200001084060140265bc1c4a75ab693473230420000108b449008d1ee0b06fb331c80b0210808043008d46a321000108f84b
008df6b76d302820000108a0d16834042000017f09a0d1feb60d160404200001341a8d86000420e02f0157a347fff10c294000021080408d04dcdf828fe3c7eb
e40901084000021904f075f87b8f83270e021080001a8d4643000210f097001aed6fdb60414000021040a3d16808400002fe1240a3fd6d1b2c08084000026834
1a0d010840c05f0268b4bf6d830501010840008d46a321e02381d3a7ce9e3db374e2d8d19e8593c75e937a49ed4a8a2f1cd0681fc767c9ee4bb41e1310215bbf
f9b9b77ee0d1fe05a997d4ae64db290ebffdc907de76f3ddbff05b77f523bcf5e6bbdf3b736f490e68341a0d011f0988bd29ea7ceb7fffdbfffef8c9cf6feb49
90ba488d7ef363f79d3eb55852a38583c4ffd41737ed3974eae503a776773f482da42e52a3921cd0681fc767c9ee4bb41e13501afd896fec7be8fb87fa14a446
52afb367ca8e3be1f04b37df7df0f8854b57972f5fef4990ba488da45e6538a0d165fb4a8fe580aa794840dcd0a265b30ffd64dde3875ebfb4dc8f2075911a85
1a7da624f380c3fbeeda7b68e9eaf59e4090a694ba488da45e6538a0d16834047c24a0ece83ff9c6be6f3c76e8fa8d1bfd085217a951a8d165d70c030eefbbeb
a59f9dbb7c6db91f10a4165217a951a8d18339a0d13e8ecf922606d17a4c4069f41f7ffdc77ffdbdfd57af5fef47f8eaf7f64b8d86d0e8177f7afad2951bfd80
20b590ba488dd068c417021d26a034fae35fddfb571bf75dba76ad1f41ea22351a42a39fdfbbf8e6e5ebfd8020b590ba488dd0e80e8fcf1e9b8754ad2401a5d1
337fbde74b8fec79e3ca959ac3e37f32157d6efad2fe38f1fd0fbefba607f74479edffd24d5353c99ff514e0fe47f6488d86d0e8675e9645c36bc341d8f3a0d4
24fadcf6783d15094a62e1aa96acd4456a8446a3d110e83001a5d1abbfb2fbde0dbb972e5dae337cff1353539fd8a4d2dcf7e0bba66eba6f5f7c7cd3832f87e7
3705511eaf33d330d92f6ed82d351a42a37fb4ebd8eb6f5e1da23c2f7ff926996954a5962e3dfef1a9a98f7fbf2698822e49b95a9a5217a9111adde1f159d2d4
225a8f09288dfee8ff7ef90b0fef3afdc6c5fac2be35efbe69cd1e23c1cd7f3c75dbf783f4f77c79fadd5fdef9c6c59d62428707f5651a25f58575bba4464368
f4133b5e3d7fe14af5f2a42a5b63a5625cd54b7551ea223542a3d16808749840531a2dca32f5c71b4da9d26794e888643b11ead3b5b6353a474637dea69d1f53
339ba3c9694d7c32381354f9fb3371ace84c004a7dc2490e8deeb18944d520309080d2e8dffff24b777f7dc789a50bb585971f987ed703dbad041f5b3575dbbc
9c91af62555ab5a9be1c8dbca42e52a321ece8c79e7de5f4b98b95216454d6ae978a10563caa7274c9deb977c5679684cfbbe75e9633f26f78b9beca2559169a
d4456a841ddd611b6ae0002642ef09288dfebdfb76fee9979f3db2f87a6d61c7fdbf36f5f10d6682fa4c70f0eecfef78fdc8fcc7a7a6ef7fb6c64ce3a4a42e52
a32134fad16dfb8f9daa0e416a945991a0a6f1472298d1d471fa42f392e0d2777f7e3e27f112dca42e5223341a8d8640870934a5d18bbb3f3f1d0ab1961251e4
d57f17fc990893c499fab5b9ddb54d0ce3d2e874658392fcdd1faaa94857b9ac46a7e6b661673234bac323b3f7e621152c494069f407ef7df13fdff7f4cefd8b
75866fad9e9a5abd56a5b96dee5f4d4d7f7a5b7cfc6fe736a7cfd797fb7fb9ef69a9d11076f477b6fce4d5934b4340d87ccff494aed4fef90f4e4d7df05bf26f
5c7d4121df0a04b3e2c1f18e4fff5b89a9b04b7c41649c09a0ad5e6b5e551191d4456a841d8d5243a0c3049446ffa7352f7c62eeef9fd97dace6f0b58fc6b7fa
bf7efbe371e28fffe53b7ff52fe7e3bce6effaf5a9a98f7ea9d6aca52e52a321347afd0ff61e3e7e6e38086145a2cfcaaf059535cf4c4995cd8a27c78facb4af
7a66b73e1342b371552a9bd4456a844677787c9634b588d663024aa3577e61fbeacf6d7be2c5c3fd08abffe736a9d1101afdd0f7761f387aa61f10a4165217a9
111a8d4643a0c3049446ffc7bf7cfe0ffffcff3dfedc817e04a98bd468088dfefadf2eec3f72ba1f10a4165217a9111adde1f1d963f390aa9524a034fadfffaf
e73f7ccf968d4ffeb81f41ea22351a42a3d76e7c69df2b8bfd8020b590ba488dd068341a021d26a034fa77fee773b7dcf5c36f6f59e84790ba488da45ee74aec
c9a92633b537e983dfddb5ef9593fd8020b590ba488da45e6538b03769878771498b8c685d2470f2f831d1b2777ef8d15ffbd8c68fdcb3e596fff1c3ae07a9c5
4dff79b3d428d0e8b3e74a368a7090f7953cf8c8ae17f6befaf0632ff623485da44652af321cd068341a027e12382e5af62b1ff9bfa2d17d0abffafbff57eab5
74aeac462f9e387ed31fcc7df08ef56bd66d5fb3fe859e8475dba546eff9a3356538a0d17e8e4f4a35e904782fb832b41587f77fe201b13ac539d08f20ef387f
efcc7dbc177cd20779c97b49a2f949e0f4a9b3224f722fbc746ee97c3fc2d2f9f361907a49ed4a6287037634520e010840c05f0268b4bf6d53d2d0201a0420d0
630268341a0d010840c05f0268b4bf6dd363d380aa4100022509a0d16834042000017f09a0d1feb64dc96996681080408f09a0d16834042000017f09a0d1feb6
4d8f4d03aa06010894248046a3d110800004fc258046fbdb3625a759a24100023d268046a3d110800004fc258046fbdb363d360da81a04205092001a8d464300
0210f097001aed6fdb949c6689060108f4988068f4ff075d8a493e362c02b50000000049454e44ae426082}
\pard
\pard\plain \absw7215\absh8370\dfrmtxtx0\dfrmtxty0\nowrap\pvpara\posyt\phcol\posxc{\*\flymaincnt0\flyvert9281\flyhorz33282\flyanchor0\flycntnt}\ltrpar\s16\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb120\sa120\ql\rtlch\af6\afs20\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs20\lang1033\i\loch\f1\fs20\lang1033\i {\rtlch \ltrch\loch\f1\fs20\lang1033\i\b0 Illustration 2: WSDL importer wizard}
\par \pard
\pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 It will produce two (2) pascal source files : }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls20\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 AWSECommerceService.pas,}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 the service definition file ( Pascal equivalent of the WSDL file )}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls20\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 AWSECommerceService_proxy.pas,}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 this file contains a proxy which implements the service interface defined in the first file.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Import by the {\rtlch\ltrch\dbch\hich\i\b\loch\i\b ws_helper}.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The {\rtlch\ltrch\dbch\hich\i\b\loch\i\b ws_helper} program is a command line version of the import wizard. In order to present its capabilities, below are printed the command line arguments it supports.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Listing ws_helper usage]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ws_helper [-uMODE] [-p] [-b] [-i] [-oPATH] inputFilename}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 -u MODE Generate the pascal translation of the WSDL input file}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 MODE value may be U for used types or A for all types}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 -p Generate service proxy}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 -b Generate service binder}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 -i Generate service minimal implementation}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 -o PATH Relative output directory}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 -a PATH Absolute output directory}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/Listing]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 To translate the WDSL file from the {\rtlch\ltrch\dbch\hich\i\b\loch\i\b \'93Amazon E-Commerce Service\'94} execute the following command at the prompt:}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Listing WSDL parsing]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ..\\..\\ws_helper\\ws_helper.exe -uA -p -o. AWSECommerceService.wsdl}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ws_helper, Web Service Toolkit 0.5 Copyright (c) 2006, 2007 by Inoussa OUEDRAOGO}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Parsing the file : AWSECommerceService.wsdl}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Interface file generation...}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Proxy file generation...}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Metadata file generation...}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 File "AWSECommerceService.wsdl" parsed succesfully.}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/Listing]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 below is printed an extract of the two generated files :}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [code File = {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 AWSECommerceService}]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 unit AWSECommerceService;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$IFDEF FPC\} \{$mode objfpc\}\{$H+\} \{$ENDIF\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 interface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 uses SysUtils, Classes, TypInfo, base_service_intf, service_intf;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sNAME_SPACE = 'http://webservices.amazon.com/AWSECommerceService/2007-04-04';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sUNIT_NAME = 'AWSECommerceService';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 HelpRequest = class;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Help_RequestArray = class;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AWSECommerceServicePortType = interface(IInvokable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ['\{305A7E48-DD92-4C20-B699-4F2B47C93342\}']}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function Help(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const HelpParam : Help_Type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):HelpResponse_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function ItemSearch(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const ItemSearchParam : ItemSearch_Type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):ItemSearchResponse_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function ItemLookup(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const ItemLookupParam : ItemLookup_Type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):ItemLookupResponse_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Register_AWSECommerceService_ServiceMetadata();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [code File = {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 AWSECommerceService_proxy}]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Unit AWSECommerceService_proxy;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$IFDEF FPC\} \{$mode objfpc\}\{$H+\} \{$ENDIF\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Interface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Uses SysUtils, Classes, TypInfo, base_service_intf, service_intf, AWSECommerceService;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TAWSECommerceServicePortType_Proxy=class(TBaseProxy,AWSECommerceServicePortType)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Protected}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 class function GetServiceType() : PTypeInfo;override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function Help(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const HelpParam : Help_Type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):HelpResponse_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function ItemSearch(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const ItemSearchParam : ItemSearch_Type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):ItemSearchResponse_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function ItemLookup(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const ItemLookupParam : ItemLookup_Type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):ItemLookupResponse_Type; }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Function wst_CreateInstance_AWSECommerceServicePortType(const AFormat : string = 'SOAP:'; const ATransport : string = 'HTTP:'):AWSECommerceServicePortType;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Implementation}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 uses wst_resources_imp, metadata_repository;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Function wst_CreateInstance_AWSECommerceServicePortType(const AFormat : string; const ATransport : string):AWSECommerceServicePortType;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result := TAWSECommerceServicePortType_Proxy.Create('AWSECommerceServicePortType',AFormat+GetServiceDefaultFormatProperties(TypeInfo(AWSECommerceServicePortType)),ATransport + 'address=' + GetServiceDefaultAddress(TypeInfo(AWSECommerceServicePortType)));
2007-05-05 19:05:01 +00:00
}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function TAWSECommerceServicePortType_Proxy.ItemSearch(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const ItemSearchParam : ItemSearch_Type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):ItemSearchResponse_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Var}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locSerializer : IFormatterClient;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 strPrmName : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locSerializer := GetSerializer();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Try}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locSerializer.BeginCall('ItemSearch', GetTarget(),(Self as ICallContext));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locSerializer.Put('ItemSearch', TypeInfo(ItemSearch_Type), ItemSearchParam);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locSerializer.EndCall();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 MakeCall();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locSerializer.BeginCallRead((Self as ICallContext));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TObject(Result) := Nil;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 strPrmName := 'ItemSearchResponse';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locSerializer.Get(TypeInfo(ItemSearchResponse_Type), strPrmName, Result);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Finally}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locSerializer.Clear();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 We are now able to build a simple program for the service. The {\rtlch\ltrch\dbch\hich\i\b\loch\i\b Synapse Library} is required to compile the program as it is used for the HTTP communication. This library can be downloaded free of charge at this {\field{\*\fldinst HYPERLINK "http://synapse.ararat.cz/" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "http://synapse.ararat.cz/" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "http://synapse.ararat.cz/" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 location.}}}}}} The {\field{\*\fldinst HYPERLINK "http://www.indyproject.org/Sockets/fpc/index.en.html" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "http://www.indyproject.org/Sockets/fpc/index.en.html" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "http://www.indyproject.org/Sockets/fpc/index.en.html" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 Indy}}}}}} Library or {\field{\*\fldinst HYPERLINK "http://www.overbyte.be/frame_index.html" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "http://www.overbyte.be/frame_index.html" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "http://www.overbyte.be/frame_index.html" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 ICS}}}}}} library can
2007-05-05 19:05:01 +00:00
also be used.}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [code]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 program amazon_sample;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$mode objfpc\}\{$H+\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 uses}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Classes, SysUtils,{\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 soap_formatter, synapse_http_protocol,}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 metadata_repository,{\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 AWSECommerceService, AWSECommerceService_proxy;}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const sACCES_ID = <Your AccesID here>;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function ReadEntry(const APromp : string):string ;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result := '';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Write(APromp);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 while True do begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ReadLn(Result);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result := Trim(Result);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 if ( Length(Result) > 0 ) then}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Break;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 var}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locService : AWSECommerceServicePortType;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst : ItemSearch_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rsps : ItemSearchResponse_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rspsItem : Items_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 i, j, k : Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 itm : Item_Type;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 SYNAPSE_RegisterHTTP_Transport();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('Web Services Toolkit Amazon sample');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('This sample demonstrates the "ItemSearch" method of the Amazon web service');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst := ItemSearch_Type.Create();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 try}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locService := wst_CreateInstance_AWSECommerceServicePortType();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst.AWSAccessKeyId := sACCES_ID;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 while True do begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst.Request.SetLength(1);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst.Request[0].SearchIndex := ReadEntry('Enter the Search Index : ');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst.Request[0].Availability := Available;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst.Request[0].Count := 10;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst.Request[0].MerchantId := 'Amazon';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst.Request[0].ItemPage := 1;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rqst.Request[0].Keywords := ReadEntry('Enter the Keywords : ');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rsps := locService.ItemSearch(rqst);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 if ( rsps.OperationRequest.Errors.Length > 0 ) then begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(Format('Errors ( %d ) : ',[rsps.OperationRequest.Errors.Length]));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 for i := 0 to Pred(rsps.OperationRequest.Errors.Length) do begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(Format(' Error[%d] :',[i]));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' ' + rsps.OperationRequest.Errors[i].Code);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' ' + rsps.OperationRequest.Errors[i].Message);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end else begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(Format('Response ( %d ) : ',[rsps.Items.Length]));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 if Assigned(rsps) then begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 for i := 0 to Pred(rsps.Items.Length) do begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 rspsItem := rsps.Items[i];}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' TotalPages :' + IntToStr(rspsItem.TotalPages));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' TotalResults :' + IntToStr(rspsItem.TotalResults));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' Items :' + IntToStr(rspsItem._Item.Length));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 for j := 0 to Pred(rspsItem._Item.Length) do begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 itm := rspsItem._Item[j];;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' ASIN :' + itm.ASIN);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' DetailPageURL :' + itm.DetailPageURL);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 if Assigned(itm.ItemAttributes) then begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' Title :' + itm.ItemAttributes.Title);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 for k := 0 to Pred(itm.ItemAttributes.Author.Length) do begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' Author[ ' + IntToStr(k) + ' ] ' + itm.ItemAttributes.Author.Item[k]);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' Manufacturer :' + itm.ItemAttributes.Manufacturer);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn(' ProductGroup :' + itm.ItemAttributes.ProductGroup);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end else begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('Unexpected service response : Invalid response');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 if ( UpperCase(ReadEntry('Continue ( Y/N ) :'))[1] <> 'Y' ) then}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Break;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 finally}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FreeAndNil(rqst);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FreeAndNil(rsps);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ReadLn;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end.}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The units {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b base_service_intf}{\ltrch\hich\f4\loch\f4 , }{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b service_intf, soap_formatter, synapse_http_protocol, wst_resources_imp }{\ltrch\hich\f4\loch\f4 and}{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b metadata_repository} are provided with the toolkit; Below is the result of a execution session searching for \'93Freepascal\'94 in the \'93All\'94 search index ( t
2007-05-05 19:05:01 +00:00
he service is case-sensitive!) .}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Listing]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Web Services Toolkit Amazon sample}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 This sample demonstrates the "ItemSearch" method of the Amazon web service}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Enter the Search Index : All}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Enter the Keywords : Freepascal}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Response ( 1 ) :}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TotalPages :1}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TotalResults :9}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Items :9}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ASIN :0470088702}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 DetailPageURL :http://www.amazon.com/gp/redirect.html%3FASIN=0470088702%}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 26tag=ws%26lcode=sp1%26cID=2025%26ccmID=165953%26location=/o/ASIN/0470088702%253}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FSubscriptionId=0W3H25JMMGBNBXSTQN82}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Title :Beginning Programming For Dummies (Beginning Programming f}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 or Dummies)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Author[ 0 ] Wallace Wang}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Manufacturer :For Dummies}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ProductGroup :Book}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ASIN :0471375233}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 DetailPageURL :http://www.amazon.com/gp/redirect.html%3FASIN=0471375233%}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 26tag=ws%26lcode=sp1%26cID=2025%26ccmID=165953%26location=/o/ASIN/0471375233%253}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FSubscriptionId=0W3H25JMMGBNBXSTQN82}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Title :Assembly Language Step-by-step: Programming with DOS and L}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 inux (with CD-ROM)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Author[ 0 ] Jeff Duntemann}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Manufacturer :Wiley}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ProductGroup :Book}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/Listing]}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 It finds one (1) page containing nine (9) items!}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 wst_CreateInstance_AWSECommerceServicePortType()} function, located in the {\ltrch\hich\f4\loch\f4 AWSECommerceService.pas file }create a proxy instance based on the service's informations contained in the WSDL file.}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [code]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Function wst_CreateInstance_AWSECommerceServicePortType(const AFormat : string; const ATransport : string):AWSECommerceServicePortType;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result := TAWSECommerceServicePortType_Proxy.Create(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 'AWSECommerceServicePortType',}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Aformat+GetServiceDefaultFormatProperties(TypeInfo(AWSECommerceServicePortType)),}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ATransport + 'address=' + GetServiceDefaultAddress(TypeInfo(AWSECommerceServicePortType)));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/code]}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The complete source code of this example is shipped with the toolkit.}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b\qj \ltrpar\s6\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Connection Parameters }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The connection string general format is: }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch {\chcbpat4 }}{\chcbpat4{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 protocol:paramName=paramValue(;paramName=paramValue)*}}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 where :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls19\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b protocol}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 is the protocol being used,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls19\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\fs20\b\loch\f4\fs20\b paramName=paramValue}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 enable parameters passing to the protocol.}}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b HTTP connection Parameters }
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 HTTP supported parameters are: }
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b address}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 {( required for a service supporting a unique address ) }}
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b ProxyServer}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 }
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b ProxyPort}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 }
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b ProxyUsername}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 }
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f4\b\b\b\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b ProxyPassword}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 HTTP Connection through proxy are supported using the {\rtlch\ltrch\dbch\hich\i\loch\i proxy*} parametters. Below is an example address string. }
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sADDRESS = 'http:address=http://webservices.amazon.com/AWSECommerceService/2007-04-04'+}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ';ProxyServer=197.150.10.10;ProxyPort=9881'+}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ';ProxyUsername=inoussa;ProxyPassword=wst';}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit has three HTTP implementations based on ICS ( {\ltrch\hich\f4\loch\f4 ics_http_protocol.pas} ), Indy ( {\ltrch\hich\f4\loch\f4 indy_http_protocol.pas} ) and SYNAPSE ( {\ltrch\hich\f4\loch\f4 synapse_http_protocol.pas} ). }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b TCP connection Parameters }
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 TCP supported parameters are: }
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b address}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 {( required for a service supporting a unique address ) }}
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f4\b\b\b\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b Port}
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f4\b\b\b\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b target{( the target service ) }}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Below is an example address string. }
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sADDRESS = 'TCP:Address=10.0.0.3;Port=1234;target=UserService';}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit has two TCP implementations based on Synapse ( ics_tcp_protocol.pas ) and ICS ( {\ltrch\hich\f4\loch\f4 ics_tcp_protocol.pas} ). }
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b LIBRARY ( LIB ) connection Parameters }
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The idea behind this protocol is to be able to host services in dynamic libraries ( DLL/DSO ). It can be viewed as a plug-in framework where plug-ins ( services ) are provided by dynamic libraries. }
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 LIB supported parameters are: }
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b FileName}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 {( the DLL/SO filename ) }}
\par \pard\plain {\listtext\pard\plain \li707\ri0\lin707\rin0\fi-283\f4\b\b\b\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls18\aspalpha\li707\ri0\lin707\rin0\fi-283\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b target{( the target service ) }}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Below is an example address string. }
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sADDRESS = 'LIB:FileName=..\\library_server\\lib_server.dll;target=UserService';}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit has one LIB implementation ( {\ltrch\hich\f4\loch\f4 library_protocol.pas} ). }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs28\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs28\lang1033\i\loch\f1\fs28\lang1033\i {\rtlch \ltrch\loch\f1\fs28\lang1033\i\b0 The samples folder contains 3 projects user_client_console, tcp_server and library_server which demonstrate the TCP and LIBRARY protocols.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Multi-Address service ( Address per operation )}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Certain services ( like the eBay SOAP services ) use a address per operation. The toolkit uses extended meta data ( see the services meta data chapter below ) to set operation's addresses. The \'93ebay\'94 SOAP sample located under the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b tests\\ebay} folder demonst
2006-08-26 00:35:42 +00:00
rates the operation's address setting.}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \page\pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b\qj \ltrpar\s5\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i\b Server Side ( service creation )}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Overview.}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Web Service Toolkit contains a server side framework and a WSDL based type library editor for service creation. Key features are:}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls17\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Service definition ( interface ) is separated from implementation,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls17\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Interface and implementations are not bound to message protocol,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls17\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 WSDL generation}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls17\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Support for SOAP 1.1 serialization}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls17\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Support for XMLRPC serialization}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls17\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Support for custom binary serialization}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls17\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The framework is not bound to a transport protocol.}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Example}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 In order to create a service, we have to :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls16\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 define its interface, }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls16\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 provide an implementation and register that one for the service, }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls16\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 provide a binder that will route calls targeting the service to the implementation and register that one,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls16\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 host the service into an application server( TCP server, HTTP Server, Library server,... ).}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Defining the service Interface}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Starting from the 0.5 version, the WST provides a WSDL based Type library Editor to define types and services used by an implementation. The figure (3) below presents the general interface of this tool. The Type library Editor is provided as }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10132\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls15\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 a Lazarus wizard as a menu item \'93Project/Web Services Toolkit/Type Library Editor..\'94}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10132\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls15\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 a standalone program {\rtlch\ltrch\dbch\hich\i\b\loch\i\b typ_lib_edtr.exe}.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par
\pard\plain
\pard\plain\absw9637\absh6649\nowrap\pvpara\posy1\phcol\posx2{\*\flymaincnt0\flyvert44304\flyhorz44288\flyanchor0\flycntnt{\*\shadow0\shdwdist0\shdwstyle41\shdwfcol0}}{\pict\picscalex77\picscaley77\piccropl0\piccropr0\piccropt0\piccropb0\picw829\pich572\picwgoal12435\pichgoal8580\wmetafile8
89504e470d0a1a0a0000000d494844520000033d0000023c080200000054215233000000017352474200aece1ce90000000467414d410000b18f0bfc61050000
00206348524d00007a26000080840000fa00000080e8000075300000ea6000003a98000017709cba513c0000dfd249444154785eedbd09bc1d4599f77f67fc8f
c37f60fcf09fd7579d717b51e10514040515578222c8e008b84e444451d905e10a080857b2b104c2122181cb16099b4040c24e488024ecfb2ec140584220ec28
a28ef75fddd55d5d5debd3d57dfa74f7f99dcf11cfedf354d553bfaa3af5cd53d55dffb0f7cc87d659ef3f96fff96f43784101280005a00014800250000a3452
817f5fe5ff79e8be6786662e7ee5a06b9ec71b0a4001280005a00014800250a0c90a30668bb86dbf2b57e20d05a00014800250000a400128d06405226edbe7d2
15784301280005a00014800250a0630aec71c6633f3ae9a1afee7b63d1f77f4fba63b7531fe56a5492c93ebf7b36cc93ef1f77ff5e173c2db7cbd0de973c8f37
14800250000a40012800053aa60043a5afff62f169373c57e83d7ac3737b1f77274337ae4685995c73c6f94f5c70fa93bf3dede9df9efaf4f9a3cfc4efe5e79f
22decf9e77327baf38efe4e7ce9bf9fc7933169c76ce1e23d7327493db6568cff357e00d05a00014800250000a40818e29c0c26cc7cf7d7ada35cf4e98fb8cfe
9e38f719f696aff32bc75ef3ecf1739f6269b91a556572f5e9e7df75e6898b4e3cf2d6e993ef3cfeb07b8efbd5fdc78eb0f783d30e79287e3f72ccc1ecfde8d1
073e36f580278edaefa923f77d7ae6a41b46cf129e707f867699fd2cf1bdd38f77626fa231cca00014800250000a400128d0470518f14cbbf4a9432e7ebae89b
a56269b9e75565b2f4bcd16553f666ef3f1cbeefedd346ee3ce690bb8ffee5bd471f7cdfd483ef9f7ae003530f7cf0a8031f3ef280478edcefd1237ece6cb8f1
f2b34f149e707f867ef49be7f437e3b3c5c76f77d037d7b8ecc8ad2e9cbcd9f45dd7b9f3ecf1e33fb5fa83e78f9f3779c3072fda8e191813e22214800250000a
40012800059aa000239ea37ff7e401173e55f4cd52b1b4bc0a5565f2c4d9331e9fb8e71313767f7cc21e771e75e0dd471e70efe1fbdf7ff87e0f4df9f9239387
1f99bcefa393f77974f2cf1e9bb4f7d2893f653691e5c43d9f99fd6be109f7c7c06dd38fdf77eaf7d6b9f0179bfde1c689bb8f7bd7e2d376baf0179becf4d9d5
f71db7fabcc336dcec3dab6cb2fa2afb7e76f5cb7e7759135a053e4001280005a0001480025040578011cf91973cb9ef79ecfd14fbef70f45ffe815f4caeeb9f
592a99dbe44cc67caf34b727954c9e38ebd74b7fb5ebb243777e68c24f9fbfeb6696cded87efa7bfd975f62db36196ccfee9df9ca072db8ea72d57de137fb0e1
66ff67f589df5b63f4171b6eb7f62afb6efbaecdd65e65f7afbe6ba70d569fbee71afc5974fbfe603cfb6f2ee19cd79e4d2af3d72be63c7fc5cb63632fbf3692
663e72cf5fc71e7f49d88f3ece4cdf18d58a8e0ce27c9ebde779dd314b71f6ac8cf95b2eba5c2a924feae44b771b9b56d2c453c1a8d038139ec4220bcd6de10c
6b1ab9b92b7152ed3f867a799d27367a484358dccbba6bd24e7a978b3aed58a2184d678214155601594101280005a0805301463c532e7972afb30bbf592a9696
4f674a263e6c1b13c529992c9b75c21f0efed1b2837ff8f0a1bb8a4cee9cf033f92dae331b66c9ec9f3ef358e109f76768fc8c27943727b3c5a76db7fca1d1f1
1f5a7dab77adbed506eb6cb541146063d775fbe4ca6f5f593e36f6c4e927ffcbbb26acfacee93bddf4e7b1b195a7fe60ee3651fecfcc7d89b1d8ed5b6dbd3036
7efeae88332f5ef59d677d492b7d7c9acf7b7f789fbbace5375dffde77b2b22e5ef0c4a2ad8c59e999dbafcc58ca7c7a64bfd2f9483e2ffc08778f651c793881
291389b331d784f28e85626959128b2cb2dbd1e7975e39c89cf3c2ed4f5f19b5c836d3379922175dde494245bcce531a9da418c1199e8fd45d79bbb0b7d2e50e
baeb2f63632f72c5c83a931da8b63ac80d0a4001280005340518f14c9ab36cd7339f20bf1363968aa5e533b5928997db763dd39cc993671cfbd8813b2edb7ffb
470efad15d87ee21f2619ff95bbec26c9825b37fea8c638427dc9fa16f9ef007f9bdfcb6d90ccefe70d341ecbfebac16011cfff6a0afac2e3e2b49923fcf7989
73db7bbf7f7774e59c979e1e1b7bfcf4733e3181255f7147e4ceca5377bcf43fd95757bfcefe5878e08455b7bade9095924fdebdc43ecee186032724659d70fd
3a1f8f732ef71eb715c3acb3c695cb44f321ae3b63af100fa5b4765952b763e3a7ad05ed7ffb9b31859c10b788f22ee3244176aff39446afb65d08252a8a1175
2ed909911c0a4001280005aa528011cf848b96fde8b4c26f968aa5e56e2899b099d691a1fcad92c9b2d38e79ece7df5d36fcad47f6dfe1ae837666ef0cd4f29f
d957cc865932fba74e9d2a3ce1fe0c6d3272af78cf9bb52f8333f6e71faede897dd869f388d5d89f8b6f9cb7fbb868855436563f9fb4e2a998dbdef1f545f157
8f9cf7dcd8d8f517477fce79853bf7f8e9b3d7fcd9bd873f1c7ddcef9d13debbd3bd9bc4a9f8eba9858f4409a52bf1e5570e973c4c0a4d6c1e3998e5207fabe7
36f2c44d2c8f87579cc7824de2c3ca153b25a9e26f57ae382f72492eeb91c43efe363136642e9919fd8c4a898b60dcf6d10b3e265c95b2ba694e5a05c34529ad
246f2c602417ff104b247bc2eafb84de523b2d641150c66dc7b126d0be559c8c7353546279aa4df3e7f34e32389fb4a3d62e52df885249ce3b1a5d69bea85e69
425671e100a195154dd4ee2a34c92b192b76e8fd4e9d6d0d97f53a4373b88692dee171050a40012800058a2bf0c59f5eb0dbe94bb63aeaf75b4d65ef47e277fc
39bac2ff942e4a5758aacdf7be90ff502b99b0f9c09149fc6d92ad9209bb45f481add67cf42befbfebab1fbe71db4ff1774a40c9ff8bebcc865932fbc70fff99
f084fb33f4e983ef166f4666fc33fbb0fca683a64fde69f68907cd3e79e2bcf3a7efbef93ae25b3949f6f9d7cf26dcb6ed427ef14737fc295a79dcf4ca1fddf0
c6d8b38f2f7822c6b86def3cfff9b1b19bd922e9691f89933c75edd5ef60eb89073ec2bcbe7efac24fa7f9c4ebad279fca528d3d3e417292677ef87d69651f7a
3cf1c198dbc18f477bff58a86f97dfaef5bd8bf7db66c2aa53591c706cc184df7e9ce57301db8517c5ed565dffeab3a2cb6c9df4b48ff024cf2ffbeff5a3b5b3
fdae5f79eaf77efb7153e651bdc6fe74d6f762b3d3d94a284b9b89992a13e7c6b86dfdb844f696b2da2a5abb1cbb61d472917bc2d3a6b2fcd7254cd5b18553a3
429998b333b71f5ec88de305d95537bd5269a6d85b4621c7aef553bf9371dbc5159755da65096f62beaab8dff5acbc17cf3a32e77cd68eb2145adf887d7b2473
dedae85af3c5f5fac8a6c2812523517554b3ad7efbaac17f5993b8c4f4f5c6f9bfe69a3c1275ceb1952371d3c7adc35696996292ab07e7758e35e17d386b4dbd
d769cd611e4486fea33716ae4001280005a0004981cfed72ee9ea73dbcf9c4bb8bbe59aacfef7a0effa156326193842337f95b2593c70fdfe7a1ad3ef0d857de
73cfd6eb2cdae613e22da622f922b36196ccfe89c3f7129e2484b6c981777ef2177728efddff7bb383f6dc7ddfef8d3f68cf9dc67f6593ad365a67e29e3bb1fd
6ddc6cfab69b318653539db0fc491e6fdbe6fae4abf8ca8203e79cf5fcd893979cb5d56c06498fecb7cb127671e18409ab7ee1f29dae6724f1eae9db4c8893fc
218a4b5d7ff17b0fc9e7134fa40b0e3cf5c39a931fde6551747b43f47a76ca2fee30e7b64392edaaef3c76cdddeff8e4ee977f78f707cf63373e3cb1e8eb3b3c
781ecbfbd9bb19e8bc977f8eb8edd40f9fff520a73e76f1817fae12f1cfbed6b4dae9e12598e8d2d3994e5ccccb649ecf3cac40e44ec957cabf8b928aef5d72f
cfe5cf2fbe973bcfd372799f88388f89196dc6da81152ab9cd05940a521a282e37e2b64807554c2d6d5cdce3a79fc58ca73cc8f28de3a34ad39cb07c596c6316
27722f7deb7d23fa4a725e31c81a5d6fbe3b3e193750fa625cc5fa866676b8c97f934bc9a643de3d623796cd3e7955d60d921ec515b3ea6c6ccda4e1ae67ff38
11bd4ed71c57a00014800250a0b70a6cb4d3593f3dfda1cffcf2b64ffff236f6dfe87d70f439faf3e0f8fdcb5bc557c9f55fdeca2efef4b4873eb9d3597c1653
3261b38f2313f66d9ca1219327a6ecf3c857debf74cb77ddb7f55a8bb7d998bfa5e92cfa28ae331b66c9ec974df9a9f08439c3986de8d307defa89fd6f91dfb3
674ddf77d7ad261eb62f43b7e9c74c5d7cdde2d9b32e9cfa8bdd27fe3c5a3c659607bd6be8a54f455bdf72098f7b9a73dbdbffebbaf4fa7de7ae609756b290d9
8d1326bc7d9fa54f8ebdb8e07a466f4ffe8241c0f76e991c0141fec5a6ba9d7f9fcb27cef671b66dee7b39279322763bf71751d487195cf42b636e9fbf83e3e0
aa9fbf5478fbc3057f8ce228b359c69163ab7ee4dc0df7bfefdc84db46c72f60a1a6974fdd26f2502431bbfaf94b7f787914b18b5ecf3ffdc3bc8c69da25094e
45a54419c6592dd9ef9dd33eb81bfb33fef6fa8bf78b026beac555b9f30cc558da5887e4f5c4a2af2622676eafc3b3e2c6264f7e18d58b51082f57791bd24e66
11cda8a00758b6cbce672833ba8ed2c4e99fbfb8ddd48e92e09f30f40de680e4bc29e7b8d1137db2e63bff4556d893975f24c5c3588d3433a6b3eebf5c6ba34b
71e60b0e9cc0fbb0a4985567636b260d97ef759ae6a6fe6cee42b0840250000a408110053efafd597b9efed0a70fbc457dff42bb92b761a936f8fe2cfebbad64
129119373665927d7be02d4a264f4ed9fbb12ddff3c416fffbfefffce04d5ffb187b8bb9537cfeebebaff2af980db364f64f4dd94378c29c61cc36f499036ede
689f45f27bea61fb4efcf186d3276f36f5bf5799beeb1abb7f6f8d893f5863f4b0f177deb498b11ab35c7c7674ef02ff2cde1b1ff364c25bff798db8f883eba2
1b08189130507bf77fdf752e7f52c8cd57b005d075f659f483ebe2c5b86d92bbf992c8c74f1e91f3d9f8ec28c2144da552b64ab971d4e7e4afce616569b97df6
f6c59cdb3e7b71e6ea3e8f44012df67afa2e166c7bf77f2fda789fbbce65bbf1a278dbc9eb24254efbe04fb2da995d8df3fce87f4ee30b648f9f75d947f34ab2
6f37dee791c80186531f9ecdbf4db38a1448bebdfee2adce7f2d763e777155ee3c4f1bcb1b55245e50e665e5dcd60a529a352e37e636a95edc467732bac87538
ebfe6563af9db14da4bfd2c4e24f8bf292e0a6be91733e6f2035fa7d4af3c5b57889f519e6cfe4079883bc46b1c84a2b6bfe7bbb2b2f97f525d625d296e2f94b
dd23afb3b1359386cbfba33407fe840250000a40815e2bb0eef667ecfb9b873e7ff062fed6620cd105f1adfc61dfdf3cfce1ed4fe7eee99918938822c4b74a26
4f4ffdf9b2edd67a66bb351ef9e6476fffefcf0967d867fe96af301b66c9ec974ffd99f08439c3986d68d303167f72af1bf87becbe9dc61eda9d33d9e82fde35
7ae456d38f1c3ff5c88316df183d01245a1b4d2d0d1f8e5a96ac936e7565f62d5b22e513ea3b677e78af1b769ac7e82482b0553f735164132719bbfe8a35778a
3f3fb76ca7f462b4de1ae573477473c3d8d26891ee5b899371e60fddc48dd93b2ae29568b175af680556cd8d5972077889e97ba7796cff533443affae1b3368c
2ef28218b7313fe3246c21352a31ba7ed359165799e5fd0f898ab0dc629f653f635713f6e20525593d7efa6f58ad779ac7227faf9ec976ddfdf8e138ac98bff8
995bb3b4a9bcac2253ee6439ae3c7d2fa10f773bae4204796941794fe2b218851c13a9ed75928b9cd0ed7dfff5ce3855ae89b962cb18915b94974a31f60d5973
43cebcd1d5e68b6bc1ba10f3873bc03f1b5b59f35faeb5d9259ee4915fc4ed282926778fbcce713ee686d37a9d6bf8384616be820250000a40812005d6feeea9
079efbf016872efaf2a10bd9dbc86dec5bfd7dd0b98fb0b4fc475bcf84e716bf59ced15be4c08a109f954c9e3dfe97cf7c7fe3e776587fe90f3344bbef275bcb
6fe121b36196cc7ec5f1bf109e306718b30d8ddbefa68fef7a3d7f8f9d3f34f19bab303e639fa7eff9aee9876d367ae426f3ce9fb8f8fc688574b3af5eb8ddf7
2e13c6ea87c94f2471b22f5f297df520e3db08d436b928ba38f98965d16ae084776f9794f8f15358b08cbffe78ce2167bd7d9db3d68ff3c95e2b967c731d7683
c28cb55327793e92cd1fcff9f98c55df79cc0776b8de90dbae910311b77107b2f7838b624fde9e787bfb396c4937e2365ed0ad37a41e3c79cdc20fac133bec76
f5d9fbbe9ae5962b288999b1aa89d2b3acc6164d3b46733ebb3829befd62c1af1259a26568e670242343b45bbfb943deed33d3271faf7862c75c65237f76bc26
e1b64828f5db5825c67cb293bb5ecf4b8fe8965f579a66ecd94344d3e8e258db2b5636f25072dedae87af3dd1edfcd10bd165fb384875adfbd9db99555ff9d2e
3d79cdedb12c59d3c78544a4fb01b7ce86d6b4f53a5d795c810250000a40815e29b0f6f853265ef4fbff3a6cd1d7e2b791dbd8b7ca9b59b2542c2d9f2b2999c8
39f3dcf44c9e3b79f2cabdbef2d25e9b3fbdcfb62fdf7c1d4bf2fb9f7f4f7fb3ebec5b66c32c99fdf3274f109e306718b30d7de980451fdf791e7ff3a05ac46d
3bcf9b7dcc76d38fdc69f4f8f18b2f1f7df0c6d188dbb69d77d091d152a9b0cf7d98c4b6afc5fbdb369f9b3738ffdd0cd4b64d8af8f8f667befd9d27ad9d9618
596e7b52ba37fce80f6c1f9b4536d9e2e9aaeb9cb9be6ccf3f4b36abbe334d68cc6de7c881553f79bee636bb2e7b3297f1d9aad9952815772cab91d355b39f91
b7b1034a2dd2ac58fe9938a68b6b7f32f221b289ab9c38137f8ef3ccbb2d3cd444db317ae81da31049ab9caa0627e324d1d2735268dac4e241b5925ca67694f3
cfb76974c7abe2bcb5d1f5e68baacc7d78f7e64213432babfe2bbd4873296de8ace9e39b9ab9624e9d0d0d67eb75e940d0bb34ae4001280005a040a50afcdff1
338fb9ecb1ef4c5e5cf4cd52b1b41c1baaca64e559c7bf74d80f5f3dec7b2f4ff8dee3537ec61ef0f1c4e17b2f3b7caf6587fff4c9c3777f6aca2ecb27ff78c5
e41f3e3f69c71727eec06c9825b37fe1ac69c213e60c63b6a12df75ffcb11f5ca3bf679fb8d3f463761f3d71dfc557cffec34d11b78997d1fe63bffa43c26de3
7e6736309502cbda14f8fe9529b77dcbd0dc4637a224b75c1e810b4fd2b62656fd470f840250000a4081415260edf13366ce7bfc8747dd54f4cd52b1b47c66ac
2a93172f3aeda5e907be327dff97a7eff7cc89873d73d261cb4ffcd5f293d87be4d9130f5971e22f9f3bf1a095271ef8c28907bc14db304b66ffe245a70a4f98
338cd986b63e70e186dfbfa282f7a1f1f6b2e8f5dad987569161255e21934881bbd3e8308bb74dfd3fdf24b40e6fcd67977c77d3a9ab7efceca47bc417a390ea
a6732ae8303d6d1aa3ff3d2d11994301280005a040c314587bfc4993cebb67f68d4f1e7efe83f4f729d72c65a9d61e7f229fe9aacae48c93cf7ffebc19cf9d75
fc8ad9c73f37fb8415b3a7af987dc273b3f99fc73f7fd6b12bcf9ac6a26b2f9c75cc4b671dfdd259535f3eebe895e7fe7ad68cf38427cc19c66c43db1cb47883
ef5e51c97bc36d4fe3eb9babbe73eaffd9b69a3c2b710c996cf8ddb3ffbd60d3f0d65c75add33e2c750f7ef1ed9f9fd37c498dfe37df6d780805a00014800255
29b0fe77e78cdb6bf6d439f75d74db72fa9bd9b3542c2d77a3924c3ef2cd4b589e679cfebb17165ecddf2b175d233ebfb8f0aa97165ef9d28d57bc1cbf5fb9f1
8a576fbc9cfd97d9b3542cad108431dbd0377eb970fd6f5f823714800250000a4001280005baa400239e0f7febfcb5bf7bc2dadf9d2ebdb33fd7f9ee74f6ce7f
1bfdf991ef9c2f74a82a13964f8827dfcc111a63b6a16f8d2c6679e10d05a00014800250000a400128d05805d6fbd625dff9d54d43e327dcdc5817e118148002
50000a4001280005a000578031dbd00e47dcf6aeafce59f38bd3f1860250000a4001280005a0001468a6021ff8dab98cd9226e63fe3dbfe205bca10014800250
000a40012800059aa900a335701b68150a4001280005a0001480022d5000dcd682466a26f2c32b280005a00014800250a06605c06de036280005a00014800250
000ab44301705b3bdaa9669c477150000a4001280005a040031508e2b6db8f1d37eed83b3b7313431fabd3c7a23bd37ca80814800250000a40818151c0c36de3
e493e487f698c339a352da9010f0ee69e3c64d9bd31328cc5764dcb4dba5309b522951bb4aab99323babe3d090a0dee02282130e4ccf6ee03f92e01214800250
000a4081920af8b8cd1857ab141a2256e3145569b68a2eae00a1526e2fdd88ebb8c7eee5abdc5327c17650000a4001280005a040231528c86d7a682a09c825ec
7567144d8a5fe485549664dcb4bb23cc9ab347f4410e77c999e7aeef31275293c5aef807ffdbc06d2c43114dcc8288713c8cd760b73d925499655c5cecc9b4dd
12b3dde7f84b171ef2caced96d28a9728271498119bf267967c525abd2890892935c3abca10014800250000a40810150c0c76dae75d24b76672ba75c23c173e9
9539bb51898ae1dad06e97b04c18cd440c94a08996f98ae40a439fdd77db23a6a54b7627d3616e9d344ac5728b8b939de7b9a9eba4996544a5ccd518e392b4cc
79b20f3168c6802b52455949c89b772c2b4e5f5745bc6d000627701c0a4001280005a080a2808fdb142891e36d72bc2ac23b066a11e2c41f0a45803890a5c1b3
0c0165668cf29cb35b84381111321bce4f31f051de6abc4de61ef7fe36c5526cf2938195e683b410ccaa1ce39a37735b71e036a2e630830250000a400128d021
05ca719b39d45498de222063b723700853284ad23a8ab4cde131b618f2e6f0a81be9dd046ecb1691f93aacbc28cc2bae531ab88dd6bec46e0033280005a00014
8002ad56a004b7c94b8d69f069f764bb55ba20489c74d9baa1b26aa9671e930ddbd1cf7786dd396d0fb65a9abb2dd45996b6bf2d8d784559b1b54ae92659ce4f
d982a9699d34e88650564e069a7ca9540a9b25aba252c5a565d9248499b82a208f282fcca00014800250000a40814e285086db7888287da57bb3d23df685f6cb
ebbbd9f4cce30d6de96eb06c8b18ad190ccf01896131bbff404228b6d3ce7b5f42fe468180985f5c171665cc0998eeb793ef4be064a9dc2a116f074c82763405
5afdcf0b380f05a00014800250000a3005829ebb0b50800250000a4001280005a00014a85d010fb7e56e278dffa89c766b2882f95c4f296e71741f7aa167e50d
840ca10014800250000a4081862880781b6989b321ad0537a00014800250000a4081415600dc066e830250000a4001280005a0403b1400b7b5a39d06f9df16a8
3b14800250000a400128c015c871db185e50000a4001280005a0001480024d5500dcd6d496815f4d52e09cb3cf37de56c22e36c94df80205a0001480025d5680
4d462ab7b14b78430128202bc07e03dcdcd6fce8fd53cb963fb1f898e74f5aff99a33ed2c7f753277df6b11b8e66ce345f31780805a0001468a002666e9b3465
2ade50000a7005962c7daa03dcc6a0edc5d3377cf3aa4f8dddfcd93ebeff7add26cc8d88206b7fe2114a840250000a7440012bb719838c7c02c30b0ab4578127
5e1cfbebdf0ab8bff485313ab7b130d28d0fbd74d695771f377b5e73dea75e72cbbc7b563c76e6d7dfbcf25363377db6ef6fe60673a64e95b802ac75f8bb816d
d49cded20b4ffaab7f1f4b578aee0031a00a4d5000dc56600a8769071460dcc65eafbe31b6fc95b1652f8d312c7b6ce5d892e7c71e5e11bd1f7a367a3fb07cec
de67fefedc6b91e57dcb0b701b03828b172ef9fd73cdd289d5947935e5944b19b036e4cd9ca95325ae006b1d0e6d0d6ca366f598aabde9affe7d2c5d2e1a7b03
9a403cddf001dc56f54f14f26bb6029cdbd8ef2943b797fe34c6e06cc5abd19ffcfdf4cb634fbd94f01ca337f6bae38937e9f13616436238f2f7bf374b02e60f
43d2a6715b9d2a710558ebb0b9b3996dd4ac1e53b537fdd5bf8fa5cb4583dbbac14c4da845316eab7a38f73ebfa5a35b6e39bab4f7e5e44ae84ba135d7b1b5c5
716e639136066d2ffe3183364e6c1cda980d8bc3716e5bf4c82b746e636b4c7ffb9f264ac36a6ae3b6995f1edae7da240eb7e4e42d878686af4dc272f3f7194a
bf7a6cf4cbe9cdb489b174857d2372f82bbbfee5d125bec01e73a666999802ac75d8dcd9d836aa59909a8bebaffe7d2c5d140d6e6b02f174c3073fb7d99e7d50
eef1070c6dd48ccbf295424bfccf1e2194ea7ede77a5e81ef950f3ef6e578ae3dcc6b04c44da18b1f137c735f1660ba6ecb5e0fe9585b8adb13ad9b88db1da97
4f5e1aaf9f2e9df9e52dbffce52d673e16635c44669ce118c06917737cc6124a84d7486e63ed22b8adb16dd46dc7faab7f1f4be74583dbbac14c4da80589db8c
bf26e5b82dcdb242a631665561feb20aee6c8d04d9ed9fe4f6d48e731bdbd026af8d3268bbe2b6276568639f39b75d7bf7b3a5b8ad5c0f9c3f1cfdf366787e05
fa5ad749af1d1e4a486bfe3e5f1ebd56601cbbbeeffc04e0741453e26ae2cfb0785bfe1f4295d45797cc3a73176da3a2f615b45eb92c2479236d29fe536c0a3a
e5d23ffb573cf9dfef053dacacf50bd65afc8301dcd604e2e9860f8de2b6e8d725fdc96613d696a3f359cc6c78388dcc255f65bf41a62897185459d04be410db
c7d747a3e930f9054b7f31f46f357f5872feb231a2f8f5c9427d7977b3bfe2dae49d29fe838014851550b88d47da18b4f137bf4d81ff9773dbd5773e5388dbde
f8cb58eebd6474f3cd471f512eb23f6dd77396f3f71e1abe4a4f1b74c5bebf8d85d3e2b81a0735065e31aee5e37043694c2ebdb341e5b3341332b75955222993
1799268898b9a96d64cbb6171e3af2145f0596cb7ad196272d89156339b01e45c9a754bf35b78e4b7fd1cf79b9653cb4b45a65ad4feb6c721f43bcad1bb4d49c
5a348adbc6c618ad713ae31f22ca49e12c8a3cb04bc2428327db3a699a4392594c4e867fd067254adf2afec850282ff3463e26fe655427fcc91ccb6c1224b439
5398469080aa00e736b64b9de11a0fb90968e31f18b1f137e7b6abee78ba10b7b16d73afc4773c24ef8747bff8a5d17bc59fdeebb2a52dad9e1be18a9ddba2e5
51b636ca402ddea61645dd96c46ba6c98269b284ca7bbcb4609a0bc2a5f6646eb3ab347fcfa1e14b0935ca44a6198b999bda46b66c2b6d174f3f613e942c4e4f
4ec9b04cbfb5e8e6d23f6b7172eb536a21795259ebd33a9bdc39c16dcd219e6e7842e53665331a9bcff83a299bd24a3dd44d0d5c25a094fc5feedb3402977345
02301bb789a81c6725ddcc1024131090f74709e6c9a820679b85fae25b220c00175fd49da1b207ecc215e0dcc6984c89b4b1eb02e0f89341f87d0945b98d6d9b
cbbd1f181df7a5d13be2ff4efb69d2d576bb7ce9b42fc59fd957cc9e7d9b7cb3e5b407e23fbf34bc1b37889749e7bc3636274dcbfedeed725ec4fcdd528be48a
924fde13c7fda431b10950e31fd2f89972878158542d1d6f33a8c41dce14e3220ccfc9ea954aa1e8f6d3f93c37a6d2b8e94bd52648751033b7bd8d12d9c74d9f
cf1b28ca2dd71c91038987ce86cbe560b6b4f6877c5b4b5d852b93cb2df347ea5df91ef85a94434e16910fef42d64ea8774e5bbfa5b891ed2f34e81f77f27ceb
eba326351023c3337cd23ce39c3dad2f0f967c7f4bbc520a5586b9f34f705b3768a939b5a0729b3e4f726e2bfbd2161c63504ac35c466eb3ed7f08e036399ea7
c0565ab19c3fe0b6b2edddfff49cdb1893b15b4705a889677f882bc1dcc6f2cfbdef19fdc2174717b1ff0e0dfde4d2f82b71855d8f8c971ef1c52d8fb827ffd5
507c855b1a338c52a519be38ff2791bd964f3ea1eb3920d10ae9701c668b9641238c3b39592dd59ef766590f2dbebf4d5529fbf7585a772e8254d345c76d39b4
c77c96f0bc3d86be70dcfc448148dbe1f3a2ca321df807f35bccdcf636ca179db55dd240890349bb381b2ed782464b5b7f909c57ba4a566e9236f347e95daa02
516fe1e152a95ff16ec38b337918f53ddb7553bbe89d3cef864b7fbdf58da346eef6970e0fd93cccea9589e969fdccd56c64a5fd4d1a6bc62169ef72bca781db
9a433cddf0a471dc1607a2a4a54d416971b82db71ca930808fdbb2a5493902977ece5651152e94fd71705bb44e9aa454b34a0a66894deba4e46db8fd479e4e78
20b88d3def83a31b8736fe0c5e866bec0afb2f7b0c5b58bccdca0482c0f4c9381742def2884b535c93278978524c5e7c4a53904e361033b434a3389fdf163df2
23b90b816f741bca36b4450f07e13728f0af38de95be9fd440b7f2fc272aa88890d49a31c71067388e711113b3893cbd6244373fb7f1cc95a2d556183e4f6271
a9e94c0de7b534707cec80b1ad55e2d7ff0d60617d212c671d91bf904bef3cbc13daaecb2ad9aaa0fd93c3c96d02b863f8a6d7d4e1219d1a6557f5fe66ee81d6
7f1ee87d0fdcd60d5a6a4e2d9ac76df29eff6c177fb45c329f73837c51861ec558c4cfc42f2037cee31dbf5f2ffa7728bb7bc1fcdc102d24a8f810a78eb24ef3
d2b3e2df44469993d97d09915778d5a500e736760a02fbc0718dbff94340f80a298336b6018ed9b057d175527eee42f6be7df4b3e346e7f1fff2ebca15f6e7d0
f02c3d89b08cbe9affc3a12d27de6e4a2e12eaf9e43d71725bf4200fe9ce03e9c11f31ae5dbbaf1845e9d3dd1ccf6f933154005f7ebd95396350c923422a1d57
869522249d333cb4dbfc59bba512294d90fe29b8c1d346a2b1dc6d4769389183ad89f5fee0686b6f5fcaf5997c3f4c44601d697856e2f9d289e3867e3827ed54
460f29753454416a29a92d5cfa67a533afb69c38c7376ae4421dda124b171d4911d026b8a583a9fd2adff1703f6973b8a7ed9e90b82d170e90fee8c9549bc5ad
68f7abf7c4092953d99f5e9785fc7baf80e0364669f2bf8c39b4096e631be0d8515701dc76f7537fcbbd6f3ef9d35f38f90afe5ffe957ae5b143bf30f4fdf3d3
af86f61d15c659aa6bbfcfaef3e4e7ef3b146525a57a8a7dfbe5436fd6f2c97bd2b4f3120c2ac90e6775cfea75c5515f1edae5dabbd3ba8fee32f4e9a31e8bf3
610a0cc5b2e4c5cfff29b8c1d3468afeeccf54fcc481c480d0705e4b437fd0da5aed0f9a207aef922a9e8a26751e39c3a46ab6bad8eb28f5c0bc2c5227a7eb2f
ba3757db366a9442958120a7d57a82a7f5337b6b7fcb06afb39ba9bdeba9bf21ded6764e6a9aff7e6eebfd4c9a2b41ba5fb411dc96f3a7662d505c0f14e0dcc6
7e5b595c8d3ff24321367e4a295b24bde7e9e8e883a2f136762e56eebd68c6265f983197ff977f957cbe6687e89f403f9b195de49fd96bf35f2e1206d28727de
9c7bc4e6d9bf9892ac44aaa11dcee385e6f3c97b62e336dbbfcac4f55e1c69ca9c31a8243bac28c6bd892afee82fa3ad82d788fa6e72c4a3ecf3cc9f0cf10f8e
b798b93d6d248aceda6ef34d3207e476f1355c560b8ba5a93f686d9d7615d931b33fb93e23aac9c4495f717f93b48dcb8a7b9dad13aa9d4aeab72c9f226eb8f4
977a61d499ada326fe2a2974f3744cd9b595fa03b1f4a86b29f5e28a090fc540767636b98f81db9ac63d6df7a771dcd683991a5942814c01ce6dec4c52b60cca
e04c7fb3ebeccda08d3d2284bde6dff77ca1e780dcf4e86bcd7c372dde56a94a977f77e8a7bff6292f66ee62452f98fec9cf4e9fe3cbbc589e03995ba0fe1569
554de967fd74e84797176d6b705bdb39a969fe83dbc03483a500e336166c23d6f9e625af47372b2c7d8ad9b3a1e2d830c00736fb81beeedee7e4b748a25cafff
cfa6719b51255961aa44a746cfb2d878e40eafbd98b9bd9639832ba7e9ed5e2c877c9718d8b436fd8dc3aa7295e8a56b45cff956e6e2b8e12b73039ce227b8ad
69dcd3767f7ac86dc4e7ba9d21bd46d2d7a69b56f19011e2e40cb3415280711b7b20d3c2875f660ba097dfbaec778bff70c9a2c7f4f7a5372d9d77cf0af6f0cc
a2dcc6b26de6bb69dc56bf4a62e6aebf6894c814e8affe7d2c1ddcd6764e6a9aff8de0361d1b18cb31841b249c405d6b52806d5f630ffee00fdd652ba16cc174
e5ebd1d906afbe31f6fa9fc7fef466f46667d4bcf9d7e4cdec0bc5db2e5eb8a499efa6715bfd2a8999bbfea2512253a0bffaf7b174705bd3b8a7edfe3497db96
2c590274ab896506a9981e711ba3a2e6bf7b718741589ecdd70a1e42012800059aa6007b9a0c7bf790db8830c0426bcc72c182e8cd3fb3d78d37dec8b88d7d00
ba116584195181de715b18c1201514800250000a4001af020c22172fbaa57a6e733c53c036ad3256e3d0c6de6c6994af8e326e63d7bf13bf88f3b1d5cc788e42
d14ca587fa861c70607a766f5117605f890235701bfbc710de50000a40012800052a5180cd7d8cea7ac86dc6c995f19c83db18ab0d45772444ff1dda745361c9
426e0ce0caced615709bfcecddf9c3d259f6657d43fada15a887db264d998a3714800250000a4081920af00dd6cde2b6781f5b446c2cb4c6a04d701bbbce5fd1
cc2eb3977400fc68747ed4f0fcf84afc397a255825ce8cb7705b164113e75f2519c47f6779b2fc4c0fdf55d2cbf6d981a4ccf5386de68338582bf65375a2768a
19bc026be3b6b66f7dd5fdc7be85c11b2ea831148002552ac01e68c01e2f3532fd82d957dd73d695773bdebfb9e2ae5f1e771e336e18b7a5eba37c3d94435b2e
30b7e45c17b7e5102dc535111a73739b845671004d2233e9605311594b682b8bb4f9ed135b6e98705b0ee812a4e35d020ba9550e0d575ee0b660a004b7d5d549
510e148002dd548071dba499972cfefdab94ea3133665c13b729bbdc987f7c9d94152f3fd46dc17786c64686c6ce8da06d830d36e0e8c6fecb164bc7969c1bd9
fbe26d2c2e668ec6c99298e36d9cc44c67d5f3eb469012897267d89bec53ae9b3f9c45ef96ea9ee494c2fa2ba52797b501b781dbcaf621a4870250000a0429c0
b98d9eb43e6ed37d32ee6f8bb86d686cc1d08291a111b68f6d6841147f1b5a303434321485d918baf1b7128e92d6494b701bf73105319dd2ac013065dd33adab
6acffe8ec3786211967da860a71dbdb961695600dc3650dcc6fec1c8df03f21a9c9a0e4883a29a1d5340709bf7ee5166c05e4de436866e2311a70d45b816135b
1c758b8373cafe3665df9abee38d37afb82ed6492338cbee014d962a978e0e47bbd8448208e072f12e257ff15d72dd699fe63b3c9c609b7d9d345f68c77a6823
ab036e73701b8fffda0c587b96792e8f40a8fa416a7068a6993595bd727b586ddfa0503bd1b73ef6de46fe8ec2a9400504b7bdf8c731efbb89dc16d53ba635b6
48cafe8f2d8f0a6e4be26d2c00c7e36dd20efe2d190c29b12b23c365dc266fff1f4a112ebb3f20613a79e9538d8d29dfe51d62139d1e4b4b3c96d661d5bb1f94
fb12846381bd01c9880a80db8c582688ad47dca6cfd67512469d6511fbe1409951d848105b558d4529349e82b2a6b015dddfde3b505da5f39515dcb6eca531f9
fddd1fedab5c617fd6c76dcae636f1a7ad3df8b37679b02d7ab33b13368dd649f9ab82e78074be23a082451400b7b9d7494b725b3367beaa50a0484783ad9987
bc6de135a0284b27ad6ab9ad12e72915844d4b1510dc76dff231f166d0c6dff245f6b9266e0b90325a79e141b525e746c7c9f37b48f9ce3629de169033924001
5d01705befb8add0a4a518cbeb50a2d5f48b725446e4e05d5c2be498de676ccb6ddeeb36c7e484c68acb3ee82b74c6ead89c51aaa3e7663488fe2d9d6e0d2ca9
1ecf4a6e53f7ef52f9e294127971947f51d08b7658d233c1eff3002a20b8edd63ffc89bf05b4f10fe23afbd05c6e63f136feb08fe4eed198dba2301bbb4d6101
bb6d61410547260c60ef40952d0a80db7ac46d85a62bca246a9b6e6518523edb7a7d21df8c999474d896a70eaf3a45d9b8aa909f0e316d9caab0a39bffdc90d7
316ef37627af017e9e075601c16d373cf8227b0b68533ef36f9bcb6d2cc6169d9590bef87340e2ff464fe265ff8d82707841818a1400b7f582db0a4d546e63ef
1c6f33e8750844cf9f72c511ecf18a46874531380244a0d4c2eb6a45a3d315182b5404a5528532a428ec26ddb0e290aa630a086e9b77cf0a016dec337f2b579a
cb6dbc55e4e7ba39da893fa1d7f8ea58eba23a3d5200dc5639b7159ad429c6dc86422d5ec8736053d10e4641018acf85088022171117e8be516a5a543dba7dd1
2a1b73ee51150af956c898ae0f2c5bad80e0b66bef7e96bd19a8f10fe22d5fe90eb7fd21ffbaf68a4b18c6cd9c3913cba9adeecdb5390f6eab9cdb1c8ca5372b
713223c68deae436a59a460fd945dbbb8c14729eee9142d4cd8d7a3d821ee21827f690a23af4285b9b1b951447540c662d5240e13605da943f3bc26d1fffc69e
fb1f7ff6c4d3e78a767aeeb9e7f6dc734ff627d0ad457db78fae82db7ac16d85d0cddbfacd8cb711b9cd5bbb42f1b6a2b4571bb7152254ba265575a40ea06721
d160dc16053ac56d14d17f7ae419b7defbe02d0f3c3673ee8d9bee39f5ea9bee65a9fef6b7bfedbdf7de77de792747374a3eb0196405c06d3de2b65eccb8b698
96117d0290256020d099d21dd3a2c8455fd9a4b0203db70e404f1fab80485bc0b01a9c24ade736db93de8c87629d7ad1d5b72e79ea88b9b75e7ef71f3e7cf0d9
1bfce2ccffbbd311975c77336bef238e3882a1dbeebbefbed9669be59fb19b94909d963038bd0335b528006eeb1db7956111de5c94e9d6b636da046e2356c156
59a5cff298967ed131b8ddd040cc8d68d6a3df1822f778cd886be8856a51a8d04239c3784014e802b7199b4ae7b66f1e70ec82fb1efbf119f3be33e36a9664f2
858b57dbfe98d5bf77ccbf6dfdf33ffc61e99ffef8c7658fff816d749b76c4c42c43eb01a303d23d504db302e036c77909ca3fa5144b26689973aedcb062dcc2
a55f1457446e622ad529c7b896577e6050266f637544d1ba63965fc28465ddb97158a4e749f44df7b6bc746ee224568148bdb22c5579ee6dfaaa0a423e5d5580
73db1d4fbc293fa7cdf69999d5713e6921ad8d71b578b0e5fe8df9e99d0e9bf1bbeb0effddcd1f3ae037ff6b9719ffbac371ab6d3fed5fb79ff6b61d8efbd7af
1ef8d3c93357ae7ceef597572e7ffc91eb2e9f63e1b6e454d2f8dbf8b8d2f9a35b46076625f354721c55769c152274855ab24dc6e0b6813a57be4d5d13be4201
28d0750518b7b103ac0e3ef6dc63665ded7d1f34ed9c879e4d9eb6c18e999f72caa58b17ddf2d4b2e5e79c7dfe9a5f9cbec311b70db1ffb14f4c347669d294a9
35a847e5b61f4f3af2b7d76e33ede2ffb5dbccd179d19eb6a9bfbbf56d3b1ccbdeab6d313c7e9f49f7dd7dfb6b2f3cf9e2f225d75e749285db625ae374c63fc8
a7972667c40b0be970fa1a544011f52a006e03b7d5dbe3501a1480025020518071dbdffe67ec57bfbef09c6bee93df675d79b77285fdc9cc983d7f4a5ab3b84d
599a11f136e62b77f7935b6fbfcb71e77dea97b3fe75c7e3ff758763d915b64efab6ef1dfbb6ed8ff997cfef327ef7036ebf79c16bcf2f59b9ec7e17b7a5e096
d0596e15358dc0e55c498f84477feb9602e036705bb77a346a0305a0406b14e0eba48b7fff2ac56366d6da75d21f4f5a6fbb9facbfd789ff3a7eeabf7def6856
dba32e5cf4afdf98fcb6ff3ae89f3fbacdc4238ebc75e1d5af3c73ffcaa5b75efbdb88ea9297b6bf2d26b634a866e436ac8e52ba52cb6dc06de0b6967761b80f
05a0405b1510f725bcfa46b460cade8fad8cdeec14f9db96bec1de8b1e7965fe7dcfb3b313aebbf73956c9b6721b73fd5dfff7a36fdf7af86dff75c882bb1e5d
f2d4f3175f7fcf370e3869950dbef9e9fffcceec33663c78c7752f3e7eebca476fb8f6dc231ddc16af8db2ad6d4b231b99dbe270dbd22820972ca5b6b547c06f
8202e036701ba19bc0040a40012850bd023ab72d797e8cbdef7de6ef5de33626deff7aff8757d9f87b6ffdf44ffedfcffce4ad1fdfe1adff77eb7537dc64d6e8
f4eb2e3b77f9a38b572eb97ec583575f7bf62417b7c9b096dd82c01647d32551f922626fd5f7d846e4086e03b735a223c209280005064f010ab72db87f65a3e3
6db647b8195b73adb5d6fac77ff9b7b7bc7dcdb7bcfd835ffdead6679c72c2b573cf7ef2c11b56fe7ec18a07af5a7ecfc5d7fee650573748e26ab1099e123278
0386d718dc066e1bd4be8f7a430128d067051ceba4b73ffe67f66efa3aa9ac1ffd5cf9df9c79fa45e7cdbaf8fc336ebe6ece5311b4cd5ff1e0950cda9ebefd9c
6bcf3cc0d126d2fda2e0b63ef7dd3e160f6e6b02b70d0d8df077f99e20b272e4565559dcdb26e7565e4fe40005064a8191a111f6aeadca03ca6d8bafbf9cbd17
cebbe0c62b7f73c3a5272f9873dcfcf30fbf6ef6a1f3ced8efdad3f6dd60830d6a6b0014d44605c06d0e6e13f16fa30d6beef2cfdd157da612fa2166423423f6
674a6e149b5e5020b10a3093fa612646bb1eabcb8143c70edbf5be34baec4ca31c136a80db7ade31bef39def303273bf7aee040a68b302e0361bb73168135fc9
9fc5c5f6725bfd1d96ce6df5fb861265057a711c566d0adb98a36616b1d5d7c194b549d4b4820631dec6db80b8a8dab406833f4d5000dc663be74ab9aea31b85
dbe8118b4ac8a6924c7ad12d1beb582f2adbea3cc16d3d6abe8633658f6aedcd16dce695080650405500dc46dcdf16c06dbe43cd933d6dee1d69f2b70efad1cd
8cfbdbbcbbdf8cf9d8b6ca797363bd8d9e21253763864a9fa69758c83df76f076fcb08e5a5e2ed7197743f639a4ab654b2e25f898b7a9e4a372af91be7e5367d
2dd2bb3aa92c0ee62b9b2d6e12d70d1dc1b3426c445cb2d4cd14856df9b0eb7a4d89ad5349a1363d8b5e37753943ab796531d61ddc46ec123083029902e0b61e
711b05da443388b9de8820f24577e08a18d6a26422b31ac5de3da8888e0990b2e5a6e763cc59d7d361a6cb6be35422ba09334e72da7ca65ed4cd644a533e07e4
a69f4f2faee8ee79b92d864875ebba1b986482b1a575db100188ce6d14377a5453eff453a1bc7441a44eebb92f41c95350a0bb8d6c9e748adbbc4d5bc860bdf7
beff2b6badfbad753fb2d7061f1b59ffe353d75e6fabd5562b94038cbbaa00b88dc26d45f7b7158236deb58844e2261b221e15e5b0a2f6261aa0de2deb28cbf6
15453a8a8dad218863df885f94b4ee84f2b78aa5910b63da30f022c513a24d51b0f0f12e9502bdee1131a55a33ee952d4f8db3cd374f78b1c9983fa5507a6351
2a427183282f2fcef1fcb6f63d07c4db418906dffcd297174f9976d5b7b73fe7335f3a6da34fcdf8f0fa27acb1cea4f7ad79c83bdeb3cb6aabbffb1ffe319f4f
eef1bbfc66ba2d8787b7941fba1bfea437f97c06a2fb30ebb902e0362fb719a18da58a7eac470c37cc7b27cd42b19f420c046eb3b11751f332e3ad10b7b91737
6dac066e2b8a80361609231e07d95032949d3786a91cfc470126a33835709b914d75678c5500b7195a6da7cf6f76cfe4231f3cf284f9e3779cfdd92f9eb6d1e7
7ebdde278efed0ba87ffc71a87fedb3b86575b6d93b7fc9321990c670aa805735b945061c0323f92485b8d02e03637b7d9a0cdc16dac612a8cb771e0d0dfc6e6
07b715e2b6b8a5546d83c71591dbf49d6a65e26de6cee1fda7437025e3847414a0d00c3d37afd785223d829cdc08a59b05231405656cc59529544eeb6d11b781
37b9e81e44dd3ac56d856e1175186ff2c135ef9a78c4bd938fbaefc419d7ff60b7d99fdd6274c38d4e5cfb23c7be7fadc3deb3c6416ffff79fafbafad7defacf
ab29e39cc06d59688e47e394bfe31c46d911a7e9a9593ccbec8c06d9206f2c05fdb2acd3b3b7e4431ebca318067e05c06deee7b739be8d7ea14cf1b6141dace2
13633f4408938b2126719be9df16b5d76b4e744c8054212aa5384c74806866096c9036ae99266f57c2807552a58842fbdbfc3f195de136a5a625f1910234966e
935b262e940fd1b82fdc46e948cc06dc66166a8b75d7bb6be294bb271e7ecf71c72ef8d95eb33fb7f9291ffbccf1eb7eecc835d69ef48ef71cfaf6ff7df01a1f
d8f5436bbded9fa4c09b97db22b64a506afe30fb201dbec0d3c6f095c216c7ba18c20477c906aa715a1191abfe81d82960e65300dc46797e1bb3d1036f6e6e8b
11c4ac7e496e73b005113b8a7258517b37b705e7664b18c66df4dc7c6328f99e126f33ee3c2b136f231224b10a44333ae250c0829e9bd73d5b71caf56acdb857
de9af6a550a1182fddeba4b722657230a61d686e63213739eaa6fcf9e5b5d6be73e2c43b274fba6bea3137ef77e8eccdbe72f2061bfd7ae34df65de723bb8d1b
b7cbb7c7efb6cb2eb921e1e5b688bfb2589a146ce39be286e75b575753707317c1b389b6d7c5c1bc940b7367737907310c080a80dbfaf2fc36051af89fecadb4
188548e424dde6b6188555958275336a4e1490484b14928b67cac0789b372de10720c4c48841eca29e57d834ef4e55f45b1b172a0e1bb3a533a5b7a6466cea75
a195739b11ec282ad9f4e914b7850c26679a4f7ce003b71e32e5de8327dd76c821b377de6dab0d37fac2269becbcf3ce871d76d8e9a79f3e6bd6ac55565925cb
c0cf6ddc36a5377dd35bfe8a72bf430463b62222d3f43e08c9262636605be5fd02e7cabf60e336f16f07f141b18c7ec2eceba4dea612dca07c30a29b6c63ccd9
989b372b1b06c9d76d4513fd173eb8ab40cf4db77454937f652c9a5ea2b729393f291bd7f42b3c1f7d479a825f4a42395ba5086386146fcbdb080a513e1841c1
882ca9f36a1c48ced0e8279d906ce57a9d97cbd58d15af8cb9e99ef7a550bd22b6a6afd6bdb84babcf7833160d6ef30cc68ddef7be9b0f9e70fbc8e1076cf78d
ffdaf66b3fd975e7a38f39faecb3cf9e75e28993c78fdfe06d6fcbd2e7a82bb7a52c59205d3a3acc0361097f450027ad8a2a07d54babaa2c05cfcfc16d12b609
84e3213df9c6d6f23f3dc8812980789bf77e529b41f4db5482dbd0fda00014800203ae0085db16dcbf72de3d2baebbf739a6d5a49997f0a5c5bffe6d6cca2997
2e5e74cb53cb969f73f6f96b7e71fa0e47dc36c4fec73eb1afd9a54953a67643dc75fffd3f6ed8fff091af7f67efbdf73e74e4d01fedb4fda61baeb7fad0d05b
1df7257036332c5ce65732151b47c48e83dbfc64c35bc67ea9c43c8817ad91e66e3fd5637add68933ed702dc066eeb731744f150000a0caa029de2b6aaee27d5
3bc33aef78d72e5fd874dd75d77deb3ffec3dbdff20fade92db891b4374d056e03b7f5a6672157280005a0804701705b97bb08b6b6f5a875c16de0b61e752d64
0b05a00014702b006e430f8102851500b781db0a771a24800250000a54a140a7b8ad0a41900714f02b006e03b7f97b092ca0001480023d50a053dcd6bbfd6d3d
501e59b65801701bb8adc5dd17ae430128d06605c06d6d6e3df8de2705c06de0b63e753d140b05a0c0a02b006e1bf41e80fa0728006e739c73657be22e4fc2d4
6ed4f3dbf487e806f40724810250000ad4a60085dbe6dff7fc203ebf6dbdf7beff2b6badfbad753fb2d7061f1b59ffe353d75e6fabd556abad61b4826cc791f6
cf2347c98d7d6c9cef8c8aac4ed103f1ac4f2c06b751ceb96200a79b81db1a3962e114148002ad5160b0b84d3f84475c915bec9b5ffaf2e229d3aefaf6f6e77c
e64ba76df4a9191f5eff8435d699f4be350f79c77b76596df577ffc33fe69b57398f4a7ff8ad72104248e7880f4f18959ee42b3d6557aa55eef485a2e58847f7
b20c4b6554a4be39f12a3ad9c1418d746e63ead99f7e076e23ae93eae8563fb7d90eaae7e3a3edf13677ed8afe06c01e0a4081e62b3070dc666c1236bbc8d777
fafc66f74c3ef2c1234f983f7ec7d99ffde2691b7deed7eb7de2e80fad7bf87fac71e8bfbd6378b5d53679cb3f19f2a19e4f1ad02bf2044138edaa68194a346f
fe703970a3c7db94ba9405c6b8de55715b7ce4855108705b5bb8cd8135dea33629678ccaf0e73d03d4666cf951d2cfe4548f874f332c3adc610f05a0408b15e8
14b779ef2755f84cb49b727d930fae79d7c423ee9d7cd47d27ceb8fe07bbcdfeec16a31b6e74e2da1f39f6fd6b1df69e350e7afbbfff7cd5d5bff6d67f5ecd71
ce95820ee99f597489879694bf63b3d1e8c4aa3c2d28811f1bb7a58fd99562584904cb53ae8d74b264b13f51b9ec14ad28be373c3ff92efa42ba9eb82e3c540b
96561fa3aff227774501aeb4e206654c45e734e4697329552972aec6e2585d751120b88dc26d7d5f27a5c4a2dcf136dbb78ea3e5a55f150366d9122a7308257f
3909a5a62d9ea6e03a1480029202e0b6480c9de7b65877bdbb264eb97be2e1f71c77ec829fed35fb739b9ff2b1cf1cbfeec78e5c63ed49ef78cfa16fffdf07af
f1815d3fb4d6dbfe490abc79e36d52f8260e68e531851f1b6f5aa254e3476a8c4a3d06356b5f5e02a95c3dae941d7b9f64c0498bb18ea02f71dabdd80ac61325
1e6a154cb08afb94c726f65586a746654c45c7ae64bc263ee92bae991412cb72cda30b2657b94ba6801bb8cdcd6dbc471a6d98a8f5dc97404419ef3a693069c5
3f2c3974235220d14c433dcc6c50000a0c840283c86dca2e37c16d2c5c2747ecbebcd6da774e9c78e7e449774d3de6e6fd0e9dbdd9574ede60a35f6fbcc9beeb
7c64b771e376f9f6f8dd76d925d747bcdc1643460666522c287649e08edaf33cdc2618c5103ae27beb83ca55e950724f2e28431fee760c5ff36318d22b185bf0
cb5a2450ba0dc0a18ca36881a736ae555ce5f6dcd8e2aa2d10096e6b78bc8d086d3a5ae9bffaf5731bc52be3ec44aff5404c6ea82414e8a8029de2366f1b11d7
49453e9ff8c0076e3d64cabd074fbaed904366efbcdb561b6ef4854d36d979e79d0f3becb0d34f3f7dd6ac59abacb24a56a89fdb04d958284d05b4246f2ab7f1
e890888a7144ca224f29bd194a31edc0af84db8c771ac48e64dc962d194b8ba44a4205d744d57427e55aeb52d82a65511ef1360a9f396cfa785f021162bcf136
85a20a05c38cf136efbe3a3eec89bbe5c4ef0fb1bede1f4918400128d070056cdc76dff2b1db96bec1de8b1e7965c1fd2b3bf21c90a2dcc61a6fa3f7bdefe683
27dc3e72f801db7de3bfb6fdda4f76ddf9e8638e3efbecb3679d78e2e4f1e33778dbdbccdc96bf173189042d1d1d8e77b5a53c95adf159002dcd9bbebf2d1f52
4ab8c55b6e1203cb5604d365dcfc1224059ec4ca691ae7d39619f9d2635a251998323deccaa83e58d649b9e352e6420a01b2a251d27552c38aa80de7106f23f2
5c1fb92d461fffcf6ffddce6f7c964e1db8717962b52410128d03e05c06dfc9fb6ae1ff875fffd3f6ed8fff091af7f67efbdf73e74e4d01fedb4fda61baeb7fa
d0d05b1df725706850379ef18857f432af12da30417922856d1d30050f514c741741b64e6a2f3765c96c0559dde29fc7207db15249291be44490802cb7132e03
d7441b453d1b32e67496b933a9ac2a85de28565793ac713f2911d1284f74abffb9bb5e749379c8c146b67b4ba570576e2b1bbf5ecffe366f1ddb372fc1632800
05ec0a748adb28f7932a9bdbc49fee4eb2ce3bdeb5cb17365d77dd75dffa8ffff0f6b7fc43fd3d2a090ed55f30a5442b6e521237d8c6b47accdd45bc8d4269c6
5b13987af5dc97201195ab8f55cb6d2cb74224a7b39db8226765344bd1b0c12308ae410128d00305068bdb6401bd90d703b5cb6419478aca3d55ad4cf1aeb49d
e43671cfaca9e6e0b6ce9c73257392824a4acbfb562aa3789bf2368e1aaf1971035caf8633f2850250a0d90a80db9add3ef0ae910a80db82174feb8fb755d583
28dc565559c8070a4001286053a053dc86668602f528006e1b346ef3debee035a8a767a2142800053aaf40a7b8add0d267ef8c3bdf695041701bb8add02a2a86
0c14800250a02a05746e7b6ce5187bcbcf01997fdff3ed780e48ef50ac50ce55b50df269ac02e0b6c1e1b6802d6b8dedb7700c0a40810e28006e233522b88d24
d3c01881db0687db06a653a3a250000ab443814e715b3b248797ed5700dc066e6b7f2f460da0001468a5020ab7e97560e725b4669db44d2d903d82d7fe748fbe
3d5f437e3a6dfaa0e0e411bea9c6c1be35bae2d41e046e03b751fb0aeca000148002952aa0c7db269c34477983db2a95dc7ca894a9886036aaca5fe56006f9cc
d020df9467d0c5a76935b2e23e01c16de0365f1fa9f27bb1c7aeca4c83f26a8e2741eef72c113bb382bfdbf86ab5f36d14bcb4cf9d8ab715da85d63b635fa398
91478a716507ad678762655fa7f4643cb229898e65c7528d46476bb13fe50317b4730092c33b35c709dca6faa5fc1de720f9603867be9f15f73595ed7b701b85
db1a725e426823372b5d739e33d21c4f9ad542cc9b46729bec94d5c142d04934269a35ae155be050a7e26dbd43b142397b9add7b64153f789dbd326c1297c445
e9a0cfc44c3b615d8b6e25d94a9925ae06739b5497f428fa3484c6bd927d6860c5434728b8cdcb6dfc5f10ba1993bce673ae421bb959e99a434bcdf1a4592d04
6e53daa321dc46748368d68c3e87781ba91d18b7f1b7b056fe24e5c28d6c2b8cc6f8991a7ae3b3e1f07c3d12a65c516ca282135ed3b1cdeabc3fdec677ab49ac
963bffd5e4a75e58032bee6b4e70dbc0725bbf422acda1a5e678e21ba6b57fdfafcee1ace840c7db88344634abbd43d90aec54bcad31aaba1d311d572e47bc04
2de91f44c6721e22b225162179644b03c498d80a605b0e3195dc727fa6f4a623a96aa6ad9336b3e2be9e046e73731b8fb4752fde669c978d0f78733cf58d78fc
a8d1ccd631bd2c452c348e19790e5af51a0827dd27b11abf75ec9ff39eebea1bb5f1f7622f978233ca1e2f3191cb33ba777677709b92a13b2bd9499e6709222c
c06d7ab9c6109a62a6fba61be8f5a5d8184b2735b3d4d65e7bc537630fd17b4eb5665e27b9415a68a7e26dc4baf7dd4c5bc0cc31564632d9c2a2b42a9a782f81
9b639d54c1a4b860cb1633c3e57c6830879b896b4b47874797c61e7127343ff324d7b88a877605709b83db04ae758cdbdc53a74e4e4696b299b1eb726754ccbc
7703143d3bd59621a55c3d6da19aead5e47597b3a588e94555d7e036a2868312147ab365edeb222a7e59fe1da066af418f8d79bcf9591d54b0552082b1a65e7e
9521c3d10c850a75bba49752c6495b5a23e1798b26e6469c8ce2dc106f23aa55b199bc36c89719c5f331b6949eb8c12f4648a52f26ca0fd4509753b3fb123855
a52fcb1aad1cf47298eb3e645ea738a8d8680536abe2a1ad0a6e1b346ea3c43b649220a24c3ac145212ed1190ba5f576611bdf50d848e09483298936de9a7ad5
d3b02a279a5707030c498a1b92dbe2548eaee0e536ad0e2eaff2a217ae60a104b6789831933248a454ca16ab2be4bc6e5cd24305d385930e6eb325898747c6eb
0e3362952ddcb6e4f931f6bef799bfdfb6f40df66ed3f3db0add3dd03b63a2fe9599d1573e4d2bb495b9517f46fdab38b8cdc66d728cad33f1360ab4c95ce208
0551a244d5729b91ab2cd331898428c04784451babb993cb0ba6a57e7578bbda5ab72fdce6f0a754557d89bbc46d25a18d4e5a4420239af99a28f91edc46148a
9915823c7ab6652ca5709be529685aee74ce29e358afd336a1e2e03623b729a0d6196e2b34997ac9ccbb4fab726e13e8e6261eafe7329be6e3262af0e9753416
4de736e2e26ce11f1f62f0ccc6704a79e5e36da9c4e67d7885ab474ed0196e2b0f6dc626e0d9daa283e2db9266c4e632ad9322de6610af81dc466c6298f54201
709b8ddb72f7139b1e05c29aa3a5cf01a144dd02424194f09500afaa3a731934a4381c80808e75d232deba146b66bc4df758eb793a27d88081da61bac16d5541
9b08b9550564b606a3364fde8ec66d0bee5f39ef9e15d7ddfb1c4b3c69e6259c61fefab7b129a75cba78d12d4f2d5b7eced9e7aff9c5e93b1c71db10fb1ffbc4
be6697264d991ae615524181862b006ef33e076470ee27157dd5bb432b60f5d09879a1d1412c948e8665b84d494b8cb7f584dbbc21b4beac9352166d0b353fd1
3898db1ca8645b1f94fab4358245745b36ab10dae4909bfe59f1cd5bcd42b9d12aaedf97a0c7db5ac36d85a262bd33a6290fab162b006e1b4c6ee3ff0e37bee8
34c32cf3d38d615799916f9484de4cd2f92279ae07c59e5e0b6f6e45b3aa35de665cf0d2e76399308c9f1d49f45e422c946256f96f671fb94de16347589bc888
0e71886c5788b47ac16d3e3fc16da4115008f24839c2a8cd0a80dbbccf6f130ba68a256bf696ae93da3aacb2974ba1251d47bcfbdb8c39e81bbcbce414904f0c
a6eaf3dbf4826c95d230a6405672056dbbd974df1c2c6be3eb6ceb988c62ca42a3f14f7d3a97af286b613ad22993b17169532cddcab9f5faa7522fcb5bbad740
57c608b2de85c87ce733ffb3c94739491e4433a557d81abd4766dee26203701b694c80db48320d8c11b88d126f33da748fdb06a6d7a3a250a052058a8254a585
b73ab34e715bab5b02ceb74801701bb8ad45dd15ae4281262a006e0b6d15705ba872c1e95c0746d132558e3db03c4c9796579095b1c4fadd08f2bd9244e03670
5b251d09994081c15500dc16daf6e0b650e582d355c26df2a10af50353fd2506abdd9b84e036705b6f7a1672850283a1807b3be06068105c4b9ddb1e5b39c6de
f72d1fbbfdf13fb337ce4b88b4ad727f9b85dbb203a0d443abe2bfe354a3d1b157e961a6e229ba6986d2115222093b332bda201ea7e11fe2aea21626f51fd399
577973e9aff848ae9c57999fc6e28cc7a306f7debe2504b781dbfad6f9503014800283ad00b88dd4fe3de7b6e49cf6c899f9c30caea4a30d3896c947b2a7a096
18e9d12ffe8520b0e8848198e49273aeb4cc650d746e537d4b0f914ff92f6341c5cfac3889174de7d793daa04946e036705b93fa237c81025060801400b7911a
9b711b7f0b6be54f522edcc81c6fe3a737a52756e54e5f97626c4a0e02e9d4105dcc69a220e5839eb9c7fbbc6f7215e4ba28ce0833dda680580d3505b781db1a
da35e1161480025d57a053dcd68ec672ed6f4b09490fa159e8875d1e1e1501b93496a5f39c003b99e78ae925d19b4e840e4a930fb3d7eb55cc87a65883dbc06d
4de98bc5fd703f0aae787ecd4a1170d458b32a006fa0804f01709b4fa1eabf9741265ecc8cd73487a3854c813f1124e58e8bb746ad629ccad358b2d4698bb745
cba5f9cce53a9ad649f3bef1ed71b17794785bba3a9b55ae7a49ebce11dc463c9f5437634dd5b1e7eed6ddf9aa288f787e681545f5278f7a2a687c0eb0f139cc
fd5161c04a554e5e506a3f3234e27d47bf4e92999c83ed7a5f3406b7f5437679a5328991f16856f44a2e28368ed5c694034516c9cda6566e93ef4bd06e14d0b9
2de6bc9c6ff14eb9c8d5f8be04ce9b09c319fdcc32c07d09e7eb27aff32b4c4276e22f3bf797bff909bfc161adbe2464b5f0960b6eebc72f8e5a663d58d3c79a
d65341c771abaceef5f8d047919b563485db84cf9cc38c7f2a5fd992f4b1fa9de2b642770ff4ceb88fcdd9f4a2a53b229aeeaad33fc4db6cf136705ba18eed38
8cb1503e458d3b8f14f55410dc56b4e3f5d41edc86e780e43a5821c8eb69d76c63e652b82db7f6dbc6ba709fc16de0b6f2bdd7086df4d34eb903b6a53ac5bd42
277b52a0879221fda85351a271ef1db18e7295bd5528e49b516abd03d80ab56db9d3af17aaa9bb0af4fec90f9165f6f269b2b6e4ca89b38a999215ff565cd4f3
74e746af42da40590aefbf886c41b5d8e15c284e646abc2eaf9f3ad65275334d3aeb32aeae83e3b9bb787e5b2617b8ade810eab63db88db2bf0de7933a46817b
5ed109c0c804363376dd013146360a801e91c4015bee6ce584fa673dad5c2f379915fdb690bcb6667514ea46ba809a127b08f17758472b4e723a9651ae88b472
b67a86942bfab9f3e28aee9e3bde66e424a33e746ed32d059fc939dbcc4c0a27f4e686c54e711bb18fc20c0a945400dc4689b719b7bb45ff9c1dc95145c9b668
63726f3080554a9e988954c1a5508c0ba5a58849c9908829b63a12a1248093747d14fa5414f0b6821b4cdddf5294a4b7a9a36ade66a52094057154bc93b3b27d
8e7e042c63c076dd5b85a20636388b7d23c5dbaa35e3fe3bbc922bd8296e2b1415eb9d71d10e04fbd629006ef3ee63e3063aba81db28d026cfd6617442c791a2
a3cf1dca327286cd99e6739b80a132b5b669d2526ef32e958ae6ee36b711318b8877e036d20f11b88d24138c4c0a80dbc06d65464651747394c5e77ef9ad18d3
e18058a33204e38805ba235b456be1855d5d376f12af3e5e6528d13b4a4d6dce7b1db05581186fa32ca7d2e36d6ac74d6be5d5b91283f2f13699b4786ec63ce5
aff4cf4a5d28f1366683781ba90f14823c528e306ab302e036705bc9fe4b4137078dd94ad7676e0a0714aa0b050e6c36cde1367a95e9ade055a65a6ea357c16b
49e1b6801d6f01f136ed5f1d6cdddffcf656ca6d5015b779c18b82625284d2bc442b97d2356e2bd990ad49de9553075a23b8e628b80ddc56bef7d26f4d28c45e
0e36123e7b09c31be17357bf8ddce615d92b9ad78089e6a540af1b2213bd09280e181bae39dc86fd6d0ccb1c838b5360a7e26de57f49fb93037fc4aef4880c71
10bcea8f7e0628dd6323ed0101e9024a96e036dc9710d471d4443674a384cd0401c899d2677d6669ab8277faa7bbe7f6cd167fb2e52ffbec76b2e8b714dd1cc0
c4abe9d58dce6dde9a529a80de45ebe736e61ba5507a158a5abac360fab7b62b0a6619b3a5e4c6fd777b250c28dcb6e0fe95f3ee5971ddbdcfb15493665ec2d7
0cd913ddd9d3dd172fbae5a965cbd9a3ddd7fce2f41d8eb86d88fd8f7d625ff3a7bd17957240ed2378924e1e88fe64aff41c025d9430d80a4b35a04de2a936b8
cd166f63ff00112f3c072460f4c8f1183179532e1a314e38a0e44031763baf67a8dbbb6de46f65a0513ecb4864d44147c36a7d73b782cd3d877a14a6f4d65441
400a32da5c12fbcc84817e25a50a7537a5825f4a42793f9cbe378ea795df01e32520096723f96dccc46ba61b38a82b2c37c5319149a7b8add02eb4de19fb7b52
7686554c673151cd8f4f876769a33305f851f1b9f3a832cba5c653e7d3f3b144e9f942a4bf62441c8d0eaa1a9e2f05f0e22bd12b09fc190ee3f2d76c402cc06d
c475529c4f3a2023a2d7d52cc325bdf6ad68fe146e2b9a27ec074a01701ba9b90b419e2f47e9b0a7dcba677cddb612ca13d9be351d069f1cfd1e8160fe0cf818
c83238e367d28b2bc969a7d2d9f308d4692d0a6e03b7f98639beaf5281ce709bb7225e832a65455eed5400dc466a37c66dfc2dac953f49b97023398ec5c35b29
18f1f3a022a2928f8417cb4e1cb0c47f3d4566992586fa31f3dc192543db950235ecbe29b80ddcd6fd5edea41a768666bc15f11a34a959e04b7f14e814b7f547
c2a2a51a5739f912698474526c4c8ea2c93855200026d15b216e4ba26e29683a36db15ad7e27ecc16de0b64e74e4765482b2d9abf935a1d48262d3fc9ac2c35e
2b006eebb5c27afed212a488c02960a405bd12842bb24e3a9cdcd890f29a028572d13208269f25702b8089f58bd99f12c16de0b6fef43c940a05a0c0c02b006e
eb471750b6fcdb23703c5cc65ec9fda6746e8b6e6f48d3a677a6f24bf2adabd67552a64a96014b63bfb9b51ffaf5bd4c701bb8adef9d100e40012830980a50b8
6dfe7dcfb7e3392085ee1ee89d71d77a92741f45d7aa165a1f701bb82db4ef201d14800250a09402e036927c85208f9463e38da4709bf444e0c6bb5d8f83e036
705b3d3dadf9a5b81f05d77cffe161af15a8ad87284f04ec75bdfa983fb88d24fe00721b4997413502b779b9cdf6f45dd66546465c07b90c6a9f6a71bd710b64
8b1baf16d7ebec217596d50bf128fe778adb7a2122f28402ba02e03607b77162b31980dbba37a028334df76a8d1ad115a8b387d459165d01ba25c5ff4e715ba1
a858ef8ce92d04cb962a006e739c73e50ec581db7ad7e7dd07d5f7b2dce8b0a2dee58f9c8d0a04347740924ac4a7b0482505b14cea2cab2a9fe57c28fe83db48
ca17823c528e306ab302e036705bd3faaf714a363e0fccf19030e52bdbce24a3994d10ef3c145ca8856694432f933f85b15e29c7062cdd37a550a2f37ae98ecd
58de42a5dc0a74c32ef51047b503fa9b8e4d4aebd4d343e87d09dc46eaf7e036924c0363046e33729b637954d823ded68b51e28ea3e83399716eb39929b134c5
cc31a5f19abae7d1b0426dd9127d2b29880ddd1438d31b9ae21ed1b7a2e8d6bd1e12f6ef048abc7297d63fbb63638e91258f23c7a0f0722773c0c66df72d1fbb
6de91becbde8915716dcbfb21dcf01e9c50f6253f24c6fefc4bd9d4d6811709b83db6c7724f024e0b6ca3b3065f14b9e0c88d066a4ae4269bd35b54d5146be21
629011aabc1729d3b90d43896929d21105d1aae351baf33dc4cd52613cad377758b734fe1ba347dc76ef337f17dcd69ae7b7797f261a61903b9f948861f2b153
8da884d509e3e10a9d3b7101dc66e33639e4660cbf81dbaa1dc09429599e814a4e1814f82854414a7481483374df28a4452c943e2b57585313c25a556f750fa1
b78217ce8c2de5fdc789e31f3c74df28fd8de2bfb071c4db6e7ffccfeccde26de0b6423f443e631962883c268ea8f2e5ddffef3b87684649c16dc475521dddc0
6d950fd2a213b3c301b12a242f0f7983191422295fa8ee1b25fe418439dbccea2db417dc462934df289e3ed5de1e629322ec9f1fc4dc6cac66ec6f94c6ea11b7
ddf1c49bd73ff082f7cdcc26cdbc84eff5faebdfc6a69c72e9e245b73cb56cf939679fbfe617a7ef70c46d43ec7fec13fb9a5d9a34656ae5bf50ee0c0bed42eb
9db1a7d639b289cf2288af8c468750a587cae74ea8929e80cbce9bcac275f1e153eeb4d9b7518e69702fcb30baa26468b89056483ee75ebe961cc5c5dc91f21a
1ece2a251dcf155753724639f2abe61e135a1cb80ddc16da777a928e3231cb130cd109e27c5392db14678885ea5520221a91b4e895223a4cc99062a3c9456acc
96f6902041ac773713732bc46d14f5893d8467457192c5db9e7e79ece063cf3d66d6d5eef7b4df5c73e809bf65f6e0364a4bd96d246ecb4e8bcf4155ca57c232
4b229d392560c89136a6a224bb24b6a7c4ee8c198a14f9655c9ddba4cce60fa7d0c90f33958bd65d4d9c89083229a355813a701bb8addcaf40f5a9e91bcfe97c
a3cf2285d27a2b699ba22881b432be51e651a26f440a24cec7f442d339deab7166d0e11e22ab10108a73f4371bc3391ab44cef52b2b5d52578021ab8781bc355
3944a7fc5960f4e81126195972bbdfa4089c044362df77c43ceeb4cab73c5c271f126f288e47e3e81beff2c606d64c8282b9a2a5085c04799cf3da737a7df0b0
617168a9f9721f99062c82cdc6157ff388b5f75882a619607f5b819f82aa4d6d13337d226196de29d0b65a64ab8d771e0d28d4366b127d0b3323165af98c6e87
b9c21da8753d848ec5420b77bc8a3e165232cea27745d33a5cf20e0abd74b9b18327a026725be15edc97043aa0e874a5386684211d772839ebdc66a6a5507a2b
c46df2f63e705b27b88d7124ee27edcbef8ab1503e3d88b73c19b82f2adf2a992bd9528c29ee51f2d1ab43f14d2f9d5805ddcc519c2e2fa5dc309baafa58c37b
88b1c72aa06fb371072f6d1d49b92ef74963ffacbc87085475b01db8adaafe4fcec74d5763d2d2a1c832b74e9a0f85e572d3d21a88505f2755331c8ed7390d11
30d33aa96a2cb27787fa926f257003b77585db705e02f9b700863d57c01d7de979f128000af44001705b0f447567e9e136f9be80a121b13c2aa262ca32ab63dd
5359159523616948247f5f022f2ebb6b418dc4e9dc6632e6e9b78cef4be00098ac811ac38ad24d1749656b6f90800283874de7d749bdebb64c6d9c2b1fd0e590
244c01705b986e48d564058227a026ae93f6ee16d1423937b9bd9beb9b748344739d4c3d0b1e36e036705bf3bb77973c04b775a9355117ae40f004046e4317aa
400129dc46bc13a28242cb67113c6cc06de0b6f2dd0f39501430eedca224840d1468b802c11310b8ade12d0bf77aa840f0b001b781db7ad82f913514800203a0
40f004d4446e1b80f642151ba140f0b001b781db1ad183e104148002ad552078026a22b715da85d63be3d67606384e552078d880dbc06dd44e063b280005a080
4981e00908dc860e35b80a040f1b701bb8ad2dc3c6fd34b5b6d4c2e6a7f739706daf20fcefb002c11310b8adc3bd0255f328103c6cbacd6dc6a32094278380db
5a34ba3a7f33663d15b43de317ecd8a2b1d028578327a026725ba39485331d562078d8749edb144a938fbde25f81dbca8c0bcae9e065f257d2d68335153a5c34
ab7a2aa894e2feb36815603f800a044f40e0b6d0de123f38377ba4ade39c80c02304d4334793a7e0f6b6d05035da992e78d880dbc06d72972fc461858c2b1958
f5604d25ae8665524f055bc16df5f7aeb026432aa640f004046e0bed3f118d49870954cf6da963eaf904b5141aaa4abbd2050f9b6e739b37d886785b55d0463f
569297187c1ca7f12c48394ff7c835966b8cea51ce8b1400443c29d28b654403a26f46a9757d6c85524a29d49a36635b9301ddda320d054f404de4b6dedd225a
28674fdb739c12c703188e9fe24fa0cdc26651702eff57ae08c3f153f1f7fab9521516da960ede1b3f83870db88d3508ceb98a41aa40d7b419eb046064029b99
c264c6b050196ea36448a9824c69fae73c0a8f145a8574731bc537c1c4ba1b763c8a9c347eeb46ba809a12ab20722ed42d0bf4609856aa40f004046e0b6d8714
a71288ca4e584fce77cf0e7ecf1d279f1e27603cded478b4a7e93cd0ca0a0dad7d37d2050f9bc1e1367d671bf6b785cd8eeea9549e9889d026876124970c30e1
0d47398633c51922a6d8ea488412472d02bef2d6cb2b5a8f60512748a2bc4a2302dd9a3f49054f4003c76d2ce42647dd943f0bb4b41c601347bf2b8cc511ce74
127c7ccb1eed4828e339eefca2fc5feebaa0c592851610a2c5a6c1c306dc86785ba17991626c5b5f733399365bd7c16d9442ddfce1e6542f54111dd07df08ae9
6d056f0e469eb67942a96918b7c525b6f8c779105c0f9e809ac86ded683009a7d8c7e15109a41c0895ddc840aea591db6242eb61a164ef5a6d183c6c0684db6c
c136ec6f4be76652f7a74f9fc4188f832d281c40723a35f2ba4467a33ec6db64c5bc6446a9b2a3d646b02bc45e8ab1cd795fc0af503bc3b80f0a044f40e0b6d0
d6ca2d74c6e7aa474c167dc8f6b5a99fb26f0da5d2f7b72589ab2834b4f6dd48173c6cc06dac03607f1b25a45114da88d0503ea8431cc2147f8850d2476e2356
56d058995af788dbe855a074cb42b9c1b8470a044f40e0b6d0165136a83188e2b1b4ecce836c193426acf87bf9e11e4aecad30b78d459458b2d0d0da77235df0
b019046e7304db106f93fbbf83cc8a429b8dc6c2625a4680283a72cb108c316ea4d7b193fbdbe46a16dd7ee7d02ddff1cc3746d07b5dd1ce00fb6a15089e809a
c86d85eefa2c645cade8c8aded0a040f1b701be26d5e74a34f9f1470118b65de99dbb6ca661bad5e32a3bbe7f6ad68bc8dd913d1d3b762a8f20d7135b968b6ba
c2c435596f4d294d909262db7f9507c8ffe00908dc3640bd04555514081e36e036709b7b3411a14dd9baa40769c48c1eb0434b4f62f4d9cb6d22dae7a6107771
4a5a194375243556d64d4555f966135c47522f93e9914562151ccd442c143ff5ad5020780202b7b5a27de1644f14081e3683c06dcad377713e694fba20323529
4041c9b628573e68d7969ac2cfa20a044f404de4b6a295873d1408532078d880db106f0beb72484551a033dce6ad88d78022176c5aaa40f004d4446e2bb465ad
90714b5b176ef74881e061036e03b7f5a84f225ba6406768c65b11af01fa438715089e800682db66ce9c79f2c9279f12bf4647474f3df5d4d34e3bedf4f875c6
19676cbcf1c61dee19a89a4381e061036e03b76164f54801e39ebf1e95d5bb6c29b5a0d8f4ce43e4dc77058227a081e0b6679f7d76c58a15cf3df7dcf3cf3fbf
72e5ca175f7cf1a5975e7af9e5975f79e595575f7d75db6db7ed7bfbc181be28103c6cc06de0b6bef458140a05a0406714089e809ac86d95b70a27b6175e7881
11db934f3e79e38d3772627bedb5d75e7ffd75705be582b725c3e061036e03b7b5a593c34f2800059aa940f004d44a6e8b0ff734bf8ccdc3898dc5d89e79e699
c993275f7df5d5071c70c009279cc0b8ed4f7ffad376db6d17a7921f899b64bee5f070740ca8c8543f0c9ed81df88377f9cb762a6970e6441f60a629103c6cc0
6de0368c27280005a04019058227a0b6729b512c0645c6eb7c5574d6ac593366cc38e69863588cedeebbefbefefaebcf3befbc3ffff9cf5ffffad773a92ce781
266857fc80d19807e5b3132ce0066e2b330282d2060f1b701bb82da8c75599487fec5995b9f73b2f3ca8acdf2d80f27bae40f004d4446ef3de226ae333db75be
2a7ac411473cf1c4138f3ffef8c30f3fcc564ee7cd9b77c001fbffe52f7f09e0b62c34a71e3315ff1d13d8681462638866c63129b867ca422d201f0d349e6da5
162a50511c86d5f35ed8ba028287cd20709b08101b1fe4066e6b426feffcdd88f554d0f64c63b0635f3ab91c7ed14331234323de77f4eb2499c9b5b05def4b4d
8327a081e036b61ecaa26becaed2871e7ae8da6baf654ba5b367cfbeebaebb264c98f0b7bffded1bdff846b1785b045549cc6cfe30fbc0c0280da1714893236c
92b1b96788d419e069194ac7d5a71ca81d60af85f512a7a4ccfad2359b5c68f0b0e93cb7c987931a0f2a05b735a163d783357dac693d15544a71ffd9473506a4
680ab70929388719ff54beb225e9a3aac113508bb94dd9e0c6d4e7f13616ae5322767ffce31f2fb8e002066a6ca3db6f7ef39b7df6d9e7b2cb2e9b366dda4d37
ddf4f7bfffbd30b7c514952d7daafbe286e73b565a451fd10f9817a928192a45304653e37a09af01db1cc33278d8749bdb7450d3af80dbe47e453cd5aaf219a2
1eaca9dc6d7a86f55410dc466f911a2cc16dafbe31f6fa9fc7fef466f47ee32f636ffe3579b3098bb34d13b9cddb338aae93bef1c61bec3920fbeebb2f8bba3d
f0c0038b162d625137f620b76baeb92688dbb88329bde90ba1b92ba665ca88ccd28d7232ae89055065179d9c8708e9091b1ed2d3dc88890dd8e6ea4de036e31a
28b8cdfb13e48536e3a3b91ccfebb22dd5299e18cd6cde52a08792a16e93af7e746abbb2a468dc7b47aca39eb9a3390af9c6f371b4826ca0176a5b36d5af17aa
a9bb0af4aec8db20fa079594a32db9d2668a999215ff565cd4f374e746af42aa7f96c2fb2f225b502d7638178a13991aaff38bfa5b5346b5f11a883c751d8227
a081e0b637df7c93ed63633725b0e5d1e9d3a75f72c925071f7cf059679dc5a0cdc36d119c650c95ac792e1d1d4eee31e5ac942d59260d934728c37d09924186
70d98aaa96a1ec4692d6b44eaad05e5c70f1fb288a8eb216db070f9b6ec7db18cc619d94d8adddf38a4e4e4696b299b1eb0e8831b25100f488240ed872672b27
d43feb69e57ab9e1b2e8b785e4b535b1a350db579416acc43777b7d4d18a939c8e65942b22ad9cad9e21e50af3c2f6d6dd73c7db8c9c649485ce6dbaa511b66c
66268513bc73c362f0043410dcf6d7bffe95ed63fb9ffff99f8b2fbe98e11a7b0208bb3581431b7b6db1c51639dd95c095bea09944daa2b5d2848a141b2df495
5bf98cf7c2890783c88f1ae117a33cf542e52789d8ef4b58eaaa0971261a20b3e061d3796ee3e8c65fb82fc13ec1fb078b3c5b13676e9ea9625c28addf2dcb59
529442ddbeb9eb5bb416952094e2b09b05f5da296206b338b14dbd0e381a97825016c451f14ececaf6996565e442c7754acf2c646383b3d80752bcad5a33eebc
c32bb976c1135013b98d723fa99854940fc62667c426284dfec0f6bddd71c71d857a49ff8de92b9fb891d4d75ac1c3a6f3dc86789bafef44f103e24b84a094f8
9948ee2509db5c4e496873929296185eb2b15a19c4e16e57c56d22ab32b5b6b94487d1302c267633232dd9b88a1b3b56540787db889845c43b701ba9bb7a218f
e562843676f1965b6ed97efbed49c5f4db480ab7d99edbabba4807bc7e57ae6fe583dbb0bfad4ce72b8a6e8eb2f27368349f2ac6743820d6a80cc138f8a3e678
9bae5b00ea51a4966ddc757410a751b7425570372e31de46594ea5739bc27fe24f623f2c69563ede269316cfcd98a7fc95fe59a905e26d9e66a570db75da8b3d
bc8ddd97f099cf7ca664a741f2562b006e03b795ecc01474f3c6db741fca47aabcf5ea06b779ab290ce8ade055a65a6ea357c16b49e1366304ce9d30609d5443
e102fbdbbcd5940daae2362f7811514ca6406f458227a026ae937a6b0b0328508902c1c3a6dbeba4fa9e36fd0ad37f64448d0955d228adcb847e6b42a1981965
4dcd4b180e3129696d36cd89b7519097d950484b213c773ff45220a5ad89f2d2474473b8cdb13e4baf0ec5b23cb7d97250ae13cd0697db282134d1a2bd33a674
1ad8b45a01709b31de86fb498bf66a1bba51c2668200e442e9b33eb3b479eb2533ba7b6edf6c5464cb5ff6d9ed64d16f29ba291847243f2d80942d0f1af5d79b
b512dfdc3db37e6e8bfefda6f5fedaa02d2edd7cf3818d9f747b7e85bd656d8dd912cdbc5e89828227a026c6db7a8762c49cf7d8f9074f49af65cb96dd78e38d
13274e2cfa6b0efb862b103c6cba1d6fe33027eef8c1fda401dd588ec7084ca15c34629c120a52f2b1a19b97db04c1c819da38c666a35c97fdb7b18b51071d0d
29d574db50047797eb687a0a537a6b4a6c024a0fd43796d9b69ae93bd214fc5212cafbe1f4bd713cade316078af3013682b78ce02532f49ae9060e160ccbcd56
bbe00908dc669074f79fecc81ef9c68e9c672ff681bdd851f4575d75d5dcb97303ba1792345681e0613308dc660bc5f1ebd18f35d6491bdbb39bea1805259bea
bbea1785dbda5217f8d917058227a026725b5f14940b9db5fbe637ee326eee16ebcdd9f3e7f75c7f0b3bde94a1dbe5975fcecea767ffadc33dfd0c863a4a1db8
3282870db80ddc3670a3a58a0a7786dbbc15f11a542127f268b702c11310b84d6df8272fdcebf5876f7c71deec2593866ffcfefe33369b3c77d635ec60537646
d694c9130fd86f9f1fecb8439446398da05ad2aa36b776f7ed1e7a1f3c6cc06de0b61ef6cbee66dd199af156c46bd0dd4646cda80a044f40e0b69cc40fcfd9f5
8da76f7ffeb2431fdef13d0b3ff1814bb79830f3eb977d67dcb1d7ccbbf185952b97fcfee1ab2ebb708f5d7e98709b7cd641b5a4556d6ed45e347076c1c306dc
066e1bb8d152bac294cd5ea50be97906945a506c7aee280a68bc02c1135013b98d78f7006f946a8d5f7cf4a2e7ee3e6dd9e99f7de487ff74edc69f9cbec5efc6
7fe7ba8f7ffb8cdd0f9ef6f083f73ebbecd1fbefb8e15707ed9d725b7c36297f0eae7c3c7cb2a33bfe22be3e1a1d60c58f7e1f1e668786267ff00f49ea741b78
7c8815b8ad9621173c6cc06de0b65a7a280a810250a0b30a044f40e0b6ac4fecffd34d562c3de7f1bb7ef5e8fcff5e72cee7f6fefe116bfefcfad54716fef3de
b33fb5f3210b175cb57ce97d7f7860e1d4093f97412d2137c771ef299cc54bab319645a71fa41f9483df7976e0b65a866af0b001b781db6ae9a128040a4081ce
2a103c010d1cb7b1f89c1ca293ffdce6dbeb2f7ce8845937ef75d075dfffc4dc1d37bee296f79dfbe8bfccb8fd2dc3a77d61a79f5e75e9f94f3e7ccbd30fdf70
eca47dd5001b632f4e5a326f4594c6636c11aa199298a37431d181db6a19aac1c306dc066eaba587a2102800053aab40f004d4446eeb632b1d74f51e3fba6e8f
0f5df2ad0f5df1ab8dae9df7990bef5eebe8b9ffdff70ffed901fb5d7be9d94f3e78fd8a87af3b61f2cf721016af6a0e8f96e03611871324076eaba513040f1b
701bb8ad961e5a5f21fab3d6ea2b1b254181815420780202b7e5facb077758ffd317fff8a37387d7997bccfa179ef7d113cf5deba79337f9e60ea79d34f596eb
2e78fa8179cb1fb862c614697f5b923a3ef63d8aab451fb22d6bca8aa7bc078e07e1b4285d8270e0b65a8671f0b019046ec373776be9830d2a04b74036a831e0
ca0028103c0181dbd4def12f9b7ef0fd077eeb4387ff6c8d83f6fb8ff13b7e69fcf6274d9b74c585a7fefeb6b9cfdc77f9d3775f3473ca9e4abc2dfa93019b40
31edbe8408d104a5993ec4dc17bd925b54c16db50cdae061d3796e930f24d50f27c573776be99e7517026eab5b719437d80a044f404de4b66a6f11953b0631e7
cdc67dfe97c71fb5f7a1079e74fc91679f76c235179ff1e04d173f75cfdca7efba68d9adb3674cdc65b03b5b776a1f3c6cbacd6d3aa8e9575827c079093d1a09
ee83ea7b5428cb16dcd63b6d1d39f7abb9fb5259142a2b103c0181db0c1d69bb6db67ee4fe3b6e5f74cdadd75f7adf4d731fbbeb8aa7efbd8c43db138b4e3d69
c28fd1f9baa140f0b001b781db7a34048cb378f973368d4ca61feec9aed8eae5a53a636e7a86ba99b1446f6efa863cc7163d6fa1dee2142729d2790b157902dd
7a349a1a9e6df004046e33b4ec1737fdeca9271e3df3b8c933a68dcc3ce6e093a71e70ca51fb9c7cf89e2cd2c6a06def1ffc67c37b03dc232a103c6cc06de036
621f2b64e69ebf757272d0985cae116894b4defb12dcdc66f34de1b6b02ad87c0bcbcd1659b481a0de8214e988be01dd0a0d908e19074f404de4b68eb50daad3
580582874db7b98d6d5f53f6b7619db4863e4c09bac834408436eeb911358c31a4809ada908e526819df286c44f4cd08737485c36aaae91fa03d92b45881e009
a889dc46dc85c69bab77c62dee0e709da640f0b0e93cb77174e32f05e3d89fb82f81d6bf0a5851a04d263047f4cb1d1833629ce322b10ec1857683db8804ec55
89de0d88ed02b3262b103c0181db0ccdbac7ce3f784a7a2d5bb6ecc61b6f9c387162937b007c0b502078d80c02b7713ee36fc4db027a57d124f4399b30fd8f28
9bab2860e1cdd65d23ef762edd40be22320f8e72396266b6a2e51a51a277c62274598835d51aa56897817dbb15089e80c06d8686dffd273bbef9e69b7f8e5fec
037bbdfefaeb575d75d5dcb973dbdd4de07d5e81e0613350dc86e780d4366e28e866641d0a51b9198548247429881864839e30d00c2ed4c17c144f026c006df4
bed455cbe009a889dcd6f7469ab5fbe637ee326eee16ebcdd9f3e7f75c7fcb6bafbdc6d0edf2cb2f7fe59557d87fa9eee1196c54a5fa66173c6cc06daccdf01c
905e745cfaad09f4b8940e2585d27aab49dc4356c68ce8309ddb2896c44289e8e920630aaf7b5b0106ad5320780202b7a96dfde4857bbdfef08d2fce9bbd64d2
f08ddfdf7fc66693e7cebae685175eb8fefaeba74c9e78c07efbfc60c71da434d10107c91377959cdcdc06aa6bc0200b1e3603c26d627f9bbc668afd6dbdeeb9
b6599c8e1accb268744d84f16cb5f3eea80b28d48632c66dfe4afe3618f59a110b756256b40ced5698d2583c07405baf075463f30f9e80c06db9367d78ceae6f
3c7dfbf3971dfaf08eef59f8890f5cbac584995fbfec3be38ebd66de8d2fac5cb9e4f70f5f75d9857becf2c32c4d845fc3c3d9d1f179a21327ca37b6e30cb663
c1c3a6dbdce63ee10adc56ffa0316e56a35c74d31865d797a82c85db8c2e2972e9851af534fa668b6c79f32c6490e254b64790526e984dfd7d0925364781e009
a889dcd6bb5b44bd39bff8e845cfdd7ddab2d33ffbc80fffe9da8d3f397d8bdf8dffce751ffff619bb1f3cede107ef7d76d9a3f7df71c3af0e8acf278d5f3c6a
26ceb84a2e89798f7d97805d7469787e1c9ce307984a27938ea6875cf1834df1aa4d81e061d36d6ed3a36b88b7d5d627519003e3200e14e89202c11310b82deb
06fbff7493154bcf79fcae5f3d3affbf979cf3b9bdbf7fc49a3fbf7ef59185ffbcf7ec4fed7cc8c205572d5f7adf1f1e583875c2cff3d8261d4e2a9d2b9f9119
5f468d8e204d3f243c17535d7a0e7d76c269973a66b3eb123c6cc06dac61b1bfadd9bdbb53de39a27d9daa272a33480a044f4003c76d2ce42647dde43fb7f9f6
fa0b1f3a61d6cd7b1d74ddf73f3177c78dafb8e57de73efa2f336e7fcbf0695fd8e9a7575d7afe930fdff2f4c3371c3b69df5cb42dfa238db8c9bbd6a4881ac3
b604e3c407e55bd960903a6e7feb1a3c6cc06de0b6fe76dd412b1ddc36682d3e08f50d9e809ac86d7d6cb083aedee347d7edf1a14bbef5a12b7eb5d1b5f33e73
e1dd6b1d3df7fffbfec13f3b60bf6b2f3dfbc907af5ff1f075274cfe19f73059f54c5745a3601ab8ad8f8d57bce8e061036e03b715ef6e4811a20065cf5c48be
480305faad40f004046ecb35dd077758ffd317fff8a37387d7997bccfa179ef7d113cf5deba79337f9e60ea79d34f596eb2e78fa8179cb1fb862c614bebf2dc2
b66c475a1271cbb6ba455f8bf550c4dbfa3d428ce5070f1b701bb8ad913d1a4e410128d01a05822720709bdac6ffb2e907df7fe0b73e74f8cfd63868bfff18bf
e397c66f7fd2b449575c78eaef6f9bfbcc7d973f7df74533a7ec99605bee76d194d8a27d6cd12bb9cd5444e0940f58276dc0e00a1e36e036705b03fa2f5c8002
50a0c50a044f404de436ef5d9f7243153226b6f066e33effcbe38fdafbd0034f3afec8b34f3be19a8bcf78f0a68b9fba67eed3775db4ecd6d93326ee42cc0766
0d572078d880dbc06d0defdb700f0a4081862b103c0181db0c2dbbdd365b3f72ff1db72fbae6d6eb2fbdefa6b98fdd75c5d3f75ec6a1ed8945a79e34e1c70def
0d708fa840f0b001b781db887d6c30cdbc4ff1ad4a1679f75b5579221f28508f02c11310b8cdd0405fdcf4b3a79e78f4cce326cf983632f398834f9e7ac02947
ed73f2e17bb2481b83b6bd7ff09ff5342a4ae9b502c1c3a6d5dce6380541394b1ee725f4ba077638ff3aef00adb3ac5e3459dbfdaf5613f90009f76112234323
c677983f3cabb0b461a98227a026725b98044805058a2a103c6c5aca6d82c38c47c52bd026fec4b9f245fb15ec990275b2489d65f5a271dbee7fb59a50b84de0
9a5cb4f122dd37701b5d2b8365a12d6b858c4bb985c49d5360d0b8cd8d628e6f7574637d01cfdd6dc580e8d7f19775b2489d65f5a2d1dbee7fb59ad0b94d2fb7
0c7b95491ba640f004d4c4785b21142b641c262e52755581e061d3d2781bb8adab3dd9562f23b4510e369533241e634a3c5194e7ec2515ef89a2ba878ec675e7
66fcd6b145cfeb1b5131a18337434abfe5c7a946ffa092b2b325946d78aa7ce02a9715ff4ae46fa2a5c85ebc29de3a1b2bfbd2d8810b0196be906aa3bd304b63
45880bb8c11310b8ad641f43f2162b103c6cc06dd1eff848ad7b415adccffae4ba3bd2a6939391a56c66ecba839c1cd043e136a26fc20137055272931dd63fbb
19d1a19bac92c3492fc5127b908e563a937102d341cd866e0ab111d32ab9b1026d6fbd6ade781b9ddb744b475a6fb6c4dc1433c1709ac223c1135013b98dd847
8966ebbdf7fd5f596bdd6fadfb91bd36f8d8c8fa1f9fbaf67a5badb61a316d6fcce443497b534285b9ca274054986df9ac74c76cae8a9361b54283870db80ddc
56be0bf73407caf2a88c0b4468335257a1b4de5adb20268c7b88b9d9a4509213736375a4c022913bbd8a09030a541973732794bf552c8d5c6844437a2dbc965e
c072e410cc6db684464ad3118d99c91779aae009a895dc969e2c65f87f599a6f7ee9cb8ba74cbbeadbdb9ff3992f9db6d1a7667c78fd13d65867d2fbd63ce41d
efd965b5d5dffd0fff98175739b62a7d766e721a7c6ceb801832dfc4c72c8c46e7c9e75fd1737aa52bd9490cde5eac1ba4cffe8df22b9591b3ca4ab939fd728f
240ea84192a490e00ee3ec188b9c2fc1c306dc066e0befd5bd4f49813699c0c290c88d1dc131243a1b51b88798db00729b77a9d488836de43611f1b285be784d
dd38086e2bfbbbc568c49885727da7cf6f76cfe4231f3cf284f9e3779cfdd92f9eb6d1e77ebdde278efed0ba87ffc71a87fedb3b86575b6d93b7fc93211ff58c
51c653298514c208732df304a19f67ca539129502f4489e6cd1f2e076e744f94ba9405469f0ef4785b22a8c121709b7c0f29ee4b28fbc3d4a4f445d1cde13b67
1af9ad18f722dea6171a0697b67c1c81341bc3b15a13731396b25061fe17ea53c4781b6539d51663d3b94ded1ca946853c2f644c8fb7e9a05632dea62320e26d
49db796f352072db261f5cf3ae8947dc3bf9a8fb4e9c71fd0f769bfdd92d4637dce8c4b53f72ecfbd73aec3d6b1cf4f67ffff9aaab7fedadffbc9af20ba7b314
632d0e3ff25955496c4c7c91fc9d9c2e2ffd95eb914ae0c7c66d6989520c2b61c7ec0abf60f8db14ebcacc6287a37293f8def0fce4bbe80be97a12aa335499e7
2fad3e46196c393a9fe5197f13bd84649a87b6a2737531a8aa4a9173352ed8ea6aaee9e4e600b781db0a4d18ed32a6a09b83c66c95d5f9a317dc5648eaf24854
32dea67b4b5489270c8e4d2ae552b8cdb8b259f93aa9e258a1fd6ddea627729bd1ac24b785f9a617caaf044f404d5c27ad8adb98c45bacbbde5d13a7dc3df1f0
7b8e3b76c1cff69afdb9cd4ff9d8678e5ff76347aeb1f6a477bce7d0b7ffef83d7f8c0ae1f5aeb6dff2405de4c2c956048f255842c19592848a7204b1ea2d420
911aa3120ba51a7b710f227849e26771202d8f47fc187b435c4973989316631d415f1c28c5f504cc62a88b0cb58212cce23ee5b189a74d6a60f4d05474ec8a5d
5569bc6452482ccb9db7b99a27499157f0b0c13a29d310f725787fc4fb6e40bf35a1107b398255a2cac12c624b180667c4dc4a721b85d288fe07eb160d49da0d
077ab7ac9cdb6cfbdeaa1a1136fc92af97e1361b6999a4cb3dad9758e8e0729bb23f2cfe574bb47ecab04f26bf2fafb5f69d1327de3979d25d538fb979bf4367
6ff6959337d8e8d71b6fb2ef3a1fd96ddcb85dbe3d7eb75df2e78d1a6360fca2fc5fde8082930cc11eee606e99d2c36d82d68cb9255022e529c5a092b2d40252
27e59c994b72fe226e97a10faf5b0c5f3c8aa617246a2ff6ffc936b9e2e486a215adab9a489d66a5b8caed45ebe47a46aabf4919709b31dec62e3209f1dcddaa
e698fee66343373a6a304bb90a14c213613c5bdddd7442f1cdeb928320ddf9db188e6748f48d68a6e7d92e6e23c262e54380730f7bcb392b178908257208603e
4a11465763ddba156ff3b631719d54e4f3890f7ce0d643a6dc7bf0a4db0e3964f6cebb6db5e1465fd864939d77def9b0c30e3bfdf4d367cd9ab5ca2aab64851a
b92d26b4e87602233170aa9001c852072ab7f1f8961cfdcaa5e4f71d480c941567da81af46f568f0a4709bf14e83d8912cea952dddda6989828c661a4e3db0d1
b37e5d6e0529f0272e0f1ab729ffd4e17f3ad0cd6110fdeee03920de9faa461a08a8d20145e12dc5d24d6301c60e79f4dc74637a89eedce46f0599715a3556d9
eb9b92a19c0fcfd65d97b05ec3425cfc2d81887a857f252ce5248e8472b64a11c60cc3fc0f482590c8c146ba8d11b6d28a64076719fdf196a8e763f38d59064f
404d5c27f5b65f516e63196ef4bef7dd7cf084db470e3f60bb6ffcd7b65ffbc9ae3b1f7dccd1679f7df6ac134f9c3c7efc066f7b5b56a885dbf89a620c299615
bd24b4967d6ba8087d7f5b1e1013845b3a3a9c6c21e35e1aca8ac35e59902f5d4ecd2f4152e049ac9ce6ab2c558aa3505a2559b7cc2fcd435bd16e55a5cc8514
f2ed22c922b2d555f39d1ec1c3a6edeba43656a35f07b7797fa6600005a000148841d97cf269f0043428dcc6b45bf7dfffe386fd0f1ff9fa77f6de7bef43470e
fdd14edb6fbae17aab0f0dbdd57b5f82e87a82bab235419990a2f044440ec615c324933cb8a991301110119bd8922bd15d04d93a695a10cbd354566e5553dde2
2fee4b486f6b50d649b3988c6629be52f088b3593e9618fb90ee7b93135ab94dae8b41551e638c14e652e8159773ceb99ac8a4df581b3c6cc06de0364c485000
0a40018a0203c16d94fb128c2b3eb6389c50769d77bc6b972f6cbaeebaebbef51fffe1ed6ff9078ae295db8835c0ca73ae2043d326b00ab2ed7b16a6d5e33261
6a701bb8adef9d1a0e400128d07c051ccbb2c1818326c6dbbcdcd6fca6727aa8ac6436a9369de43671cfaca674f0b001b781db9a346ee10b1480024d5180b807
ae4ce000dcd694c6861ff52b006ea36f68532cc16df57757940805a0409714089e809ac86d5d6a18d4a5c90a040f1bc4dbc06d4deed8f00d0a4081e62b103c01
3591db7ab74edabb9c9bdf45e0a1ae40f0b001b781db30a0a0001480026514089e80c06d656447da762b103c6cc06de0b67677fd1e7bef7ed25b8585eb4f4aab
30736405057aaa40f004046eeb69bb20f3462b103c6c5acd6deec7edcac724389eca0b6e6b74cf6e8073f2437d7bed4e9d65f5a22e6df7bf5a4de40773e9a77d
c8bbfee5726dd7abf5cd9d9bf111bbca6d0a720ec1135013b9ad4ea1fb5c5627efdfecb3a6058a0f1e362de536416c0e20e3875c7103705b81ce04d3bc0275b2
489d65f5a29ddbee7fb59ab8b92dfa17a3e531b68e276e54eba12337f7c90d4ac2e00908dc16daa00a72851158582ab7cbc63c7b5150a872cd49173c6c5aca6d
ee2347f57b4bc16dcde9abc19eb88f960fced69bb04e16a9b32c6fc5030cdaee7f40951d49c06dafbe31f6fa9fc7fef466f47ee32f636ffe3579b3098befd107
b78576b976715b682dbb9d0edce67e0e08b8adedfddf086df29e30715ca6f122afbef2956def9ad1cc26a09754f4dc9c337d746ca6d7c0b619ce5896638b9ed7
37a262746d29fd509c1cca3f883f8d69651bf659b151b2e2df3a3274e746715eb6a996db94654a773cccb1d86acb875d979db7e5608c05064f404de4b6deddf5
5965ce366ecbce5fcace5b4f4f77904e46570e625252c5998f46273be50f674acee6cc0d847c52e9aff83ca82413ee6d966d547c92b5eb54aea223ae65f6c1c3
06f1b6e8771ce7ca37bbbfbb236d3a391959ca66a6709262e6801e9905e954e7e6bca2dfba2b253b4f51c9a19bac92c3492fc5123b9a8e563a937102d341cd86
6e0ab111d32ab9b1026d6fbd6a15729b4e4b466eb399e9bee9c995b4e24fdb75912733089e80c06dc411a199e50e018d292c39b533252d7d69929fc32e1da09e
9e769e7c119521004b45b6d8019ddba463b3e223e4d31c126309ced2333db3a34f956346076f2d3578d880dbc06da13f1c35a5a32c8fcab84084362375154aeb
adbf0d62c2b887989b4d0a238f9a50430df851804fe45321b77981cca8bf9bc6e46f154b23171ad1d0dbee74031db3785a2f2a953133a6b5819d6e6cf4397802
1a386e63213739eaa6fc49ef3a2972a52924de12a1b404bd9480968c47b65405108a9fb72e85e5445a634169c82f0344e54a01095a6f1a3c6cc06de0b626f77e
0ab4c9041686446eec0866112269c9fa07f8ef003207ced27d6b3eb779974a85c22de5369de42ccc3ac2a0ca4d6092146663a381cc6adde7b626ff2066be19d7
4975de922364d262e5529e917e45be5e400889de0a719b7ce07a01582ce059934dc16dd8dfd6e4fe59c6b7a2e8e6288b2388fc568c7b116fd30b0d8033e6a72d
9f32dc46f1adc9dc46594eb5b19a1e6f533b47aa4e99deeb4e4b8cb7f14cb8b1fc5632d70dbcc60ef76c313fdd67762578026a62bcad77ed5d65cee6fd6d113f
e5b6a4496629c265ac245db1a6caf96c5a271d1ee510989624564e29f1b668d156da7527626f552ad5dcbc82870de26dd10f22f6b735b76b479e51d0cd4163b6
ca1189a4f2789b972c8d0644376c313607deb91b9fa812cf84e8a4b7bb856d3e8be1c6b5e32d20dea6b85a687f1ba19a052264464a932fda28d0e886d7d8c867
0204459efc4af004046ef376128b8199dbf816b4dc7d083c1416ed7f8b6f1488202bbd945d71aca5cae5ebdc26f2e2fbebe217cf3ecb9c5db285fa2467d22d7a
a182b4305df0b001b745bff5e0b6c6f779faad09856266149a0966115b424786015f39aa606338076051288de864b06e5efce2bdd5b823ad726eb3ed7bab64c4
d8e0c916eb72a31b31b754bd02eba40aa5b182bacc6d55def5996fb1dee55c4977ec7326d2dd117df6a4aee2cb73dbb6db6c77f041876ef3b56df907c6beccf7
29a75ccafe3dc4df8cf0264d99ea5e8eacff5be627a5508719b8adae4e5ab61c1bbad1518359ca4e50084f84f16cdebbe984e29bd7256140c98d186f33a21b45
1007f3295fb58bdb88b058b6136be96d612dd9508f72c5de1ac08b921bb8cdd388bda3abdee55c79bfac2d43110e34dec05a9b1b7d29a83cb75d78e1c54f3ff5
2cfb2fffd0706e93ee98c93e1a1fb7ab5b2a66e0b6bef4d84a0a1550a5c38ac25b8aa59bc6028c1dd5d173d38de925ba7393bf1514c569d55865af6f4a86723e
0a042b705912da948d6b62e799229dbe234dc12f25a19cadbe378ea795df95f4526f2602cb8c7c2610cd6b2603996cac89a6ee9363c66e1b1d22952bc1135013
d7497b4757bdcbd9dbc960d0400582878d5827dd7597dd962e7d7c975d76e31f1ace6d94181bd106dcd6c0fe0c97a00014689102c1135013b9ad45bac3d5562b
103c6cdabebf8d08670e33705bab7b3e9c870250a0ef0a044f404de4b6de45c57a9773df7b001c08502078d8086e6be9fe36705b406f4112280005a040850a04
4f40e0b60a5b0159b54c81e06123b8ad5dfbdbcae39ac801f1b696f575b80b05a040c314089e80c06d0d6b49b853a302c1c306fbdbc06d35f653140505a04007
15089e809ac86d1d6c1f5ea5c13b90a0e14d193c6cb0bf0ddcd6f0be0df7a0001468b802c11310b8ad64cbc60fcc751f33603c78aa64b1c6e4462e042cdaa50e
1e36d8df066eebc508469e50000a0c8e02c11310b8ad5c2789a8481c8360c9aabfdc56ae7edd4e1d3c6cb0bf0ddcd6eda151b276ee27bd95cc5c4eae3f29adc2
cc911514302a607c78af6ce9780e9c6c163c013591db7a77d767e5397324cb1d382a626f09ae65275871c01b4d8fbd4a8e31cdbe8f2fc4a9629bdc31a7f1f159
6a584fca9a1d71652c6878be74c295bd685fc8b0a3c33778d8b47a7f1b7fa6aef71e05f1e85da325b8ada363a2b26a9579846c5127ea2caba86f14fbb6fb4fa9
23dd463ee18372c6ae03adf447e3463f5ce931f37497144b2fb7717baf59f004046e0b6ebb14b296c6078272a6d28f72972fc66495e05892243b873e390e5eb6
915d339d28bf659659c67c891ba220c16df6a20776e35df0b069e9fe36416c5e6e930d8cc6e0b6323f1c8390b64e16a9b3ac5eb45ddbfdaf56934ab8cdc667e5
a18d5e59701b5d2b97258bb7f1b73052fe2c564c466929b879b94d89c629f68cc30a6c47e32754496139e382aced4479a3abc5eadf7aebf2dcd6d2e7b7b9b94d
ff56bf026e6b4bef0f8e5894ac609d2c526759256531266fbbffd56a026e7bf58db1d7ff3cf6a737a3f71b7f197bf3afc99b4d589c5e9a186fabb613f42eb76c
61328e634448562bb7f19a49f45688dbb2c5ddc1bdd1b53cb7b5f4f96dde789bb2360a6eebddcf484f7336429b72bc2677c078d1f8956def9a7e6aa7ed2c4e51
9ca3ee7a6e5e63af816d339cb12cc7163daf6f46298c6ad02dbdfd449c1c4a392ad47da2a892152fda7832a9fc9572aaa9d7619b0191dbe43d64c6c896bec9cc
b1edcc9b5b5ad3ec94526f05072bdee695a31906c9c266e20cc720e95ab6b0292e1aa8ceb44e6abc3bd5b44e3a1cafcd66d8e528c85c745a5281205f33b4afc8
8bf2dcd6d2f349c16d15f5a04667e38eb4e9311e63d4c766a6508862e6801e9905ed3377c400f2b7ee8854d16fdd95929da7a8e4d04dae85c349b7fff44ea6a3
15bba227d72f1aaf888b72b6c4b44aa1cc0bdb5b778fc26d3a12d9aec8d76ddc46c94df6d30b6432e4399a2f780242bc8d3e28f2962aeb24f12b1184936f33e5
31b1dc8da7726c2cd9019edfa3a6f865b82f81e79a86fa627b6b41c640609601ee4b185bfecad88a57c756be3ef6d29fc6bc61ea96ee6f1351b442dc6634669d
6d642437b3860e24a4eb890294e551191788d066a4ae4269bdb5b5414c18f71073b34961e451136af84133cc7faf5c799e5029cdc86d45494ece44c9d0963fb1
dc42b513c6366c52ae8b3f155ca35097db869243f40b19df003128dc56f95d9f42b8dee51cd6ff9a928a015cfeeed5a638d6633f82ffb9d3f6e7b7d1b9cd6609
6eeb71df2c953d05da64022b8914e0b6e0b09c918383db9e120c93e867485e2d550ab5b15a87b94dc63b705be14ed83bbaea5dce852bd9800452b86d20a96d6c
ac3cb7757b7f9b03efc06d0d18c12e178aa29b232f0e25f25b31ee05b7e98586c1a52d1f4720cd118624e6c6f4a1909c90d151b542dd8cc86df2ba27cfdf9dd0
1d6f533b47aa5121cf0b19eb80a544d4d24a65e12e99c3742613c925a87585cabc8134dd0163058327a026ae93f68eae7a9773a16e07e38628103c6c5afdfc36
b65a4a89b7b96dc06d0de9c34edef2fbe8a0315b62229104b34840c230a4932b68633507deb9c525aac43309a8b2b1740ab7195730cb709bbf9345152cb0bfcd
9b61003639b8cd981be26dde56800114e88f02e5b92ddd6198fd3fabc994532e65ff1ee26f467893a64cf53ee4b666032fb72906ba3db8ad3f5db660a9f45b13
0ac5cc283413cc22b684617046ccad24b751288de87fb06edeb0591a042a7ca742dbf7b72983466132705bc11f158b79efa262bdcbb99a9a23977a1528cf6d78
7e5bbd2d86d20a2b6043373a6a304b5b684a5c37929c92d09b892d376f44cacd3af49aead1afa269c3aa60a3c6a28d5d7fbc8d088b452be2b5d7618b722525d7
dc1a28b8cdab36c9a07774d5bb9c49158351c31428cf6deddadfa647078d81378a19e26d0debcb05dce19420de32acb82f2adf2a452ad9528c1d4eebb9e9c6f4
12ddb9296ac89e1b6be1f5cd2dafb1d67a92022d1a9b8a161509f52b29b8a83b1615fc5212cafbe1f4bd7172d1c66f8b568468cf794b7ecb090b5dd7b312576c
79daf28fd5501d33a221b30c9e80b0bf8dd84960d6410582874ddbf7b7955f9605b775703ca04a50000ad4a840f004d4446eab51371435d00a040f9bb63fbf0d
dc36d0fd1e95870250a0010a044f40e0b6d0d6cb9f72e57a904685a71118b3aa30ff50315a9a2e78d880db106f6b699f87db50000a344481e00908dc16da82ea
91f0f627d756c8551566155aef2ea50b1e36e036705b970602ea0205a040fd0a044f404de4b6dedd3d5065ce0a42a57f4a61387efa67762139783ed9f5ad9d42
6a38c9ca9e787878cb2d4747a383ae86e7f3a2e3ffc657a25712ff938382c6634febefaa4d2a3178d880dbc06d4deac8f0050a4081f629103c0181db421bdb70
3e697eb1541c1e95594ae749e99133d3c9f15ba600367f387f7a690c64199c2547da67d6d121f7f169a5399bd0ba76355df0b001b781dbba3a28502f280005ea
512078021a386e63213739eaa6fc59a0b56cdca687b80c47c8e78262f642f94954120eca5989f899146f8b027c3cc69746e072570a546f204c83870db80ddc36
10230495840250a0670a044f404de4b69ea95469c6c675523966a63356e0ee3489de0a711b4ba7b05da5027420b3e061036e03b775a0fff7ae0aee87b755586e
f9c79e55e80cb21a1c051ccf6fa38b103c0181dbe822e72d731096ae484a1733848b3ef19899b470a9176b5a271d8eb7c8a50134be592ebf60ea8aae49e01688
8ca1e2b4245df0b06935b7f160affb5120f2a3778d96e0b696f4f1beb9299f01d06b27ea2cab177569bbffd56a229ff0a19ff6417c466eb52e29b9d99ea35bb4
d0e00908dc5654ead45e5e0fcde25a319ac5af2de35b073876f18bf9fb12f8dfd2cb705f82c82cb34db2923277ad8a661968c585d6bb4be982874d4bb94d109b
9bdb946f8dc6e0b62e0d845ed4a54e16a9b3acb66bd50bffabcdd3cd6dbc2c9d9caa62294a5daa2a2b78026a22b75579d727a51106c146ba236210aa4bac63f0
b06929b789c89937dea6c4d8747b701bb18ff5ddcc7db47cefdcab93a5ea2cab178ab5ddff6a3509e33623cc55eb98c80ddc661016dc56556f93c26dae070357
555cebf201b7110f4e00b7b5ae6f73878dd0a61caf995af2b32593b75c5ffd384e236718cd6cba794945cfcdd10425733396e5d8a2e7f58da858dc4039d9cbec
0be419c5f892656a134d29553153b2e2df8a8b7a9eeedc8a8e9daab8add08aaa6e6c74db98a74910d7d9a90231832720c4db8a762ad8774781e0613350f136ac
93b6b4c7bb236d3aeb3868cc8871fa4571c5cb1f6ed222faa6144767445bfeecbacc52e2b3a3a6461b2513998c8d4e7ab993d80375b4e224a76319e58a482b67
ab6748b9c2bcb0bd75f7aae2b6143713841205e9d132ca15d94f77bc8d9e5bf004d4446e23f651984181920a040f9b01e136b11f4e0fcb45ff641c892639bc9a
a900657954c60522b41911a4505aaf5c368871c04dc0574a129b140eb3a23017e0a4572b0a7e513271b397fcad6269e4c2e8c781d2ff289e596ce86ce466acd8
d508ec4c746bbeee485234b7e009a889dc8675d212fd19490b28103c6c0684db38ae21de56a04b35c3943e694a4b6a660aa78482c06d940061d3b8cdbb542a05
a8b2a05da3b84d59b5340e3e705b4dbf49e0b69a841ef862c06dd8dfd6d5415014dd1c3ac86c4747340af0190bd58b2b0397c4dc0ac5db6c79168dc009fb60ad
c2e26d94e5545b8c4de736f3063d7aff0b1a815e1a93a0d31a36e3360afc9564c142b9054f4088b705f51a24ea8402c1c366a0e26dc6905bf47b8775d2668f02
cad4e94522bd8a94d8124b15cc220109cb87b20a711ba5d9892af1ac02aa6c892da9bbd9289bcf627671250c582755dc2bb4bf8d226fe5dc462994c28274c758
6ec1135013b9ad9082b51aa7f767e2e6cc5a65ef5961c1c306dc066eeb59afac3263faad09f4409ace1985d27aab678398303823e65692db289446f4bf0cc351
282de04e85006eab7f7f9bad5f7941ca66e04818f0953149f004d4146ee33ba08d2fef387719644fc7b5b056818304e473a34a3985c40d512078d8749bdb940d
6dd8dfd690ee1ae6860ddde8a8c12ce5a2299426c278369fdd7442f1cdeb9230a0e446e436636c8c22883ba8662bbd688bd7cf6dde585dd12a10edbd3446898d
396cdcf917fdd6661f3c013588db8c0dc6e60c62435acddc6446e7b6ecb8aab21e217d4314081e362de536e3bf8b8c5bdc644b9c73d590ee5a951b02aa745c50
784bb174d35880b1a3467a6eba31bd44776ef2b702b038ad1aabecf54dc950ce478160052edd38ebee00629f998423c983dc9484fa8e3405bf94ace4fd70fade
389e567e57d5518df9700652de252de32a5499a737376e103c010d12b7c588369a9e43951ef399cc50f943a8e223a8327b662b3dc276cbd1f9ec9850295ddc69
328328e72ccea79c66d5d32e8dcc8b29103c6c5aca6dc4bb102866d12f1df6b715eb6eb0860250000a640a044f4003c66d43c901ef116571a0cae26dd25150fc
62cc5ed9f2aa313297245262715a56e8ab8d542078d880dbc06d8decd1700a0a4081d628103c01358bdb94751c263f5f27654f06097f3888e02d19bcf48bb973
e259b1c3f3155053920b5f39e1c961353dabd674a4c1723478d880dbc06d833554505b280005aa562078026a16b7e9b254b9bfcdcb6dca92a68ddb222c4b4d45
644ee136ac8e56ddc57b915ff0b001b781db7ad121912714800283a340f004046e6310c6d742a30d6ab99b4e1ddc26615b8c70fa3a693eabc1e989adaa69f0b0
01b781db5ad5d3e12c1480028d53207802ea3ab7c9cf0131c6dbd21b0af2f7250c4534665f2715f7206c393c9cac904a6ba3f9fb12e2ac1ad761e050a440f0b0
01b781db3084a0001480026514089e801ac46d3d797e5b195191b6eb0a040f1b701bb8adeb8303f5830250a0b70a044f404de1b6deca83dca1804981e061036e
03b761483914703fe9ad42e9f427a5559839b282023d5520780202b7f5b45d9079a315081e36ade6361ed8a63ca48ddbe0bc844677e2a63a57e611b245eb5467
59457da3d8b7dd7f4a1de936f2b3f6f5e7ee8b47daca19521ec3eb75c076aa8137a16ee0ae82b00f9e80c06d018d82241d512078d8b494db04b1d1b9cd067988
b775640cf4ac1a75b2489d65f542b0b6fb5fad265ee831a25bf48b141f4210ec4cc9e472b9de2a70e3e009a8f5dc16fe5cb7e0e645c2ae28103c6c5aca6d22c6
066eeb4a17f6d7a3fc4981fe324c1675b2489d6585a9e14ed576ffabd5c40b3de0b681e0b69933679e7cf2c9a7c4afd1d1d1534f3df5b4d34e3b3d7e9d71c619
1b6fbc71b5dd0eb9b54501709b7bb594e31dd649dbd29fddeb35e25be5784d7edd78d1f8956def9a92839b45bca4a2e7e6688592b919cb726cd1f3fa6694825d
3435907e58687425a0cb899343294785ba4f1455b2e2ce184f2695bf524e350da842dadfb2a4c67f75c8aba27229c68099b2846a0cc8e936b6d81b25b7783479
aac0bf0e9e800682db9e7df6d9152b563cf7dc73cf3ffffcfdf7dffffbdfff7ec9922537dc30ff95575e79f5d557b7dd76dbe01e8684ad562078d80c42bc4de0
1ab8ada59ddc1d69d359c7483f3633852d143307f4c82c681396e89b42a26572931dd63fcb39137dd31570c0a5973b893d50472b76454fab5f345e1117e56c89
6995429917b6b7896549dc16a3646e6154872dca1551988dd51c06b624e036628f75997162bbe9a69b1e78e081f3678dbff0f41f9c77c407ee9cbbe1dc4b465f
7ffd75705b0512b7330b709b23de066e6b67a74ebca62c8fcab84084362375154aeb55d5063161dc43cccd268591474da8a106c9887847a158af621258a89466
e4b6a2242767a26468cb9f582ebd6ab2a54c4bb6cf3ad579f9cccd6dee085c58458227a056c6dbf85e69e3cb28df0b2fbc70e38d0b6eb866e2bc33bffab7570f
f9e373df7fe3f9bd5e59f2ee0bce3de84f7ffad376db6d97a4721c484a6f16e901bc210fdc359e5e4f2f1d964514081e369d8fb7c93136c4db8af4a946d852a0
4d26863024125505b75128ada4c8948e450986c990e75851b5b11ab84d69086f94ced170c113505bb9cda8059b608cd75f7ae9a539737efbcab367bef9ead1af
3fbac7cb8bc7bd78edfb5fbdf33d732e38e6cf7ffef3d7bffef5eab88d9da420686dfe70eed82ccab8834dad0a040f9b6e739b026ae0b65a3b65458515453747
b162c9cfb6fad90b6ed30b0de31e5b3e8e409a230c49cc8d8949213937f806740422b7519653e9dc26c39f030403aa634ba2a092f8d3769d485a94781bb7d1df
61b50b9e800682dbd83eb62b2e9fbbe2ee1fbf76ff8f9ebff6c32fdeb6d58bb77e6ce56dab9c7bd2c67ff9cb5fbcdc9645d03892297fc711b25176b869742429
e3360dd61cf6b9734de3b459bc4d1ca615e7a83a11d64f902aa740f0b0e93cb7e9c16c654595e9383212b27b1a5db0360528e8268308d13122913830cb5d5040
c230a493ddb0b19a03ef8ad6a2bc93de06a2709b7105d39d30609d5471b5d0fe364235d5e77dc8202592175dd9a4709bd7b74206c113d04070db6bafbd36fbc4
1ffff9d9435ebdffab7f5cbaef9bcb777bfdfef55efdfde7cf9cfc96bffded6fdff8c63712ad8deba4125ac5013489ccb87d4c5402d612dacae0cd6f9fd872c3
c407fda0fa34472ca4161a194ee3e061d36d6e53100df1b6ea7a5cdd39d16f4d281433a3d04c007e71756c09c3b887985b496ea3b02cd1ff60dda27f4a69ed4d
b9e24d18c06d463aacaaf71b014ba05b25dca61751940229950d9e805acc6d4a48201ef0d13a297ba29bf250b73ffef18fe74c1bf7e64b27bcf2d0e66f3eb3c3
ffbc3ef2dc95ef7afde16dce387895bffffdef1e6e8b408dc7d2e297b47d2d76408e90492d251279ed53ae9b3f1c47f3040bca9be3f44c289d02363e0582870d
b82dfaad47bccdd7c19af0bd0ddde8a8c12ce58a50084f84f16c0ab8e984e29bd7256140c98dc86d46aca408e2e051e5ab76719b97f97a310488dc16fb668ecc
19bd928d1d45c869dd213a6fdd8327a016739b2e8a6d7fdb1b6fbc71ceafbff6da23dff9e393df7bfd91cdfff8c8e6afdcf6b99557aef29bc3bf48e0365e4e0a
627ab8cb1a0053d63d537f557bf6771cc6138bb03c86a7705bc83d0ede6e33e806c1c3a6a5dca6af7e1a6369f2e3794512ac937666b408a8d26145e12dc5d24d
6301c60e49f5dc4c3ff8e6bd55144b1dfb841a72358d55f6fa261bf082f42b8a935e036ff7135a084bfd0aff4a574dc12f25a1bc1f4edf1ba767e875b58c8188
ab11994cb1677f3a4a978d1d6ce73523563078021a086e7bf3cd37cf3ef580d79ffcd4caabfe9f17af7bf70b57aef6c2bc556e9af14f77dcba30c76d119c657c
942c552e1d1d8e77b5a5a1b008e0725bd864c6e20cc65fc975a77d6a383c9c609b7d9d54df3747ec1b30b32a103c6c5aca6df43349bd96d18f35e26d185b5000
0a408150058227a081e0b6bffef5afec5120e79fbef10b770cbd7ceb3b5fbee5df179efade9bafbf98411b7b6db1c51699ecf28a648270d9fd01c905c526171b
33a4cf2dadeab1344e78f23aac7af783725fc290c496a1fd05e9620582870db80ddc86310405a0001428a340f004d4566e33aef8d8d649ffe77ffe87f1d9cb2f
bf7ce1b9475f34f3cbb3277d68c9a30fb12b6cdfdb1d77dc514677a46db502c1c306dc066e6b75cf87f350000af45d81e009a895dc56546e1e57d35fb7dc72cb
f6db6f5f3437d8774681e061036e03b7756614a02250000af44581e0096820b8ed3aed356fde3c76c0fc97b7c6c9a47de9ae4d293478d880dbc06d4de9c4f003
0a4081762a103c010d04b7b5b34de175cf15081e36e036705bcf7b270a800250a0d30a044f4083c56dca73dddc5de2d3d2abd39d67702b173c6cc06de0b6c11d
36a8391480025528103c0181db54f939adb1abecbfc7c52ff127ff80576714081e36e036705b674641a18a781fa85b2837184381415620780202b7e5ba0d23b3
a38e3a8aa3dbedb7dffe40fc621ff815fed520f7b38ed53d78d8b49adbf8bdd88e27b4e9376bebc6e0b68e8d057a75ca3cd09f5e0a2ca140e715089e80068bdb
dcfd8093d985175eb870e1c2b973e79e79e69933e217fbc0fe6417d95740b72e8da5e061d3526e13c4e6e5363c77b745fd9c727e7c85d501b7552826b21a6405
8227a0ee739bed496ffac3de78508df1d9ac59b3189f2d5ebcf8e1f8c53eb03fd945f6955845e5bdcdf4985dad1f8a07f3124fafc2c9f1750de5e061d3526e93
0fb072c7dbc06d75f54143398538ac9071259502b7552263d14cea6fe8a21ec2bea802c113d040709b514de3437a1996f1481b6335f661ebf8c53eb03f79d44d
5e278da04d3e162b3d0f4b2dcec66db64606b715edfea1f6c1c306dcc624c73957a1fdce95aed0f4ac18d30f1ee51e104f14359ad9eae0a5bae0422d3fe39e23
4af50d798e2d7a850e1ea59c284a91ce5ba8a878a1bed18bce893cab552078021a2c6e93594de136b1a74d409b40340e731cddf85eb7b8f172879966cd9985e0
d4f3aab66487909a4e8bcfa750d357db51909bac40f0b0e93cb7c9516a63ec0ddcd68ba1546862b619ebe46464299b19bb2e574d31f3de97e0e6b6b04205622a
9a137d2b2988b15059255b9529ee117d03baf562b8f53dcfe00908dc96b41dbf7b94dd85c036b4b1b5511666931b95fdc92eb2af9801338bbe3247c518cca507
cbeb6136e33aa97438e9fce1382de26d758da7e061d3796e9359cdb8190edc567927ad04dab857320d10a14d4f48a425ba0e85f846cfd688416e923356ca582f
a26ff4b414d9e985e6499a2e392c1bad40f0043428dca6ec728b87df10fb2f7ba21b7fa85b096e4b2364fcccf85c49790e33ef6fe3e7d6a7b4076eab71a0050f
9b6e739b1e60d3d10ddc566d3fad10da64587144bfbc0b9a95739b2d430a7be9692960d4346e0baba90961abed7dc8ad3f0a044f4083c26de9008e584dffccb9
8d3ffb23709d943399315446ba2f41a237c4dbea1a44c1c306dc066eabbc9312d18d68468124efce2a3a1bd1d520166adc19e65d9d243aec58ae35962bd78eb8
b249c7626f4d35daa38b0dcb462b103c0181db72ed1a7e5f42025b117e49a1b33873b1126a59274def6748bf96564e1bdde9daef5cf0b001b781db7ad1fdbd4c
e63590fe5d9a6dd827ba5a2191104b34c22585786c545a92db286e57a812b1a6796aa4f8089b7628103c010d16b7e50740167be3d7ab790e88e9d1203c9816dd
9790ada20ecf97508f5f16372d24f6a34bdbd1fb5aeb65f0b001b781db7ad4eb1d645614dab8874494311a174aeb1584b89dab8c19d161227b11b19258a8ae0f
b1a6128b7b3586419b14089e800682db6c8f70535a18cfdd6d5397afc2d7e061d36d6e5376b3e1be842afa5a813c8c7c16066d3674136b73f97fca46213ac551
852d8c09bd99c86e284510a1876266f38d580522cc11cd8299cf0e7305ba104c5ba140f004d47d6e93dbcf7bae3cceb96a4577afcac9e061d3526e33fe03c6f8
980f3c07a4aa3e56493e446853764a29b4240341a13d5501c6c65a07e42327a1e7698b6ce90e1821d551a8fe95db436f8902efbc35ada42321934629103c0181
dbd476142722f03b4c71ae7ca33a7ab5ce040f9b96729bf71404ba016b083c77b7dade88dcca2b600b5695cf19394081ca15089e80068bdb0ae9ce014e39d8aa
500e306eb802c1c306dc066e6b78df1e4cf7c06d83d9ee2dad75f0043458dce65d27959b1fdcd6d2c140773b78d880dbc06df46e06cbda1400b7d526350a2aaf
40f004046ec33a69f9eed7d61c82870db80ddcd6d64edf51bf8d7bfb3a5a5754ab230a044f40e0b65c0fc07d091d1910b46a040f1b701bb88dd6c5600505a000
14302b103c010d16b7b9bb4fc5cf01d18f3dc041080d1bbfc1c306dc066e6b585f863b50000ab44c81e009a8fbdc667b781b3f9f547e053c77971f86903d3057
ce0edcd6f841143c6cc06de0b6c6f76e380805a040a315089e800682db8c4da7731b332b74ce55946d0467ec180471d2815414b8add14326722e78d880dbc06d
8defdd8983de27e5b6a522969ff1c2c779b5babe70be4b0a044f4083c56d32ab29dc56fc5cf914db4697b263a93270d3cfb9329d7cd5a5ced7deba040f9b5673
1b8f40131fd526c2d58a3db8ad45ddbef37759d65341db7383f1c8dc168d8546b91a3c0181db9276e44fd97de0810766cc98f1f0c30f6fbdf5d67203b33fd945
f615336066e95769482d0337e95c79fda479ec6f6bd4a019bc789b20360ab7b9f10edc56a62f13cf3f2853849cb61eaca9cadb807ceaa9a0f1bc2ce16d3d3e04
8883248d5500dc666d1a1e575376b9f12becbfec896efca16e21dc9671580a6e3299f1cffa95c676a2c1732c78d8b43adec622675e6ef31a80dbf2605460f0d4
0c6df16f9de1e0d1021e37deb49e0ab682dbeaef5d8def1dcd7530780242bc2d8bb73174bbfdf6dbcf3cf3ccc58b17cf9d3b97fdc9bfe39bded845f6153310d7
e5f54f36cf454ba5e0b6e68e118367c1c306dc066e93022d053abd32add24f14e565108ff8349ad9bca4400f2543f7599cc66f8d7bef8875cc73b3074c0bf966
945a57cfa69b6dd9d47db6a977b19572d469ea79810e09d33e2a103c0181db72ad56e4be8408db86e7a7c993885bb6621a7d1da19c7ea58ffd0445e714081e36
dde6366fb08d45ecc06d0173a42d16a2138091096c66ecba0362bcf72578b9cd186772172a1053778c2794bda2d4cbed64d16f0bc91bc0bb6ea4b36922f3a252
28b18784fd5b02b342bf14089e80068bdbf203a6dc7340d4cd6a299f453bdca257769ba97ea55fdd04e5e615081e3683c06db63b12f80d0ae0b6183e0a8c28b7
b13c3113a9c238cd174a4bf19e922111536c7524428903ce02bef2d6ab28ce869196d70d23013b080fe846e9d50db1099e800682db6c8f70531aafe2e7ee36a4
6bc00dbb02c1c3a6f3dc2687dc8ce137705b85d0264fc30108e208b6512678f72f84175fe860d17c6e137529536b9be61444a3b3b84376a05b5b26bde009a8fb
dc2637a1f75c799c73d5961e5f899fc1c3a6f3dca63cf5434737701b3dde46273c2f2e88e545dbea271d0e8823c8eb522bb84dd7ad241fd3b029db75470c493a
b8ad5015e89d93d80d60d60b05822720709bda1cfc416eec2abfc394bdc49fe28e845e3421f2ac5f81e061036e03b7a553aca7db1685360a27490115753f3eb8
4d698f427a56186f53c0ae3cb715fa79a4f7ba42d9c2b85a058227a0c1e2b642a27380131857282d8c5ba140f0b001b781db2478b27676faf4d9aefd6d443652
60a5f9eba4de56902b4e2142394866ec2514ce2ec47c88b4b562eae14e064f4083c56dde7552b9c9c16d2d1a0061ae060f9b6e739bf28037ec6ff3f62e239f85
415b1ac63307d2d814ee4507232d2909bd99b80d7492287ac54d48fa2ab01b928a7e4ba1252560a6f7810ab94d6e9d92bed17b9db757c3a0d70a044f40e036b5
69b04edaebceda9cfc83874d4bb9cd78838eedc02bdc4f5aa6a312a74f65d3920c6d0abb14dade1460ecaeac9ea18d636c1126e5ba5c3b1ba519c5d181b25adf
0442394aa7942885635dcf9633b6942332e70de095e9b4485bb302c11310b82dd752b82fa1e68edbdfe282874d4bb98d782629c58c35dcc8482ef6d3dfa644e9
5d528012ca6a4b7d8bc602db522ff8595e81e00968b0b8cd2d74cf9f0382f349cbf7f44a73081e36e036705ba53d1199e514e80cb7792be23540cfe8b002c113
50f7b9cdf6f0367e3ea9fce22ba40b172e9c356bd651471dc50eb66267c9b317fbc0fe6417d957d96d0a0a845198cc614349dee1fedba7aa050f1b701bb8ad4f
7d76208aed0ccd782be2351888f61ed44a064f4003c16dc65ea1731b332b70ce15b8adfd832d78d880dbc06dedeffe0dad81775b5b43fdcebb45a905c5a61595
8593610a044f4083c56d32ab29dcc6036905ce9537725b74717878cb24c6979c5e2a9f3f1f9d581a9d3e9f4601e3bfa50bc9e1f4c9d7fc5bbc7aa540f0b001b7
81db7ad529912f14800283a140f004046e4b3a087fcaee030f3c3063c60cb636baf5d65bcb3d87fdc92eb2af9801338bbeb2715b7c987cf48a8e2565e496fc9f
2109b7e17097e5262e69450c4657aeb396c1c306dc066eabb3a3a22c280005baa740f0043428dca6ec72633d80c7dbd813ddf843dd2ae3b62c46169f343f9f45
e0d2a89980332d0297719bfc55e47412b3eb5e976d428d82870db80ddcd6840e0c1fa0001468af02c113d0a0701b6fda5ad649c5daa685db22324b514e2639b1
648ad5d1ba0662f0b001b781dbeaeaa4d672f4c79ef5d4a59a77d0e341653d6d4d64de0405822720705baef90adc9710ad71668415c1180b8dc98ba7c9f79959
026c924d8670497ae68cb4aeda849ed5691f82874dabb98dc79e1d0f69a33c9e17dcd6849151274bd55996d0b664a1b6e70f030afbd27be54738e80fa61e191a
f1bea39f1dc94cae85ed7a5f6aaaf869f32d78021a2c6e939bb0ec7340585ec6e5ce6cd24b973823128b5ed11d0b31e9a517b22b09af311bf6bd9e6dbfba5ed7
cb0d1e362de536416c5e6e53a84eb707b735617094c49a2654c1ed43c90a2ac9dd7f365f8db67b48e1365147ce3ac63f95af6c49fa2597a0342356ca178327a0
81e036db23dc9476ade0b9bb780c5bbfc64a50b9c1c3a6a5dc26680cdc16d45fac8988a75a555b28cbad24d654ee4fe51996ac20b8adf2162993e140719b2e94
8e9bc11350f7b94d96cf7bae7cd973aec06d658675ed6983874db7b9cd1b6c630688b789de6a39543e3a9552d982e6785e976d454f19134633dbb8f1424f40a1
7a597a260228d957b23db1383d89e387c1587a51416ccba6de1654dad7db5861bf70bc1b45234e72c89655aedb695d53c98a67222e9a5043eac4a5ff75e2e636
a5745b502d7638178a13098dd7e5354af9b3b1b842068eb81ab1a1832720709baa30ce9527f6b90e98050f1b701bb88df77ff75ca6939391a56c6646ee917831
99a38b624aea7994dcc855c60c1d1428e38bfed95d841b2e8b7e5bd45e1153af38a5690ab569d8cfa68e569ce434f8502fea667256cae780dc9817b6b749ccec
9a17022be1363d13226cb9d1907d6b834587db3a29064f4083c56d85c60c07b8ec60ab428961dc06058287cde0709b6d4515dce685361d8f8813bc91ab0aa5f5
0e3e1bdf78e1cc8b74720ec1d8eac5a9587c953b6d3c4ac9cd98215d73c532c037779319f1cbdbcad1203585dc24e6c8384fb13472a131438a1b0136e5b9cdcd
5e36f0725ff76299d740962278021a2c6ef3ae93ca9a82db02065bbb92040f1b701bb8cd1b305070210c89dccce10e2fb90763d1b444ffc16d614c5921b77997
4a0784db62ca34afa8ca6a13f18e27f166e83500b71586040ab7619db4b0acad4d006e733c0d847de5b87d01dc164fcfd4aeef85246e20bf95ace9b11faa4f69
c8ca51a89c5533b94dd78de8a751253774f2249486b079e5ed06b6b623c6db28cba97256b6cf31a0683d32bd42ef60652ccbc7db64d2e2b919f394bfd23f2b55
f06299d74082e691e00908f1b65cbb94bd2fa14c3f45dada15081e3603126f03b779bb2405dd8860e486240a2e78bd751bb8a982c8437d8fb739eae8c5a66ab9
ad6473c8c929dc16b0e3cdcd6d14ff0bed6fa36428630d632063121b1b519849b7a1a4a2782563a2b7a6bcd0e00968b0b8cdad6605cf01f136176e38f54a54a3
41f0b019046e73401bee27cd3396abcb7a51c00613caf56ab98d58a81b25c5b7b63aeaa514ad05111603fcb4b59917b229550890d7fdb3d71c6eb3ed7babfc67
db8153446eabd68c8e659472c16d9e0ec3a61fdb4b49c95748172e5c386bd6aca38e3a6af1e2c5ec2c79f6621fd89fec22fb2abb4d413f4894c264149bca4700
32b428006e739f9ae0f896293a3262fed7f00076375bd48d022e0214bcf061243976d18d20c66fe9851ae14cc9b328b7c93e3bc88c9552f4dba2f6ba38446ef3
5681d2f4f491523fb74503dc794f03ddf9304b07b7c5bea91bd76c57d875d90163b694dc8a729bb15c7111dce6e736cb2f9761734a8173aec2082c2c5558c747
2a9f0283c66dc67fc0d8e00cf1365ff7717d2f4fff628ea75c341295024f4a3e367473408c9e83cdd86ba9808eecbf5e17636e6e787283542129bc4cc63da1c0
9fb1298d384b2cd4d199c4563361a35f49a942dd94a6e0979250de0fa7ef8de369e5779911414fcb99467e1bd37acd740323b4c940e628d4989bb3d53cb56019
064f40dd5f2765d38ff4ab67fecc0c7820edf6db6f3ff3cc3359806deedcb9ec4f9e90c31cbbc8be6206c9759dc0f895f8bfa3c9d156d199a5d10b4757d1476d
8d96c1c3a6edeba4eedb1128df46bfe988b7d5d857bb51941b891a52470ab735c455b8d16a05822720705bd2ee8cc68e3beeb8071e7860c68c196c6d74ebadb7
963b04fb935d645f310366a6a25814c7189e2fb82dfa234e9d1d2d2f015c76187dabbb5c179c0f1e36e036705b170640ed75683eb7793df41ad42e2a0a6cab02
c113d0a0709bb242c4da99c7e1d89341f8c34142b84d213029deb6947724db95b676b3aef91d3c6cc06de0b6ae0d865aead37ce8f17ae835a8454814d2050582
27a041e136dec8b63553ce6d15ae9382db5a31aa82870db80ddcd68a1ede2827297bc2fae830c53d8a4d1fab80a2dba540f004046ecb3574a9fb12acd1b564b9
9407e086b04eda98b1153c6cc06de0b6c6f462380205a0402b15089e80068bdbe4b695636ffc7ae1e78010d74959d68cdce2d796c3c3d1bd0badec631d743a78
d880dbc06d1d1c0fa812148002352a103c010d04b7d19fdfc69ed376e18517b2e7b4b11b48d9dda3ec4604f6621fd89fec22fb8a1988fb4c6b6c5f14d5130582
870db80ddcd6931e894ca100141818058227a0ee739bdc07bce793e29cab811932514583870db80ddcd6b191a23f6bad6315a457a72f771ef4a5508726c6c7b9
d13584a550403cf84dd724780202b7a962e25cf9c11972c1c3a6d5dcc6c3cfde87b48928b5d112dcd6bd61d23474202a5cb9db156648cf8a6e4994a5bc997e5e
42f93cebcf413ef481729a702f3cb43def3778021a2c6e2bd4241ce0b283ad0a2586711b14081e362de536416c5e6e930d8cc6e0b63674f0623e36101d281568
b2db4df6cdab2db8cd2b11d100dc4614ca6ce65d27959381db4a69dd86c483c66d2272e6e636fd5bfd0ab8ad771dbc5f518196424693dd6eb26fde0e0c6ef34a
443400b711850ae736ac939692b85589c16dc63550705b1f7bb111da8c8f0d733c4b4cf9cab677cd6866abbb03416cc5b1eb7a6ebab1b1444a15cad8787d73f7
01af7414df7811b2a5a350af6ef41289dd9b731be57c52d9c6417bba99d198981bb116ee7552b1f94c462be3455e9cf295f85371c668a63b1c3c010dd63aa937
de86fb128883a11b66c1c3a6a5eba4c4781b33c33a695f7ab83bd2a6939391a56c660aa9286636b6133a7843477a0e1487cb5441e61e226651aa43aca9929503
04297dc95d284549190129d5f47aa5df9a60c32c8d5ab273c0c5577a5ae3ad0f4633257f364c6c6fd3bf13b26bb6f125439bcc67461a932f1ab94dc9cdc6762c
9fe00968b0b8cddd5339b455fc1c10fdf879ef7081415d0a040f9bce731b4737c71d0cd13f3d71ae7ca51d95b23c2acfdf44e231c24da1b4c45a16c51d1b5bd8
f2297a5d76dbeb1bddb89074f4721d96f48a13f18ed8a0444ad373a3b0578a4739c2b3c5ea6a58b195614bc7b8e8e76e6884bd4d95cd5d2f94367802ea3eb789
e947ffa0b441e1e7ee4a392607c9ebadeae036201df1f7a36766c1c3a6f3dc86785bcf3a9d39630ab4c9041630cd7bd1840e19c63a789397e10f477378cb6569
2936368e548aae302b6f8b1899dbe1671fb9cdbbb84961af3e729b20331b9f39d04d6e47705b35bf9c6c06b2fcca18ae079e73151d5f35644637705b35cdd893
5cc06dd8dfd6938e1594695174f3a20c9fc5e9f1a14244a297ee4d2efba37f36e291a30a44cc72a34f00807aab49a4313a0e96e1dd42de2a2e11e36dc4e5d498
7ba41e69eaee8a81fc67d0902a9cc8016d3c2f6e20bf35d10c61395bb6c113d040c4dba4119eb19ac27365cf95177c16335cfc8a0fb4b25d8f8f2acdec945485
fb1b128428103c6cba1d6f93836d1cecf42bd14f18d649433a9d2b0d05dd2828e365023accd1abe84504af81974403300bdcc664a737a26c49e1368a8dad74fa
72aad69f0bec6fa3d7dd4163f62aa89486781b5d70f74fa199d5746e3beeb8e31e78e00176b0d5c30f3fbcf5d65bcb99b23fd945f615336066d1576a208d1d41
ca226efcbff12b77ccbc763d9783e9db6a6a8f5c5c0a80db106f6bda08a1df9a5088bd14e34269891279b18c1837229a09af64fba2690340d05b4d394f8a6f5e
b2a4574ab72ce4ada20685c928362c5be20228d18cd8210b99c9bc5588bd14e342698327a04189b7299bdb588b726e637798f29b4c59bcad026ecbc266bcc0e1
f982de721ec46c6708c5a5a90af53818872a103c6cba1d6fc3fda4a11daa9a743674a3ccca221a67a30723eec4bf87e615559bbd5e550a22545b059d78e888e3
682a6f4528b5a0fbe6e536d13a45dbd49890de47290ba0746e2346d78866f45a502c75d8b25d61d7e50c299426c278ba27c113d0a0705b3a367abc4eaaef66cb
45ddf20d27735bbca68a57cd0a040f9b96729bf2af17fea7edc02b618c73ae6aee96362452d04afca9077594afd89fc62ae8660e64f17e65f4c75b17ddb7425e
c9d063f4d0985b556ac899db3a89db865e596f9bea0551dcb3b92da02dc1f9382fa3b16c20a7caf38dfa28385b6e2c9592614f479f802a99c028171d34165741
dd066724bce00908dc96eb1581f72544cba37c7d547c48b34de04cbbcebe8f82737c51d5f46d4f7b2b328f15081e362de536ef99a47483e8b709fbdb308ea000
148002a10a044f4083c56db2bccafe36f65589e78048e13279a9945d362e86a6e611aff1fb179454a1fd00e90a29103c6cc06de0b6423d0dc650000a40014581
e0096820b8cdb83c64e4b6ea9fbb8baeda600582870db80ddcd6e07e0dd7a00014688102c11350f7b94d6e3d9c73d582be5ca38bc1c306dc066eabb19fa22828
00053aa840f004046e537b03ce95efe0f8b0542978d880dbc06d83334c50532800057aa140f0043458dc56487a0e7002e30aa585712b14081e36e036705b2b7a
389c840250a0b10a044f4083c56dde75d2c636301ceb8502c1c306dc066eeb4587449e50000a0c8e02c11310b86d703a096aaa2a103c6cc06de0360c278702ca
a3e6a055cd0a381eb657b327bd2b4e3ce6ad7745f43ae7e00908dcd6eba641fecd552078d8b49adbdc8fdb158f70c373779bdb71dbe0d920a043cded4097946e
5973152a2fcef1fcdecacba267283fa2587f5cb1782a6ff0043458dc46d7bd5796fa810abd2a09f9fa15081e362de536416c8e6312f483e48dc688b7f9bbd760
5b0c0e3ad4d6ce905497ba8ddc16fd78c6072a044f40dde736dbc3dbf4e7b7151b7ef9a348a3730f284ce638f6aa58f1b0ae4081e061d3526e9363698ea31174
50d3af80db2ae87fb564e13ea8be772e00322ad7169282dbf81efd81e036e3f8a980dbc429091462e34ed02dfd839ee5c58fc9c22b5001709b91dec06d81fda9
79c98cd0663c48d471ba28f10c4dfa49a04c272f82143a8ed37110a7bed3ce7145fecab1452fd8379650ef23dedc845c452d1dfdd19b15b1d1295ddeb611cd7b
5d9c76ea28c57bcea99cd69161b587a2bad749a37ff422dee6ee3a363eab92dbd879558ca0a458da687c80157b2560653cfc2ab6f758f2534cf9cb70f67c7c50
16cea4a7fc78986cc06de0b6d0bed38274ee489b4e4e4696b2992908a29839a0870be7e6b642bec99e14aa82dc843662a37862ab8b0d10f572dd57c4b75ed825
5a522a25c32231db00bad2a98b724541b142e51a398f52281b4db6b789c5b36bc661086ef3fc80f690dbb225d8189d04b7095c6358157d231d1b2faf93c64496
809dc33233b144d738d921f4567c2605b7d9564be5901befe68a65f44f469c2b5fbccbd59682b23c2acfdf44e2315257a1b45e05dc1814003d144cb14961e451
d33c1dc56b94eb74ccaa93db2a97d7dba0dc80c246c6ac1c113563b66eaaa3bbe12e97586b9b19b88dc46d1962c59fe27f4c44ff65abc5810f7593573c151a53
d64fcb58c6cc478232090e4b76a9c1490e6e73ef7213c4066e6bd7a0a0409b4c600ec2a0c007b8ada4022232e78e5352dac208d6142e2c4ab74547041d98388d
c96f475945a98eee06b8ad68135769dfc3785bb640192f94eaf71cb8afe83c9744dde2eae776c239e90df1b6d0fe026e73709bfc15b82db48bf52d5d51747338
eaa58a92d4a214ad17275f712308d11337a338c29074dfe2d080210867abacb85e92a11bcb6d4a6ccc46451cd7dc31b332df1ab94dc144f167ef462fe26da478
9b6e64e3396a53c95cc579cb466951cc2c41bc08b1689662d575385a8255392e7512fbdba8cd65b403b751b84d8736962afa15c63a69a9ded7f3c41474b32191
17e3dcfc44a416632914dcb1d1493ddc466c396f4588de5290ce888385e4ed75bc8dc26d46982b1a5173531d3ddea6495a607f9bb78780dbfac76dd9e26bbcb9
ccca6d63c96a27bb85607898dd8b6027bccc32ca3bdd1bc7cbd16e3fc0fda4ded1e13100b781dbcaf6a166a7a7df9a50882114e34269bd82d97027182c8a26f4
c6dbf42a8429503495c3b156709b403747b04dd7b65fdc867552ef50eda1410657daa71e965a3e6b7e8f2a5ebd5400dce6e6363e628c36d14f30e26dbdec9c55
e56d43373acd304bd9190a6d88309ead16ee5814c53796739899d1371b12518aa0832685ae88eba4450574b720a54d8d8217eda51c86fac56dfa222cf73f3808
57b4fac21ef1b660e99a98906f648b5fa0b69e37d0a0719bf1df303a96093307d581db7ade3b7b5680bc362a988c72d14d634a0e14634715f5dc8cd0a3f39603
416c79cad7059d70651c90a7a4d2c1c828a9a31645ed75f5e84d50adbc85baaa377ec6e94abc6d5ca598395850c9ca68a9175aa852858c39b4b177f004d4fde7
ee161214c603a540f0b069fb790994e551b70db86da0460a2a0b05a040e50a044f40e0b6cadb0219b64681e061036e03b7b5a697c3512800051aa940f004046e
b3b667e073dd1ad93fe0945181e061036e03b7614c4101280005ca28103c0181dbaae7b60b2fbcb04c5b226d6d0a040f1b701bb8adb65e8a82a00014e8a402c1
1310b8ad4a6e1b3de5945f1c70c07efbedb7fbeebb1f73cc319dec6a5daa54f0b001b781dbba34105017280005ea5720780202b755d358bf9935ebe8a9471d77
dc7193264d3af0c0037ff6b39fedb2cb2ec71e7b6c35b9373f97dce90ecd7737f13078d880dbc06dade9e570140a4081462a103c0181db72ed19f0b0b733ce38
fdc4e9279c71c619279f7cf2f1c71f7fc411471c7ae8a1fbefbfffde7befcda26ed3a74f8f0a50b0268c72f87956f14b7b062fa157120b954a491e464249a83f
7398e051df4d82870db80ddcd6f7de0b07a0001468b502c11310b84de536633f6004a35f3f79c68c13a61d7d76fc9a356bd629a79cc228eda8a38e6221b75ffe
f2976cb594a1dbaebbee5a11b7c96797ce1feeddc3ddf45353292383c276947ceab5091e36e036705bbd5db565a5b91fded6b2cab4d05df753795b582183cbf2
53d95a5aa3e00908dc16c26dd75c7df519a3a75c72c925bffded6f67cf9e7dd65967316e3bf5d4534f3cf1c4a38f3e7aca9429871d76d8c1071fbcefbefbfef8
c73f76705b16dbe20134e5ef188646a327f1324c339d9fe0b08fbe1270271d7b1f79933ddc37b230651239c30d9985144b8b9d911e0a2c07e7f2e777792c9b31
ce82874dabb98df2585df6f036b719b8ad195db8b95e0c023ad4ac3e5d52ba65cd55a8bc38f7537c2b2f8e98a11ce7719c35173c0181db42b8ed820b2e60e876
d965979d70c2098cd2464747cf3cf34cc66d3366cc607bdad85229e3b6fdf6db7fc22f0f3c78a76f58b94d42ab38802691994025e9d88484b6b2489bdf3eb195
f12bc634295a67ce24b71eab3b93c4fe228f92ace475d218e6b2a2d353567396c4eedf63b3e061d35e6e632d2b1ea82b7f569eb2eb3503b7f5b86fb63efbc141
87da9a0a92ea5283dbd864b4e617a7ef70c46d43ec7fec13d3885d9a34656a6dfdb2ef05f1f55065971bbfc2fecb9ee8c61fea3673e6cc534e39f9d24b2f6561
b673e3d7e9a79fcef6b7fdfad7bf66b7914e983061da948953f6d87eea845f1db3d777addc96c4bd5288ca6f2c8bc8c7b8f8c8f18d87c1728e6af62992cd1f8e
a379c62d68ee4c141a13bbeaf4ac8a5af6bda56307068ddb745033a21bc50cdcd68c2eecf7c27db4bc3f7da805202354396b3a480a6ee30482785b48bc8d3da1
8d6d62634ba28cd8ce39e71c765302dfdcc6626fc74c993869af1f9c7cecd4e9fb6c7fc5a5975c76d2243bb7f1a25310d329cdba694c59f74caba0dab3bfe330
9e5884154b99a2d29e42a582f47d6fb62bfa75796f5e9376c20d1ab7198f22a55cd4490edc56f9acdc8b0c8dd046398a54768678eaa5d1cc56292f82143a4093
7254a8f044df7b672ccbb1452fd8377ee6a9f2f2e6c6ec894da0583a7a94b7507a89de7e6bdb88e6bdce0ddcf93b0cf4e48e0c85339442bd55c63aa957a22a0d
785ccd34b4d4eb6c6174787898dd7cc0964ad9e33f7e353272dc94c30edf7dfc69274c3b7eefed2fbf64ce75a387b37cae3f77460a67d93da0c952e5d2d1e178
575b1a0a93961db9070a0089d5cde4bad33ecd803999149ca4d2d749f327d8cb8572deb245d722e2ccf2265aaab7d656d97a85f302b721de56b8d3b427817bca
d3c9c9c852363305411433ef7d096e6e2be49bec49a12ac82d293bac7fd62ddd57f8b736400ccb4d6448e98075ca4bf1c74657fa75ca15b94437d81173a398b1
d1647b9b8021bb86fd6d941e52ca86ce6dac18b6ad6dc71d7764778c1e77f8a42376d8fc946947fe7a9fef5d3ee782f9a71ec1bebde5b727e75c51b6f047df65
f70748f893ae7daab13143fadc52a91e4be3e427a84c00999453febe84f8f922b995d31815addc96d5604b46872ec293eb1af6149352cd6a4b3ce0dc66dbdf86
75d29ef4b67a33f5c52932b0902143f1d136fd1b298d98d62b03b15023c794e4365d0a4a4d6d44e58d291aa570a4a2671890098595e90ee855a3b0915190a264
e6a63aba1bde509fb7277b0d822720ac93e6b4cd6d18cbff616c03b6a18da1dba9271c37fd475b5e70f66f169c762433bbf97c1e63c3cba480e9bed87e29153c
6cda7b5f42d19b12b83dd649fbd545c3caa5409bcc2801d3bcec189196887519406ef3ae5a3ad8ba2af86b14b7d1572d8b521db88d380c3b6ec61e0572e9c573
e69d1ced63bbe3e2333a5edbd0ea65a1c5fcaa6c687ed5a41b586eb345da6c94066eaba6c3d5984b517473b8e6a58a5e709b5e683058144d28dbdbd67f8dee29
1a52a25394b554912d25432fe1558ec5f44e2d339363e554f9aa2899c9fe50284d6144f94f7ad5022c478646822720c4db02043724b9eda253abc908b9d4a840
f0b06975bccd0d6dc6e81ab8adc65e595951147493f98358300583585674c808c01d1b9d1009d25d052fb7050b45a969c9d867abb9cd886835701ba5410bed6f
a364086ea3a8041b28a02a3080dca6109891e1b0bfad3343857e6b0291788c585028ad57dbca034214d0b4b19a31dea657214c81a2a91c4049214237d21555c9
db8e46030e618e609b9eaa5fdcd6d3fd6d0cdac06d615da8ca54fca92a78b54b8141e3360a90e94ba546b68b7e7c470c0f3568570718046f6de8469fa799a52c
148536f4e53f3a58304b8a6fc16646df88dc462fd468491181186f7387338b7e4b69534a8dbc03aabfdcc6d7402968d853688bc915dce6ed2cbd3700b7f55ee3
ea4b18406ed3efbcd19fdf26d08d1b1b0dc06dd577c7ba7214e0a2c38ac2348aa59bc6028c1d35d67333428fad0a0e6339676ea65c91abe9803c3d1f51a8510a
63656da229ac6ccc59cf90de04d5ca5ba8e77ae367ca86b3987254d8326e4a33baa1ec5773a05b9d3bdbc06d85fa4caf8cc16dbd52b697f90e1ab7d9102de03a
b8ad971d1379430128d07d05822720dc97d0fdce811ada14081e36adbe2f2180d2f424e0360c2b280005a0401905822720705b19d97b9336f7e4dbf49405fd71
b8bc70e9011b4d7ac2466f94a93ad7e061036e03b755dd19911f14800283a540f004046e6b5e47518eb7e238a61f3fc54f4390606dfeb03809ab79956aa447c1
c306dc066e6b648f865350000ab44681e00908dc564d1b57b9bf2d77f27a7abc80e162934e68af46c5ba73091e36e036705bdd9d15e5410128d02d0582272070
5b351da157dc268e6e97202d0ab325078922c056aaf982870db80ddc56aae7213114800203af40f004046eaba6ef306ee36f919df26781624c27c8ab47c82b2b
a705728769a640f0b001b781db3090a0001480026514089e80c06d6564ef4d5a115a8b002e8da8191645452cae376e0c40aec1c306dc066e1b80f161a8a2f781
ba83238bfbd9b63dd2a12f85f6a82ec836780202b735aff328b720e8f725a42ee3be84928d173c6c5acd6de2d1bbee0782381ebacb1282db4af6bdf6266f293a
54ee768519d2b3a25bb6b7830d8ee7c11310b8ad799d241f5a8be16ccbd1f9a35ba68f04913db63d1ea479b56aa247c1c3a6bddc269f7f603b0b41109bcd00dc
d6a8de4c393fbe42875b8a0e4d76bbc9be55d8739095a240f004046eaba62f55795f42351e2117bf02c1c3a6a5dc463f9f543fa55409ce21dee6ef5ea1168538
ac9071a847b9742d858c26bbdd58dfeaef5d9574d1b664123c0181dbaa6962705b353ad69b4bf0b06929b7e90ba38e881a3346bcaddefe18955668a6548c9543
27b9f3c68bc6af6c7bd7e8a76d8ae28cba153a8bd37b8026bd0a94533b837d73f710af7414dff49a3a0af5ea462f312db7fe41302825064f40e0b66aba08b8ad
1a1debcd2578d880db106feb45572d036dc21f3d78630ce7d8ccd875b96a8a99f7be046fe848cf81e270992ac8dc43c42c879894af8c253aa4f38a462c94a2a4
8cf2e46c7bd1d991e758f004046e43ef195c0582874d37b8cd1d6c43bcade6815109b4e9c440241e076a283ad021c31175f3468c740323417acd886842673b62
8665640f1047d018451022dee5f1bde6d13010c5054f40e0b66afa07e26dd5e8586f2ec1c3a603dce68536705b9d9db142689311c4c15814fc2a041f44b9bce5
da0c0268234f1e234a289182386108e5a0a83096a5c06219ddbc8d12d788d8c230a32a103c0181dba812bbedc06dd5e8586f2ec1c3a6eddc468136705bbd9d91
3a2fd2a74fef644cdc0ba5e8e0cdd6ad9b37b96d03960322e524b6d2bde5560b5b94e228344617bfa7dc46ef75358f9a5617173c0181dbaa6977705b353ad69b
4bf0b06935b711a10ddc566f678c4af3ce8e5e0305054ad243a3e26d94e6e8457c310c044b2a1f5068efb88ddeeb286d041ba140f004046e6b5e2faafcbc7839
c3ca336f9e7e398f9cf50d1e36ede53605da703f69d3faaf638ea44f9ff2145e88bd287bc80a11892eaf3739913f8866c69856d1b4c64ee2ae88b79a729edef6
a244e6e8952ab4e24cef754d1b4acdf727780202b735af718da85182bdec49e70f8b67f94a0ff0e5d7724ff465d3bb7a843d3b658bbf8c67dbbbbfe59a4ba5cb
8d90152c9cd373a35c893275636af0b06929b7e1f96dcd1bed068f8c33257dfaa4ccca6261d1460f36503026f46652c88019575b055e3a858d82618b087614b4
2a838314dd88f2a6a2b562c4b4d5c9e00908dcd6bc26af9adb643e129f133a92d028e52fc3b1a7fa257685dbcb67a80a29dddf665068380142aa7c5aaa9e1be5
8a930d134f83874d7bb94d1c72e538ed4ab7d1818f293832927b6044f30652773c22429bbccd8b7d967945e12dc5d24d6301c60e8e313aa9dbeb852a3685bcd2
a5a0e446af8550db9badad53cad5a1a8e14640476efa57eea2bb338a9a5793e00908dc564d6356b9bf2d4697d15c384b8e41b113af928975cbe1e12da3ffe503
5f91ad0c440272584de5cfb66094868d063493f2311f789f42a023dea58401139fa5abc947bd2cca9514db62bc544378e9dfc1c3a6a5dce63e90b4d0b7e0b66a
7e38900b14800283aa40f004046eaba6cb54cc6d62f55144ba8c8b9d32a2452b87312d29dc66c736f322a2465a86f85b8efff22c18c9e9285252dbcc6d3c397f
71fad473a35c890be2861277ce1f667f67c983870db80ddc56cd0f0772810250605015089e80c06dd57419c66dfc2db253fe2c508c0dd1e4bd68620f5a165933
f1959ba1cca1b2fce2a5711db4726e93d449a92a8e8945204aa1343329a65739084a21c074213078d880dbc06d0546344ca1001480029a02c11310b8ad79bda9
4a6e33e6955659e536d2ce362990157fac649d5434422e37fe076555d4b86eab7896d29b743978d880dbc06dcdfbe1804750000ab44981e00908dcd6bc66b62e
89ca11a3744954bee732bb1134bdeac4b61c72a9bbe25226936f17cd2d386af72590bf4d1437af938ae5deec9607ca5d08863b2144fe4b4787e305d79431b322
82870db80ddcd6bc1f0e780405a0409b14089e80c06dcd6b660b6cf17891d8f3157dceee4950d601136e73605bb6553f5e4194ff4c4bd1502eb7662a76a16934
1929eafe36575c7ae380c49ab9fd6da6dcf4fcb52b52dd8533e9fd1a696d83870db80ddcd6bc1f0e780405a0409b14089e80c06d6d6a66d557c31a65ce847683
409b15b0fbaedf2ea1db060f1b701bb8ad9bc306b5820250a02e05822720705b5d4dd48b723cdc066cf3881e3c6cc06de0b65e0ce85ee4e97d526eb585167a74
6df9a2f1ecb1f21a22877e29103c0181dbfad56428b7ff0a040f9b56739be389bbf223dcdc66e0b6fe775fb20775b2549d6509014a166a7b842fa090dcc56018
a240f004046e0b911b69baa140f0b0692fb7c9271f380e27f59a81dbca0c01e2f907658a90d396c49aaadce85d3e252ba82477ffd9bb5a20e7415320780202b7
0d5a57417d330582874d4bb98d783e29c50cdc9607a302c3aa6668639e95c49a0275eb9369c90ab682dbeaef367d6acc012a36780202b70d502f415515058287
4d4bb94d3fc9ca117253d64c95b4e0366991aec0c052665ffa89a2bc0ce2a19c46339b975ee80928542fcb78dea871ef1db1b8420145ef69a794dc6ccba6ee13
3fbd8bad74df806e05465a1b4c832720705b1b9a173ef64681e061036e03b7a52055a06bdae65d9d9c8c2c653363d71dd8e1bd2fc1cd6dc442258a1d51fc51be
e2dfca5e518a28eaa49bc38273b3250cae02b1e9c3fe9150a06bc2b41f0a044f40e0b67e3417ca6c8602c1c3a61bdc161c6c63b137705b0c1f05fab1db589ebf
89d02647e0dcd8e48da8150dc53932247ee5ae6f210504051a6b41272d0a7a1acba27bab5806f856b4d715e8a030ad5d81e00908dc567b5ba1c0c628103c6c3a
c06d65a00ddc5674faa4101e7141cd3d7ae80c411c8545990fdc66e4693a64bb3134cd87d87a306bb402c11310b8add1ed0ae77aaa40f0b0693bb7958436705b
a1e993026d8ec95e1e02debd5095739bc0082f567aab608bb111d70a8944a8fc62e88a792be245556f70d4c65ec6789bcd437b10b4a73f8ac8bc3e0582272070
5b7d8d84929aa640f0b06935b7958736709be8c95e26f31a4859453bc3bcd0a0639cfb0a257e536860ba3d24d255dfd7491d55f63641b5dc5650fc42e6306eb4
02c11310b8add1ed0ae77aaa40f0b0692fb729d0666338af196b979191dc76f89eb654933377905951687384ac887ba1aa8db7110bf582a35eafbe731b912fed
412f0f64531aa2a8bcf4eed4e4f102df8402c11310b80dbd687015081e362de536ca83d9582c8d62066ecbc38a6110d16759ca42a1311447870366e94610e3b7
f44295a8a1233737c3c9dfca3e0707f98ce1c632b9291eda84d5a5a33496d1dbb4c4c1fda1ee6acd832720705b57bb04eae5572078d8b497dbc4e9558e63ac74
1b9de4c06deeee458436656f93ce04020b0aed820a3076739bd14f3dcca697abf09c6017196b6c8853be5063e9de489b5caea39529f0e7ad82003562a1fe1f35
58b44781275e1cbb79c9eb23d32f987dd53d675d79b7e3fd9b2beefae571e731e3254b9f62f503b7b5a791e169d50a0c1ab7e9cfdd0dbe026eabba3322bf4c01
37123544290ab735c455b8d14c0518b74d9a79c9e2dfbf4a718f993163701b452bd8745901701bb8adcbfdbbb5756b3eb7793df41ab4b671e078650a706ea367
076ea36b05cbce2a006e03b775b673b7b962cd871eaf875e8336b70f7caf4601c16d6cddd3fb664582dbaad11db9b45a01366cd868a1bf96be30c6c3d42ddddf
164c697a422602ee27a5f71c58d215a0ec09a3e756b925c53d8a4de58e21c3d62920b8edc53f8e79dfe0b6d6b52f1cee89026cd8b0d7ab6f8c2d7f656cd94b63
0ccb1e5b39b6e4f931168763ef879e8dde0f2c1fbbf799bf3ff75a6479df7270db0b9ce1c06d3de991c8140a4081815140701b9b7dbc6f70dbc0f40b54d4a900
e736066d0cdd5efad31883b315af467ff2f7d32f8f3d150f27c6738cded8eb8e27de44bc0ddc86510505a0001428af80e036161160efeffe685ffe41bce52be0
b6f28223872e28c0b98d9119833616a616d0c6898d431bb311dcb6e89157c06de0b62e747dd4010a40817e2b20b8edd63ffc89211a7fb3cffcad5c01b7f5bbb9
507e3314e0dcc6b04c44da18b1f137c735f1660ba6ecb5e0fe95e036705b333aef98fed8b3863856891b789e5925322293262b20b8ed86075f646f016aca67fe
2db8adc94d09dfea5380731bdbd026af8d726e93a18d7de6dc76edddcf7680db1c4fdc15f71fc88fde35decdc0d4c07d09f5f5544b499dbf69b19e0ada1e530c
76ec4b0f979f59ad3fbf7a6468c4fb8e7e9d5233b90a4ac2b0daf14cc2d22aa904b7cdbb67057f0b74e31fc475f601dc5689e6c8a4f50a28dc76c56d4f2ad0c6
aef09b1538b75d7de7336de736f9e483e0c349715f4243ba7e3d58d3c7cad65341a514f79f7d5463408aa6709b9042a128f94f23ba09a40b16b317dcc62202e2
2dd04dbec83e83db829b0c093ba500e73676eb28c3358668fccd2eb2376335714570db55773cdd6a6ea31c3c6a8caee19c2b77bf279e6a55f9e0a9076b2a779b
9e613d1504b7d15ba406cb01e73686680cdd146803b7d5d0f150443b14e0dcc662693ccc26a39b0c6d6c2195df4fda766ed399cc1672532cc16d8e0e6d8436e3
13bc1c8ff5b22dd529e51acd6cbe51a08792a16e239768fcd6b8f78e58473d73a7f8237455793e0e7bd9402fd4b66caa5f2f5453b7bcf45f522e04b39715b125
575453cc94acf8b7e2a29ea73b377a1552fdb314de7f1139a25ff2aaa8ec8331896c6ccb53b7a15b1a4510eba43aa581db8a761bd80f8a029cdb1893f1bb47d9
5be01affc0226dfc896e83cc6d46b68b7ec747aad9e4d1eadee69e57747232b294cd8c5d77408c918d02a0472471c0963b5b39a1fe594f2bd7cb0d9745bf2d24
afade3390ab57d4569c14a7c730f161dad38c9e95846b922d2cad9ea1952ae302f6c6fdd3d77bc4df3dcbadb4c409542573a6c51ae88721da49802aeea922d09
b8add53ffe70be3f0a086e63cffbd0d18de11a7ffffeb96e729b37d8c6ef4ec07d09f609dedf6fe5d99a3873a7518768ba54a04a29cf8d356ee728ce1031c556
c7606c75d7daa80f5d28af683d8245e6a19233515e7f274b2d280865cccd9d50fe56b13472212bc2769d5e17a2a583a2e4af6c9f6357cde457f4ba0dda1cd7c1
6dc456861914c814e0dcc61e72c83ec88fab16b7237068631be0980d7b75699dd40b6df2bda538e74a1f36de151c852402a23872a114cc2a34b6bdf8a273868d
8d9acf6da22e656a6de3457ad3348adbbc4ba5a2b9c16df2c872c7db0ad11ee736f63877f1cc36c7076686f3490bfdc4c1b89b0a086e63378df2db11f89bdf43
ca574819b7b10d70eca8ab2e711b1dda38b1617f9b7100144537c728e233bafc568ce970401cab6508c6c11feef862d15a786157d7cd9bc4ab8f5719771d6d78
a773b0cd79af03b62a10e36d94e5541babe9f136b5e3a6b5f2ea5c890131dec6ca12964a9242a425e763f49fe7667b2b4978bce0e063cf3d66d6d5def741d3ce
613311bf318e1dab3de5944b172fbae5a965cbd961d96b7e71fa0e47dc36c4fec73eb1afd9a54953a656a22f3281024d538073dbdd4ffd8df119a334fecc3699
d8f829a56c73db3d4fff4f196e93a190f85979809cf74f7ea62ade50000a40012850bf02c41f76d9ccb805c57d11dcd6348a803f752bc0b98d1d6fc59641199c
e96f7e4e1c8336f6605ef69a7fdff361cf01b979c9eb23d32f987dd53d675d79b7fbfd9b2beefae571e7317b76a6d6e997de76ce35f779df332e58c89eca28f6
e7e10314800250000ad4ac40c08f3cb8adee291fe5754001c66d2cd846ac081b962ce815c66d6c5fc2e2dfbf4a2c8859327bf67ee32fa414cc8c198b13baf001
0a40012800056a5620e0471edc469ae1600405640518b7b19349173efc32bbe1e0f25b97fd6ef11f2e59f498febef4a6a52ca0c5ce9e2fc36d8594e7dcc692bc
fa86ffcdccc06d35ff46a338280005a080ac00ffc5a6bf987d6fb92d60e1d6bb1d0706ad50a0fe5d02c12506f4d2e061c3f67df26764e82f366ed98e51b66f94
bff90e513ea4c545f1813d175bbfc8398c2791ef72b57de6f6e288557c800250000a40819a1530fec81b7fe1d96f3effd10e9e8048f725042cdcd277e778b7ef
c0a02f0ab46ed754402f0d1e3661dcf6e21fc7e4b738874eb91ec66d6c971ede50000a400128d0170538b7517ee1994d1ddc16b0704bdf9d438f2bc2b24e055a
b76b2aa097d6cc6d72c04c409b1e4593b98d3f8b44bc953ff9756ebff2f531bca10014800250a02f0a1857486cbff335715b216228b43b87b2830736f52bd0ba
5d53756e2f088bb7f1bb53d95b0c667145fe10c66d6cfb1dde50000a400128d01705f804a4ffa41b7fedebe3b61eedcea1ece0814dfd0ab46ed7549ddb0bc2b8
8d3f0b5b0c63dba3b1656e63bf02ec91bfe22dffc93ff3831c58ddeb277b940805a0001480025c013e01197fd5f5dffcfab8ad47bb73ea27923225f2ade2fa7f
cbe4d9ccb4bc63f565a34058a1756e2f08e3b61b1e7c91bfc5301657e40f32b7ddb6f40dfebefdf13fb3b7f133b77ffdcf63784301280005a0405f14e01390fe
936efcb52fcf6d53cfb8d2735e82be705b74770e7f06bdfb2defe3e9fb679bab4cee0927cdd1ff5bc6e1662ad3ba5d53756e2f08e336f63011f1162348bec83f
8771db9fde1cc31b0a4001280005faa2009f8094df73dbef7c7ddc5666778e174d8c1baecbc050c9b4e036deb1fab25120acd03ab7178471dbb5773f2bbfc590
56aecbdcc6eecbf6beb97d5f7eaa502814800250000a3005f80444f9856736f5715b99dd39c6fdd7ca45791f4f4f3f539cb1d9d8e26d651cf6fa5326f3a269db
bb6baaceed0595701b1bbd0cdd146813439a57879dacc5de0bee5fc93fc89fc545fe13c0eeffc51b0a4001280005faa280ce6db65ff85ab9adfcee1cbe47a7ef
6fb16728e0838ddb02b252b62ef55d16650755eb764dd5b9bda02a6ed3a14de1367d15d5b6aefae65fc7f0860250000a4081be2860e436e32f7caddc567e774e
a3d0248cb4068ddb5a1400af737b416ddc76ddbdcf79df9cb0fbf2538542a100148002508029d0506eebd1ee1ceff69da619b0fb12984bfa7f9be667497f5ab7
6baaceed0501dc76c7136fda1efca15c6796fc0988ecfa95b73fe57d33b3e3cfbe0e3f9d50000a400128d02f05d82f76d11ff9e007bfb387b251ef27d5237e01
bb73c4369db00f6c4f8ffb4dc9d69b89bc9d8892a1c3a6b6b2aa2aa8bdbba6eadc5e5094dbd8a35e0e3ef6dc63665d4d791f34ed9c879e1d63c7ad9e37ef018a
fd050b1e66c6c1e7ba222114800250000a945420e047be3fdc56c9ee1cca0e1ed8d4af40eb56dfea0c5317e2b6254b9fc21b0a4001280005a0407905d8d45c2a
dee6e536efd61c18345601709bf11f436cd43165e8dc163da3192f280005a000148002152940e5b6a20bb7f4dd39deed3b30e88b02addb3555e7f6023ab7e9a7
c3e10a14800250000a4081320af8f7b7052cdcd277e75076f0c0a67e055ab76b2aa097066f2ff072db94532ec51b0a4001280005a0405105189379df279e7f83
eb9cabf2cbb1c8010a744901ef3a291b4e784301280005a00014e89d024f2d5bcede2c88b0e617a7ef70c46d43ec7fec53454bb1c8060a744d0177bc8d0f27bc
a10014800250000af4540195dbd8df78430128605460c8f2825c50000a40012800056a5320176f0bd8fd832450000a4001280005a000148002f528006e7ba11e
a1510a14800250000a40012800054a2a006e03b74101280005a00014800250a01d0a80dbdad14e25f11cc9a10014800250000a40810e28006e03b741814628f0
e0038f74e0070555800250000a40819e2a006e6bc49cddd33646e6ad5000dcd68a66829350000a4081fe2a006e03b741814628006eebef4f214a870250000ab4
4201705b23e6ec56f41538d95305c06d3d9517994301280005baa18099dbee9c364e3c6474f73932d95cb2fbb863ef5c215db9fdd8cc7468286fdc3424ca3bcf
3c57ea22d7ab9acf9a5cc5b22d993cd6df50cd2ab23556842a69cf1c28266fddfd73ce6ed1a8b28d11705b377e52510b280005a0404f1530705b046d19d05cb2
7b7ea661dfe6261e79aaa64edb75cf9742c19cf3b578abca45010bc9b10a1c365533c4ab829ebb7b6daf1ca038e9b029d3256c69b3eb6c28ed31c75e3ab8ada7
bf74c81c0a400128d00d050cdc366ddcb869b73bd0ca11b5f2cc4c0d904c72becc245d800f8ac796728e9576d85ccde25e51aa5c40d2de384071b2661ba1894f
1c705b037e1ffaf64f4ad41d0a4001284054c0c06d96d5c38cc9ac41203e3345ffdd63f768f5748f39d92a6a1a6990d755f3c6bbc7ab48fc1585f4b27c86c64d
bb84afdc8e9b76b7f53a5f134c3248d0532cf84609e3093b733e9d47f9ea5556ee8a17a42b91dbaa81e45816984c73739538678f4893c80d2126fb10b92aa54a
6a2a724e1dbe3b59bbce89c6144997ad33f18f9d96d6289591db44a1532ddb44135e7dae92a3beb68648ea25334af1869057755519959695fb98c661e4b4718d
f93f51a2fcc74d9b2396ce63ad445734752d758099f517ad362eed9952c82ddf1fcec073406a466a140705a00014688902ec1ff6e2dff6746eb3ec7293398ccf
827c0a8ca6c368d2e28baad154badb25f29564df55669cdf33c7e944c9504c8dc6eb5171d2341c014d8a47515662be4c233d7afc237f25f5d9e998824dee1285
87d1842dd854f353754c73585646e736b1ae2d91442c85124615112fa34ad2de386f4388f64d3c2fd110490e8a4b5a86c66e930cbf026919a172544dda3af35f
ec42e3bae935d2023359e74cd3e6f4376e344cb38dfbc30f4fc7f3db10ee820250000a400183029cdbc6c6c6d88415c66d86a855167e90832ea66850725b8332
abe5421a715848cfc736114a5366163a4ba6db2c8ca4ee72330487f2e12b817a329b1a1dcbb6ff27f11511de53827c0c1418c8ced92d0eed30909db3476c994f
a501651272b309c279c5a86782bfb12a1137e77a8312c9cb7cf6d6d7dc767178552e310bb9396591eb2b919388ff4961d4342c9805c6f4fead8929f58928c026
a7554053af97d056c944df48e0d09f8f02fddf09716853f487cffc601631480e33280005a0001418340518b459b9cdb7bf8dcf9484a8953e1fbbae4801212f9f
291361860be67ddff1c29ffc55ec7c16da51a274b94861bcbc98377080690a46e612d9b711a81d1bdf931bf930277f934792ca30c1cb0e4b04405438aa7b16fb
94fa7a6e9359ea33a1be6e4689b02fa0210c77bf668228199a184819c3b4b471c44b909c8bdb5cb71478b8d9ce6d727ff8e167260ddacf10ea0b05a000148002
4515287c3fa9356a256239d99c4a5b274d6272d23d0d6cd92820de26a3094787e8bf62c536b74a18859aa6f1cd4c5ab9d9aa6e4aa8021a14c7f4b4ee12a325e3
68e394b48d2ca6012595299824392c476eeca2e91138134e25d9e6542ad210a932d675464a43cc3195987349824e91a1ed192e6a1378d2f2cd7049ac518af6a5
374d8b755269f5d348a541f136b93f9cf183a1a2a317f650000a400128d05505e43d6d9efd6d4c02d3f3dbf47b45e32b7ae4430902254b5bd2f679b1e424c359
bed0206e4bb7def3a5d178254bbf4b206de06c93be5cd978db7eba973ccd4735902a987d358ebda23a3a4bccc7bd1805a66b97f9547c53bc12e0113be5739aab
0e382370b1b1b6cb6d688f69e9e3fab2cd5ec63652028dd19fe9767b35a424bca53444e6c09055c67c86ce789bd604ceb419e729409cbf2f81dfd521752df597
c2c66d494265a488d19461e583a7efd4d55f1fd40b0a40012800058a2a20ef69f3ec6f2b9a75a0bd442d8139b4e43690ced68eb058d9d9baf7a0efe13920e82d
50000a400128202b20f6b4b18baefd6dbd542d7bbc8216f8c12d246d53a011dc26f7281e0ff36d44ab06b9aa2f17dcd6cb5f9eb60dae6a7a296a0d05a0400715
c0f9a41d6c54cc7f6d5400dcd6c65683cf50000a40810a15b0ed69f3ef6fabd009640505a0004501701b4525d840012800053aac806d4f5b33f6b76121000a40
01280005a000148002504052c0b8a7ad8ffbdbb0280905a00014800250000a40012810a8406e7f1bfb036f280005a00014800250000a4081c62ab0c311b7fdff
677ff8b96a15652e0000000049454e44ae426082}
\pard
\pard\plain \absw9637\absh6649\dfrmtxtx0\dfrmtxty0\nowrap\pvpara\posyt\phcol\posxc{\*\flymaincnt0\flyvert9281\flyhorz52226\flyanchor0\flycntnt}\ltrpar\s16\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb120\sa120\ql\rtlch\af6\afs20\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs20\lang1033\i\loch\f1\fs20\lang1033\i {\rtlch \ltrch\loch\f1\fs20\lang1033\i\b0 Illustration 3: Type Library Editor general interface}
\par \pard
\pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Type Library Editor features:}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Graphical user interface}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 WSDL source view }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Pascal source view of the library}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Pascal Proxy source view}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Pascal implementation skeleton source view}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Pascal Proxy binder view}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 enumeration creation interface}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 class creation interface}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 array creation interface}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 type alias creation interface}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls14\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 service interface creation interface.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Below are showed some sample images.We will use the {\rtlch\ltrch\dbch\hich\i\b\loch\i\b user_service_intf.wsdl} file located in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \\samples} directory for our sample.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par
\pard\plain
\pard\plain\absw7860\absh8595\nowrap\pvpara\posy1\phcol\posx2{\*\flymaincnt0\flyvert44304\flyhorz44288\flyanchor0\flycntnt{\*\shadow0\shdwdist0\shdwstyle41\shdwfcol0}}{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw524\pich573\picwgoal7860\pichgoal8595\wmetafile8
89504e470d0a1a0a0000000d494844520000020c0000023d0802000000d9c2b750000000017352474200aece1ce90000000467414d410000b18f0bfc61050000
00206348524d00007a26000080840000fa00000080e8000075300000ea6000003a98000017709cba513c0000393049444154785eed9d6da825c979df4fbe0492
7c3009210412422059a238b27066e324c609c9f17ef07c111101af6309c6ebb112f0bdd7518c2e7e91150cd6ac568305f7626de2bc4ca24431bb62043a7b8d08
027b985841ab8519df0c48bb8b8decbb59bd44b3935120380a384837d55dd5d5d5d5dde754757775f7d3e7776866cee95b5dfdd4afaa9f7f3d55ddd57fe4f2f2
72c567bf09bcf9bf567fe14faebef1bf577fe28faebe7db9fa7fdf5ea946f19da25da82fd9cfd5eadbdf597deb0f57dffd6757e76ffee1777de7d15ffa8b7fee
932f7eea47dffd74233cd5aefee75bdf547ffad37fe64ffdde1b5ffbae3ffec766c8783eb6fde69d3bbfffdfdffc27d77f7c644afabc1ff8b9f7cfb68e460632
f2e9a6e51f7af6ef7ee7a7d8200001084000028d045657aedfb9f1d2051b042000010840a04ec088c4fb3efd161b042000010840c0236044e2275ff8c6011b04
2000010840c021a0a4c188c47b3ff1d67bff131b042000010840c021f089b78c485cbbf5b51ffb775f678300042000010858024a1a8c483cfd2f2e7ef457df60
8300042000810513f867678f9efed06fbff3fdffb56d537f55692c01250d4624feee2f7df1efdd78950d0210800004164c4069c0cffcdbd7fffde7de6adc6e7d
ee2df55795c61250d26044e26f7fe0bf7dff2f3c6083000420008105135001c4af7ce66b1ffaccd7dbb65ff9cc57551a4b4049831189efffc0fdbff5f3f7bfa0
1e93f53e8fbefe13b7bf99ed7bedf75502b53df75af6eb0bb7b3ef6c10800004202088c08f1c7de1e6d9577efa935fd19e5e7dd19bfda9feaad2d81229693022
f1033fffcadf387e596f3f7ef75bea80afdc7da07f7edf271f67c7bffa3bfae7875fcd7ebdfc4993d81ec51708400002109839011525b822a175c28606eabbfa
ab4a634ba1a4a1124968f5f889dffabf9948fcd6ab464cda23091d55e88f49af13eb8f8a4254861ffb7a66828948bef91cf10704200001084c44e09defffdc2f
7dfacd7ffcf16c2b7d75fe4def547f5569868924bc80238b394ebea2f44087203afe50dff5cecb47dfcad5eaf1878b7865e67a8b79108000049647607df8a9a3
8fffeed58fbc76f523afaacdea84fea9b69ffaf8effee04f7d6a984842071c6e18e1ee317f5033193a92b82486600a07021080c0c404bef7994fbcef3fbcfe77
3ef88adabc48e2073ef88adadef7f1d7af3cf3898648e2efffeccb7ff37d9fd3dbf53bff270b02eefcb6d9f36b8fb2bcbef4bafef9e12f65bfbef06b7962fd27
fdf9d2ebfe813ac35f7e331389b7debc5ee46f4fc41708400002101893c0f7fdb01109ebb95db550df9548a834d624250d664ee2077ff6e5277ff2bfe8ed99df
c845e237ee157b5e7b39cbefd1b3d95fddef26fd931f7e2393812fbef6e47fd49aa15356fffaf08d67dc9d7c870004200081d109bcedddffea5fdf79e3fa2f9b
5b59d517bd69cd505fd45f551aebc095341891f8a19ffbfc93effd4dbd3df3d93fc844e2b3afd83d4fbef78bb94ee8cf1fbcf8a13299d9f78d8b67f4e11fba28
67ca75267a8f4d509cc5c9dc9c973d10800004209094c0dbdefdab4a063e72fbb5b62d17897f696d50d26044e29d1ff8fc5fffb1cfb24100021080c08209bce3
3d9b7ffab17b9fbef73fda36f55795c61250d26044e21f7ef0f3dffb9effcc0601084000020b26f0f61f3efb6b4fdf7edb7b3ef6b6f73cafb7bf9a6ff6e7dbff
d16d95c61250d2502cf0f78b9fff9ea7cfd8200001084000029ac03b7ee4ece95f2c44e2dd375e79c7d3676f7ffa336c1080000420000145e07b9efe75250d26
9278d73f3ffff3ff60f3577ee8dfb0410002108000041481bffcaedbeffa85f3e2a54337ef3df1d4f38f1e3e565b791f13df5a0868506c10800004164c4089c2
b59bf77c91505ef1cb175f65db4ee0d9e73ebae09641d12000010828020d22a115023a3b09bcf8c26d7462272512400002a2092012ddc78b1009d14d1fe32100
811002880422d19d40480b230d0420209a409c489c9fac57c5e77033b573b97fba5e9f9e7b53c79ba3c2c0f5c9fddcc2c664434c381349886efa180f01088410
8810894c214aa77c76b85a4dac1375ef9f29c4d1460b80faeb2ad7897ab270d9d89a1291086961a481000444130817890727eba26f3e44377c006abe07af59a8
34e3e0ac57248148cca4ae31030210988840b048b4b9cbacc3ae3f79173e4b767498ef5a9f9ce9d1a9f5c903777fb5b3ef1d5b0c1fe9d3e5ff9e1c981398c0a5
3ca3cada196ecaf6176144194c1c6d1c931c23f303cbacacfe651192fe1c6e94eae4dfea835a79fe44120328fd44ed1ecb21008140023d452273a3da77678351
badb6e0779dcd11ebbdfa67cd874ac75c75624eca09651a9f2a8472a50f044c2f7e6cae3e7225164521a99a574228f7ae60fd5b1eb934dd3b447e1d71089c046
46320840402e817e22e186174edfdf74d2b5cbf6f69bfebbeee037c40d6622baf1a822b6a8a4b15dd16d918473222d1b3a2b3b0baf039eba2430dc444f1f0210
d86f02c122e1f6bb5dbfdce6e8ad7b0d77f7dd64a3acbf803909d7984651f162114462bf2f0fb9bd3f2c87c05004c245221f50f2ef6e6a1f32aa8b44316160c6
7ceac34dd9084f31a9a08792eab2e11de5f9f4b6bb9bbc53d707978c603863590c37210f108000046297e568784ec20edab8834beed30965e77d6d8677dce043
0ff8147bcafcd7ead32812ce6cb34e13f29c841d56f28ccc94c058601eaa28f7e8b9169da03a1fce9c04570e0420b037042222895ec1cbd6719b5e3977a8aa81
8c61e27aec8aeb50d71c020108f423b07f22a11fc9563762f503c72db0fd0192030420307f026389446f8f3c4394441233ac144c82000486258048745f810a91
18b62d921b0420304302880422d19dc00c1b3426410002c3124024babb48228961db22b941000233248048f415095e010e01084060a904d4cb371189ee22a135
9f3781430002105824013d588248f415891986879804010840a03f01440279800004200081560288048d0302108000041089253ec7d73f90240708400002db09
1049d08380000420000122092209084000021088274024410f0202108000048824e2f593914a08400002102092a007010108400002441244121080000420104f
8048821e0404200001081049c4eb27639110800004204024410f020210800004882488242000010840209e0091043d080840000210209288d74fc62221000108
408048821e040420000108104910494000021080403c0122898e3d08058e0d021080804402ea5ddce1c3688844779150ef7d6583000420208b807a113722d1d1
ef874bab4aa9d555b1e603010840401081e422b15eadd6270f8c3fbd7fba5e9f9ec70f7245b9e379264624045d15980a01085802e945627d74b85e9fdccf7beb
88044d0f0210808028022388c4e9f9e6687570e68ac4f9890a30f427d78f4c3c949664bf0f370ff41f0f3785aeb829c546213692b87b5c14ddfe7f7cf7f252ed
cefe2b3ede4f516d0a6321008105111845241e3ede1ce44ebf1e4968fd50fbb55aa89ff64b36307576b83ada6861101e85d4869bb6ab0222b1a08b8ca2404032
819144c2b878ebe83355b0b1c4e9b9bb5f4f5ae83d6eb22c79211802e3094442f26582ed10d85f026389c4c3c76a88e9f0c4bafeea2cc5169158ca44773791b8
b875556be9d55b175923b5bff50ef5f3eaf17196c41daadadfd64cc9210081c1098c27128fb2b1233598e4c40db97254f6f86a911d62262704460fee7d569d44
a21874cab441c940a6095a2cccd76c7fb167f0a64186108000042e2fc714897cca218f0cd4148599b63e3832c34aee28933b03e10d4c89958a4e226102875a18
514417774bd5a03143000210484120b948ccf3a985f1adda25124e94600385a2c2f31ba28eef9a78c26906d58352b40ff2840004f69c002231c6e3d64d4f5cfb
f72f557eeb1fe5689256034725f4574462cf2f5f8a0f81f4041089b988843b2b6d271afc89ebec710a67261b91487f85700608ec390144622a91d8f38647f121
0001190410094442464bc54a08406012028804223149c3e3a41080800c0288042221a3a56225042030090144029198a4e17152084040060144029190d152b112
02109884002281484cd2f03829042020830022319e4828d66c10800004c411506a16be4a855e5de289a79ebf76f3deeacaf53b375eba50dfd46f958b2a797846
fb9652469f012b21000108341108f7d888c448914778959012021080c07c08201288040420000108b4124024681c10800004208048887d71c57ca24e2c810004
f6900091043d0808400002102092209280000420008178024412f42020000108408048225e3ff770f0912243000210f0081049d0838000042000012209220908
4000021088274024410f0202108000048824e2f593a14908400002102092a007010108400002441244121080000420104f8048821e0404200001081049c4eb27
639110800004204024410f0202108000048824868e2494bab241000210904880d7978ed129d021181b042000015904d47ba91189f14482b7e742000210989080
f2f8519bd2b34945e2fee97a7d7a3ef4c04ef3c4d1e668957f0e37634842dd061d494cd838383504200001edf1033fda6b251789b5f6cdaba34d5d0c6245c2a6
770f0ccae4ec70b53eb93f8d3c68c1402402db25c92000817404a23cfe4822f1688b130ff2ef4d9e3d562454fa46951a27884124d23579728600046208cc5b24
72cf7e7260228b6cd8a7be47f9d3cca1eb4fdef72fd31c6d8c363c3829539c39df1f9c973fdc512c1546381f63431ed994e72a7eae8f0ef3cc0f37e62c430d4f
b991c4dd63d7a0fcfbf1ddcb8b5b57cbdd576f5dc4d47c35ad9b93cab8d747e515684bc57e53a65ea7de7270ddaa703b53d944be10104060f62261a704d40c81
9a8dc87db4f1c27acf43e5d08b81292d096e9aedc34d4eb8b039a88e6eb90796d3129978e8b367ea7270966b46ae4cd90446f165a05993a6e12625168e0fcf9c
6cf1b387cbcbb229dd7aa647bd7422dc122f65f8816d57d6961c100901ee0813e74860f622611dae1580fa9e4a27db460ff9a0d38e39091d316c9dfc681ba7d2
0253cfbff380586d202b4e242eabfa11d1d8fafbe65a54121e495452762e426100221151ef2485401081458884d7736f74ebdbe6249aa462e78cf7dc44a2f08f
eec0940e08eca08e71c8e5204fbea3cdb196c9f26cb264c7c7f9f0d6d55b77f5385776bcb3df442036c3ea8932c3b405f9fe2cd3b648a2c1c2a653bb657347df
f2b3f81c82ed0cba6e480481bd21e089446de03bdb616fce1c7de2baeed91b7c7d3904640c6d130977544a7fbf7f7a78f2203f4a4d2754ef656a14896c68ab36
dca425aa397daf9ba3c222095b65b5debb71c145f7dc8c4d398e597f6d16897224ab3c4efb783b38650f2fc6aaaa67a89d2877dc5a60cc70562906ba1456d48a
b278a7f04e9d9b520aa19ea4a9073165268d891becdc9bcb9f82426037817a24e1e9847bfbfe482251de021b2412ee64b29a17c8e724bc21a97c2467934f80af
735528be9fda096abdbfdcda9c7ec3c4f5b42261a70f5c31282ad174f58b5e7fa5ebadd3e44ebbcdb1eaf6e369891b28781aa39db6e3949dc6a4cf91f7efadc9
159f5e787c5f391c0bb79fbac11887837baedd76eebe724801813d21d038dc642f6def01af9144823511db9f93689fb836be3cefac67eed81fcc31eeb9ec7cdb
16ded4fdf65caaeb7f033d75c3898a912fab49de9975e1ea077a67aceb56c39e1a87b61235dab927573fc584400081b63909779469f4e1a6119f4598b320850d
37397737652ed65111ed27ed104d1911b8a33d666aa0767753fb484e5d24bcfc4c02c7fb9aafe6bfd27ffbf2545309b7cbefca5eed14e5198c0235727046b9ca
b1a9ba9d01d70d4920b037046639718d48b43e4c578f24ca111d6f9ada8e31d9f19ba2076fe774cb6126778cc79f30b0b3cd8d5f327f7dd53caee12528278f8d
58156a52cc61fb2261fd75d5c2b648c21d3d2bb5c18c675546ad8af31b58dbecdc9b4b9f8242208c0022d16b6e3969202263598ea6c1aab0b6472a0840400001
440291e8d74c11897efc381a02332780482012336fa2980701084c49408944d45b8fc6580536e9188ea0cc650c374dd97a39370420909c4087f71d45051f76c5
eb279e7afedacd7bab2bd7efdc78e9427d53bf55e1545e82bcf6c8a62a91887ad7078921000108cc848072efe10e5377881189e871ade43d044e000108402019
014422dae98723232504200081fd214024819c4000021080402b014482c601010840000288040f8a4300021080403c0122097a101080000420402411af9ffb33
31454921000108b4112092a007010108400002441244121080000420104f8048821e0404200001081049c4eb27639410800004204024410f0202108000048824
88242000010840209e0091043d080840000210209288d74fc62221000108408048821e040420000108104910494000021080403c0122097a1010800004204024
11af9f8c4542000210800091043d0808400002102092209280000420008178024412f420200001084060aa48e2fee97a557e0e37d40404200001084822903892
5022b13e3dd7018efb3d3ee4f1a78f6c6ec366dbdf307280000420b02002238ac4c3b3c3d5d166287668c35024c907021080403b81114542bbf5ecdfa3c36c10
ea68530e46e5e251fe29ffab8d3fcc78d5fae4be9766b53219e6c14a995b9ef2e1e3f31333d6b53e79c07d6c1080000420d08140b448a803ea5beb892b731285
975f6927fe40f9703d4b9179f383b3dccb3bfe5dedc9d2983d66b4caa6f1879b6a296de0921db22d82692c113b210001082c98c0e5e565a06074110995bbf7d9
2612764ec29b99a84f57787b2aa1868e26d6279b6292c31389ea0c7996f27e2642f9313bc2887a71d80301084060c10494df4f2e128112d43059dd38e15c8e44
5567b9eb4140fd707b6c4bb8b0397006af187984000420b0f704848844f3709319173203504e9a7c302a9fc6d0a149c3709319bc2a5396e35ac598d5de378e50
7507140420b05c025244c2996a2efdfeba986b2e428a6c6aa1186b3213d7fa4f7abf231b5e4a26ae97dbc4913a0840a00f81398944949fe2aed6285c24860004
20d089002221e969c63edd018e85000420d081805891e824891d007108042000817d26804810494000021080c0b635fb66730b2cc1010420000108cc8cc01891
c4821f44a46810800004164c40c5102389c4b3cf7d940d02108000040411f8f2c557471589053fb64ed1e649405d8df3340cab44139867bb4a61d50422a14ec9
06817108e885c694331ae7749c654f08ccb35da5b36aec484235a37dbe938cb28f49c0bd6cc63c2fe75a368179b6ab44564d13492cbb0151baf9104874d9cca7
805832098179b6ab4456cd40249c774264f5cd4a1b33bbf56d928b70a893b65d36f942bfd54ff632126e93874010811dee787394bf7a60575643fbba658b44fe
c238efed115cb110e84d60d76533e8fb717b5b8b4a4921b0bd5da92ec8e1c191792d4de39b0ec27d5d8c90ec6aedbb44aba501cf2392589f9e28acf92be78824
a45c2722ecdc75d920121d1d8788da4f67e4d676a5de5da6de5f7076d8fc86020778880084a4299cfbaed6deb1aee72212f98bac2b6f7d70070432fd705e67bd
3e39abbc42aef6aaea748d839c6511d875d9942291b5b762c4497d5fab9ea079b37afbebd3091df695c0b676a5dc51f91e65f3b2cb956d4bcacb39aeacdcaf5f
80e6bf7cf3e850bf08c1fa46f7250835f8bb5abb749178f8388bd18c18d8374338b185fbaa6a3dde6780d65f55dd91852cf787b52104765d364e2451bed330df
e94c9539efb3aabe3e7d5f5d6408f965a7d9d2ae546bd18322ea4b36e2d4f8d233ebc1566604c5b4b16d6f68deede876b5f68e8e7136914476bde5019acbd4ce
2c7afbdd98a3e155d51d592cbb59ef67e9765d3695e126d34d51b38eaa27e85dae8daf4fdf3933898a2c94407bbb2a4207f3dab3aa43db3200e5bd46d346158d
fe300f2eea13e3bb5a7b47c7382b91c8b5370bf35524a1aede6aaf2dfe55d5fbe91629b54b60d765539d93c8e56173e0c6a95e2c6bde950be43d27d0daaecc58
9376c779df7fd3f6fae4fae092a328cd22b1a3f9ed6aed8b1009f386512312051175e96e8924ea2fb55e68e765cf2fcb6ec5df75d97813d7f90b6ecbf1df5daf
4fa7a5ed2b81b6766586980a2c4eafd791844a70e0b531a7417a7e2fc0d1ed6aed0b11892c98d05769f62564b8498f536d9dcfe9e65f386a0104765d36fedd4d
d994b51a4736fdb85daf4fdf5717b98086d1b3082dedca19ffb037b91ad794dfef947dcfa7bbfc89e8f21980d2efadd5478fa9d85b277638ba5dad5dae4870a5
41201981c8cba63a8f6d9fdd49665e4f57c5e15311886c571dbd736ce9125935833909ae400824231071d9644fc9166104cfeb24ab9158c737cff411ed6a4492
89ac9a40245449d820301a01bd0aec68a7e3447b42609eed2a8555638b84a0576d602a04200001088c2d12a25f3382f110800004f68d0022b16f354e79210001
084410402422609114021080c0be114024f6adc6292f042000810802138bc4c5adabf681b9e3bb11769314027d08dc3daebd74286b7f6ab7db0cbd9f4127a449
07615a6aa2acfaafdeba288aa77e3abf84167a4a91a8f2cc2edb069d580465a18d630fccdeae0ad1224193de8336b3b588ba8f60856111ee6b429108e317966a
df9b26e5ef48605891086bac61a93a1688c3a6259057ee2d1b902ea2aea71389167cee38c0f1dd2276d7ca5c46f28552bbb1bd9f260f4bb2b31c1feb31ad224e
51a7901f024e7b292ce6ec4122615b9969365e3b74db5853c3a2492fa6b9ec2e88766bd6b9211237efadae5cbf73e3a58b6b37ef3df1d4f38aa0d29cfa63f4ea
094cf527fbc8b801bd139f873bf7f766b0cf7ccd2e56e3f96b7bccdf6cfc5fa68d1e43d8dd324821954088481469ca26556d876e1bdbdefba0494b6d27c17617
5eca349a9d5e2e38e30913ce2e9270c2857c68cfd5e4ca5ce3d55b779d4921fff2d3318473b89d944423266c6eb33b75884898c0a11646e8e6e8b4c3368fe0c5
bb34e9d93583e10c2adbc0dde3aaff19ee1c63e7349d48b89141596a6728a81eb87913dbee35192012fad695bceac6a6ccf9e64ac01389aa9baffeca478df408
68f5068b3259a34ad0a4e75af929ecf2c63bd450b77c7f33a148e431434950dfdde45cb4fae2aa5c81cee052f6356cb8a97a0aa623525c1a62f3f4e3caca6ffd
a36ca6b627526d8755bf409316db188630bcd24fc8fb158844f73989bc46dc405c77cfdc3d395f3deda7ff68a7000326aeed3cb653494c590f711d2c298ffae0
a3d3006badacd8516d87b5f0c37bf48726bda416b3a32cf5c68048f41489c15a4fd04c4350a2c14c222308f42110d45a8312f5b182632130e570536ffaeebd85
bbf47a21915f6f6664306b0234e95957cf7e1a275a24f6b3ca283504200081f1082012e3b1e64c10800004c4114024c455190643000210188fc0b422b1fd51a6
000ad5bb689b1fbd08c88624108000040620b0448fb4009158da9a8b03b454b28822507f06aeedd9e9a86c49bc8704f4fdceac02fbc26df56e70b556935ab1a9
c7da4d59031a229258dc9a8b7b78654d5c642461e20a58d0e9f3b6c42ab07aa5be8422611f3edab5e866be4642d39a8bee8d84d963785932b3166cbed48e5e73
e7226b9be5934ebb6ea25d504ba6284e1b33eda178bcbf5833b86857ea82d79f722949fbb01c4d8696e41168f148a239cd70b82978d14dede2f30bb575cdc572
25853c9d1d313407565754e09a17dd96238cafb631db0abce6912b49db32c34c8045f0de9fa43b3d924014331409d3c9dbbde8a62312994cb42d19db146a946b
c47a2bcbe6d1059fa513a8b5316f1117af3f685b9a3b30c520d5d25b4997f295ad82556087196eaa2d74525d6769d7a29b652461ae62b3e6e2d675375d7790f9
0a5eaddde55a58c631e5c2ae88c4326a74f252786313ac02db7be2ba3a731dbfe86635e4b72b6fb42f25eb0e2c647ec151090463f20b6c3403ecb0926e406a56
2250241a161e1ecd684e248140a5dfbb90b580a61d6ed2014031e2d361d1cd5a28a2e7a39d4c6b6f2ef25787adad2c2ba12962634f02cec4b56a2fc54ac35e1f
a27170c96d5b4c62f5ac86e51ddee2914417747291104d0fe3f798000bb0ee71e5ef55d11189bdaa6e0adb9340cc2aad3d4fc5e11098070144621ef580151080
0004664900919865b560140420008179104024e6510f5801010840609604662612fad691f2d185fcf7967b4878a06996ad0aa320b0a704cabbab73008b7050f3
1389abeaa397552a6e656d1489fa33b17bda2a29766f02f52b7911d7766f2e64104f407773590576b805fe6a75905f9cb7b21536f23fa927dbb73fb2c8c51cdf
8c39c227402ba24d0c45c078306fc9afa1729f269f492389f2b924e7393af5355ff5446b847d1ab66961d75b175cded3341bf167751ea653cf5be78f739a35be
5805567ce54e59006f8463110e6a429170f8353fe9dab242965b0d8ba88329dbf49e9e9b5560f7b4e29317bbf048adeb5227b760f8134c271295a5338a613c83
58fd777cd72ee56417d270d7f1674e62f8c6b03f399ac657ae341cb87653e3421dfb838d92ee2450b6105681edbf0a6c769dd656602d1067ffabf704ddb5b707
b42cec4a24b1b3d592a09d00abc0d23a0626e08d8fb00a6cbf55601d95b05fdd71272d21664fcbc2ae88c4c06d7c3fb2cbda9b133ba85989c048825560f7a381
742f65c523b10aec30efb8d64348d5896bb78a9cd8a27c3f907d8f1022d1bd39eff591cec4b5ba45825560f7ba310c59f8aa472a7b23439e63ecbca69b9318bb
a49c0f0283126015d8417192d96c092012b3ad1a0c9b210156819d61a560525a0288445abee40e010840403401444274f5613c04200081b4041089b47cc91d02
1080806802938a44f579bada43133ed8e21e14d1c0311e0210582e01ef7ea645dc7e39b548442c97c8dd24cbbdb4a62d59fd4a5ec4b53d2dd43d3dbbeef846b8
35019c662312d9bdea5b6309ae5b01cd49a689342d99f53647abf3b674cbfab24534add98844b916935e86f3f86e3918952f0c6b1ea52b1ec3363f73c9ce8e6d
3cca3cb0adea4c7f0a152a6f64347b2ae7cada5ef561ab39b6466cea43c0a95ff5bc35abc0f661c9b10e81d28fe50b592312fd96e5703cb17de8da5b2f21c35c
802e713be06d95b8ab2c7847596d30c765e770d4c23ebded9ccb86356e5aae85e5106015d8e5d4e5bc4a52382756817df6b9fe0bfc35caacf5ffd539ed6c904f
75f8eacbc16a7509f95383d814adab7eaeec3d15ee6a21f36a8758d39b40b57edd56e72ee2e47603bd1ee2523a89bd4992419540d9665805760c91a84e5154f4
23fe4f3b44a2793ac4ac12ca85b05002ac02bbd08a9dae58de3007abc00e30dce4bdbfba32a6e4bc02504f5194cbff77f8931d1f6c1c6eaa65581fbf9aaee171
e6810978a39a6e24ba3d926015d8816b6271d95526215805b6ff2ab0f5599d3a6277baa254143bf36c27aecd5bb18b153dbdb718b9f30dea7b6de2badce30851
657ddac5b5e6fd2e901d62cceb9b5560f7bb350c58faaa4f2b7b23039e62f4ac26bdbb69f4d27242080c4660d73ddb839d888c20302901446252fc9c5c180156
8115566198db9f0022d19f213940000210582c014462b1554bc120000108f4278048f467480e10800004164b605291f0e6feeb373b2d163b059b98803bb750ae
d942839cb85ae49f7e894d68729108583111f1907fedccb504d55b94f48db13b97f0a441ceb53aa7b72bb0094d6f688405538b44c88a895c9311154ad2280235
91a04146f123b147207756ac02fbe20bb7075dbba971e59cea1040b98e52b9ce92f7ac36ad15021d08348844b67097fbdcb5cab56c756af996e287bf92180db2
03ffc51de2adf1b5880eeef491c445fec06bb67692015a2e9b61be5516e4282ec545d05fdc2522ae404d22418314578df331b8f04bac023b68249155b0b362a2
ebfdebb26c220cfd1f7db7f95c1c422d6916091aa4d0ea9cdeecd27db10aecd0abc0666cf58a893b4462e79bb0a76f27582087409b48142fb2a241caa9cb5958
eab8afd2a7cdc2b2ee46cc62b82937dfae98b87db8a9ba5c6bf78273240474ab73ba1d95314c1a242d249e4073138acf674e47cc4724f209416f32d08c27158b
745a2d61ac694e6d48b22d5b44820629b962a7b2bd3a57ea3d353195513dcf3ba948f4b49dc3210001084020310144223160b2870004202099002221b9f6b01d
021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac37608400002890920128901933d04200001
c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71eb643000210484c0091
480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b2870004202099002221b9f6b0
1d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac37608400002890920128901933d042000
01c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71eb643000210484c00
91480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b2870004202099002221b9f6
b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac37608400002890920128901933d0420
0001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71eb643000210484c
0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b2870004202099002221b9
f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac37608400002890920128901933d04
200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71eb64300021048
4c0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b2870004202099002221
b9f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac37608400002890920128901933d
04200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71eb643000210
484c0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b28700042020990022
21b9f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac3760840000289092012890193
3d04200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71eb6430002
10484c0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b287000420209900
2221b9f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac37608400002890920128901
933d04200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71eb64300
0210484c0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b2870004202099
002221b9f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac376084000028909201289
01933d04200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71eb643
000210484c0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b28700042020
99002221b9f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac3760840000289092012
8901933d04200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71eb6
43000210484c0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b287000420
2099002221b9f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac37608400002890920
128901933d04200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d71e
b643000210484c0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b2870004
202099002221b9f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac376084000028909
20128901933d04200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424d7
1eb643000210484c0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b28700
04202099002221b9f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac3760840000289
0920128901933d04200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf6108000042413402424
d71eb643000210484c0091480c98ec210001084826804848ae3d6c8700042090980022911830d943000210904c0091905c7bd80e01084020310144223160b287
0004202099002221b9f6b01d021080406202884462c0640f010840403201444272ed613b04200081c4041089c480c91e0210808064028884e4dac37608400002
890920128901933d04200001c9041009c9b587ed10800004121340241203267b0840000292092012926b0fdb210001082426804824064cf61080000424131855
24d4c9d82000010840401601a5712fbe705bfdfbe8e1e3904d257ef6b98f3ef1d4f3d76ede5b5db97ee7c64b17ea9bfaadb25025af67a173e703010840000242
092417097502360840000210904b206124215439311b02108000045c0221634d2a4df4705360be248300042000810510402482a66e1650d31401021080400702
880422010108400002ad0410091a07042000010820126177047788c53804021080c082091049d08380000420000122092209084000021088274024410f020210
8000048824e2f573c1838c140d02108040200122097a10108000042040244124010108400002f104a22309163f0924a016d70d89e6027323193c876d03813c43
da3069964da08b48c85a3c7d126b35d690a6a3976467db4e009ec3b690709e216d9834cb26d05124960da57fe9c22fc2b6f776f4b7614939c073d8da0ce739ec
79c94d22014422c98455f8458848845c36f00ca1149e269c67789ea45c2a01440291484260d80b26dca921ba21e4c37986e4469a6513402492b8c8f08b10a716
7281c1338452789a709ee1799272a904100944220981612f9870a786e886900fe719921b69964d602c91b87fba5ead4fee17fe48fd5c9f9ec7dfb19b55469655
f939dcccd1c7855f843d9d9a3a91bbd51babfaabdaa9ff6dfcebf6c367d2fa53f00c2f781bbd10383b2b282493c1d384f31cfcd464288ec09822b15a5961e829
1283e453779a7dacaae6167e11f61709eff679af092a4bf41bcfd5bf7567a7ff6a3f7dbc619b3e0d7249a4e0e9967d7bc12dc33adb9da59b27e1709e3b0b4882
c513185124d6a727072bd3f1efe38e2bc79e1dae8e36dd22920589c49666ea3ab8bab3f3f6b479c36e97c180b9853bb570d1ad97bdad985b44420b70207f1dd2
ed3c249c76e7dcc279861b43caa512185524cead7f77bf98a1a37c306a73b4324edf7a7ff5c519a7d2c34d5e2491ed393acc06a18e36e560542e1ee59ff2bfea
ebb94c93e75c4993853b4acc560767baca3707eaf40f62ab3ffc220c776a6de3458d4ec71de5b03184dee9e6d328126e329b8f3ecacdd6e6d398c626d65fece1
b124ed81510f27869c658b40d64ba421b795b4fe27178e5b41faa493130e6f9f212449b36c02e38a44ee73b360c238fa0727eb4200bc3d995ab8299dce5a654e
a2f0f24648548626583957df94a377e642cc9e87b593da3415e9d28ad2315209bf08fb8b84e7b9ac53d68348d62bd9ef9ecff2fcbe9b4c3b779b8fed087b7bda
d2e853db0cfbf4a353f06c1389b6526fa151ff535d41ad30cc817038cf65bb3f4a1742606c91c8dcae8a03b43bae4e41ab3ebcead76b15d91cac4f36a76be5e5
37477e47be3e54550f506cc0e1851d9550438730f9897468e2243662a6b4aa08294268baae61f09eef9648c24e2ad87eb75582ba48d42309775ac275e5ae1b75
f371cfe26a8c97c61e5eff1205539b3438cf2d22e116ca15dac6fd5e80d598eddc0887f38cad29d22f8fc0f822f158f5e8d707478548d46614325538cd842497
93cdc9dabf7fa98f481865aa9eb451637279c8b4cade911533f3117e11f68f24eac34d6dceddf35f6d5dfb469fbe45245c0fd81837881389c612d9c0c8fed52b
97a70475c1ae8f4105caf0e084c3dbe7f25c1e258a25308148e46338fa4ea77274281f17b2233c661a4075e7cb8904eba3b7888493a133dc6424c1196e72e6cf
756c518b241c23bbdc621b7e112e4324ac43dc1288d83199d8363a4224e1dae6396e5ba2b6fd9ed6eaacea7ad0b8335c2486251cde3e3b5416872c8cc0242291
0513c5edb0b960e8611fd3677794a371b4679b483893d2a5df5f9be72aca2733aa272d33d4fb8da8749bb2b617f3e0c3236dc34dee1888eb9bec7eaf771feec2
dc8114f5ddceb8ea9cf59ec634ee6097dba1ae073d819753b8530b175d8f5be3548d2d75634975d96d013d2c2191c45484c379065610c9164c602c918819ab19
1277f77b6d3b4e598f2c12da8b350e74783bad13f43c75a3e37677ba131ede908bad296f52c43bdceb6b77a8df70a7162e121e3acfaab61279fbad52bab9d5b3
aa17795ac2e13c3b5416872c8c0022d1349a94df5bd5e1ce57b7233f4e24317273accf6aec34a0b17fbdf3282f41b8538b1289583346483f0ee1709e23149953
cc9cc0d24562a20826fc2214e7d43a0c19e9de779f2b61c13cb7071981d0620987f30c3480640b268048749997ded920c22f427122b1b3ec2912c07358aae13c
873d2fb949248048201249080c7b31843b354437847c38cf90dc48b36c0288441217197e11e2d4422e307886500a4f13ce333c4f522e9500228148242130ec05
13eed410dd10f2e13c437223cdb2097411097dbf0adb7602e17737413284003c432885a709e4b96cf747e94208448b846a5b6c8104422a20302b92053a354085
1308699fa48140b448800c0210800004f68700222160447e7f9a2325850004e646009140242000010840a095002241e38000042000014462a2f539e61639620f
0420008128024412f420200001084080488248020210800004e2091049d083800004200001228978fd8c1ab623310420008145122092a0070101084000024412
44121080000420104f8048821e0404200001081049c4ebe722871729140420008128024412f420200001084080488248020210800004e2091049d08380000420
0001228978fd8c1ab623310420008145122092a007010108400002441244121080000420104f8048821e0404200001081049c4ebe72287172914042000812802
4412f420200001084080488248020210800004e2091049d083800004200001228978fd8c1ab623310420008145122092a0070101084000024412441210800004
20104f605b24a1fec60601084000027b4ee0d9e73efac453cf5fbb796f75e5fa9d1b2f5da86feab7dacb060108400002106816894b3e10800004200081cb4b15
483544128acc2267ea2914042000010844114024b8b1010210800004b6dde0442441fb80000420008166024412b40c0840000210209288bf41386ad88ec41080
000416498048821e040420000108104910494000021080403c0122097a101080000420402411af9f8b1c5ea45010800004a2081049d0838000044a02aba57fa2
fce3b21fb856eb6d84d040247010108040452496ea19954f540a18e2166d1a85e2cb175f5de4a697770da18148e0202000015f2496e716b54fec2612219e545c
1a4482cb1e0210e84240b951dd7d16e7f5b61bdc5f24b4c02ce35f551044a2cbe5b1b0ab82e240a0030144c28566f5323604e9407eb4437459100944020210e8
420091681489d13cf868274224ba5c1ea3550f2782c06c09201244125ee364e21a398100041a26ae93c8d8e6a8b8c3767d72bf38e9fdd3f5faf4dc3cc9f4e064
bd5a953f07ab9afe7312dd809c67e5319fc3cd60c5795481d6255b22892ed4ba35028e82c09208248c24328538da6831503e6e55e884e3ef3607abd5c1590a9e
3d45a2db9c44a610a5e09d1dae5683e9440f91604e0279800004ba134826122a4470a207a5134a33b41e14feaeea52bb17a151637a8a4427ddaa1579c0751f7a
88842e0b91c4c02dac5313c10608c823904a24b2d0a10823ca6022dfa3fd9d1b670ce84c8bac7a8a449748a2c58f67d1923b0095273b297616a1461676e88fd9
9301d49f5c6b7b88049184bccb120582c07c082414097fa641f9c14224528cda5795a6a74874a9a09d7e5c27c8bd7fa90419a56c62c6510ba50a4e50628fea37
73432481544000025d082414892d9184ee1dab60a29fe3dbe2ca7b8ac48091443e1f63e7ef7391b0a56e1300f7101d4c6cdcd9feb88a269288e3d5a583902016
c60c08cc84402a91c87ac73be6241ee53de8f5c98314287a8a4427931ae72454fc549db10f1589da605d3f412592402a2000812e049289441e28ecbabba972d7
d3a0bdb19e22d1259278f8b8e9eea662904d4fddebe1262f92681e6e7227278e363bc7b2dae9114974b9303a7513381104164820a14868b7e8cebeda196ca753
9c3f5850ed350fa1163d45a2b38ba83f27e1ee691109d5ae6a13d7e59ebe13d7dcddb4c0ebb67303e54008c412482b1243b8fbd812b93e31362060ed267db3ec
134f3d7fede6bdd595eb776ebc74a1bea9df0a4db79ae028084040340144c2adbe452e884b24412401010874278048348a446c0832e78e027312dd2f8f39d72b
b641601c0288049184d7d2186e425420008192002241248148e011200081560288445b24a1476996f1af9e8ee61dd738020840209a801609e54196b7f18e6b57
ff1089e86b639c015fce028199135022a19ce952b7d8f9e7a5eaa5ee011049a0131080403401bbaad052bf4489f452c5d2962b840613d7d157510856d2400002
10580601440291800004200081560288048d0302108000041089e9168d5946c84929200081fd244024410f020210800004882488242000010840209e0091043d
080840000210209288d7cffd1c7fa4d410800004bc67b3799f049d0808400002106826c070132d030210800004186e62b8090210800004e2091049d083800004
200001228978fd64f20a02108000048824e8414000021080406424b1bcf78d50220840000210e846a0e11658b58b0d021080000420a0095cbb796f75e5fa9d1b
2f5da86f6c108000042000018f801109a5136c108000042000018fc0ff07685cc7b12ce019120000000049454e44ae426082}
\pard
\pard\plain \absw7860\absh8595\dfrmtxtx0\dfrmtxty0\nowrap\pvpara\posyt\phcol\posxc{\*\flymaincnt0\flyvert9281\flyhorz25602\flyanchor0\flycntnt}\ltrpar\s16\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb120\sa120\ql\rtlch\af6\afs20\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs20\lang1033\i\loch\f1\fs20\lang1033\i {\rtlch \ltrch\loch\f1\fs20\lang1033\i\b0 Illustration 4: Class type definition}
\par \pard
\pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par
\pard\plain
\pard\plain\absw8025\absh8850\nowrap\pvpara\posy1\phcol\posx2{\*\flymaincnt0\flyvert44304\flyhorz44288\flyanchor0\flycntnt{\*\shadow0\shdwdist0\shdwstyle41\shdwfcol0}}{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw535\pich590\picwgoal8025\pichgoal8850\wmetafile8
89504e470d0a1a0a0000000d49484452000002170000024e08020000008b3ab220000000017352474200aece1ce90000000467414d410000b18f0bfc61050000
00206348524d00007a26000080840000fa00000080e8000075300000ea6000003a98000017709cba513c0000469049444154785eed9dffd71d477d986fff8ffe
ea53daa639ae699226694ffdc6a727fe014e7b7a1a4a813ac6817382a4d410de03c13507055b08458657c6028cfd1a238560c5c6bc562c4842a34ac1b6702359
1531b21d8ee0057f4516365f62200492b79fddcfeeecec977b7776eece7df7ce3ef7ace5fbee9d9ddd7966779ffb99d93bf34ffec56bef9bf082000420000108
f811b8e2bae3373fb0c902010840000210f02030518b5cffb91759200001084000025d09641679db67bebd8305021080000420d091406691b71c7ef12d7fc802
010840000210e84620b3c835ebcffde65dcfb3400002108000043a11c82cf2ba8f6efef78f7f9305021080000420f0f6a3975e77d363af7de743d316f954d228
a8cc22fffefd8fff879bcfb3400002108000044412efbaf3c94f7ee9c5c665fd4b2fcaa79246416516f9b737fcbf5ffe5fe7582000010840000212827ce4d873
371d7b7edaf29163cf4a1a059559e4976f38f34bef39f34bf7bebc25af27be91bc7fcf99bd4f247f7df9def423bf4533cc5fcffce579cf7cde73e6b7fef2c792
cd3c3978ef9a0d210001088c8ac07fdbf5e57d479f79c79167f4e62d6f74317fcaa79246996416f9d5f73cfa6f564ffdc291979244e7ff46decbf281f3c95fa7
8e24ef3d964a6e1e39b00904200001082c9e80c419b6455424261e90f7f2a9a4d103738d45342ed1571610d871c6a5e77f4ba474dbf3c97ee47df2d1cb7f3c2d
7a68d9f0c7cf5cb262204d9ce599c749f51cea6bfc8227b682000420307a02af7de797deffb9a7df7a77b2d8ed49f25e57caa792a6432cf2e6133f4ae471e29c
51e22fac3d23c2d0351a73c87b5db975e947a9b35efa804636c63d9ad87dc3342432f190896cb237979e79b3e4b67aeec8f967dedc94e7e2edcd1e21000108c4
416065e77dbbeefedad51f7ce2ea0f9e97c5dcc6f54f597ee7eeaffddaefdcd72116d13e093b10b1d7641f486f8ac6225b2fef2d4cfe8d2fdb2679e21b6e1bea
5692cff93f4ee29234c3bccfa6de5bd39ce7e8bf4d8caa1997c24200023d12b8fcdac3d77feac97f77e3a3b25462915fbdf15159aebffbc92bae3d5c8a45ae7c
f7a95fbcfe4bbff8e9b42de9ab4f26efafffd207be9ab62c7d3a799f7da4f97df5c9eb8eff30893f8e3fa629b365ffd389455e7cfa3a7ba5becf3ffa80db869a
ff978f2719667bc98fad745469e6cd07533f06d640000210808003815ff88dcc224621b64ee4bd5844d2e89d3feb17f9b5779f7af5db4ebefa6d4f9c4a36bab4
a7fa5e3e4a970f7c33f1c4e34fbcfa50ea9b2c65f9d38bdfbc5613db8ba677df507794bc7e78cf07d2ac2a39647b397dcfe3dfbcb6f160eac7c01a0840000210
7020f0aa37dcfe89e3dfbc6e7fd696246f74d19bb2bc914f258ddee4338bfcfaef3df2eab7fc45ba3c9e8a445fafdc7353b2f2da3f7ba558f7edcd6b35e54d9b
459fbd440c7ff668b6264fb0e72bc54649e02209dc36d464d9e65f793cdbea931793ecf44f7daf2fdd5dfd60b2e268a1582000010840c095c0abdef071f1c407
ef7d62da925ae4637a6bcd2cf2da1b1ef9d7bff9672c108000042000819f7fe3c6ffbcedf4e74ebf306d914f258d82ca2cf25f6e7ce4f2377e81050210800004
20f073bf71f45fbeeede57bdf1b657bdf1a02eff3c5dcc9f3ff7fa7b258d82ca47637cdf23ffea754759200001084000029d08641679c3cd8ffefceb8efedceb
8eb140000210800004dc096416f9cfef3dfb4fffd3c63ffbf53b5820000108400002ee04f259aaf69dbeecaa83972ebe244be9c92afe984e4071b14000021018
3381aa45e49e7961f3591617027bf6de32e65387b2430002101002258ba842e0e248e09ecfdc8b481c59910c021088950016f16f92c222b15e15940b02107027
8045b0883f01f7f38c94108040ac04dc2c72e6c0caca81b3be3dc91b3b26f2dab9d1dfdd6afaf1f4bfafe9a5261689f5aaa05c1080803b81f92ce26497a33b27
bb367c0dd45c92a9fbcdf7352d81ae379f3a1dff54f96111f7f38c94108040ac04c25b64be3b75378b38eecb31599bf9b048ac5705e5820004dc0974b1487af3
5d4b9ba7d216aa736b2be93b6dec924fb34f56d6cea47faeecda99af9aa4e1883637e59beb777c891eca6b2af9d8b7f2e2a3c69d9aac766d58318775c0e5a3aa
0425d951a46153b5a4cde10816713fcf48090108c44aa0a3454cf746a569e8a2182595477e0b4e5a8d264627b53e952c1a483c94f7978803247d2d9fc22256e2
8d5da9ba9a766a94a692683ce06a8b5691f35939a01d47d588d9814d0f5cb048ac5705e5820004dc0974b488e963af7730146146129eac6de41df2f65db8124c
d46fd0768234ccc9cc64e4a452317b9fbdd3caae4df051b1c8b464f6be9a5ab7b088fb79464a08402056023d5aa4dc85ded083add14659039547bf128b4ce98a
6fbcd757123beac131191669eb198af5aaa05c1080803b819e2c92342e594d4072736fb6486e88a249aadea255cea7a9452b6977ca5ab466eed43116b10ebe68
d1aa445dc4221805021080401381f92c92f58dab1b4ce776b93bc4ba9527f768f3ca6ed3b5def54a3e8dbdeb2bf2d2be96993b9dda54a55b9555a7076677ab10
8b70cd400002106823e06691b65cdc639f9852d22f12536d52160840c08f0016f1ff453d16f13be7d80a021088890016c122fe0462ba12280b0420e047008bf8
df438945fcce39b682000462228045b0883f8198ae04ca020108f811c022fef7506211bf738ead20008198086091792dc2ccf410800004464b40e67bc522fe16
d16f132e33b49306021080407c04b43d068bcc6b91982253ca02010840c09d0016c11f1080000420e04f008bf8b37377352921000108c44a008b601108400002
10f0278045fcd9c5facd82724100021070278045b0080420000108f813c022feecdc5d4d4a08400002b112c02258040210800004fc0960117f76b17eb3a05c10
800004dc0960112c020108400002fe04b0883f3b7757931202108040ac04b008168100042000017f0258c49f5dacdf2c281704200001770258048b4000021080
803f012ce2cfceddd5a484000420102b012c82452000010840c09f0016f16717eb370bca05010840c09d0016c1221080000420e04f008bf8b373773529210001
08c44a008b60110840000210f0278045fcd9c5facd82724100021070278045b0080420000108f813c022feecdc5d4d4a08400002b112c02258040210800004fc
0960117f76b17eb3a05c10800004dc0960112c020108400002fe0422b48814890502108000045a096c6d6db9c71cd352c669913d7b6f6181000420008119042e
6c3e8b459a433015a3d0e1050108400002d3082c814556269395b573591074e6c0caca81b317fd9bdedcc32e2cc26503010840a095c032586465d7ce9595b533
a939b0486b959200021080c002092c85450e9cddd835d971d4b6c8d9350951f4950a26b18bc826f97be7c639fd70e7462e1e3ba5731c63c522275627ab278a5a
a9fce9565d9beb57e7476ce7e5b631a9200001080c94c09258e4e24b1b3b522bd46311158cac579dc89fe64dd2f67574e764d7869aa3631cd3ab45443c57af6f
a62741a2938e1e914df2ad077a1e71581080c058092c8d453207181324da30d1c881b3f67aed38d13576b224796e148788a44f8ba081b15e60941b02d113581e
8b5c7c495ab176ae1937947b4a6658c4b737bed522a68d2a8b138a36ab7445628ed5d5a4194b228fe4b36a383135bd6c62072e57af9f30b188c434d92b0b672a
99447fc25240084060600496c9229792e62969afb2228f542da535559d249b641d240ef187fd04579b45f2de91ac85ca0a37f46d551c15e9cc4a6fdabfca79db
6d619aa496c9c04e2f0e070210889ec0725924edf648630be926c9fad677ecca5aaeec862cbb17a4d2f6e5ec92368b6456a805227a5c7600513e8bccfddfb4c8
d5d36776c82561b4540967ac1efb6ca7daf5c20b021080c0a2082c8145dc7fe1d16f4acb22e56e8df25f691bd3ea897a9ff9d4be90348869499f6e6c1ab26659
a46347fda24e2cf60301088c84001699fa0346fb5787a5677bf58fa2c1aa68c0b2fa2a524f343e96953557591ad1b7355515dd234568629eee2a229ad24e4772
da524c0840603004b0889345f4f9dcec65bba1d49064babe4def7af670af5477d12d5e3ce63b2b7da93fbe104cad77bdc89867810773557120101813012ce268
91319d1494150210808033012c82459c4f161242000210a811c0225884cb02021080803f012c8245fccf1eb6840004208045b0085701042000017f0258048bf8
9f3d6c09010840008b6011ae0208400002fe04b0c82c8b081d160840000210984d401434ffd021fa43efc915d71dbff981cd6bf69dbeecaa8392afec78feacb7
2b077f35b32504200081911198ff461da145e687420e1080000420e048008b4c6d19732448320840000263268045b0080420000108f813c022feecc6fced83b2
43000210500258048b4000021080803f012ce2cf8e6f2210800004208045b0080420000108f813c022feecf80e02010840000258048b4000021080803f012ce2
cf8eef2010800004208045b0080420000108f813c022feecf80e02010840000258048b4000021080803f012ce2cf8eef2010800004208045b0080420000108f8
13c022feecf80e02010840000258048b4000021080803f012ce2cf8eef2010800004208045b0080420000108f813c022feecf80e02010840000258048b400002
1080803f012ce2cf8eef2010800004208045b0080420000108f813c022feecf80e02010840000258048b4000021080803f012ce2cf8eef2010800004208045b0
080420000108f813188c45ce1c58994c263b8ee6623fb7267faf1c387b717ad96493d9092adb764d3f63d77c0401084000022981215964455eb936542a8d9230
32e86a85aee939452000010840a08dc0a02c72606dc7cada9934f8d8d8b5b2635773a88145da2a95865a084000020b23302c8b9c1579ac9d93c26f884e36f206
2b8d4b929738266de9d23025d5c9da8eecb39d1ba97e8ac4bb36f46e5bacc9829bb35916925db22f160840000210f02610d02292757d997aa01a616471c6d19d
c57bd1461ea094d2647a28e491347f258ed135892a925e96628dc4376913d9d19d935430895d72d334b9a4f1f859090108402026025b5b5bdefed00dc35a448e
aff26ab14872d3dfb521b77b11807146166ce4e1881da3d8fd288578f210a4714dea9534ae690944ea07cf1a08400002311110012c81455c2d97f776480c21af
249e282c528e181afb452a618a861acd16c99ab03692a6b059b188eb91d32606010840603909c46991a2a129b385d524a56d50332c32b3452b69e352af24fd2b
e212abad6c39cf003c07010840601e02915ac4dcd08b0773a527c3f4aecbdd5fffb47462220fbb2fbdf2d070d286953d494ceffa3ca71ddb420002d11088cb22
44031080000420b05802588487742100010840c09f0016f167174d404a41200001087813c02258040210800004fc0960117f76deea664308400002d110580e8b
c4f4234fca02010840201a02f27bc3a5b1c89ebdb7b04000021080c070085cd87c76c92cd238668016a3f5f529ebb53b7f5d79e5a4754312400002101803816f
bdbcf5d39f7528e8e64b5ba3b3481d8f984584d2011b4921000108444a402c22af1ffc78eb85ef6f3dfddd2d91c4d7bfb375e1d2d6531793e5c96f27cbf917b6
fefaf97f7cf16f93948fbf8045b6b6c422172e5c4024915e14140b0210e840402d220a11917cf7475ba28a8b3f48fed4e5b9ef6d3dfbddcc2ee212793df6ad9f
44128b3842126148ca93279345dfcbeba1871e128bc89bb944b2b97ef5d5eb9b8ec721c9baa677cf9994108000047c09a845240a1185bcfcc34221ea0f5588a4
9118452df2c8df7c7f892d521ae5bdfcc73480620e55882cd288a5ed58621159fffaf495fc2df777c96df584c9e4c4ea6432cd1046065dadd035bdef39c17610
800004dc09a8454412260a117fe8a2f2308b346dc9ebe457bfb3dc166944230a98611131c724e9574ffe9d5c79a54929e188e824b3c8d5abab26b2486ef7f29a
12676011f7d393941080c0e009a845a423c46ec51285fce9e9676c85c87bb5c85f9cfbf6b82c92f67f24fe90b04314622c22ebf5955b64fd44de402581c8ea7a
fe878629c94bad62fd9d7a675da296f4954532c5e7796853acc9f2a86639f8938c03840004222650b1884621a2105db4b35dff558b7cf1ecf3a3b148de92a52d
57aa9052d072e1886d91cdad441f2734d4c8028e748d9e3ef51024b541f6b1244c2c93b484e99ae4c3e45db126cb21ff40d29c58b51ad1223e49291a04203060
026a11791c4be4a1e1885188be117fe8a216f9f3c79e5b7a8b547a47a454daa22505b37f4472f2f593addd93ad2389422ebffc721589fc2bcd5a5b178e24e9cb
b188441ac92d5f35605c52da597ad36f6cd12ab927b78e7152c943c54e067c5e71681080c05808a845c410952844d61b9de8b3bfdabb1e8345ea75dbd82f9258
64b275727272f764b7f47f4c4e26b1c9e4e464b27b92842022125d2a62d058a26e05b3d7792da219e192b15ca29413020327a0161143c8e358461be6e95eb366
a4161191ec4eac3149e491fa238d48d2c0a5d62f22b148f12a5ab4ec47b7ac20c3764ff1beb1452beba64f9ab2d2b6b2d5acdb9e67b6067e7171781018050163
1179a25745a20ad15f208a3c648dfcfbb517c7178b24f59fba439ab3e47fd290652c92c522129c546291c680c3346ae54f6d691c613fd5556ae62a77b7675147
915eb72efaeb47719e5248084060a804d422f28b7479a3f2d0451ff3d5b62c5188749c481a792d7d8b56a553c4fc39ad82f497861a88248bf4af5f99b468e92b
7bd277a8b5cb7141000210084dc058449c21efcda20a3116918e13190465e92d62d3741c8d31f99d88061c178e248330ea7359da23626291d0b544fe10800004
864a402d72eed99f49cca10ff556fca1a36949c7c9579efb87315a4487cc4a24a24f64a516494210e96c3f299def27b39faf0fb582392e084000024109a84564
ec2c69b01255d417592f8b28441e0296d789c72f2df193be1e2825fe3003c2cb1b7dd237fd57dfef6694780faa6c0201084443402c22818863711ebdf0cae846
8657348ecd5f9af857ac972359924100021058520262111941ebe1a7be27dde65ff8aba7ffe4d4378e3ef2f5faf2e097378f7fe5a28cd88845a656b4ba432d72
6bfa327fea1b5e10800004e22320dd1ef268affee450daaca469eb3baf24e3fbca40f1affcddd68f7e922c3ffefbad9ffc345b247d242d5a9dc28bd6c4e289fd
fbf7ab48ce9c39733e7dc91b5da31fc577f6502208400002e3b5488f75af9eb8fffefb1f7ef8e163c78e1d3a74e8f6f4256fe44f59291f21921e819315042030
1c0258646a5d4cfb65497db8140d38c416870f1f165b9c3a75eaa9f4256fe44f59291f99f62edd5f6da0dea6c3983686fcb41fadf363f6e15c581c0904464300
8bccb248e3678d836e8924340a1173c89bd7a42f79237f6a4462b76865639964b917439a5477d77526122c329aeb968242603804c66b91d6ae0edb16d3de4b45
9abe10a310230c558b8a44fb48d28acf46816f7046696493ea4c249b6683dc16e589469876643897154702811111c0224eb1c86c8bc8e358d2972e1d21d28a25
21889da3fc292be5234920c9b2c6ac866910db6622b13729869d37b39394c79c1fd1094c512100816d2680455a2c52e91d91d46a143319893ed7eb65913c7ad0
59ad4a7b9a3e1389ecdb1a30b834db3b2d5adb7c35b17b088c91c0782dd25adb0b6ad1ea3a134961112d8135d1081669ad54124000027d13c022f3b668e9f6fe
bdeb5d67223116a94f34624da6dbf779427e108000049a096011278bd889423de9dbf4f06f311349d1de954fed6e261e91a947b279abb2550ddd2e9cff108000
04c21018af455c9ed1729c8c845f1d863939c915021058020258c4a9925a95c308284e1c490401084447008b385569ab45b46bc40cbfc8688c4e58490401082c
3f81f15a245cdda94e2a439e84db1d3943000210d84602e3b5884b78612aa653622cb28d2734bb860004164c008b380177b1082d5a4e2849040108c445008b38
d567ab45e85d77e248220840203a02e3b5488f55d9f393bef59fa0f3a3f41e6b8bac2000815e096091a93883ce2f92cd30d2f8fb402cd2eb294e661080405002
586496451a3f9b7f7e9124db4415abab573769048b043de5c91c0210e895c0782dd2dad5116c34c65c22eb9ba59946ea23a0384d88d8ebe94066108000043a12
c0224eb1489ff38b1412b127ac4a46ccca660ba98fcf48bf48c7d39ae41080c0c2086091168bf43fbf48d69ca50328e6d188ed89fa58f158646117043b820004
3a1218af455a41856bd1aa4c4995f48d6091d6fa200104203048025864de162dddbecbfc22e56940b268a4e822493e4ec4525f33c8338883820004c64d008b38
59c44e34effc22d5e6a9dc163a97884c16621eddaaaf19f7c94ae9210081011218af455c9ed1627e91019eb21c12042030280258c4a93a5a95c308284e1c4904
01084447008b385569ab45b46b84f9459c68920802108888c0782d12ae1219193e1c5b72860004864660bc1671092f4c6d754a8c45867696733c108040380258
c489ad8b4568d1724249220840202e0258c4a93e5b2d42efba134712410002d11118af457aacca9ee717a91f1923a0f4585b64050108f44a008b4cc5196a7e91
8a125c0c31238dcbe6bd9e316406010840c02680456659a4f1b379e717c1225c821080404404c66b91d6ae8e50a331365a249bb42a8b7f8a21e24d40944e6765
0de3a8d35b152bb2211db3f48d73284674da52140840603004b088532cd2e7fc22d32c920ec198bcb2a946ea338e58872a1faa6a8adccc2a7be5604e340e0402
108894001669b148fff38b4c8d45328964938e9c902975f3356693c6f910ab61891e7216cf447ade522c0840602804c66b91d61a58788b569b45f221e34b2188
2d18dab15a2b9504108040df04b0c8bc2d5aba7d97f9456ab3ad4bd8600728d3661cb1d2144229262bb15ac0fa3e4bc80f021080c0340258c4c92276a279e717
d1ce8c72b779698d698caacd2f92afb0e620d16e14999544274cac64cb890f010840203081f15ac4e519adc5cd2fc2cf3e029fe8640f0108042280459cc0b62a
67de1150b088533d90080210181c012ce25425ad16d1ae11e61771a249220840202202e3b548b84a6464f8706cc9190210181a81f15ac425bc30b5d529311619
da59cef1400002e108601127b62e16a145cb092589200081b8086011a7fa6cb5c8bcbdeb4e474122084000028323305e8bf45815c1e7179163e521ae1e2b8cac
200081fe086091a92c03ce2f52ca7af5848b215cd2f4775a9013042000014702586496451a3feb797e11c78ac2228ea0480601082c96c0782dd2dad5d1680ba9
9dca7aed543f73e6cca143874e9d3a75ecd831fdd588bc74702d59291f49826c7ddd07ba26fd773d1dcea4189297414d167b3db0370840a02b012c326f2c226e
b8f5d65bcf9f3f7ffbedb73ff5d453af79cd6bec1ce54f59291f490249967c648b417d612c62c6732f0664cc07d52216e97a6a931e02105808012cd26291e0f3
8ba857f25864530f67da9a859c13ec04021080803b81f15aa495d1b6b4686191d67a210104203028025864de162dddbec3fc2233fb454a1649067dcf669eb267
a81ad409c4c1400002232780457ab08876b03ffcf0c3870f1fdebf7fbf74a74b5f88bce48dfc292be523f3cbf6865f7ecc68bfaa4d3132f2f395e24300024323
305e8bb83ca3b5b8f94586765e703c10800004dc086011274eadca610414278e24820004a22380459caab4d522da35c2fc224e3449040108444460bc16095789
8c0c1f8e2d394300024323305e8bb88417a6b6c2251eda09c1f140000210e844008b38e1c2224e98480401088c8f001671aa732ce28489441080c0f8088cd722
e3ab6b4a0c010840a07f0258a47fa683cbb17d24c77484c8ec67f2d97891e62f26c81a5c857240101812012c32a4da08742cad164912acae264342a647d0f067
f649a003245b08406079098cd722e1ba3a3ae5ec70eae4a3a0e8b8f1c5c0f2c95f1a285466252992245e28ffd5b43fb54c69d02efd3bdd838945ac21ed53df64
b231a3db374e8b5284340e2525090420b07c04b088539d751243a7c46dbb4f6edd7a334f5f8951ccbd3d7997dedab304ea016b8b13ab8569e4b63fe595872a46
23d68acc5b1517a860cc0891c941a5298a6951f2436e0d83dacacfe71080c0c0096011a70aea240649ac8bc9baf2a7d32e3551e52e6cffa9b6a8ac496ee61abb
58ea997d2b2f3ecd3562d6548689b482914c576a977afacac4f21d0a4c52084060c9088cd722cb51513e1629a296cc25332d62ab416efe591b98d545b2ba9e4f
a265fadfeb76b17542fcb11ce7164709817e0860917e3806cbc5a145cb7eb62a6dd15ab57ac9b30e0c3b34291d6b397fd326563461a5914d792ac6ac29ab1282
144149d1ec160c0b1943000243218045865213538fc30a16a6f5ae27cd4ae59bb836291917682357434f77356e483572220d3ecc01e50d5da6973f7b9e6baa45
ca73cbd3bf3ef8538c0384c03c04c66b91ae5d1dee943be5ec9e2d29210001080c90001671aa944e62e894d869f7248200042030540258c4a9663a89a15362a7
dd9308021080c050098cd72243ad118e0b021080c0321118af453a450ce1122fd3c9c2b142000210a811c0224e27051671c244220840607c04b088539d631127
4c24820004c64760bc16195f5d772931bf3fef428bb4101833012c32e6da9f5ef6fa2f0ae104010840a089001619fe792177746b68c5e278a7adefa34458a40f
8ae40181311018af45c2757574cad9ed24cb07b3aaa69eb6de9e77241f1c3e1b67371b90a41857a53c465636406f6691522ab74325150420302e0258c4a9be3b
89a15362a7dd6b22bda5d7c392c6f5e9ca3cad99702a1fc5dd1a83319983a43ebc3cb148878a212904464d008b38557f2731f439bf48fde8a60d985b595f1143
75c28ff21c2458c4e92c20110420d04060bc1659bed3a16b2c521931bea1c0b94bb0c8f29d0d1c31048642008b0ca526661e8767bfc86696692d7ea9cc412243
c1e7ad5f0d73874c9d9b6429d07190108040580258242cdf3e72f77a46abf2830f6b9292749a1133574836e988f9bc3a77884ef5de3837491f65230f084060d9
098cd7225dbb3a96bda6397e084000022108601127aa9d94e3942389200001084441008b3855231671c244220840607c04c66b91f1d5352586000420d03f81f1
5aa45378d129f1af58affe6b8c1c210001080c89001671aa0d178ba83b243bf9f7d6f465fed437bc20000108c447008b38d569ab45c413fbf7ef57919c3973e6
7cfa9237ba463f72da1389200001082c1581f15aa4c76a524fdc7ffffd0f3ffcf0b163c70e1d3a747bfa9237f2a7ac948f3a8b84193e7aac21b28200048211c0
2253d196869e2aff51d946030eb1c5e1c387c516a74e9d7a2a7dc91bf95356ca47a6bd2b1b5431cfb071ccf724ff19164130c1ae0732860004ba12c022b32cd2
f899dcffebeb45121a858839e4cd6bd297bc913f3522295ab46ae324368b048b743d97490f01086c0781f15aa4b5abc3b6c5b4f75265a62fc428c40843d5a222
d13e928620c31e83dd9e0264da7a2b96498632610690edb86cd827042060086011a75864b645e4712ce94b978e1069c59210c4ce51fe9495f2912490644d4d55
3af947d31420d9805779acd230e7476d2b4e6d084000028b2580455a2c52e91d91d46a149d444463911e2c628f9698ec329f39aabe5e76d910a6e8614eed6459
ec49c5de200081111118af455a2b79a12d5af55e105dd3d83bc24484ad9547020840605104b0c8bc2d5ababd67ef7a3aec7a1a41344c019258a4be5e63912cec
9836f1e1a24e1ff60301088c9e001671b2889da8fe8cd61c4ffa9af908f369d5b569ca8e42aa538324c752ccf9d1f4e9e8cf6a004000028b23305e8bb83ca335
ed272395fa09f2abc3c59d03ec09021080803f012ce2cfcede921150fae1482e1080c0b211c022bdd598f9753aa331f6c6948c200081c11318af45c2558deaa4
18f224dc9ec819021080c0761318af455afb45b46a3e65bd76e7af2baf6c180465bbab92fd43000210d8060258a405ba48a49e42568a50b6a1bad82504200081
8111c0229e16b970e1022219d8c9cce1400002db4060bc167184adb1c8c993c962e292871e7a482c22ebe7120903bc3bd601c92000810113189745dca70c3155
26e65085c8228d58da8e251691f5af4f5fc9dfe5d1ae92dfa2bb1862c61827033e633834084000023681d159a4b1fa1ba70cd1946917c8d624e9574ffe9d5c79
a5c941c211d1496611f32374177f6816ee293967210001080c950016496a668645d2fe8fc41f127688428c4564bdbeaa3ed0c1daad38635d86cab247dcad8c59
e29ed28e79ac9153867a6a715c1080c028086091e916c95bb2b4e54a15529ae7f0c291c2224563597a83376e30c3b58b5d2aa32bda2d5aa95ab281dd67a42c92
3008fc28ae4f0a0981e11318a3455aa70cd16a3bf9fac9d6eec9d6914421975f7eb98a44fe9566adad0b472441732c527143a5a5ab325dae197571dafa52db97
8ec1883f867f59718410181181315aa45ebd8d2d5a8945265b272727774f764bffc7e464129b4c4e4e26bb2749082222d1a5dac3913669d57bce67afa95b248b
48d2832df5a0e092115d9f141502c3278045a6b668894564d99d586392c823f5471a91a4731dcee8179911612463ba67e149d288e596d2b48fad268d6555ab0c
ff24e30821008188096091a916d10fc41dd29c25ff93862c63912c1691e0c4c422453359dae2342df2908f349690394456578bd90cebb18895329b71c46c99ce
3f12f14949d12000812522303a8b384e1962aa507f69a88148b248fffa95498b96beb2277d4357b83ef7c50b021080c0f0088ccb221efc93df8968c071e14832
08a33e97a53d222616f1c8d761933c68a147dd0116492000816d2280455ac04b2ca28ff3664f64a516494210e96c3f299def27b39faf6f53fdb15b08400002db
4b008bb4f097f8c30c082f6ff449dff45f7dbf9b51e2b7f70c66ef1080c0f612c0224efc1d272371ca8b4410800004222280459c2ad3db22f7df7fbfd30e4804
0108406039096011a77af3b0c8fa9d77bee7f77eef5def7ad7ce9d3b3ffce10f3bed864410800004968d0016e9bfc6fef0f0e10fddb2ffd65b6fddb367cf0d37
dcf08e77bce3b77ffbb70f1c38d0ff9e86992363150fb35e382a0884218045a672f59a8ce4ee8f1dbc4d1eebbae38e3b3ef2918fecdbb7ef7def7bdfbbdffdee
b7bffded12911c3c7830d959e526eb77cfb50606f6f905a2e34e993725cc5547ae1088890016996591c6cf1a07ddbae3f6db6f5bfbd067d2d7e1c387efbcf34e
71c6fefdfb251c79ef7bdf2bed5a2292b7bded6d3d59c41e63ebc46ab81f2436fea2bef5f47754546b3e248000049681001699d722fffb8b5ffcd4fa9d478f1e
bdefbefbfee88ffee8d39ffeb458e4aebbeefad8c73ef6a10f7d68efdebdef7ffffb6fbcf1c677bef39d6f7deb5b6758a4f8deafc145e5eff4d69c4e5522d268
fa2dfb8cf4c9474635d66091c9d1143f6dcca668cc42306b7c7b251472de9465b85238460840a099001699d7229ffdec6745249ffffce76fbbed3671c6fafafa
a14387c422b7df7ebbf48548a39658e45def7af74defbde1c6dffaaf532d62dde8d3e0c2f2447daa1273ef2fa290f6f4c5e4256612add4545624d39c49deb217
6cde14ae4d08406099096091168bb44e46f2894f7ce2ce3bef78f0c10725043992beeebefb6ee917f9e8473f2a8f66dd74d34d6b7b6fdebbeb4db7dcf4fb1fbe
fe8dd36391f278efe50e8924fe686c26321bb5a6cf057162b52c03bb5365762601e74d59e60b886387c0e8096091796311f94588747e48e395f8e39e7bee91ae
75ed1491b8e4c37b6fde73fd9bef3870cbc1df7dd39f3e78f4f31fdf33a3452b6f364adbaceace98dad95069a1ca8b534d2f7fa7218e692e3383d21b002d3b0d
3d6fcae8af4500406039096091792d22db4b13d6eaeaaa74a14ba3963ce0fbfbbb77dfbaf7fd1fdcf9864fdeb6f691b7bfe90b4737fecffa0725d95f1eb93d57
451102648d4a9bebe5b9439228a3d46b5ee9e8369f65eb67a64ff79a6844c6a2d721e5b3adea2d5ad377aa3dfa7644a2e48a03f09d376539af1c8e1a02105002
58a4078b4816d21d72edb5d7ca5358b77e70cfbe6bfee39d6b7ff0d1dffd1f5fd8f8ec89bbf6c9a7fff7be3b4abbb1db8eb27b6fd1cb6ddd8cad2e8952a0d0b0
bdd51b9f4e3fd218581847984fad9ccabdeb79268b9837858b110210586202586496453a4d46221d212292bb6ebbf5e05baefeec67fef0e427ff40b27ef45e8d
3f78351160de14ce0b082c3f012cd2671dcac3be0f3eb071fc8ea4ffe3b10792e9ad78d509306f0a67050462228045faafcdd39fbbabff4cc911021080c02009
609141560b07050108406049086091fe2bca6300e0fe0f821c210001082c840016e91f3316e99f293942000243258045faaf192cd23f5372840004864a008b0c
b566382e08400002cb40008b0cbb964a635be5bf782fad2c8fa6687ee1126eb8f86103e3e82000810513c0220b06de717795814ff4c7e7f6ca7caa91d42cf618
bf68a4236a924300025e04b08817b6991bf5d92f521ac824ffa977c3caa98335f65f3c72840004206011c022fd9f0ea12c626638b4949184203a6a56791cc5fe
4b458e108000049a086091fecf0bb1882e26ebca9f1d76d934ee6275e0c54a1b5787dc490a010840605e0258645e8261b72f0dbe9b777534345fd933b1873d22
72870004206013c022c33e1f2a1de9f5def5fcf0e95d1f7645727410889600161976d596c38e541557af9f58bfda9ee9b62492fc515f1ed11a76c57274108886
0016e9bf2afbec5defffe8c811021080409f04b0489f34352f2cd23f5372840004864a008bf45f3358a47fa6e40801080c950016196acd705c10800004968100
16e9bf968845fa674a8e1080c050096091fe6b068bf4cf941c210081a112c022fdd70c16e99f293942000243258045865a337a5cbd8fb2581924b8e97727c326
32c7d1f50eb3ebb16cfb01743d60d243c08100167180b48d491aef3b739860faa627568d51acc1bb745d694213f95d63f5278d32fe8abe1a7feb38fb53856bed
dda65decd81c5c3d3797353d19793e0d245bafae967e31ea9761ad82ba9da17e3bedb60f528f880016197665f76d11fb6e6dde673725eb469ddba06178aefaaa
7cc0fa5436358fccfeb45054435464153edf6b3d379735334db5b81320015e1977c0e7866ed7c089550629585c05b2a7660258a4ff33a3cf7e91f42eb35efaaa
6f7f3f977b521605a45f72e5bf725090a4b56fcfe6969b7efdb76ff9cdb7b3dada065158f9346432fbd31c7e2544ca8ed95a9bbdade7e6b22697485ade6a7853
f9bb00be7aa254d87447c5119900a831d3da5e34de2ae5901e559e6187a3aa549c162e4c29fabf36c831460258a4ff5aedd922a69da8697e91a2e3c41646728b
cb6745b42d325d22cd1d30352b340d1d3c23d38aabcadeaab45c95dad3eaed57baa6be2f9735e99e34a12586f46b7c4d42e9edd87cbf2f3e369b270752716963
26591e45b050caa1accfee47556e3e0c538afeaf0c728c930016e9bf5e7b9e5fc4bebd9a6e8ad92b939b63430bd1acfb7d731851cea4b1c5aae1ce6e239ded98
a658c4da3adfd8dcda5d9cd1bcc77cadc610d618fb66a67a5d5fe1506c96a2d04f2b698a38c0740e95f76259ac6aeb22c6ea725426b8d28dea07d04f29fabf34
c8314a025864d8d55a69ea99cb228d794dbb8f3778a8594df5aff325a2f516a726e00d0eab3c9fa6295cdaaf1af758bfad3639439b864aea94bfd390c5265fb7
48f3a36eb64baca62b3b7129ab3c7d9d46231f1361b5a79fa714c3be4038ba0110c02203a884198730cd22a56fd379e395dd0e543c5c95af9d2991d2ddd36e1c
33c75609444a8d30d9d114eb9c3fcdb2af1c5b16489986396df74f8a691461f6e0b2c66ef75b4d9bc6725d58bbd043a9dd91931bb0f437e956d9a715160d9994
f762675b727196d1e67a87a35223948e364c29867d657074c32180458653176d5fd2ad1b9c7e6b357d05c9fba267bdd23652be0136dd2a937b99352f89fd67be
979a584a37523d9cca7eedce85199f96da63f2ee6fcb7cf9d303d9cd3ff148e5a9e2f635357205bdeaf4c38ddfeb6d67d79e7d2e77d96bad9843aa3f27507e6e
3a2b6835fdcca3b2eba70e2a3d807e4a31ec4b83a31b0c012c3298aa98f340a6367a64f9ba7550cc791003dddc2efbb61ce2b61fc0b6949a9d8e84001689a5a2
5b2c8244b6b1a291c836c267d7c1096091e088d9010420008188096091882b97a241000210084e008b0447cc0e20000108444c008b445cb9140d021080407002
5824386276000108402062025824e2caa568108000048213c022c111b303084000021113c02211572e4583000420109c0016098e981d400002108898001689b8
72291a04200081e004b04870c4ec0002108040c404b048c4954bd1200001080427804582236607108000042226804522ae5c8a060108402038012c121c313b80
0004201031012c1271e5523408400002c1096091e088d9010420008188096091882b97a241000210084e008b0447cc0e20000108444c008b445cb9140d021080
4070025824386276000108402062025824e2caa568108000048213c022c111b303084000021113c02211572e4583000420109c0016098e981d40000210889800
1689b872291a04200081e004b04870c4ec0002108040c404b048c4954bd1200001080427804582236607108000042226804522ae5c8a060108402038012c121c
313b800004201031012c1271e5523408400002c1096091e088d9010420008188096091882b97a241000210084e008b0447cc0e20000108444c008b445cb9140d
0210804070025824386276000108402062025824e2caa568108000048213c022c111b303084000021113c02211572e4583000420109c0016098e981d40000210
8898001689b872291a04200081e004b04870c4ec0002108040c404b048c4954bd1200001080427804582236607108000042226804522ae5c8a06010840203801
2c121c313b800004201031012c1271e5523408400002c1096091e088d9010420008188096091882b97a241000210084e008b0447cc0e20000108444c008b445c
b9140d0210804070025824386276000108402062025824e2caa568108000048213c022c111b303084000021113c02211572e4583000420109c0016098e981d40
0002108898001689b872291a04200081e004b04870c4ec0002108040c404b048c4954bd1200001080427804582236607108000042226804522ae5c8a06010840
2038012c121c313b800004201031012c1271e5523408400002c1096091e088d9010420008188096091882b97a241000210084e008b0447cc0e20000108444c00
8b445cb9140d0210804070025824386276000108402062025824e2caa568108000048213c022c111b303084000021113c02211572e4583000420109c0016098e
981d400002108898001689b872291a04200081e004b04870c4ec0002108040c404b048c4954bd1200001080427804582236607108000042226804522ae5c8a06
0108402038012c121c313b800004201031012c1271e5523408400002c1096091e088d9010420008188096091882b97a241000210084e008b0447cc0e20000108
444c008b445cb9140d0210804070025824386276000108402062025824e2caa568108000048213c022c111b303084000021113c02211572e4583000420109c00
16098e981d400002108898001689b872291a04200081e004b04870c4ec0002108040c404b048c4954bd1200001080427804582236607108000042226804522ae
5c8a060108402038012c121c313b800004201031012c1271e5523408400002c1096091e088d9010420008188096091882b97a241000210084e008b0447cc0e20
000108444c008b445cb9140d0210804070025824386276000108402062025824e2caa568108000048213c022c111b303084000021113c02211572e4583000420
109c0016098e981d400002108898001689b872291a04200081e004b04870c4ec0002108040c404b048c4954bd120000108042780458223660710800004222680
4522ae5c8a060108402038012c121c313b800004201031012c1271e5523408400002c1096091e088d9010420008188096091882b97a241000210084e008b0447
cc0e20000108444c008b445cb9140d0210804070025824386276000108402062025824e2caa568108000048213c022c111b303084000021113c02211572e4583
000420109c0016098e981d400002108898001689b872291a04200081e004b04870c4ec0002108040c404bef5f2d64f7fd6a17c9b2f6d5dd87c5636b8e733f7ca
bf972ebe34cf2299ecd97bcbe48aeb8edffcc0e635fb4e5f76d541c95476304fa6baad1e9feea043f9480a01084000025d088845e4f5831f6fbdf0fdada7bfbb
2592f8fa77b62e5cda9218459627bf9d2ce75fd8faebe7fff1c5bf4d523efe0216e9c297b410800004e226a01611858848befba32d51c5c51f247feaf2dcf7b6
9efd6e66177189bc1efbd64f8845e23e25281d042000810e04d422128588425efe61a110f5872a44d2488ca21679e46fbe8f453af0252904200081b809a84544
12260a117fe8a2f2308b346dc9ebe457bf8345e23e25281d042000810e04d422d21162b762a9456c85c87bb5c85f9cfb3616e9c097a410800004e22650b1c89f
9e7ea6a21059a35dee6a912f9e7d1e8bc47d4a503a084000021d08a845e4712c918708431759298b98c3ac3116f9f3c79ec3221df8921402108040dc04d42212
676808628bc45688347969ef3a1689fb7ca07410800004ba11508b8821f4892c598c3cf48d4421fa0b122cd28d2ca9210001088c8180b1883cd15b1789c84397
afbd8845c6703a5046084000021d09a845e417e9f246446216d3a9ae0a918e1349438b5647ba2487000420103b01631179104b3bd575d1e7b2b42d4b2c221d27
32080a1689fd74a07c108000043a12508b9c7bf667620b7186fe46c4f6878ea6259d225f79ee1fb04847ba2487000420103b01b5888c9d250d56a28afa22eb65
1185c8cf12e575e2f14b3ce91bfb4941f9200001083813108b4820e298fcd10baf3032bc232b9241000210180501b1888ca0f5f053df931f827ce1af9efe9353
df38fac8d7ebcb835fde3cfe958b3262e3525ac4eef0717caf23e3b340000210181501c73ba49dcc633aa8e56bd1ea340f977c7910559aa79e7903010840603c
043cee96a3b0888861da3c5cd3a6e232231bf306021080c0780878dc2dc7629169f3704d9b8a6b3c270d258500042060088845bade2dc76291c679b8e4a795d3
a6e23203e5f306021080c078088845ea774b1dec7ddadd722c16a9cfc365c60b6b9c8a4b9e7d6681000420303602da316ccf5a688fd1db78b71c8b452af37035
2ac49e8aeb3baf6cb140000210181b01b1487dd6c219dfb965e2c2d159c41efede78557fb56f4fc5250f35b340000210181b01db22a6b3446e8ff64c2195bbe5
582ca2f37049e3667d2a2e1def45179dd0517e3b23cf74b140000210181b01b9019abba5f606999f86d822b1ef9663b148e30c2a762c529944e595bfdb628100
04203036026211fb6e697ad42b0ab1a79c1a91451a6750497e8bdf3489ca8f7eb2c502010840606c04d422f6dd52de1b8534de2dc76291c61954cc6c8ef54954
c676ea505e0840000242405e95bba5ddb56e260bb1a79c1a9145ea33a8d81302572651f9f1df6fb140000210181b01b548e56e69662d6c9c726a2c16699c41c5
f66a6512959ffc748b05021080c0d8088845bade2dc762911933a84823607d1295b19d3a941702108080109057d7bbe5282ce23e838a10d44954389f20000108
8c9080c7dd72141671994145e654b1275119d58c0214160210808012f0b85bc66f11990e850502108000040645401a7eeef9ccbdf2af8784ec4d24933d7b6f99
5c71ddf19b1fd8bc66dfe9cbae3a98fcfe7ef3d939f395cdf5f8784100021080c030092c8145e41059200001084060b004061d8b0cd3bd1c150420000108d804
e66c790ad8a235e791b13904200001080c9f00167969f895c41142000210182c012c82452000010840c09f0016f16737d8af061c18042000818511c022580402
10800004fc0960117f760b533d3b8200042030580258048b4000021080803f012ce2cf6eb05f0d3830084000020b2310d022fcaec785808c3fe358d92eb99166
1a0138073d37dcf13a9eedeec982962bfacc7ba9b8b01619d4d063033c18a5ef78c1e8f8662c1e04e0ec01cd7d934e781dcf76f7645c17ee355549d957c505b7
88fbd930c2949d6ab1af5132e13c9b009cbb9e219d4ee3ae99b7a6a7be5a114d4bd057c56191edec17e9548b5c2d8bb95ae0dc9573a7d3b86be6ade9a9af5644
58643beff2ded5e3b861a7cb8fabc5916a3d199cbdd1b96cd809af4b869dd2705d74c26527eeabe28845b6d3529d6a91ab6531570b9cbb72ee741a77cdbc353d
f5d58a8858643beff2ded5e3b861a7cb8fabc5912ab1883728bf0d3b9dc67ebb98b115d78537d2be2a6e30b1c899032b9395b533b933e4cf9503672fc6ac10a9
fb4eb538e7d522fbb297c65bad1ed28c6f2e2607ef137746e6bde769320cc17936cc4abbc13c4573df91c75e6654b77b6e9df0ba67eb9872ceeba2b297392f93
c6ca7281ac695c523a627149d657c50dca22938931c7702c628e24c02175aac539af16d957e5e1f7faf5230964a5fc5b3f9b758dc9a1afd3ddce47f71e6209c1
d9e6399b86a69ca6edd9e55d0aec9df0f65ebf735e178d57817da574bd4c1aaf91d673db9c24ad297b04d857c50dc9222b07d6764c766ea4f79100b76c4ffa21
8fa4532dce79b54cbb97d95fd8cd195c4f5c59d39a9b23edbef269bd1777fd5d4eebf1d781cc08b3a659a4f596b114d83b9dc6ad60bb2698f3ba98260997da9c
7d99743ab73b25ee8a684659dcaf8b193b1d9645ced6bff8272d5dfa4adbbb36764d26bb36926fac4777166faca6303550b6499a32c973d7ce6c956e6ba749b7
2dd2ecdab923db58feb773e3dc9a6e2841927d6cd5fc13ffe92bb3a0db77ea4e97df9c57cb8c6fc4f2912e260ad13fedf366daedcc6c6ba7372b35073bb7691f
99cdeb092a39785c422138cfb8bfd78ba0b670c7d2a876cda192d510b077c2eb517db33799f3ba70b4887d9e3b5e26766569ddd5cfe469d9ce4ed917c3be2a6e
6016b9f8d2868623d92d5b6ee2b9212a6b129dd8294d4b4872dfd75bf95979b7e3682a952c936ccdc55ab6955e19639a8a3c9206b7c6fc3d43a84eb538e7d532
ed762fa03406371631efed6fca332c5209e1f56a31799a7b9fc9adf123db61950426c38ad8dcafa5109c6700692cfe0c2cf58f5c2c321cec9df0bad79a63ca39
af8bba452ab2370270bc4ceccd8df2f59aaa9cc9957ab7afc1d6948e706627ebabe206679124c830f7ee22aa28c211d5ccc68e95b58d032b22898d5d2b6be70a
58760394beafac9108a69ead646577c99868a46e91d6fcbb3c14d0a916e7bc5af4ae675e264a3037f7ba451c63917a0ef56f58761af3a9b96c8c69ec5bb37d3c
f6d5e871fd84e03cc3228dc5b757da45b363144de32e6fbb1267e45fd945efd83be1f5a8bec5c722735e26f6d7a0cab95df1ca8cab6f76ca5e30f6557103b448
1243acecd89509206bb6b23a5d136d1c484c93fa66636da5d488e472974f2c92376dd96147d650568e7e2a8d6c2ef9bb3567e9e9e5de2ed98b4566c4ef3d5ac4
d655e59ed518fab45aa4eebc4e575108ce332cd258fc8ac5ebb7f2bae30d967a683243b7768c62ee4441b177c2dba9e25c12cf795dccb8221a2342f7cbc4d451
e54b43ebd93ead72e7bc0aea30fbaab8215a24edf3d0e7b58ae6a3b461caf488481355127f485c927793cc6ed1ca9c61b568596d501a9d643184e96e49fb601c
5bb47c1f2deb548b735e2d95bb5ed058c4fe8665df0a675c1eee579acb9da57e6be8ddd695b2e86dba72df9734d36e1933b0d8073fdb55955864bbb0773a8d3d
aa6ff1b1482f5fb6b0c8b3f35776b7bb5ef951a8e4765fdcd6addef5e46bbea516b9d14ba356e5bbbf69b0d21c929c57b2cef5a2b9291595e9b4b7f69eecda6e
d152a5d9a669c83fff694bc707ba3a5d7edd78d6e2a14a8b87fd3dcb7c548f1b2a773493d2be69ce58a9c92a375c7b777a33addc523541e3b6766b8ffb291a82
b3cdd3d030b7f5c62234826adc64b9b077c2eb5e6b8e29e7bc2eeac2a8d46ca5822a5f77f4446dbc9a2a5f2cea5fa1f4b4af5f7d2e291de1cc4ed657c5693e93
2bae3b7ef3039bd7ec3b7dd95507fbaa95bef2999757c73bfbbcbb736eced273a8f7efc8338ebfd2d2625256da52cc9dba7ecbaeb7bae8196f5ef53c758d9d55
3dbd7e6aef57d3346eeb514181383716dc1c7363111a41356e621773e0d83be1f5a8bed99bf47e9f99f332997639d4af824abddb5741e57ab15356c2d37978f6
55715824c8cfdc1cabb6532df67eb5381e64ebd719bff8a097bd3b661201e74a497bbc9538329c91ac13def97757c96198d745bfc59c11f8ceb3a3be2a6e0416
e9121ccc53251edb76aac5c15e2d58c4a3eae7df6438d83b9dc6f3177c8416d138a61ec8ce09b3af8ac322c422db4960cecbc071f34e57cb606ded58d8c527eb
84b7f7c3a3bebc91f6557158643befa19d6a91ab6531570b9cbb72ee741a77cdbc353df5d58a685a82be2a0e8b6091ed24e07d0174dab0d3d5c25da9135b49dc
096fd7cc5bd3535fad88b048ccf7b84e971f57cb62ae163877e5dce934ee9a796b7aeaab15d1725bc47eb480f78d043a3de90b436f0270f646e7b2a13b5eef5b
deb40dc5222e47489a39ef3f332a2e608b969c582c2e041caf2b97ac483383009c839e1e8e787b4f16b45063c87cfe1a096891f90f8e1c200001084060e004b0
48ccfd2e033ff9383c084020020258048b4000021080803f012ce2cf2e822f111401021080c09c04b008168100042000017f0258c49fdd9c0267730840000211
10c02258040210800004fc0960117f76117c89a00810800004e6248045b0080420000108f813c022feece614389b4300021088800016c1221080000420e04f00
8bf8b38be04b0445800004203027012c82452000010840c09f0016f16737a7c0d91c021080400404b008168100042000017f02cd166146170840000210808023
0199886572c575c76f7e60f39a7da72fbbeae0182666a18c1080000420d02381924564064a5e10800004200001470212b2542d1241870f45800004200081c510
c022fedd4a8ba921f60201084060c804b008168100042000017f0258c49fdd90bf1d706c108000041643008b60110840000210f0278045fcd92dc6f3ec050210
80c0900960112c020108400002fe04b0883fbb217f3be0d8200001082c860016c1221080000420e04f008bf8b35b8ce7d90b04b68bc024f65727b08e3fe45ed2
64321a4a271a76622c82452000816602229125bd27b61e763280e064d2e9be29795ed87c36ca45c7e5ed44038b70d7800004da09a845e2bb6f6683997b59c4fb
563be40db148fbc530e4fae3d820305802c622833d42bf03c322156e58048b40000241086011fb6eab61999fb706be15160972fd0cbcd6393c082c800016c122
2ea719bdeb4808021098d5bb1edf17705ab468d1e29a8700041641206c2cb2b12b7f907865ed4c5e9c330756560e9cbda87f9e5b5b994c8a3f7b2bf27659e46c
529eecb573a3b7e25c2a41f3c996162d1f6a2e611a6920307202012d922864d786da426e82935c24d60d7163c764b2e368882ad8168b240a298c7874e764d29b
48b04888b3843c210081f90904b388041956fc212211a9a830f21b62f99edbf337c5edb048adc859bcd547d1b0c8fce73a39400002210884b248127ce4814811
8ea46bf48668472a3dde6df3acb6c122536ef449bc65b771a5c9d6f29579b092042efacad62400f595ca188b8438fbc9130210989f40408b547b3be446995b24
44cf415945c3b14851476a82540f852a124a49e790a513d18615d698ade6eb3da25fa48f9030c0f79df9af617280c0f61208689119b1887ebf967064be3be30c
7403b2481155a4cf11d851c53443d89b6838b2613f92e0733fc4223ed4b6f7e264ef10580a02a12c927cbf6ee917d107b456d6ce8500b50d16a91739f9e62a11
58f9b102578bd4da03e7332e16c1221080401002c12c92861a6dcf68959eddeab5b5603b2cf252d3335a793b9e3e5fd0188b34b768d91d24bb36e81709f15d83
3c210081f90904b488de37ed2e62d3cd6e7dad4e7f6051fededd874eb6c522521df5df8bd86ba658444396caaf4ccc1a7ad7fb3821e6bf54c8010210682410d6
22db77f96f9745067b9ad1a21524961f6c7d7360105818012c62a36634c669271ee368212108408071b4dacf012c8245dacf92857dc5634710580a02c422c422
2e272ab108768100048845dacf0162116291f6b3c4c5baa481c07808108b108bb89cedc422d805021098158bc83d22be65cfde5bc4912eb7489386588458843b
050420d08d80dc67e56e1bebe26191f86c6a4a24b5dcc9a9766262916ed79537683684c0d21130c3cdc6faa6538dc46a5353ae4e34b008e68000042000817e08
108bf4c3d15be36c0801084060a90960112c020108400002fe04b0883fbba5fefac0c143000210e8850016c1221080000420e04f008bf8b3eb45e36402010840
60a90960112c020108400002fe04b0883fbba5fefac0c143000210e8850016c1221080000420e04f008bf8b3eb45e3640201084060a90960112c020108400002
fe04b0883fbba5fefac0c143000210e8850016c1221080000420e04f008bf8b3eb45e3640201084060a909542d12f100fa140d02108000044210985c71ddf19b
1fd8bc66dfe9cbae3ac802010840000210e844a0b088888405021080000420d089406611094758200001084000025d0924166181000420000108f811f8ff831f
58f7415a3c4e0000000049454e44ae426082}
\pard
\pard\plain \absw8025\absh8850\dfrmtxtx0\dfrmtxty0\nowrap\pvpara\posyt\phcol\posxc{\*\flymaincnt0\flyvert9281\flyhorz61442\flyanchor0\flycntnt}\ltrpar\s16\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb120\sa120\ql\rtlch\af6\afs20\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs20\lang1033\i\loch\f1\fs20\lang1033\i {\rtlch \ltrch\loch\f1\fs20\lang1033\i\b0 Illustration 5: Service interface definition}
\par \pard
\pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }
\par \pard\plain \sb240\sa120\keepn\f2\fs23\b\f7\fs23\b\fs23\b \ltrpar\s8\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql
\par \page\pard\plain \sb240\sa120\keepn\f2\fs23\b\f7\fs23\b\fs23\b \ltrpar\s8\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql {\rtlch \ltrch\loch\f2\fs23\lang1033\i0\b Export the pascal files.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The Type Library Editor has option to generate the pascal version of the WSDL file. To do so, click on the \'93Files\\Save generated files ...\'94 ( it can also be done through the contextual menu ); It will bring up the dialog box showed in the figure 6. }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par
\pard\plain
\pard\plain\absw6135\absh4755\nowrap\pvpara\posy1\phcol\posx2{\*\flymaincnt0\flyvert44304\flyhorz44288\flyanchor0\flycntnt{\*\shadow0\shdwdist0\shdwstyle41\shdwfcol0}}{\pict\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0\picw409\pich317\picwgoal6135\pichgoal4755\wmetafile8
89504e470d0a1a0a0000000d49484452000001990000013d0802000000564a8861000000017352474200aece1ce90000000467414d410000b18f0bfc61050000
00206348524d00007a26000080840000fa00000080e8000075300000ea6000003a98000017709cba513c00001ee749444154785eed9dedaf1cd57d80b7ff473f
d62a6d094a4c491aa555bb71a5f80b2aaa14a705c9710cfdc0bd9bd22a5652081552f00b5690d60a6ed317171a1a25c448ac6f852aa4c472718541f2cded8d88
6d11595c0b3b04fbcaa81f5af8e89e3367e69c33af3bb377765e7ef3ac46f6ded933e7e53933cfef3767f7defdb5dfbeffe5110f084000027d27b0fbe0d9c367
b6d820000108f49ac0c8b8ecb1576eb141000210e8290125b1d0658ffee0831536084000023d24a0f4e55cf6c88bb71ef93736084000023d24f0e22de7b2fda7
7ef9e57f799f0d02108040ef08287d3997edfbbbad3fffee353608400002ad13f8abb5ed7d4ffff4feaffd57dea65e55656c3f95be9ccbfee05b6fffe1e14b6c
108000045a27a054f5f57fbef2fcf95b99dba9f3b7d4abaa8ceda7d29773d9ef3df1df9ffde6668bdbc3e73fbe133c6e9c7f27ecc6cbffa37fbe72adc55ed134
0420d03c01958e7de7d55f3efdeafb79db775ebda1cad88e297d39977df689f5cf3cbefe99d31f1aa198c7f5d72fe99d756eefbea92bfef058b2ce60fff6fb0f
3fbefef0eb5a6aba69d399cbefd6d78158ebaea13a07582f2e6a83c010097c69f2e6f1b5eb7ffdd2752322f5c46cf647f5aa2a63cda0f4e55cf6b9c7dffadd43
17ee7be9b62e7de91df57c19db7d87deb9a01bb87d345eff7dd3ebba9bf1766bef4c5eebcb1829754200020b13503997ef32a3339b63a9e7ea5555c6d6aff495
939779a9d0b1cb2e4133898cce9e9e7bdf551ce553ca9161013fa73325d5213ac9faf0cda0b6e861b333932e99c7c73f7a3d4ac7fcbccc4f1883f4cd4fd672db
b5b5068798b1b8d6bdfa336a30af6e7f1c8e346ad4af640979eb1083707d7937f48410b8ff6be7bff5ca7b7ff182defc8b563d373bd5abaa4c89bc2c3cfaa397
a63a3b3b7a49fdac9e0729d5f6f5afa8f4cda451c1f3af9cfb483dbd7e6ed34fa38243ee5c78c996fc2830824ac70af3325379941bba274173aa099b399ae766
2b6c37dec378ebe986a2c1063d37dd08ba64876307bb70c0e1400840602e81f1eacb93177eb1f799cb7b9fb9a436ab33f3a3dabefac22f3effd597abe56581f9
2efd68dbd416655236dbb24b6c97df3509cb9ba7bd753795df85195c22054bad97655568d7cbfca4291c552a73cc6ed724532eff8aafd645fbb37bee656db640
46fac65a1b04205037814f1e78f1b17fbdf2fb4fbea5b6445ef6b927df52db632f5cd97de0c5ecbcec8fbe71e1d38f9dfff4f70369fdfc8a7eeeb62bd13de0f6
51b3f3dbefe93cebd67b07bd438efe3c70d9f78302b61ebfa43ed65415d5639bc8aad05672f0ecffe9d4efec4fe3bd0a7b38bf5d37a878ebd1feec1a3c141905
0ce024281f1acf2100810509dcf7c5d0655664bed4d473e53255c60a41e9cbad977dfe1b17ee7df43feffd5ee0b2b72febe7d176e46d6d9f238f5ed6f79837af
1d50fb8f5ed32e0b9e07afdeb9f0bdd8b16ea75732a830a844d7e6ead7fbfd62b60f8927e9a34c255e9f33db753b13ada71b9a3b1cdb6dd3610fd4811f07c2fd
f1c5f4131f26cf210081b904ee7af01ffef1ecb583df0e9328f5c46c466dea897a5595b1f5287d39977de16fdeb8f7919fdcfbfc4d3fa3bbfedadb3ffc2050d5
f33f51af1e78ed7ff50f1f6c1d787a2bb6f6ffb3b7f5b1b64050c5f5d7ded23b4d49754850205ee6e6916867ac98e983aad33eb1f5449d0b2bcfa833deae1d4c
460f6f1ef1ea0f87e6f7dc7bf5c8cf42087e317f50765caa63a68cffc40c9c0d02102849e0ae07bfab6cf5cce9cb795be0b2bfb7b5297d3997ddffc41b9ffaf2
6b65b7a7ae0686bababffc210d97ec7e0f1b06427310e80f817b1e9afde573175fb9f8abbc4dbdaaca585f297d3997fde9936f7cf2a1ff28b97deac9c065bfba
babff421256baeab58f77b58d748a90702f208dcfdc5b5dfd977faae879ebbeba19366fbad60b33fdefd67a755193b70a52fef77cb9f7ae313fbd6d820000108
f48bc03d5f5adbf794e7b2070fbf75cfbeb5bbf7bdca06010840a047043eb1efdf95be5c5ef6c0df6efcfa9fcc7ef30bffc406010840a047047ee381d30f7c73
c3fb5b8cc72feeda73d27f1393e7108000043a4ee0873f38adc4b5fff8c50c976ddfbccd06010840a017047019be8600042410c0651266b11761934e4260a904
70192e8300042410c065126671a9e18eca21d00b02b80c974100021208e03209b3d88bb0492721b05402b80c974100021208e03209b3b8d47047e510e805015c
86cb200001090470998459ec45d8a49310582a015c86cb2000010904709984595c6ab8a37208f482002ec3651080800402b84cc22cf6226cd249082c95002ec3
651080800402b84cc22c2e35dc5139047a41a0ff2e5b3f311e9fd8e0cf46420002c32650a7cb36a6e351f4184f37735d5ed53ec5e5cdab55eb34b3bed851c33e
637a11a2e9e40009d4e6322d32971fadad8e46b93aab6a90322e5bcc2f557bb2582b1c0501082c9f406d2e5b55ee5af7d69ed2e952288e4d9bbd8d5726e3f164
354ae65667f144295ddecff5d4ab2e098cf2b2e090e98a7a613233695758c6f64d4bd63c56675e4f54cdae7074acab4a97d4ddd3f3a16a888f74f99334c018cb
90215095406d2e4b2d5aa96b7e32f3131ffbdc7f62bd309b6801159777d6d04a0ae5e24b33f091279dc04aee5ed25752e21ed355a813cc9535a3b6a8aadbdbaa
7b6aa7aaca3e41611080409708b4edb2d86de9783af316f2d3eeb3e0d2cacb4c036de2a69fc44599582f4b5498513850f3cddbb3154f705d9ac8aa418cf21010
46a0369795bec7f46e2463cb55c1bd5bbd2e4bbcbf995e1dcbd4a5cec832c417582c349ab09380e140400081da5c96bdf66fbc10e42fae80dde9cb45ddbb99b7
230bcac7ee31c345abb0da8c7733bdfbd0f0c0ac7bccb0b9ac7bccb40a0bded020478300045a25509bcb425bb995f5f07d00fb418d60a53ffc2098ca71d443ef
71b7819ef2829d19e5fdb57fbdbee615cb7099bff6afaa0b9af6de31306b61614f72d6fee31f5b532a64d59f8f1643a0a304ea7459e534b55f1f89309963ab91
a732617a0b81c110c06565830cabfe9814025d26d0aacb061331ba7c06d03708c82080cbcae66532e69b5140402a015c86cb200001090470998459941a691917
04ca13c065b80c0210904000974998c5f2b18b9210904a0097e13208404002015c266116a5465ac6d55302776a7a1c39f66c7902b80c974100023513502abbba
7563879b72533b2e530db34100024320a054559c2e1997954fa9324bb6e932255136084040360125a941b8aca6db64aa8100043a4a0097757462e81604205089
002eab848bc210804047090ccb655ba7f6dabfb178e89c3f25e70eed3db5e5eff08b8e46f1c25d9bcb78e755cf1363a9bfbf295cd59ad8e1e1416319c3aca3da
cc813481b41a414aa7090cc865da4eee223f77286e28f56a4c58fee9dbf95339d6f9467a9bc455e6daf23a564387b386b948af2af6bc4c71cab44260402e9b97
ae1464374a7cddceccee789d6fc46577fc164b9eb9b18eedb8c3d9c35c4e6ad610d2921c29964d60402ecbb9f3729eca4d16cca9acff3d7448dfa41e3ae7ee40
23c7f9f7a4f1c2875406183d7469578f4a13cf99bb5e9d2fe6ed37f753610d61626977d844d3753ebaf074e6e9b7abf513db912ce075c025b0516d452dba1cd7
c2544fc2319926ed486dcd5187a38a63d00c11ef5e32e8c6a9a8ff11465326184754de9fc4449f0bc69b371161ee6e5d566222304d5b047059ceaa99ef2673a1
e83de68ad1cf8cc3a2676e4fb88ee30a7bf55b27262a2cdeefaf0c851755a40caf599728d90bcfb61cdf133b28e10bdbb1844ab42f821167b6687b18d8c2134d
fca864c7a21c2a668a0875da65764dc0e2d26542697a946d6a96d9e7b81f8b27c20e37eca13780a28968eb5a1e7abbb82c7606a4b31bf7b27fc965650de93cc2
edb1f950987d444ab46e2cde1ffb6e605334cae6e2aa8c252cbe8efd0edbfbe544818201469961fa0d12e374a30d6d9173c1ba63e893783f53920d69a7dbf54b
c6cc953051c02575f71f4d628ad2dcf166b665d270473d319719133174a9b434fe01b96cde7a99998154b290ce6e4a5e69e175ef250e894b25710de75dd21979
54d8279b06457d0c3aef5206efbecbbb378daefd121d33899827b0ec16436ca782f7829dd02cb9f0a894cb42da8bbb4c0d25934e6cd52cea7389f11678337459
f6b2690a4b4b57f3b09b1d90cbf4599fff3ea6afacf8724cf48abb14ddf5133df3aea8e4f5e0bd6f60aea60267f9699af348bcf270b52e5134eca44e494e19fb
a4da4ddc20a60bb80166f5d9dd5fc792b32809d297b379c15dd88e7850f5b98c68e275d8f7663e348bc5c798cacdc26a637dae3211518521fab0ad0a13316cab
b433fa01b9cc5c05a9cf9779a7b84b77a2db0a7f5212e958b4a63de74632dee8422e8bfce0ddcdd881246efafc85707fb0f18578f76683bb79f5251b7bb361af
c9cb0a5b8ce7471ed1f85166f13d91dad815f91873d779d57ebc6f6e45d2cb3bbd370ba2fc7aa4adeecf5212485150d99b3cd265d9b189cfc7d2cef53ce45677
e6b2b5d591f956eff493e4dfea68f977cb9b9be3b41b9b6b9b96ea20e007ad3aeaa38e6608eccc6515feb8906c97f96ff7a752a566669256ea2280cbea22d96c
3db8ac59deb40601082c87002e5b0e576a8500049a2580cb9ae54d6b1080c07208e0b2e570a5560840a05902b8ac59deb40601082c87c0205cb6c3af5de17008
40a017049424e77e77492ddfe1d2cef7302d2706502b0420d04502c52eabf1db5bca7f9913df8f59e1c37be5b1521202106898002ec3651080800402b84cc22c
361c00690e021d2480cb701904202081002e93308b1d0c927409020d13c065b80c0210904000974998c5860320cd41a0830470192e8300042410c0651266b183
41922e41a06102b80c974100021208e03209b3d87000a439087490002ec3651080800402b84cc22c763048d22508344c0097e13208404002015c2661161b0e80
3407810e12c065b80c0210904000974998c50e0649ba04818609e0325c060108482080cb24cc62c30190e620d04102b80c974100021208e03209b3d8c1204997
20d03081965cb67e623c728ff174530f5bed1c9fd8504fd8200001085424d09ecb7c6d198bcd75d9dc0215078f342100013104bae132e3a0b9aa9a5b00974100
024325d00d9725f23277073a9eaedb5bcecda9b92f1d9f98ae8c462b6b269ecc5646e395c9783c590def5a27336bc6f02ed6af841b580840402681da5c96f995
ebb9e96b6cbd6c328bb94c392bb24f2211b33feac38db3d656d513fd6378c886129ed65c7e25a9a855cb97c553090420502301f55ded556f7eeb7459faabe28b
5c96b75e167f5b40a5612e35f3d4a6d2b1d5d9ededd9449bcb579ed15c4125299775f11beee91304064c4059a97d9795556966c265b3b330e74a65c2fe5181c5
662b81e9122e336f23e45532d4d584b253031f08b44d408acbf4ed6190739977037c25c50ca8ee2ef5da99fe0c8757ccbbc7cca9a4ed79c2291080403101312e
33ab60e69158b637fbc3d57dbdeaef3e98360e97feddad6b5e2532173eb93c20208640af5c56437214acfa97fc30470dcd61400840a021024372995a2cd3395b
f0db02653e9886cb200081fe101892cbfa332b62d27e060281c608e0b28612e0c666948620304c02b80c974100021208e03209b338cc38cca821e013c065b80c
021090400097499845e233042080cb701904202081002e93308bc46408400097e13208404002015c26611689c91080002ec3651080800402b84cc22c12932100
015c86cb2000010904709984592426430002b80c974100021208e03209b3484c86000470192e8300042410c06512669198dc350265bef371812f40ebda303bd5
1f5c86cb20503f01755d1d39f66cc17675eb062eab57853d7319e1aedee9a7b62511302e2bf8e2dd6c9725be0176ee5f75af5a7e6e857d2ed03f9711ee9674f9
516d8d040a5ca6be404739aebb2e2bf0a37da9930eeda5cb961eeee2d1497da5a67a845f24dce7c055e3b54a55c504f25c66bec0b5f72eebe45520c7658b9c22
a5c28bf7959a9d9c42b4d24102d665e6b4348ff0aba8e7ba4c9f9693d5e06ba8c7d3b569f86473dbdb1f7e77b59f28f95f749d5783f92ac564c913d3205a0701
7bd334370abefdda44f18c9732da0dbe7636d8efd556ff4264c15c0b71d982e1ae8ccbca94c171108813f05d6674e68b6c4e5ea675339eae1bef444f945cec8f
376f6f28e5acac19776cdc54020a8ad96f7dcdab21bb6474cf616acb3ce1132fb976c3635d7fec1d4ce3174e5f5db668b8cb0d4159f12a8c8dc159a8c34e3c4c
9998a3b2361bb8a293c98f7b5ce483249070594264f35d16a44591aaa227be1db4ad2633ab18973f05c9dccc382eab86bc92be07cdb1b1242ec8d412eb6589fe
243c88cb4a2e43d844ac62b8cb0b418591cd4eadbd2c537129909a8a8da97a06792577f0a6afe12ef9eb656991d5e332eb0ee335ff4c4b2fd23bebe594cc7099
39a5e3e99eaf485ce69f5555d3c27ac25d7adadc228239f1b2225b4198f21d97887be654601b1881c4dabf7f1b61d6ce8adec72c61a2d43da617a46dbe96cecb
f43d664ec96c9745e29b4d32f232afb6787f3cfd3538ef556562ae4a75d4ae3d27f71fbf78f8ccd668f7c1b3ea3ff583da55f5e37f559baf27dc65bb6c5e640b
33afac30157359bc9e06e712637687c08e3e5f56e0b2f1385cb94fdc42bab50e6f7d2dc365feaa48bca42b6c964df469ac0d651fbac5e8a5f4da7fb23fdeed6d
539740559974c865663d35f1f98c52e12e2304e5c72b97487b6f689a30e54739778f198f7b4d4d64772e637a62a2bd3a158bb7aa81df2d9f71526511e8b7cbd2
1f34abe6321b6762abf839912d234c65adfd272224a7dd2009147c04d27fa99af71b5f4dafd6bdb627ba7f2eab3fdcb53d07fd3a63e82d04ba49a0672e5b4ab8
c365108040ff09f4cc65dd0c08f40a0210689d002ee303131080800402b84cc22cb61e12e900045a2780cb701904202081002e93308bad87443a0081d609e032
5c060108482080cb24cc62eb21910e40a07502b80c974100021208e03209b3d87a48a40310689d002ec3651080800402b84cc22cb61e12e900045a2780cb7019
04202081002e93308bad87443a0081d609e0325c060108482080cb24cc62eb21910e40a07502b80c974100021208e03209b3d87a48a40310689d002ec3651080
800402b84cc22cb61e12e900045a2780cb701904202081002e93308bad87443a0081d609e0325c060108482080cb24cc62eb21910e40a07502b80c9741000212
08e03209b3d87a48a40310689d40cf5ca6ba3b7753df6dde3a563a30700273cfd2f485371a8d14b4e5fd2b7e46fae7b223c79e2dd8ae6eddc065e2cfdaee0f50
5d579d3a518d22656fbd7499b255de23db65eb27c66a32a3c7ea4cf8a4ca3e657b313ae3b24a27aad64dec441d4fd7cb9da8eaa8f1890de9aa9a3bef8371999d
6c267ef027fddcab62e7050a5ca69ca51c971f7427333341e6442d73ba9628435e9637a76aa676ed39b9fff8c5c367b646bb0f9e55ffa91fd4aeaaf7775555ba
40b873a745780dafad8ea2d385ab1a02cb219077a29a7b834c974579993d394b9fa8255cb6733b77bf86aa323123eab3cb5cb89bacea3bcfc9cc25f6fa349aad
8c462689b3fb57d6ccb0d54be3e966f727951eb64ec0bacc98cb3cec2a47e5bc2c3869a7eacc0c1ee122897f439a3863d579aaee4ff551e149fec7ac97e504ad
1ebacc2d9745d36ce6fbe6e6741c9e1c1bea59a0adc0596be17e7dc69850593a4e2e27d4b77e7dd281f2047c97199df9222bcccb6c41eba3e04ed3579836973b
6fb7679320faaa3dd1129b0dd8e1495e6eddade7e7edf0f2327f31c2ae4a24766a6d8d8cd78cda742454674cb4a7fc394dc9611248b82c21b2527999899de955
b3823dde1b5ceae6623a73ef09b05e2672bdcc5b58cd7399c9deeddb0581c5662ba5df57ea797c1ba67dea1db5bf5e961659b9f5b220cf323ef257c48a5c165f
081ed83adae0f3b28c7bcc307bf756c782348db7bd7174690289b57f7fd5ccac9d957a1fb3202f4b9cb789bb4eb330e2b98cbc6c007999bfc61f9d10d1bda456
9859ec67d5bfdeb4457c6d0bbce19efa7c59b0b2919785c5cedb71f4f9b220e8ea87b7d656dabf7d9f94fee5652aa0156f553f1752620a59f51fc4e2718933a1
2c07755db571a2e6768fbcac737959c107a9fd976a3c29f5927f949dd559ed60a2e530a12d70a21add2cef5ff113d1b3bc4cfc7c30400840603102b8acec5dc3
627c390a02106886002ec3651080800402b84cc22c3613f76805025d2680cb701904202081002e93308b5d8e96f40d02cd10c065b80c0210904000974998c566
e21ead40a0cb0470192e8300042410c0651266b1cbd192be41a01902b80c974100021208e03209b3d84cdca315087499002ec3651080800402b84cc22c76395a
d2370834430097e13208404002015c2661169b897bb402812e13c065b80c0210904000974998c52e474bfa06816608e0325c060108482080cb24cc6233718f56
20d06502b80c974100021208e03209b3d8e56849df20d00c015c86cb2000010904709984596c26eed10a04ba4c0097e13208404002015c266116bb1c2de91b04
9a2180cb701904202081002e93308bcdc43d5a81409709e0325c060108482080cb24cc6297a3257d8340330470192e8300042410c0651266b199b8472b10e832
015c86cb200001090470998459ec72b4a46f106886002ec3651080800402b84cc22c3613f76805025d2680cb701904202081002e93308b5d8e96f40d02cd10c0
65b80c0210904000974998c566e21ead40a0cb0470192e8300042410c0651266b1cbd192be41a01902b80c974100021208e03209b3d84cdca315087499002ec3
651080800402b84cc22c76395ad2370834430097e13208404002015c2661169b897bb402812e13c065b80c02109040a07d97a91eb041000210d839813b77ee54
cd1c55a3bbf69cdc7ffce2e1335ba3dd07cfaaffd40f6a57d5ba54791e10800004ea22d09acbaa364c79084000023512a82d2fabb14f5405010840a02a015c26
61adb4eaac531e02f208e0325c060108482080cb24cca2bc18cb88205095002ec3651080800402b84cc22c568d609487803c02b80c974100021208e03209b328
2fc6322208542580cb701904202081002e93308b552318e521208f002ec3651080800402b84cc22cca8bb18c08025509e0325c060108482080cb24cc62d50846
7908c82380cb701904202081002e93308bf2622c2382405502b80c974100021208e03209b3583582511e02f208e0325c060108482080cb24cca2bc18cb882050
95002ec3651080800402b84cc22c568d609487803c02b80c974100021208e03209b3282fc6322208542580cb701904202081002e93308b552318e521208f40ae
cbd40b6c108000047a4460d79e93fb8f5f3c7c666bb4fbe059f59ffa41edbac303021080407f08708fc93d2604202081002e93308bf2d63e181104aa12c065b8
0c0210904000974998c5aa118cf21090470097e13208404002015c266116e5c558460481aa0470192e8300042410c0651266b16a04a33c04e411c065b80c0210
904000974998457931961141a02a015c86cb200001090470998459ac1ac1280f01790470192e8300042410c0651266515e8c9d3ba291f4c75c02a6407ffe8cc5
223d3d72ecd9921c54315c86cb7a4940a96c918ba30fc7a80b588daee435ac067475eb86c84db90997f5f2e22c79ee52cc10302e93770d9b0bb8aacb449e15b8
0c910d82807599b0cb1897d909c56583b892855dc00b0c0797d9f532959c2e00b0fb87e0325c360802b80c972574ccdaff20aefcee07e1aa3dc465b80c97212f
090496ebb2d924fac8c778ba1ee15a3f311e9fd808de79d8beb9391d8f46eec7da9036bf5eb6a147123e5667b50d643b866b916ab9c75c845ad5a480f2ad1358
a2cbb4c82633e32c75418e229d7917e76c65345a595b0684865da645e68cbcb63a1ad5a6335cb68cf3833ae511589acb54c2e5e5624a674a6d465bd1c519bffe
6b8e9dcdba2c35d830ebac6350b84cde55c788964160592ed389589494b9d42cd8632e4e3f6babf1ca8faa6ad46539bad159a77fd719149b463ba3c44d2771e6
11eed1e8cc230806b86c19e73d75ca23b044972557c1d4451bb96c19eb4a712176c165ee6c313e0a24e584a5f9e8e5424f6a4a5e5e8a678fdad97a22eb6575a4
c74b88b7f26cd2ee8896e8b282bccc641c2a35dbd9555a80ae132e731956f0fe869f61e579ca3fc4a46633ffad9245ae4a5cb608b5762f4b5a5f80c0b25ca633
8e39eb65e64dccf17473816ecf3da45197a507aba3b8ca43e36f77947559eade7c67c6c765b86c100496e6b220ed9af73e66ecfdcd5ab3f8665d763beb7dcce8
9edabcef91999765df63fa0b679319eb657303170520a0082cd165e61af697b1ed9b005ea2117c2c2b9e89d421b5865da648a63f5fe6efc9719949df129f4ab3
7b58fbafe354e03a1f0881e5baacbd53b1799775f684e11e731077589d3dff1aeb182e33a8cd1f3e6a0c7b930de1325c360802b80c9725c4caef960fe2ca6f32
9c36d3162ec365b80c79492080cb70192e9370253793fb74b9155c86cb70192e9340c0b84c2d91c8dbf87bff4652acfd4bb850bb9c1075a46fca65ea9a97baa9
d195e42c55e82644f13d4ce84c3e81e8739a62ff2fe932a936b7e32ac9c1e471bbf69cdc7ffce2e1335ba3dd07cfaaffd40f6a97f27df95a2809010840a05d02
b84c7e0ad3ee1946eb106886002ec3651080800402b84cc22c3613f76805025d2680cb701904202081002e93308b5d8e96f40d02cd10c065b80c021090400097
4998c566e21ead40a0cb0470192e8300042410c0651266b1cbd192be41a01902b92e93f72bbb8c080210904d20fb7798d45e3608400002fd2290fc7d4cf5331b
042000813e1270bf5bae9eb141000210e82f81ff07dfd75a8d8d5aff130000000049454e44ae426082}
\pard
\pard\plain \absw6135\absh4755\dfrmtxtx0\dfrmtxty0\nowrap\pvpara\posyt\phcol\posxc{\*\flymaincnt0\flyvert9281\flyhorz14850\flyanchor0\flycntnt}\ltrpar\s16\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb120\sa120\ql\rtlch\af6\afs20\lang255\ai\ltrch\dbch\af6\langfe255\hich\f1\fs20\lang1033\i\loch\f1\fs20\lang1033\i {\rtlch \ltrch\loch\f1\fs20\lang1033\i\b0 Illustration 6: export pascal files}
\par \pard
\pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Click OK the button to complete. The program {\rtlch\ltrch\dbch\hich\i\b\loch\i\b ws_helper }has the same capabilities and the files can be generated with the following command :}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Listing ws_helper execution session]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ws_helper\\ws_helper.exe -i -b -o. user_service_intf.pas}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ws_helper, Web Service Toolkit 0.5 Copyright (c) 2006, 2007 by Inoussa OUEDRAOGO}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Parsing the file : {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 user_service_intf.pas}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Proxy file generation...}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Binder file generation...}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Implementation file generation...}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Metadata file generation...}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 File "{\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 user_service_intf.pas}" parsed succesfully..}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/Listing]}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The complete projects of the example is located in the folder \'93samples\'94. Below is printed a extract of the generated interface file.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 [{\rtlch\ltrch\dbch\hich\b\loch\b Code]}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 unit user_service_intf;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TUserCategory = ( }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Normal}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ,Admin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TUser = class(TBaseComplexRemotable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 private}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FCategory : TUserCategory;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FUserName : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FeMail : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FPreferences : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 published}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Category : TUserCategory read FCategory write FCategory;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property UserName : string read FUserName write FUserName;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property eMail : string read FeMail write FeMail;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Preferences : string read FPreferences write FPreferences;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TUserArray = class(TBaseObjectArrayRemotable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 private}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetItem(AIndex: Integer): TUser;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 public}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 class function GetItemClass():TBaseRemotableClass;override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Item[AIndex:Integer] : TUser Read GetItem;Default;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 UserService = interface(IInvokable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ['\{CA6F6192-C3DE-4D9C-B3DF-E616376A0DC9\}']}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetList():TUserArray;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Add(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const AUser : TUser}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Update(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const AUser : TUser}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function Find(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const AName : string}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):TUser;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function Delete(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const AName : string}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):boolean;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/code]}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Providing an implementation for the service}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b user_service_intf_imp.pas} unit generated above contains a skeleton implementation class for the interface. It defines a procedure named{ }{\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b RegisterUserServiceImplementationFactory}{.} The procedure registers the class as the service implementation provider
in the implementation registry.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [code]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Unit user_service_intf_imp;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$IFDEF FPC\} \{$mode objfpc\}\{$H+\} \{$ENDIF\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Interface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Uses SysUtils, Classes, }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 base_service_intf, server_service_intf, server_service_imputils,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 user_service_intf, cursor_intf;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{ TUserService_ServiceImp \}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TUserService_ServiceImp=class(TBaseServiceImplementation,UserService)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Protected}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetList():TUserArray;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Add(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const AUser : TUser}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Update(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const AUser : TUser}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function Find(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const AName : string}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):TUser;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function Delete(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const AName : string}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):boolean;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure RegisterUserServiceImplementationFactory();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Implementation}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure TUserService_ServiceImp.Add(Const AUser : TUser);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 var}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locObj : TUser;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locObj := Find(AUser.UserName);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 if ( locObj <> nil ) then}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 raise Exception.CreateFmt('Duplicated user : "%s"',[AUser.UserName]);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locObj := TUser.Create();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locObj.Assign(AUser);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FUserList.Add(locObj);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End; }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure RegisterUserServiceImplementationFactory();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 GetServiceImplementationRegistry().Register(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 'UserService',}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TImplementationFactory.Create(TUserService_ServiceImp) as IServiceImplementationFactory);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...) }
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/code]}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b\qj \ltrpar\s7\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b\qj \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Providing a binder for the service.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The binder's role is to:}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10132\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls13\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 unpack the incoming message,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10132\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls13\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 set up the call stack,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10132\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls13\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 make the call against the registered implementation,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10132\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls13\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 serialize the execution stack to create the return message.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The {\ltrch\hich\f4\loch\f4 user_service_intf_binder.pas} unit generated above contains :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \'95\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls12\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 TUserService_ServiceBinder}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 : the actual binder class,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \'95\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls12\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 TUserService_ServiceBinderFactory}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 a factory class for the binder and}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \'95\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls12\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 Server_service_RegisterUserServiceService}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 : the binder factory registration procedure.}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \'95\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The following code extract shows the unit interface part and a method handler of the binder.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code part of {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b user_service_intf_binder}.pas]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 unit user_service_intf_binder;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$IFDEF FPC\} \{$mode objfpc\}\{$H+\} \{$ENDIF\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 interface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 uses SysUtils, Classes, base_service_intf, server_service_intf, user_service_intf;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 type}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TUserService_ServiceBinder=class(TBaseServiceBinder)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Protected}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure GetListHandler(AFormatter:IFormatterResponse);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure AddHandler(AFormatter:IFormatterResponse);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure UpdateHandler(AFormatter:IFormatterResponse);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure FindHandler(AFormatter:IFormatterResponse);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure DeleteHandler(AFormatter:IFormatterResponse);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Public}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 constructor Create();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TUserService_ServiceBinderFactory = class(TInterfacedObject,IItemFactory)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 protected}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function CreateInstance():IInterface;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Server_service_RegisterUserServiceService();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure TUserService_ServiceBinder.AddHandler(AFormatter:IFormatterResponse);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Var}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 cllCntrl : ICallControl;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 tmpObj : UserService;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 callCtx : ICallContext;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 strPrmName : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procName,trgName : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AUser : TUser;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 callCtx := GetCallContext();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TObject(AUser) := Nil;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }
2007-05-05 19:05:01 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 strPrmName := 'AUser'; AFormatter.Get(TypeInfo(TUser),strPrmName,AUser);}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 If Assigned(Pointer(AUser)) Then}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 callCtx.AddObjectToFree(TObject(AUser));}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }
2007-05-05 19:05:01 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 tmpObj := Self.GetFactory().CreateInstance() as UserService;}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 if Supports(tmpObj,ICallControl,cllCntrl) then}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 cllCntrl.SetCallContext(GetCallContext());}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }
2007-05-05 19:05:01 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 tmpObj.Add(AUser);}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }
2006-08-26 00:35:42 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procName := AFormatter.GetCallProcedureName();}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 trgName := AFormatter.GetCallTarget();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AFormatter.Clear();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AFormatter.BeginCallResponse(procName,trgName);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AFormatter.EndCallResponse();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }
2006-08-26 00:35:42 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 callCtx := Nil;}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/Code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Host the service into an application server.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The application server's role is to route incoming service requests to the Web Service Toolkit runtime. For the runtime to process service requests :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls11\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The services and their implementations have to be registered ,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls11\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The message protocol (SOAP, XMLRPC, binary,...) have to be registered. }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The runtime interface is defined in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b server_service_intf} unit. This unit contains :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls10\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GetServerServiceRegistry}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 , which returns the service registry,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls10\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GetServiceImplementationRegistry}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 which returns the service implementation registry,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls10\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GetFormatterRegistry}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 which returns the message format registry and}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls10\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b HandleServiceRequest}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 which is the unique entry point for request processing.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Starting from the version 0.5, the toolkit provides a simplified model to develop applications server . This is achieved using the listener classes. A listener implements a transport between the server and its clients. The toolkit provides three (3) listen
ers implementations:}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f4\b\b\b\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls9\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b TwstIndyHttpListener ( indy_http_server.pas ),}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f4\b\b\b\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls9\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b TwstIndyTcpListener ( indy_tcp_server.pas ) and}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls9\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TwstSynapseTcpListener ( synapse_tcp_server.pas )}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 . }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 All listeners derive from {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TwstListener} defined in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b server_listener.pas} file.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Below is printed a Indy based HTTP server sample. The code is divided into three (3) parts :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f5\fs18\f5\fs18\f5\fs18 \u57356\'3f\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f5\fs18\f5\fs18\f5\fs18 \u57356\'3f\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls8\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 messaging format registration : {\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 Server_service_RegisterSoapFormat(), Server_service_RegisterXmlRpcFormat(),}{\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 }{\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 Server_service_RegisterBinaryFormat();} ) }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f5\fs18\f5\fs18\f5\fs18 \u57356\'3f\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls8\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 service implementation and binder registration : {\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 RegisterUserServiceImplementationFactory(); Server_service_RegisterUserServiceService();}}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f5\fs18\f5\fs18\f5\fs18 \u57356\'3f\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls8\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 the listner creation and starting : the listener is created by the line {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 AppObject:=TwstIndyHttpListener.Create(); }. It is started by the line {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 AppObject.Start();} }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 program http_server;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$mode objfpc\}\{$H+\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 uses}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$IFDEF UNIX\}\{$IFDEF UseCThreads\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 cthreads,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$ENDIF\}\{$ENDIF\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Classes, SysUtils,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 indy_http_server, metadata_service, logger_extension, server_listener,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 server_service_soap, server_binary_formatter, server_service_xmlrpc, config_objects,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 user_service_intf, user_service_intf_binder, user_service_intf_imp;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 var}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AppObject : TwstListener;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Server_service_RegisterBinaryFormat();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Server_service_RegisterSoapFormat();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Server_service_RegisterXmlRpcFormat();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 RegisterUserServiceImplementationFactory();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Server_service_RegisterUserServiceService();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AppObject := TwstIndyHttpListener.Create();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 try}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('"Web Service Toolkit" HTTP Server sample listening at:');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('http://127.0.0.1:8000/');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 WriteLn('Press enter to quit.');}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AppObject.Start();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ReadLn();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 finally}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FreeAndNil(AppObject);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end. }
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [/Code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b Server_service_RegisterUserServiceService}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b user_service_intf_binder} unit registers the {\rtlch\ltrch\dbch\hich\i\b\loch\i\b UserService} service by calling in turn {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GetServerServiceRegistry:}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code located in user_service_intf_binder.pas]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Server_service_RegisterUserServiceService();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 GetServerServiceRegistry().Register(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 'UserService',TUserService_ServiceBinderFactory.Create() as IitemFactory}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End; }
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b RegisterUserServiceImplementationFactory}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b user_service_intf_imp} unit ( generated by {\rtlch\ltrch\dbch\hich\i\b\loch\i\b ws_helper} ) registers the {\rtlch\ltrch\dbch\hich\i\b\loch\i\b UserService} implementation by calling in turn {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GetServiceImplementationRegistry:}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code located in user_service_intf_imp.pas]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure RegisterUserServiceImplementationFactory();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 GetServiceImplementationRegistry().Register(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 'UserService',TImplementationFactory.Create(TUserService_ServiceImp) as IServiceImplementationFactory);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b Server_service_RegisterSoapFormat}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b server_service_soap} unit ( provided by the toolkit ) registers the {\rtlch\ltrch\dbch\hich\i\b\loch\i\b SOAP} implementation by calling in turn {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GetFormatterRegistry:}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code located in server_service_soap.pas]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Server_service_RegisterSoapFormat();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 GetFormatterRegistry().Register(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sPROTOCOL_NAME,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sSOAP_CONTENT_TYPE,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TSimpleItemFactory.Create(TSOAPFormatter) as IitemFactory}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 RegisterStdTypes();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 Server_service_RegisterBinaryFormat}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b server_binary_formatter} unit ( provided by the toolkit ) registers the {\rtlch\ltrch\dbch\hich\i\b\loch\i\b Binary message} implementation by calling in turn {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GetFormatterRegistry:}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code located in server_binary_formatter.pas]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Server_service_RegisterBinaryFormat();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 GetFormatterRegistry().Register(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sPROTOCOL_NAME,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sBINARY_CONTENT_TYPE,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TBinaryFormatterFactory.Create() as IitemFactory}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 Server_service_RegisterXmlRpcFormat}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 located in {\ltrch\hich\f4\loch\f4 the server_service_xmlrpc} unit ( provided by the toolkit ) registers the {\rtlch\ltrch\dbch\hich\i\b\loch\i\b XMLRPC message} implementation by calling in turn {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GetFormatterRegistry:}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code located in server_service_xmlrpc.pas]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Server_service_RegisterXmlRpcFormat();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 GetFormatterRegistry().Register(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sPROTOCOL_NAME,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 sXMLRPC_CONTENT_TYPE}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TBinaryFormatterFactory.Create() as IitemFactory}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ab\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\b\loch\f3\fs20\lang1033\b {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b [Code]}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }
2006-08-26 00:35:42 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 In order to give it a try one have to :}
2007-08-14 18:53:43 +00:00
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\tx2550 1.\tab}\ilvl0 \ltrpar\s1\cf0\tx2550{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls7\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 compile the server ( {\ltrch\hich\f4\loch\f4 \\samples\\tcp_server\\tcp_server.lpi} it is a console program),}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360 2.\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls7\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 compile the client application ( {\ltrch\hich\f4\loch\f4 \\samples\\user_client_console\\user_client_console.lpi} ),}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360 3.\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls7\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 execute the server and start listening,}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360 4.\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls7\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 execute the client.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b WSDL generation.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Services in the toolkit are organized into {\rtlch\ltrch\dbch\hich\i\b\loch\i\b meta data repositories}. Conceptually a repository corresponds :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls6\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 at compile time to the pascal unit containing the service definition}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls6\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 at runtime to a name space. }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The repository is the toolkit WSDL generation unit.}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b The Meta data Service.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit is provided with an easy to use metadata service implementation which in turn uses the raw interface defined in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b metadata_repository} unit (see above). A Lazarus GUI client application is located in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b tests\\metadata_browser} folder.}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b WSDL generation API.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b metadata_wsdl} pascal unit contains the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GenerateWSDL} function for WSDL generation from a repository (see the signature below). }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 PServiceRepository = ^TServiceRepository;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TServiceRepository = record}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 NameSpace : ShortString;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Name : ShortString;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 RootAddress : ShortString;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ServicesCount : Byte;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Services : PService;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure GenerateWSDL(AMdtdRep : PServiceRepository; ADoc : TDOMDocument);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\b\f7\fs23\b\fs23\b \ltrpar\s8\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\b\loch\f2\fs23\lang1033\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i0\b WSDL Customization.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The WSDL generation is based on the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b IWsdlTypeHandler} and the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b IWsdlTypeHandlerRegistry} interfaces located in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b metadata_wsdl} unit. In order to customize the generated WSDL, one has to provide a class implementing the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b IWsdlTypeHandler} interface. Then that
2007-05-05 19:05:01 +00:00
class has to be registered in the registry. The {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b metadata_wsdl} unit contains implementations for pascal enumerations, {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseComplexRemotable} descendants, and {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseArrayRemotable} descendants.}
2007-08-14 18:53:43 +00:00
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Sample}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 A functional sample project is located under {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \\samples\\http_server} . It is an Indy based http server.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Services Extensions \'96 Server side}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Services extensions provide a mean to hook into all the services request processing stages. Services extensions may be used, for example, to implement authentication, request logging, data compression, etc.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The IServiceExtension below is the interface used by the toolkit runtime to call services extensions.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TMessageStage = (}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 msAfterDeserialize, msAfterSerialize, msBeforeDeserialize, msBeforeSerialize}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 IServiceExtension = interface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ['\{E192E6B3-7932-4D44-A8AC-135D7A0B8C93\}']}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure ProcessMessage(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const AMessageStage : TMessageStage;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ACallContext : ICallContext;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AMsgData : IInterface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\chcbpat4\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch }}{\chcbpat4{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 end;}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 }
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The "{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b AMsgData}" parameter actual type depends on the message processing state and corresponds to :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls5\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 IRequestBuffer}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 on "{\ltrch\hich\f4\loch\f4 msBeforeDeserialize}" and "{\ltrch\hich\f4\loch\f4 msAfterSerialize}"}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\sa120\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls5\aspalpha\li720\ri0\lin720\rin0\fi-360\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 IFormatterResponse}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 on "{\ltrch\hich\f4\loch\f4 msAfterDeserialize}" and "{\ltrch\hich\f4\loch\f4 msBeforeSerialize}" }
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 These types are located in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b server_service_intf} unit. Extensions have to be registered in the extensions registry ( located in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b server_service_intf unit }) printed below :}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 IServiceExtensionRegistry = Interface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ['\{68DC78F1-E6CF-4D6B-8473-75288794769C\}']}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function Find(const AName : string):IServiceExtension;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Register(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const AName : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AFactory : IItemFactory}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 In order for an service implementation to use a service extension, it has to register himself to that extension. To that end, the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b IServiceImplementationFactory} interface provides the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b RegisterExtension} method. A complete sample is included in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \\samples\\h
ttp_server}{\rtlch\ltrch\dbch\hich\b\loch\b }sample ( implemented in {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \\samples\\logger_extension.pas} ).}
\par \page\pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i\b Services meta data.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Services in the toolkit are organized into {\rtlch\ltrch\dbch\hich\i\b\loch\i\b meta data repositories( see the \'93services's meta data\'94 below )}. Conceptually a repository corresponds :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls6\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 at compile time to the pascal unit containing the service definition}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls6\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 at runtime to a name space. }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The {\rtlch\ltrch\dbch\hich\f4\i\b\loch\f4\i\b ws_helper} tool, when parsing the interface definition file, records the meta data of the services contained in the file to a resource file. The resource file is then embedded into the generated binder's unit file( see the unit \'93initialization\'94 part ).
2007-05-05 19:05:01 +00:00
At runtime the service's recorded meta data are accessible through the interface {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b IModuleMetadataMngr} defined in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b metadata_repository} unit ( see below ). The {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b GetModuleMetadataMngr} function defined in the same unit returns an instance of an object support
ing that interface.}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 IModuleMetadataMngr = interface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ['\{B10ACF6A-A599-45A3-B083-BEEFB810C889\}']}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function IndexOfName(const ARepName : shortstring):Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetCount():Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetRepositoryName(const AIndex : Integer):shortstring;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure SetRepositoryNameSpace(const ARepName,ANameSpace : shortstring);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function LoadRepositoryName(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const ARepName,ARootAddress : shortstring;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 out ARepository : PServiceRepository}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure ClearRepository(var ARepository : PServiceRepository);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure SetServiceCustomData(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const ARepName : shortstring;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const AServiceName : shortstring;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const ADataName,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AData : string}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure SetOperationCustomData(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const ARepName : shortstring;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const AServiceName : shortstring;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const AOperationName : shortstring;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const ADataName,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AData : string}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 //---------------------------------}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetServiceMetadata(const ARepName,AServiceName : shortstring) : PService;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure ClearServiceMetadata(var AService : PService);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\chcbpat4\rtlch\ltrch\dbch\hich\loch{\rtlch \ltrch\loch }}{\chcbpat4{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 end;}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Extended Meta data.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The meta data interface provides a way to add custom data to recorded ones. Services's metadata can be set through {\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 SetServiceCustomData, }operation's metadata be set through the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b SetOperationCustomData} method.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 A repository's extended meta data has to be registered after the service meta data recorded in the resource file have been registered. So for client application the generated proxy unit contains a conditional code fragment to call a registration procedure
2007-05-05 19:05:01 +00:00
like showed below for the eBay sample located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b tests\\ebay} folder. The procedure name is obtained from the interface unit name ( the repository's name ) : {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 Register_}{\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b %UNIT_NAME%}{\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 _ServiceMetadata} . }
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 initialization}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$i ebay.wst\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$IF DECLARED(Register_ebay_ServiceMetadata)\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Register_ebay_ServiceMetadata();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 \{$ENDIF\}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End. }
\par \pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b
\par \page\pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i\b Headers support.}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b The THeaderBlock class }
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 THeaderBlock = class(TBaseComplexRemotable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 public}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Direction : THeaderDirection read FDirection write FDirection;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Understood : Boolean read FUnderstood write FUnderstood;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 published}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property mustUnderstand : Integer read FmustUnderstand write SetmustUnderstand }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 stored HasmustUnderstand;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TheaderBlock} showed above ( the private part has been omitted for brevity), located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b base_service_intf} unit, is the root class all header classes are derived from.. The {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b Direction} property indicate whether it is an incoming header or an outgoin
2007-05-05 19:05:01 +00:00
g one. The {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b mustUnderstand} property define whether the header is a mandatory one.}
2007-08-14 18:53:43 +00:00
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Defining header class.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Soap headers are derived from the THeaderBlock base class located in the {\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b base_service_intf} unit. They have to be registered in the type registry. Below is reproduced an header example extracted from the {\rtlch\ltrch\dbch\hich\b\loch\b \'93calculator\'94} sample project located the {\ltrch\hich\f4\loch\f4 tests\\calcula
2007-05-05 19:05:01 +00:00
tor}.}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TCalcHeader = class(THeaderBlock)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 published}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Login : string read FLogin write FLogin;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Password : string read FPassword write FPassword;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property WantedPrecision : Integer read FWantedPrecision write FWantedPrecision;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end; }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b The ICallContext interface.}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ICallContext = Interface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ['\{855EB8E2-0700-45B1-B852-2101023200E0\}']}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure AddObjectToFree(const AObject : TObject);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Clear();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function AddHeader(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const AHeader : THeaderBlock;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const AKeepOwnership : Boolean}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetHeaderCount(const ADirections : THeaderDirections):Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetHeader(const AIndex : Integer) : THeaderBlock;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure ClearHeaders(const ADirection : THeaderDirection);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End; }
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The ICallContext interface defined in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b base_service_intf} unit represents the service call context. The {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 AddHeader} method allows headers sending while the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 GetHeader} method retrieves header in the call context.}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Client side headers.}
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 An {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 ICallContext} reference may be obtained from the current service proxy instance simply by querying it for that interface as showed in the code fragment below extracted from the {\rtlch\ltrch\dbch\hich\b\loch\b \'93calculator\'94} client example project.}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 var}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ch : TCalcHeader;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 hdrs : ICallContext;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FObj := TCalculator_Proxy.Create('Calculator', edtFormat.Text, edtAddress.Text);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ch := TCalcHeader.Create();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ch.mustUnderstand := 1;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ch.Login := 'azerty';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ch.Password := 'qwerty';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ch.WantedPrecision := 121076;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 hdrs := FObj as ICallContext;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 hdrs.AddHeader(ch,true);}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 A header may be made mandatory by setting its {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 mustUnderstand} property to 1 as in the code above.}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Server side headers.}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b The ICallControl interface.}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ICallControl = interface}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ['\{7B4B7192-EE96-4B52-92C7-AE855FBC31E7\}']}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure SetCallContext(ACallContext : ICallContext);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetCallContext():ICallContext;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b ICallControl} interface, located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b server_service_intf} unit, is used by the toolkit runtime to share the executing call environment with service implementation classes. When the runtime is about to issue a call against a implementation class insta
2007-05-05 19:05:01 +00:00
nce, it queries that instance for ICallControl interface support; If the implementation has ICallControl interface support then the obtained reference is used to set the call context through the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 SetCallContext} method. The implementation instance can then a
ccess the call context by calling the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 GetCallContex} method.}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit provides the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b TBaseServiceImplementation} class which has support for the ICallControl interface and can be used as a base implementation class. It is the base class used by the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\i\b\loch\f3\fs20\i\b ws_helpe}{\rtlch\ltrch\dbch\hich\i\b\loch\i\b r} generated skeleton implementation class when invoked the
2007-05-05 19:05:01 +00:00
{\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b -i }command line option.}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The method printed below, extracted from the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\b\loch\f3\fs20\b calculator} sample service demonstrates the access to headers for read and write.}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function TCalculator_ServiceImp.AddInt(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const A : Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const B : Integer}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ):TBinaryArgsResult;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 var}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 hdr : TCalcResultHeader;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 h : TCalcHeader;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 cc : ICallContext;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 hdr := TCalcResultHeader.Create();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 cc := GetCallContext();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 if Assigned(cc) and ( cc.GetHeaderCount([hdIn]) > 0 ) and ( cc.GetHeader(0).InheritsFrom(TCalcHeader) ) then begin}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 h := cc.GetHeader(0) as TCalcHeader;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 h.Understood := True;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 hdr.Assign(h);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 hdr.TimeStamp := DateTimeToStr(Now());}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 hdr.SessionID := 'testSession';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 cc.AddHeader(hdr,True);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 hdr := nil;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result := TBinaryArgsResult.Create();}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Try}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result.Arg_OP := '+';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result.Arg_OpEnum := coAdd;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result.Arg_A := A;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result.Arg_B := B;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result.Arg_R := A + B;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Result.Comment := 'Doing an + operation';}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Except}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FreeAndNil(Result);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Raise;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End; }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \page\pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i\b SOAP Specific.}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Binding style.}
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The binding style is used to indicate whether the service is {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \'93RPC\'94} oriented or {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \'93Document\'94} oriented.}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Client side.}
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The binding style may be specified in the SOAP protocol string on the creation of a service proxy. The default value for the binding style is \'93RPC\'94. Below is printed a sample code that demonstrates the use of \'93Document\'94 style.}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 locService := TSampleService_Proxy.Create(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 'SampleService',}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\b\loch\b 'SOAP:Style=Document;EncodingStyle=Litteral'}}{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ,}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 'http:address=http://127.0.0.1/services/SampleService'}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 ); }
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Server side.}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Currently services created with the toolkit use the \'93RPC\'94 binding style.}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Encoding style.}
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The encoding style indicates the rules used to encode types in XML. Supported values are {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \'93Encoded\'94} and {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \'93Litteral\'94}.}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Client side.}
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The encoding style may be specified in the SOAP protocol string on the creation of a service proxy. The default value for the encoding style is \'93Encoded\'94. The above sample demonstrates the use of \'93Litteral\'94 style.}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Server side.}
\par \pard\plain \ltrpar\s2\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Currently services created with the toolkit use the \'93Encoded\'94 encoding style.}
\par \page\pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i\b Provided examples}
\par \pard\plain \ltrpar\s2\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sa120\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The HTTP server side samples has been tested on Windows XP and Ubuntu. The client side has been tested under Windows XP and Ubuntu. The samples are located under the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \'93samples\'94 and some under the 'tests'} folder.}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Client side examples}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls4\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 UserService, {\ltrch\hich\f4\loch\f4 samples\\http_server, samples\\tcp_server, samples\\user_client_console, sample\\library_server} : the client console uses the three client and server protocols (HTTP, TCP, LIBRARY)}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls4\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Google sample : It demonstrates use of class and array data types.}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls4\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Metadata Browser : This sample demonstrates use of class and array data types and mainly the toolkit metadata service.}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls4\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 eBay sample, this sample uses OpenSLL which can be found at {\field{\*\fldinst HYPERLINK "http://www.openssl.org/" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "http://www.openssl.org/" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "http://www.openssl.org/" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 http://www.openssl.org}}}}}} and SYNAPSE ( http://www.ararat.cz/synapse/ ).}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls4\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 \\samples\\delphi\\user_client_console}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 : Delphi ( compile with Delphi 7) client sample. Used protocol : the TCP, HTTP, LIBRARY; Used format : BINARY. }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Server side examples}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls3\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 samples\\tcp_server}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 : This is a sample TCP server based on the Synapse components. It uses the UserService.}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls3\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 samples\\http_server}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 : This is a sample HTTP server based on the Indy10 components. It uses the UserService and the toolkit metadata service. It demonstrates the WSDL generation.}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls3\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\ltrch\hich\f4\loch\f4 samples\\apache_module}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 : Apache module sample, this sample demonstrates the hosting of the toolkit into the Apache HTTP web server. It is based on Sekelsenmat 's Apache headers translation. It uses the UserService service and the toolkit metadata service. I
t demonstrates the WSDL generation.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b\qj \ltrpar\s6\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Delphi examples}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Delphi samples are located in the \\{\ltrch\hich\f4\loch\f4 samples\\delphi} folder. }
\par \pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i\b Status}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit is usable for simple types and for class types. The serialization is designed to allow customization of basic types and class types by implementing classes derived from \'93{\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 TBaseRemotable}{\chcbpat4 \'94}. This classes have to be registered in the type registry.
2006-08-26 00:35:42 +00:00
}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit is provide with :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls2\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 SOAP 1.1 message format implementation ( FCL XML units or Delphi xmlDOM ) }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls2\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 XMLRPC message format implementation ( FCL XML units or Delphi xmlDOM ) }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls2\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 binary one format implementation.}
\par \pard\plain \sb240\sa120\keepn\f2\fs28\b\f7\fs28\b\fs28\b \ltrpar\s6\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\b\loch\f2\fs28\lang1033\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i0\b Serialization}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The serialization is based on the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 IFormatterBase} interface located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 base_service_intf} unit.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit has three serializers implementations : the SOAP serializer, the XMLRPC serializer and a binary serializer.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b SOAP serializer}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The SOAP serializer implements SOAP 1.1. It has support for the following pascal types:}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Available integers : }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Byte mapped to unsignedByte}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 ShortInt mapped to byte}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 SmallInt mapped to short}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Word mapped to unsignedShort}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 LongInt mapped to int}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 LongWord mapped to unsignedInt}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Int64 mapped to long}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Qword mapped to int}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 String mapped to string}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Boolean mapped to boolean}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Enumerations mapped to their string representation (?)}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Float types : }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Single mapped to float}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Double mapped to double}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Extended mapped to double}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Currency mapped to float}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Object (class intances, not TP ones ) :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit has support for instances of classes derived from {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 TBaseRemotable}. {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 TBaseRemotable} is the base class used by the formatter interface to allow customization of the serialization.. The toolkit provides the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 TBaseComplexRemotable} class which impleme
2006-08-26 00:35:42 +00:00
nts serialization for its ( or its descendants ) published properties. }
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Binary serializer}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The Binary serializer is more efficient in time and space compared to the SOAP serializer . It uses big endian to stream data. This serializer has been tested with Delphi 7 ( {\ltrch\hich\f4\loch\f4 \\samples\\delphi\\user_client_console} ) It has support for the following pascal typ
2007-05-05 19:05:01 +00:00
es:}
2007-08-14 18:53:43 +00:00
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Available integers : }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Byte }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 ShortInt }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 SmallInt }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Word }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 LongInt }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 LongWord}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Int64 }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Qword }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 String }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Boolean }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Enumerations }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Float types : }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Single }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Double}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Extended }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Currency }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Object (class intances, not TP ones ) :}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit has support for instances of classes derived from {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 TBaseRemotable}. {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 TBaseRemotable} is the base class used by the formatter interface to allow customization of the serialization.. The toolkit provides the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 TBaseComplexRemotable} class which implemen
2006-08-26 00:35:42 +00:00
ts serialization for its ( or its descendants ) published properties. }
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Class type serialization. }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit has support for instances of classes derived from {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseRemotable}. {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseRemotable} is the abstract base class used by the formatter interface to allow customization of the serialization. The toolkit provides the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseComplexRemotable} class which
2007-05-05 19:05:01 +00:00
implements serialization for its descendants classes published properties. It also provides {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseObjectArrayRemotable} class for serialization of array of {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseRemotable} descendant classes.}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs23\b\f7\fs23\b\fs23\b \ltrpar\s8\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\b\loch\f2\fs23\lang1033\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i0\b The root \'93TBaseRemotable\'94 class.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch {\chcbpat4 }}{\chcbpat4{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 TBaseRemotable = class(TPersistent)}}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Public}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 constructor Create();virtual;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 class procedure Save(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AObject : TBaseRemotable;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AStore : IFormatterBase;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const AName : String;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Const ATypeInfo : PTypeInfo}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );virtual;abstract;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 class procedure Load(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 Var AObject : TObject;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AStore : IFormatterBase;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 var AName : String;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const ATypeInfo : PTypeInfo}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );virtual;abstract;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End; }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseRemotable}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 is the abstract base class used by the formatter interface to allow customization of the serialization. This class defines a virtual constructor and mainly two(2) virtual abstract class methods :}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b Save}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 : this method is called when the toolkit needs to serialize the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b AObject} parameter.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b Load}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 : this method is called when the toolkit needs to un-serialize to the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b AObject} parameter.}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\b\f7\fs23\b\fs23\b \ltrpar\s8\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\b\loch\f2\fs23\lang1033\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i0\b The \'93TBaseComplexRemotable\'94 serialization.}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 TBaseComplexRemotable = class(TAbstractComplexRemotable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 public}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 class procedure Save(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AObject : TBaseRemotable;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AStore : IFormatterBase;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const AName : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const ATypeInfo : PTypeInfo}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 class procedure Load(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 var AObject : TObject;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 AStore : IFormatterBase;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 var AName : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 const ATypeInfo : PTypeInfo}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 );override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 class procedure RegisterAttributeProperty(const AProperty : shortstring);virtual;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 class procedure RegisterAttributeProperties(const APropertList : array of shortstring);virtual;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 class function IsAttributeProperty(const AProperty : shortstring):Boolean;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 procedure Assign(Source: TPersistent); override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseComplexRemotable}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 implements serialization for its descendants classes published properties. The serialization is based on runtime type information (RTTI) and can be customized to:}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls0\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 ignore always some published properties.}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u57354\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls0\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 ignore conditionally some published properties.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The following class shows a the serialization's customization sample.}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch {\chcbpat4 }}{\chcbpat4{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 TSampleClass = class(TBaseComplexRemotable)}}
\par \pard\plain \ltrpar\s1\cf0\chcbpat4{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs20\lang255\ltrch\dbch\af6\langfe255\hich\f3\fs20\lang1033\loch\f3\fs20\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 private}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FProp_Always: Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FProp_Never: Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 FProp_Optional: Integer;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 function GetStoredProp_Optional: boolean;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 published}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 //This property will always be serialized}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Prop_Always : Integer read FProp_Always write FProp_Always;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 //This property will never be serialized}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Prop_Never : Integer read FProp_Never write FProp_Never stored False;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 //This property will be serialized if "Self.GetStoredProp_Optional() = True"}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 property Prop_Optional : Integer read FProp_Optional write FProp_Optional stored GetStoredProp_Optional;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f3\fs20\lang1033\i0\b0 End;}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs21\b\f7\fs21\b\fs21\b \ltrpar\s9\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs21\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs21\lang1033\b\loch\f2\fs21\lang1033\b {\rtlch \ltrch\loch\f2\fs21\lang1033\i0\b Attribute properties.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseComplexRemotable}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 allows properties serialization as attributes. Theses properties have to be registered as such with the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b RegisterAttributeProperty} class method or {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b RegisterAttributeProperties} one.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ab\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\b\loch\f4\fs24\lang1033\b
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0{\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TBaseComplexSimpleContentRemotable}}{\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 provides implementation for the \'93XML Schema\'94 complex types which extend simple types with attributes. The following example illustrates this :}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 [XML-SCHEMA]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:complexType name="DecimalWithUnits">}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:simpleContent>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:extension base="xs:decimal">}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:attribute name="Units" type="xs:string"}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 use="required"/>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 </xs:extension>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 </xs:simpleContent>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 </xs:complexType> }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 [/XML-SCHEMA]}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This type will be translate by {\rtlch\ltrch\dbch\hich\f4\i\b\loch\f4\i\b ws_helper} to Pascal as}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [code]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 DecimalWithUnits = class(TComplexFloatExtendedContentRemotable)}
\par \pard\plain \ltrpar\s1\cf0\chcbpat5\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 private}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 FUnits : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 published}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 property Units : string read FUnits write FUnits;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [/code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 using the predefined types ( in {\ltrch\hich\f4\loch\f4 base_service_intf.pas} )}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [code]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 TBaseComplexSimpleContentRemotable =}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class(TAbstractComplexRemotable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 protected}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class procedure SaveValue(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 AObject : TBaseRemotable; }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 AStore : IformatterBase}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 );virtual;abstract;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class procedure LoadValue(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 var AObject : TObject; }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 AStore : IformatterBase}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 );virtual;abstract;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 public}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class procedure Save(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 AObject : TBaseRemotable;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 AStore : IFormatterBase;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 const AName : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 const ATypeInfo : PTypeInfo}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 );override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class procedure Load(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 var AObject : TObject;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 AStore : IFormatterBase;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 var AName : string;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 const ATypeInfo : PTypeInfo}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 );override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 TComplexFloatExtendedContentRemotable =}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class(TBaseComplexSimpleContentRemotable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 private}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 FValue: Extended;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 protected}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class procedure SaveValue(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 AObject : TBaseRemotable; }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 AStore : IformatterBase}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 );override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class procedure LoadValue(}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 var AObject : TObject; }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 AStore : IformatterBase}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 );override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 public}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 property Value : Extended read FValue write FValue;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [/code]}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 An instance of this type looks like the one below. Every attribute must be registered using the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b RegisterAttributeProperty() }method. The toolkit provides class for Pascal basic types( {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b TComplexInt8UContentRemotable, TComplexInt8SContentRemotable, TComplexInt
2007-05-05 19:05:01 +00:00
16SContentRemotable}, ...).}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [XML]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat5\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <example Units = "meter">}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 12.10}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 </example>}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [/XML]}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\b\f7\fs23\b\fs23\b \ltrpar\s8\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\b\loch\f2\fs23\lang1033\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i0\b Provided array implementations.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit provides array implementation for basic types ( in the {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b base_service_intf} unit ) listed below. The implementations are based on the serialization's customization.}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Available integers : }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Byte \tab TArrayOfInt8URemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 ShortInt \tab TArrayOfInt8SRemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 SmallInt \tab TArrayOfInt16SRemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Word \tab TArrayOfInt16URemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 LongInt \tab TArrayOfInt32SRemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 LongWord\tab TArrayOfInt32URemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Int64 \tab TArrayOfInt64SRemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Qword \tab \tab TArrayOfInt64URemotable}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 String \tab TarrayOfStringRemotable( AnsiString )}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Boolean \tab TArrayOfBooleanRemotable}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Float types : }
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Single \tab \tab TArrayOfFloatSingleRemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Double\tab \tab TArrayOfFloatDoubleRemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Extended \tab TArrayOfFloatExtendedRemotable}
\par \pard\plain {\listtext\pard\plain \li1789\ri0\lin1789\rin0\fi-360\qj\f5\fs18\f5\fs18\f5\fs18 \u10146\'3f\tab}\ilvl1 \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li1789\ri0\lin1789\rin0\fi-360\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Currency \tab TArrayOfFloatCurrencyRemotable}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit array's implementation support \'93embedded\'94 array serialization. This type of array occurs typically with types like the following one ( the {\chcbpat5\ltrch\hich\f4\loch\f4 "ResponseGroup"} may be repeated ):}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [XML-SCHEMA]}
\par \pard\plain \ltrpar\s1\cf0\chcbpat5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:complexType name="CustomerContentSearchRequest">}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:sequence>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:element name="CustomerPage" type="xs:positiveInteger"}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 minOccurs="0"/>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:element name="Email" type="xs:string" minOccurs="0"/>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:element name="Name" type="xs:string" minOccurs="0"/>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <xs:element name="ResponseGroup" type="xs:string"}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 minOccurs="0" maxOccurs="unbounded"/>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 </xs:sequence>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 </xs:complexType> }
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [/XML-SCHEMA]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 which could be instantiated as}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }
2007-05-05 19:05:01 +00:00
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [XML]}
2007-08-14 18:53:43 +00:00
\par \pard\plain \ltrpar\s1\cf0\chcbpat5\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <search>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <CustomerPage> 1 </CustomerPage>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <Name>Sample name</Name>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <ResponseGroup>Group 1</ResponseGroup>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <ResponseGroup>Group 2</ResponseGroup>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 <ResponseGroup>Group 3</ResponseGroup>}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 </search>}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [/XML]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 This type will be translate to Pascal by {\rtlch\ltrch\dbch\hich\f4\i\b\loch\f4\i\b ws_helper} as (the private and protected parts are omitted to be short)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0\chcbpat5{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f4\fs24\lang1033\loch\f4\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 CustomerContentSearchRequest_ResponseGroupArray =}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class(TBaseSimpleTypeArrayRemotable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 public}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 class function GetItemTypeInfo():PTypeInfo;override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 procedure SetLength(const ANewSize : Integer);override;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 property Item[AIndex:Integer] : string }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 read GetItem write SetItem; default;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 CustomerContentSearchRequest = class(TBaseComplexRemotable)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 published}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 property CustomerPage : positiveInteger }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 read FCustomerPage }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 write FCustomerPage stored HasCustomerPage;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 property Email : string }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 read FEmail }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 write FEmail }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 stored HasEmail;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 property Name : string read FName write FName stored HasName;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 property ResponseGroup :}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 CustomerContentSearchRequest_ResponseGroupArray}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 read FResponseGroup }
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 write FResponseGroup;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 end;}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 implementation}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 GetTypeRegistry().ItemByTypeInfo[}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 TypeInfo({\chcbpat5\ltrch\hich\f4\loch\f4 CustomerContentSearchRequest_ResponseGroupArray)]}}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch }{\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 .RegisterExternalPropertyName(sARRAY_STYLE,sEmbedded);}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f4\fs24\lang1033\i0\b0 (...)}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 [/code]}
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The last instruction set the array style to {\rtlch\ltrch\dbch\hich\f4\b\loch\f4\b \'93Embedded\'94} and so the SOAP formatter will serialize the array accordingly.}
\par \pard\plain \sb240\sa120\keepn\f2\fs23\i\b\f7\fs23\i\b\fs23\i\b \ltrpar\s7\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs23\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs23\lang1033\i\b\loch\f2\fs23\lang1033\i\b {\rtlch \ltrch\loch\f2\fs23\lang1033\i\b Test cases}
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The toolkit uses {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 FPCUnit} for test cases. The test project is located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 \\tests\\test_suite} folder. }
\par \pard\plain {\listtext\pard\plain \li720\ri0\lin720\rin0\fi-360\f5\fs18\f5\fs18\f5\fs18 \u10004\'3f\tab}\ilvl0 \ltrpar\s1\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\ls1\aspalpha\li720\ri0\lin720\rin0\fi-360\ql\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 The Delphi tests suite is based on Dunit and is located in the {\chcbpat4\rtlch\ltrch\dbch\hich\f3\fs20\loch\f3\fs20 \\tests\\test_suite\\delphi} folder.}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033
\par \pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b
\par \pard\plain \sb240\sa120\keepn\f2\fs28\i\b\f7\fs28\i\b\fs28\i\b \ltrpar\s5\cf0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\sb240\sa120\keepn\ql\rtlch\afs28\lang255\ai\ab\ltrch\dbch\af7\langfe255\hich\f2\fs28\lang1033\i\b\loch\f2\fs28\lang1033\i\b {\rtlch \ltrch\loch\f2\fs28\lang1033\i\b Author}
\par \pard\plain \ltrpar\s1\cf0\qj{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\aspalpha\rtlch\af6\afs24\lang255\ltrch\dbch\af6\langfe255\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 {\rtlch \ltrch\loch\f1\fs24\lang1033\i0\b0 Inoussa OUEDRAOGO, {\field{\*\fldinst HYPERLINK "mailto:inoussa12@gmail.com" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "mailto:inoussa12@gmail.com" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033{\field{\*\fldinst HYPERLINK "mailto:inoussa12@gmail.com" }{\fldrslt \*\cs31\cf2\ul\ulc0\rtlch\ltrch\dbch\hich\f1\fs24\lang1033\loch\f1\fs24\lang1033 inoussa12@gmail.com}}}}}}. }
2006-08-26 00:35:42 +00:00
\par }