MIME-Version: 1.0
Content-Type: multipart/related; boundary="----=_NextPart_01C82ED1.BB4F0620"

This document is a Single File Web Page, also known as a Web Archive file.  If you are seeing this message, your browser or editor doesn't support Web Archive files.  Please download a browser that supports Web Archive, such as Windows® Internet Explorer®.

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="us-ascii"

<html xmlns:v=3D"urn:schemas-microsoft-com:vml"
xmlns:o=3D"urn:schemas-microsoft-com:office:office"
xmlns:w=3D"urn:schemas-microsoft-com:office:word"
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml"
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 12">
<meta name=3DOriginator content=3D"Microsoft Word 12">
<link rel=3DFile-List href=3D"Tutorial_files/filelist.xml">
<link rel=3DEdit-Time-Data href=3D"Tutorial_files/editdata.mso">
<link rel=3DOLE-Object-Data href=3D"Tutorial_files/oledata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Getting Started with the Bootstrapper</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author> </o:Author>
  <o:Template>Hexagon Software.dotx</o:Template>
  <o:LastAuthor> </o:LastAuthor>
  <o:Revision>2</o:Revision>
  <o:TotalTime>39</o:TotalTime>
  <o:Created>2007-11-25T03:39:00Z</o:Created>
  <o:LastSaved>2007-11-25T03:39:00Z</o:LastSaved>
  <o:Pages>22</o:Pages>
  <o:Words>5782</o:Words>
  <o:Characters>32959</o:Characters>
  <o:Company> </o:Company>
  <o:Lines>274</o:Lines>
  <o:Paragraphs>77</o:Paragraphs>
  <o:CharactersWithSpaces>38664</o:CharactersWithSpaces>
  <o:Version>12.00</o:Version>
 </o:DocumentProperties>
</xml><![endif]-->
<link rel=3DdataStoreItem href=3D"Tutorial_files/item0001.xml"
target=3D"Tutorial_files/props0002.xml">
<link rel=3DdataStoreItem href=3D"Tutorial_files/item0003.xml"
target=3D"Tutorial_files/props0004.xml">
<link rel=3DthemeData href=3D"Tutorial_files/themedata.thmx">
<link rel=3DcolorSchemeMapping href=3D"Tutorial_files/colorschememapping.xm=
l">
<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:AttachedTemplate
   HRef=3D"C:\Documents and Settings\Max\Application Data\Microsoft\Templat=
es\Hexagon Software.dotx"></w:AttachedTemplate>
  <w:TrackMoves>false</w:TrackMoves>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-US</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:DontVertAlignCellWithSp/>
   <w:DontBreakConstrainedForcedTables/>
   <w:DontVertAlignInTxbx/>
   <w:Word11KerningPairs/>
   <w:CachedColBalance/>
   <w:UseFELayout/>
  </w:Compatibility>
  <m:mathPr>
   <m:mathFont m:val=3D"Cambria Math"/>
   <m:brkBin m:val=3D"before"/>
   <m:brkBinSub m:val=3D"--"/>
   <m:smallFrac m:val=3D"off"/>
   <m:dispDef/>
   <m:lMargin m:val=3D"0"/>
   <m:rMargin m:val=3D"0"/>
   <m:defJc m:val=3D"centerGroup"/>
   <m:wrapIndent m:val=3D"1440"/>
   <m:intLim m:val=3D"subSup"/>
   <m:naryLim m:val=3D"undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState=3D"false" DefUnhideWhenUsed=3D"true"
  DefSemiHidden=3D"true" DefQFormat=3D"false" DefPriority=3D"99"
  LatentStyleCount=3D"267">
  <w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Normal"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"=
heading 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"=
heading 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"=
heading 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"=
heading 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"=
heading 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"=
heading 7"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"=
heading 8"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"=
heading 9"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 7"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 8"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 9"/>
  <w:LsdException Locked=3D"false" Priority=3D"35" QFormat=3D"true" Name=3D=
"caption"/>
  <w:LsdException Locked=3D"false" Priority=3D"10" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Title"/>
  <w:LsdException Locked=3D"false" Priority=3D"1" Name=3D"Default Paragraph=
 Font"/>
  <w:LsdException Locked=3D"false" Priority=3D"11" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Subtitle"/>
  <w:LsdException Locked=3D"false" Priority=3D"22" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Strong"/>
  <w:LsdException Locked=3D"false" Priority=3D"20" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Emphasis"/>
  <w:LsdException Locked=3D"false" Priority=3D"59" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Table Grid"/>
  <w:LsdException Locked=3D"false" UnhideWhenUsed=3D"false" Name=3D"Placeho=
lder Text"/>
  <w:LsdException Locked=3D"false" Priority=3D"1" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"No Spacing"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Shading"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light List"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Grid"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Dark List"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Shading"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful List"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Grid"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Shading Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light List Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Grid Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 1 Accent 1"/>
  <w:LsdException Locked=3D"false" UnhideWhenUsed=3D"false" Name=3D"Revisio=
n"/>
  <w:LsdException Locked=3D"false" Priority=3D"34" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"List Paragraph"/>
  <w:LsdException Locked=3D"false" Priority=3D"29" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Quote"/>
  <w:LsdException Locked=3D"false" Priority=3D"30" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Intense Quote"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 2 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Dark List Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Shading Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful List Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Grid Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Shading Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light List Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Grid Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 1 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 2 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Dark List Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Shading Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful List Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Grid Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Shading Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light List Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Grid Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 1 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 2 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Dark List Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Shading Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful List Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Grid Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Shading Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light List Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Grid Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 1 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 2 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Dark List Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Shading Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful List Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Grid Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Shading Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light List Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Grid Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 1 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 2 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Dark List Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Shading Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful List Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Grid Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Shading Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light List Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Light Grid Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 1 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium List 2 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Dark List Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Shading Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful List Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" Name=3D"Colorful Grid Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"19" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Subtle Emphasis"/>
  <w:LsdException Locked=3D"false" Priority=3D"21" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Intense Emphasis"/>
  <w:LsdException Locked=3D"false" Priority=3D"31" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Subtle Reference"/>
  <w:LsdException Locked=3D"false" Priority=3D"32" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Intense Reference"/>
  <w:LsdException Locked=3D"false" Priority=3D"33" SemiHidden=3D"false"
   UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Book Title"/>
  <w:LsdException Locked=3D"false" Priority=3D"37" Name=3D"Bibliography"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" QFormat=3D"true" Name=3D=
"TOC Heading"/>
 </w:LatentStyles>
</xml><![endif]-->
<link rel=3Dplchdr href=3D"Tutorial_files/plchdr.htm">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;
	mso-font-charset:2;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Cambria;
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:roman;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073741899 0 0 159 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:3 0 0 0 1 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
h1
	{mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Heading 1 Char";
	mso-style-next:Normal;
	margin-top:24.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	line-height:115%;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	mso-outline-level:1;
	font-size:14.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#365F91;
	mso-themecolor:accent1;
	mso-themeshade:191;
	mso-font-kerning:0pt;}
h2
	{mso-style-noshow:yes;
	mso-style-priority:9;
	mso-style-qformat:yes;
	mso-style-link:"Heading 2 Char";
	mso-style-next:Normal;
	margin-top:10.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	line-height:115%;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	mso-outline-level:2;
	font-size:13.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;}
h3
	{mso-style-noshow:yes;
	mso-style-priority:9;
	mso-style-qformat:yes;
	mso-style-link:"Heading 3 Char";
	mso-style-next:Normal;
	margin-top:10.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	mso-outline-level:3;
	font-size:11.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;}
p.MsoToc1, li.MsoToc1, div.MsoToc1
	{mso-style-update:auto;
	mso-style-priority:39;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:5.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoToc2, li.MsoToc2, div.MsoToc2
	{mso-style-update:auto;
	mso-style-priority:39;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:5.0pt;
	margin-left:11.0pt;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoToc3, li.MsoToc3, div.MsoToc3
	{mso-style-update:auto;
	mso-style-priority:39;
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:5.0pt;
	margin-left:22.0pt;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoHeader, li.MsoHeader, div.MsoHeader
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-link:"Header Char";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	tab-stops:center 3.25in right 6.5in;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoFooter, li.MsoFooter, div.MsoFooter
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-link:"Footer Char";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	tab-stops:center 3.25in right 6.5in;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoCaption, li.MsoCaption, div.MsoCaption
	{mso-style-priority:35;
	mso-style-qformat:yes;
	mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	font-size:9.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	font-weight:bold;}
p.MsoTitle, li.MsoTitle, div.MsoTitle
	{mso-style-priority:10;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Title Char";
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:15.0pt;
	margin-left:0in;
	mso-add-space:auto;
	mso-pagination:widow-orphan;
	border:none;
	mso-border-bottom-alt:solid #4F81BD 1.0pt;
	mso-border-bottom-themecolor:accent1;
	padding:0in;
	mso-padding-alt:0in 0in 4.0pt 0in;
	font-size:26.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#17365D;
	mso-themecolor:text2;
	mso-themeshade:191;
	letter-spacing:.25pt;
	mso-font-kerning:14.0pt;}
p.MsoTitleCxSpFirst, li.MsoTitleCxSpFirst, div.MsoTitleCxSpFirst
	{mso-style-priority:10;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Title Char";
	mso-style-next:Normal;
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan;
	border:none;
	mso-border-bottom-alt:solid #4F81BD 1.0pt;
	mso-border-bottom-themecolor:accent1;
	padding:0in;
	mso-padding-alt:0in 0in 4.0pt 0in;
	font-size:26.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#17365D;
	mso-themecolor:text2;
	mso-themeshade:191;
	letter-spacing:.25pt;
	mso-font-kerning:14.0pt;}
p.MsoTitleCxSpMiddle, li.MsoTitleCxSpMiddle, div.MsoTitleCxSpMiddle
	{mso-style-priority:10;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Title Char";
	mso-style-next:Normal;
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan;
	border:none;
	mso-border-bottom-alt:solid #4F81BD 1.0pt;
	mso-border-bottom-themecolor:accent1;
	padding:0in;
	mso-padding-alt:0in 0in 4.0pt 0in;
	font-size:26.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#17365D;
	mso-themecolor:text2;
	mso-themeshade:191;
	letter-spacing:.25pt;
	mso-font-kerning:14.0pt;}
p.MsoTitleCxSpLast, li.MsoTitleCxSpLast, div.MsoTitleCxSpLast
	{mso-style-priority:10;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Title Char";
	mso-style-next:Normal;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:15.0pt;
	margin-left:0in;
	mso-add-space:auto;
	mso-pagination:widow-orphan;
	border:none;
	mso-border-bottom-alt:solid #4F81BD 1.0pt;
	mso-border-bottom-themecolor:accent1;
	padding:0in;
	mso-padding-alt:0in 0in 4.0pt 0in;
	font-size:26.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#17365D;
	mso-themecolor:text2;
	mso-themeshade:191;
	letter-spacing:.25pt;
	mso-font-kerning:14.0pt;}
p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
	{mso-style-priority:11;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Subtitle Char";
	mso-style-next:Normal;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	letter-spacing:.75pt;
	font-style:italic;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	mso-themecolor:hyperlink;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:purple;
	mso-themecolor:followedhyperlink;
	text-decoration:underline;
	text-underline:single;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-bidi-font-family:Tahoma;}
span.MsoPlaceholderText
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	color:gray;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	margin-top:12.0pt;
	margin-right:0in;
	margin-bottom:12.0pt;
	margin-left:.5in;
	mso-add-space:auto;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParag=
raphCxSpFirst
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin-top:12.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListPar=
agraphCxSpMiddle
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagra=
phCxSpLast
	{mso-style-priority:34;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:12.0pt;
	margin-left:.5in;
	mso-add-space:auto;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
p.MsoTocHeading, li.MsoTocHeading, div.MsoTocHeading
	{mso-style-priority:39;
	mso-style-qformat:yes;
	mso-style-parent:"Heading 1";
	mso-style-next:Normal;
	margin-top:24.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	line-height:115%;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#365F91;
	mso-themecolor:accent1;
	mso-themeshade:191;
	font-weight:bold;}
span.HeaderChar
	{mso-style-name:"Header Char";
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:Header;}
span.FooterChar
	{mso-style-name:"Footer Char";
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:Footer;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Balloon Text";
	mso-ansi-font-size:8.0pt;
	mso-bidi-font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-ascii-font-family:Tahoma;
	mso-hansi-font-family:Tahoma;
	mso-bidi-font-family:Tahoma;}
span.Heading2Char
	{mso-style-name:"Heading 2 Char";
	mso-style-noshow:yes;
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Heading 2";
	mso-ansi-font-size:13.0pt;
	mso-bidi-font-size:13.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	font-weight:bold;}
span.Heading1Char
	{mso-style-name:"Heading 1 Char";
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Heading 1";
	mso-ansi-font-size:14.0pt;
	mso-bidi-font-size:14.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#365F91;
	mso-themecolor:accent1;
	mso-themeshade:191;
	font-weight:bold;}
span.SubtitleChar
	{mso-style-name:"Subtitle Char";
	mso-style-priority:11;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:Subtitle;
	mso-ansi-font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	letter-spacing:.75pt;
	font-style:italic;}
span.TitleChar
	{mso-style-name:"Title Char";
	mso-style-priority:10;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:Title;
	mso-ansi-font-size:26.0pt;
	mso-bidi-font-size:26.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#17365D;
	mso-themecolor:text2;
	mso-themeshade:191;
	letter-spacing:.25pt;
	mso-font-kerning:14.0pt;}
span.Heading3Char
	{mso-style-name:"Heading 3 Char";
	mso-style-noshow:yes;
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Heading 3";
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	font-weight:bold;}
p.Code, li.Code, div.Code
	{mso-style-name:Code;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	tab-stops:.25in .5in .75in 1.0in 1.25in 1.5in 1.75in 2.0in;
	background:#F2F2F2;
	mso-background-themecolor:background1;
	mso-background-themeshade:242;
	border:none;
	mso-border-alt:solid windowtext .5pt;
	padding:0in;
	mso-padding-alt:4.0pt 4.0pt 4.0pt 4.0pt;
	font-size:8.0pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-no-proof:yes;}
p.CodeCxSpFirst, li.CodeCxSpFirst, div.CodeCxSpFirst
	{mso-style-name:CodeCxSpFirst;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	tab-stops:.25in .5in .75in 1.0in 1.25in 1.5in 1.75in 2.0in;
	background:#F2F2F2;
	mso-background-themecolor:background1;
	mso-background-themeshade:242;
	border:none;
	mso-border-alt:solid windowtext .5pt;
	padding:0in;
	mso-padding-alt:4.0pt 4.0pt 4.0pt 4.0pt;
	font-size:8.0pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-no-proof:yes;}
p.CodeCxSpMiddle, li.CodeCxSpMiddle, div.CodeCxSpMiddle
	{mso-style-name:CodeCxSpMiddle;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	tab-stops:.25in .5in .75in 1.0in 1.25in 1.5in 1.75in 2.0in;
	background:#F2F2F2;
	mso-background-themecolor:background1;
	mso-background-themeshade:242;
	border:none;
	mso-border-alt:solid windowtext .5pt;
	padding:0in;
	mso-padding-alt:4.0pt 4.0pt 4.0pt 4.0pt;
	font-size:8.0pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-no-proof:yes;}
p.CodeCxSpLast, li.CodeCxSpLast, div.CodeCxSpLast
	{mso-style-name:CodeCxSpLast;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	tab-stops:.25in .5in .75in 1.0in 1.25in 1.5in 1.75in 2.0in;
	background:#F2F2F2;
	mso-background-themecolor:background1;
	mso-background-themeshade:242;
	border:none;
	mso-border-alt:solid windowtext .5pt;
	padding:0in;
	mso-padding-alt:4.0pt 4.0pt 4.0pt 4.0pt;
	font-size:8.0pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-no-proof:yes;}
p.De-EmphasizedCode, li.De-EmphasizedCode, div.De-EmphasizedCode
	{mso-style-name:"De-Emphasized Code";
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:Code;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	tab-stops:.25in .5in .75in 1.0in 1.25in 1.5in 1.75in 2.0in;
	background:#F2F2F2;
	mso-background-themecolor:background1;
	mso-background-themeshade:242;
	border:none;
	mso-border-alt:solid windowtext .5pt;
	padding:0in;
	mso-padding-alt:4.0pt 4.0pt 4.0pt 4.0pt;
	font-size:6.0pt;
	mso-bidi-font-size:8.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	color:#A6A6A6;
	mso-themecolor:background1;
	mso-themeshade:166;
	mso-no-proof:yes;}
p.De-EmphasizedCodeCxSpFirst, li.De-EmphasizedCodeCxSpFirst, div.De-Emphasi=
zedCodeCxSpFirst
	{mso-style-name:"De-Emphasized CodeCxSpFirst";
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:Code;
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	tab-stops:.25in .5in .75in 1.0in 1.25in 1.5in 1.75in 2.0in;
	background:#F2F2F2;
	mso-background-themecolor:background1;
	mso-background-themeshade:242;
	border:none;
	mso-border-alt:solid windowtext .5pt;
	padding:0in;
	mso-padding-alt:4.0pt 4.0pt 4.0pt 4.0pt;
	font-size:6.0pt;
	mso-bidi-font-size:8.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	color:#A6A6A6;
	mso-themecolor:background1;
	mso-themeshade:166;
	mso-no-proof:yes;}
p.De-EmphasizedCodeCxSpMiddle, li.De-EmphasizedCodeCxSpMiddle, div.De-Empha=
sizedCodeCxSpMiddle
	{mso-style-name:"De-Emphasized CodeCxSpMiddle";
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:Code;
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	tab-stops:.25in .5in .75in 1.0in 1.25in 1.5in 1.75in 2.0in;
	background:#F2F2F2;
	mso-background-themecolor:background1;
	mso-background-themeshade:242;
	border:none;
	mso-border-alt:solid windowtext .5pt;
	padding:0in;
	mso-padding-alt:4.0pt 4.0pt 4.0pt 4.0pt;
	font-size:6.0pt;
	mso-bidi-font-size:8.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	color:#A6A6A6;
	mso-themecolor:background1;
	mso-themeshade:166;
	mso-no-proof:yes;}
p.De-EmphasizedCodeCxSpLast, li.De-EmphasizedCodeCxSpLast, div.De-Emphasize=
dCodeCxSpLast
	{mso-style-name:"De-Emphasized CodeCxSpLast";
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:Code;
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	mso-pagination:widow-orphan lines-together;
	page-break-after:avoid;
	tab-stops:.25in .5in .75in 1.0in 1.25in 1.5in 1.75in 2.0in;
	background:#F2F2F2;
	mso-background-themecolor:background1;
	mso-background-themeshade:242;
	border:none;
	mso-border-alt:solid windowtext .5pt;
	padding:0in;
	mso-padding-alt:4.0pt 4.0pt 4.0pt 4.0pt;
	font-size:6.0pt;
	mso-bidi-font-size:8.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	color:#A6A6A6;
	mso-themecolor:background1;
	mso-themeshade:166;
	mso-no-proof:yes;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
 /* Page Definitions */
 @page
	{mso-footnote-separator:url("Tutorial_files/header.htm") fs;
	mso-footnote-continuation-separator:url("Tutorial_files/header.htm") fcs;
	mso-endnote-separator:url("Tutorial_files/header.htm") es;
	mso-endnote-continuation-separator:url("Tutorial_files/header.htm") ecs;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-header:url("Tutorial_files/header.htm") h1;
	mso-footer:url("Tutorial_files/header.htm") f1;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:526866176;
	mso-list-type:hybrid;
	mso-list-template-ids:-1283787538 67698689 67698691 67698693 67698689 6769=
8691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l1
	{mso-list-id:984965753;
	mso-list-type:hybrid;
	mso-list-template-ids:861942898 67698689 67698691 67698693 67698689 676986=
91 67698693 67698689 67698691 67698693;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l2
	{mso-list-id:1599368301;
	mso-list-type:hybrid;
	mso-list-template-ids:-907912656 67698689 67698691 67698693 67698689 67698=
691 67698693 67698689 67698691 67698693;}
@list l2:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l3
	{mso-list-id:1621110446;
	mso-list-type:hybrid;
	mso-list-template-ids:-246395996 67698689 67698691 67698693 67698689 67698=
691 67698693 67698689 67698691 67698693;}
@list l3:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l4
	{mso-list-id:1792432402;
	mso-list-type:hybrid;
	mso-list-template-ids:-1620901916 67698689 67698691 67698693 67698689 6769=
8691 67698693 67698689 67698691 67698693;}
@list l4:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin-top:0in;
	mso-para-margin-right:0in;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0in;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"15362"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1"/>
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple style=3D'tab-interval:.5in'>

<div class=3DSection1>

<div style=3D'mso-element:para-border-div;border:none;border-bottom:solid #=
4F81BD 1.0pt;
mso-border-bottom-themecolor:accent1;padding:0in 0in 4.0pt 0in'>

<p class=3DMsoTitle>Getting Started with the Bootstrapper</p>

</div>

<h1><a name=3D"_Toc183695760">Overview</a></h1>

<p class=3DMsoSubtitle>What will I find in this tutorial?</p>

<w:Sdt
 PrefixMappings=3D"xmlns:ns0=3D'http://schemas.microsoft.com/office/2006/co=
verPageProps' "
 Xpath=3D"/ns0:CoverPageProperties[1]/ns0:Abstract[1]"
 DocPart=3D"3C2977CBEACF4E4FA4FB6CF68F0109F7" Text=3D"t"
 StoreItemID=3D"X_55AF091B-3C7A-41E3-B477-F2FDAA23CFDA" Title=3D"Abstract"
 ID=3D"265143752">
 <p class=3DMsoNormal>The Hexagon Software Bootstrapper allows you to compl=
etely
 separate use from construction.<span style=3D'mso-spacerun:yes'>&nbsp;
 </span>This tutorial explains how to use the Bootstrapper.<w:sdtPr></w:sdt=
Pr></p>
</w:Sdt>

<h1><a name=3D"_Toc183695761">Table of Contents</a></h1>

<p class=3DMsoSubtitle>Where is everything?</p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><!--[if support=
Fields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>TOC \o &quot;1-3&quot; \h \z \u <sp=
an
style=3D'mso-element:field-separator'></span><![endif]--><a href=3D"#_Toc18=
3695760"><span
style=3D'mso-no-proof:yes'>Overview</span><span style=3D'color:windowtext;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>.. </span></span><!--[if suppo=
rtFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695760 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>1<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360030000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695761"><span
style=3D'mso-no-proof:yes'>Table of Contents</span><span style=3D'color:win=
dowtext;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>. </span></span><!--[if suppor=
tFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695761 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>1<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360031000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695762"><span
style=3D'mso-no-proof:yes'>The Problem</span><span style=3D'color:windowtex=
t;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>.. </span></span><!--[if suppo=
rtFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695762 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>1<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360032000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc2 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695763"><span
style=3D'mso-no-proof:yes'>Inverting Binary Dependencies</span><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-tab-count:1 do=
tted'>. </span></span><!--[if supportFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695763 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>2<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360033000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc2 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695764"><span
style=3D'mso-no-proof:yes'>&#8220;Glue&#8221; Assemblies</span><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-tab-count:1 do=
tted'>. </span></span><!--[if supportFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695764 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>3<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360034000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc2 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695765"><span
style=3D'mso-no-proof:yes'>Using Reflection</span><span style=3D'color:wind=
owtext;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>. </span></span><!--[if suppor=
tFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695765 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>4<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360035000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc2 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695766"><span
style=3D'mso-no-proof:yes'>There&#8217;s Always a Catch</span><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-tab-count:1 do=
tted'>. </span></span><!--[if supportFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695766 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>5<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360036000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695767"><span
style=3D'mso-no-proof:yes'>The Key Players</span><span style=3D'color:windo=
wtext;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>. </span></span><!--[if suppor=
tFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695767 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>5<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360037000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695768"><span
style=3D'mso-no-proof:yes'>The Assumptions</span><span style=3D'color:windo=
wtext;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>. </span></span><!--[if suppor=
tFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695768 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>5<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360038000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695769"><span
style=3D'mso-no-proof:yes'>The Simplest Case</span><span style=3D'color:win=
dowtext;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>. </span></span><!--[if suppor=
tFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695769 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>6<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700360039000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695770"><span
style=3D'mso-no-proof:yes'>Encapsulating the Bootstrapping Code</span><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-tab-count:1 do=
tted'>. </span></span><!--[if supportFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695770 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>8<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700370030000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695771"><span
style=3D'mso-no-proof:yes'>Configurability</span><span style=3D'color:windo=
wtext;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>. </span></span><!--[if suppor=
tFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695771 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>9<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700370031000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695772"><span
style=3D'mso-no-proof:yes'>Runtime Parameterization</span><span style=3D'co=
lor:
windowtext;display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:no=
ne;
text-underline:none'><span style=3D'mso-tab-count:1 dotted'>. </span></span=
><!--[if supportFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695772 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>12<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700370032000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695773"><span
style=3D'mso-no-proof:yes'>Backward Compatibility</span><span style=3D'colo=
r:windowtext;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>. </span></span><!--[if suppor=
tFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695773 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>15<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700370033000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc3 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695774"><span
style=3D'mso-no-proof:yes'>Using Bootstrapping to Support Multiple Interfac=
es</span><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-tab-count:1 do=
tted'>. </span></span><!--[if supportFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695774 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>17<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700370034000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695775"><span
style=3D'mso-no-proof:yes'>Conclusion</span><span style=3D'color:windowtext;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-tab-count:1 dotted'>. </span></span><!--[if suppor=
tFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695775 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>21<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700370035000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<p class=3DMsoToc1 style=3D'tab-stops:right dotted 467.5pt'><a href=3D"#_To=
c183695776"><span
style=3D'mso-no-proof:yes'>Legal</span><span style=3D'color:windowtext;disp=
lay:
none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-underline:n=
one'><span
style=3D'mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'><span style=3D'mso-element:field-=
begin'></span>
PAGEREF _Toc183695776 \h <span style=3D'mso-element:field-separator'></span=
></span><![endif]--><span
style=3D'color:windowtext;display:none;mso-hide:screen;mso-no-proof:yes;
text-decoration:none;text-underline:none'>21<!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005400=
6F0063003100380033003600390035003700370036000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'color:window=
text;
display:none;mso-hide:screen;mso-no-proof:yes;text-decoration:none;text-und=
erline:
none'><span style=3D'mso-element:field-end'></span></span><![endif]--></a><=
span
style=3D'mso-no-proof:yes'><o:p></o:p></span></p>

<h1><!--[if supportFields]><span style=3D'mso-element:field-end'></span><![=
endif]--><a
name=3D"_Toc183695762">The Problem</a></h1>

<p class=3DMsoSubtitle>Why do I need <!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>MACROBUTTON <![endif]--><!--[if sup=
portFields]><span
style=3D'mso-element:field-end'></span><![endif]-->Bootstrapper?</p>

<p class=3DMsoNormal><!--[if supportFields]><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>MACROBUTTON <![endif]--><!--[if sup=
portFields]><span
style=3D'mso-element:field-end'></span><![endif]--><span
style=3D'mso-spacerun:yes'>&nbsp;</span>Finding an instance of an object, s=
uch as
an Abstract Factory implementation, is a common task.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Early in a software product&#8217;s
life, we tend to use a static factory method.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>It works but, it creates a depende=
ncy
chain from the assembly containing the consumer of a service and the assemb=
ly
containing the supplier of a service.</p>

<p class=3DMsoNormal>There are a number of ways of breaking that dependency
chain.<span style=3D'mso-spacerun:yes'>&nbsp; </span>One of the more flexib=
le
solutions is to dynamically load the assembly and use reflection to instant=
iate
a service provider.<span style=3D'mso-spacerun:yes'>&nbsp; </span>This is t=
he
solution that Common Components provides.</p>

<p class=3DMsoNormal>One of the easiest ways to break the dependency betwee=
n the
consumer and provider of a service is to inject and abstract type, such as =
an
interface, in between the two.<span style=3D'mso-spacerun:yes'>&nbsp; </spa=
n>The
consumer, then references only the interface, and we are free to make chang=
es
to the implementation as needed.</p>

<p class=3DMsoNormal>If you go only that far, you&#8217;ve done yourself a =
great
service.<span style=3D'mso-spacerun:yes'>&nbsp; </span>Inverting dependenci=
es is
one of the more important kinds of encapsulation.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>You&#8217;ll find that most of the
Design Patterns employ this principle to realign the forces at play in your
favor.<span style=3D'mso-spacerun:yes'>&nbsp; </span>However, you can go on=
e step
further and, at Hexagon Software, we choose to do so.</p>

<h2><a name=3D"_Toc183695763">Inverting Binary Dependencies</a></h2>

<p class=3DMsoNormal>Inversion of dependency, alone, is not sufficient to b=
reak
the <i style=3D'mso-bidi-font-style:normal'>binary</i> dependency between a
consumer and a provider.<span style=3D'mso-spacerun:yes'>&nbsp; </span>A
dependency between binaries works pretty much the same as a dependency betw=
een
types: a change in the dependency object requires the dependent to be
recompiled.<span style=3D'mso-spacerun:yes'>&nbsp; </span>So, if a type fro=
m one
assembly references a type from another, then there is a dependency from the
former to the latter.<span style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if=
 supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183167303 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Figure <span
style=3D'mso-no-proof:yes'>1</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100360037003300300033000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
depicts dependencies between a two binaries when a concrete type is directly
consumed.<span style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if supportFiel=
ds]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183167975 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Figure <span
style=3D'mso-no-proof:yes'>2</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100360037003900370035000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
depicts how those dependencies are impacted by injecting and interface betw=
een
the consumer and provider of a service.</p>

<p class=3DMsoCaption><a name=3D"_Ref183167303">Figure </a><!--[if supportF=
ields]><span
style=3D'mso-bookmark:_Ref183167303'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183167303'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Figure \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183167303'><span style=3D'mso-no-proof:yes'>1</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183167303'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183167303'></span> &#8211; Dependencies before
type-dependency inversion</p>

<p class=3DMsoNormal><span style=3D'mso-spacerun:yes'>&nbsp;</span><!--[if =
gte vml 1]><v:shapetype
 id=3D"_x0000_t75" coordsize=3D"21600,21600" o:spt=3D"75" o:preferrelative=
=3D"t"
 path=3D"m@4@5l@4@11@9@11@9@5xe" filled=3D"f" stroked=3D"f">
 <v:stroke joinstyle=3D"miter"/>
 <v:formulas>
  <v:f eqn=3D"if lineDrawn pixelLineWidth 0"/>
  <v:f eqn=3D"sum @0 1 0"/>
  <v:f eqn=3D"sum 0 0 @1"/>
  <v:f eqn=3D"prod @2 1 2"/>
  <v:f eqn=3D"prod @3 21600 pixelWidth"/>
  <v:f eqn=3D"prod @3 21600 pixelHeight"/>
  <v:f eqn=3D"sum @0 0 1"/>
  <v:f eqn=3D"prod @6 1 2"/>
  <v:f eqn=3D"prod @7 21600 pixelWidth"/>
  <v:f eqn=3D"sum @8 21600 0"/>
  <v:f eqn=3D"prod @7 21600 pixelHeight"/>
  <v:f eqn=3D"sum @10 21600 0"/>
 </v:formulas>
 <v:path o:extrusionok=3D"f" gradientshapeok=3D"t" o:connecttype=3D"rect"/>
 <o:lock v:ext=3D"edit" aspectratio=3D"t"/>
</v:shapetype><v:shape id=3D"_x0000_i1025" type=3D"#_x0000_t75" style=3D'wi=
dth:246pt;
 height:225pt' o:ole=3D"">
 <v:imagedata src=3D"Tutorial_files/image001.emz" o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img width=3D328 height=3D300
src=3D"Tutorial_files/image002.gif" v:shapes=3D"_x0000_i1025"><![endif]><!-=
-[if gte mso 9]><xml>
 <o:OLEObject Type=3D"Embed" ProgID=3D"Visio.Drawing.11" ShapeID=3D"_x0000_=
i1025"
  DrawAspect=3D"Content" ObjectID=3D"_1257438329">
 </o:OLEObject>
</xml><![endif]--></p>

<p class=3DMsoCaption><a name=3D"_Ref183167975">Figure </a><!--[if supportF=
ields]><span
style=3D'mso-bookmark:_Ref183167975'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183167975'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Figure \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183167975'><span style=3D'mso-no-proof:yes'>2</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183167975'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183167975'></span> &#8211; Dependencies after
type-dependency inversion</p>

<p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"_x0000_i1026" type=
=3D"#_x0000_t75"
 style=3D'width:307.5pt;height:293.25pt' o:ole=3D"">
 <v:imagedata src=3D"Tutorial_files/image003.emz" o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img width=3D410 height=3D391
src=3D"Tutorial_files/image004.gif" v:shapes=3D"_x0000_i1026"><![endif]><!-=
-[if gte mso 9]><xml>
 <o:OLEObject Type=3D"Embed" ProgID=3D"Visio.Drawing.11" ShapeID=3D"_x0000_=
i1026"
  DrawAspect=3D"Content" ObjectID=3D"_1257438330">
 </o:OLEObject>
</xml><![endif]--></p>

<p class=3DMsoNormal>The reason why simply inverting the relationship betwe=
en a
client and a server is not sufficient is that the server must still be
instantiated.<span style=3D'mso-spacerun:yes'>&nbsp; </span>Even if you&#82=
17;ve
encapsulated construction of the service, all you&#8217;ve really done, from
the binaries&#8217; perspective, is <i style=3D'mso-bidi-font-style:normal'=
>hide</i>
a reference to a concrete type.<span style=3D'mso-spacerun:yes'>&nbsp;
</span>What you need to do is eradicate that reference altogether.</p>

<h2><a name=3D"_Toc183695764"></a><a name=3D"_Toc183173336"><span style=3D'=
mso-bookmark:
_Toc183695764'>&#8220;Glue&#8221; Assemblies</span></a></h2>

<p class=3DMsoNormal>One option is to move all of the references to concrete
types into a third assembly.<span style=3D'mso-spacerun:yes'>&nbsp; </span>=
This
assembly can be thought of as a &#8220;Bootstrap&#8221; assembly which is
responsible for brokering the connection between a client and a server.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>This is an excellent option when:<=
/p>

<p class=3DMsoListParagraphCxSpFirst style=3D'text-indent:-.25in;mso-list:l=
2 level1 lfo1'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>You want, or at least don&#8217;t mind, comp=
iler
involvement in controlling the relationship between consumer and provider
objects</p>

<p class=3DMsoListParagraphCxSpMiddle style=3D'text-indent:-.25in;mso-list:=
l2 level1 lfo1'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Consumers do not initiate the construction of
new providers (all of the required service providers can be predicted up fr=
ont</p>

<p class=3DMsoListParagraphCxSpLast style=3D'text-indent:-.25in;mso-list:l2=
 level1 lfo1'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Changing service providers is simple or
automatic &#8211; for instance when the difference between one service prov=
ider
and another is merely version and the compiler will maintain references app=
ropriately</p>

<p class=3DMsoNormal>It has weaknesses, though:</p>

<p class=3DMsoListParagraphCxSpFirst style=3D'text-indent:-.25in;mso-list:l=
0 level1 lfo2'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>You have to deploy a new &#8220;glue&#8221;
assembly whenever you roll out a new implementation</p>

<p class=3DMsoListParagraphCxSpMiddle style=3D'text-indent:-.25in;mso-list:=
l0 level1 lfo2'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Dynamism is difficult to effect</p>

<p class=3DMsoListParagraphCxSpMiddle style=3D'text-indent:-.25in;mso-list:=
l0 level1 lfo2'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>It is hard to give the client an opportunity=
 to
instantiate new services</p>

<p class=3DMsoListParagraphCxSpMiddle style=3D'text-indent:-.25in;mso-list:=
l0 level1 lfo2'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>You have to have knowledge of your consumer
&#8211; this is impossible in the case where you are a components vendor un=
less
you have an almost codependent intimacy with your customers</p>

<p class=3DMsoListParagraphCxSpLast style=3D'text-indent:-.25in;mso-list:l0=
 level1 lfo2'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>You must deploy a new &#8220;glue&#8221;
assembly whenever you change the client <i style=3D'mso-bidi-font-style:nor=
mal'>or</i>
the server</p>

<p class=3DMsoCaption>Figure <!--[if supportFields]><span style=3D'mso-elem=
ent:
field-begin'></span><span style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Figur=
e \* ARABIC
<span style=3D'mso-element:field-separator'></span><![endif]--><span
style=3D'mso-no-proof:yes'>3</span><!--[if supportFields]><span style=3D'ms=
o-element:
field-end'></span><![endif]--> &#8211; Using a &#8220;glue&#8221; assembly =
to
invert binary dependencies</p>

<p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"_x0000_i1027" type=
=3D"#_x0000_t75"
 style=3D'width:389.25pt;height:315.75pt' o:ole=3D"">
 <v:imagedata src=3D"Tutorial_files/image005.emz" o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img width=3D519 height=3D421
src=3D"Tutorial_files/image006.gif" v:shapes=3D"_x0000_i1027"><![endif]><!-=
-[if gte mso 9]><xml>
 <o:OLEObject Type=3D"Embed" ProgID=3D"Visio.Drawing.11" ShapeID=3D"_x0000_=
i1027"
  DrawAspect=3D"Content" ObjectID=3D"_1257438331">
 </o:OLEObject>
</xml><![endif]--></p>

<h2><a name=3D"_Toc183695765"></a><a name=3D"_Toc183173337"><span style=3D'=
mso-bookmark:
_Toc183695765'>Using Reflection</span></a></h2>

<p class=3DMsoNormal>A more flexible solution is to use reflection.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Reflection allows you to, among ot=
her
things, dynamically load and instantiate types.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>This makes reflection a powerful t=
ool in
the War on Dependencies.<span style=3D'mso-spacerun:yes'>&nbsp; </span>Ther=
e is
really only one advantage of this type of design: it&#8217;s extremely
flexible.<span style=3D'mso-spacerun:yes'>&nbsp; </span>You don&#8217;t hav=
e to
change any binaries in order to change the type used to provide a service.<=
/p>

<p class=3DMsoNormal>We&#8217;ll list the disadvantages below and then we w=
ill
see how easily they are mitigated:</p>

<p class=3DMsoListParagraphCxSpFirst style=3D'text-indent:-.25in;mso-list:l=
1 level1 lfo3'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>The compiler won&#8217;t check your referenc=
es
for you</p>

<p class=3DMsoListParagraphCxSpLast style=3D'text-indent:-.25in;mso-list:l1=
 level1 lfo3'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>It can be cumbersome to write over and over<=
/p>

<p class=3DMsoNormal>Compiler reference checking is overrated.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>It does a good job of proving that=
 an
interface is properly respected by either a client or a server but it is ju=
st a
hair shy of useless when it comes to proving your software behaves
correctly.<span style=3D'mso-spacerun:yes'>&nbsp; </span>If you are interes=
ted in
this product, you are probably already using TDD anyway, which does a fine =
job
of implicitly checking your assembly references.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>After all: if you&#8217;re not loa=
ding
and instantiating your types correctly, how can any of the tests pass?</p>

<p class=3DMsoNormal>If something is burdensome to write and rewrite, the e=
asiest
solution is to just write it once in a way that will prevent is from having=
 to
write something similar ever again.<span style=3D'mso-spacerun:yes'>&nbsp;
</span>This is the solution we provide with the HexagonSoftware.
Bootstrap.Contracts assembly.<span style=3D'mso-spacerun:yes'>&nbsp; </span=
>As of
now, this is the only solution we provide that doesn&#8217;t span multiple
assemblies.</p>

<h2><a name=3D"_Toc183695766"></a><a name=3D"_Toc183173338"><span style=3D'=
mso-bookmark:
_Toc183695766'>There&#8217;s Always a Catch</span></a></h2>

<p class=3DMsoNormal>There is a small irony surrounding this assembly in th=
at it
is designed to help minimize dependencies between concrete types and, yet, =
in
order to use it you must directly reference its concrete types.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>This has much to do with the way t=
hat Microsoft&#8217;s
configuration framework operates &#8211; it is very heavily
concrete-type-centric.</p>

<p class=3DMsoNormal>We like to think of it as the Las Vegas of software
development: It&#8217;s a focal point for the sin of concrete-type
dependency.<span style=3D'mso-spacerun:yes'>&nbsp; </span>To an extent,
it&#8217;s a necessary evil:<span style=3D'mso-spacerun:yes'>&nbsp; </span>=
Using
reflection to instantiate objects is not a very complex problem, we need a
degree of certainty in the authorship of the code we use, and Microsoft&#82=
17;s
configuration mechanism (the natural choice for writing a configuration-dri=
ven
application) is not up to the challenge of dealing with anything more
sophisticated.</p>

<h1><a name=3D"_Toc183695767">The Key Players</a></h1>

<p class=3DMsoSubtitle>What are the most important parts of the Bootstrappe=
r?</p>

<p class=3DMsoNormal>Minimally, there are four players involved in breaking=
 the
binary dependencies on any given service:</p>

<p class=3DMsoListParagraphCxSpFirst style=3D'text-indent:-.25in;mso-list:l=
3 level1 lfo4'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>The generic Service Locator (a Singleton
provided by us)</p>

<p class=3DMsoListParagraphCxSpMiddle style=3D'text-indent:-.25in;mso-list:=
l3 level1 lfo4'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>A configuration file (sometimes provided by =
you,
sometimes ambient)</p>

<p class=3DMsoListParagraphCxSpMiddle style=3D'text-indent:-.25in;mso-list:=
l3 level1 lfo4'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>The service object provider (which you build=
)</p>

<p class=3DMsoListParagraphCxSpLast style=3D'text-indent:-.25in;mso-list:l3=
 level1 lfo4'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>The service provider (you build this)</p>

<p class=3DMsoNormal>Additionally, it is a best practice to encapsulate all=
 of
this with a fifth entity.<span style=3D'mso-spacerun:yes'>&nbsp; </span>This
simplifies the process of obtaining an object from the consumer&#8217;s
perspective.<span style=3D'mso-spacerun:yes'>&nbsp; </span>We tend to name =
this
object &lt;ContractOfWhatItFinds&gt;Locator.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>So, if you are going to provide an
object that implements the Factory interface, you would call the locator
FactoryLocator.</p>

<h1><a name=3D"_Toc183695768">The Assumptions</a></h1>

<p class=3DMsoSubtitle>What are the basic operating assumptions of the
Bootstrapper?</p>

<p class=3DMsoNormal>It is assumed that a software system has the following
characteristics:</p>

<p class=3DMsoListParagraphCxSpFirst style=3D'text-indent:-.25in;mso-list:l=
4 level1 lfo5'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Only minimal dependencies on concrete types =
that
you want to access via the Bootstrapper</p>

<p class=3DMsoListParagraphCxSpLast style=3D'text-indent:-.25in;mso-list:l4=
 level1 lfo5'><![if !supportLists]><span
style=3D'font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-fa=
mily:
Symbol'><span style=3D'mso-list:Ignore'>&middot;<span style=3D'font:7.0pt "=
Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Abstract types (interfaces or base classes) =
live
in a separate assembly from their implementations</p>

<p class=3DMsoNormal>If you aren&#8217;t doing these things, it is strongly
recommended that you consider them; if you like, you might keep reading jus=
t to
see what kind of benefits you stand to gain from adopting such practices.</=
p>

<h1><a name=3D"_Toc183695769">The Simplest Case</a></h1>

<p class=3DMsoSubtitle>What&#8217;s the shortest path I can take to start u=
sing
the Bootstrapper?</p>

<p class=3DMsoNormal>We&#8217;ll start with the simplest implementation
possible.<span style=3D'mso-spacerun:yes'>&nbsp; </span>In sections to come=
, we
will find ways to make our design more tolerant of variation in our deploym=
ent
and consumption strategies.<span style=3D'mso-spacerun:yes'>&nbsp; </span>F=
or
now, we will assume that you are going to put the service provider in the
Global Assembly Cache and that it is acceptable for consumers to directly
access the generic Service Locator.</p>

<p class=3DMsoNormal>The first thing we will need is, of course, our
service.<span style=3D'mso-spacerun:yes'>&nbsp; </span>We will make a small=
 class
that serves up string messages for different cases.<span
style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183174901 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>1</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100370034003900300031000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
demonstrates how the contract and implementation of this service might be
written.</p>

<p class=3DMsoCaption><a name=3D"_Ref183174896"></a><a name=3D"_Ref18317490=
1"><span
style=3D'mso-bookmark:_Ref183174896'>Listing </span></a><!--[if supportFiel=
ds]><span
style=3D'mso-bookmark:_Ref183174901'><span style=3D'mso-bookmark:_Ref183174=
896'></span></span><span
style=3D'mso-element:field-begin'></span><span style=3D'mso-bookmark:_Ref18=
3174901'><span
style=3D'mso-bookmark:_Ref183174896'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183174901'><span style=3D'mso-bookmark:_Ref183174=
896'><span
style=3D'mso-no-proof:yes'>1</span></span></span><!--[if supportFields]><sp=
an
style=3D'mso-bookmark:_Ref183174901'><span style=3D'mso-bookmark:_Ref183174=
896'></span></span><span
style=3D'mso-element:field-end'></span><![endif]--><span style=3D'mso-bookm=
ark:
_Ref183174901'><span style=3D'mso-bookmark:_Ref183174896'></span></span><sp=
an
style=3D'mso-bookmark:_Ref183174896'> &#8211; A service provider that hands=
 out
strings</span></p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:gree=
n'>//
Contracts.dll<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'>namespace</span><span
style=3D'mso-bidi-font-size:8.0pt'> Contracts<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'>{<o:p></=
o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>pu=
blic</span>
<span style=3D'color:blue'>interface</span> <span style=3D'color:#2B91AF'>S=
tringServer<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>string</span> GetMaximumConnectionsExceeded();<o:p></o=
:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>string</span> GetAccountExpired();<o:p></o:p></span></=
p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'>}<o:p></=
o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:gre=
en'>//
Implementations.dll : Contracts.dll<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'>namespace</span><span
style=3D'mso-bidi-font-size:8.0pt'> Implementations<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'>{<o:p></=
o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>pu=
blic</span>
<span style=3D'color:blue'>class</span> <span style=3D'color:#2B91AF'>Strin=
gServer</span>
: Contracts.<span style=3D'color:#2B91AF'>StringServer<o:p></o:p></span></s=
pan></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>private</span> StringServer() { }<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>static</span>
Contracts.<span style=3D'color:#2B91AF'>StringServer</span> GetInstance()<o=
:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:blue'>new</span> <s=
pan
style=3D'color:#2B91AF'>StringServer</span>();<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>string</span>
GetMaximumConnectionsExceeded()<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:#A31515'>&quot;We c=
annot
accept any more connections.&quot;</span>;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>string</span>
GetAccountExpired()<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:#A31515'>&quot;Our =
records
show that your account has expired.&quot;</span>;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'>}<o:p></o:=
p></span></p>

</div>

<p class=3DMsoNormal>Now that we have a service, we need an Object Construc=
tor
that will provide an instance of it.<span style=3D'mso-spacerun:yes'>&nbsp;
</span>The reason for this will become clear in future sections of this
tutorial.<span style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if supportFiel=
ds]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183175783 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>2</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100370035003700380033000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
shows what this looks like.</p>

<p class=3DMsoCaption><a name=3D"_Ref183175783">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183175783'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183175783'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183175783'><span style=3D'mso-no-proof:yes'>2</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183175783'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183175783'></span> &#8211; An Object Constructor =
of
StringServer</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'color:blue'>namespace</span>
Implementations</p>

<p class=3DCodeCxSpMiddle>{</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbsp;&nbsp; </sp=
an><span
style=3D'color:blue'>using</span> Bootstrap =3D HexagonSoftware.Common.Boot=
strap;</p>

<p class=3DCodeCxSpMiddle><o:p>&nbsp;</o:p></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbsp;&nbsp; </sp=
an><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>class</span> =
<span
style=3D'color:#2B91AF'>StringServerConstructor</span> : Bootstrap.<span
style=3D'color:#2B91AF'>ObjectConstructor<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbsp;&nbsp; </sp=
an>{</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>object</span>
Create(Bootstrap.<span style=3D'color:#2B91AF'>ObjectCreationArguments</spa=
n>
creationArguments)</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>{</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:#2B91AF'>StringServ=
er</span>.GetInstance();</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span>}</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbsp;&nbsp; </sp=
an>}<span
style=3D'color:blue'><o:p></o:p></span></p>

<p class=3DCodeCxSpLast>}</p>

</div>

<p class=3DMsoNormal>Next we will need to register our service with the gen=
eric
Service Locator.<span style=3D'mso-spacerun:yes'>&nbsp; </span>Since this i=
s the
first time we&#8217;ve done this, we will have to both register the Hexagon
Software configuration section.<span style=3D'mso-spacerun:yes'>&nbsp; </sp=
an><!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183178012 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>3</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100370038003000310032000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
shows how to register the Hexagon Software Objects configuration section
group.<span style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if supportFields]=
><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183178044 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>4</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100370038003000340034000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
takes that one step further and registers our service provider.</p>

<p class=3DMsoCaption><a name=3D"_Ref183178012">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183178012'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183178012'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183178012'><span style=3D'mso-no-proof:yes'>3</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183178012'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183178012'></span> &#8211; An example app.config =
that
registers the Hexagon Software Objects configuration section</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>configuration</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt;color:#A31515'>configSections</span><span style=3D'mso-bidi-font-size=
:8.0pt;
color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;<=
/span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>sectionGroup</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><span style=3D'mso-tab-count:=
1'> </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>HexagonSoftware</span>&quot;<span style=3D'color:blue'=
>&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>section</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><span style=3D'mso-tab-count:=
1'>&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>Objects</span>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>type</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>HexagonSoftware.Common.Bootstrap.ObjectRoleDescription=
s, <span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>HexagonSoftware.Common.Bootstrap</span>&quot;<span
style=3D'color:blue'>/&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>sectionGroup</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;/</span><span style=3D'ms=
o-bidi-font-size:
8.0pt;color:#A31515'>configSections</span><span style=3D'mso-bidi-font-size=
:8.0pt;
color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt;color:blue'=
>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>configuration</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;</span></p>

</div>

<p class=3DMsoCaption><a name=3D"_Ref183178044">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183178044'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183178044'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183178044'><span style=3D'mso-no-proof:yes'>4</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183178044'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183178044'></span> &#8211; An example app.config =
that
registers our service provider</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>configuration</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt;color:#A31515'>configSections</span><span style=3D'mso-bidi-font-size=
:8.0pt;
color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;<=
/span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>sectionGroup</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><span style=3D'mso-tab-count:=
1'> </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>HexagonSoftware</span>&quot;<span style=3D'color:blue'=
>&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>section</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><span style=3D'mso-tab-count:=
1'>&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>Objects</span>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>type</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>HexagonSoftware.Common.Bootstrap.ObjectRoleDescription=
s, <span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>HexagonSoftware.Common.Bootstrap</span>&quot;<span
style=3D'color:blue'>/&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>sectionGroup</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;/</span><span style=3D'ms=
o-bidi-font-size:
8.0pt;color:#A31515'>configSections</span><span style=3D'mso-bidi-font-size=
:8.0pt;
color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><o:p>&nbsp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt;color:#A31515'>HexagonSoftware</span><span style=3D'mso-bidi-font-siz=
e:
8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;<=
/span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Objects</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Add</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><span style=3D'mso-tab-count:=
1'>&nbsp;&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>Name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>StringServer</span>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>ConstructorType</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>=3D</span><span style=3D'mso-=
bidi-font-size:
8.0pt'>&quot;<span style=3D'color:blue'><o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>Implementations.StringServerConstructor,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>Implementations,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>Version=3D1.0.0.0,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>Culture=3Dneutral,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>PublicKeyToken=3Dnull</span><span
style=3D'mso-bidi-font-size:8.0pt'> &quot;<span style=3D'color:blue'> /&gt;=
<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Objects</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;/</span><span style=3D'ms=
o-bidi-font-size:
8.0pt;color:#A31515'>HexagonSoftware</span><span style=3D'mso-bidi-font-siz=
e:
8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt;color:blue'=
>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>configuration</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;</span></p>

</div>

<p class=3DMsoNormal>Now we are ready to start consuming the services of
StringServer.<span style=3D'mso-spacerun:yes'>&nbsp; </span>At this point, =
we
have yet to add an encapsulation that hides the involvement of the Bootstrap
assembly so we will have the consumers of our service directly interface wi=
th
the generic Service Locator.</p>

<p class=3DMsoNormal>When a request is made to the Service Locator, asking =
for an
instance of the object Named &#8220;StringServer,&#8221; the Service Lcoator
will create an instance of StringServiceConstructor and ask it to make an
object.<span style=3D'mso-spacerun:yes'>&nbsp; </span>Whatever StringServic=
eConstructor
produces will be returned to the consumer that initiated the request.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>We&#8217;ve intentionally left some
details out, at this juncture, and we&#8217;ll get to them in the near futu=
re
but that&#8217;s how it works in the proverbial &#8220;perfect world.&#8221=
;</p>

<p class=3DMsoNormal>The generic Service Locator is a Singleton.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>You reference it via its only stat=
ic
property: &#8220;Instance.&#8221;<span style=3D'mso-spacerun:yes'>&nbsp;
</span>Once we have a reference to an instance of ServiceLocator, we use the
GetInstanceOfObject method to retrieve an instance of StringServer as
demonstrated by <!--[if supportFields]><span style=3D'mso-element:field-beg=
in'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183188034 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>5</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100380038003000330034000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->.</p>

<p class=3DMsoCaption><a name=3D"_Ref183188034">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183188034'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183188034'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183188034'><span style=3D'mso-no-proof:yes'>5</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183188034'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183188034'></span> &#8211; Using ServiceLocator t=
o find
an instance of an object</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'color:blue'>using</span>
HexagonSoftware.Common.Bootstrap;</p>

<p class=3DCodeCxSpMiddle><o:p>&nbsp;</o:p></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:#2B=
91AF'>StringServer
</span><span style=3D'mso-bidi-font-size:8.0pt'>stringServer =3D</span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt;color:#2B91=
AF'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>ServiceLocator</span><span
style=3D'mso-bidi-font-size:8.0pt'>.Instance.GetInstanceOfObject&lt;<span
style=3D'color:#2B91AF'>StringServer</span>&gt;(<span style=3D'color:#A3151=
5'>&quot;StringServer&quot;</span>);<o:p></o:p></span></p>

</div>

<p class=3DMsoNormal><span style=3D'mso-no-proof:yes'>Note that the
GetInstanceOfObject method is actually a &#8220;generic&#8221; method, mean=
ing
that it&#8217;s a parametricly polymorphic family of methods.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>The type parameter tells the
ServiceLocator the interface to which you expect the resulting object to
perform.<span style=3D'mso-spacerun:yes'>&nbsp; </span>While that provides =
you
with the &#8220;syntactic sugar&#8221; of not having to downcast, as
we&#8217;ll see in later sections, there is more to it than just encapsulat=
ing
a cast.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'mso-no-proof:yes'>We now have an instan=
ce of
StringServer and we did so without having to reference
Implementations.dll.<span style=3D'mso-spacerun:yes'>&nbsp; </span>However,=
 it
can get better.<span style=3D'mso-spacerun:yes'>&nbsp; </span>For instance,=
 we
can hide the Bootstrapping process from our consumers for ease of use and to
make it easy to provide a different solution should the need arise.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>This is what we will do next.<o:p>=
</o:p></span></p>

<h1><a name=3D"_Toc183695770"><span style=3D'mso-no-proof:yes'>Encapsulatin=
g the
Bootstrapping Code</span></a><span style=3D'mso-no-proof:yes'><o:p></o:p></=
span></h1>

<p class=3DMsoSubtitle>How do I make it easy for clients to find my service=
?</p>

<p class=3DMsoNormal>This is a relatively short section.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>It is a best practice to encapsula=
te
anything that might change that includes the methods of construction.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>One could go so far as to say
&#8220;that goes <i style=3D'mso-bidi-font-style:normal'>double</i> for
construction.&#8221;<span style=3D'mso-spacerun:yes'>&nbsp; </span>Even tho=
ugh
the actual construction of the concrete instance has been encapsulated, it =
is
still recommended that you create a static method, somewhere, that hides all
Bootstrap code and any support code.</p>

<p class=3DMsoNormal>Beyond the fact that this will increase encapsulation =
(and
cohesion, for that matter): it also increases readability.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Which is easier to remember or rea=
d: the
code in <!--[if supportFields]><span style=3D'mso-element:field-begin'></sp=
an><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183188034 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>5</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100380038003000330034000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->,
or &#8220;StringServerLocator.GetStringServer()?&#8221;<span
style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183189894 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>6</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100380039003800390034000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
shows how such a utility class might look.<span style=3D'mso-spacerun:yes'>=
&nbsp;
</span>As our example grows to be more sophisticated, you will find that th=
is
seemingly trivial addition to our family of classes will prove indispensabl=
e.</p>

<p class=3DMsoCaption><a name=3D"_Ref183189894">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183189894'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183189894'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183189894'><span style=3D'mso-no-proof:yes'>6</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183189894'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183189894'></span> &#8211; An encapsulation that =
uses
the ServiceLocator to find an instance of StringServer</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'>namespace</span><span
style=3D'mso-bidi-font-size:8.0pt'> Contracts<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'>{<o:p></=
o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>us=
ing</span>
HexagonSoftware.Common.Bootstrap;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>pu=
blic</span>
<span style=3D'color:blue'>static</span> <span style=3D'color:blue'>class</=
span> <span
style=3D'color:#2B91AF'>StringServerLocator<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>static</span>=
 <span
style=3D'color:#2B91AF'>StringServer</span> GetStringServer()<o:p></o:p></s=
pan></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:#2B91AF'>ServiceLoc=
ator</span>.Instance<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>.GetInstanceOfObject&lt;<span
style=3D'color:#2B91AF'>StringServer</span>&gt;(<span style=3D'color:#A3151=
5'>&quot;StringServer&quot;</span>);<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'>}<o:p></o:=
p></span></p>

</div>

<h1><a name=3D"_Toc183695771"><span style=3D'mso-no-proof:yes'>Configurabil=
ity</span></a><span
style=3D'mso-no-proof:yes'><o:p></o:p></span></h1>

<p class=3DMsoSubtitle>Can I make it so that configuration data impacts
construction of my service?</p>

<p class=3DMsoNormal>It is cumbersome to have to vary certain things in
code.<span style=3D'mso-spacerun:yes'>&nbsp; </span>Our string server is a
perfect example.<span style=3D'mso-spacerun:yes'>&nbsp; </span>There&#8217;=
s no
reason why we need to write a new class for each set of strings.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>We definitely want to reserve the =
right
to do so.<span style=3D'mso-spacerun:yes'>&nbsp; </span>For instance: we ma=
y,
some day, want to draw from a resource file.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Nevertheless, there is no reason we
should <i style=3D'mso-bidi-font-style:normal'>have</i> to write a new class
every time we want to change our strings.<span style=3D'mso-spacerun:yes'>&=
nbsp;
</span>&#8230;so, let&#8217;s go ahead and change how that works.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>The Bootstrapper gives us the abil=
ity to
vary data through XML as part of our configuration data.</p>

<p class=3DMsoNormal>This time, we&#8217;ll start with the configuration fi=
le
because we already have a basic understanding of the Bootstrapper&#8217;s
larger moving parts.<span style=3D'mso-spacerun:yes'>&nbsp; </span>The
Bootstrapper&#8217;s configuration schema allows for a free-form XML snippe=
t to
be added to the configuration of any object.<span
style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183190337 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>7</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100390030003300330037000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
shows how we&#8217;ve modified our configuration file to contain the strings
served up by StringServer.</p>

<p class=3DMsoCaption><a name=3D"_Ref183190337">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183190337'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183190337'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183190337'><span style=3D'mso-no-proof:yes'>7</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183190337'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183190337'></span> &#8211; How our configuration =
with
some object-specific data in it</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>configuration</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt;color:#A31515'>configSections</span><span style=3D'mso-bidi-font-size=
:8.0pt;
color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;<=
/span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>sectionGroup</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>HexagonSoftware</span>&quot;<span style=3D'color:blue'=
>&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>section</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>Objects</span>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>type</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan><span
style=3D'color:blue'>HexagonSoftware.Common.Bootstrap.ObjectRoleDescription=
s,<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>HexagonSoftware.Common.Bootstrap</span><span
style=3D'mso-bidi-font-size:8.0pt'>&quot;<span style=3D'color:blue'>/&gt;<o=
:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>sectionGroup</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;/</span><span style=3D'ms=
o-bidi-font-size:
8.0pt;color:#A31515'>configSections</span><span style=3D'mso-bidi-font-size=
:8.0pt;
color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><o:p>&nbsp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt;color:#A31515'>HexagonSoftware</span><span style=3D'mso-bidi-font-siz=
e:
8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;<=
/span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Objects</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Add</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><span style=3D'mso-tab-count:=
1'>&nbsp;&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>Name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>StringServer</span>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>ConstructorType</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>=3D</span><span style=3D'mso-=
bidi-font-size:
8.0pt'>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>Implementations.StringServerConstructor,
<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>Implementations,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>Version=3D1.0.0.0,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Culture=3Dneutral,<o=
:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>PublicKeyToken=3Dnull</span><span
style=3D'mso-bidi-font-size:8.0pt'>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>ConstructorConfiguration</=
span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>MaximumConnectionsExceeded=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt'>The maximum number of connections has been exceeded.<span
style=3D'color:blue'>&lt;/</span><span style=3D'color:#A31515'>MaximumConne=
ctionsExceeded</span><span
style=3D'color:blue'>&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>AccountExpired</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt'>Your account has expired.<span style=3D'color:blue'>&lt;/</span><span
style=3D'color:#A31515'>AccountExpired</span><span style=3D'color:blue'>&gt=
;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>ConstructorConfiguration</=
span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Add</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Objects</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;/</span><span style=3D'ms=
o-bidi-font-size:
8.0pt;color:#A31515'>HexagonSoftware</span><span style=3D'mso-bidi-font-siz=
e:
8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt;color:blue'=
>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>configuration</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

</div>

<p class=3DMsoNormal>The next step is to get our service (StringServer) to
recognize, and vary with, these data.<span style=3D'mso-spacerun:yes'>&nbsp;
</span>We are going to change StringServer so that it accepts the relevant
strings as part of the constructor and then, from that point on, those stri=
ngs
are read-only.</p>

<p class=3DMsoNormal>As a general rule, the first time you change a signatu=
re,
you should refactor that signature to use the Value Object pattern.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>This will encapsulate the signatur=
e of
the method in that object and give you control over how future changes to t=
hat
signature impact your code.<span style=3D'mso-spacerun:yes'>&nbsp; </span>T=
his is
what we will do to StringServer and you can see an example of this change i=
n <!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183193168 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>8</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100390033003100360038000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->.</p>

<p class=3DMsoCaption><a name=3D"_Ref183193168">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183193168'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183193168'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183193168'><span style=3D'mso-no-proof:yes'>8</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183193168'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183193168'></span> &#8211; StringServer with a Va=
lue
Object creation signature</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'>namespace</span><span
style=3D'mso-bidi-font-size:8.0pt'> Implementations<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'>{<o:p></=
o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>pu=
blic</span>
<span style=3D'color:blue'>class</span> <span style=3D'color:#2B91AF'>Strin=
gServer</span>
: Contracts.<span style=3D'color:#2B91AF'>StringServer<o:p></o:p></span></s=
pan></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>internal</span> <span style=3D'color:blue'>class</span=
> <span
style=3D'color:#2B91AF'>ConstructionArguments<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>private</span> <span style=3D'color:blue'>string</span>
_MaximumNumberOfConnectionsExceeded;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>private</span> <span style=3D'color:blue'>string</span>
_AccountExpired;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>private</span> ConstructionArguments() { }<o:p></o:p><=
/span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>string</span>
MaximumNumberOfConnectionsExceeded<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>get</span> { <span style=3D'color:blue'>return</span>
_MaximumNumberOfConnectionsExceeded; }<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>set</span> { _MaximumNumberOfConnectionsExceeded =3D <=
span
style=3D'color:blue'>value</span>; }<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>string</span>
AccountExpired<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>get</span> { <span style=3D'color:blue'>return</span>
_AccountExpired; }<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>set</span> { _AccountExpired =3D <span style=3D'color:=
blue'>value</span>;
}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>static</span>=
 <span
style=3D'color:#2B91AF'>ConstructionArguments</span> GetInstance()<o:p></o:=
p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:blue'>new</span> <s=
pan
style=3D'color:#2B91AF'>ConstructionArguments</span>();<o:p></o:p></span></=
p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>private</span> <span style=3D'color:blue'>readonly</sp=
an> <span
style=3D'color:blue'>string</span> _MaximumNumberOfConnectionsExceeded;<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>private</span> <span style=3D'color:blue'>readonly</sp=
an> <span
style=3D'color:blue'>string</span> _AccountExpired;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>private</span> StringServer(<span style=3D'color:#2B91=
AF'>ConstructionArguments</span>
arguments)<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>_MaximumNumberOfConnectionsExceeded
=3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>arguments.MaximumNumberOfConn=
ectionsExceeded
??<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:#A31515'>&quot;We cannot accept any more connections.&quot;<=
/span>;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>_AccountExpired
=3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>arguments.AccountExpired
??<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:#A31515'>&quot;Our records show that your account has
expired.&quot;</span>;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>internal</span> <span style=3D'color:blue'>static</spa=
n>
Contracts.<span style=3D'color:#2B91AF'>StringServer</span> GetInstance(<sp=
an
style=3D'color:#2B91AF'>ConstructionArguments</span> arguments)<o:p></o:p><=
/span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:blue'>new</span> <s=
pan
style=3D'color:#2B91AF'>StringServer</span>(arguments);<o:p></o:p></span></=
p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>string</span>
GetMaximumConnectionsExceeded()<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> _MaximumNumberOfConnectionsExceeded;<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>string</span>
GetAccountExpired()<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> _AccountExpired;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'>}<o:p></o:=
p></span></p>

</div>

<p class=3DMsoNormal>At this point, StringServer will accept data that driv=
e it
to vary the messages it will yield.<span style=3D'mso-spacerun:yes'>&nbsp;
</span>However, our program no longer compiles, because our Object Construc=
tor
does not supply an instance of ConstructionArguments to StringServer.<span
style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183193336 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>9</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100390033003300330036000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
shows how we do this.</p>

<p class=3DMsoCaption><a name=3D"_Ref183193336">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183193336'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183193336'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183193336'><span style=3D'mso-no-proof:yes'>9</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183193336'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183193336'></span> &#8211; StringServerConstructor
after being upgraded to respect static configuration data</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'>namespace</span><span
style=3D'mso-bidi-font-size:8.0pt'> Implementations<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'>{<o:p></=
o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>us=
ing</span>
Bootstrap =3D HexagonSoftware.Common.Bootstrap;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>pu=
blic</span>
<span style=3D'color:blue'>class</span> <span style=3D'color:#2B91AF'>Strin=
gServerConstructor</span>
: Bootstrap.<span style=3D'color:#2B91AF'>ObjectConstructor<o:p></o:p></spa=
n></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>object</span>
Create(Bootstrap.<span style=3D'color:#2B91AF'>ObjectCreationArguments</spa=
n>
creationArguments)<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:#2B91AF'>StringServer</span>.<span style=3D'color:#2B91AF'>C=
onstructionArguments</span>
arguments =3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:#2B91AF'>StringServer</span>.<span style=3D'color:#2B91AF'>C=
onstructionArguments</span>.GetInstance();<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>arguments.MaximumNumberOfConnectionsExceeded
=3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetMessage(creationArguments.StaticArg=
uments,
<span style=3D'color:#A31515'>&quot;MaximumConnectionsExceeded&quot;</span>=
);<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>arguments.AccountExpired
=3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetMessage(creationArguments.StaticArg=
uments,
<span style=3D'color:#A31515'>&quot;AccountExpired&quot;</span>);<o:p></o:p=
></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:#2B91AF'>StringServ=
er</span>.GetInstance(arguments);<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>private</span> <span style=3D'color:blue'>string</span>
GetMessage(System.Xml.<span style=3D'color:#2B91AF'>XmlElement</span> eleme=
nt, <span
style=3D'color:blue'>string</span> messageName)<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>try<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>return</span> element.SelectSingleNode(<span
style=3D'color:#A31515'>&quot;./&quot;</span> + messageName).InnerText;<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>catch</span> (<span style=3D'color:#2B91AF'>NullRefere=
nceException</span>)<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:blue'>null</span>;<=
o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'>}<o:p></o:=
p></span></p>

</div>

<p class=3DMsoNormal>Now our service is sensitive to static configuration
data.<span style=3D'mso-spacerun:yes'>&nbsp; </span>If you make a change to=
 the
dictionary of strings in your app.config and restart your application,
StringServer will start serving up different strings.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>This is a significant improvement =
over
what we had.<span style=3D'mso-spacerun:yes'>&nbsp; </span>If our applicati=
on
were a web server, a systems administrator could quickly change a message
without exposing the application to significant risk.</p>

<p class=3DMsoNormal>Yet, we can do better still.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>What if we wanted the ability to s=
tore
multiple profiles and bind an instance of StringServer, upon creation, to o=
ne
of those profiles?<span style=3D'mso-spacerun:yes'>&nbsp; </span>Of course,=
 we
could just create a new object description for each profile and use some
name-mangling scheme to find them but that is unsavory for many reasons.<sp=
an
style=3D'mso-spacerun:yes'>&nbsp; </span>One such reason is duplication.<sp=
an
style=3D'mso-spacerun:yes'>&nbsp; </span>While the XML blurb for an object =
role
is fairly small, now, we will soon see how it can balloon.</p>

<p class=3DMsoNormal>It is best to find a way to create one role and allow a
certain degree of runtime parameterization&#8230;</p>

<h1><a name=3D"_Toc183695772">Runtime Parameterization</a></h1>

<p class=3DMsoSubtitle>Can I vary my services by arguments passed in at run=
time?</p>

<p class=3DMsoNormal>We&#8217;ve come far from &#8220;new StringServer()&#8=
221;
and the changes we&#8217;ve made have introduced a lot of flexibility into =
our
application.<span style=3D'mso-spacerun:yes'>&nbsp; </span>There&#8217;s mo=
re to
be done, though.<span style=3D'mso-spacerun:yes'>&nbsp; </span>One of the <a
href=3D"http://www.poppendieck.com/">Lean</a> principles is &#8220;defer
commitment.&#8221;<span style=3D'mso-spacerun:yes'>&nbsp; </span>In that sp=
irit,
we are going to refactor StringServer et al to accept a parameter at the mo=
ment
of instantiation (which is fairly late, when compared to &#8220;at compile
time&#8221; or &#8220;at test time&#8221;) that allows us to bind a
StringServer object to a &#8220;profile.&#8221;<span
style=3D'mso-spacerun:yes'>&nbsp; </span>The set of profiles might consist =
of
localized strings, strings specialized for different classes of customer
(imagine a rule such as &#8220;Our Gold customers may call the 800 support
number 24x7&#8221;), the Cartesian product of the previous two examples, or
anything else along those lines.</p>

<p class=3DMsoNormal>Since configuration is, again, at the heart of this ch=
ange
we will start by changing our configuration file.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Please refer to <!--[if supportFie=
lds]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183195934 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>10</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100390035003900330034000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
for an example of the updated configuration file.</p>

<p class=3DMsoCaption><a name=3D"_Ref183195934">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183195934'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183195934'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183195934'><span style=3D'mso-no-proof:yes'>10</s=
pan></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183195934'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183195934'></span> &#8211; A configuration file w=
ith a
parameterized definition of the StringServer object</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>configuration</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt;color:#A31515'>configSections</span><span style=3D'mso-bidi-font-size=
:8.0pt;
color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;<=
/span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>sectionGroup</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><span style=3D'mso-tab-count:=
1'> </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>HexagonSoftware</span>&quot;<span style=3D'color:blue'=
>&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>section</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><span style=3D'mso-tab-count:=
1'>&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>Objects</span>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>type</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span><span
style=3D'color:blue'>HexagonSoftware.Common.Bootstrap.ObjectRoleDescription=
s,<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>HexagonSoftware.Common.Bootstrap</span><span
style=3D'mso-bidi-font-size:8.0pt'>&quot;<span style=3D'color:blue'>/&gt;<o=
:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>sectionGroup</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;/</span><span style=3D'ms=
o-bidi-font-size:
8.0pt;color:#A31515'>configSections</span><span style=3D'mso-bidi-font-size=
:8.0pt;
color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><o:p>&nbsp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt;color:#A31515'>HexagonSoftware</span><span style=3D'mso-bidi-font-siz=
e:
8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;<=
/span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Objects</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Add</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'><span style=3D'mso-tab-count:=
1'>&nbsp;&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>Name</span><span style=3D'mso-=
bidi-font-size:
8.0pt;color:blue'>=3D</span><span style=3D'mso-bidi-font-size:8.0pt'>&quot;=
<span
style=3D'color:blue'>StringServer</span>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>ConstructorType</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>=3D</span><span style=3D'mso-=
bidi-font-size:
8.0pt'>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>Implementations.StringServerConstructor,
<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>Implementations,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>Version=3D1.0.0.0,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>Culture=3Dneutral,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>PublicKeyToken=3Dnull</span><span
style=3D'mso-bidi-font-size:8.0pt'>&quot;<span style=3D'color:blue'>&gt;</s=
pan><o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>ConstructorConfiguration</=
span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Profile</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'> </span><span style=3D'mso-bi=
di-font-size:
8.0pt;color:red'>name</span><span style=3D'mso-bidi-font-size:8.0pt;color:b=
lue'>=3D</span><span
style=3D'mso-bidi-font-size:8.0pt'>&quot;<span style=3D'color:blue'>en-US</=
span>&quot;<span
style=3D'color:blue'>&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>MaximumConnectionsExceeded=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt'>The maximum number of connections has been exceeded.<span
style=3D'color:blue'>&lt;/</span><span style=3D'color:#A31515'>MaximumConne=
ctionsExceeded</span><span
style=3D'color:blue'>&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>AccountExpired</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt'>Your account has expired!<span style=3D'color:blue'>&lt;/</span><span
style=3D'color:#A31515'>AccountExpired</span><span style=3D'color:blue'>&gt=
;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Profile</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Profile</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'> </span><span style=3D'mso-bi=
di-font-size:
8.0pt;color:red'>name</span><span style=3D'mso-bidi-font-size:8.0pt;color:b=
lue'>=3D</span><span
style=3D'mso-bidi-font-size:8.0pt'>&quot;<span style=3D'color:blue'>fr-FR</=
span>&quot;<span
style=3D'color:blue'>&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>MaximumConnectionsExceeded=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt'>Le nombre maximum des raccordements a &eacute;t&eacute;
exc&eacute;d&eacute;.<span style=3D'color:blue'>&lt;/</span><span
style=3D'color:#A31515'>MaximumConnectionsExceeded</span><span style=3D'col=
or:blue'>&gt;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>AccountExpired</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt'>Votre compte a expir&eacute;.<span style=3D'color:blue'>&lt;/</span>=
<span
style=3D'color:#A31515'>AccountExpired</span><span style=3D'color:blue'>&gt=
;<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Profile</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>ConstructorConfiguration</=
span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Add</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/=
</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Objects</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>&lt;/</span><span style=3D'ms=
o-bidi-font-size:
8.0pt;color:#A31515'>HexagonSoftware</span><span style=3D'mso-bidi-font-siz=
e:
8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt;color:blue'=
>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>configuration</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

</div>

<p class=3DMsoNormal>We also need to add an overload of our GetStringServer
method that accepts the profile name.<span style=3D'mso-spacerun:yes'>&nbsp;
</span>Once we have the profile name specified, we also need to communicate=
 it
to StringServerConstructor and StringServer.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>We do this by passing it in as an
argument to ServiceLocator&#8217;s GetInstanceOfObject method.<span
style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183196162 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>11</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100390036003100360032000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
shows what the StringServerLocator class looks like when we are done.</p>

<p class=3DMsoCaption><a name=3D"_Ref183196162">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183196162'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183196162'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183196162'><span style=3D'mso-no-proof:yes'>11</s=
pan></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183196162'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183196162'></span> &#8211; A parameterized
encapsulation of the Bootstrapper</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'>namespace</span><span
style=3D'mso-bidi-font-size:8.0pt'> Contracts<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'>{<o:p></=
o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>us=
ing</span>
HexagonSoftware.Common.Bootstrap;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>pu=
blic</span>
<span style=3D'color:blue'>static</span> <span style=3D'color:blue'>class</=
span> <span
style=3D'color:#2B91AF'>StringServerLocator<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>static</span>=
 <span
style=3D'color:#2B91AF'>StringServer</span> GetStringServer()<o:p></o:p></s=
pan></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:green'>// Ethnocentric... we know...<o:p></o:p></span></span=
></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> GetStringServer(<span style=3D'color:#A3=
1515'>&quot;en-US&quot;</span>);<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>static</span>=
 <span
style=3D'color:#2B91AF'>StringServer</span> GetStringServer(<span
style=3D'color:blue'>string</span> profileName)<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:#2B91AF'>ServiceLoc=
ator</span>.Instance<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>.GetInstanceOfObject&lt;<span
style=3D'color:#2B91AF'>StringServer</span>&gt;(<span style=3D'color:#A3151=
5'>&quot;StringServer&quot;</span>,
profileName);<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'>}</span></=
p>

</div>

<p class=3DMsoNormal>StringServerConstructor still doesn&#8217;t know what =
to do
with the profile name, so we will have to make a few changes there.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>We replace our use of ObjectCreati=
onArguments.StaticArguments
with the selection and consumption of a subnode.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Please see <!--[if supportFields]>=
<span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183196480 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>12</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100390036003400380030000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
for an example of the change we made.</p>

<p class=3DMsoCaption><a name=3D"_Ref183196480">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183196480'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183196480'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183196480'><span style=3D'mso-no-proof:yes'>12</s=
pan></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183196480'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183196480'></span> &#8211; A
&#8220;profile-sensitive&#8221; StringServerConstructor</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'>namespace</span><span
style=3D'mso-bidi-font-size:8.0pt'> Implementations<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'>{<o:p></=
o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>us=
ing</span>
Bootstrap =3D HexagonSoftware.Common.Bootstrap;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>pu=
blic</span>
<span style=3D'color:blue'>class</span> <span style=3D'color:#2B91AF'>Strin=
gServerConstructor</span>
: Bootstrap.<span style=3D'color:#2B91AF'>ObjectConstructor<o:p></o:p></spa=
n></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>object</span>
Create(Bootstrap.<span style=3D'color:#2B91AF'>ObjectCreationArguments</spa=
n>
creationArguments)<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>string</span> profileName =3D
creationArguments.DynamicArguments[0].ToString();<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:#2B91AF'>StringServer</span>.<span style=3D'color:#2B91AF'>C=
onstructionArguments</span>
arguments =3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:#2B91AF'>StringServer</span>.<span style=3D'color:#2B91AF'>C=
onstructionArguments</span>.GetInstance();<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>System.Xml.<span
style=3D'color:#2B91AF'>XmlElement</span> element =3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(System.Xml.<span
style=3D'color:#2B91AF'>XmlElement</span>)creationArguments.StaticArguments=
<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>.SelectSingleNode(<s=
pan
style=3D'color:#A31515'>&quot;./Profile[@name=3D'&quot;</span> + profileNam=
e + <span
style=3D'color:#A31515'>&quot;']&quot;</span>);<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>arguments.MaximumNumberOfConnectionsExceeded
=3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetMessage(element,
<span style=3D'color:#A31515'>&quot;MaximumConnectionsExceeded&quot;</span>=
);<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>arguments.AccountExpired
=3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetMessage(element,
<span style=3D'color:#A31515'>&quot;AccountExpired&quot;</span>);<o:p></o:p=
></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:#2B91AF'>StringServ=
er</span>.GetInstance(arguments);<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>private</span> <span style=3D'color:blue'>string</span>
GetMessage(System.Xml.<span style=3D'color:#2B91AF'>XmlElement</span> eleme=
nt, <span
style=3D'color:blue'>string</span> messageName)<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>try<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>return</span> element.SelectSingleNode(<span
style=3D'color:#A31515'>&quot;./&quot;</span> + messageName).InnerText;<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'mso-tab-count:=
2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>catch</span> (<span style=3D'color:#2B91AF'>NullRefere=
nceException</span>)<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>return</span> <span style=3D'color:blue'>null</span>;<=
o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'>}<o:p></o:=
p></span></p>

</div>

<p class=3DMsoNormal>Now we are &#8220;profile sensitive.&#8221;<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Our StringServer instances can be =
bound
to profiles, which are defined statically but selected dynamically.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Old consumers that can still use t=
he
en-US<span style=3D'mso-spacerun:yes'>&nbsp; </span>profile need to change.=
<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Existing consumers which are requi=
red to
become profile sensitive can switch over to the appropriate overload of
StringServerLocator.GetStringServer(&#8230;).<span
style=3D'mso-spacerun:yes'>&nbsp; </span>New consumers should probably be
directed to the newer overload.</p>

<h1><a name=3D"_Toc183695773">Backward Compatibility</a></h1>

<p class=3DMsoSubtitle>What happens when I roll out a new contract for my
service?</p>

<p class=3DMsoNormal>So we have a robust string server in production and a =
number
of clients have grown to depend upon it.<span style=3D'mso-spacerun:yes'>&n=
bsp;
</span>The clients are on different release schedules but they all share on
server.<span style=3D'mso-spacerun:yes'>&nbsp; </span>We&#8217;ve chosen to
deploy our StringServer to the GAC and register it at the machine level (in
machine.config).<span style=3D'mso-spacerun:yes'>&nbsp; </span>Things have =
been
running smoothly except that, now, some of our clients need another string:
they need to tell their customers when their servers have been taken down f=
or
maintenance.</p>

<p class=3DMsoNormal>It&#8217;s an easy feature to add: you just extend the
interface with another method.<span style=3D'mso-spacerun:yes'>&nbsp; </spa=
n>This
does introduce a problem for us, though:<span style=3D'mso-spacerun:yes'>&n=
bsp;
</span>How do we release the new, extended interface without breaking clien=
ts
that have a binary dependency on our old interface?</p>

<p class=3DMsoNormal>It would be disruptive and unnatural to try and force a
massive upgrade across all of our clients.<span style=3D'mso-spacerun:yes'>=
&nbsp;
</span>Everyone would have to synchronize their release schedules.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>If one of the clients was late, al=
l of
the others would have to wait.<span style=3D'mso-spacerun:yes'>&nbsp; </spa=
n>In
the mean time, those other clients would probably be trying to sneak featur=
es
into their products which would increase the risk of further delays.</p>

<p class=3DMsoNormal>Assembly binding redirection is another option.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>In this extremely narrow case, it =
will
work.<span style=3D'mso-spacerun:yes'>&nbsp; </span>Generally, assembly bin=
ding
redirection is a poor route to take.<span style=3D'mso-spacerun:yes'>&nbsp;
</span>It blurs the lines between one version of an interface and another (=
see <!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183266418 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Figure <span
style=3D'mso-no-proof:yes'>4</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003200360036003400310038000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->).<span
style=3D'mso-spacerun:yes'>&nbsp; </span>This means that it erodes cohesion=
 in
your code base by making implementers of an interface <i style=3D'mso-bidi-=
font-style:
normal'>both</i> play the role they were intended to fulfill <i
style=3D'mso-bidi-font-style:normal'>and</i> pretend to be adapters to the =
old
interface.</p>

<p class=3DMsoCaption><a name=3D"_Ref183266418">Figure </a><!--[if supportF=
ields]><span
style=3D'mso-bookmark:_Ref183266418'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183266418'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Figure \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183266418'><span style=3D'mso-no-proof:yes'>4</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183266418'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183266418'></span> &#8211; Assembly binding leads=
 to expectations
which, ultimately, spin out of control</p>

<p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"_x0000_i1028" type=
=3D"#_x0000_t75"
 style=3D'width:210.75pt;height:189.75pt' o:ole=3D"">
 <v:imagedata src=3D"Tutorial_files/image007.emz" o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D281 height=3D253
src=3D"Tutorial_files/image008.gif" v:shapes=3D"_x0000_i1028"><![endif]><!-=
-[if gte mso 9]><xml>
 <o:OLEObject Type=3D"Embed" ProgID=3D"Visio.Drawing.11" ShapeID=3D"_x0000_=
i1028"
  DrawAspect=3D"Content" ObjectID=3D"_1257438333">
 </o:OLEObject>
</xml><![endif]--></p>

<p class=3DMsoNormal>The best option that we know of, at Hexagon Software, =
is to
use the <a href=3D"http://www.netobjectivesrepository.com/TheAdapterPattern=
">Adapter
Pattern</a> to make objects which implement a new interface consumable by o=
lder
clients.<span style=3D'mso-spacerun:yes'>&nbsp; </span>If you are careful to
couple your adapters to the new and old interfaces, rather than to the new
service and the old interface, you will be able to create a chain of adapte=
rs
that persist for as long as possible.<span style=3D'mso-spacerun:yes'>&nbsp;
</span>This creates a flow (depicted in <!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183268214 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Figure <span
style=3D'mso-no-proof:yes'>5</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003200360038003200310034000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->)
which is permissive not only of interface <i style=3D'mso-bidi-font-style:n=
ormal'>extensions</i>,
but also of refinements.</p>

<p class=3DMsoCaption><a name=3D"_Ref183268214">Figure </a><!--[if supportF=
ields]><span
style=3D'mso-bookmark:_Ref183268214'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183268214'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Figure \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183268214'><span style=3D'mso-no-proof:yes'>5</sp=
an></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183268214'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183268214'></span> &#8211; How adapting to old
interfaces creates a flow</p>

<p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"_x0000_i1029" type=
=3D"#_x0000_t75"
 style=3D'width:387.75pt;height:270pt' o:ole=3D"">
 <v:imagedata src=3D"Tutorial_files/image009.emz" o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D517 height=3D360
src=3D"Tutorial_files/image010.gif" v:shapes=3D"_x0000_i1029"><![endif]><!-=
-[if gte mso 9]><xml>
 <o:OLEObject Type=3D"Embed" ProgID=3D"Visio.Drawing.11" ShapeID=3D"_x0000_=
i1029"
  DrawAspect=3D"Content" ObjectID=3D"_1257438334">
 </o:OLEObject>
</xml><![endif]--><span style=3D'mso-spacerun:yes'>&nbsp;</span></p>

<p class=3DMsoNormal>The ability to make refinements is important because, =
as you
learn more and develop a more sophisticated set of contracts between client=
 and
server, you don&#8217;t want to be saddled with an interface that embodies =
the
ignorance of our past.<span style=3D'mso-spacerun:yes'>&nbsp; </span>Here&#=
8217;s
an example: What if you find that a method is no longer necessary?<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Perhaps, you&#8217;ve got another =
method
that does the same thing and only 3% of your clientele are coupled to the
method slated for obsolescence.</p>

<p class=3DMsoNormal>It&#8217;s probably easy to write an adapter that maps=
 the
old method to the new one.<span style=3D'mso-spacerun:yes'>&nbsp; </span>On=
ce you
do so, you are then free to blast the less correct method from your publish=
ed
interfaces.<span style=3D'mso-spacerun:yes'>&nbsp; </span>This is because c=
lients
coupled to the old interface don&#8217;t have to change, even if they upgra=
de
to a newer version of your service, because they know your service will res=
pect
the interface to which they are coupled.<span style=3D'mso-spacerun:yes'>&n=
bsp;
</span>Likewise, your service doesn&#8217;t have to respect the old interfa=
ce
because it knows there is an adapter that does that.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>If it changes interfaces, in the f=
uture,
another adapter should be written.<span style=3D'mso-spacerun:yes'>&nbsp;
</span>In this way, your service can feel free to evolve: constantly sheddi=
ng
old interfaces and growing into new ones, leaving behind adapters like the =
molted
skins of a snake.</p>

<h3><a name=3D"_Toc183695774">Using Bootstrapping to Support Multiple Inter=
faces</a></h3>

<p class=3DMsoNormal>Our circumstances prohibit writing a repeatable test s=
uite
that uses multiple versions of an interface with, otherwise, the same
identity.<span style=3D'mso-spacerun:yes'>&nbsp; </span>We will simulate th=
is,
instead, by putting interfaces with the same friendly name (namespace + type
name) in separate assemblies.<span style=3D'mso-spacerun:yes'>&nbsp; </span=
>So,
instead of having a Contracts.dll that represents version 1.0.0.0 and one t=
hat
represents version 2.0.0.0, we will have a Contracts.dll &#8211; which has =
the
version 1.0.0.0 &#8211; and a Contracts.2.dll &#8211; which has the version
2.0.0.0.<span style=3D'mso-spacerun:yes'>&nbsp; </span>Supporting interface=
s from
completely different assemblies is a superset of supporting interfaces from=
 two
assemblies that differ only by version and content, so this will not dimini=
sh
the potency of our example.</p>

<p class=3DMsoNormal>Since a change in interface is at the heart of the mat=
ter,
here, we will start with the new interface.<span
style=3D'mso-spacerun:yes'>&nbsp; </span><!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183270955 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>13</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003200370030003900350035000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
shows what the new interface looks like.<span style=3D'mso-spacerun:yes'>&n=
bsp;
</span>StringServerLocator does not change (see <!--[if supportFields]><span
style=3D'mso-element:field-begin'></span><span
style=3D'mso-spacerun:yes'>&nbsp;</span>REF _Ref183196162 \h <span
style=3D'mso-element:field-separator'></span><![endif]-->Listing <span
style=3D'mso-no-proof:yes'>11</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003100390036003100360032000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->
for a refresher), except that it exists in Contracts.2.dll, instead of
Contracts.dll.</p>

<p class=3DMsoCaption><a name=3D"_Ref183270949"></a><a name=3D"_Ref18327095=
5"><span
style=3D'mso-bookmark:_Ref183270949'>Listing </span></a><!--[if supportFiel=
ds]><span
style=3D'mso-bookmark:_Ref183270955'><span style=3D'mso-bookmark:_Ref183270=
949'></span></span><span
style=3D'mso-element:field-begin'></span><span style=3D'mso-bookmark:_Ref18=
3270955'><span
style=3D'mso-bookmark:_Ref183270949'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183270955'><span style=3D'mso-bookmark:_Ref183270=
949'><span
style=3D'mso-no-proof:yes'>13</span></span></span><!--[if supportFields]><s=
pan
style=3D'mso-bookmark:_Ref183270955'><span style=3D'mso-bookmark:_Ref183270=
949'></span></span><span
style=3D'mso-element:field-end'></span><![endif]--><span style=3D'mso-bookm=
ark:
_Ref183270955'><span style=3D'mso-bookmark:_Ref183270949'></span></span><sp=
an
style=3D'mso-bookmark:_Ref183270949'> &#8211; V2 of the StringServer interf=
ace</span></p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'color:green'>// Contracts.2.dll<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'color:blue'>namespace</span> Contr=
acts</p>

<p class=3DCodeCxSpMiddle>{</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbsp;&nbsp; </sp=
an><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>interface</sp=
an> <span
style=3D'color:#2B91AF'>StringServer<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbsp;&nbsp; </sp=
an>{</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>string</span> GetMaximumConnectionsExceeded();</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>string</span> GetAccountExpired();</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>string</span> GetUnderMaintenance();</p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbsp;&nbsp; </sp=
an>}</p>

<p class=3DCodeCxSpLast>}</p>

</div>

<p class=3DMsoNormal>An upgrading to support the new string goes much as you
would expect.<span style=3D'mso-spacerun:yes'>&nbsp; </span>We add a new
implementation method to our implementation of StringServer in
Implementations.2.dll (<!--[if supportFields]><span style=3D'mso-element:fi=
eld-begin'></span>
REF _Ref183271312 \h <span style=3D'mso-element:field-separator'></span><![=
endif]-->Listing
<span style=3D'mso-no-proof:yes'>14</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003200370031003300310032000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->).<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Then, we add support for that stri=
ng to
our StringServerConstructor (<!--[if supportFields]><span style=3D'mso-elem=
ent:
field-begin'></span> REF _Ref183271321 \h <span style=3D'mso-element:field-=
separator'></span><![endif]-->Listing
<span style=3D'mso-no-proof:yes'>15</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003200370031003300320031000000</w:data>
</xml><![endif]--><!--[if supportFields]><span style=3D'mso-element:field-e=
nd'></span><![endif]-->).</p>

<p class=3DMsoCaption><a name=3D"_Ref183271312">Listing </a><!--[if support=
Fields]><span
style=3D'mso-bookmark:_Ref183271312'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183271312'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183271312'><span style=3D'mso-no-proof:yes'>14</s=
pan></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183271312'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183271312'></span> &#8211; V2 of the StringServer
implementation</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:gree=
n'>//
Implementations.2.dll<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'>namespace</span><span
style=3D'mso-bidi-font-size:8.0pt'> Implementations<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'>{<o:p></=
o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span><span style=3D'color:blue'>pu=
blic</span>
<span style=3D'color:blue'>class</span> <span style=3D'color:#2B91AF'>Strin=
gServer</span>
: Contracts.<span style=3D'color:#2B91AF'>StringServer<o:p></o:p></span></s=
pan></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>internal</span> <span style=3D'color:blue'>class</span=
> <span
style=3D'color:#2B91AF'>ConstructionArguments<o:p></o:p></span></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-tab-count:3'>&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <=
/span>private
string _MaximumNumberOfConnectionsExceeded;</p>

<p class=3DDe-EmphasizedCodeCxSpLast><span style=3D'mso-tab-count:3'>&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </=
span>private
string _AccountExpired;</p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>private</span> <span style=3D'color:blue'>string</span>
_UnderMaintenance;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>private</span> ConstructionArguments() { }<o:p></o:p><=
/span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt;color:gray;
mso-themecolor:background1;mso-themeshade:128'><o:p>&nbsp;</o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-tab-count:3'>&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <=
/span>public
string MaximumNumberOfConnectionsExceeded</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>{</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:4'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>get
{ return _MaximumNumberOfConnectionsExceeded; }</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:4'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>set
{ _MaximumNumberOfConnectionsExceeded =3D value; }</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>}</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><o:p>&nbsp;</o:p></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>public
string AccountExpired</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>{</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:4'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>get
{ return _AccountExpired; }</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:4'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>set
{ _AccountExpired =3D value; }</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>}</p>

<p class=3DDe-EmphasizedCodeCxSpLast><o:p>&nbsp;</o:p></p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>string</span>
UnderMaintenance<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>{<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>get</span> { <span style=3D'color:blue'>return</span>
_UnderMaintenance; }<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>set</span> { _UnderMaintenance =3D <span style=3D'colo=
r:blue'>value</span>;
}<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nbsp=
;</o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-tab-count:3'>&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <=
/span>public
static ConstructionArguments GetInstance()</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>{</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:4'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return
new ConstructionArguments();</p>

<p class=3DDe-EmphasizedCodeCxSpLast><span style=3D'mso-tab-count:3'>&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </=
span>}</p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nbsp=
;</o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-tab-count:2'>&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>private
readonly string _MaximumNumberOfConnectionsExceeded;</p>

<p class=3DDe-EmphasizedCodeCxSpLast><span style=3D'mso-tab-count:2'>&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>private
readonly string _AccountExpired;</p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>private</span> <span style=3D'color:blue'>readonly</sp=
an> <span
style=3D'color:blue'>string</span> _UnderMaintenance;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nb=
sp;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>private</span> StringServer(<span style=3D'color:#2B91=
AF'>ConstructionArguments</span>
arguments)<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-tab-count:3'>&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <=
/span>_MaximumNumberOfConnectionsExceeded
=3D</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:4'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>arguments.MaximumNumberOfConnectionsEx=
ceeded
??</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:4'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&quot;We
cannot accept any more connections.&quot;;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><o:p>&nbsp;</o:p></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>_AccountExpired
=3D</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:4'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>arguments.AccountExpired
??</p>

<p class=3DDe-EmphasizedCodeCxSpLast><span style=3D'mso-tab-count:4'>&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&quot;Our
records show that your account has expired.&quot;;</p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nbs=
p;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>_UnderMaintenance
=3D<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>arguments.UnderMaintenance
??<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:#A31515'>&quot;Under maintenance.&quot;</span>;<o:p></o:p></=
span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nbsp=
;</o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-tab-count:2'>&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>internal
static Contracts.StringServer GetInstance(ConstructionArguments arguments)<=
/p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>return
new StringServer(arguments);</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><o:p>&nbsp;</o:p></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>public
string GetMaximumConnectionsExceeded()</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>return
_MaximumNumberOfConnectionsExceeded;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><o:p>&nbsp;</o:p></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>public
string GetAccountExpired()</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>return
_AccountExpired;</p>

<p class=3DDe-EmphasizedCodeCxSpLast><span style=3D'mso-tab-count:2'>&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt'><o:p>&nbs=
p;</o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>string</span>
GetUnderMaintenance()<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'color:blue'>return</span> _UnderMaintenance;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p=
></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt'><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp; </span>}<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt'>}</span></=
p>

</div>

<p class=3DMsoNormal><a name=3D"_Ref183271321"><o:p>&nbsp;</o:p></a></p>

<p class=3DMsoCaption><span style=3D'mso-bookmark:_Ref183271321'>Listing </=
span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183271321'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183271321'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183271321'><span style=3D'mso-no-proof:yes'>15</s=
pan></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183271321'></span><span style=3D'mso-element:fiel=
d-end'></span><![endif]--><span
style=3D'mso-bookmark:_Ref183271321'></span> &#8211; V2 of
StringServerConstructor</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DCodeCxSpFirst><a name=3D"_Ref183271329"><span style=3D'mso-bidi-=
font-size:
8.0pt;color:green'>// Implementations.2.dll<o:p></o:p></span></a></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>namespace</span></span><span
style=3D'mso-bookmark:_Ref183271329'><span style=3D'mso-bidi-font-size:8.0p=
t'>
Implementations<o:p></o:p></span></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'>{<o:p></o:p></span></span></p>

<p class=3DDe-EmphasizedCode><span style=3D'mso-bookmark:_Ref183271329'><sp=
an
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp; </span>using Bootstrap =
=3D
HexagonSoftware.Common.Bootstrap;</span></p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><o:p>&nbsp;</o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><span style=3D'mso-tab-count:1'>&nbsp;&n=
bsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>class</span> =
<span
style=3D'color:#2B91AF'>StringServerConstructor</span> : Bootstrap.<span
style=3D'color:#2B91AF'>ObjectConstructor<o:p></o:p></span></span></span></=
p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><span style=3D'mso-tab-count:1'>&nbsp;&n=
bsp; </span>{<o:p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><span style=3D'mso-tab-count:2'>&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'color:blue'>public</span> <span style=3D'color:blue'>object</span>
Create(Bootstrap.<span style=3D'color:#2B91AF'>ObjectCreationArguments</spa=
n>
creationArguments)<o:p></o:p></span></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><span style=3D'mso-tab-count:2'>&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-bookmark:_Ref18327=
1329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>string
profileName =3D creationArguments.DynamicArguments[0].ToString();</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><o:p>&nbsp;</o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>StringServer.ConstructionArguments
arguments =3D</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>StringSe=
rver.ConstructionArguments.GetInstance();</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><o:p>&nbsp;</o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>XmlElement
element =3D</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>(XmlElem=
ent)creationArguments.StaticArguments</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>.SelectSingleNode(&quot;./Profile[@name=3D'&quot;
+ profileName + &quot;']&quot;);</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><o:p>&nbsp;</o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>arguments.MaximumNumberOfConnectionsEx=
ceeded
=3D</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetMessa=
ge(element,
&quot;MaximumConnectionsExceeded&quot;);</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><o:p>&nbsp;</o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>arguments.AccountExpired
=3D</span></p>

<p class=3DDe-EmphasizedCodeCxSpLast><span style=3D'mso-bookmark:_Ref183271=
329'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetMessa=
ge(element,
&quot;AccountExpired&quot;);</span></p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><o:p>&nbsp;</o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><span style=3D'mso-tab-count:3'>&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>arguments.UnderMainte=
nance
=3D<o:p></o:p></span></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><span style=3D'mso-tab-count:4'>&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </sp=
an>GetMessage(element,
<span style=3D'color:#A31515'>&quot;UnderMaintenance&quot;</span>);<o:p></o=
:p></span></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-bookmark:_Ref18327=
1329'><o:p>&nbsp;</o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpLast><span style=3D'mso-bookmark:_Ref183271=
329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return
StringServer.GetInstance(arguments);</span></p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><span style=3D'mso-tab-count:2'>&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><o:p>&nbsp;</o:p></span></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-bookmark:_Ref18327=
1329'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>private
string GetMessage(XmlElement element, string messageName)</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>{</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>try</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return
element.SelectSingleNode(&quot;./&quot; + messageName).InnerText;</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>catch
(NullReferenceException)</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>{</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return
null;</span></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-bookmark:_Ref1832=
71329'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></p>

<p class=3DDe-EmphasizedCodeCxSpLast><span style=3D'mso-bookmark:_Ref183271=
329'><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span>}</span></p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'><span style=3D'mso-tab-count:1'>&nbsp;&n=
bsp; </span>}<o:p></o:p></span></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bookmark:_Ref183271329'><span
style=3D'mso-bidi-font-size:8.0pt'>}<o:p></o:p></span></span></p>

</div>

<p class=3DMsoNormal><span style=3D'mso-bookmark:_Ref183271329'>Finally, we=
 add the
string values to our configuration file.<span style=3D'mso-spacerun:yes'>&n=
bsp;
</span>More importantly, we register what we call an &#8220;interface
override&#8221; for our object constructor.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>(</span><!--[if supportFields]><sp=
an
style=3D'mso-bookmark:_Ref183271329'></span><span style=3D'mso-element:fiel=
d-begin'></span><span
style=3D'mso-bookmark:_Ref183271329'> REF _Ref183695834 \h <span
style=3D'mso-element:field-separator'></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183271329'>Listing <span style=3D'mso-no-proof:ye=
s'>16</span><!--[if gte mso 9]><xml>
 <w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200=
650066003100380033003600390035003800330034000000</w:data>
</xml><![endif]--></span><!--[if supportFields]><span style=3D'mso-bookmark=
:_Ref183271329'></span><span
style=3D'mso-element:field-end'></span><![endif]--><span style=3D'mso-bookm=
ark:
_Ref183271329'>)<span style=3D'mso-spacerun:yes'>&nbsp; </span>Note that th=
is
override refers to our adapter constructor, rather than the regular object
constructor.</span></p>

<p class=3DMsoNormal><span style=3D'mso-bookmark:_Ref183271329'><o:p>&nbsp;=
</o:p></span></p>

<p class=3DMsoCaption><span style=3D'mso-bookmark:_Ref183271329'><a
name=3D"_Ref183695834">Listing </a></span><!--[if supportFields]><span
style=3D'mso-bookmark:_Ref183271329'><span style=3D'mso-bookmark:_Ref183695=
834'></span></span><span
style=3D'mso-element:field-begin'></span><span style=3D'mso-bookmark:_Ref18=
3271329'><span
style=3D'mso-bookmark:_Ref183695834'><span
style=3D'mso-spacerun:yes'>&nbsp;</span>SEQ Listing \* ARABIC <span
style=3D'mso-element:field-separator'></span></span></span><![endif]--><span
style=3D'mso-bookmark:_Ref183271329'><span style=3D'mso-bookmark:_Ref183695=
834'><span
style=3D'mso-no-proof:yes'>16</span></span></span><!--[if supportFields]><s=
pan
style=3D'mso-bookmark:_Ref183271329'><span style=3D'mso-bookmark:_Ref183695=
834'></span></span><span
style=3D'mso-element:field-end'></span><![endif]--><span style=3D'mso-bookm=
ark:
_Ref183271329'><span style=3D'mso-bookmark:_Ref183695834'></span></span> &#=
8211;
Our addition to the configuration file to support GetUnderMaintenance()</p>

<div style=3D'mso-element:para-border-div;border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;padding:4.0pt 4.0pt 4.0pt 4.0pt;
background:#F2F2F2;mso-background-themecolor:background1;mso-background-the=
meshade:
242'>

<p class=3DDe-EmphasizedCodeCxSpFirst>&lt;configuration&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbs=
p;&nbsp;&nbsp;&nbsp; </span>&lt;configSections&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;sectionGroup
name=3D&quot;HexagonSoftware&quot;&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>&lt;section<span
style=3D'mso-tab-count:1'>&nbsp; </span>name=3D&quot;Objects&quot;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:8'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span=
>type=3D&quot;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:9'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HexagonSoftwar=
e.Bootstrap.Contracts.ObjectRoleDescriptions,</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:9'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HexagonSoftwar=
e.Bootstrap.Contracts&quot;
/&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/sectionGroup=
&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbs=
p;&nbsp;&nbsp;&nbsp; </span>&lt;/configSections&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><o:p>&nbsp;</o:p></p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbs=
p;&nbsp;&nbsp;&nbsp; </span>&lt;HexagonSoftware&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;Objects&gt;</=
p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:3'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span>&lt;Add<span
style=3D'mso-tab-count:1'> </span>Name=3D&quot;StringServer&quot;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:6'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>ConstructorType=3D&quot;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:7'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Implementations.StringS=
erverConstructor,
</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:7'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Implementations.2,</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:7'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Version=3D2.0.0.0,</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:7'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Culture=3Dneutral,</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:7'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>PublicKeyToken=3Dnull&q=
uot;&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:4'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;ConstructorConfiguration&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:5'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;Prof=
ile
name=3D&quot;en-US&quot;&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:6'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>&lt;MaximumConnectionsExceeded&gt;The
maximum number of connections has been
exceeded.&lt;/MaximumConnectionsExceeded&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:6'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>&lt;AccountExpired&gt;Your
account has expired!&lt;/AccountExpired&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:6'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>&lt;UnderMaintenance&gt;The
system is currently down for maintenance.&lt;/UnderMaintenance&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:5'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/Pro=
file&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:5'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;Prof=
ile
name=3D&quot;fr-FR&quot;&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:6'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>&lt;MaximumConnectionsExceeded&gt;Le
nombre maximum des raccordements a &eacute;t&eacute;
exc&eacute;d&eacute;.&lt;/MaximumConnectionsExceeded&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:5'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;AccountExpire=
d&gt;Votre
compte a expir&eacute;.&lt;/AccountExpired&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:6'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>&lt;UnderMaintenance&gt;The
system is currently down for maintenance.&lt;/UnderMaintenance&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:5'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/Pro=
file&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpLast><span style=3D'mso-tab-count:4'>&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/ConstructorConfiguration&gt;</p>

<p class=3DCodeCxSpFirst><span style=3D'mso-bidi-font-size:8.0pt;color:blue=
'><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>InterfaceOverrides</span><=
span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Add<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>ConstructorType</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>=3D</span><span style=3D'mso-=
bidi-font-size:
8.0pt'>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Implementations.StringServerV1AdapterC=
onstructor,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>Implementations.2,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>Version=3D2.0.0.0,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>Culture=3Dneutral,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>PublicKeyToken=3Dnull</span><span
style=3D'mso-bidi-font-size:8.0pt'>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan></span><span
style=3D'mso-bidi-font-size:8.0pt;color:red'>InterfaceType</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>=3D</span><span style=3D'mso-=
bidi-font-size:
8.0pt'>&quot;<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>Contracts.StringServer,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>Contracts,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>Version=3D1.0.0.0,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
style=3D'mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Cultu=
re=3Dneutral,<o:p></o:p></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:7'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; </span>PublicKeyToken=3Dnull</span><span
style=3D'mso-bidi-font-size:8.0pt'>&quot;<span style=3D'color:blue'>&gt;<o:=
p></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:6'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </s=
pan>&lt;</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>ConstructorConfiguration</=
span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;</span><span style=3D'mso=
-bidi-font-size:
8.0pt'>StringServer<span style=3D'color:blue'>&lt;/</span><span style=3D'co=
lor:
#A31515'>ConstructorConfiguration</span><span style=3D'color:blue'>&gt;<o:p=
></o:p></span></span></p>

<p class=3DCodeCxSpMiddle><span style=3D'mso-bidi-font-size:8.0pt;color:blu=
e'><span
style=3D'mso-tab-count:5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>Add</span><span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DCodeCxSpLast><span style=3D'mso-bidi-font-size:8.0pt;color:blue'=
><span
style=3D'mso-tab-count:4'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/</span><span
style=3D'mso-bidi-font-size:8.0pt;color:#A31515'>InterfaceOverrides</span><=
span
style=3D'mso-bidi-font-size:8.0pt;color:blue'>&gt;<o:p></o:p></span></p>

<p class=3DDe-EmphasizedCodeCxSpFirst><span style=3D'mso-tab-count:3'>&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <=
/span>&lt;/Add&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:2'>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/Objects&gt;<=
/p>

<p class=3DDe-EmphasizedCodeCxSpMiddle><span style=3D'mso-tab-count:1'>&nbs=
p;&nbsp;&nbsp;&nbsp; </span>&lt;/HexagonSoftware&gt;</p>

<p class=3DDe-EmphasizedCodeCxSpLast>&lt;/configuration&gt;</p>

</div>

<p class=3DMsoNormal>Now we have implemented a fully functional service that
conforms to both the new and old interface.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Clients are permitted to upgrade t=
o our
latest service without being required to do so.</p>

<h1><a name=3D"_Toc183695775">Conclusion</a></h1>

<p class=3DMsoSubtitle>What did we learn?</p>

<p class=3DMsoNormal>In this tutorial you have seen how to write a service =
in a
way that makes it &#8220;bootstrappable.&#8221;<span
style=3D'mso-spacerun:yes'>&nbsp; </span>You have also seen how to make a
bootstrapped service configuration-driven and parameterized.<span
style=3D'mso-spacerun:yes'>&nbsp; </span>Finally, you saw how to build a
sustainable chain of adapters that allow you to evolve your interface witho=
ut
interrupting service to older clients.<span style=3D'mso-spacerun:yes'>&nbs=
p;
</span>We hope you&#8217;ve enjoyed reading this and encourage you to conta=
ct
us if you have any questions.</p>

<h1><a name=3D"_Toc183695776">Legal</a></h1>

<p class=3DMsoSubtitle>Who owns what?</p>

<p class=3DMsoNormal>The Bootstrapper is the sole property of Harbinger Sof=
tware
Corporation.<span style=3D'mso-spacerun:yes'>&nbsp; </span>It is marketed u=
nder
license by Hexagon Software LLC.</p>

</div>

</body>

</html>

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/item0001.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml

<CoverPageProperties xmlns=3D"http://schemas.microsoft.com/office/2006/cove=
rPageProps"><PublishDate/><Abstract>The Hexagon Software Bootstrapper allow=
s you to completely separate use from construction.  This tutorial explains=
 how to use the Bootstrapper.</Abstract><CompanyAddress/><CompanyPhone/><Co=
mpanyFax/><CompanyEmail/></CoverPageProperties>
------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/props0002.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml

<?xml version=3D"1.0" encoding=3D"UTF-8" standalone=3D"no"?>
<ds:datastoreItem ds:itemID=3D"{55AF091B-3C7A-41E3-B477-F2FDAA23CFDA}" xmln=
s:ds=3D"http://schemas.openxmlformats.org/officeDocument/2006/customXml"><d=
s:schemaRefs><ds:schemaRef ds:uri=3D"http://schemas.microsoft.com/office/20=
06/coverPageProps"/></ds:schemaRefs></ds:datastoreItem>
------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/item0003.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml

<b:Sources SelectedStyle=3D"\APA.XSL" StyleName=3D"APA" xmlns:b=3D"http://s=
chemas.openxmlformats.org/officeDocument/2006/bibliography" xmlns=3D"http:/=
/schemas.openxmlformats.org/officeDocument/2006/bibliography"></b:Sources>
------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/props0004.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml

<?xml version=3D"1.0" encoding=3D"UTF-8" standalone=3D"no"?>
<ds:datastoreItem ds:itemID=3D"{F2603763-1E3E-4E26-94F4-D08F94C3DE11}" xmln=
s:ds=3D"http://schemas.openxmlformats.org/officeDocument/2006/customXml"><d=
s:schemaRefs><ds:schemaRef ds:uri=3D"http://schemas.openxmlformats.org/offi=
ceDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>
------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/themedata.thmx
Content-Transfer-Encoding: base64
Content-Type: application/vnd.ms-officetheme

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
AAAA

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/colorschememapping.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml

<?xml version=3D"1.0" encoding=3D"UTF-8" standalone=3D"yes"?>
<a:clrMap xmlns:a=3D"http://schemas.openxmlformats.org/drawingml/2006/main"=
 bg1=3D"lt1" tx1=3D"dk1" bg2=3D"lt2" tx2=3D"dk2" accent1=3D"accent1" accent=
2=3D"accent2" accent3=3D"accent3" accent4=3D"accent4" accent5=3D"accent5" a=
ccent6=3D"accent6" hlink=3D"hlink" folHlink=3D"folHlink"/>
------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/plchdr.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="us-ascii"

<html xmlns:v=3D"urn:schemas-microsoft-com:vml"
xmlns:o=3D"urn:schemas-microsoft-com:office:office"
xmlns:w=3D"urn:schemas-microsoft-com:office:word"
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml"
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 12">
<meta name=3DOriginator content=3D"Microsoft Word 12">
<link id=3DMain-File rel=3DMain-File href=3D"../Tutorial.htm">
<![if IE]>
<base href=3D"file:///C:\2F2AB08C\Tutorial_files\plchdr.htm"
id=3D"webarch_temp_base_tag">
<![endif]>
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div style=3D'mso-element:placeholder-text' id=3D3C2977CBEACF4E4FA4FB6CF68F=
0109F7><span
class=3DMsoPlaceholderText><span style=3D'font-size:11.0pt;line-height:115%;
font-family:"Calibri","sans-serif";mso-ascii-theme-font:minor-latin;mso-far=
east-font-family:
"Times New Roman";mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:
minor-latin;mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:mino=
r-bidi;
mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA'=
>[Abstract]</span></span></div>

</body>

</html>

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image001.emz
Content-Transfer-Encoding: base64
Content-Type: image/x-emz

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
5iA9z050ek5iaWLBE0i3OUj3/wHUHNfHXKYAAK==

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image002.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhSAEsAXcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAIgAl
AQUBhgAAAAAAABERERkZGQ0NDRQUFAYGBgoKChISEhUVFQUFBQ4ODhYWFhAQEAQEBBgYGB8fHwkJ
CQwMDBoaGh0dHRMTExcXFwMDAwsLCwcHBywsLCAgICsrKzMzMzAwMDw8PCUlJTo6OjIyMjU1NTEx
MT4+Pjg4OCoqKiYmJikpKSQkJD8/Py0tLVhYWFBQUFFRUUBAQEhISEFBQXh4eH9/f3BwcGBgYG9v
b2NjY3R0dGdnZ319fYiIiIuLi4yMjIqKio2NjYODg4CAgIGBgYKCgp+fn4WFhZSUlIeHh4+Pj7+/
v6+vr6Ojo7GxsbOzs6enp6ampt/f39nZ2czMzNfX197e3tjY2O/v7+bm5vPz8/f39/z8/PLy8uXl
5ezs7PX19f///wECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwf/gACCg4SFhoeI
hz0Aiz6Fi5AAjoSRjY+MmJODlZKXkZqCnKCYn56ZppaUpJ2qpa2nr6mbq6OihaOJubq7vL2+u46R
hpzDq8XCqIrGyceYzYvPysix0s7M19S3v9vc3d65uN/i4+Tl5ufbQOjr7O3u7/Dx8oTq8/b3+Pn6
+7r1/P8AAwoc2I+gwYMIE7rzp7Chw4cQI/4LJ/FcgIoYMyJiqLGjx4/fKIL8dXGkSYccT6pc6VEk
y5ftUsIEVoihy5k4ucnMmUjTKB48g4rbKdQQrptFkx4iqnQQ0qZQDTGNOulp1KZTPV7cCoCr165g
L86YoSGs2a9oz6rlmrAkyLRw/9UGWUs3rl2w8jjQ2Mu3r9+/NIQMAUy4sGG/A67KI1Dj8GEijiNL
tlEgXoAWYDJr3sy5s+fPoEN/7uBWcTsCUUSrXs1atZJ5mFvLns26g2l4qGnr3s1ZSWV4l3kL3036
trvcw5Ozfi0vtvLnoW0bP50auvXOvrvd9apXMo3q11sXn85rO1gDN7wXCS+bObcD3uPT8LCefW3y
vBC4kC+5xgb7y/22TQL22VAfgKKNh18uB1oXxX8IiubegAU2GKFn0i2YCAIWPvfghaFlxw2B7BkI
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
3ibs3XXGoSd03iiE3uqd3uy93u4NJ+MQCAA7

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image003.emz
Content-Transfer-Encoding: base64
Content-Type: image/x-emz

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
16CFlJ56f974/tNz8+DjNpM1lZ0/9dv33vtHBriCzznoLdPy/rSth93351l1rgj9VY5ZiVxHq/Ul
LenjjL3enydu8/68ArbQ5/zwV0lL78/b4bxDr2F2De/NE8eXqW9eUztb/VW+TLv3+fGqlqcvsPqX
vf11vWdv9qun3p+3yun/kVmp3yet5rUPza5he4eH+pMn//B19TMq9Q49tU/QZ/Yn3/q6+MTd2fvz
rmNb5e5tQMfYLwOXy31/ntZN85ZVU6cXaVCZyEJywymD+KtxLiRFlK+HwUtA+To0dSofhtAeyHLl
Q2e5q/9v1sjaemebU7nIbWD+n5n7/8v0Lp87rf68u/kbJNL/c7PzvfxRTpb+6G6nro2sdO0t61x7
wjbX/sOPXXvVm259x5/d5Q8Vjg7K8q7kuImDYqkY14HvgtvAz0FmnLVOcZZvncX5NtZ15Dcp6+R0
hFptQW1BxyvVKkaTGZtals0EZzs2KfqWA0q748QcXhvOmzW7fZwwek0MFcdfgtvAr0BmDLWuK7mK
PqcYfhOPFEvlT2Y84qnTzzNvLniicvH4LVUXrlpVyZGkciD9BNJ+pFNltDUm5vM0JqYdpcMN2GXg
b4He37iWeiF1mPrtvKv7gNI1MQdq9zF9Oe/Wmjab1qZpGIPtlVq/LQ3jQDN4DMjPaMoKpWjL79Pn
O2f/Dkc3Pq1V36r/SNXi8abeUmXiZtbree08pjjvx/xG8euomJiljwnb+uNwDZ2uJf6PUi86NQ7t
xkBjYnjOZhwGw20DMyaKv5ZpTOKp0/Ntw//9Bvn2dNXdZ/EOx87yjdO4dTP+3U6t75grXkdyt/Q5
kntP35yIoPaWD0W+ufHZXrXg/D3EydRPV5m4mfXnYr7pgHET8b+Deqo/Du3HQGPywefbzh7Pt3vx
73b8fND3c8h5R3LfOC8nIqg95Lzu+PlBHd/cfPqBl2+m3unlm6l/4PyfknPt+KZ8+yrxV77V+uPQ
fgw0Jt0Zh8zj2xE+6z+Ajm9DUu3nfiz2yp5Kd//dUtXZdQtynaJjVeZ1ywKWzXJX+/ORKLb7bueZ
vJXgdmuKZjy6itF7H1/33qU05Tb3HUp/WOHWr29y36GU7773sXbLv7v2NcwP1a+Tq58kn6VjujSW
em2qs7r26el3h3/skmnOtY+u1XW9o3KcufvHaAtalsfJqD/La0u5fqGtkgKPcS3xzISXrxCH+p8H
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

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image004.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhmgGHAXcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAoAIgCH
AWMBhgAAAAAAABERERkZGQoKChUVFQMDAw8PDwQEBBISEhAQEA4ODgEBAQwMDBYWFgsLCxQUFBoa
GggICAkJCQICAg0NDRwcHB8fHxMTEzw8PD09PSsrKzMzMzAwMCUlJSYmJjU1NSEhISkpKSMjIyoq
Kj8/PyAgICwsLDExMT4+Pjg4ODo6OigoKF1dXVhYWEBAQFFRUV9fX1paWlBQUExMTEVFRUFBQVtb
W3h4eHZ2dn9/f3BwcGBgYHR0dGNjY29vb2dnZ3d3d3p6ent7e2tra3Nzc2hoaHJycmpqanx8fIqK
iouLi4yMjIiIiI2NjYGBgYCAgIKCgp+fn4WFhZSUlJWVlYmJiYODg52dnYeHh6Ojo7+/v7Gxsaqq
qre3t6+vr6enp9/f38zMzNnZ2cLCwtHR0c/Pz+/v7+bm5vPz8+Pj4/f39+fn5////wECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwf/gACCg4SFhoeI
iYqLjI2ISwCQhEyRlZKDlJCahZmWnJ6Xgp2bk6Cfm6GmqaiVhKyrpq6xg6+FtbKsso67vL2+v8DB
wsO7Tq22noa5yKTMx7jPtMnOqYLL0NWz2IfX0s3bytOY2cTl5ufo6eqDSuvu7/DxxOTy9fb3+Jj5
+4oB/P+PAAocSLCgwYMIoyVcyLChw4cJ6UGcSLGixYuLJGLcyLGjx48gQ4ocSbKkSYPGTqpcyfJj
u5YwY8psSGmmzZs47b3MyTNcz5+7avL0B1QjUKA7RR29aXTpTaEAhEJ1GrMp1ZlNPl2VaXVrTKhT
vbLsKvZr2Yr+0gJQy3atW38t/97KbUt3rt22rJKa0puXGgC+nvTq/Vi3sFwBOHJoMMz4rmOiZ39t
0EG5suXLmHU8eZK5s+fPlzXs6GZNnDeF2k5XSxkywADQoKFEgU279gbIkXcFcNGmt+/fwIMLH068
+HAOuBmG9cjBuPPn0J+7yP2Ld/Tr2KFzmLicY4Dm2cOLB+4iOfVFu8erF48cYneO4NfLhz79PC/r
8/MX3+5+5Hf9AA5XHnWNsTVZbTqcESB27T30nkEFuvUagmEseF19uRGA4IY6dCCFhdHxZx8iAXCI
4As6gEifeV4VACIPH6roXIMjGhIAiJTJ6ByGkbloIYw6GidijYXcaGGOQRI3IP+EDPm4IJBJHsdi
jUYuiGSUwfF4lpMBQoklcEMSOUiVAV75pW9L9vhijGf6RiNND5EJoJltalkWlwB62WYbYSoXJ44p
7tlbmluuKWhvb/rpkJz60XmmnWLhqZ+ebfa50IMEMZqfo18SeqehhyZ66Z9HBioopC2CKqilCWE6
kKbzcYqlp2JpaCJtHh7K55QHuSpQibfChqKuqHoVYQABHFhbhcShIcYYvonRm7TzsUrlY3NNuOxw
Y4iBho60AsQrWvit14MHHgSQQRtiBCBGu9QaNwYM+40rJiPxjZdBAOj6IGOx9wpS7nhTBEBFG1p4
4AO87EKXgQf7BQzMf+pN4cH/Fm34EAC0IIYrcXryZbBub1s4664YHkh7rgc9sMsyuj20yy9xokrc
SL7hURHAFNBSu3LLFj8Mw8hDt/FzG0FDnKXNiAwsngcjR3uyuwlvgbIW7fqQBgwQPxxvcNYyTSLO
4cGArAdTIHzx1QVTsYUWG6PhgRZVs20wxlnaSyTI60HtWxrsTi2GD2hbvLC7SHet9HAfHOvWPr5W
RHZ4Y1BhthaET2G4xb6xzHnmmy++tNiFOF22B4C3kcHh77pL+LvPMsz5w8U17rje6kQ+EcXj+RA1
2q+/OwbnvZ27esYpC0+8cB4HzLd6W6g7hdlcwAsvFwYnjDXin6NNM+5jQk7S/+TXFezD9AFsgT0V
2i8v98ZtrN++6OSRXnp+W3CdARdtjJHBGP6D1hRElrYAtsFy8csAvY7TC/ChQ3cQ4R3BHra/3gww
A2lDoG984C8LEvCAC2SeA8/zPF09p2aJGKE5IAgR8plQQPYjhOleyEBeqLAcLFyUC2lInhu+w4fy
uJ2yaKOgUI0QiMLIYT4cpy3aMOtU57FVsD6Tq1A10FhTBM2wDtU8qkgqP5Q6EwpJZCxAEes8X5xP
GL8UtkMgcSWwko+sotRFp6RRPmvE0hjdWMZSnZE6d1xPHqPURhv10Uqm2lMdlxJI9QwySXs0ZD6m
QprUlOYbUUnNKCIBAjNyEf+NqtpTIYskPtX8xS+A2UQqK0FJT3TSj1x8o0waOZ5HBimSpJwkqRD5
x9zQUjy21NEoCSHLXyjxHnFczxyTtEhkNimUlTqi+AYDIU9CEZDQFOMVdYmaTFlTkcWEiRSzmJkq
rkqauiQLPoBFzsxs8ZoEwlZakrWhIq5qm/xQpz1u10TYPBGcMVzLDHkIJnTuQ58M2SFBB1WONgDA
oRB9qEQjStGJAkANZKioRi26UYEMdKGIwudBQSJBkOZtGL0ZQxo4Bh2OsVQ4aUhdSomz0t6I66Mg
xSUx/4HQhSh0oQDbhRYykL+vGScD7wqhcDQXragFZwtEtek/cLrQYYbvH8f/PEhJTfqbZioCaUZ9
DlKdw9RpOTU4TBXXEE30AyC0E0EDMOg9srqQfnIoCDF4q23KMQVpwUAMU+jB0CwnMqT1QGQtQ6oY
6DXUoiFNZBiMFtQUmDEt9OavZRWXPB+DrM3eDls2LKV/PHuXzn72tA39q+oA6y+UAQ6pU+jg/xSb
AbkBTgswQMPIzifZ3vjAbfTSbRu20DKPhPOHol3Kce0hgwXCNm1iGBlsLYs0KtAWZZBN2ci2kLZp
dTB/qkMDFboLA/4Zd1HJBcpy7dEE5wIWutIFLHV9MNR3IVWxsNtud9m1QMxVt7a9+d950atLauZk
vfVY2GqZGt0AAza4HtCt/31XC0IK83ZaEW5Dedsgt/52d8AMQXAjatJTkog4HmDNWOUONoYO+mB4
PoDBhl/cYv4ej78woMLBUjo9GOw3A9RNa0dOfA4iK6ITysXIFPhnnLICKA1Ry+yQCZzPoxjZHcOd
W5P3mx/t9Wao3wJxiHnqlCuvg6tiToiZFVHi0W5ko3DmqJzjTGeJTpnK+WiziQO6kTUHw8+IoKtI
AM3nIscpveot9EUI7QtGK6XMiraIo0VqD0GXZNKRnhieK00VTGe60YcuMKQPPOoxc1PPrfn07kKN
DyRbWdUR3DQ+UE1SWLPa1CNNsq0b4ulG9JrWhNk1r28961ILGyG9ZkSvLf9d62Ormdj1YLabna1V
WctD2qmmdrWtHQ9sZ1vbBUk2ehDdE3GD+6rDFrWuz/0qbsODxK9md7vd/Q5XJ1rev6J3PICdZnwv
Edr24Hew/f0Pc6cQIAL3DsELDvB6JPzOC/93uvnhbYVHXOITn+tVDH5ujvORm+u++D4b/u6Ni3yd
+l5Hxft9cuSmPHenDHnL4eFxSba6NPfGSc01+/J02PsnO3d20NGda6DPvB5DJ3qxZX70dST9cVWG
iAGQRfWqW/3qWM+61rfO9auPCAFdD7vYx052shvAEZ5++Dp+ydXeSCEB9klm28VTALQDZOXqYHvb
pTAiuc89O3X3Nbkbonf/rr497n8HUOCVPfhnTstb4kmDUQFoHDHIFDqW9w3fEd8GyYc1Opn/zed/
43nY6Wjx4wb5RJyULnRpuXz0K2xxvHcd2rfh8CS04Nk8oFTo2D5wo9c91ek3HC50EPB2Vz1EWE9b
4hvHWcCRPXF+/xzbb/7ZatY91nS2Y9B/S2rBR1oAsPau6p81OqjvxzQpwvziQQxqaIsuuizLst54
TmkU9FvCeG//h1ksbS/jAdblNxajP9JifXCXe+InLWlQOPCnNlDzLhfTPxfjPftnNn41f4njf4jj
GyvjAfyzfyBYMAFALyuzQPBnMd9yLr6Rfgd3aqvXOcCjLm0QgQ34Vzqz/wWEozZo0D1bsAVQIzdU
AGX+YoPew38P8zbu0ja6tS7W13e61wMDFABc0DY/GAAxs4OUtYNoIzdaozGDE2FUEGFWWDCuNwVb
owU3WINfmFtQMzxzE130EoFCyIYtmHw3p3Z5J4Mi00HewzA1yDPpI2OJozrSBWRYOD3v111HmDa0
Ay/EwzkIyHkFA1n8E4lKAy9jKDcA2FeIAy/oojlzE4mJOAUYQ1z7glQd2H+GaEGLeFn/kz53KHhk
tnydc1Z/KIuBqDpcY1mzc4hwQ34HyIidqDoQA4lKI4n7dX0Eontfg4kkgzgKk2HxJ4vRg12wkwak
GC9jgIX+o4qneIDrIv97LEh7CbODs8h4UWeLrPgbtCcyxpdhcJOMENM2OlNbCgNVRUiMu/iISxgA
PsAF/DeJClgwz6g0XsgFsqcxKAiA9+Uu58IF59KDybiK7UIFAumEQFZY6MI+O3OOu2h/WPgbLkhG
tfgQTgIDx3dZO4YGQxNVl9VdGnRYHOQvCnljOcaSGnYwMdY//2Mxh7VAOel2UHhA//MbGjRcIpNb
JAOTORldGHSUvlNBGmRdL+U750Mv86JA0EKTRpkBLbOTGwQ/6Zh6RYeSf7c8woF7zZh42QGVwFGS
H0dxMTh3ahkczJgbfueWwIEyIBiXeKhxFVF4JsWWesmX8yGXNieY7If/mMORl0ySfY6pHoqZSzc3
mJOJlwnYlpkZHpW5U8qHlp2pedtmma8ymp4ZmJxmYAkxdWX3mrBJdgpQmoLgcWAXm7iZm7l5drR4
mXqIDoQJUnkpbpBRc3uJmoDZmxr3m8CJnLe3mVBXcEN3nM7ZG5+pdEsnmqgJmZkSneFWneinmvfA
nOcQnAuFexxHdZIJns5xnbWJcHW5nd7ZnevJnsXhnvMZcI2JnFKwADsXdNRZnfi5bPE5mkLAAMlR
FzvVFgsqFw2qFg/qnQoaPgxKoQ5qofNkn+0pntdmEeZJUFLAm5ypocMxoI23EB/KQ3z3dFpFovfJ
od3moc55eCz6nS5a/6IwWnKYyZ/YuRUB6pwmqm7suJ2bWaO/cqM4qpyc1k0IkaI0NJxn8aPIGaR5
uJ9EynlImpzquI4O4aQvxJ1lIaWoSaV5RhEH8INomqZquqZs2qZu+qZwqqY4AJ2RkT5xeqd4mqd6
mqcHkKPyQJ7l0AADMKiEWqiGeqiImqiKuqiMWqgOMCIP0KiSOqmUWqmV2gB+Cg+AWg5eakKGWadZ
GhxkGpooOqNFGaplqX6kSngzSqdRiqokmakqJ6M8iqWwOqrRRqtXqoCw2ga42qE7Kp+2iqq/GqOs
2aStOqyhWqw6uqnD0Km6AqZiIaajyaz1xqTIyp+uGqa9ap2y+g7OKv8M0Hoo0npIt/qt6xCu4pqs
vHquSpqdXWqqypql1qqpVjqan/qq3VqvOqqd+Hqq7rqljFmgnZmv3Lqv6PpAFjFOemUZQ0AEDZsZ
M9B3EVsbRWAEFUsbBJCw54B3NEdaqBWym9V3IFuyhWFaJpuyEPquwMp0TZcOK4t9N3esNmGkikYU
MUubS6quuPayMAt1ACo+PJtxPksMuFGcMnuWQ1G06IC0oBmZSltuTOt0PZeu8Ta1TUty+2ZsWAsT
BJpzXRsTk+axFhe2XnuiN2GzZmu0aJu2a1sOTze2nfa2bFu1HRtzV0u3mka0uYqtMqG2kcaicju0
Pau3oMa345m3hkv/aUkLr0a3uL8Qt/AJtpCrG1prr267mJX7bW2bCHX2uXMWunWmmoC7uSwbo8Iw
XGjYfc+RQZeHVr/xg8SBkVLla531nqY7aJ37VSBYY9EBMS82e7/hZMHhP2FmuVWXu7q7qrugYTPV
M9DSLSnlLN8HMSxVfr1BvaKjOdh7vRRmlrWJssp7uuG2u55LLw2mQAPkAz3Qk7w3QPzTNdICloKV
ZYo4vCzjOzVIMv4yVqGFu+MLvgshtzSrCF2AvuN4iShYg4ADVfuLVFTQQVK4YQ04vGGJVDBgWTCA
MVNgWZb7tAH8goXbtz0VAj0zjtJSVl3TOQ8MWK7He2PlvL6xZBZk/4r0EjUCpqSlW2iCK7TBsAQt
k74pzIj765MtHFjZK2EBNrzkhTEZQAVhqQXFtbchLMIDPLm+4LxCjDREzDKLdTDyq1vVsz8KKQZj
OLxENVTu932qRcVVPJcjrJ//+1D0kgYHM4TDhTcAqAUdbEEHBDjD0wN4U4V0E7vDMwXf12AO5lBu
/Mam2bjFdkOq87rC4XzrMTjUpTrQ0siO3KM6m7jAgDS9JxyjLB/su0Fh+WedjBFfm8UmxcmrHGvM
K7ZvgbI5G8vIZr4m4QGwYQSYistXPMst4QBmYBw0sMqSK8wskSzF4QXIfLmzWsAqAQFVMBxrEAGx
nMy+yRMFwAbCcf8Es9nJPZxOP0EDwWEGj5rNdpsOhGsQXgAcG4DL4xy1NxEBa+AbVQABwKzN9DwT
EoAEvcEGfSpyASAAHHDQCJ3QCr3QDL3QIvABDR3REs3QAyAMaXcUAlDMNbDDM0FVf6cDSNTKPTEC
X6DPJ1dCmakDFq3L7SayjLEACKCypMU0Hj13IK3KynwQDFuxQ+ADGWsZE/sxODVemQxSKo3Tl3mv
BbutIzJQfpmKXHXTsIy6Sl0cXHYd3IU3AVKuBDJQIgM4Akld2MsuK8WN2Ct5KdUz/SMt1BstLgVA
LwUcRz3VJSfNBKF3pUwF4ReI37fVTG0fM8SJwfEw6CKOrid+FFT/iK04WSVI2GgwBq7Xv+hSyr0h
1ZFbSu3MC3onLT3jM9TlLC7FLihDLe/S188SLXuNlzaD0tOyM8BBON9SNPwHN/JnesTDkZItee5S
NNHjP6hDyb4x15dNzgQLHH2lBRjTNT4GllvTA2kwVNNjWZD1f7oVWBHmP7GVWD1Qv2ngLyu5ln99
HjPUjfvlxCOjjMCXMPziL7fthI54jO4y2VxjXecn1yGNxfE6HPkzL/anOvzjPynmAdBSwRW0v2PA
ZBgcZBFcPGkzBToWlo+52l69XQbDNb71itbjLD2whErjN97jj3DZMNI3HMJ9uP2cEHeEwUwmv5cV
4C8cXdSSjEOj/13xYjGuh4INGNe/YbBNTRwCCX/rAoQq6dq5uFjAE2Fww0Ee/t7ApzOCFWEjLhyW
beInfhB3BMXG198xTC99VcQiHuMHJFsw3hvjFZZo8C3GB17EwdV6+VE9OJT9ozlMZoqdh4YHpDkc
M15coGNIgzHjVee3pTnfwufFUeKMK8dDSspooGAs7ryxlQbta8Yo3N8RLAbaU8bWJcbRxT8ZsDV9
Dd42U9NtN+WHvqT+2mR//GUcRudQvGN4jDRk3sGyW4XdFcha/RxsXqeiHtUrndMGMa6CwuOA7Zyk
PscDm+gFK+HE3utJXdyTKeziTez37esFAex7kutRagN7uu3crv+nPMDsGmfXA/FL3yiFRQ0dSelb
3x0e0E4dAmCp8B7vlVoA077NyD4c7cLYV+0c6d6K6wGlfbfrJmXoxs5pma3Zz9EujLguS0bnfHww
2og3GMldvUHIsjdeGKONVQjcmgnC0Y6cxf7BXMqqzqHwWeaEUIM5QM6LHDaKEIM9MkaDiEWF+Q5g
znF9HP0qAm/U4O64JF95/NJ6B+gv3WhZQpgwaMCCs9Ph4JgxqnjuxYGe97LzCxXyHMvOzh4c7RIz
8VLk9teJ9feLAYZB6jI0f7WKN5+fJET1BEXwIl+mWd+Xru2OaSPY0WNZhJNhnMM1MRWBVHhA1YP2
xiEFE5DzBcH/9jxk9eTbsvkN9FdNexsuNClVgq5IgSuvP3Eo+MWxBBQQvlZXJF5HTKE/JqPv+clb
nKW/FqmPdaD/+aJvda+EmjGgmywtEGwXetEiU93yNaGH1hzmLZQn2ol8HYQfJ0+H+DSk+IpS1c+u
9uF2u2qG/C/k9g5Btnuorc7fndB/ENJvQso/KsH6rwB8xfNkcKztmNQPJ+IuEGfa7e7//muKAwLg
yfPGEN2vK9/fKjj3EBUg7/7//4AwIDg44ABweBiAuMjY6PgIGYmoKFlpebkY4NLG2en5CRoqOkpa
6qmDmaqqygSwtAobu1hgWmt7iyuVIMurStkL7LiJS1xcrPMb/6xs+brsPGscLU0q9WydOHkdqznd
7d2Gqi3uOr5M+41erFsOnMyuSqIjP09fb3+Pn6+/T//i/h6sGcBY59IZrFVtoMJ3AQqUeAgxosSJ
FCtavIgxoomFygRyTFXwoEhR6z6afDZspMpPyE7yauXSUsiVKxPGXPXvIzeaPMPdxATzZ6WZPEWW
FIr0UsqiI1smlRT0qSOiTNPZlIqV0c6qIn1mbRT16yGqXL0dFZt1aVl0TtEiCiuW7FppV906yglw
69xvXu22UmJX7l51u+xiVTtYWlu/hzxmFZz4Vl3DQvVGjtbXbSvHjy93O0tZKGLPuBZT5iwVMmlq
oSHhLWd59f+tzHZRp5ZtDHTrmKNxlzJt2HZSAvyK5xviw7jyejN2I43t+7dz4VIVWQdwPTv27dq7
c//uPTz4786R9o4uCjjj8spes4c9EDr69K3hvu/l/r7+8/NZ5n9qn36w/CdgeQEIwEGCCi7IYIMO
PghhhBIuOEB9BQZD4IUabvhTgBxWkuGHvIQoooh/lZgKiSiuyGIwMFHXoootzkhjKpvV6BqOOu7Y
C4wsyshjjkF+6GOMQx6J5CNFoghkkk4SmWSTT05ZoIczSjklllS6ZCWOWm4JpmFd0vhlmGaKNSaZ
Z665YZpGspkinFmdiGSZct5p0otH2rkhenjKcmOdW7YxBQz/Y/iACwxt+DAGKYx2QgUVo/jQAyd/
9rgnmG1kkEYakt7iQRtUpEFKBmJ0MsUUpTZ6qSxLrsjnhW0o6mkbWqAxhaRUTNGoFlxMoQUnoY7a
Bq68cjJGrqai2kOqaBAKaRrLtupqpoMqKkYGm8Ighg8ZcEGFth74IAYMqoZqKhoecLFFBmOoC24A
p3IyxbpUhArDFsVqy20b1MLyKpNbLoFotpueOgWibYQa6r4LH5ywGN02q+qs8xJacb5aKNqDrpX+
C4ubJcZ6YQjPGrxsqsLO2gnDEHuQQcw+qEzoxVNwQe+50nbiLshAPUmygF1gq23KFbvcRrsPm0pF
pUlv0TQn//3S6/SyPfSgqKjB+nyJyLBqSvTBGK/sgbkZ6IvuqRk06+6mVy9LLww9+JD1GB7oKzbX
lnj9NZUst9Foo210ysmpHqAhxrNtnCr44ngXPgapnZAqsScN5603VE4GLeDCOJdyeTpazIxsBs9m
rjlggvq9RcWkuJ4O1JB+jnokeg7JuX7+7g4A7773DvzvwgdP/PC/1/5IoNYiz7xCAX+Ye/PSN/K8
iNFPjz05uGfPvTXVQ999+MrwzeH1ZppPLfkji89+yJu3D7+NQMdPv+ZR1o9/8gCovnz+/t8eJPT5
707K294AD6i9AA5QgHL6XvkQeEAHXoiBEFyTBDVEwQqaSf99N2nACSYEQg6cwAIhLGEJJaDBI3FQ
KBUIQ39uUYAUDmmFP2nhC20RQxnyiIY3seENTZFDHeqIhzHx4Q9JEcQtZfBJdNoNAcCwhShKcYpU
ZMN8kihEGgHwJhcoIQpS8IIwinGMY1RBB66YxSEm8CYJkMJIwmACNKZxRxd8hhtFAkc5zrFGdXRG
G98YR/RgcY8t6uMy7niQPAqSkHxEyh/xGMjoDJKRKCLiIQGpRzYtcYdPeWQiI+mbSVKyTVJBpEEU
KclRrsiSfjRlOlAZSlVWspSYXKQsTbQ/R+KAirzspS+pCAZQ4kaUt9TPFmMCAQBAYJnKZOYyk7nM
BKyAjNT/HCMOMgkAVhYzJgUMjRGjwYUMeMADTqsFroqhhcZ5Iona3OZPDMmRbxaDCwHwARd8EADY
kQJmxKCCvEIRxHa+qXnwjKcLpSFOVH3OW4YSFQzCZSh/josKMKDbomJWsSlgdFMBaNsncihQd96k
oAqRJzH4+QlxJuxwU6inFsq2hXHuqp6pWpcPDqeFfLaUCzAIQA8kt85silRDJC3pQaOB0k6IIQB4
80BNORGzhWmrXkqlAj6zpS3AEeqfoFBBE4ZKyt2YFBcJldoUljovp1J1U+KaasN6QE5/YpUTz2rp
xTxRBCu0Yq+M4CtfF+FXoQJWqH99C2EFa9jADlaxiT3s/2Id29jCHiKwYaFsXw9bWcxelrGT1exj
JavZzHI2tJsVqhPeM9Zb5JRcLT0XovzZuoZFFWbJku1U5QXXKHogUgEIFigKcAWw+i+1t6hXAMjJ
CS6M06mEahgMFAWDsq21XuO626zGqSi7eeCunIjhaYVbP+LiQp1zyeF3wQs/8R6xDUE8L3p3w7/W
PPGXvDxqLBHh3veGpqipyG8XQ/jFalZTBSzAZkj1Ww7+quK8njylMGVDTAQHJybndSU6YDlMCbNH
was4bYNf+eDVRFjDaOHwggFg4W9gGMIkng5SkJBib6xYxC12jmgh29nRWvazgk0CFmqZyhq3igko
iHE3ZolMmhELOUxfNfI0kOwZJS95SjD58IVDnOQpt8rJ0oDyZaSsZRUuIgG7pK+ZfxlMbIZ5S19d
BDSdCec3S1PA1cyCmtecOfUeEcx4/pOef8jnPt/pzzcMtKDhROgXGvrQa6oAFM8M6UhLetJbUACj
UYcBZWoampvuNKc/7elQg3rUoi41pw1x6aQEAgA7

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image005.emz
Content-Transfer-Encoding: base64
Content-Type: image/x-emz

H4sIAAAAAAACC9SdDXwU1bn/J/uW3c3sZlkIiaIW5cUI6I0YNfK6ZA1FBW+LiNRaRfGFCtJUkSIG
DEgoUEASQXlTgpESIepWaIstVMg1vX9o4fMv/3qvtfdaxFqpUqU03qKC3O8zM2eZbJLZQIJ/PB9+
OeeZmfOb3/OcZ2bOzO4sGZqmTQZ+0B1kujTtmQwaVrlvqKbddgXrSkYN17QMbc2gDG13QNM8agNV
ywK3psXoe1gtU/UBj1b+gluDQOsHugPo+maw8Xm0I8AV2fFH2e14C7JtKbgbyLYFMZexnbnf8qFf
i3k0nXVSLoh5k+3zY5rWhWXiD65oNZAGY1p5T9p54ARF9vN20ePxm3N+FNe0pcWl984bdiHLpM9d
QHhlG+kj0LTywUaV0hb+XsDSUa7a8JSPZXkB8EHUFfwruBh4WTYxMqHTxEhp9GAXgbQndFJ9M+mr
2mxq6LY0DMO2SnmyLRokVrVgDZBY+WOaK0a7EEhcqbS98ofyRP3DQ6WPHbJcbUfzhD+W4R5BY5C1
XDRLkZhte/TJ+NtFG5K1xFDFUq3XMjIyZnsucuUwvhH6eaQzRfywfGk1nnewTREgVEZNlaxlabYs
aKGomEk/1UZ3chy8rOgCvgEuAeJT6hiIrfqezjjkw6lyR8ZE4i/LZEyCsZZz8OOX5hg5OJ4cbEt8
lD5ok3nit/kp+Sa+Sr7lJv0cG5Eck1w72EXaYyOK53T8/DLzzcyvDcaxKnkn8ZI8U7VxDJ+l+eYm
/pJveclxaDoG7T3uTyffNvV50Mi3FStXdli+HSEZJd+M3KM9MdIjW3JMcu1gF2n3yP6q5JuZVyrP
NsQlXpJvqjaOV/It4yw5v91CvAuAHPOHqSXfMpP51nQM2nvcp+bbQfb3X0DOb31i5rk9D1vTdhQb
ldVW8fPHXL4Clsl5zrjeLHnXuA4g1yhe/g7TRmvX8Xck7atirvK51NONtZpx3ZZt/SCufU+boj2k
Paw9oN2jPahpY/YM1ub7h2hvFA0x6ptnGXX5B+tMe8lOs77xz0a94/tZQ2W78ng3o+YUykxHlZPt
KIvUOV18k7aUrkDasmw0KEWYaPuE+QVVsmxzmc1MzYNXD2rf1e405lvJDU6p8cbAQ5dOcst+g+Co
2+y8n30eYz8CWTaXWna7/9IM7bPGPwyUzUSbQOY/U636IAu60xa+/L9ENeFe8V5U+3jMGwOlP9cG
beufJrnLWGaWyrLu2CPY9pveyrK8S68d8/mFgdjfPs6b3p0NJrI8Qr33pjcGbmO78UDsxxAwhnWa
ds70cyLnTJfxkzLy/ajWF/uxXOJ3/iR3+Qt/GTg378Ifb1t3RcZt5iZaNbVsPxncPc1oJq/v4s8Y
UAYiGI3UJdQZAtqa9tkwgayTQRGekbLYViQeUmR/qTkl20sMBD6rZuprtKmSOkIkj1wTY6AQyPHQ
F0OnLSUYa+navyA+YEJdfMXK2cX0LO7JdgKoWp0bqXOobKTaaEzOcaL4OQ6MAQuAHE/5nRbngLzC
HAPSzlF98SvJI5w2DcOwrVKebLtYcirX/uB/1gyRPnYIadvmmhKf1+PXrn3BVtdxLjbjZtavxzti
rin6ikQYRdWSQRK/loqKn/RTbbZNjkMnYn8LuBksBMKTOgZiq76nMw75cEp+iQYZE8k7WdbaXHP6
vnLi+HJ8/L2+YvJtmG2sTzvf5Di7HfQEkyw/u0X+ltMt8mLXwqhA2n/7SuSbGZ+fkm+VxEnVL8dV
3NT6szHf5GT3HdALTE6OQ9MxkDH58vPtlx2eb9PwT/Lt8aSfD+R2i1yaVxgVSPuB3Pb4+WWd38x8
2mnlm6p/aeWbqneelec3ybeHgeTb3OQ4NB0DGZP2jEPq+e15zm0rrPNbn5h5rczDTp1rmsdvXVzm
jqWsvVs24fKPTJFtXLvjzCa+y6xxijZV047822CtU+UQrWfhEKPecZNZ3/aQUZd/c6VZd9pmLm/H
PFHFQ3SMAaWgH8Z3wfVAcpt/FHPeIuumAh9LWpu3jGOd3R8/tsz3BNJP5i5S1L5PZ65S4KotvnrQ
2OJVzFVOnBjaIXMV8f9KsBzcC7xgmPdbbuAbFTAgbbfSfTrXyC/rWJb4dLvgN8Xv7ekSV7XES8VN
rT8brx2jiXsheArcB6xxaDIGMibtGYd8eE9lrvLUxHnk25TiicxVjp0Y2iFzlTgaBoJ7wAggfhZ6
XnUXeh7xjPIJpP3qVyLfJD7dLniiePfqXcla4qXiptafjfnG5FMbAOSYvw6Y49B0DGRMvux863bB
BiPfOmpuLPl2E5B8Gw9MP6/xFno+9Y7yCaR9jbc9fn5Z5zczn16z8k3VG4x8k7ip9Wdrvsk5TvLt
zuQ4NB0DGZP2jEPq+e159rMCpHsuJsevXCec5io3GU+3phl/tV88Y85VdpxrzkUybzXrix835yi7
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

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image006.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhBwKlAXcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAoAIgD8
AXoBhgAAAAAAABERERkZGQoKChUVFQ0NDQUFBQ8PDwMDAxISEgQEBB8fHxAQEA4ODgkJCQwMDAsL
Cx0dHQICAhYWFhgYGBMTExcXFxoaGhQUFAgICAYGBjg4OCsrKzMzMyUlJTw8PD8/PzIyMiwsLCAg
IDo6OiQkJCYmJjY2NigoKC0tLTAwMCkpKTs7O01NTUBAQFhYWFBQUFFRUV9fX0dHR0pKSlpaWlRU
VEFBQUtLS1tbW3h4eHJycn9/f3BwcGBgYHR0dGNjY2VlZWJiYnt7e2tra2dnZ3Z2dn19fWhoaG9v
b3x8fHd3d4yMjIqKioiIiI2NjYCAgIODg5+fn4WFhZSUlIuLi4+Pj5WVlZOTk4eHh5ubm46OjoGB
gaOjo7+/v7GxsbW1tbOzs6enp6qqqqWlpba2tq2trd/f38/Pz8zMzNnZ2dfX18bGxtXV1cfHx+/v
7/Pz8+bm5vDw8OPj4/f39+zs7P///wECAwECAwECAwECAwECAwECAwECAwECAwf/gACCg4SFhoeI
iYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKLTU0ApoSmqqeFq6uprK+DrqywtLaxrbmos7u6t4NQ
voTCwILFucTDwcvHzbWj0dLT1NXW14i82Nvc3dne4OHi4+STTuXo6Zvn6u3u7/Dx8vOf2vT3+Pn6
+/yh7P0AAwocSPCevYIIEypcyLChw4cQIzIKILGixYvo/mHcyLGjx1EHP4ocSbJkIY0mU6pcaTEk
S4IuX8rciHLmwJo2cz60F1Onvp4+gw7khRKo0HY4jyoVaHTpvKZOo8rjKZVe0qpYn2bFRrErAK9g
v4r1umOs2bBoz6oNu7WtoLRw/83u4OFird24eLcGGNCjr9+/gAP3iCJFsOHDiAF3oOg2K4HEiQlD
nkz5xVYPdzJr3sy5s+fPoEN/htF4awHRqFOrTt2DsdQAmFfLnq0ahuvSUU/T3s2bc4/LvYPzJo27
qm7hyFW3xgo7uXPUtotLPf68uu+ZebvupdwXjvXZxKWbzD72MXc032UvZxmAu/seL3qkXx1dfEkD
Pt5TjvFjvnKZAczXl3+phWffSAag990U/REo2norBZjegA6GVt+BIiWYHoMVhvbbSxJ+R2GHnhmI
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

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image007.emz
Content-Transfer-Encoding: base64
Content-Type: image/x-emz

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

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image008.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhGQH9AHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEACgAW
AfEAhgAAAAAAABERERkZGQoKChUVFRISEg0NDRAQEAQEBB8fHw4ODgsLCxMTEw8PDxYWFggICBgY
GBQUFAwMDDMzMysrKzAwMDw8PCUlJSwsLDExMSgoKDU1NTIyMiAgIFhYWFFRUVRUVFtbW1BQUEBA
QEFBQUhISH9/f2BgYGNjY3R0dGFhYXt7e3BwcH5+fnx8fGVlZXh4eHd3d4eHh5+fn4WFhZSUlIiI
iIyMjIqKiouLi42NjZ2dnZeXl7+/v7GxsaOjo7m5uaenp6+vr9/f38zMzNnZ2c/Pz8jIyNbW1tzc
3MDAwNXV1cXFxcfHx9fX1/f39+bm5vPz8+/v7+fn5+7u7ujo6OLi4vr6+vT09OPj4/X19fv7++Xl
5f///wECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwf/gACCg4SFhAEA
iIqJjIuOjZCPkpGUk5aVmJOGm5ydnp+goaKjpKWmp4QCFKusra6vsLGys7S1tq4DiKi7vL2+v8Ck
AR9excbHyMnKy8zNzs/QyCfB1NXW19iDxNHc3d7f3Ce62eTl5ueJ2+Dr7O3P0+jx8vO76u73+Ozi
9Pz92ZeSKpwYSLCgwRlQ8inMB8+fw4e9CBicSLHiRAs0Fmpstw+ix4+iCmwshiLjyJPhQKpcuUnk
yJIoY74bx7LmR5cbYcrcqayhzZ8PcWrUybNosY5Ak/ITupCoUZ4+lUpFx1Sh06cykU7dSq5qvqtY
UUblSraaV3xgw47UWrbtr7P3/9Kq1TjWrV1UcN3JnauQ7d2/pCRaHEz4BEa+MesCXgwKICSBhQkS
WVakCGJklpMZYaaVJuPPqIa5K3IhQAAMPril+PYDyLMUGJJdwIDhR0/QuIPZA4fhghEjs6PViO0N
Q41mUVKcRmYDQxQQF3rq8py7eijR7IAEyPy7GGwMIIphUEFbhRcMy8djsAGEdm0vpGkDqXG6RpTZ
GFYbqwECNrIL0Q13m3UEmrKbNwIiM9wPP+R33gVS+EeeZb39EOFxAHoBoBEpgBDFeFLUAKEPKkhh
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

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image009.emz
Content-Transfer-Encoding: base64
Content-Type: image/x-emz

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

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image010.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhBQJoAXcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAEAFgAC
AlEBhgAAAAAAABkZGQoKChUVFRQUFBAQEBoaGhISEhMTEwwMDBcXFw0NDQ4ODhYWFgcHBwgICBER
EQICAgMDAx8fHwQEBAsLCwkJCQUFBRwcHA8PDwYGBh0dHSsrKzMzMzAwMDY2NiUlJTw8PCMjIyAg
ICYmJjIyMjQ0NCwsLDExMSgoKC0tLTU1NS4uLkBAQFhYWE5OTlFRUUdHR0FBQVtbW0xMTFZWVl9f
X1BQUH9/f2BgYGNjY3R0dHJycnd3d29vb3t7e3l5eXh4eHBwcGhoaIeHh5+fn4WFhZSUlJWVlYOD
g52dnY+Pj5ubm6Ojo7+/v7Gxsbe3t6enp6+vr9/f38zMzNnZ2dfX18fHx8/Pz/f39+/v7+bm5vPz
8+fn5////wECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwf/gACCg4SFhAEA
iIqJjIuOjZCPkpGUk5aVmIaam5ydnp+goZuXpJilp6apqJOira6vsLGys7S1tpodObq7vL2+v8DB
wsPEwx23yMmtAsXNzs/Q0bsuiMrW19jZ2tuJL1/f4OHi4+Tl5ufo6egv1dzusQEe6vP09fb34Dnv
+/z9/sne8AkcSHDci38IO8kryLBhwRztEkqcSNFdgIAOM2o0GLGiv3gbQ4ocp8+jyZMoZWEcyXLg
wZT+Frac2RAizJs4P6pqlKtZES00abLLKWtVImbOtgRdGq4k0adQlQ2QVuyDEaYsX0btFCBiAKrE
XOTAytTm1rNoXREYqeMq2ZBD/9OOGhRgpK63QZ3K3cuX0FqRbfFu1NqXbrW6Iu8Kbmm2sGO0f0MG
Xuww7mNBiuyOpWz3sueokTdO5lyQ8OWuiEMqJr2x8efXKUNrHM1aoOVQHVnRpXSI9+5HvSVprt0a
tvHYbN0Sx2f6U1dDwAtFD84IOiTrjlK33ry8Zsfj4BHKzki7O73boL6jzJyYu3mCesPL9zfeYfn3
6Zp7Un/y8HD88PE334DZ1NfQfQCag55zOLWjnUarJXhPfARWWGByEqqjH1cNHvJfhva4ZkgBFpY4
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

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/header.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="us-ascii"

<html xmlns:v=3D"urn:schemas-microsoft-com:vml"
xmlns:o=3D"urn:schemas-microsoft-com:office:office"
xmlns:w=3D"urn:schemas-microsoft-com:office:word"
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml"
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 12">
<meta name=3DOriginator content=3D"Microsoft Word 12">
<link id=3DMain-File rel=3DMain-File href=3D"../Tutorial.htm">
<![if IE]>
<base href=3D"file:///C:\2F2AB08C\Tutorial_files\header.htm"
id=3D"webarch_temp_base_tag">
<![endif]><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"15362"/>
</xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div style=3D'mso-element:footnote-separator' id=3Dfs>

<p class=3DMsoNormal style=3D'margin-bottom:0in;margin-bottom:.0001pt;line-=
height:
normal'><span style=3D'mso-special-character:footnote-separator'><![if !sup=
portFootnotes]>

<hr align=3Dleft size=3D1 width=3D"33%">

<![endif]></span></p>

</div>

<div style=3D'mso-element:footnote-continuation-separator' id=3Dfcs>

<p class=3DMsoNormal style=3D'margin-bottom:0in;margin-bottom:.0001pt;line-=
height:
normal'><span style=3D'mso-special-character:footnote-continuation-separato=
r'><![if !supportFootnotes]>

<hr align=3Dleft size=3D1>

<![endif]></span></p>

</div>

<div style=3D'mso-element:endnote-separator' id=3Des>

<p class=3DMsoNormal style=3D'margin-bottom:0in;margin-bottom:.0001pt;line-=
height:
normal'><span style=3D'mso-special-character:footnote-separator'><![if !sup=
portFootnotes]>

<hr align=3Dleft size=3D1 width=3D"33%">

<![endif]></span></p>

</div>

<div style=3D'mso-element:endnote-continuation-separator' id=3Decs>

<p class=3DMsoNormal style=3D'margin-bottom:0in;margin-bottom:.0001pt;line-=
height:
normal'><span style=3D'mso-special-character:footnote-continuation-separato=
r'><![if !supportFootnotes]>

<hr align=3Dleft size=3D1>

<![endif]></span></p>

</div>

<div style=3D'mso-element:header' id=3Dh1>

<p class=3DMsoHeader><span style=3D'mso-no-proof:yes'><!--[if gte vml 1]><v=
:shapetype
 id=3D"_x0000_t75" coordsize=3D"21600,21600" o:spt=3D"75" o:preferrelative=
=3D"t"
 path=3D"m@4@5l@4@11@9@11@9@5xe" filled=3D"f" stroked=3D"f">
 <v:stroke joinstyle=3D"miter"/>
 <v:formulas>
  <v:f eqn=3D"if lineDrawn pixelLineWidth 0"/>
  <v:f eqn=3D"sum @0 1 0"/>
  <v:f eqn=3D"sum 0 0 @1"/>
  <v:f eqn=3D"prod @2 1 2"/>
  <v:f eqn=3D"prod @3 21600 pixelWidth"/>
  <v:f eqn=3D"prod @3 21600 pixelHeight"/>
  <v:f eqn=3D"sum @0 0 1"/>
  <v:f eqn=3D"prod @6 1 2"/>
  <v:f eqn=3D"prod @7 21600 pixelWidth"/>
  <v:f eqn=3D"sum @8 21600 0"/>
  <v:f eqn=3D"prod @7 21600 pixelHeight"/>
  <v:f eqn=3D"sum @10 21600 0"/>
 </v:formulas>
 <v:path o:extrusionok=3D"f" gradientshapeok=3D"t" o:connecttype=3D"rect"/>
 <o:lock v:ext=3D"edit" aspectratio=3D"t"/>
</v:shapetype><v:shape id=3D"Picture_x0020_1" o:spid=3D"_x0000_i1030" type=
=3D"#_x0000_t75"
 style=3D'width:76.5pt;height:18.75pt;visibility:visible' o:gfxdata=3D"UEsD=
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
A
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgAAADyAQAAGhAAAEsnAAC5MgAA
Ej0AAOoBAAAoDgAAMRcAAG4LAABZCgAAoQEAAOCTBADoAwAA4JMEAOgDAAA8P3hwYWNrZXQgYmVn
aW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pg0KPHg6eG1wbWV0YSB4bWxu
czp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzYgNDYu
Mjc3MDkyLCBGcmkgRmViIDIzIDIwMDcgMTQ6MTY6MTggICAgICAgICI+DQoJPHJkZjpSREYgeG1s
bnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4NCgkJ
PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9k
Yy9lbGVtZW50cy8xLjEvIj4NCgkJCTxkYzpmb3JtYXQ+YXBwbGljYXRpb24veC11bmtub3duPC9k
Yzpmb3JtYXQ+DQoJCQk8ZGM6dGl0bGU+PHJkZjpBbHQgeG1sbnM6cmRmPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1
bHQiPnRlbXBsYXRlMS5haTwvcmRmOmxpPjwvcmRmOkFsdD4NCgkJCTwvZGM6dGl0bGU+PC9yZGY6
RGVzY3JpcHRpb24+DQoJCTxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhhcD0i
aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eGFwR0ltZz0iaHR0cDovL25zLmFk
b2JlLmNvbS94YXAvMS4wL2cvaW1nLyI+DQoJCQk8eGFwOkNyZWF0b3JUb29sPkFkb2JlIElsbHVz
dHJhdG9yIENTMzwveGFwOkNyZWF0b3JUb29sPg0KCQkJPHhhcDpDcmVhdGVEYXRlPjIwMDctMDkt
MjdUMTU6MjY6MjktMDY6MDA8L3hhcDpDcmVhdGVEYXRlPg0KCQkJPHhhcDpNb2RpZnlEYXRlPjIw
MDctMDktMjdUMTU6MjY6MjktMDY6MDA8L3hhcDpNb2RpZnlEYXRlPg0KCQkJPHhhcDpNZXRhZGF0
YURhdGU+MjAwNy0wOS0yN1QxNToyNjoyOS0wNjowMDwveGFwOk1ldGFkYXRhRGF0ZT4NCgkJCTx4
YXA6VGh1bWJuYWlscz4NCgkJCQk8cmRmOkFsdD4NCgkJCQkJPHJkZjpsaSByZGY6cGFyc2VUeXBl
PSJSZXNvdXJjZSI+DQoJCQkJCQk8eGFwR0ltZzp3aWR0aD4yNTY8L3hhcEdJbWc6d2lkdGg+DQoJ
CQkJCQk8eGFwR0ltZzpoZWlnaHQ+MTI4PC94YXBHSW1nOmhlaWdodD4NCgkJCQkJCTx4YXBHSW1n
OmZvcm1hdD5KUEVHPC94YXBHSW1nOmZvcm1hdD4NCgkJCQkJCTx4YXBHSW1nOmltYWdlPi85ai80
QUFRU2taSlJnQUJBZ0VBbGdDV0FBRC83UUFzVUdodmRHOXphRzl3SURNdU1BQTRRa2xOQSswQUFB
QUFBQkFBbGdBQUFBRUENCkFRQ1dBQUFBQVFBQi8rNEFEa0ZrYjJKbEFHVEFBQUFBQWYvYkFJUUFC
Z1FFQkFVRUJnVUZCZ2tHQlFZSkN3Z0dCZ2dMREFvS0N3b0sNCkRCQU1EQXdNREF3UURBNFBFQThP
REJNVEZCUVRFeHdiR3hzY0h4OGZIeDhmSHg4Zkh3RUhCd2NOREEwWUVCQVlHaFVSRlJvZkh4OGYN
Ckh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhm
SHg4Zi84QUFFUWdBZ0FFQUF3RVINCkFBSVJBUU1SQWYvRUFhSUFBQUFIQVFFQkFRRUFBQUFBQUFB
QUFBUUZBd0lHQVFBSENBa0tDd0VBQWdJREFRRUJBUUVBQUFBQUFBQUENCkFRQUNBd1FGQmdjSUNR
b0xFQUFDQVFNREFnUUNCZ2NEQkFJR0FuTUJBZ01SQkFBRklSSXhRVkVHRTJFaWNZRVVNcEdoQnhX
eFFpUEINClV0SGhNeFppOENSeWd2RWxRelJUa3FLeVkzUENOVVFuazZPek5oZFVaSFREMHVJSUpv
TUpDaGdaaEpSRlJxUzBWdE5WS0JyeTQvUEUNCjFPVDBaWFdGbGFXMXhkWGw5V1oyaHBhbXRzYlc1
dlkzUjFkbmQ0ZVhwN2ZIMStmM09FaFlhSGlJbUtpNHlOam8rQ2s1U1ZscGVZbVoNCnFibkoyZW41
S2pwS1dtcDZpcHFxdXNyYTZ2b1JBQUlDQVFJREJRVUVCUVlFQ0FNRGJRRUFBaEVEQkNFU01VRUZV
Uk5oSWdaeGdaRXkNCm9iSHdGTUhSNFNOQ0ZWSmljdkV6SkRSRGdoYVNVeVdpWTdMQ0IzUFNOZUpF
Z3hkVWt3Z0pDaGdaSmpaRkdpZGtkRlUzOHFPend5Z3ANCjArUHpoSlNrdE1UVTVQUmxkWVdWcGJY
RjFlWDFSbFptZG9hV3ByYkcxdWIyUjFkbmQ0ZVhwN2ZIMStmM09FaFlhSGlJbUtpNHlOam8NCitE
bEpXV2w1aVptcHVjblo2ZmtxT2twYWFucUttcXE2eXRycSt2L2FBQXdEQVFBQ0VRTVJBRDhBSnZN
V2lmbUQ5YS9NYlE3RFQ3bjkNCkMrYmRWMWE4bXVUSElSR05Fa212SENCUlVDOER3UnFmMnpzRDF3
TW1SNmxyZjVsejZOck9qWEoxVXUrbWF2Wno2RTJuOGRQVFJvdEcNCmwrbzNVZHlJZVJua3VhTHRJ
eGRxb1F2RVloU3EzM25UODNOSnRIMWZUdFExVFZkSWx2Um91anBxMW9samVYRjlxdGdBSE1UUlEv
QloNCjZrZ1ZBRjZGbERNQlhGRDZRMG16dUxMU3JLenVicDc2NXRvSW9aNzJRVWVaNDBDdEt3RmFG
eU9Sd29SV0t1eFYyS3V4VjJLdXhWMksNCnV4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4
VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFZMOVI4dTZGcVdvYWZxT29XTU4NCjFmYVU3eWFiY1Nv
SGVCNUFBelJrOUNlSSs3RlV3eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJL
dXhWMkt1eFYNCjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJL
dXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjINCkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJL
dXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMksNCnV4VjJL
dXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4
VjJLdXhWMkt1eFYyS3UNCnhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4
VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXgNClYyS3V4VjJLdXhWMkt1eFYyS3V4
VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYN
CjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYy
S3V4VjJLdXhWMkt1eFYyS3V4VjINCkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYy
S3V4VjJLdXhWMkt1eFYyS3V4VlF2cjZ5c0xTVzh2cmlPMXRJUnltdUoNCm5XT05GOFdaaUFNYlpS
Z1pHZ0xLQjh1ZWEvTG5tV3pONW9Xb1E2aGJvZU1qUk5Wa08rem9hTXRhYmNodmdCdHN6WUo0alV4
U2E0V2wNCjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhW
Mkt1eFYyS3V4VjJLdXhWMkt1eFZEbTUrczINClVrMm5Td3p5RlpGZ2ZseWlNcUVyUm1TdXdjVWFt
NHdYM011R2pVbnhaK1ltdmZtajVubTFDOTh5ck9sanBOd2JhYTNWVEZaVzgvSXANCjZhTFhpejFy
dlZtcDNwbFZ2YmFURmd4QUNGWElYNWxKdktkdjUrc0lKL05YbGlPOGlnMDExUzYxQzFCS29XSExq
SUJYa2xCOFFJSzkNCks5Y0xkbk9LUkdPZGVyb1gyVitWK3NlYU5aOGs2YnFubWFHS0hVcnhQVkN3
cVVyQ2Y3cDNVazhXZGZpb050KzNUSnhPenhtdXg0NFoNClRHSDBoazF0ZFcxMUFseGF6SlBCSUt4
elJNSFJoMHFHV29PU0JjV1VTRFI1cW1LSFlxN0ZYWXE3RlhZcTdGWFlxN0ZYWXE3RlhZcTcNCkZY
WXE3RlhZcTdGWFlxN0ZYWXE3RlhZcTdGWFlxN0ZYWXErT1B6Ry81eUQ4NGViUFZzckZqb3VpdFZU
Ylc3bjFwVklwKyttSEVrRWYNCnNyUmZHdVZrMjlsbyt5Y2VMYytxWDQ1QjdyL3pqejVQMS95MzVM
cnFWL0ZkV21xR08rMCsxZytOWUZsU3JIMWYydlVIRThRS0NuVTENCk9HRG91MTlSREpsOUlveDJQ
bWgvK2Nsck5ycnlIWlFJTm0xU0l1QjNIb1RuOWVES2FETHNhVlpTZjZQNlF6Zjh1L0tkdDVWOG42
Ym8NCjBLQkpJb2c5MmU3WEVnNVNzZjhBWkdnOWdCa29pZzRPc3puTGtNaitBMytZQi81MDNWSUk5
WGcwR1M0Z2FDTFVya2dSeGx4U201V2gNClphcUNOeDFBTktZeTVMcFA3MEhoTTkrVDQ3OHEvbUo1
dC9MN1dKb3REMVNPNnNvNUtUVzRMeVdWd0FmdEJIQ012TCtZQld5QWV4ejYNClRIcUkrc1VmdEQ2
Ky9MVHp1UE92bEMwMS93Q3EvVW5uYVNPVzM1Y3dIaVlveFZxTHNhVkcyV1JOdklhM1RlQmtNTHRO
UE5jMDhIbGYNCldKNEhhS2VLeHVYaWtRbFdWMWhZcXlrYmdnNVpqRnlIdmNISWFpZmM4Ui81eE4x
ald0Ulh6U3VwWDF4ZUxFYkZvUmNTdktGTC9XT1oNClhtVFRsd1d2alFabDYwVlRoYUdWMzhIMEZt
QzdCOHplU1BNUG1LYi9BSnljMUN4bTFLN2tzV3Z0VWhOcTgwalJlbEZITVkwNEU4ZUsNCmNGNGlt
MUJteXlSSGc4dWcvUTZyRk0rUFY5VCtsNm4rZS81ZzZqNUs4bEM2MHFpNnJmenJhV3N6QU1JcXF6
dkx4SUtzVlZLQUh1YTcNCjBwbUxwc1FuTGZrNW1xeW1FZHVaZUwrVi93QXEvd0E2UE91aFczbVZm
TlJqaXZ3elFpN3Zyd3k4VWNwVWhGa1VDcW1ncjB6TW5teHcNClBEWDJPRkRCa21PSUg1a3ByLzBM
dCtkUC9VM1FmOUp0OS8xU3lQNXZIM0g1RDliTDhwbDd4OHorcDd6NUEwTFdkQjhuNlpwR3RYMzYN
ClMxTzBqWkxpODVPL0lsMlpRR2srTWhGWUtLK0dZT1dRbElrY25Qd3dNWWdFMlh6citabHYrWW41
Vitmb1BNTmhxdDVmYUpkenRQYU4NCmN6U3pSTnlQS1cwdVZKcDBKb2U0K0lIa0RUWVlqSExHaUhY=

WmhQRk93ZG1TL21mL0FNNUkyRS9rdXpnOG96UEZyT3N3Y3JxUUVpU3cNClNwUjA1Q243NGtFS1Iw
SHhqcXB5ckZwYWxjdVFiYzJzQmpVZVoreGszL09QWGtmelZwT2t5K1lQTTJvWGozbXFScXR0cGx4
TEl3aGcNCkI1Q1NSSEovZXYySDdLKzdFQ3ZWWkFUd2pvMmFURklEaVBWSC9uditiTXZrVFE0TGZT
K0RlWU5VNWkwTGdNc0VhVUR6TWg2bXJBSUMNCktFMTY4U0RIVFllTTJlUVo2clB3Q2h6THlyeTUr
UWY1aCtlckZQTWZtanpGSlpUWDBZbHRWdUJKZFhESzI2YzFMeHJFcFhjQUUwSFkNClpsVDFNWUdn
SEVocEpaQnhTS0ZzUE5INWtma2w1c3Q5SDh3VHZxZmx5Y0JsaUR0TEM4Sk5Ha3RXa29ZM1FuNGsy
QlBYcXJZVENHYU4NCmptZ1RuaGxSNWZqaytxYmE5dGJteml2WUpWZTBualdhS1lINFdqZGVTdFU5
aXBybXNJSU5PMUJCRnZtZnpOK2JQNWtmbVA1dGs4dGYNCmwwOHRucDBSYmpjVzdlakxKR2pCVGNT
ejdORkhVL0NGSTZpdFRRWnNZWVlZNDNKMWs4ODhrcWdyUC96ajErZHNqdEpMNXZoZVJ5V2QNCmpm
WDdFc2R5U1RGdmlOVmo3ajhoK3RUcE12ZVBtZjFQZGZ5Njh2NjE1ZThtYWJvK3QzMzZSMU8wV1FY
RjV6ZVFOem1kMEFlU2prSWoNCkJSWHd6Qnl5RXBFams1K0dCakVBODByL0FEZC9NaUR5RjVUZlVs
aldmVTdsL3ErbVd6L1phVWdrdTlDRHdqVVZOT3V3MnJYSllNWEgNCkx5WTZqTndSdnErYTlEOHEv
bS8rYnVwZnBDNnVwM3NPWjVhamRzMGRuSHZ1c0VhamlhZnl4cjg2WnNaVGhpRHJJNDU1ajN0YWhw
bjUNCnhmazdxeTNLelRSMkhNY2JtSm1uMDY0RmRsa1U3QW5mWndyZHg0NGlVTW83L3ZTWTVNSjd2
dWZVWDVaZWZiUHp6NVN0dGNnVDBaNm0NCkMvdCtvaXVZd0M2ZzkxSVlNdnNSM3pXNXNYQktuWjRN
dkhHM3pWK2VubTd6VHBQNXk2d2RNMWE3dEJhTlp0YlJ4VFNMR24raHd1YUkNCkR4b1dZa2lsRFUx
ellhZUlPTVdIWGFtWkdRMFh2SDVNL20vWWVmZElNTnlZN2J6SlpxUHIxbURRU0tLRDE0Z2YyQ1R1
UDJUMTZnbkMNCno0T0EyT1RuYWZVQ1lvL1U4My81eXQxelc5TzFueThtbjZoYzJhTmJ6dXkyODBr
UUxDUlFHSVFqZjN6STBZQmlYRzFzaUpCNDkrWHYNCjVmNmw1NDFEVWRNMHlWRXY3U3hlOXQ0NU5s
bGFPYUtNeDh2MlNSS1NDZHFqNmMxYjZmcTlYSEFCS1hJbXZ2ZTVma1o1L3Z2TGFmNEYNCjg0UnlX
RDJ6a1dFMXlDbnBjelV3eVY2SVNhbzNUNktaR002Tk9pN1QwZ3kvdmNlOTgvMXZXL1AyaHJySGx4
NHVQTjdhU082alh4OUkNCjFicC9rRnNua2pZZFRwTXZCUDM3SmxyZXFUV05xUHFkdWJ5L20rRzF0
bDI1TjNaajJWYTduREkwMVlzWWtkelE2dk05Vy9Kalh2TnQNCjBiN3pWcmhXUS8zZHRBbnFMR3Av
WlhrVlZLZXltdmpsWGhrN2t1emgybERFS3h4ZVgvblIrUnVpZVNmTFVldTJHbzNGeEpKZFIyelEN
ClRLbkdraXUzSUZRT25ESkVVN1RzN3RPV2VmQVFCdGIxdi9uR24veVU5aC96RVhYL0FDZE9TZzZq
dHIvR0Q3ZzlBOHpwNm5sclZrL24NCnM3aGZ2aVlaZGorb2U5MCtUNlQ3bnkxK1YvbHI4elcvU2Y4
QWdtOE5uVDBQMGg4Y2Fjdjd6MHY3d0d0UGo2WnRzODhZcmpkSnA4ZVgNCmZnTE8vd0RDMy9PVEgv
VjZQL0k2My81cHlqeE1IYzVQaGFudlkxK1UraTZ4YS9uakhMckwrcnFpUzMzMTZXb1BLWXd5QjJx
dEFhdDQNClpacUpBNHR1V3pWcFlTR2IxYzkzcC84QXprYU5PbC9MNFd0MUFaN21lN2krb0VHbnBT
cUdKbDl4NmZKS2Y1V1ltaUI0M04xOWVIVHkNCjN5VCtXLzUweitYTGE0MERXcHRPMG1iazF0YkM5
bGhXbkk4bUVhVkM4bXIrdk16TG14Q1ZTRy91Y0hEcDg1amNUUTk3MHo4ci9KZjUNCnQ2UDVqZTg4
MWE2OS9wZjFkNC9xejNVdHhXUmlwVmdyaWdwUTcxekZ6NWNSalVSdTVtbXhab3l1WnNQV013blBl
Yi9ucjVoMEN5OG0NClhXazZoYnBmM3VxSVVzckp2MldIUzRZamRSRzI0N2s3ZU5NclNRSmxZNUJ4
TlpraUlVZHlYemI1UjAxZkxubVRSZGIxelNUZWFYeisNCnNKREtDRmxSV0tlb2xhQi9UY1ZBT3hJ
b2RzMmVUMVJJQjNkUmlCaElHUXNQdEhUZFNzZFRzSU5Rc1psbnRMbEJKREt2UXFmMUVkQ0QNCjBP
YU9VU0RSZWhqSUVXSHpqL3prcFppZjh5ZEdlY2NyU0xUN2N5TFNvNC9XcGkrM3Vvelo2TDZENzNV
YSsvRUhkWDZTOVQvNVgzK1gNClAvTFZjZjhBU05KL1RNWDhuTnpmenVONVorZm5uYnlwNTEwZlNv
ZEdlU1c3c3JoM1l5UlBIU09SS05Rc083S3VaZWx3eWdUYmhhM1ANCkdZSER6ZXMrVnJXK3V2eVF0
TEtJczk1TG9UVzhBNzhqYnRIR0JUdzJBekR5RUROOFhPeGduQ0IxNFhtZi9PS3YxQ3h2OWZzcCtN
ZW8NCjNTVzcyNFlBTTBjUms5UlZKOEM2a2orbVpPdUJvRWNuRTdPTzVCNXZlL01OcnFOM29HcDJt
bVQvQUZiVXJpMG5pc3JtcFgwNTNqWlkNCjM1S0NSeGNnMUdhK0JBSUo1T3ptQ1lrRG0rZHZ5djFU
OHhyVDg1TEh5LzVnMTI5dllvSkxxRzh0NUxxV2FCbVMxbFliT2FHakFFYloNCnM4OFlIRVpBQjFH
bm5rR1lSa1QxNitTZGY4NVk2WmRYVnA1Wm5SU1lJWkx4SkQyRHlDRXArRWJaVm9LMytEZDJsZnBJ
ODNvWDVIVFcNCnAvTERRN2VHWkpKTGFGbzdoRVlNWTNNak54Y0Q3Sm9laHpIMVEvZUZ5dElieGhC
Lzg1RFQybi9LcXRYc3BKa1M1dkRiTGJRc3dEeUcNCk83aGR3aW5kdUtpcHBoMGtieUJqclpWalBm
OEF0WXQvemlucHQ1YStXTmFta0JXMm52RVdFSCtlT0llb1FQa3k1ZHJxc0JwN092aEoNClBleEh6
YnBVVjMvemxDb25pV2EybHZMQlpZNUZESTZHeWhES3ltb0lJMklPVzR0c0YrUmFNcHZVVjBzZmNo
dnpPL0tuV2Z5NDh5USsNCmNmSjhqUmFVazRrZ0tWWjdPUnR2U2NOWG5FKzRCUGI0VzhXT0RLTWc0
WmMvdlhVNFpZanhSNWZja2Y1eGVkNFBQMXI1YzFFUS9WOVINCnRvSjRkU3RWcVZTWG1wRElUMVJ4
dVBEcDJybG1EQndXT2pUcU5UeGdIcjFmVC9scnpYK1grcjM4bHQ1ZHY3QzZ2VWlNa2tkcHc1aUkN
Ck1xa25pQjhQSmx6U0N1ajFHZkJtZ0xtQ0I1cG5yWGxyUU5iakVlcTJNVjN4MlIzWDQxSFg0WkJS
MStnNG1JUE5xeFo1NC9wTktHbTYNClRwMmhDRzB0cnFkWUpUd3Q3S1NUMVYyM0lRT0djQlJ1YU5U
QUFBeW5rbGszSUh2VEtaM1ZYZTJpV1daUGhaQzNBN2JoYTBQamttb0QNCnZZNGZ6RzBLMjFEOUhh
d0pOSXU2MC8wb0FSR3ZRaVFWRlA4QUtOQjc1RHhCeU96bGZrcG1QRkgxRHlUWFh0Zjh0NlhwYTN1
dDNsdmINCjZaTXlvczl3eStrNWNGa0FKcURVTFVaTWtOT0xGT1VxZ0R4S21nYXBvT3FhWWwzb1U4
Rnhwek15eHkyMVBUTEthTUJ4MjY0aXVpTTANCkp4bFU3NHZORTZqYnRjNmZjMnkwNVR4UEdLOUt1
cEg4Y2xFMGJhWkN4VERmeXc4bWFoNWFHcGZYSTFqK3QrandDc0dyNlhxVit6WCsNCmZNalVaUk9x
Y2ZUNGpDN1oxbU01THp2Ui9JV3AybjVqM0htR1JFRnBKTGNTcTRZRWtUS3dIdzlmMnN5NTVnY2ZE
MWNTR0VqSnhNbTgNCjYrVTdYelJvamFkTS9wdXJpYTNscFVMSW9JRlI0RU1SbE9ISndTdHV6WXVP
Tk1Ec2ZKMzVvNlBiTFlhYmZGYk9LdnBJa2taUVZKSjQNCitvS2pmZk1vNWNVdHlIR0dMTEhZRlgv
UTM1eWY5WEIvK1Jsdi9UQng0ZTVQQm03M29HaHByY0dnVzZhbXd1TldTTnZWSklBWndUeEINClpS
VHBRRTB6RW53bVczSnlvY1FqdnplYXIrVm12K1lQTkIxVHpTVkVEc0htVlhWcW92MllVQ2s4Vjdm
MjVtSFVSakdvdUgrWGxLVnkNClozNXU4a2FSNWkwRWFYSkVrSnQxSDZQa1JRUFFaUlJRb0g3RkJR
cjRlNEdZdUxNWXl0eXN1RVRqVEhQeTA4citjUExOekxZWGFJMmoNClM4bi9BTHhXNFNEbzBZQnI4
ZmNVeTdVWklURmptMDZmSE9CbzhrUCtaUDVjNm41bDgwMk9vUVFwSmFSd1JRVGxuQ2tCWm5kdGp2
VGkNCi9iRHA4NGhFZ28xR0F6a0NuMy9Lby95Ni93Q3JMSC95TW0vNXJ5cjh6azcyMzh0ajdtTitl
UHlhMGlmVDRCNVkweU9DNldXczU5VnQNCjQrSi8zNHhIV21YWWRVYjlSYWMybEJIcERQZktlbHo2
VjVhMDNUcHdCTmEyNlJTQlRVQmxHNHFNeHNzdUtSTGs0bzhNUUdDZWJmeWENCkZ4ckIxenl6Y2pU
cjluTXJ4Y21qQWxPNWVLUk4wSjhPbnl6SXhhcWhVdDNHeTZXenhSMktET2hmbmd2d3JxVHNCc0Q2
c0IvV0s1UGoNCnc5ekhnemQ2enlYK1hIbTZ5OCsyM21QV1VWbURUUGMzQmtqWm1hU0Y0NjBRK0xl
R09YUEF3NFF1TEJNVDRpOUs4MGVXZEw4eTZOTnANCldwSnloa295T0tjNDVGK3k2RTl4L1ptSGp5
R0JzT1preGlZb3ZISWZ5cDgvK1Z0Vyt0K1hwaTVCb3R4YnVxODFyVUxMRklkL2NFRVoNCm4vbU1j
eFVuWGpUWklHNHJZL3llODdlWk5XK3VlWXAyaTVuOTlkWERySkp4Qit6R2lrMDloc01KMU1JQ29y
K1ZuTTNKN1g1ZjBIVGQNCkEwaTMwclRZL1N0YlphTDNabU83T3g3c3gzT2ErY3pJMlhZUWdJaWc4
OTFQOHVkYnVmemRUelFrU2ZvNFRXOHBtTHJXa01DUmtjZnQNClZxbmhtVEhQRVl1SHE0c3NFamw0
dWowMjd0TFc4dHBiVzZpV2UyblVwTkRJQXlzckNoQkJ6RUJJTmh6Q0FSUmVEZVovK2NmOVRqMWEN
ClJ0QlJKOU5sSmFKWGtWR2lxZnNOelB4QWRqbXh4NndWNnVick1taU4rbms4US9MWDh4TlI4aGE5
TnJGaGF3M2NzOXE5bzhVNVlLRWUNClJKT1FLRUd0WWhtcHQ5UTFta2puaHdrMXZiMlh5NytlZjVx
ZWRKL3FQbDdSTGVPU29FdHhERzhnanIzYVNWdlNRZjZ3eUpsTGtIVFoNCnV6TlBoRnprZng5cjJU
eWg1V3ZOTGphOTFtOGJVdGR1QlNlNllrcWk5ZlRpclNpL1FLK0F5Y0lWdWVicHRUcUJQYUk0WUJa
cHV1cS8NCm43V05FQnI2ZHZEY1VyMFlLZ2I3eEl1QUgxRUp5WXYzTVorWkNwNTY4bDJIbXZSSmJL
VUxIZUtwTmxkMCtLT1R0VWpmZzNSaC9HbUcNCmNMREhTNms0cFgwNnZqbnpQNW44MDJ1blhma2pV
WkcrcFdkNTZqV2t2eEdDZUhtakNOdXlubWFqcDN5dUlleXdZTVprTW81a2ZNUHANCmYvbkduL3lV
OWgvekVYWC9BQ2RPV1FlWjdhL3hnKzRQU3RSdm9iRFQ3bStucjZGcEU4OHRCVThJMUxOUWZJWk4x
VEJOTjgrZWZ0WjANCjlOVjBqeXRETnBzNFkyN3ZmUjh5RUpVMVVEWTFVN1lWWmQ1VjFYVWRXMEcx
MURVYkI5TXZKK2ZxMk1vWVBId2taRnFIVkcrSlZEYmoNCnZnVk5jVmVhU2ZtaDVtMVc5dlI1UDh2
SFZOTjA5bVNXK2tmZ3NySlNvaUh3MU5EVUNwWWpzTU5LeWp5UDUxdFBOZW15M0VjRDJkNWENCnlH
RytzcE4yaWtIdlJhZy9JZDhDc2p4VmgvbWJ6enFOajVqdC9MZWlhV05UMWFlMyt0RVN6cGJ4ckdD
UnNYSHh0OEoyR0tvalF0WTgNCiszT3BSdzZ4NWZoc0xCZzNxWFVkMmt6S1FwSy9BTnpVN1lxeWpG
V0hlYmZPSG1QUzlkdDlLMGZSUnFSbHRXdW5uZVV3b29SbURMeUsNCmxhMFd2WENxVCtYUHpPOHo2
clBvc3MzbDlJdEsxcVY0b2J5T2N5RmZTWW83TW9YNGFNUDJxVnhwWHBPQldQZWQvTlVubHJUYlc4
anQNCnhjbTV2SWJRb3pGQUJMeStLb0I2Y2VtS3FubmJ6TWZMZmxtKzFtS0ZicVN6OUwvUnkzR3Zx
eXBIdVFHcDl1dlRGVTIwKzZOM1lXMTINClY0RzRpU1hoV3RPYWhxVjI2VnhWWHhWNTdjL21KNWwx
TFU3KzE4bjZFdXFXbWx1WXJxOW1tV0pYa1hxa1FKV3ZUclgrMHF5THlUNXgNCnRQTk9rdGVSUXRh
M052STBGN1p5R3JSU3IxRmFDbzMyTk1Dc2d4VmgzbTN6bnJtbCtZOU8wSFJ0S2oxSzh2NFpKbEVr
NGhBRWRhaXANCkZPaTE2NFZXNkw1NTFsdk1zSGwzekhvNDBxK3ZZbm5zWklwMHVJNUJHQ1dVOFI4
Sm9ySEZXWjRGU2Z6ZDVtdGZMT2dYT3NYTWJUSkINCnhDd3BzWFoyQ3FLbnAxNjRxeDZQekwrYVVx
TExINVN0L1RrQVpLNmhFVFE3amNDbUZYamY1aWY4NHU2bFplcnFIa3lZMzlxS3MybHoNCmtDNFFk
ZjNVbXl5RDJORy8xamxSQkQxR2s3YmpMYkxzZS9vOUYvNXh6WHp3dmsrZVB6SWhndElKamI2VmJ5
dytqY0tzVlJNWk5sTEQNCm44STVEbFVIZnBoZzY3dGp3dkVIQno2NzdlVDBGL04vbGhMYlZMazZu
Ym1MUlM0MVhqSXBhM01ZUElTS1BpQjIyOGUyUzRnNjRhZkoNCllGSDFjdk40ZCtUM242MjFqOHlm
TXZtVFVaNDdQVHpaVFRTVFR1RVNKR3VJUkVyT3hBMlJhZlJsTVBxc3U5N1EwcGhnaENJczJQdUwN
CjJ2ekZlNnZlK1RidSs4b1R3eTZsUGErdnBNN0FTUnlWVU92RVZBSmRkbHJ0VWl1MldrN2JPa3d4
akhLQmtIcHZkOHYrVXZ5Uy9NVDgNCndkVGsxenpCSkpwMXJkdjZsenFONnA5ZVk3QStsRDhKTzNR
bml2aDRaQUMrVDFHbzdTdzZlUEJEY2pvSDFENUs4bmFWNVE4dTIraGENCldaSHRiY3MzcVRNR2Ru
YzhtWWtBRGNuc01zQXA1YlU2aVdhWm5MbW0xOHpyWlhESkI5YWNSdVZ0cWdlcVFwcEhWdHZpNmI0
V2g0dmQNCitVSUxnU21EOHM1N2U2a0I5S1ZOU0tLamtmQ3dVTUVGRDdVd3E5UzhqNmRyR20rVmRP
c2RabDliVVlJeUozNWN6dXhLcVczNWNWSVcNCnVCVTh4VjVCb0ZyNSsvTDBhaG8xaG9QNmMwMjRt
ZTVzTHlGNkVNeXFnOVViN0JVRlJRYjlDUmhWay81VitVdFgwT3oxSy8xa0xGcWUNCnMzQnVaN2FN
aGxpRldJV29MQ3RYYm9UMnhLczR3Szg5ODFlUkY4eWZtTlpUNnJadmNlWG9OTUtzd2N4cjlaOVp6
eEpSbGsreXdPMkYNCldWZVhQS1BsN3kzRE5Eb3RwOVVqdUdEekw2a3NuSmxGQWYzalBUNk1DcHhp
cVUrYUx6VTdYUjVuMDdUbjFPNWsvZEMyamRZelJ3UVgNCjVOdDhPS3NiL0tTRHpEcDNseUxRdFgw
aVN3K29CekhkUElqaVl6VFNTRUJWcng0OHZIQ1ZaMWdWaEg1dTZQcmVxK1dyYUhSclkzVjcNCkJm
UTNBaUJVYlJxKzU1RlIxSXdoV0NlWnZ5di9BREFqMFdTNXRyNlRWZFIxbmovaUd5NUx4TExJSllt
ajVjUVJHVkMrM2I0VFRGWHMNCitqd1MyK2tXTUV5OFpZcmVKSkYyTkdWQUNOdmZBcUx4VjVUNVA4
bi9BSmwyVm5mSmE2ckZvc010OVBNdHJOYlJYRE56cFNUblU3TUINClNudGhWTy95eDh2YS9vOTM1
amJXVjVTM2w5NjBkMHFxaXoxNWNwRlJTZUlZbXRNU3JPOEN2UDhBem41UDFUWFBQbWlYTVV0M1ph
ZEQNCmF6eDNHcFdNeXd6UnVlUlZRMjdEbDBQdzRWUU45K1gyczZONXM4djYxbzk5cU9zU0pjQ0RV
cGRSbmp1REZhT1FIS2xsUWdjV2JwWEYNClhwMkJXTmZtUm9XcDY3NU4xRFM5TUsvVzV4R1VSeUFI
Q1NLNVhrZGxyeDJPS3NDMEhScGRCdnJmVUxEOHQ3bUxVYlpTcTNINlM1N3MNCmhSenhaaWhxR1A3
T0ZYc1dCVms4YnlRU1JwSTBMdXBWWlVvV1FrVURMeURMVWRkeGlrR2krUDhBOHgveUg4OWVWbnV0
UnRIazF6U0oNClN6M0Y1Ymh2V0NrOHliaUVGbXBVY2l3cXZjMHlvaW5zTkgycGl5MUUrbVhkK29z
VzhpZmxwNTA4NlRHRFJiVmhZRndMbS9tSmp0VUsNCi93QXpmdE12TDdLZ3Q3WXVYcXRaaXdpNUhm
dTZ2c1g4dC9KMC9rL3lqYWFCTnFENmsxc1dJbWRRZ1VPZVJqakc1NEt4Tk9SSitqWVcNClJGUEc2
elVETmtNd0t0aytGeFhZcTdGWFlxN0ZYWXE3RlhZcTdGWFlxN0ZYWXE3RlhZcTdGWFlxN0ZYWXE3
RlhZcTdGWFlxN0ZYWXENCjdGWFlxN0ZYLzlrPTwveGFwR0ltZzppbWFnZT4NCgkJCQkJPC9yZGY6
bGk+DQoJCQkJPC9yZGY6QWx0Pg0KCQkJPC94YXA6VGh1bWJuYWlscz4NCgkJPC9yZGY6RGVzY3Jp
cHRpb24+DQoJCTxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhhcE1NPSJodHRw
Oi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2Jl
LmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyI+DQoJCQk8eGFwTU06RG9jdW1lbnRJRD51
dWlkOjU5OTExMDlBNkVBMDExRENCMUQyRDI1MjhEMjk3REQwPC94YXBNTTpEb2N1bWVudElEPg0K
CQkJPHhhcE1NOkluc3RhbmNlSUQ+dXVpZDo1OTkxMTA5QjZFQTAxMURDQjFEMkQyNTI4RDI5N0RE
MDwveGFwTU06SW5zdGFuY2VJRD4NCgkJCTx4YXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBl
PSJSZXNvdXJjZSI+DQoJCQkJPHN0UmVmOmluc3RhbmNlSUQ+dXVpZDpGMUFCRkJGQzZFOUYxMURD
QjFEMkQyNTI4RDI5N0REMDwvc3RSZWY6aW5zdGFuY2VJRD4NCgkJCQk8c3RSZWY6ZG9jdW1lbnRJ
RD51dWlkOkYxQUJGQkZCNkU5RjExRENCMUQyRDI1MjhEMjk3REQwPC9zdFJlZjpkb2N1bWVudElE
Pg0KCQkJPC94YXBNTTpEZXJpdmVkRnJvbT4NCgkJPC9yZGY6RGVzY3JpcHRpb24+DQoJPC9yZGY6
UkRGPg0KPC94OnhtcG1ldGE+DQo8P3hwYWNrZXQgZW5kPSd3Jz8+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAAAQAc6gcADAgAABaAAAAAAAAAHOoA
AAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAB0AGUAbQBwAGwAYQB0AGUAMQAuAGEAaQAAAFBLAQItABQABgAIAAAAIQDAAWJ2BwEAABUC
AAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAGAAgAAAAhADj9
If/WAAAAlAEAAAsAAAAAAAAAAAAAAAAAOAEAAF9yZWxzLy5yZWxzUEsBAi0AFAAGAAgAAAAhAA5+
/nu5AgAAhwUAAA4AAAAAAAAAAAAAAAAANwIAAGRycy9lMm9Eb2MueG1sUEsBAi0AFAAGAAgAAAAh
AGxmV+66AAAAIgEAABkAAAAAAAAAAAAAAAAAHAUAAGRycy9fcmVscy9lMm9Eb2MueG1sLnJlbHNQ
SwECLQAUAAYACAAAACEAqGXEENoAAAAEAQAADwAAAAAAAAAAAAAAAAANBgAAZHJzL2Rvd25yZXYu
eG1sUEsBAi0ACgAAAAAAAAAhAHr27cA8iAAAPIgAABUAAAAAAAAAAAAAAAAAFAcAAGRycy9tZWRp
YS9pbWFnZTEudGlmZlBLBQYAAAAABgAGAH0BAACDjwAAAAA=3D
">
 <v:imagedata src=3D"image011.png" o:title=3D"" cropbottom=3D"-2514f"/>
 <o:lock v:ext=3D"edit" aspectratio=3D"f"/>
</v:shape><![endif]--></span></p>

<p class=3DMsoHeader><w:Sdt
 PrefixMappings=3D"xmlns:ns0=3D'http://purl.org/dc/elements/1.1/' xmlns:ns1=
=3D'http://schemas.openxmlformats.org/package/2006/metadata/core-properties=
' "
 Xpath=3D"/ns1:coreProperties[1]/ns0:title[1]" Text=3D"t"
 StoreItemID=3D"X_6C3C8BC8-F283-45AE-878A-BAB7291924A1" Title=3D"Title"
 ID=3D"265143751">Getting Started with the Bootstrapper</w:Sdt></p>

</div>

<div style=3D'mso-element:footer' id=3Df1>

<p class=3DMsoFooter><span style=3D'mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Co=
pyright
&copy; 2007 Harbinger Software Corporation</p>

</div>

</body>

</html>

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/image011.png
Content-Transfer-Encoding: base64
Content-Type: image/png

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

------=_NextPart_01C82ED1.BB4F0620
Content-Location: file:///C:/2F2AB08C/Tutorial_files/oledata.mso
Content-Transfer-Encoding: base64
Content-Type: application/x-mso

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAA
EAAA/v///wAAAAD+////AAAAAAAAAAByAAAAcwAAAAoBAAD7AQAA////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////9
////uAEAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8A
AAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAA
AB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAA
LAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6
AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgA
AABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAA
AFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAA
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