(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.0' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 319238, 7549]*) (*NotebookOutlinePosition[ 364828, 9052]*) (* CellTagsIndexPosition[ 364751, 9046]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Last Slide"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[TextData[{ "Using ", StyleBox["Mathematica", FontSlant->"Italic"], " to Teach Bioinformatic Skills" }], "Title", TextAlignment->Center, TextJustification->0, FontSize->24], Cell[TextData[StyleBox["\n\nBrian G. Higgins\nDepartment of Chemical \ Engineering & Materials Science\nUniversity of California, Davis", FontSize->18]], "Author", TextAlignment->Center, TextJustification->0], Cell[TextData[{ StyleBox["\t\t\tMathematica", FontSlant->"Italic"], " Developer Conference, April 2003" }], "Author"] }, Open ]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Last Slide"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Introduction", "Section", ShowGroupOpenCloseIcon->True], Cell[TextData[{ "In this talk I will discuss how ", StyleBox["Mathematica", FontSlant->"Italic"], " can be used to manipulate and process biological data using built-in \ string manipulation functions. These capabilities do not seem to be well \ appreciated by the bioinformatics community who traditionally have used Perl \ as their programming environment. Recent developments have made Mathematica \ an attractive programming environment for managing and analyzing biological \ data. For example, with the J/Link toolkit it is now possible to integrate \ Mathematica and Java so that modules from BioJava can be accessed directly \ from Mathematica, thereby extending the Mathematica computing environment for \ bioinformatics. One of ", StyleBox["Mathematica", FontSlant->"Italic"], "'s newest features is its ability to import/export XML data, which can be \ parsed and manipulated using ", StyleBox["Mathematica", FontSlant->"Italic"], "'s SymbolicXML function. " }], "Text", FontWeight->"Plain", FontVariations->{"CompatibilityType"->0}], Cell[TextData[{ "In this presentation I will give a brief overview of several \ bioinformatics problems and then I will show how ", StyleBox["Mathematica", FontSlant->"Italic"], " can be used to teach programming skills for bioinformatics. I will \ discuss the parsing and management of biological data from various sources \ (GenBank, PDP, BLAST). I will also demonstrate how ", StyleBox["Mathematica", FontSlant->"Italic"], " can be used to manipulate DNA and protein sequences." }], "Text", FontWeight->"Plain", FontVariations->{"CompatibilityType"->0}], Cell[TextData[{ "This notebook makes extensive use of Symbolic XML function; thus users \ should use ", StyleBox["Mathematica", FontSlant->"Italic"], " Version 4.2 or later. The XML files can be downloaded from my website. \ The notebook also accsses several text files. These can also be found at \n\t\ \t", ButtonBox["http://www.higgins.ucdavis.edu/biomath.php", ButtonData:>{ URL[ "http://www.higgins.ucdavis.edu/biomath.php"], None}, ButtonStyle->"Hyperlink"] }], "Text", FontWeight->"Plain", FontVariations->{"CompatibilityType"->0}] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Molecular Biology Data", "Section", ShowGroupOpenCloseIcon->True], Cell[CellGroupData[{ Cell["Bioinformatics", "Subsection", ShowGroupOpenCloseIcon->True], Cell["\<\ \"Study of how information is represented and transmitted in \ biological systems\" (Bergeron, 2003)\ \>", "Text", FontSize->14], Cell["\<\ Involves the use of computer technology for data analysis, data \ storage, data mining, knowledge discovery, and biological modeling. \ \>", \ "Text", FontSize->16] }, Closed]], Cell[CellGroupData[{ Cell["Applications involving molecular biology data:", "Subsection", ShowGroupOpenCloseIcon->True], Cell["\<\ \t- Pattern matching: sequence alignment (e.g., Blast) \t- Restriction maps (e.g., clone libraries, genome maps) \t- Evolutionary relationships (e.g., trees and sequences, parsimony, \ sequence assembly) \t- RNA secondary structure \t- Data analysis (e.g., microarrays, cluster analysis) \t- Development of biological databases for data mining (e.g., web based \ tools) \t- Modeling and simulation (e.g., metabolic pathway analysis, protein \ structure) \t\t\t\t\tetc., \ \>", "Text", FontSize->16] }, Closed]], Cell[CellGroupData[{ Cell["Impact", "Subsection", ShowGroupOpenCloseIcon->True], Cell["\<\ The genome project has resulted in an enormous amount of molecular \ biology data that can be retrieved from online sources.\ \>", "Text", FontSize->16], Cell["\<\ Researchers and students now have access to real-world data sets \ that can be used for discovery, manipulation, aggregation and analysis.\ \>", \ "Text", FontSize->16], Cell["\<\ Academic programs and courses in bioinformatics are now offered by \ most major research universities.\ \>", "Text", FontSize->16] }, Closed]] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Tools for Accessing Molecular Biology Data", "Section", ShowGroupOpenCloseIcon->True], Cell[CellGroupData[{ Cell["Computing Environment", "Subsection", ShowGroupOpenCloseIcon->True, FontSize->16], Cell["\<\ Computer programming is central for manipulating archival molecular \ biology data. Perl is the preferred programming language. Other programming environments are Java, Python, C, C++ Unix is the preferred OS.\ \>", "Text", FontSize->16], Cell[CellGroupData[{ Cell["Positive attributes of Perl", "Subsubsection", ShowGroupOpenCloseIcon->True, FontSize->16], Cell["\<\ \t- Strong string manipulation/processing capabilities \t- Suitable for CGI-programming ( e.g linking a web server with a web \ application) \t- Easy to learn (?) \t- Modules for common bioinformatic operations\ \>", "Text", FontSize->16] }, Open ]], Cell[CellGroupData[{ Cell["Concerns with using Perl", "Subsubsection", ShowGroupOpenCloseIcon->True, FontSize->16], Cell["\<\ \t- Not adequate for complex projects in computational biology \t- More efficient to do complex calculations/graphics with other languages \t- Non-computer science students often are not familiar with Unix/Linux OS \ \ \>", "Text", FontSize->16], Cell[TextData[{ "\n\t\t\t", StyleBox["Is there a role for ", FontColor->RGBColor[0, 0, 1]], StyleBox["Mathematica", FontSlant->"Italic", FontColor->RGBColor[0, 0, 1]], StyleBox["?", FontColor->RGBColor[0, 0, 1]] }], "Text", TextAlignment->Left, TextJustification->0, FontSize->16] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "Role for ", StyleBox["Mathematica", FontSlant->"Italic"], " " }], "Subsection", ShowGroupOpenCloseIcon->True, FontSize->16], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " has powerful built-in string manipulation functions. \n", StyleBox["Mathematica", FontSlant->"Italic"], " is an integrated development environment for doing symbolic, numerics and \ data visualization.\nWith ", StyleBox["Mathematica", FontSlant->"Italic"], "'s J/Link toolkit it is now possible to integrate Mathematica and Java so \ that existing modules written in Java can be accessed directly from ", StyleBox["Mathematica", FontSlant->"Italic"], " , thereby extending the Mathematica computing environment for \ bioinformatics. \n", StyleBox["Mathematica", FontSlant->"Italic"], "'s newest features is its ability to import/export XML data, which can be \ parsed and manipulated using ", StyleBox["Mathematica", FontSlant->"Italic"], "'s SymbolicXML function. " }], "Text", FontSize->16, FontWeight->"Plain", FontVariations->{"CompatibilityType"->0}] }, Closed]] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Central Dogma in Biology", "Section", ShowGroupOpenCloseIcon->True], Cell[CellGroupData[{ Cell["Initialization Cells", "Subsection", ShowGroupOpenCloseIcon->True], Cell[BoxData[ \(\(Needs["\"];\)\)], "Input", InitializationCell->True], Cell[BoxData[ \(DNABases := Module[{BaseNmaes, col1, leg, pp1}, baseNames = {"\", "\", "\", "\ \"}; \[IndentingNewLine]col1[n_] := Switch[n, 0, RGBColor[1, 0, 0], 1, RGBColor[1, 1, 0], 2, RGBColor[0, 1, 0], 3, RGBColor[0, 1, 1]]; \[IndentingNewLine]leg = Table[{col1[Mod[n, 4]], Part[baseNames, n + 1]}, {n, 0, 3}]; \[IndentingNewLine]pp1 = Show[Graphics[{RGBColor[1, 0, 0], Disk[{0, 0}, 3, {\(-\[Pi]\)/4, \[Pi]/4}], RGBColor[1, 1, 0], Disk[{0, 0}, 3, {\[Pi]/4, 3 \[Pi]/4}], RGBColor[0, 1, 0], Disk[{0, 0}, 3, {3 \[Pi]/4, 5 \[Pi]/4}], RGBColor[0, 1, 1], Disk[{0, 0}, 3, {5 \[Pi]/4, 7 \[Pi]/4}]}], DisplayFunction \[Rule] Identity, AspectRatio \[Rule] 1]; \[IndentingNewLine]ShowLegend[ pp1, {leg, LegendShadow \[Rule] None, LegendSize \[Rule] {1.4, 1.4}, LegendPosition \[Rule] {1.3, \(- .5\)}}, DisplayFunction \[Rule] $DisplayFunction]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(\(AminoAcids = {{"\", "\", "\"}, {"\", "\ \", "\"}, {"\", "\", "\"}, \ {"\", "\", "\"}, {"\", "\", \ "\"}, {"\", "\", "\"}, {"\", "\", "\"}, {"\", "\", "\"}, {"\", \ "\", "\"}, {"\", "\", "\"}, {"\", \ "\", "\"}, {"\", "\", "\"}, {"\", "\ \", "\"}, {"\", "\", "\"}, \ {"\", "\", "\"}, {"\", "\", "\"}, \ {"\", "\", "\"}, {"\", "\", \ "\"}, {"\", "\", "\"}, {"\", "\", \ "\"}};\)\)], "Input", InitializationCell->True], Cell[BoxData[ \(AATable := DisplayForm[ GridBox[Prepend[ AminoAcids, {"\", \ "\<3-Letter Code\>", \ \ "\<1-Letter Code\>"}], ColumnLines -> {True, True}, RowLines -> {True, False}, ColumnSpacings -> {1, 1}, RowSpacings -> {2, 1}, ColumnAlignments -> {Left, Center, Center}, GridFrame -> True]]\)], "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell["DNA Alphabet", "Subsection", FontSize->16], Cell[TextData[{ "DNA is a polymer made up of small molecules called nucleotides. \nThere \ are 4 nucleotides, identified by the bases:\n\t\t", StyleBox[" ", FontSize->18], StyleBox["adenine", FontSize->18, FontWeight->"Bold"], StyleBox[" ", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[0, 1, 1]], StyleBox["(", FontSize->18], StyleBox["a", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[0, 1, 1]], StyleBox["), ", FontSize->18], StyleBox["cytosine", FontSize->18, FontWeight->"Bold"], StyleBox[" (", FontSize->18], StyleBox["c", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], StyleBox["),", FontSize->18], StyleBox[" ", FontSize->18, FontColor->RGBColor[0, 1, 0]], StyleBox["guanine", FontSize->18, FontWeight->"Bold"], StyleBox[" (", FontSize->18], StyleBox["g", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[0, 1, 0]], StyleBox["), and ", FontSize->18], StyleBox["thymine", FontSize->18, FontWeight->"Bold"], StyleBox[" (", FontSize->18], StyleBox["t", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[1, 1, 0]], StyleBox[")", FontSize->18] }], "Text"], Cell[TextData[{ "We can view DNA as a word defined over the four letter alphabet ", Cell[BoxData[ StyleBox[\(\[ScriptCapitalA]\_DNA\), FontWeight->"Bold"]]], "={", StyleBox["a,c,g,t", FontSize->18], "}" }], "Text"], Cell[TextData[{ "RNA is also a word defined over the alphabet of ribonucleotides ", Cell[BoxData[ StyleBox[\(\[ScriptCapitalA]\_RNA\), FontWeight->"Bold"]]], "={", StyleBox["a,c,g,u", FontSize->18], "}" }], "Text"], Cell["\<\ The central dogma (Crick, 1958) ( now viewed as a simplified dogma)\ \ \>", "Text"], Cell[TextData[StyleBox["DNA\[LongRightArrow]RNA\[LongRightArrow]Protein", FontWeight->"Bold"]], "Text", TextAlignment->Center, TextJustification->0, FontSize->18], Cell["\<\ Both RNA and proteins are made from instructions in the DNA. \tReplication- DNA is copied \tTranscription - DNA templates RNA \tTranslation - RNA templates proteins\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(DNABases;\)\)], "Input"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .54054 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.28121 0.2574 0.27027 0.2574 [ [ 0 0 0 0 ] [ 1 .54054 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath % Start of sub-graphic p 0.0238095 0.01287 0.53861 0.527671 MathSubStart %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.15873 0.5 0.15873 [ [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath 1 0 0 r .5 .5 m .5 .5 .47619 -45 45 arc F 1 1 0 r .5 .5 m .5 .5 .47619 45 135 arc F 0 1 0 r .5 .5 m .5 .5 .47619 135 225 arc F 0 1 1 r .5 .5 m .5 .5 .47619 225 315 arc F MathSubEnd P % End of sub-graphic % Start of sub-graphic p 0.61583 0.14157 0.97619 0.501931 MathSubStart %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0297619 0.297619 0.0206612 0.206612 [ [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath 0 1 1 r .05357 .03719 m .05357 .2438 L .35119 .2438 L .35119 .03719 L F 0 g gsave .38988 .1405 -61 -10 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Adenine) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 105.000 13.000 moveto (H) show 111.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (A) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 117.062 13.000 moveto (L) show 123.062 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore 0 1 0 r .05357 .27686 m .05357 .48347 L .35119 .48347 L .35119 .27686 L F 0 g gsave .38988 .38017 -61 -10 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Guanine) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 105.000 13.000 moveto (H) show 111.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (G) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 117.000 13.000 moveto (L) show 123.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore 1 1 0 r .05357 .51653 m .05357 .72314 L .35119 .72314 L .35119 .51653 L F 0 g gsave .38988 .61983 -61 -10 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Thymine) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 105.000 13.000 moveto (H) show 111.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (T) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 117.000 13.000 moveto (L) show 123.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore 1 0 0 r .05357 .7562 m .05357 .96281 L .35119 .96281 L .35119 .7562 L F 0 g gsave .38988 .8595 -61 -10 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Cytosine) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 111.000 13.000 moveto (H) show 117.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (C) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 123.000 13.000 moveto (L) show 129.000 13.000 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore MathSubEnd P % End of sub-graphic 0 0 m 1 0 L 1 .54054 L 0 .54054 L closepath clip newpath % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{366.25, 197.938}, ImageMargins->{{71.0625, 0}, {0, 12.5625}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg@3oool006`0oooo:_l0 oooo0?oooc@0oooo001W0?ooocCo0?ooo`3oool_0?ooo`00I03oooljo`3oool0oooo;03oool005l0 ooooA?l0oooo0?ooobL0oooo001L0?oood[o0?ooo`3ooolT0?ooo`00FP3ooom>o`3oool0oooo8P3o ool005L0ooooE?l0oooo0?oooal0oooo001D0?oooeWo0?ooo`3ooolM0?ooo`00DP3ooomNo`3oool0 oooo6P3oool00500ooooHOl0oooo0?oooaT0oooo001?0?ooof?o0?ooo`3ooolH0?ooo`00C@3ooomX o`3oool0oooo5@3oool004X0ooooKOl0oooo0?oooa<0oooo00180?ooog;o0?ooo`3oool@0?ooo`00 AP3ooomeo`3oool0oooo3`3oool004D0ooooMol0oooo0?ooo`h0oooo00130?ooog_o0?ooo`3oool< 0?ooo`00@P3ooomno`3oool0oooo2P3oool00440ooooP?l0oooo0?ooo`T0oooo00100?oooh;o0?oo o`3oool80?ooo`00?`3ooon4o`3oool0oooo1`3oool003d0ooooR?l0oooo0?ooo`D0oooo000k0?oo oh_o0?ooo`3oool40?ooo`00>P3ooon=o`3oool0oooo0`3oool003T0ooooSol0oooo0?ooo`80oooo 000h0?oooi7o0?ooo`3oool10?ooo`00=`3ooonCo`3oool0oooo000f0?oooiGo0?oooP3oool003@0 ooooVOl0oool0?ooo`00<`3ooonKo`3ooo/0oooo000b0?oooigo0?oonP3oool00340oooo00?o0?l0 o`3oool0ool0Vol0ool00ooo0000oooo0?ooo`3g0?ooo`00<03oool3o`3o09_o0?oo0ooo003h0?oo o`00;`3oool5o`3o09Wo0?oo1Ooo003g0?ooo`00;P3oool7o`3o09Oo0?oo1ooo003f0?ooo`00;@3o ool9o`3o09Go0?oo2Ooo003e0?ooo`00;@3oool:o`3o09?o0?oo2ooo003d0?ooo`00;03ooolo`3o08oo0?oo3ooo003b0?ooo`00:P3oool@o`3o08go0?oo 4?oo003b0?ooo`00:P3ooolAo`3o08_o0?oo4_oo003a0?ooo`00:@3ooolCo`3o08Wo0?oo4ooo003a 0?ooo`00:03ooolEo`3o08Oo0?oo5Ooo003`0?ooo`009`3ooolGo`3o08Go0?oo5ooo003_0?ooo`00 9P3ooolIo`3o08?o0?oo6Ooo003^0?ooo`009P3ooolJo`3o087o0?oo6ooo003]0?ooo`009@3ooolL o`3o07oo0?oo7?oo003]0?ooo`00903ooolNo`3o07go0?oo7_oo003/0?ooo`008`3ooolPo`3o07_o 0?oo7ooo003/0?ooo`008`3ooolQo`3o07Wo0?oo8Ooo003[0?ooo`008P3ooolSo`3o07Oo0?oo8ooo 003Z0?ooo`008P3ooolTo`3o07Go0?oo9?oo003Z0?ooo`008@3ooolVo`3o07?o0?oo9_oo003Y0?oo o`00803ooolXo`3o077o0?oo9ooo003Y0?ooo`00803ooolYo`3o06oo0?oo:Ooo003X0?ooo`007`3o ool[o`3o06go0?oo:_oo003X0?ooo`007`3oool/o`3o06_o0?oo;?oo003W0?ooo`007P3oool^o`3o 06Wo0?oo;_oo003V0?ooo`007P3oool_o`3o06Oo0?oo;ooo000n0?oooc7o0?ooM`3oool001d0oooo ?oo000k0?oooc7o0?ooM`3oool001X0oooo>_l0o`1Io`3oocWoo`00>`3o oolao`3oogL0oooo000J0?oooc_o0?l0Eol0oolkool003X0ooooP3ooolao`3oogL0 oooo000I0?ooocoo0?l0DOl0ooloool003T0oooo@3ooolao`3ood80oooo00?o gMgMoa0@4?o^k^h02@3oool00oo^k^ko410@omgMg@0V0?ooo`00603ooom2o`3o04go0?oo@_oo000h 0?oooc7o0?oo2@3oool3o`000080oooo0ol000000`3oooook^k^oeEEE@02o`000006oiRHV?l0003o 410@0?ooooo^k^koEEEE0_l000001Om4A4Co^[Zj0?ooo`3ooooo410@00;o000000@0ooooo`000?l0 003o410@0P3oool5o`000080oooo00Co410@o`000?l00000oooo0_l000001?l@4100ooooonk^k_mE EED2o`000007odA4A?nj^[X0oooo0?oooomEEEGoV9RH0?ooo`03o`000080oooo0ol000020?ooo`03 ohN7QomVIVH0oooo02D0oooo000G0?ooodCo0?l0Bol0oom3ool003P0oooooooo`1>ool003D0ooooo`3o 03goool0COoo000e0?oooc7oool0M`3oool001D0ooooC?l0o`0ooooo04coo`00=@3ooolaoooo07L0 oooo000E0?oood_o0?l0@Oooo`1:ool003H0oooo03ooolaoooo01T0oooo0ol000000ol@4100oooo 0?ooo`1H0?ooo`005`3ooom3o`3o04goool0@_oo000h0?oooc7oool06`3oool00ol@413o^[Zj0?oo o`0U0?ooo`03ogMgMomVIVH0oooo00P0oooo00?oIVIVogMgM`3oool09P3oool001P0oooo@Ol0o`1? oooo047oo`00>03ooolaoooo01/0oooo00?oV9RHoc8b@3ooolaoooo00`0oooo00?o00000?oo o`3oool0103oool01Ol00000oooo0?ooo`3ooooo000000<0oooo00?oEEEEogMgMom4A4@0103oool0 1?l00000oooo0?ooool000020?ooo`03o`00003oool0oooo0080oooo00?o00000?ooo`3oool00`3o ool01Ol00000oooo0?ooo`3ooooo00000080oooo00KoEEEEogMgM`3oooook^k^ogMgMol@41020?oo o`03o`00003oool0oooo00<0oooo00?o00000?ooo`3oool0103oool00oo^k^ko00000?ooo`0U0?oo o`006@3ooolmo`3o05Goool0?Ooo000i0?oooc7oool0303oool00ol00000oooo0?ooo`040?ooo`05 o`00003oool0oooo0?ooool000000P3oool01OoMgMgo410@0?oooolQ8B7ogMgM00<0oooo00Co0000 0?ooo`3ooooo00000P3oool00ol00000oooo0?ooo`020?ooo`03o`00003oool0oooo00<0oooo00Go 00000?ooo`3oool0ooooo`0000020?ooo`03o`00003oool0oooo00D0oooo00?o_oo000j0?oooc7oool0303oool00ol0 0000oooo0?ooo`040?ooo`09o`000?mgMgL0ooooojVYZOl00000ooooonk^k_l0003ok^k^0080oooo 00Go0000omgMg@3oool0ooooo`000002olc?oo000k0?oooc7oool02@3oool01?l00000oooo0?oo ool000020?ooo`06o`00003oool0oooo0?ooool0003oMgMg0_l000000onHV9P0oooooa0@4002o`00 000=0?ooool0003o0000oa0@403ooooo410@o`000?lQ8B7o0000ogMgMol@413o0000ojVYZ@020?oo o`03oa0@4?l0003o000000@0oooo00?o410@o`000?mgMgL00_l000001OnHV9P0oooo0?ooooo^k^ko EEEE00;o000000SoA4A4onk^kP3oool0oooooeEEEOmgMgL0ooooo`000080oooo00Co00000?ooo`3o oooo00000`3oool00omgMgOoEEEE0?ooo`0U0?ooo`006P3ooolho`3o05goool0=ooo000k0?oooc7o ool02@3oool01?l00000oooo0?ooool000020?ooo`05o`00003oool0oooo0?ooool00000;P3oool0 1?oMgMgo410@onk^k_l000020?ooo`04o`00003oool0ooooo`000080oooo00?ok^k^oa0@4?oMgMd0 9P3oool001/0oooo=_l0o`1Ooooo03Koo`00>`3ooolaoooo00T0oooo1ol000030?ooo`03o`00003o ool0oooo01L0oooo00?o00000?ooo`3oool04`3oool00omgMgOoIVIVo`000006o`000080oooo00?o IVIVogMgM`3oool09P3oool001/0oooo=Ol0o`1Qoooo03Coo`00?03ooolaoooo0180oooo00?o410@ o`00003oool0603oool00ol@4100oooo0?ooo`170?ooo`00703ooolco`3o06?oool0X0oooo000S0?ooob3o0?l0 Noooo`0Pool00>/0oooo000S0?oooaoo0?l0OOooo`0Nool00>`0oooo000T0?oooago0?l0Ooooo`0M ool00>`0oooo000U0?oooa_o0?l0POooo`0Kool00>d0oooo000U0?oooa[o0?l0Poooo`0Jool00>d0 oooo000V0?oooaSo0?l0QOooo`0Hool004H0oooo"], ImageRangeCache->{{{0, 456.812}, {246.375, 0}} -> {-1.09686, -1.05001, \ 0.0106546, 0.0106546}, {{11.3125, 246}, {240.5, 5.8125}} -> {-3.45371, \ -3.30775, 0.0335556, 0.0335556}, {{281.188, 445.438}, {181.812, 17.5625}} -> \ {-5.85222, -2.00252, 0.025571, 0.0368344}}] }, Open ]], Cell["\<\ Amino acids are encoded by triplets of nucleotides of DNA, called \ codons. There are 64 possible codons, but 22 encoded amino acids( 20 common \ amino acids, plus stop and start codons). Here is a list of the common amino \ acids\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(AATable\)], "Input"], Cell[BoxData[ TagBox[GridBox[{ {\(Amino\ Acid\), \(3 - Letter\ Code\), \(1 - Letter\ Code\)}, {"Alanine", "Ala", "A"}, {"Arginine", "Arg", "R"}, {\(Aspartic\ Acid\), "Asp", "D"}, {"Asparginine", "Asn", "N"}, {"Cysteine", "Cys", "C"}, {\(Glutamic\ Acid\), "Glu", "E"}, {"Glutamine", "Gln", "Q"}, {"Glycine", "Gly", "G"}, {"Histine", "His", "H"}, {"Isoleucine", "Ile", "I"}, {"Leucine", "Leu", "L"}, {"Lysine", "Lys", "K"}, {"Methionine", "Met", "M"}, {"Phenylalanine", "Phe", "F"}, {"Proline", "Pro", "P"}, {"Serine", "Ser", "S"}, {"Threonine", "Thr", "T"}, {"Tryptophan", "Trp", "W"}, {"Tyrosine", "Tyr", "Y"}, {"Valine", "Val", "V"} }, RowSpacings->{2, 1}, ColumnSpacings->1, ColumnAlignments->{Left, Center}, GridFrame->True, RowLines->{True, False}, ColumnLines->True], DisplayForm]], "Output"] }, Open ]], Cell["\<\ RNA that is translated into protein is known as messenger RNA \ (mRNA)\ \>", "Text"], Cell["\<\ The phase of codon reading is called the reading frame. There is a \ total of 6 reading frames, including reading frames associated with the \ complementary DNA strand.\ \>", "Text"], Cell["\<\ For convenience we will not represent the codons in terms of the \ base Uracil. During transcription RNA converts Thymine into Uracil. Our \ codons will use Thymine.\ \>", "Text"], Cell["\<\ There are 20 common amino acids (22 genetically encoded amino \ acids) and they are defined by the codons according to the 3 letter base \ sequences (codons) \ \>", "Text"], Cell["\<\ The codon-amino acid transcription rules can be represented \ visually as\ \>", "Text"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .6734 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.45671 0.4329 0.3367 0.4329 [ [ 0 0 0 0 ] [ 1 .6734 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath % Start of sub-graphic p 0.0238095 0.0160333 0.88961 0.657367 MathSubStart %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.376543 0.352734 0.37037 0.352734 [ [ 0 0 0 0 ] [ 1 .74074 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath % Start of sub-graphic p 0.0238095 0.0176367 0.729277 0.723104 MathSubStart %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.0529101 0.5 0.0529101 [ [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath .53 .15 .34 r .5 .5 m .5 .5 .47619 0 22.5 arc F .576 .439 .859 r .5 .5 m .5 .5 .47619 22.5 45 arc F 1 .6 .07 r .5 .5 m .5 .5 .47619 45 50.625 arc F 0 0 0 r .5 .5 m .5 .5 .47619 50.625 56.25 arc F .24 .57 .25 r .5 .5 m .5 .5 .47619 56.25 67.5 arc F 0 0 0 r .5 .5 m .5 .5 .47619 67.5 78.75 arc F .22 .37 .06 r .5 .5 m .5 .5 .47619 78.75 90 arc F .42 .557 .137 r .5 .5 m .5 .5 .47619 90 112.5 arc F .576 .439 .859 r .5 .5 m .5 .5 .47619 112.5 123.75 arc F .83 .1 .12 r .5 .5 m .5 .5 .47619 123.75 135 arc F .753 .753 .753 r .5 .5 m .5 .5 .47619 135 157.5 arc F .6 .196 .8 r .5 .5 m .5 .5 .47619 157.5 168.75 arc F .2 .63 .79 r .5 .5 m .5 .5 .47619 168.75 180 arc F 1 .34 .13 r .5 .5 m .5 .5 .47619 180 202.5 arc F 1 .24 .05 r .5 .5 m .5 .5 .47619 202.5 225 arc F .78 .38 .08 r .5 .5 m .5 .5 .47619 225 236.25 arc F .42 .557 .137 r .5 .5 m .5 .5 .47619 236.25 247.5 arc F .545 .271 .074 r .5 .5 m .5 .5 .47619 247.5 258.75 arc F .2 .63 .79 r .5 .5 m .5 .5 .47619 258.75 270 arc F .251 .878 .816 r .5 .5 m .5 .5 .47619 270 292.5 arc F 1 1 1 r .5 .5 m .5 .5 .47619 292.5 298.125 arc F .126 .698 .667 r .5 .5 m .5 .5 .47619 298.125 315 arc F .78 .38 .08 r .5 .5 m .5 .5 .47619 315 337.5 arc F .118 .565 1 r .5 .5 m .5 .5 .47619 337.5 348.75 arc F .941 .902 .549 r .5 .5 m .5 .5 .47619 348.75 360 arc F 0 1 0 r .5 .5 m .5 .5 .37037 0 5.625 arc F 0 1 1 r .5 .5 m .5 .5 .37037 5.625 11.25 arc F 1 0 0 r .5 .5 m .5 .5 .37037 11.25 16.875 arc F 1 1 0 r .5 .5 m .5 .5 .37037 16.875 22.5 arc F 0 1 0 r .5 .5 m .5 .5 .37037 22.5 28.125 arc F 0 1 1 r .5 .5 m .5 .5 .37037 28.125 33.75 arc F 1 0 0 r .5 .5 m .5 .5 .37037 33.75 39.375 arc F 1 1 0 r .5 .5 m .5 .5 .37037 39.375 45 arc F 0 1 0 r .5 .5 m .5 .5 .37037 45 50.625 arc F 0 1 1 r .5 .5 m .5 .5 .37037 50.625 56.25 arc F 1 0 0 r .5 .5 m .5 .5 .37037 56.25 61.875 arc F 1 1 0 r .5 .5 m .5 .5 .37037 61.875 67.5 arc F 0 1 0 r .5 .5 m .5 .5 .37037 67.5 73.125 arc F 0 1 1 r .5 .5 m .5 .5 .37037 73.125 78.75 arc F 1 0 0 r .5 .5 m .5 .5 .37037 78.75 84.375 arc F 1 1 0 r .5 .5 m .5 .5 .37037 84.375 90 arc F 0 1 0 r .5 .5 m .5 .5 .37037 90 95.625 arc F 0 1 1 r .5 .5 m .5 .5 .37037 95.625 101.25 arc F 1 0 0 r .5 .5 m .5 .5 .37037 101.25 106.875 arc F 1 1 0 r .5 .5 m .5 .5 .37037 106.875 112.5 arc F 0 1 0 r .5 .5 m .5 .5 .37037 112.5 118.125 arc F 0 1 1 r .5 .5 m .5 .5 .37037 118.125 123.75 arc F 1 0 0 r .5 .5 m .5 .5 .37037 123.75 129.375 arc F 1 1 0 r .5 .5 m .5 .5 .37037 129.375 135 arc F 0 1 0 r .5 .5 m .5 .5 .37037 135 140.625 arc F 0 1 1 r .5 .5 m .5 .5 .37037 140.625 146.25 arc F 1 0 0 r .5 .5 m .5 .5 .37037 146.25 151.875 arc F 1 1 0 r .5 .5 m .5 .5 .37037 151.875 157.5 arc F 0 1 0 r .5 .5 m .5 .5 .37037 157.5 163.125 arc F 0 1 1 r .5 .5 m .5 .5 .37037 163.125 168.75 arc F 1 0 0 r .5 .5 m .5 .5 .37037 168.75 174.375 arc F 1 1 0 r .5 .5 m .5 .5 .37037 174.375 180 arc F 0 1 0 r .5 .5 m .5 .5 .37037 180 185.625 arc F 0 1 1 r .5 .5 m .5 .5 .37037 185.625 191.25 arc F 1 0 0 r .5 .5 m .5 .5 .37037 191.25 196.875 arc F 1 1 0 r .5 .5 m .5 .5 .37037 196.875 202.5 arc F 0 1 0 r .5 .5 m .5 .5 .37037 202.5 208.125 arc F 0 1 1 r .5 .5 m .5 .5 .37037 208.125 213.75 arc F 1 0 0 r .5 .5 m .5 .5 .37037 213.75 219.375 arc F 1 1 0 r .5 .5 m .5 .5 .37037 219.375 225 arc F 0 1 0 r .5 .5 m .5 .5 .37037 225 230.625 arc F 0 1 1 r .5 .5 m .5 .5 .37037 230.625 236.25 arc F 1 0 0 r .5 .5 m .5 .5 .37037 236.25 241.875 arc F 1 1 0 r .5 .5 m .5 .5 .37037 241.875 247.5 arc F 0 1 0 r .5 .5 m .5 .5 .37037 247.5 253.125 arc F 0 1 1 r .5 .5 m .5 .5 .37037 253.125 258.75 arc F 1 0 0 r .5 .5 m .5 .5 .37037 258.75 264.375 arc F 1 1 0 r .5 .5 m .5 .5 .37037 264.375 270 arc F 0 1 0 r .5 .5 m .5 .5 .37037 270 275.625 arc F 0 1 1 r .5 .5 m .5 .5 .37037 275.625 281.25 arc F 1 0 0 r .5 .5 m .5 .5 .37037 281.25 286.875 arc F 1 1 0 r .5 .5 m .5 .5 .37037 286.875 292.5 arc F 0 1 0 r .5 .5 m .5 .5 .37037 292.5 298.125 arc F 0 1 1 r .5 .5 m .5 .5 .37037 298.125 303.75 arc F 1 0 0 r .5 .5 m .5 .5 .37037 303.75 309.375 arc F 1 1 0 r .5 .5 m .5 .5 .37037 309.375 315 arc F 0 1 0 r .5 .5 m .5 .5 .37037 315 320.625 arc F 0 1 1 r .5 .5 m .5 .5 .37037 320.625 326.25 arc F 1 0 0 r .5 .5 m .5 .5 .37037 326.25 331.875 arc F 1 1 0 r .5 .5 m .5 .5 .37037 331.875 337.5 arc F 0 1 0 r .5 .5 m .5 .5 .37037 337.5 343.125 arc F 0 1 1 r .5 .5 m .5 .5 .37037 343.125 348.75 arc F 1 0 0 r .5 .5 m .5 .5 .37037 348.75 354.375 arc F 1 1 0 r .5 .5 m .5 .5 .37037 354.375 360 arc F 1 0 0 r .5 .5 m .5 .5 .26455 0 22.5 arc F 1 1 0 r .5 .5 m .5 .5 .26455 22.5 45 arc F 0 1 0 r .5 .5 m .5 .5 .26455 45 67.5 arc F 0 1 1 r .5 .5 m .5 .5 .26455 67.5 90 arc F 1 0 0 r .5 .5 m .5 .5 .26455 90 112.5 arc F 1 1 0 r .5 .5 m .5 .5 .26455 112.5 135 arc F 0 1 0 r .5 .5 m .5 .5 .26455 135 157.5 arc F 0 1 1 r .5 .5 m .5 .5 .26455 157.5 180 arc F 1 0 0 r .5 .5 m .5 .5 .26455 180 202.5 arc F 1 1 0 r .5 .5 m .5 .5 .26455 202.5 225 arc F 0 1 0 r .5 .5 m .5 .5 .26455 225 247.5 arc F 0 1 1 r .5 .5 m .5 .5 .26455 247.5 270 arc F 1 0 0 r .5 .5 m .5 .5 .26455 270 292.5 arc F 1 1 0 r .5 .5 m .5 .5 .26455 292.5 315 arc F 0 1 0 r .5 .5 m .5 .5 .26455 315 337.5 arc F 0 1 1 r .5 .5 m .5 .5 .26455 337.5 360 arc F 1 0 0 r .5 .5 m .5 .5 .15873 -45 45 arc F 1 1 0 r .5 .5 m .5 .5 .15873 45 135 arc F 0 1 0 r .5 .5 m .5 .5 .15873 135 225 arc F 0 1 1 r .5 .5 m .5 .5 .15873 225 315 arc F 0 g .5 Mabswid [ ] 0 setdash newpath .5 .5 .47619 0 365.73 arc s newpath .5 .5 .37037 0 365.73 arc s newpath .5 .5 .26455 0 365.73 arc s newpath .5 .5 .15873 0 365.73 arc s .83672 .83672 m .16328 .16328 L s .16328 .83672 m .83672 .16328 L s .65873 .5 m .97619 .5 L s .34127 .5 m .02381 .5 L s .5 .65873 m .5 .97619 L s .5 .34127 m .5 .02381 L s .56074 .64665 m .68223 .93994 L s .64665 .56074 m .93994 .68223 L s .56074 .35335 m .68223 .06006 L s .43926 .64665 m .31777 .93994 L s .64665 .43926 m .93994 .31777 L s .35335 .56074 m .06006 .68223 L s .35335 .43926 m .06006 .31777 L s .43926 .35335 m .31777 .06006 L s .52593 .76328 m .5363 .86859 L s .55161 .75947 m .57226 .86325 L s .57679 .75316 m .60751 .85442 L s .60124 .74441 m .64173 .84218 L s .62471 .73331 m .67459 .82664 L s .64698 .71997 m .70577 .80795 L s .66783 .7045 m .73496 .7863 L s .68707 .68707 m .76189 .76189 L s .7045 .66783 m .7863 .73496 L s .71997 .64698 m .80795 .70577 L s .73331 .62471 m .82664 .67459 L s .74441 .60124 m .84218 .64173 L s .75316 .57679 m .85442 .60751 L s .75947 .55161 m .86325 .57226 L s .76328 .52593 m .86859 .5363 L s .76455 .5 m .87037 .5 L s .76328 .47407 m .86859 .4637 L s .75947 .44839 m .86325 .42774 L s .75316 .42321 m .85442 .39249 L s .74441 .39876 m .84218 .35827 L s .73331 .37529 m .82664 .32541 L s .71997 .35302 m .80795 .29423 L s .7045 .33217 m .7863 .26504 L s .68707 .31293 m .76189 .23811 L s .66783 .2955 m .73496 .2137 L s .64698 .28003 m .70577 .19205 L s .62471 .26669 m .67459 .17336 L s .60124 .25559 m .64173 .15782 L s .57679 .24684 m .60751 .14558 L s .55161 .24053 m .57226 .13675 L s .52593 .23672 m .5363 .13141 L s .5 .23545 m .5 .12963 L s .47407 .23672 m .4637 .13141 L s .44839 .24053 m .42774 .13675 L s .42321 .24684 m .39249 .14558 L s .39876 .25559 m .35827 .15782 L s .37529 .26669 m .32541 .17336 L s .35302 .28003 m .29423 .19205 L s .33217 .2955 m .26504 .2137 L s .31293 .31293 m .23811 .23811 L s .2955 .33217 m .2137 .26504 L s .28003 .35302 m .19205 .29423 L s .26669 .37529 m .17336 .32541 L s .25559 .39876 m .15782 .35827 L s .24684 .42321 m .14558 .39249 L s .24053 .44839 m .13675 .42774 L s .23672 .47407 m .13141 .4637 L s .23545 .5 m .12963 .5 L s .23672 .52593 m .13141 .5363 L s .24053 .55161 m .13675 .57226 L s .24684 .57679 m .14558 .60751 L s .25559 .60124 m .15782 .64173 L s .26669 .62471 m .17336 .67459 L s .28003 .64698 m .19205 .70577 L s .2955 .66783 m .2137 .73496 L s .31293 .68707 m .23811 .76189 L s .33217 .7045 m .26504 .7863 L s .35302 .71997 m .29423 .80795 L s .37529 .73331 m .32541 .82664 L s .39876 .74441 m .35827 .84218 L s .42321 .75316 m .39249 .85442 L s .44839 .75947 m .42774 .86325 L s .47407 .76328 m .4637 .86859 L s .5 .76455 m .5 .87037 L s .73496 .7863 m .80209 .8681 L s .70577 .80795 m .76456 .89594 L s .57226 .86325 m .5929 .96704 L s .29423 .80795 m .23544 .89594 L s .13675 .57226 m .03296 .5929 L s .29423 .19205 m .23544 .10406 L s .42774 .13675 m .4071 .03296 L s .64173 .15782 m .68223 .06006 L s .67459 .17336 m .72447 .08004 L s .86325 .42774 m .96704 .4071 L s MathSubEnd P % End of sub-graphic % Start of sub-graphic p 0.729277 0.546737 0.97619 0.723104 MathSubStart %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0297619 0.297619 0.014758 0.14758 [ [ 0 0 0 0 ] [ 1 .71429 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 .71429 L 0 .71429 L closepath clip newpath 0 1 1 r .05357 .02656 m .05357 .17414 L .35119 .17414 L .35119 .02656 L F 0 g gsave .38988 .10035 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Adenine) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 105.000 12.813 moveto (H) show 111.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (A) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 117.000 12.813 moveto (L) show 123.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore 0 1 0 r .05357 .19776 m .05357 .34534 L .35119 .34534 L .35119 .19776 L F 0 g gsave .38988 .27155 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Guanine) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 105.000 12.813 moveto (H) show 111.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (G) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 117.000 12.813 moveto (L) show 123.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore 1 1 0 r .05357 .36895 m .05357 .51653 L .35119 .51653 L .35119 .36895 L F 0 g gsave .38988 .44274 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Thymine) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 105.000 12.813 moveto (H) show 111.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (T) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 117.000 12.813 moveto (L) show 123.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore 1 0 0 r .05357 .54014 m .05357 .68772 L .35119 .68772 L .35119 .54014 L F 0 g gsave .38988 .61393 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Cytosine) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 111.000 12.813 moveto (H) show 117.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (C) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 123.000 12.813 moveto (L) show 129.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore MathSubEnd P % End of sub-graphic 0 0 m 1 0 L 1 .74074 L 0 .74074 L closepath clip newpath MathSubEnd P % End of sub-graphic % Start of sub-graphic p 0.67316 0.03367 0.97619 0.42328 MathSubStart %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0297619 0.297619 0.00549451 0.0549451 [ [ 0 0 0 0 ] [ 1 1.28571 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 1.28571 L 0 1.28571 L closepath clip newpath 1 .24 .05 r .05357 .00989 m .05357 .06484 L .35119 .06484 L .35119 .00989 L F 0 g gsave .38988 .03736 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Val) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .22 .37 .06 r .05357 .07363 m .05357 .12857 L .35119 .12857 L .35119 .07363 L F 0 g gsave .38988 .1011 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Tyr) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore 1 .6 .07 r .05357 .13736 m .05357 .19231 L .35119 .19231 L .35119 .13736 L F 0 g gsave .38988 .16484 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Trp) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .251 .878 .816 r .05357 .2011 m .05357 .25604 L .35119 .25604 L .35119 .2011 L F 0 g gsave .38988 .22857 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Thr) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .42 .557 .137 r .05357 .26484 m .05357 .31978 L .35119 .31978 L .35119 .26484 L F 0 g gsave .38988 .29231 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Ser) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .53 .15 .34 r .05357 .32857 m .05357 .38352 L .35119 .38352 L .35119 .32857 L F 0 g gsave .38988 .35604 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Pro) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .83 .1 .12 r .05357 .39231 m .05357 .44725 L .35119 .44725 L .35119 .39231 L F 0 g gsave .38988 .41978 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Phe) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .816 .126 .565 r .05357 .45604 m .05357 .51099 L .35119 .51099 L .35119 .45604 L F 0 g gsave .38988 .48352 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Met) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .545 .271 .074 r .05357 .51978 m .05357 .57473 L .35119 .57473 L .35119 .51978 L F 0 g gsave .38988 .54725 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Lys) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .576 .439 .859 r .05357 .58352 m .05357 .63846 L .35119 .63846 L .35119 .58352 L F 0 g gsave .38988 .61099 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Leu) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .126 .698 .667 r .05357 .64725 m .05357 .7022 L .35119 .7022 L .35119 .64725 L F 0 g gsave .38988 .67473 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Ile) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .941 .902 .549 r .05357 .71099 m .05357 .76593 L .35119 .76593 L .35119 .71099 L F 0 g gsave .38988 .73846 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (His) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .753 .753 .753 r .05357 .77473 m .05357 .82967 L .35119 .82967 L .35119 .77473 L F 0 g gsave .38988 .8022 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Gly) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .118 .565 1 r .05357 .83846 m .05357 .89341 L .35119 .89341 L .35119 .83846 L F 0 g gsave .38988 .86593 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Gln) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .6 .196 .8 r .05357 .9022 m .05357 .95714 L .35119 .95714 L .35119 .9022 L F 0 g gsave .38988 .92967 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Glu) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .24 .57 .25 r .05357 .96593 m .05357 1.02088 L .35119 1.02088 L .35119 .96593 L F 0 g gsave .38988 .99341 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Cys) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore 1 .38 .01 r .05357 1.02967 m .05357 1.08462 L .35119 1.08462 L .35119 1.02967 L F 0 g gsave .38988 1.05714 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Asn) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .2 .63 .79 r .05357 1.09341 m .05357 1.14835 L .35119 1.14835 L .35119 1.09341 L F 0 g gsave .38988 1.12088 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Asp) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore .78 .38 .08 r .05357 1.15714 m .05357 1.21209 L .35119 1.21209 L .35119 1.15714 L F 0 g gsave .38988 1.18462 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Arg) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore 1 .34 .13 r .05357 1.22088 m .05357 1.27582 L .35119 1.27582 L .35119 1.22088 L F 0 g gsave .38988 1.24835 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Ala) show 81.000 12.813 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore MathSubEnd P % End of sub-graphic 0 0 m 1 0 L 1 .6734 L 0 .6734 L closepath clip newpath % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{456.875, 307.5}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgQb_lcXLX04OlcXLX00ol0003o @>3@od3Pd00Aod3Pd0030?ooool0003o000000Co0000YP3ooold0?lm30X0oooo00KoV9RHoc8bQbP03o`000?m0h=3o@>3@01So@>3@1_l0002P0?oooc@0ocd<2P3oool01_m4 A4CoV9RH0?ooo`3oooooV9RHodA4A0<0oooo00CoQb_lcXLX07OlcXLX00ol0003o@>3@od3Pd00Sod3Pd0030?ooool0003o000000;o0000d`3oool3 o`000080oooo0ol0000;0?ooo`03o`00003oool0oooo0600oooo002K0?ooo`;o000000<0oooooh]5 4_n;AA801on;AA800ol0003oQbP0Moc>QbP03o`000?m0h=3o@>3@02Oo@>3@00<0ooooo`00 0?l00000f@3oool3o`000003oa0@403oool0oooo00<0oooo00?o410@o`000?l00000HP3oool009L0 oooo1?l0000QbP0Loc>QbP03o`000?m0h=3o@>3@02ko@>3@1?l0002<0?ooocCo>5h?4`3oool00onHV9SoQb_lcXLX07?lc XLX00ol0003o@>3@od3Pd00aod3Pd0030?ooool0003o000008X0oooo=?lhGPl:0?ooo`05oa0@4?l0 003o0000o`000?l@4100103oool00ooMgMgo0000okZj^P030?ooo`03oa0@4?l0003o000000?o0000 H03oool008d0oooo1?l0000Goh]54P03o`000?lcXL[o5h?303oool0 0ol00000oooo0?ooo`030?ooo`05omgMgOl@4100ooooob4Q8OoMgMd0103oool00ol00000oooo0?oo o`1Q0?ooo`00RP3oool2o`0001coRdDB00?o0000oc>Qb_lcXLX07?lcXLX00ol0003o@>3@od3Pd00i od3Pd0;o0000P`3oooldocQN3``0oooo00?o00000?ooo`3oool00`3oool01OmVIVKoQhN70?oooonH V9SoEEEE00@0oooo00?o00000?ooo`3oool0H@3oool008H0oooo1?l0000Ooh]54P03o`000?lcXL[o om0h=04o`0007l0oooo=?lhGPl<0?ooo`03o`00003oool0 oooo0080oooo00?ok^k^o`000?o^k^h00P3oool00ol0003ogMgM0?ooo`020?ooo`03o`000?lb8ol000008?n;AA800ol0003oQbP0Koc>Q bP03o`000?m0h=3o@>3@03co@>3@00?o0000ooooo`3oool00_l0001m0?ooocCo>5h?2@3oool01?l0 0000oooo0?ooool000020?ooo`03o`00003ooooo410@00;o000000@0ooooo`000?l0003o410@0P3o ool2o`000004ojVYZOlQ8B7o0000ob4Q8El0oooo00220?ooo`;o000000<0ooooof^>8om[SR<00_m[ SR<00ol0003oRdDBoh]54P0Moh]54P03o`000?lcXL[oom0 h=000ol0003oooooooooo`02ooooo`030?ooool0003o000007/0oooo=?lhGPl90?ooo`04o`00003o ool0ooooo`000080oooo00?o00000?ooo`3oool0K@3oool00800oooo0_l00007of^>8`03o`000?n; AA;oRdDB01goRdDB00?o0000oc>Qb_lcXLX06olcXLX00ol0003o@>3@od3Pd00kod3Pd003o`000?oo oooooooo00Gooooo0_l0002f0?ooo`Oo0000K`3oool007h0oooo0_l00009of^>8`03o`000?n;AA;o RdDB01goRdDB00?o0000oc>Qb_lcXLX06olcXLX00ol0003o@>3@od3Pd00kod3Pd003o`000?oooooo oooo00Oooooo0_l000350?ooo`04oa0@4?l0003o0000o`000640oooo001l0?ooo`;o00003?m[SR<0 0ol0003oRdDBoh]54P0Moh]54P03o`000?lcXL[o_m0h=00 0ol0003oooooooooo`0:ooooo`;o0000M@3oooldoonI4A/0oooo00?o00000?ooo`3oool0H@3oool0 07/0oooo00?o0000of^>8om[SR<03?m[SR<00ol0003oRdDBoh]54P0Moh]54P03o`000?lcXL[o_m0h=000ol0003oooooooooo`0Om0h=000ol0003o ooooooooo`0>ooooo`;o0000LP3oooldoonI4@X0oooo00Go410@o`000?l0003o0000oa0@40020?oo o`03oa0@4?l0003o000000?o0000103oool01_l0003oMgMgo`000?l0003oEEEEonk^kUh0oooo001f 0?ooo`03o`00003oooooJhhS01;oJhhS00?o0000oh]54_n;AA807?n;AA800ol0003oQbP0J oc>QbP03o`000?m0h=3o@>3@03Wo@>3@00?o0000ooooooooool03oooool3o`000700oooo=?ooVA4< 0?ooo`03o`00003oool0oooo00@0oooo00?o00000?ooo`3oool01@3oool01_l0003oEEEEonk^kP3o ooooMgMgoeEEEEh0oooo001e0?ooo`03o`000?m[SR?oJhhS01CoJhhS00?o0000oh]54_n;AA806on; AA800ol0003oQbP0Joc>QbP03o`000?m0h=3o@>3@03So@>3@00?o0000ooooooooool03ooo ool01?l0003o8;:Zob2bZ_lP/ZX2o`0006h0oooo=?ooVA4<0?ooo`03o`00003oool0oooo00@0oooo 00?o00000?ooo`3oool01@3oool00ol0003ok^k^0?ooo`020?ooo`03o`00003oool0oooo05`0oooo 001c0?ooo`;o00005om[SR<00ol0003oRdDBoh]54P0Loh]54P03o`000?lcXL[o?m0h=000ol0003oooooooooo`0?ooooo`03o`000?lP/Z[o8;:Z00?o8;:Z0_l0 001/0?ooocCooiTA303oool00ol00000oooo0?ooo`040?ooo`03o`00003oool0oooo00D0oooo00?o 0000onk^kP3oool00P3oool00ol00000oooo0?ooo`1L0?ooo`00LP3oool00ol0003oJhhSof^>8`0G of^>8`03o`000?n;AA;oRdDB01coRdDB00?o0000oc>Qb_lcXLX06OlcXLX00ol0003o@>3@od3Pd00h od3Pd003o`000?oooooooooo00kooooo00?o0000ob2bZ_lP/ZX01_lP/ZX00ol00000oooo0?ooo`1Y 0?ooocCooiTA303oool00ol00000oooo0?ooo`040?ooo`03o`000?lbQbP0Ioc>QbP03o`000?m0h=3o@>3@03Oo@>3@00?o0000ooooooooool03ooo ool00ol0003o8;:Zob2bZP07ob2bZP;o0000J@3oooldoonI4@T0oooo00Co00000?ooo`3ooooo0000 0P3oool00ol00000oooo0?ooo`02o`000004ojVYZOlQ8B7o0000ob4Q8@80oooo00?o410@o`000?mg MgL00_l000000omVIVKok^k^0?ooo`1M0?ooo`00KP3oool2o`0001goJhhS00?o0000oh]54_n;AA80 6on;AA800ol0003oQbP0Ioc>QbP03o`000?m0h=3o@>3@03Oo@>3@00?o0000ooooooooool0 3_ooool00ol0003o8;:Zob2bZP0:ob2bZP;o0000I`3oooldoonI4@T0oooo00Co00000?ooo`3ooooo 00000P3oool00ol00000oooo0?ooo`1]0?ooo`00K03oool2o`00023oJhhS00?o0000oh]54_n;AA80 6_n;AA800ol0003oQbP0Ioc>QbP03o`000?m0h=3o@>3@03Ko@>3@00?o0000ooooooooool0 3oooool00ol0003o8;:Zob2bZP0QbP0Hoc>QbP03o`000?m0 h=3o@>3@03Ko@>3@00?o0000ooooooooool03_ooool00ol0003o8;:Zob2bZP0>ob2bZP030?ooool0 0000oooo0?l0oooo5`3oool006T0oooo0ol0000Rof^>8`03o`000?n;AA;oRdDB01_oRdDB00?o0000 oc>Qb_lcXLX06?lcXLX00ol0003o@>3@od3Pd00fod3Pd003o`000?oooooooooo00gooooo00?o0000 ob2bZ_lP/ZX04OlP/ZX2o`000680oooo=?m0h=1o0?ooo`00I`3oool2o`0000?oaf4D00?o0000of^> 8om[SR<08?m[SR<00ol0003oRdDBoh]54P0Joh]54P03o`000?lcXL[oooooo`03o`000?lP/Z[o8;:Z01?o8;:Z0_l0001P0?oo ocCo@>3@O`3oool006H0oooo00?o00000?ooo`3oool01?o7HA@00ol0003oJhhSof^>8`0Oof^>8`03 o`000?n;AA;oRdDB01[oRdDB00?o0000oc>Qb_lcXLX06?lcXLX00ol0003o@>3@od3Pd00eod3Pd003 o`000?oooooooooo00gooooo00?o0000ob2bZ_lP/ZX05OlP/ZX00`3ooooo00000?ooo`1N0?ooocCo @>3@2P3oool01Ol@413o0000o`000?l0003o410@00<0oooo00Co410@o`000?l00000oooo0_l00002 oa0@40Go0000H03oool006H0oooo00?o0000olMQ5?o7HA@01?o7HA@00ol0003oJhhSof^>8`0Pof^> 8`03o`000?n;AA;oRdDB01WoRdDB00?o0000oc>Qb_lcXLX06?lcXLX00ol0003o@>3@od3Pd00dod3P d003o`000?oooooooooo00kooooo00?o0000ob2bZ_lP/ZX05_lP/ZX00ol00000oooo0?ooo`1M0?oo ocCo@>3@303oool00ol00000oooo0?ooo`040?ooo`05o`00003oool0oooo0?ooool000000`3oool0 0ol00000oooo0?ooo`1Q0?ooo`00I03oool2o`0000Soaf4D00?o0000of^>8om[SR<07om[SR<00ol0 003oRdDBoh]54P0Joh]54P03o`000?lcXL[o3@303oool00ol0 0000oooo0?ooo`040?ooo`05o`00003oool0oooo0?ooool000000`3oool00ol00000oooo0?ooo`1Q 0?ooo`00HP3oool2o`0000_oaf4D00?o0000of^>8om[SR<07_m[SR<00ol0003oRdDBoh]54P0Joh]5 4P03o`000?lcXL[o3@303oool00ol00000oooo0?ooo`040?oo o`05o`00003oool0oooo0?ooool000000`3oool00ol00000oooo0?ooo`1Q0?ooo`00H@3oool00ol0 003oaf4DolMQ500;olMQ5003o`000?m[SR?oJhhS01ooJhhS00?o0000oh]54_n;AA806On;AA800ol0 003oQbP0Goc>QbP03o`000?m0h=3o@>3@03?o@>3@00?o0000ooooooooool03Oooool00ol0 003o8;:Zob2bZP0Lob2bZP030?ooool00000oooo05T0oooo=?m0h=0<0?ooo`03o`00003oool0oooo 00@0oooo00Go0000ogMgM`3oooooZJVYo`0000030?ooo`03o`000?lb8om[SR<07_m[SR<00ol0003oRdDBoh]54P0Ioh]5 4P03o`000?lcXL[oolMQ5003o`00 0?m[SR?oJhhS01ooJhhS00?o0000oh]54_n;AA806?n;AA800ol0003oQbP0=oc>QbQGo0000 :_m0h=000ol0003oooooooooo`0=ooooo`03o`000?lP/Z[o8;:Z01oo8;:Z00<0ooooo`00003oool0 E`3oooldod3Pd0T0oooo00Co00000?ooo`3ooooo00000P3oool01Ol00000oooo0?ooo`3ooooo0000 06/0oooo001N0?ooo`03o`000?o7HACoaf4D013oaf4D00?o0000of^>8om[SR<07_m[SR<00ol0003o RdDBoh]54P0Ioh]54P03o`000?lcXL[o8om[SR<07_m[SR<00ol0003oRdDBoh]54P0Hoh]54POo00001Ooo00000ol0003oool0 oooo000:oooo0003o`000?l0o`3o0?l000[o0?l000?o0000o`3oool0ool00ol0ool7o`0001[o@>3@ 00?o0000ooooooooool03Oooool00ol0003o8;:Zob2bZP0Sob2bZP;o0000V`3oool00ol@413o0000 0?ooo`1Z0?ooo`00F`3oool00ol0003oaf4DolMQ500DolMQ5003o`000?m[SR?oJhhS01koJhhS00?o 0000oh]54_n;AA805?n;AA85o`0000_oo`0000?o0000oooo0?ooo`002_ooo`000ol0003o0?l0o`3o 000:o`3o0003o`000?l0oooo0?oo00Wo0?oo1Ol0000Fod3Pd003o`000?oooooooooo00gooooo00?o 0000ob2bZ_lP/ZX09?lP/ZX00`3ooooo00000?ooo`1C0?ooocCoJhhSO`3oool005X0oooo00?o0000 0?ooooo7HA@05_o7HA@00ol0003oJhhSof^>8`0Mof^>8`03o`000?n;AA;oRdDB017oRdDB0ol00004 o`3oo`03o`000?oo003oo`0000Woo`0000?o0000oooo0?ooo`002_ooo`000ol0003o0?l0o`3o000: o`3o0003o`000?l0oooo0?oo00Wo0?oo00?o0000ool00?oo00000_oo0003o`0001?o@>3@00?o0000 ooooooooool03?ooool00ol0003o8;:Zob2bZP0Vob2bZP030?ooool00000oooo0580oooo=?m[SR=o 0?ooo`00F@3oool00ol0003oaf4DolMQ500HolMQ5003o`000?m[SR?oJhhS01goJhhS00?o0000oh]5 4_n;AA802on;AA85o`0000Oo0?oo00?o0000ool00?oo00002Ooo00000ol0003oool0oooo000:oooo 0003o`000?l0o`3o0?l000[o0?l000?o0000o`3oool0ool02Ol0ool00ol0003oo`00ool00005ool0 00Go00003Om0h=000ol0003oooooooooo`0=ooooo`03o`000?lP/Z[o8;:Z02Oo8;:Z00<0ooooo`00 003oool0D@3oooldof^>8`X0oooo00Ko410@ob4Q8Ol0003o0000odA4A?oMgMd20?ooo`08onk^k_mE EEGo0000o`000?m4A4Co^[Zj0?ooool@4105o`000600oooo001H0?ooo`03o`000?o7HACoaf4D01Wo af4D00?o0000of^>8om[SR<07Om[SR<00ol0003oRdDBoh]54P08oh]54PCo00002ol0ool00ol0003o o`00ool00009ool00003oooo0?l0003oool000[oool000?o0000o`3o0?l0o`002Ol0o`000ol0003o 0?ooo`3oo`0:o`3oo`03o`000?oo003oo`0000Woo`001?l0000:od3Pd003o`000?oooooooooo00co oooo00?o0000ob2bZ_lP/ZX0:OlP/ZX00`3ooooo00000?ooo`1@0?ooocCoJhhS2P3oool01_l0003o QhN70?ooo`3oooooQhN7ob4Q8@80oooo00KoEEEEogMgM`3oooook^k^ogMgMol@41030?ooo`03o`00 003oool0oooo0640oooo001G0?ooo`03o`000?o7HACoaf4D01_oaf4D00?o0000of^>8om[SR<07Om[ SR<00ol0003oRdDBoh]54P05oh]54P;o00000_n;AA800ol0o`3o0000o`3oo`0;o`3oo`03o`000?oo 003oo`0000Woo`0000?o0000oooo0?ooo`002Oooo`000ol0003o0?l0o`3o0009o`3o0003o`000?l0 oooo0?oo00Wo0?oo00?o0000ool00?oo00002_oo00001?l0003oool0oooo0?m0h=03o`0000Ko@>3@ 00?o0000ooooooooool03Oooool00ol0003o8;:Zob2bZP0[ob2bZP03o`00003oool0oooo04h0oooo =?m[SR<:0?ooo`06ob4Q8@3oool0oooo0?ooooo^k^ko00000P3oool00ol00000oooo0?ooo`060?oo o`03o`00003oool0oooo0640oooo001E0?ooo`;o00007oo7HA@00ol0003oJhhSof^>8`0Lof^>8`03 o`000?n;AA;oRdDB00;oRdDB0ol000000on;AA;o0?l0o`3o0002o`3o0003o`000?l0oooo0?oo00[o 0?oo00?o0000ool00?oo00002Ooo00000ol0003oool0oooo0009oooo0003o`000?l0o`3o0?l000Wo 0?l000?o0000o`3oool0ool02Ol0ool00ol0003oo`00ool0000:ool00003o`000?ooo`3oool000?o ool000Co@>3@o`000?l0003o00000om0h=000ol0003oooooooooo`00?ooocCoJhhS2`3oool01OoMgMgoV9RHogMgMol@413oIVIV0080oooo1_l00003 0?ooo`03o`00003oool0oooo0640oooo001D0?ooo`03o`00003oooooaf4D01ooaf4D00?o0000of^> 8om[SR<07?m[SR<00ol0003oRdDBo`000002o`000003oh]54_l0o`3o0?l000Ko0?l000?o0000o`3o ool0ool02Ol0ool00ol0003oo`00ool00009ool00003o`000?ooo`3oool000Woool000?o0000o`3o 0?l0o`002Ol0o`000ol0003o0?ooo`3oo`09o`3oo`03o`000?oo003oo`0000Woo`0000?o0000oooo 0?ooo`001oooo`000om0h=3o0000o`000002o`0000gooooo00?o0000ob2bZ_lP/ZX0;olP/ZX00`3o oooo00000?ooo`1<0?ooocCoJhhS2P3oool01OmVIVKo410@oeEEEOn7QhOo^[Zj00<0oooo00KoEEEE ohN7Qoo^k^h0ooooohN7Qolb8om[SR<06_m[SR<3o`000003oh]54_l0o`3o0?l000Wo0?l000?o 0000o`3oool0ool02Ol0ool00ol0003oo`00ool00009ool00003o`000?ooo`3oool000Woool000?o 0000o`3o0?l0o`002Ol0o`000ol0003o0?ooo`3oo`09o`3oo`03o`000?oo003oo`0000Woo`0000?o 0000oooo0?ooo`002_ooo`03o`0000cooooo00?o0000ob2bZ_lP/ZX08`0Hof^>8`04o`000?m[SR?oool0o`0000co0?l000?o 0000o`3oool0ool02Ol0ool00ol0003oo`00ool00009ool00003o`000?ooo`3oool000Woool000?o 0000o`3o0?l0o`002Ol0o`000ol0003o0?ooo`3oo`09o`3oo`03o`000?oo003oo`0000Woo`0000?o 0000oooo0?ooo`002_ooo`001?l0003o0?l0o`3o0?l0000:ooooo`03o`000?lP/Z[o8;:Z03;o8;:Z 00?o00000?ooo`3oool0BP3oooldof^>8`X0oooo00Ko8om[SR<05_m[SR<2o`0000Coool000?o0000o`3o0?l0 o`002_l0o`000ol0003o0?ooo`3oo`09o`3oo`03o`000?oo003oo`0000Soo`0000?o0000oooo0?oo o`002Oooo`000ol0003o0?l0o`3o0009o`3o0003o`000?l0oooo0?oo00So0?oo00?o0000ool00?oo 00002Ooo00000ol0003oool0oooo000:oooo0003o`000?l0o`3o0?l000;o0?l00ol00007ooooo`03 o`000?lP/Z[o8;:Z03?o8;:Z00?o00000?ooo`3oool0Q`3oool01_o^k^koA4A4o`000?l0003o8om[SR<04_m[SR<3 o`0000Koool000?o0000o`3o0?l0o`002_l0o`000ol0003o0?ooo`3oo`09o`3oo`03o`000?oo003o o`0000Soo`0000?o0000oooo0?ooo`002Oooo`000ol0003o0?l0o`3o0009o`3o0003o`000?l0oooo 0?oo00So0?oo00?o0000ool00?oo00002Ooo00000ol0003oool0oooo000:oooo0003o`000?l0o`3o 0?l000Go0?l00ol00003ooooo`03o`000?lP/Z[o8;:Z03?o8;:Z00?o0000olMQ5?l00000o@3oool0 0500oooo00Go0000oolm3?oo?@coocd8om[SR<03Om[SR<00ol0003oJhhSoooo000;oooo0003o`000?l0o`3o0?l000Wo0?l000?o 0000o`3oool0ool02Ol0ool00ol0003oo`00ool00008ool00003oooo0?l0003oool000Woool000?o 0000o`3o0?l0o`002?l0o`000ol0003o0?ooo`3oo`09o`3oo`03o`000?oo003oo`0000Woo`0000?o 0000oooo0?ooo`002Oooo`000ol0003o0?l0o`3o000;o`3o0003o`000?lP/Z[o8;:Z03;o8;:Z00?o 0000olMQ5?o7HA@00oo7HA@00ol00000oooo0?ooo`160?ooocCoQbIGO`3oool004h0oooo00?o0000 oolm3?oo?@`01Ooo?@`00ol0003oaf4DolMQ500RolMQ5003o`000?m[SR?oJhhS00[oJhhS0ol0000= oooo0003o`000?l0o`3o0?l000[o0?l000?o0000o`3oool0ool02?l0ool00ol0003oo`00ool00008 ool00003oooo0?l0003oool000Woool000?o0000o`3o0?l0o`002?l0o`000ol0003o0?ooo`3oo`09 o`3oo`03o`000?oo003oo`0000Soo`0000?o0000oooo0?ooo`002_ooo`000ol0003o0?l0o`3o000; o`3o00?o00008om[SR<02?m[SR<2o`000004of^>8ooo003oo`00o`0000goool000?o0000o`3o0?l0 o`002Ol0o`000ol0003o0?ooo`3oo`09o`3oo`03o`000?oo003oo`0000Soo`0000?o0000oooo0?oo o`002?ooo`000ol0003o0?l0o`3o0008o`3o0003o`000?l0oooo0?oo00So0?oo00?o0000ool00?oo 00002Ooo00000ol0003oool0oooo0009oooo0003o`000?l0o`3o0?l000_o0?l000Co0000o`3oool0 oooo8;:Z0_l0000^ob2bZP03o`000?o7HACoaf4D00Ooaf4D00?o00000?ooo`3oool0A03oooldohLV E`/0oooo00?o00000?ooo`3oool01@3oool00ol00000oooo0?ooo`040?ooo`06oeEEEOmgMgL0oooo 0?oooomgMgOoEEEEG`3oool004`0oooo00?o0000oolm3?oo?@`02Ooo?@`00ol0003oaf4DolMQ500Q olMQ5003o`000?m[SR?oJhhS00KoJhhS00?o0000of^>8ooo00000ooo00000ol0003oool0oooo000; oooo0003o`000?l0o`3o0?l000Wo0?l000?o0000o`3oool0ool02Ol0ool00ol0003oo`00ool00008 ool00003o`000?ooo`3oool000Soool000?o0000o`3o0?l0o`002?l0o`000ol0003o0?ooo`3oo`08 o`3oo`03o`000?oo003oo`0000Woo`0000?o0000oooo0?ooo`002Oooo`000ol0003o0?l0o`3o000; o`3o0003o`000?l0oooo0?oo00?o0?oo00?o0000ob2bZ_lP/ZX0:_lP/ZX00ol0003oaf4DolMQ5009 olMQ5003o`00003oool0oooo04<0oooo=?n79UL;0?ooo`03o`00003oool0oooo00D0oooo00?o0000 0?ooo`3oool0103oool00ol00000oooo0?ooo`020?ooo`03o`00003oool0oooo05d0oooo001;0?oo o`03o`000?oo?@coocd<00_oocd<00?o0000olMQ5?o7HA@08Oo7HA@00ol0003oJhhSof^>8`03of^> 8`;o00001ooo00000ol0003oool0oooo000;oooo0003o`000?l0o`3o0?l000Wo0?l000?o0000o`3o ool0ool02?l0ool00ol0003oo`00ool00008ool00003o`000?ooo`3oool000Soool000?o0000o`3o 0?l0o`002?l0o`000ol0003o0?ooo`3oo`08o`3oo`03o`000?oo003oo`0000Soo`0000?o0000oooo 0?ooo`002Oooo`000ol0003o0?l0o`3o000;o`3o0003o`000?l0oooo0?oo00Go0?oo0_l0000Yob2b ZP03o`000?o7HACoaf4D00_oaf4D00?o00000?ooo`3oool0@P3oooldohLVE`/0oooo0ol000000olQ 8B7oc8om[SR<00_m[SR<00ol0003oo`00ool00007ool00003o`000?ooo`3oool000_o ool000?o0000o`3o0?l0o`002Ol0o`000ol0003o0?ooo`3oo`08o`3oo`03o`000?oo003oo`0000So o`0000?o0000oooo0?ooo`002?ooo`000ol0003o0?l0o`3o0008o`3o0003o`000?l0oooo0?oo00So 0?oo00?o0000ool00?oo00002?oo00000ol0003oool0oooo0009oooo0003o`000?l0o`3o0?l000_o 0?l000?o0000o`3oool0ool01ol0ool00ol0003o8;:Zob2bZP0Uob2bZP03o`000?o7HACoaf4D00co af4D00?o00000?ooo`3oool0@P3oooldohLVE`/0oooo00Go00000?ooo`3oooooQhN7oa0@40030?oo o`03o`000?lb`3oooldom@I7P/0oooo00?o00000?oo o`3oool01@3oool01Ol00000oooo0?ooo`3ooooo00000080oooo00KoEEEEogMgM`3oooook^k^ogMg Mol@411O0?ooo`00@`3oool00ol0003oocdo`3oo`03o`000?oo 003oo`0000_oo`0000?o0000oooo0?ooo`002Oooo`000ol0003o0?l0o`3o0008o`3o0003o`000?l0 oooo0?oo00Oo0?oo00?o0000ool00?oo00001ooo00000ol0003oool0oooo0007oooo0003o`000?l0 o`3o0?l000Oo0?l000?o0000o`3oool0ool01ol0ool00ol0003oo`00ool00007ool00003o`000?oo o`3oool000Soool000?o0000o`3o0?l0o`002Ol0o`000ol0003o0?ooo`3oo`0;o`3oo`03o`000?oo 003oo`0000coo`000_l0000?ob2bZP03o`000?o7HACoaf4D01koaf4D00?o00000?ooo`3oool0>P3o ooldom@I7P/0oooo0ol000000olQ8B7oco`3oo`03o`000?oo003oo`0000[oo`0000?o0000oooo0?ooo`00 2Oooo`000ol0003o0?l0o`3o0008o`3o0003o`000?l0oooo0?oo00Oo0?oo00?o0000ool00?oo0000 1ooo00000ol0003oool0oooo0007oooo0003o`000?l0o`3o0?l000Oo0?l000?o0000o`3oool0ool0 1ol0ool00ol0003oo`00ool00007ool00003o`000?ooo`3oool000Soool000?o0000o`3o0?l0o`00 2Ol0o`000ol0003o0?ooo`3oo`0:o`3oo`03o`000?oo003oo`0000coo`0000Co0000oooo0?ooo`3o 00003OlP/ZX00ol0003oaf4DolMQ500PolMQ5003o`00003oool0oooo03T0oooo=?oD6Ah;0?ooo`05 o`00003oool0ooooohN7Qol@41000`3oool01Ol0003oMgMg0?oooonYZJWo00000080oooo00KoEEEE ohN7Qoo^k^h0ooooohN7Qolboooo0003o`000?l0o`3o0?l000_o0?l000?o0000o`3oool0ool02?l0ool01Ooo003o0000ool0 0?oo003o0000013o0?l000?o0000o`3oool0ool07Ol0ool00ol0003oo`00ool0000Mool00003o`00 0?ooo`3oool000koool000Co0000o`3oool0oooo00002ooo00000ol0003oool0oooo000;oooo0003 o`000?l0o`3o0?l000go0?l000?o0000o`3oool0ool01Ol0ool00oo7HACo0000olMQ500XolMQ5003 o`00003oool0oooo02d0oooo=?n;AA8;0?ooo`05o`00003oool0oooo0?ooool000000P3oool01OoM gMgo410@0?oooolQ8B7ogMgM00@0oooo00Go^[ZjohN7QomVIVKoIVIVoa0@401O0?ooo`00=@3oool0 0ol0003oocdool00003o`000?ooo`3oool000goool000?o0000 o`3o0?l0o`002_l0o`001Ol0003o0?ooo`3oool0oooo000001Wo0?l000?o0000o`3oool0ool06ol0 ool00ol0003oo`00ool0000Kool00003o`000?ooo`3oool001Ooool000Go0000ool00?oo003oo`00 o`00000ool00003o`000?ooo`3oool000_o ool000?o0000o`3o0?l0o`008ol0o`000ol0003o0?ooo`3oo`0Ho`3oo`03o`000?oo003oo`0001So o`0000?o0000oooo0?ooo`008oooo`000ol0003o0?l0o`3o000;o`3o0003o`000?l0oooo0?oo00ko 0?oo00?o0000ool00?oo00003?oo00000ol0003oaf4DolMQ500VolMQ5003o`00003oool0oooo02H0 oooo=?nCL=/;0?ooo`03o`00003oool0oooo00@0oooo00KoEEEEohN7Qoo^k^h0ooooohN7Qolbo`3oo`;o00003ooo00000ol0003oool0oooo0009oooo0003o`000?ooo`3o 000002Co0?l000?o0000o`3oool0ool06?l0ool00ol0003oo`00ool0000Hool00003o`000?ooo`3o ool002;oool000?o0000o`3o0?l000002_l0o`02o`0000oo0?oo0_l0000?ool00003o`000?o7HACo af4D02Koaf4D00<0ooooo`00003oool09P3oooldoi=`f`/0oooo00?o00000?ooo`3oool0103oool0 1_o^k^koEEEEo`000?l0003oA4A4onk^kP80oooo00Co410@o`00003oool0oooo0_l0001O0?ooo`00 ;P3oool2o`0002Koocd<00?o0000o`3oool0ool04Ol0ool00ol0003oo`00ool0000=ool000;o0000 2?ooo`001Ol0003oool0oooo0?ooo`3o000002Co0?l000?o0000o`3oool0ool05ol0ool00ol0003o o`00ool0000Gool00003o`000?ooo`3oool002;oool000Go0000o`3o0?l0o`3o0?l0o`000008o`3o 0003o`000?l0oooo0?oo00ko0?oo00?o0000ool00?oo00004?oo00000ol0003oaf4DolMQ500UolMQ 50;o00009`3oooldoi=`f`/0oooo00?o00000?ooo`3oool0L@3oool002h0oooo00?o0000oomG8Ol0 00000_l0000Soolm3003o`000?l0oooo0?oo01;o0?oo0_l0000?ool00003o`000?ooo`3oool000Co ool000?o0000oooo0?ooo`000oooo`000ol0003o0?l0o`3o000Qo`3o0003o`000?l0oooo0?oo01Oo 0?oo00?o0000ool00?oo00005ooo00000ol0003oool0oooo000Qoooo0003o`000?l0o`3o0?l000?o 0?l000?o0000o`3o0?l0o`001?l0o`000ol0003o0?ooo`3oo`0=o`3oo`;o00005?oo00000ol0003o af4DolMQ500QolMQ50?o000000?o7Y3oo`00003oool0H`3oool00ol@413o0000o`000002o`000740 oooo000]0?ooo`03o`000?ooEb7ooeLQ00?ooeLQ0_l0000Poolm30;o00005_l0ool00ol0003oo`00 ool0000=ool00003o`000?ooo`3oool000;oool000?o0000oooo0?ooo`001Oooo`000ol0003o0?l0 o`3o000Qo`3o0003o`000?l0oooo0?oo01Ko0?oo00?o0000ool00?oo00005_oo00000ol0003oool0 oooo000Qoooo0003o`000?l0o`3o0?l000Go0?l000?o0000o`3o0?l0o`000_l0o`000ol0003o0?oo o`3oo`0=o`3oo`03o`000?oo003oo`0001Coo`000_l0000PolMQ50;o00001OlNT?l00ol00000oooo 0?ooo`3G0?ooo`00;@3oool00ol0003ooeLQoomG8@05oomG8@?o00007Ooo?@`01?l0003o0?l0o`00 0?l0000Eo`3oo`03o`000?oo003oo`0000goo`0000Go0000oooo0?ooo`3oool0o`000008oooo0003 o`000?l0o`3o0?l0023o0?l000?o0000o`3oool0ool05_l0ool00ol0003oo`00ool0000Fool00003 o`000?ooo`3oool0023oool000?o0000o`3o0?l0o`001_l0o`001Ol0003o0?l0o`3o0?l0o`3o0000 00oo0?oo00?o0000ool00?oo00004ooo0002o`000003oooo0?l0003oaf4D01coaf4D0ol00007oaj@ o`03o`00003oool0oooo02@0oooo=?lP/ZYo0?ooo`00;03oool00ol0003ooeLQoomG8@09oomG8@;o 00006_oo?@`00ol0003o0?l0o`3o0002o`3o00;o00005?l0ool2o`0000koo`0000?o0000oooo0?l0 00002_ooo`000ol0003o0?l0o`3o000Po`3o0003o`000?l0oooo0?oo01Go0?oo00?o0000ool00?oo 00005Ooo00000ol0003oool0oooo000Poooo0003o`000?l0o`3o0?l000So0?l000?o0000o`3o0?l0 00003_l0ool2o`0001Coo`000_l00004oooo0003o`000?o7HACoaf4D01Soaf4D0_l0000:oaj@o`03 0?ooool00000oooo02@0oooo=?lP/ZYo0?ooo`00;03oool00ol0003ooeLQoomG8@0;oomG8@;o0000 6?oo?@`00ol0003o0?l0o`3o0004o`3o0003o`000?l0oooo0?oo01?o0?oo00?o0000ool00?oo0000 3?oo00000ol0003oool0oooo000:oooo0003o`000?l0o`3o0?l001oo0?l000?o0000o`3oool0ool0 5Ol0ool00ol0003oo`00ool0000Eool00003o`000?ooo`3oool001ooool000?o0000o`3o0?l0o`00 2_l0o`000ol0003o0?ooo`3oo`0o`3o0003o`000?l0oooo0?oo00Oo0?oo00?o0000ool0 0?oo00004_oo0002o`0000[oool000?o0000olMQ5?o7HA@04?o7HA@2o`0001?o7Y3o00?o00000?oo o`3oool08P3oooldob2bZP`0oooo00?o00000?ooo`3oool01@3oool00ol00000oooo0?ooo`030?oo o`03o`00003oool0oooo0680oooo000[0?ooo`03o`000?ooEb7ooeLQ01?ooeLQ0ol0000?oolm3003 o`000?l0o`3o0?l000[o0?l00_l0000Co`3oo`;o00001_oo00000ol0003oool0oooo000@oooo0003 o`000?l0o`3o0?l001go0?l000?o0000o`3oool0ool03?l0oolBo`0000goo`0000?o0000oooo0?oo o`007Oooo`000ol0003o0?l0o`3o000@o`3o0003o`000?l0oooo0?oo00Co0?oo0_l0000Cool000;o 00003?ooo`000ol0003oaf4DolMQ500=olMQ50?o00005OlNT?l00ol00000oooo0?ooo`0R0?ooocCo 8;:Z303oool00ol00000oooo0?ooo`050?ooo`03o`00003oool0oooo00<0oooo1_l0001O0?ooo`00 :`3oool00ol0003ooeLQoomG8@0FoomG8@;o00003?oo?@`00ol0003o0?l0o`3o000=o`3o00;o0000 4ol0ool00ol0003oo`00ool00002ool00003o`000?ooo`3oool001;oool000?o0000o`3o0?l0o`00 7Ol0o`000ol0003o0?ooo`3oo`06o`3oo`Go00004_l0ool5o`0000Ooo`0000?o0000oooo0?ooo`00 7Oooo`000ol0003o0?l0o`3o000Ao`3o0003o`3oool0003o0?oo00?o0?oo00?o0000ool00?oo0000 4Ooo0002o`0000koool000?oaf4Do`000?o7HA@02oo7HA@2o`0001So7Y3o00?o00000?ooo`3oool0 8P3oooldob2bZP`0oooo00?o00000?ooo`3oool01@3oool00ol00000oooo0?ooo`030?ooo`06oeEE EOn7QhOok^k^0?oooon7QhOool0ool2o`0000koool000?o0000o`3o0?l0o`00 7_l0o`000ooo003o0000ool00004ool00003o`000?ooo`3oool001Goool00ol00007o`3o0003o`00 0?lNT?oo7Y3o02Co7Y3o00?o00000?ooo`3oool07`3oooldoo3VS0X0oooo00Go00000?ooo`3oool0 ooooo`0000060?ooo`03o`00003oool0oooo0080oooo00Ko0000ojVYZ@3oool0oooookZj^_l0001O 0?ooo`00:03oool00ol0003ooeLQoomG8@0SoomG8@03o`000?ooo`3oool000Woool00_l0000Fo`3o 00;o00000ol0ool00ol0003oool0oooo000Poooo0003o`000?l0o`3o0?l000[o0?l000?o0000o`3o ool0ool0?Ol0ool00ol0003oool0oooo000:oooo0003o`000?l0o`3o0?l0023o0?l000Co0000ool0 0?oo003oo`000_l0000Foooo00;o00002_l0o`000olNT?oo0000oaj@o`0Toaj@o`03o`00003oool0 oooo01l0oooo=?o`iX`:0?ooo`05o`00003oool0oooo0?ooool000001P3oool00ol00000oooo0?oo o`030?ooo`05okZj^_n7QhOoIVIVofIVI_l@4100G`3oool002P0oooo00?o0000oomG8OooEb408ooo Eb400ol0003oool0oooo000;oooo00;o00005_l0o`03o`0002Coool000?o0000o`3o0?l0o`002?l0 o`000ol0003o0?ooo`3oo`0oo`3oo`03o`000?ooo`3oool000Soool000?o0000o`3o0?l0o`008Ol0 o`001?oo003o0000o`000?l0000Foooo00;o00003Ol0o`000ol0003o7Y3ooaj@o`0Soaj@o`03o`00 003oool0oooo01l0oooo=?o`iX`:0?ooo`05o`00003oool0oooo0?ooool000001P3oool00ol00000 oooo0?ooo`020?ooo`06oc8b<_lQ8B7oMgMgogMgMon7QhOok^k^G`3oool002L0oooo00?o0000oomG 8OooEb409?ooEb400ol0003oool0oooo000=oooo00?o00005Ol0o`000ol0003oool0oooo000Soooo 0003o`000?l0o`3o0?l000Go0?l00_l00013o`3oo`03o`000?ooo`3oool000Koool000?o0000o`3o 0?l0o`008ol0o`000ol0003oool0oooo000Coooo00?o00003ol0o`000olNT?oo0000oaj@o`0Toaj@ o`03o`00003oool0oooo01h0oooo=?o`iX`:0?ooo`Go00001P3oool00ol00000oooo0?ooo`020?oo o`06o`000?nj^[X0ooooonk^k_mgMgOo0000G`3oool002L0oooo00?o0000oomG8OooEb408oooEb40 0ol0003oool0oooo000Aoooo00;o00004_l0o`000ol0003oool0oooo000Uoooo0003o`000?l0o`3o 0?l000;o0?l00_l00016o`3oo`03o`000?ooo`3oool000Coool000?o0000o`3o0?l0o`009?l0o`00 0oooo`3o0000oooo000Aoooo00;o00004ol0o`000ol0003o7Y3ooaj@o`0Soaj@o`03o`00003oool0 oooo01h0oooo=?o`iX`:0?ooo`05o`00003oool0oooo0?ooool00000103oool00ol@413o0000o`00 00040?ooo`06ojVYZOlQ8B7o0000o`000?lbol0ool00ol0003oo`00ool0000JJool00003o`000?o`iXcol>J<02;ol>J<00?o00000?ooo`3oool06P3oooldoaj@o`T0oooo 00?o00000?ooo`3oool00ol000000ol@4100oooo0?ooo`020?ooo`03o`00003oool0oooo00@0oooo 00Go00000?ooo`3oool0ooooo`00001O0?ooo`008`3oool00ol0003ooeLQoomG8@0RoomG8@03o`00 0?l0oooo0?oo017o0?oo1Ol0000JJ<02;ol>J< 00?o00000?ooo`3oool06P3oooldoaj@o`T0oooo00Ko8B4QojVYZ@3oool0ooooonk^k_l@41050?oo o`03o`00003oool0oooo00<0oooo00?o410@o`000?mgMgL00_l000000onHV9P0oooo0?ooo`1M0?oo o`008P3oool00ol0003ooeLQoomG8@0SoomG8@03o`000?l0oooo0?oo01_o0?oo1Ol00002ool00003 o`000?oo003oo`0002?oo`0000?o0000o`3o0?l0o`007_l0o`000ol0003o0?ooo`3oo`0So`3oo`03 o`000?oo003oo`0001koo`0000?o0000o`3oool0ool08ol0ool00ol0003o0?ooo`3oo`05o`0001go o`0000?o0000oo3VS?o`iX`08_o`iX`00ol00000oooo0?ooo`0J0?ooocCo7Y3o2@3oool01_nYZJWo 8B4QomgMg@3oooooQhN7o`0000D0oooo00?o00000?ooo`3oool0J03oool00280oooo00?o0000oomG 8OooEb408_ooEb400ol0003o0?ooo`3oo`0Qo`3oo`?o00009Ooo00000ol0003o0?l0o`3o000Oo`3o 0003o`000?l0oooo0?oo027o0?oo00?o0000ool00?oo00007ooo00000ol0003o0?ooo`3oo`0So`3o o`?o00008_oo00000oo`iXco0000oo3VS00Roo3VS003o`00003oool0oooo05P0oooo00GoV9RHoa0@ 4?l0003o8B4Qo`0000050?ooo`03o`00003oool0oooo06P0oooo000R0?ooo`03o`000?ooEb7ooeLQ 02;ooeLQ00?o0000o`3oool0ool08ol0ool00ol0003oo`00ool0000Rool00003o`000?l0o`3o0?l0 027o0?l000?o0000o`3oool0ool07ol0ool00ol0003oo`00ool0000Qool00003o`000?l0oooo0?oo 02;o0?oo00?o0000ool00?oo00008ooo00000ol0003ol>JJ<02;ol>J<00?o00000?ooo`3oool06@3oooldoiTbc7l0 oooo000R0?ooo`03o`000?ooEb7ooeLQ02;ooeLQ00?o0000o`3oool0ool08_l0ool00ol0003oo`00 ool0000Sool00003o`000?l0o`3o0?l002?o0?l000?o0000o`3oool0ool06ol0ool00ol0003oo`00 ool0000Sool00003o`000?l0oooo0?oo02?o0?oo00?o0000ool00?oo00008_oo00000ol0003ol>J< oo3VS00Roo3VS003o`00003oool0oooo01T0oooo=?nIoooo0003o`000?o`iXcol>J<02;ol>J<00?o0000 0?ooo`3oool06@3oooldoiTbc0T0oooo00?o00000?ooo`3oool00ol000000ol@4100oooo0?ooo`02 0?ooo`03o`00003oool0oooo00@0oooo00Go00000?ooo`3oool0ooooo`00001O0?ooo`008P3oool0 0ol0003ooeLQoomG8@0RoomG8@03o`000?l0o`3o0?l001Go0?l02Ol00003o`3oo`03o`000?oo003o o`0002?oo`0000?o0000o`3o0?l0o`00:Ol0o`000ol0003o0?ooo`3oo`0Ao`3oo`03o`000?oo003o o`0002Woo`0000?o0000o`3oool0ool08_l0ool00ol0003oo`00ool00002ool000Wo00005oooo`00 0ol0003ol>JJJJ<027ol>J< 00?o00000?ooo`3oool06@3oooldocfA?a<0oooo00?o410@okZj^P3oool0J@3oool00240oooo00?o 0000oomG8OooEb408_ooEb400ol0003o0?l0o`3o000Ro`3o0003o`000?oo003oo`0002;oo`0000?o 0000o`3o0?l0o`00J<027ol>J<00?o 00000?ooo`3oool06@3oooldocfA?a<0oooo00?oV9RHoc8bJ<027ol>J<00?o0000 0?ooo`3oool06@3oooldocfA?`X0oooo00GoV9RHoa0@4?l0003oQbP0Roc>QbP03o`000?ooo`3oool0 02;oool000?o0000o`3oool0ool08_l0ool00ol0003o0?l0o`3o000co`3o0003o`000?ooo`3o0000 03Goo`0000?o0000ool00?oo00008_oo00000ol0003o0?l0o`3o000Ro`3o0003o`000?n79UOoQbIG 02;oQbIG00?o00000?ooo`3oool0603oooldocfA?`T0oooo00?o00000?ooo`3oool01@3oool00oo^ k^ko0000onk^kP020?ooo`0:o`000?oMgMd0oooo0?ooool0003o^[Zj0?ooooo^k^koMgMgo`0005l0 oooo000Q0?ooo`03o`000?lcXL[oQb_lcXLX08_lcXLX00ol0003oool0oooo000Roooo0003o`000?l0 oooo0?oo02;o0?oo00?o0000o`3o0?l0o`00QbP0Roc>QbP03o`000?ooo`3oool002;oool0 00?o0000o`3oool0ool08_l0ool00ol0003o0?l0o`3o000`o`3o0003o`000?ooo`3oool000Goool0 00?o0000ool00?oo0000Qb_lcXLX08_lcXLX00ol0003oool0oooo000Roooo0003o`00 0?l0oooo0?oo02;o0?oo00?o0000o`3o0?l0o`00;ol0o`000ol0003oool0oooo0007oooo0003o`00 0?oo003oo`0002ooo`0000?o0000ool00?oo00008_oo00000ol0003o0?l0o`3o000Ro`3o0003o`00 0?n79UOoQbIG027oQbIG00?o00000?ooo`3oool0c03oool00280oooo00?o0000oc>Qb_lcXLX08Olc XLX00ol0003oool0oooo000Roooo0003o`000?l0oooo0?oo02;o0?oo00?o0000o`3o0?l0o`00;_l0 o`000ol0003oool0oooo0009oooo0003o`000?oo003oo`0002koo`0000?o0000ool00?oo00008_oo 00000ol0003o0?l0o`3o000Ro`3o0003o`000?n79UOoQbIG027oQbIG00?o00000?ooo`3oool06@3o ooldoomQ0Wl0oooo000R0?ooo`03o`000?lcXL[oQbP0Qoc>QbP03o`000?ooo`3oool002;oool000?o0000o`3oool0ool08_l0ool00ol0 003o0?l0o`3o000/o`3o0003o`000?ooo`3oool000goool000?o0000ool00?oo0000;?oo00000ol0 003oo`00ool0000Rool00003o`000?l0o`3o0?l0027o0?l000?o0000ohLVEon79UL08_n79UL00ol0 0000oooo0?ooo`0I0?ooocCoof422@3oool3o`000080oooo0ol000000`3ooooo410@oc8bQbP0Roc>QbP03o`000?ooo`3oool001_oool01ol0000To`3oo`03o`000?l0o`3o 0?l002_o0?l000?o0000oooo0?ooo`003oooo`000ol0003oo`00ool0000[ool00003o`000?oo003o o`00027oo`001ol0000No`3o0003o`000?n79UOoQbIG02;oQbIG00?o00000?ooo`3oool06@3ooold oomQ0PT0oooo00?ok^k^o`000?o^k^h00`3oool01Ol0003ogMgM0?ooool0003oZJVY0080oooo00?o ^[Zjo`00003oool00P3oool01Ol00000oooo0?ooo`3ooooo000005l0oooo000R0?ooo`03o`000?lc XL[oQb_lcXLX0 8_lcXLX00ol0003oo`00ool0000Rool00003o`000?l0oooo0?oo02;o0?oo00?o0000o`3o0?l0o`00 9Ol0o`000ol0003oool0oooo000Ioooo0003o`000?oo003oo`0002Coo`0000?o0000ool00?oo0000 8ooo00000ol0003o0?ooo`3oo`0Ro`3oo`03o`000?n79UOoQbIG02;oQbIG00?o00000?ooo`3oool0 6@3oooldoomQ0P/0oooo00CocQb_lcXLX0 8_lcXLX00ol0003oo`00ool0000Rool00003o`000?l0oooo0?oo02?o0?oo00?o0000o`3o0?l0o`00 8ol0o`000ol0003oool0oooo000Koooo0003o`000?oo003oo`0002?oo`0000?o0000ool00?oo0000 8ooo00000ol0003o0?ooo`3oo`0Ro`3oo`03o`000?n79UOoQbIG02;oQbIG00?o00000?ooo`3oool0 E`3oool01?l@413o0000o`000?lbQbP0Roc>QbP03o`00 0?oo003oo`0002;oo`0000?o0000o`3oool0ool08ol0ool00ol0003o0?l0o`3o000Ro`3o0003o`00 0?ooo`3oool001goool000?o0000ool00?oo00008_oo00000ol0003oo`00ool0000Sool00003o`00 0?l0oooo0?oo02;o0?oo00?o0000ohLVEon79UL08_n79UL00ol00000oooo0?ooo`1W0?ooo`04oa0@ 4?l0003o0000o`000640oooo000R0?ooo`03o`000?lcXL[oQbP0Soc>QbP03o`000?oo003oo`0001[oo`001Ol00003o`3oo`03o`000?l0oooo 0?oo02?o0?oo00?o0000o`3o0?l0o`007_l0o`000ol0003oool0oooo000Soooo0003o`000?oo003o o`0001koo`0000?o0000ool00?oo00008ooo00001?l0003oo`00ool00?oo0005o`0001co0?oo00?o 0000ohLVEon79UL08_n79UL00ol00000oooo0?ooo`0J0?ooocCoQbP0Roc>QbP03o`000?oo003oo`0001Goo`00 1Ol00008o`3oo`03o`000?l0oooo0?oo02?o0?oo00?o0000o`3o0?l0o`007Ol0o`000ol0003oool0 oooo000Uoooo0003o`000?oo003oo`0001goo`0000?o0000ool00?oo00008ooo00000ol0003oo`00 ool00006ool000Go00005ol0ool00ol0003oQbIGohLVE`0RohLVE`03o`00003oool0oooo01X0oooo =?lcXLX90?ooo`03onk^k_l0003ok^k^00<0oooo00Go0000omgMg@3ooooo0000ojVYZ@020?ooo`03 okZj^_l00000oooo0080oooo00Ko0000oeEEEOo^k^h0ooooogMgMomEEEEN0?ooo`008`3oool00ol0 003oQbP0Roc>QbP03o`000?oo003oo`00013oo`001Ol0000=o`3oo`03o`000?l0oooo0?oo 02?o0?oo0_l0000Mo`3o0003o`000?ooo`3oool002Ooool000?o0000ool00?oo00006ooo0002o`00 02Goo`0000?o0000ool00?oo00002ooo0005o`0001;o0?oo00?o0000ohLVEon79UL08_n79UL00ol0 0000oooo0?ooo`0J0?ooocCoQb_lcXLX08_lcXLX00ol0003oo`00ool0000;ool000Go0000 4ol0ool00ol0003o0?ooo`3oo`0Oo`3oo`?o000000?o0?l0o`000?l0o`006ol0o`000ol0003oool0 oooo000Yoooo0003o`000?oo003oo`0001[oo`0000?o0000oooo0?l000000_l0000Qool00003o`00 0?oo003oo`00017oo`001Ol0000=o`3oo`03o`000?n79UOoQbIG02;oQbIG00?o00000?ooo`3oool0 6P3oooldoc>QbPX0oooo00KoZJVYodA4A03oool0ooooodA4A?nHV9P20?ooo`06oc8b<_lQ8B7oMgMg ogMgMon7QhOok^k^0`3oool00ol0003ok^k^0?ooo`020?ooo`03o`00003oool0oooo05`0oooo000S 0?ooo`03o`000?lcXL[oQbP/0oooo00CoIVIV oiRHV?n7QhOoIVIV0`3oool01_nYZJWo8B4Qo`000?l0003oQbP0Poc>QbPKo0000 8_l0ool00ol0003o0?ooo`3oo`0Ho`3oo`;o00002ol0o`000ol0003o0?l0o`3o000Eo`3o0003o`00 0?ooo`3oool002ooool000?o0000ool00?oo00005Ooo00000ol0003oool0oooo0009oooo00;o0000 6Ooo00000ol0003oo`00ool0000Qool000?o00009On79UL00ol00000oooo0?ooo`0J0?ooocCoQbP0Koc>QbPGo0000 0onIo`3o0003o`00 0?l0o`3o0?l001?o0?l000?o0000oooo0?ooo`00oooo00?o00005?oo0003o`0002?oo`0000?o0000ohLVEon79UL0 8_n79UL00ol00000oooo0?ooo`1Z0?ooo`05ob4Q8Ol0003o0000odA4A?oMgMd0G`3oool002@0oooo 00?o0000oc>Qb_lcXLX04?lcXLX5o`0000goVC;<00?o0000o`3oool0ool07_l0ool3o`0000;o0?l0 00?o0000o`3oool0ool04?l0ool2o`0001Co0?l000?o0000o`3o0?l0o`004?l0o`000ol0003oool0 oooo000eoooo0003o`000?oo003oo`00013oo`0000?o0000oooo0?ooo`004_ooo`02o`0001;oo`00 00?o0000oooo0?ooo`000ol0000Pool00003o`000?n79UOoQbIG02;oQbIG00?o00000?ooo`3oool0 6`3oooldolMQ51h0oooo00?oMgMgoc8bQb_lcXLX02olc XLX5o`0001;oVC;<00?o0000o`3oool0ool06_l0ool4o`0000Ko0?l000?o0000o`3oool0ool03?l0 ool3o`0001Ko0?l000?o0000o`3o0?l0o`003ol0o`000ol0003oool0oooo000goooo0003o`000?oo 003oo`0000ooo`0000?o0000oooo0?ooo`005?ooo`03o`0000koo`0000?o0000oooo0?ooo`001?oo o`04o`0001_oo`0000?o0000ohLVEon79UL08on79UL00ol00000oooo0?ooo`0K0?ooocCoaf4D7`3o ool00ol00000oooo0?ooo`1M0?ooo`00903oool00ol0003oQbP06oc>QbPGo00006?nIo`3o0003o`000?ooo`3oool003Woool000?o0000ool00?oo00003_oo0000 0ol0003oool0oooo000Goooo00;o00003?oo00000ol0003oool0oooo0008oooo00?o00006?oo0000 0ol0003oQbIGohLVE`0SohLVE`03o`00003oool0oooo01/0oooo=?o7HA@90?ooo`?o00000P3oool3 o`000003oa0@4?l0003o000000?o00000`3oool01_o^k^koEEEEo`000?l@413ocQbPGo00007OnIo`3o0003o`000?ooo`3oool001koool000?o0000 ool00?oo00005?oo00000ol0003o0?ooo`3oo`0Do`3oo`03o`000?l0o`3o0?l001ko0?l000?o0000 oooo0?ooo`003_ooo`000ol0003oo`00ool00008ool000;o00004ol0ool2o`0000Wo0?l000?o0000 oi=`fonCL=/04OnCL=/2o`0001;oQbIG00?o00000?ooo`3oool0e@3oool002/0oooo00?o0000oiTb c?nIo`3oo`03o`000?l0o`3o0?l000?o0?l00_l00006o`3o0003o`000?ooo`3o ool0027oool000?o0000ool00?oo00005_oo00000ol0003o0?ooo`3oo`0Fo`3oo`03o`000?l0o`3o 0?l0027o0?l000?o0000oooo0?ooo`001?ooo`02o`0000Coool000?oo`00o`000?oo00003ooo0000 0ol0003o0?ooo`3oo`0Bo`3oo`;o00008OnCL=/2o`0000CoQbIG00?o00000?ooo`3oool0e`3oool0 02d0oooo00?oVC;ool00003o`000?l0oooo0?oo00ko0?oo0_l00009o`3o0005 o`000?l0o`3o0?l0o`3o0?l000009?ooo`000ol0003oo`00ool0000Gool00003o`000?l0oooo0?oo 01Oo0?oo00?o0000o`3o0?l0o`008_l0o`001Ol0003oool0oooo0?ooo`3o000000Soool000?oo`00 o`000?oo00004?oo00000ol0003o0?ooo`3oo`0>o`3oo`03o`000?nCL=_oTg3K02KoTg3K00?o0000 0?ooo`3oool0f03oool002h0oooo00?o0000ol30`?o0`<009_o0`<000ol0003oo`00ool0000o`3o0003o`000?ooo`3oool000?oool000?o0000oooo0?ooo`00 7oooo`000ol0003oo`00ool0000Iool00003o`000?l0oooo0?oo01Wo0?oo00?o0000o`3o0?l0o`00 7ol0o`000ol0003o0?l0o`3o0003o`3o0003o`000?ooo`3oool000_oool000?oo`00o`000?oo0000 4_oo00000ol0003o0?ooo`3oo`04o`3oo`03o`000?nCL=_oTg3K02KoTg3K00?o00000?ooo`3oool0 fP3oool00300oooo00?o0000ol30`?o0`<009oo0`<001?l0003oo`00ool00?oo0002o`0001;o0?oo 00?o0000o`3o0?l0o`003Ol0o`000ol0003oool0oooo0005oooo00;o00007oooo`000ol0003oo`00 ool0000Iool00003o`000?l0oooo0?oo01Wo0?oo00?o0000o`3o0?l0o`007Ol0o`02o`0000Oo0?l0 00?o0000oooo0?ooo`003?ooo`000ol0003oo`00ool0000Aool000;o00000ol0ool00ol0003oTg3K oi=`f`0Woi=`f`03o`00003oool0oooo0=X0oooo000`0?ooo`03ol30`?l0003o`<3002So`<3000?o 0000ool00?l000004ol0ool00ol0003o0?l0o`3o000=o`3o0003o`000?ooo`3oool000Soool000?o 0000oooo0?ooo`006oooo`000ol0003oo`00ool0000Jool00003o`000?l0oooo0?oo01[o0?oo00?o 0000o`3o0?l0o`006ol0o`000ol0003o0?l0o`3o0008o`3o0003o`000?ooo`3oool000coool00_l0 000Cool00003o`000?l0oooo000002WoTg3K00?o00000?ooo`3oool0f`3oool00340oooo00?o0000 ol30`?o0`<00:?o0`<000ol0003o0?ooo`3oo`0Ao`3oo`03o`000?l0o`3o0?l000go0?l000?o0000 oooo0?ooo`002_ooo`000ol0003oool0oooo000Joooo0003o`000?oo003oo`0001[oo`0000?o0000 o`3oool0ool06_l0ool00ol0003o0?l0o`3o000Jo`3o0003o`000?l0o`3o0?l000[o0?l000?o0000 oooo0?ooo`003?ooo`000ooo003o0000ool0000Bool00003o`000?nCL=_oTg3K02SoTg3K00?o0000 0?ooo`3oool0f`3oool00380oooo00?o0000ol30`?o0`<009oo0`<000ol0oooo0000o`3oo`0?o`3o o`;o00003ol0o`000ol0003oool0oooo000;oooo00;o00006oooo`000ol0003oo`00ool0000Jool0 0003o`000?l0oooo0?oo01[o0?oo00?o0000o`3o0?l0o`006?l0o`03o`0000go0?l000?o0000oooo 0?ooo`003?ooo`000ooo003o0000ool0000@ool00003o`000?nCL=_oTg3K02SoTg3K00?o00000?oo o`3oool0g03oool00380oooo00?o0000ol30`?o0`<00:?o0`<000ol0003o0?ooo`3oo`0=o`3oo`03 o`000?l0oooo0?l000ko0?l000?o0000oooo0?ooo`002oooo`001?l0003oo`00ool00?l0000Ioooo 0003o`000?oo003oo`0001_oo`0000?o0000o`3oool0ool06ol0ool00ol0003o0?l0o`3o000Fo`3o 0005o`000?l0o`3o0?ooo`3oool000003Ol0o`000ol0003oool0oooo000=oooo0003o`000?oo003o o`0000koo`0000?o0000oi=`fonCL=/0:?nCL=/00ol00000oooo0?ooo`3L0?ooo`00<`3oool00ol0 003o`<30ol30`00Xol30`003o`000?l0oooo0?oo00_o0?oo00?o0000o`3o0?l0o`003_l0o`000ol0 003oool0oooo000;oooo0003o`000?oo003oo`0000;oo`0000?o0000oooo0?ooo`005_ooo`000ol0 003oo`00ool0000Kool00003o`000?l0oooo0?oo01_o0?oo00?o0000o`3o0?l0o`005_l0o`000ol0 003o0?ooo`3oo`02o`3oo`03o`000?l0o`3o0?l000_o0?l000?o0000oooo0?ooo`003Oooo`000ol0 003oo`00ool0000o`3o00?o00002ol0ool00ol0003o0?l0o`3o000;o`3o0003o`000?ooo`3oool000goool000?o o`00o`000?oo00002?oo00000ol0003oTg3Koi=`f`0Woi=`f`03o`00003oool0oooo0=l0oooo000e 0?ooo`03o`000?o0`<3o`<3002So`<3000?o0000o`3oool0ool01?l0ool00ol0003o0?l0o`3o000? o`3o0003o`000?ooo`3oool000_oool000?o0000ool00?oo00002Ooo00001Ol0003o0?ooo`3ooooo o`3o000000ooool000?o0000ool00?oo00007Ooo00000ol0003o0?ooo`3oo`0Mo`3oo`03o`000?l0 o`3o0?l000go0?l000Go0000o`3o0?oo003o0?ooo`00000;o`3oo`03o`000?l0o`3o0?l000_o0?l0 00?o0000oooo0?ooo`003_ooo`000ol0003oo`00ool00005ool00003o`000?nCL=_oTg3K02SoTg3K 00?o00000?ooo`3oool0g`3oool003D0oooo00?o`<30o`000?o0`<00:Oo0`<000ol0003o0?ooo`3o o`02o`3oo`03o`000?l0o`3o0?l000oo0?l000?o0000oooo0?ooo`003?ooo`000ol0003oo`00ool0 0008ool00003o`000?l0oooo0?oo00?o0?oo00?o0000oooo0?ooo`003?ooo`000ol0003oo`00ool0 000Mool00003o`000?l0oooo0?oo01go0?oo00?o0000o`3o0?l0o`003?l0o`000ol0003oo`00ool0 0002ool00003o`3oool0003o0?oo00Wo0?oo00?o0000o`3o0?l0o`003?l0o`000ol0003oool0oooo 000>oooo0003o`000?oo003oo`0000?oo`0000?o0000oi=`fonCL=/0:?nCL=/00ol00000oooo0?oo o`3P0?ooo`00=P3oool00ol0003o`<30ol30`00Xol30`005o`3oool0003o0?ooo`3oool000004Ol0 o`000ol0003oool0oooo000oooo0005o`000?oo003oo`00ool00?l00000:onCL=/00ol00000oooo 0?ooo`3P0?ooo`00=`3oool00ol0003o`<30ol30`00Xol30`003o`000?l0oooo0000017o0?l000?o 0000oooo0?ooo`003?ooo`000ol0003oo`00ool00009ool00003o`000?l0oooo0?oo00Oo0?oo0_l0 0009oooo0003o`000?oo003oo`0001koo`0000?o0000o`3oool0ool07_l0ool00ol0003o0?l0o`3o 0007o`3o00;o00002?oo00000ol0oooo0000o`3oo`0:o`3oo`03o`000?l0o`3o0?l000co0?l000?o 0000oooo0?ooo`003_ooo`001?l0003oo`00ool00?l0000Zoi=`f`03o`00003oool0oooo0>40oooo 000g0?ooo`03o`000?o0`<3o`<3002Wo`<3000?o0000o`3o0?l0o`003ol0o`000ol0003oool0oooo 000oooo00;o0000:onCL=/00ol00000oooo0?ooo`3Q0?ooo`00>03oool00ol0003o`<30ol30`00Y ol30`003o`000?l0o`3o0?l000go0?l000?o0000oooo0?ooo`003?ooo`000ol0003oo`00ool0000: ool00003o`000?l0oooo0?oo00So0?oo00Co0000o`3o0?l0o`3o0?l00_l00004oooo0003o`000?oo 003oo`0001ooo`0000?o0000o`3oool0ool07ol0ool00ol0003o0?l0o`3o0002o`3o00;o00000ooo o`000ol0003oo`00ool00008ool00003o`000?l0oooo0?oo00[o0?oo00?o0000o`3o0?l0o`003?l0 o`000ol0003oool0oooo000=oooo0003o`000?nCL=_oTg3K02WoTg3K00?o00000?ooo`3oool0hP3o ool003P0oooo00?o`<30o`000?o0`<00:_o0`<000ol0003o0?l0o`3o000;o`3o0003o`000?ooo`3o ool000coool000?o0000ool00?oo00002_oo00000ol0003o0?ooo`3oo`08o`3oo`03o`3o0?l0003o 0?l000Co0?l00_l00002oooo0003o`000?oo003oo`0001ooo`0000?o0000o`3oool0ool07ol0ool0 0ol0003o0?l0o`3o0002o`0000Goool000?o0000ool00?oo00002?oo00000ol0oooo0000o`3oo`0; o`3oo`03o`000?l0o`3o0?l000co0?l000?o0000oooo0?ooo`002oooo`000ol0003oTg3Koi=`f`0Y oi=`f`03o`00003oool0oooo0><0oooo000i0?ooo`03o`000?o0`<3o`<3002[o`<300_l0000:o`3o 0003o`000?ooo`3oool000coool000?o0000ool00?oo00002_oo00000ol0003o0?ooo`3oo`09o`3o o`03o`000?l0o`3o0?l000Ko0?l01Ol0000Oool00003o`000?l0oooo0?oo01ko0?oo1?l00008oooo 0003o`000?oo003oo`0000Soo`0000?o0?ooo`000?l0ool02ol0ool00ol0003o0?l0o`3o000<0oooo000i0?ooo`03 ol30`?l0003o`<3002co`<3000?o0000o`3o0?l0o`001_l0o`000ol0003oool0oooo000=oooo0003 o`000?oo003oo`0000[oo`0000?o0000o`3oool0ool02?l0ool00ol0003o0?l0o`3o0008o`3o0004 o`000?ooo`3oo`00ool000;o00007Ooo00000ol0003o0?ooo`3oo`0Ko`3oo`?o000000?o0?ooo`3o 0?l000002_ooo`000ol0003oo`00ool00008ool00003o`000?l0oooo0?oo00[o0?oo00?o0000o`3o 0?l0o`003Ol0o`000ol0003oool0oooo0006oooo0003o`000?nCL=_oTg3K02_oTg3K00?o00000?oo o`3oool0i03oool003X0oooo00?o0000ol30`?o0`<00:oo0`<000ol0o`3o0000o`3o0005o`3o0003 o`000?ooo`3oool000goool000?o0000ool00?oo00002_oo00000ol0003o0?ooo`3oo`09o`3oo`03 o`000?l0o`3o0?l000Oo0?l000?o0000oooo0?ooo`001?ooo`02o`0001_oo`0000?o0000o`3oool0 ool06Ol0ool2o`0000Ko0?l000?o0000oooo0?ooo`001oooo`000ol0003oo`00ool00008ool00003 o`3oool0003o0?oo00_o0?oo00?o0000o`3o0?l0o`003Ol0o`000ol0003oool0oooo0004oooo0003 o`000?nCL=_oTg3K02coTg3K00?o00000?ooo`3oool0i03oool003/0oooo00?o0000ol30`?o0`<00 :oo0`<000ol0003o0?l0o`3o0003o`3o0003o`000?ooo`3oool000goool000?o0000ool00?oo0000 2_oo00000ol0003o0?ooo`3oo`09o`3oo`03o`000?l0o`3o0?l000So0?l000?o0000oooo0?ooo`00 1_ooo`04o`0001Ooo`0000?o0000o`3oool0ool05Ol0ool4o`0000So0?l000?o0000oooo0?ooo`00 2?ooo`000ol0003oo`00ool00008ool00003o`3oool0003o0?oo00_o0?oo00?o0000o`3o0?l0o`00 3Ol0o`000ol0003oool0oooo0003oooo0003o`000?nCL=_oTg3K02_oTg3K00?o00000?ooo`3oool0 i@3oool003/0oooo00?o0000ol30`?o0`<00;?o0`<001Ol0003o0?l0o`3o0?l0o`3o000000ooool0 00?o0000ool00?oo00002ooo00000ol0003o0?ooo`3oo`09o`3oo`03o`000?l0o`3o0?l000So0?l0 00?o0000oooo0?ooo`001_ooo`001?l0003oo`00ool00?oo0003o`0001Coo`0000?o0000o`3oool0 ool04ol0ool2o`0000?o0?oo00?o0000o`3o0?l0o`001_l0o`000ol0003oool0oooo0008oooo0003 o`000?oo003oo`0000Woo`0000?o0000o`3oool0ool02ol0ool00ol0003o0?l0o`3o000=o`3o0005 o`000?ooo`3oool0oooo0?l00000;_nCL=/00ol00000oooo0?ooo`3U0?ooo`00?03oool00ol0003o `<30ol30`00/ol30`003o`000?l0o`3o000000ooool000?o0000ool00?oo00002ooo00000ol0003o 0?ooo`3oo`09o`3oo`03o`000?l0o`3o0?l000So0?l000?o0000oooo0?ooo`001oooo`000ol0003o o`00ool00004ool000Ko00003_oo00000ol0003o0?ooo`3oo`0ool00003o`000?l0oooo0?oo00[o0?oo00?o0000 o`3o0?l0o`002Ol0o`000ol0003oool0oooo0008oooo0003o`000?oo003oo`0000Ooo`0000?o0000 o`3oool0ool01_l0ool00ol0003o0?l0o`3o0007o`3o0003o`000?ooo`3oool000Ooool000?o0000 ool00?oo00001_oo00000ol0003o0?ooo`3oo`07o`3oo`03o`000?l0o`3o0?l000So0?l000?o0000 oooo0?ooo`002Oooo`000ol0003oo`00ool00009ool00003o`3oool0003o0?oo00go0?oo00?o0000 o`3o0?l0o`000_l0o`000ol0003ooiTAoonI4@09oonI4@03o`000?nCL=_oTg3K02;oTg3K00?o0000 0?ooo`3oool0:`3ooolUo`3oo`L0oooo0ol000020?ooo`?o000000<0ooooonk^k_mEEED00_l00000 1_nHV9So0000oa0@403oooook^k^oeEEE@;o000000GoA4A4okZj^P3oool0oooooa0@4002o`000004 0?ooool0003o0000oa0@4080oooo1Ol000020?ooo`04oa0@4?l0003o00000?ooo`;o000000Co410@ 0?ooooo^k^koEEEE0_l000001Om4A4Co^[Zj0?oooomEEEGoV9RH0080oooo0ol000020?ooo`?o0000 00<0ooooohN7QomVIVH0C@3oool00480oooo00?o0000ol30`?o0`<008?o0`<000ol0003oe1TNom@I 7P0oi=`f`03o`00003o ool0oooo03@0oooo9Ol0oonK0?ooo`00BP3oool00oo0`<3o0000ol30`00=ol30`003o`000?oD6Ako e1TN027oe1TN00Ko0000oi=`fonCL=_oTg3Ko`3oool00009o`3oo`03o`000?l0o`3o0?l000[o0?l0 00?o0000oooo0?ooo`002Oooo`000ol0003oo`00ool00008ool00003o`000?l0oooo0?oo00So0?oo 00?o0000o`3o0?l0o`002?l0o`000ol0003oool0oooo0008oooo0003o`000?oo003oo`0000Soo`00 00?o0000o`3oool0ool02?l0ool00ol0003o0?l0o`3o0009o`3o0003o`000?ooo`3oool000[oool0 00?o0000ool00?oo00001ooo00001?l0003oo`00ocfA?olmTClAo`000003oonI4Ol0003ooiTA017o oiTA00?o0000oi=`fonCL=/03?nCL=/00ol00000oooo0?ooo`3e0?ooo`00B`3oool00ol0003o`<30 ol30`00;ol30`003o`000?oD6Akoe1TN027oe1TN00?o0000om@I7_nCL=/01?nCL=/3o`0000Go0?oo 00?o0000o`3o0?l0o`002ol0o`000ol0003oool0oooo0009oooo0003o`000?oo003oo`0000Soo`00 00?o0000o`3oool0ool02?l0ool00ol0003o0?l0o`3o0008o`3o0003o`000?ooo`3oool000Soool0 00?o0000ool00?oo00002?oo00000ol0003o0?ooo`3oo`08o`3oo`03o`000?l0o`3o0?l000Wo0?l0 00?o0000oooo0?ooo`002oooo`000ol0003oo`00ool00004ool000;o00001OlmTClBo`0001?ooiTA 00?o0000oi=`fonCL=/02onCL=/00ol00000oooo0?ooo`3e0?ooo`00C03oool2o`0000[o`<3000?o 0000om@I7_oD6Ah08_oD6Ah00ol0003oTg3Koi=`f`07oi=`f`05o`000?l0oooo0?ooo`3oool00000 3Ol0o`000ol0003oool0oooo000:oooo0003o`000?oo003oo`0000Soo`0000?o0000o`3oool0ool0 2?l0ool00ol0003o0?l0o`3o0008o`3o0003o`000?ooo`3oool000Soool000?o0000ool00?oo0000 2?oo00000ol0003o0?ooo`3oo`08o`3oo`03o`000?l0o`3o0?l000[o0?l000?o0000oooo0?ooo`00 2oooo`001?l0003oo`00ool00?oo0002o`0000So?I4o4_l0000CoonI4@03o`000?nCL=_oTg3K00So Tg3K0_l0003h0?ooo`00C@3oool00oo0`<3o0000ol30`007ol30`003o`000?oD6Akoe1TN02;oe1TN 00?o0000oi=`fonCL=/02OnCL=/01?l0003o0?ooo`3oool0000=o`3o0003o`000?ooo`3oool000Wo ool000?o0000ool00?oo00002Ooo00000ol0003o0?ooo`3oo`08o`3oo`03o`000?l0o`3o0?l000So 0?l000?o0000oooo0?ooo`002?ooo`000ol0003oo`00ool00008ool00003o`000?l0oooo0?oo00Wo 0?oo00?o0000o`3o0?l0o`002Ol0o`000ol0003oool0oooo000;oooo0004o`000?oo003oo`00o`00 00[o?I4o4Ol000000oooVA7o0000oonI4@0BoonI4@03o`000?nCL=_oTg3K00KoTg3K00?o0000oi=` f`3oool0>03ooolUo`3o09/0oooo001>0?ooo`03o`000?o0`<3o`<3000Go`<3000?o0000om@I7_oD 6Ah08_oD6Ah00ol0003oe1TNoi=`f`0;oi=`f`?o00003Ol0o`000ol0003oool0oooo0009oooo0003 o`000?oo003oo`0000Woo`0000?o0000o`3oool0ool02?l0ool00ol0003o0?l0o`3o0008o`3o0003 o`000?ooo`3oool000Soool000?o0000ool00?oo00002?oo00000ol0003o0?ooo`3oo`09o`3oo`03 o`000?l0o`3o0?l000Wo0?l000?o0000oooo0?ooo`003?ooo`02o`0000co?I4o4Ol000000oooVA7o 0000oonI4@0BoonI4@03o`000?nCL=_oTg3K00CoTg3K00?o0000oi=`f`3oool0>@3ooolUo`3o09/0 oooo001?0?ooo`03o`000?o0`<3o`<3000?o`<3000?o0000om@I7_oD6Ah08ooD6Ah00ol0003oTg3K oi=`f`0>oi=`f`;o00002_l0o`000ol0003oool0oooo000:oooo0003o`000?oo003oo`0000Soo`00 00?o0000o`3oool0ool02Ol0ool00ol0003o0?l0o`3o0008o`3o0003o`000?ooo`3oool000Soool0 00?o0000ool00?oo00002Ooo00000ol0003o0?ooo`3oo`08o`3oo`03o`000?l0o`3o0?l000[o0?l0 00?o0000oooo0?ooo`002?ooo`03o`0000oo?I4o4Ol000000oooVA7o0000oonI4@0BoonI4@03o`00 0?nCL=_oTg3K00;oTg3K00?o0000oi=`f`3oool0>P3ooolUo`3o09/0oooo001@0?ooo`05o`000?o0 `<3o`<30ol30`?l000009OoD6Ah00ol0003oTg3Koi=`f`0@oi=`f`03o`3o0?l0003o0?l000So0?l0 00?o0000oooo0?ooo`002Oooo`000ol0003oo`00ool00009ool00003o`000?l0oooo0?oo00So0?oo 00?o0000o`3o0?l0o`002Ol0o`000ol0003oool0oooo0009oooo0003o`000?oo003oo`0000Soo`00 00?o0000o`3oool0ool02?l0ool00ol0o`3o0000o`3o000:o`3o0003o`000?ooo`3oool000Ooool0 00?o0000oooo0?lmTCl04?lmTClCo`0001CooiTA00Go0000oi=`fonCL=_o0000oi=`f`0l0?ooobGo 0?l0V`3oool00540oooo00?o0000ol30`?l000009_oD6Ah00ol0003oTg3Koi=`f`0Boi=`f`?o0000 1Ol0o`000ol0003oool0oooo000:oooo0003o`000?oo003oo`0000Woo`0000?o0000o`3oool0ool0 2?l0ool00ol0003o0?l0o`3o0009o`3o0003o`000?ooo`3oool000Woool000?o0000ool00?oo0000 2?oo00000ol0003o0?ooo`3oo`09o`3oo`03o`000?l0o`3o0?l000[o0?l000?o0000oooo0?ooo`00 1?ooo`02o`0001Co?I4o4ol0000DoonI4@03o`000?nCL=_o000003d0oooo9Ol0o`100?ooo`03ogMg MomVIVH0oooo00P0oooo00?oIVIVogMgM`3oool0C@3oool00580oooo00?o0000om@I7_oD6Ah09?oD 6Ah00ol0003oTg3Koi=`f`0Foi=`f`;o00000ol0o`000ol0003oool0oooo000:oooo0003o`000?oo 003oo`0000Woo`0000?o0000o`3oool0ool02?l0ool00ol0003o0?l0o`3o0009o`3o0003o`000?oo o`3oool000Woool000?o0000ool00?oo00002?oo00000ol0003o0?ooo`3oo`09o`3oo`03o`000?l0 o`3o0?l000[o0?l000Co0000oooo0?ooo`3oool00ol0000GocfA?a?o00005?ooVA400ol00000oooo 0?ooo`0l0?ooobGo0?l0?`3oool00ooMgMgo410@onk^kP090?ooo`03onk^k_l@413ogMgM04d0oooo 001C0?ooo`03o`000?oD6Akoe1TN02;oe1TN00?o0000oi=`fonCL=/06?nCL=/01Ol0o`3o0000o`3o 0?l0o`3o000000coool000?o0000ool00?oo00002Ooo00000ol0003o0?ooo`3oo`08o`3oo`03o`00 0?l0o`3o0?l000Wo0?l000?o0000oooo0?ooo`002Oooo`000ol0003oo`00ool00008ool00003o`00 0?l0oooo0?oo00Wo0?oo00?o0000o`3o0?l0o`002_l0o`001Ol0003oool0oooo0?l0003oool001Wo ?I4o4_l000000oooVA7o0000oonI4@0AoonI4@03o`00003oool0oooo03d0oooo9Ol0o`080?ooo`05 ojVYZOl@413o0000oa0@4?mEEED0103oool02?nHV9So0000o`000?mgMgOo0000oa0@403oooooV9RH 0_l000000omgMgOo410@o`0000020?ooo`04oa0@4?l0003o00000?ooo`;o000000?o410@0?ooo`3o ool01Ol000020?ooo`04oa0@4?l0003o00000?ooo`;o000000Co410@0?ooooo^k^koEEEE0_l00000 1Om4A4Co^[Zj0?oooomEEEGoV9RH00<0oooo00GoZJVYoa0@4?l0003o410@oeEEE@030?ooo`03ohN7 QomVIVH0oooo04`0oooo001D0?ooo`03o`000?oD6Akoe1TN027oe1TN00?o0000oi=`fonCL=/06_nC L=/3o`0000_oool000?o0000ool00?oo00002Ooo00000ol0003o0?ooo`3oo`09o`3oo`03o`000?l0 o`3o0?l000Wo0?l000?o0000oooo0?ooo`002Oooo`000ol0003oo`00ool00009ool00003o`000?l0 oooo0?oo00Wo0?oo00?o0000o`3o0?l0o`002_l0o`02o`0001co?I4o4ol0000AoonI4@03o`00003o ool0oooo03h0oooo9Ol0o`070?ooo`06ojVYZOl0003o^[Zj0?ooooo8om[SR<01_m[SR<3o`000003oooo0?l0003o o`0000_oo`0000?o0000o`3oool0ool02Ol0ool00ol0003o0?l0o`3o0009o`3o0003o`000?ooo`3o ool000Woool000?o0000ool00?oo00002Ooo00000ol0003o0?ooo`3oo`0:o`3oo`03o`000?l0o`3o 000000_o00007_lmTClDo`0000_ooiTA00?o00000?ooo`3oool0@@3ooolUo`3o00L0oooo00?o0000 0?ooo`3oool01`3oool01Ol00000oooo0?ooo`3ooooo000000D0oooo00?oc8`09of^>8`?o00002ooo0000 0ol0003o0?ooo`3oo`09o`3oo`03o`000?l0o`3o0?l000Wo0?l000?o0000oooo0?ooo`002Oooo`00 0ol0003oo`00ool00009ool00003o`000?l0oooo0?oo00Wo0?oo3ol0000OocfA?a;o000000?ooiTA o`000?ooVA401oooVA42o`0004@0oooo9Ol0o`070?ooo`06ob4Q8OnYZJT0oooo0?ooooo^k^ko410@ 0`3oool01?l@413o00000?ooo`3oool2o`0000<0oooo00Co8om[SR<03?m[SR<01?oo003o 0000o`000?l00007ool00003o`000?l0oooo0?oo00Wo0?oo00?o0000o`3o0?l0o`002_l0o`000ol0 003oool0oooo000:oooo0003o`000?oo003oo`0000Woo`0000?o0000o`3oool0ool01Ol0ool3o`00 0003o`3oool0003o000000go00007_lmTClDo`0000OooiTA00?o0000oonI4@3oool0A03ooolUo`3o 00L0oooo00KoZJVYob4Q8OoMgMd0ooooohN7Qol0000b0?ooo`0:omgMgOl@413ok^k^0?oooonYZJWo 8B4QomgMg@3oooooQhN7o`000080oooo00?ok^k^oa0@4?oMgMd0C@3oool005/0oooo00?o0000om@I 7_oD6Ah05_oD6Ah00ol0003oTg3Koi=`f`0Moi=`f`03o`000?m[SR?oJhhS013oJhhS1Ol00002ool0 0003o`000?l0oooo0?oo00Wo0?oo00?o0000o`3o0?l0o`002_l0o`000ol0003oool0oooo000:oooo 0003o`000?oo003oo`0000Woo`0000?o0000o`3oool0ool06?l0000OocfA?aCo00001OooVA400ol0 0000oooo0?ooo`150?ooobGo0?l0203oool01OnHV9So410@o`000?lQ8B7o000001h0oooo00?o0000 0?ooo`3oool04P3oool02OmgMgOoIVIV0?ooo`3oooooV9RHoa0@4?l0003o8B4Qo`0000020?ooo`03 ofIVI_mgMgL0oooo04d0oooo001K0?ooo`03om@I7_l0003oe1TN01Goe1TN00?o0000oi=`fonCL=/0 7OnCL=/00ol0003oJhhSof^>8`0Fof^>8`Go00002Ol0ool00ol0003o0?l0o`3o000:o`3o0003o`00 0?ooo`3oool000[oool000?o0000ool00?oo00001ooo000No`0001oo?I4o5?l00003oonI4@03o`00 003oool0oooo04H0oooo9Ol0o`0[0?ooo`03oa0@403oool0oooo06d0oooo001L0?ooo`03om@I7_l0 003oe1TN01?oe1TN00?o0000oi=`fonCL=/07_nCL=/00ol0003oJhhSof^>8`0Kof^>8`Ko00000ol0 ool00ol0003o0?l0o`3o000:o`3o0003o`000?ooo`3oool000[oool000Co0000ool00?oo003oo`00 1_l00002ocQN3aco00007olmTClEo`000003oonI4Ol0003ooiTA04P0oooo9Ol0o`2K0?ooo`00GP3o ool2o`0001;oe1TN00?o0000oi=`fonCL=/07OnCL=/00ol0003oJhhSof^>8`0Rof^>8`_o00001Ol0 o`000ol0003oool0oooo0003oooo00_o00002?lhGPlMo`0001oo?I4o5Ol0001:0?ooobGo0?l0V`3o ool00600oooo00?o0000om@I7_oD6Ah03_oD6Ah00ol0003oTg3Koi=`f`0Noi=`f`03o`000?m[SR?o JhhS02goJhhS2ol0000CocQN3ago00008?lmTClBo`0004`0oooo9Ol0o`2K0?ooo`00H03oool00ol0 003oe1TNom@I7P0=om@I7P03o`000?nCL=_oTg3K01ooTg3K00?o0000of^>8om[SR<0<_m[SR<00ol0 003o>5h?ocQN3`0GocQN3aco00008?lmTClBo`000?l0oooo3@3oool00640oooo0_l0000=om@I7P03 o`000?nCL=_oTg3K01koTg3K00?o0000of^>8om[SR<05h?ocQN3`0GocQN3ago 00008?lmTCl@o`000?l0oooo3P3oool006<0oooo0_l0000:om@I7P03o`000?nCL=_oTg3K01ooTg3K 00?o0000of^>8om[SR<05h?ocQN3`0GocQN3ago00008OlmTCl=o`000?l0oooo 403oool006@0oooo00?oe1TNo`000?oD6Ah02?oD6Ah00ol0003oTg3Koi=`f`0Noi=`f`03o`000?m[ SR?oJhhS03CoJhhS00?o0000ocQN3olhGPl05olhGPlNo`00023o?I4o3?l0001@0?ooobD0ool0V`3o ool006H0oooo0_l00006om@I7P03o`000?nCL=_oTg3K01ooTg3K00?o0000of^>8om[SR<0=?m[SR<0 0ol0003o>5h?ocQN3`0GocQN3ako00008OlmTCl9o`000580oooo9@3oo`2K0?ooo`00J03oool00ol0 003oe1TNom@I7P02om@I7P03o`000?nCL=_oTg3K023oTg3K00?o0000of^>8om[SR<0=?m[SR<00ol0 003o>5h?ocQN3`0HocQN3ago00008_lmTCl6o`0005@0oooo9@3oo`0G0?ooo`?o000000?o410@0?oo o`3oool0OP3oool006T0oooo00Go0000om@I7_oD6Akoe1TNo`00000Qoi=`f`03o`000?m[SR?oJhhS 03GoJhhS00?o0000ocQN3olhGPl06?lhGPlNo`00027o?I4o1Ol0001E0?ooobD0ool06@3oool00ol@ 413o^[Zj0?ooo`0T0?ooo`03ogMgMomVIVH0oooo00P0oooo00?oIVIVogMgM`3oool0C@3oool006X0 oooo00?o0000om@I7_l000008_nCL=/00ol0003oJhhSof^>8`0eof^>8`03o`000?lhGPoo>5h?01So >5h?7_l0000RocfA?`?o0000EP3ooolU0?oo01T0oooo00?oV9RHoc8b8`0fof^>8`03o`000?lhGPoo>5h?01So>5h?7ol0000QocfA?`;o0000E`3ooolU0?oo00P0oooo 00Go410@o`000?l0003o0000oa0@40030?ooo`04oa0@4?l0003o00000?ooo`;o000000Ko410@0?oo o`3ooooogMgMo`000?nj^[X30?ooo`;o00000P3oool01_l00000oooo0?ooool0003o410@0?ooo`Go 00000P3oool01?l@413o0000o`00003oool2o`000004oa0@403oooook^k^oeEEE@;o000000GoA4A4 okZj^P3oooooEEEEoiRHV0030?ooo`05oa0@4?l0003o0000o`000?l@41000`3oool00on7QhOoIVIV 0?ooo`1<0?ooo`00K@3oool2o`0001ooTg3K00?o0000of^>8om[SR<0=_m[SR<00ol0003o>5h?ocQN 3`0HocQN3aoo00007olmTCl2o`0005T0oooo9@3oo`0:0?ooo`03o`00003oool0oooo00@0oooo00Go 00000?ooo`3oool0ooooo`0000030?ooo`03oeEEEOmgMgOoA4A400@0oooo00Co00000?ooo`3ooooo 00000P3oool00ol00000oooo0?ooo`020?ooo`03o`00003oool0oooo00<0oooo00Go00000?ooo`3o ool0ooooo`0000020?ooo`08oeEEEOmgMgL0ooooonk^k_mgMgOo410@0?ooool000060?ooo`03o`00 003oool0oooo00<0oooo00?ok^k^o`00003oool0C03oool006h0oooo00?oTg3Ko`000?l000007OnC L=/00ol0003oJhhSof^>8`0fof^>8`03o`000?lhGPoo>5h?01Wo>5h?7_l0000MocfA?`;o000000?o ?I4o0?ooo`3oool0F03ooolU0?oo00X0oooo00?o00000?ooo`3oool0103oool01Ol00000oooo0?oo o`3ooooo00000080oooo00GogMgMoa0@403ooooo8B4QomgMg@030?ooo`04o`00003oool0ooooo`00 0080oooo00?o00000?ooo`3oool00P3oool00ol00000oooo0?ooo`030?ooo`05o`00003oool0oooo 0?ooool000000P3oool00ol00000oooo0?ooo`040?ooo`03oc8b8om[SR<0=om[SR<00ol0003o>5h? ocQN3`0IocQN3aoo00006OlmTCl2o`0005h0oooo9@3oo`0:0?ooo`03o`00003oool0oooo00@0oooo 00Wo0000ogMgM`3oooooZJVYo`00003oooook^k^o`000?o^k^h00P3oool01Ol0003ogMgM0?ooo`3o oooo000000;oc8om[SR<0>Om[SR<00ol0003o>5h?ocQN3`0JocQN3b3o00004Olm TCl2o`000003ocfA?`3oool0oooo0640oooo9@3oo`070?ooo`Oo00000`3oool00ol00000oooo0?oo o`0G0?ooo`03o`00003oool0oooo0180oooo00?oMgMgofIVIP3oool01ol000000`3oooooIVIVogMg M`1>0?ooo`00N@3oool00onCL=_o0000oi=`f`0?oi=`f`03o`000?m[SR?oJhhS03WoJhhS00?o0000 ocQN3olhGPl06_lhGPlPo`0000oo?I4o0_l000000olmTCl0oooo0?ooo`1S0?ooobD0ool0403oool0 0ol@413o00000?ooo`0H0?ooo`03oa0@403oool0oooo06d0oooo001k0?ooo`;o00003_nCL=/00ol0 003oJhhSof^>8`0iof^>8`03o`000?lhGPoo>5h?01[o>5h?8?l0000>ocfA?`03o`000?lmTCl0oooo 06H0oooo9@3oo`2K0?ooo`00O@3oool2o`0000_oTg3K00?o0000of^>8om[SR<0>_m[SR<00ol0003o >5h?ocQN3`0JocQN3b7o00002olmTCl2o`0006T0oooo9@3oo`2K0?ooo`00OP3oool00onCL=_o0000 o`000009oi=`f`03o`000?m[SR?oJhhS03[oJhhS00?o0000ocQN3olhGPl06_lhGPlQo`0000Wo?I4o 0_l000000olmTCl0oooo0?ooo`1X0?ooobD0ool0V`3oool00800oooo00?oTg3Ko`000?l000001_nC L=/00ol0003oJhhSof^>8`0kof^>8`03o`000?lhGPoo>5h?01_o>5h?8Ol00006ocfA?`;o000000?o ?I4o0?ooo`3oool0JP3ooolU0?oo09/0oooo00230?ooo`;o00001?nCL=/00ol0003oJhhSof^>8`0k of^>8`03o`000?lhGPoo>5h?01_o>5h?8Ol00004ocfA?`;o0000o`3oool`0?ooo`00Q@3oool5o`00 03goJhhS00?o0000ocQN3olhGPl06olhGPlUo`000?l0oooo8`03 o`000?lhGPoo>5h?01_o>5h?8_l0003o0?ooocD0oooo002:0?ooo`;o0000>om[SR<00ol0003o>5h? ocQN3`0KocQN3b3o0000MP3ooolU0?l009/0oooo002<0?ooo`Co0000=om[SR<00ol0003o>5h?ocQN 3`0LocQN3ago0000N03ooolU0?l009/0oooo002?0?ooo`03of^>8ol0003o000003GoJhhS00?o0000 ocQN3olhGPl07?lhGPlJo`0007/0oooo9@3o000?0?ooo`?o000000?o410@0?ooo`3oool0QP3oool0 0980oooo1?l0000aof^>8`03o`000?lhGPoo>5h?01co>5h?5ol0001n0?ooobD0o`004@3oool00ol@ 413o^[Zj0?ooo`0d0?ooo`03ogMgMomVIVH0oooo00P0oooo00?oIVIVogMgM`3oool0A@3oool009D0 oooo00?oJhhSo`000?l00000;om[SR<00ol0003o>5h?ocQN3`0LocQN3aCo0000P@3ooolU0?l00140 oooo00?oV9RHoc8b5h?ocQN3`0LocQN3a7o0000Q03ooolU0?l000P0oooo 00GoV9RHoa0@4?l0003o5h?ocQN 3`0MocQN3`co0000R03ooolU0?l000L0oooo00KoZJVYob4Q8OoMgMd0oooooiRHV?lQ8B440?ooo`03 oeEEEOmgMgOoA4A400D0oooo00Go410@okZj^_o^k^koMgMgoa0@40020?ooo`06oeEEEOmgMgL0oooo 0?oooomgMgOoEEEE0P3oool01_l0003oZJVY0?ooo`3ooooo^[Zjo`0000D0oooo00?o00000?ooo`3o ool00`3oool01Ol00000oooo0?ooo`3ooooo00000080oooo00SoEEEEogMgM`3oooook^k^ogMgMol@ 4100ooooo`000080oooo00KoZJVYob4Q8OoMgMd0oooooiRHV?lQ8B440?ooo`03onk^k_l00000oooo 04@0oooo002P0?ooo`Co00008om[SR<00ol0003o>5h?ocQN3`0MocQN3`So0000S03ooolU0?l000L0 oooo00?o8B4QojVYZ@3oool01P3oool01OoMgMgo410@0?oooolQ8B7ogMgM00@0oooo00?o00000?oo o`3oool0103oool00ol00000oooo0?ooo`020?ooo`06o`00003oool0oooo0?oooonj^[[oQhN70_mV IVH00ol@4100oooo0?ooo`030?ooo`03o`00003oool0oooo00<0oooo00Go00000?ooo`3oool0oooo o`0000020?ooo`03o`00003oool0oooo00@0oooo00Go5h?ocQN3`0MocQN3`Co0000 T03ooolU0?l000L0oooo00?o00000?ooo`3oool01P3oool01OmVIVKoQhN70?oooonHV9SoEEEE00@0 oooo00?o00000?ooo`3oool0103oool00ol00000oooo0?ooo`020?ooo`05o`00003oool0oooooc8b <_lQ8B400_mgMgL00on7QhOok^k^0?ooo`040?ooo`03o`00003oool0oooo00<0oooo00Go00000?oo o`3oool0ooooo`0000020?ooo`Ko000000D0oooooc8b5h?ocQN3`0GocQN3`Ko0000U03ooolU 0?l000L0oooo00?o00000?ooo`3oool01@3oool00oo^k^ko0000onk^kP020?ooo`03o`000?oMgMd0 oooo0080oooo00?o00000?ooo`3oool0103oool01_mEEEGoMgMg0?ooo`3oooooMgMgoeEEE@80oooo 00Ko0000okZj^P3oooook^k^ogMgMol000050?ooo`03o`00003oool0oooo00<0oooo00Go0000ohN7 Q`3oooooZJVYo`0000020?ooo`0;oeEEEOn7QhOok^k^0?oooon7QhOo"], ImageRangeCache->{{{0, 570.062}, {383.375, 0}} -> {-1.05653, -0.777786, \ 0.00507196, 0.00507196}, {{13.875, 506.812}, {374.188, 9.125}} -> {-1.14762, \ -1.10286, 0.00719061, 0.00719061}, {{25.625, 373.312}, {365.438, 17.8125}} -> \ {-10.845, -10.4253, 0.0679618, 0.0679618}, {{373.312, 495}, {104.688, \ 17.8125}} -> {-10.4142, -15.6265, 0.0345329, 0.0696413}, {{383.562, 556.125}, \ {364.188, 142.375}} -> {-7.5707, -2.1243, 0.0243451, 0.131869}}], Cell["The transcription wheel shows codon redundancy directly.", "Text"], Cell[TextData[{ "We can also represent the codon-amino acids transcriptions in terms of ", StyleBox["Mathematica", FontSlant->"Italic"], " rules" }], "Text"], Cell[BoxData[ \(\(CodonRules = {"\" -> "\", "\" -> "\", "\" -> \ "\", "\" -> "\", "\" -> "\", \ \ \ "\" -> \ "\", "\" -> "\", "\" -> "\", "\" -> "\", \ "\" -> "\", "\" -> "\<_\>", "\" -> "\<_\>", "\" -> \ "\", "\" -> "\", "\" -> "\<_\>", "\" -> "\", \ "\" \[Rule] "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" \[Rule] "\", "\" -> "\", "\" -> "\", "\ \" -> "\", "\" -> "\", "\" -> "\"};\)\)], \ "Input"] }, Open ]] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[TextData[{ "Importing Biological Data into ", StyleBox["Mathematica", FontSlant->"Italic"], " " }], "Section", ShowGroupOpenCloseIcon->True], Cell[CellGroupData[{ Cell[TextData[{ "Importing Genbank file into ", StyleBox["Mathematica", FontSlant->"Italic"], " " }], "Subsection", ShowGroupOpenCloseIcon->True], Cell[TextData[{ "In this first example we are going to show how we can write a simple \ parser that will allow us to import GenBank (Genetic Sequence Data Bank) \ files into ", StyleBox["Mathematica", FontSlant->"Italic"], ". The database can be found at the following URL:\n\t\t\t\t", ButtonBox["http://www.ncbi.nlm.nih.gov/Genbank/index.html", ButtonData:>{ URL[ "http://www.ncbi.nlm.nih.gov/Genbank/index.html"], None}, ButtonStyle->"Hyperlink"], "\n\nThe file ID we are going to examine is U49845. This file gives the \ amino acid sequence for several genes from the bacterium ", StyleBox["Saccharomyces cerevisiae", FontSlant->"Italic"], ", which is commonly known as baker's or budding yeast. The DNA sequence \ for these genes comes from chromosome IX." }], "Text"], Cell[TextData[{ "We use of the ", StyleBox["ReadList", FontWeight->"Bold"], " function to read in the text file from my directory: (The file U49845.txt \ can be downloaded from http://www.higgins.ucdavis.edu/biomath.php )" }], "Text"], Cell[BoxData[ \(\(myGenBankfile = ReadList[Experimental`FileBrowse[False], Word, \ WordSeparators \[Rule] {"\<\r\>"}];\)\)], "Input"], Cell["Here is what the first 10 lines of the file look like", "Text"], Cell[BoxData[ \(Table[myGenBankfile[\([i]\)], {i, 1, 10}] // TableForm\)], "Input"], Cell["\<\ Note that the text at the beginning of each line is not always \ defined by a record type. In the above output we have a LOCUS, DEFINITION, \ ACCESSION, etc. as record types. But there are also lines without a record \ type, e.g. the line containing the string \t\t\"Eukaryota; Fungi; Ascomycota;.....\"\ \>", "Text"], Cell["\<\ Note also that each record of the file is a string with lots of \ white space.\ \>", "Text"], Cell[TextData[{ "The number of records in this file can be determined using the ", StyleBox["Length", FontWeight->"Bold"], " function" }], "Text"], Cell[BoxData[ \(Length[myGenBankfile]\)], "Input"], Cell["\<\ Suppose we are interested in getting the DNA sequence data for this \ record. Here is a portion of the DNA sequence\ \>", "Text"], Cell[BoxData[ \(Table[myGenBankfile[\([i]\)], {i, 81, 90}] // TableForm\)], "Input"], Cell["\<\ We see it is not possible to select the DNA rows from this list by \ record type as the DNA rows have no record type. However, we note that the \ DNA sequence begins after the row with the record type ORIGIN. Thus we will \ define a parser that determines the row position containing the word ORIGIN, \ and then use that information to extract the string data for the DNA \ sequence. We convert each row into a Stream, use ReadList, with the Null \ string as a record separator, drop the first element which is the position \ number of the base in that record, and then use StringJoin to obtain the \ final base sequence for our mRNA. Here is our parser\ \>", "Text"], Cell[BoxData[ \(genBankParser[file_] := Module[{pat1, OriginRowNumber, DNAsequence, DNAseqString, s}, pat1 = First[ Select[file, StringMatchQ[#, "\"] &]]; \ \[IndentingNewLine]OriginRowNumber = First[Flatten[ Position[file, x_String /; x \[Equal] pat1]]]; \[IndentingNewLine]DNAsequence = Table[file[\([i]\)], {i, OriginRowNumber + 1, Length[file] - 1}]; \[IndentingNewLine]For[ DNAseqString = "\<\>"; i = 1, i < Length[DNAsequence] + 1, s = StringToStream[DNAsequence[\([i]\)]]; DNAseqString = DNAseqString <> StringJoin[ Drop[ReadList[s, Word, RecordSeparators \[Rule] {"\< \>"}], 1]]; \(i++\)]; \[IndentingNewLine]DNAseqString]\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(DNAseq1 = genBankParser[myGenBankfile]\)], "Input"], Cell[BoxData[ \("gatcctccatatacaacggtatctccacctcaggtttagatctcaacaacggaaccattgccgacatgaga\ cagttaggtatcgtcgagagttacaagctaaaacgagcagtagtcagctctgcatctgaagccgctgaagttctacta\ agggtggataacatcatccgtgcaagaccaagaaccgccaatagacaacatatgtaacatatttaggatatacctcga\ aaataataaaccgccacactgtcattattataattagaaacagaacgcaaaaattatccactatataattcaaagacg\ cgaaaaaaaaagaacaacgcgtcatagaacttttggcaattcgcgtcacaaataaattttggcaacttatgtttcctc\ ttcgagcagtactcgagccctgtctcaagaatgtaataatacccatcgtaggtatggttaaagatagcatctccacaa\ cctcaaagctccttgccgagagtcgccctcctttgtcgagtaattttcacttttcatatgagaacttattttcttatt\ ctttactctcacatcctgtagtgattgacactgcaacagccaccatcactagaagaacagaacaattacttaatagaa\ aaattatatcttcctcgaaacgatttcctgcttccaacatctacgtatatcaagaagcattcacttaccatgacacag\ cttcagatttcattattgctgacagctactatatcactactccatctagtagtggccacgccctatgaggcatatcct\ atcggaaaacaataccccccagtggcaagagtcaatgaatcgtttacatttcaaatttccaatgatacctataaatcg\ tctgtagacaagacagctcaaataacatacaattgcttcgacttaccgagctggctttcgtttgactctagttctaga\ acgttctcaggtgaaccttcttctgacttactatctgatgcgaacaccacgttgtatttcaatgtaatactcgagggt\ acggactctgccgacagcacgtctttgaacaatacataccaatttgttgttacaaaccgtccatccatctcgctatcg\ tcagatttcaatctattggcgttgttaaaaaactatggttatactaacggcaaaaacgctctgaaactagatcctaat\ gaagtcttcaacgtgacttttgaccgttcaatgttcactaacgaagaatccattgtgtcgtattacggacgttctcag\ ttgtataatgcgccgttacccaattggctgttcttcgattctggcgagttgaagtttactgggacggcaccggtgata\ aactcggcgattgctccagaaacaagctacagttttgtcatcatcgctacagacattgaaggattttctgccgttgag\ gtagaattcgaattagtcatcggggctcaccagttaactacctctattcaaaatagtttgataatcaacgttactgac\ acaggtaacgtttcatatgacttacctctaaactatgtttatctcgatgacgatcctatttcttctgataaattgggt\ tctataaacttattggatgctccagactgggtggcattagataatgctaccatttccgggtctgtcccagatgaatta\ ctcggtaagaactccaatcctgccaatttttctgtgtccatttatgatacttatggtgatgtgatttatttcaacttc\ gaagttgtctccacaacggatttgtttgccattagttctcttcccaatattaacgctacaaggggtgaatggttctcc\ tactattttttgccttctcagtttacagactacgtgaatacaaacgtttcattagagtttactaattcaagccaagac\ catgactgggtgaaattccaatcatctaatttaacattagctggagaagtgcccaagaatttcgacaagctttcatta\ ggtttgaaagcgaaccaaggttcacaatctcaagagctatattttaacatcattggcatggattcaaagataactcac\ tcaaaccacagtgcgaatgcaacgtccacaagaagttctcaccactccacctcaacaagttcttacacatcttctact\ tacactgcaaaaatttcttctacctccgctgctgctacttcttctgctccagcagcgctgccagcagccaataaaact\ tcatctcacaataaaaaagcagtagcaattgcgtgcggtgttgctatcccattaggcgttatcctagtagctctcatt\ tgcttcctaatattctggagacgcagaagggaaaatccagacgatgaaaacttaccgcatgctattagtggacctgat\ ttgaataatcctgcaaataaaccaaatcaagaaaacgctacacctttgaacaacccctttgatgatgatgcttcctcg\ tacgatgatacttcaatagcaagaagattggctgctttgaacactttgaaattggataaccactctgccactgaatct\ gatatttccagcgtggatgaaaagagagattctctatcaggtatgaatacatacaatgatcagttccaatcccaaagt\ aaagaagaattattagcaaaacccccagtacagcctccagagagcccgttctttgacccacagaataggtcttcttct\ gtgtatatggatagtgaaccagcagtaaataaatcctggcgatatactggcaacctgtcaccagtctctgatattgtc\ agagacagttacggatcacaaaaaactgttgatacagaaaaacttttcgatttagaagcaccagagaaggaaaaacgt\ acgtcaagggatgtcactatgtcttcactggacccttggaacagcaatattagcccttctcccgtaagaaaatcagta\ acaccatcaccatataacgtaacgaagcatcgtaaccgccacttacaaaatattcaagactctcaaagcggtaaaaac\ ggaatcactcccacaacaatgtcaacttcatcttctgacgattttgttccggttaaagatggtgaaaatttttgctgg\ gtccatagcatggaaccagacagaagaccaagtaagaaaaggttagtagatttttcaaataagagtaatgtcaatgtt\ ggtcaagttaaggacattcacggacgcatcccagaaatgctgtgattatacgcaacgatattttgcttaattttattt\ tcctgttttattttttattagtggtttacagataccctatattttatttagtttttatacttagagacatttaatttt\ aattccattcttcaaatttcatttttgcacttaaaacaaagatccaaaaatgctctcgccctcttcatattgagaata\ cactccattcaaaattttgtcgtcaccgctgattaatttttcactaaactgatgaataatcaaaggccccacgtcaga\ accgactaaagaagtgagttttattttaggaggttgaaaaccattattgtctggtaaattttcatcttcttgacattt\ aacccagtttgaatccctttcaatttctgctttttcctccaaactatcgaccctcctgtttctgtccaacttatgtcc\ tagttccaattcgatcgcattaataactgcttcaaatgttattgtgtcatcgttgactttaggtaatttctccaaatg\ cataatcaaactatttaaggaagatcggaattcgtcgaacacttcagtttccgtaatgatctgatcgtctttatccac\ atgttgtaattcactaaaatctaaaacgtatttttcaatgcataaatcgttctttttattaataatgcagatggaaaa\ tctgtaaacgtgcgttaatttagaaagaacatccagtataagttcttctatatagtcaattaaagcaggatgcctatt\ aatgggaacgaactgcggcaagttgaatgactggtaagtagtgtagtcgaatgactgaggtgggtatacatttctata\ aaataaaatcaaattaatgtagcattttaagtataccctcagccacttctctacccatctattcataaagctgacgca\ acgattactattttttttttcttcttggatctcagtcgtcgcaaaaacgtataccttctttttccgacctttttttta\ gctttctggaaaagtttatattagttaaacagggtctagtcttagtgtgaaagctagtggtttcgattgactgatatt\ aagaaagtggaaattaaattagtagtgtagacgtatatgcatatgtatttctcgcctgtttatgtttctacgtacttt\ tgatttatagcaaggggaaaagaaatacatactattttttggtaaaggtgaaagcataatgtaaaagctagaataaaa\ tggacgaaataaagagaggcttagttcatcttttttccaaaaagcacccaatgataataactaaaatgaaaaggattt\ gccatctgtcagcaacatcagttgtgtgagcaataataaaatcatcacctccgttgcctttagcgcgtttgtcgtttg\ tatcttccgtaattttagtcttatcaatgggaatcataaattttccaatgaattagcaatttcgtccaattctttttg\ agcttcttcatatttgctttggaattcttcgcacttcttttcccattcatctctttcttcttccaaagcaacgatcct\ tctacccatttgctcagagttcaaatcggcctctttcagtttatccattgcttccttcagtttggcttcactgtcttc\ tagctgttgttctagatcctggtttttcttggtgtagttctcattattagatctcaagttattggagtcttcagccaa\ ttgctttgtatcagacaattgactctctaacttctccacttcactgtcgagttgctcgtttttagcggacaaagattt\ aatctcgttttctttttcagtgttagattgctctaattctttgagctgttctctcagctcctcatatttttcttgcca\ tgactcagattctaattttaagctattcaatttctctttgatc"\)], "Output"] }, Closed]], Cell[BoxData[ \(StringLength[DNAseq1]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Importing XML Data from the EBI Database", "Subsection", ShowGroupOpenCloseIcon->True], Cell[TextData[{ "Several public databases (DDBJ/EMBL/GenBank) of molecular biology data on \ the internet now support XML format for presenting results from a query \ search. In this section we are going to explore how to manipulate molecular \ biology data from a query search using the EMBL-EBI nucleotide database. \ Details of the XML project at EMBL can be found at the following link\n\n\t\t\ \t\t", ButtonBox["http://www.ebi.ac.uk/xembl/", ButtonData:>{ URL[ "http://www.ebi.ac.uk/xembl/"], None}, ButtonStyle->"Hyperlink"], "\n\nThe particular XML format we are going to use is called BSML. With ", StyleBox["Mathematica", FontSlant->"Italic"], " 4.2 it is now possible to import XML files into ", StyleBox["Mathematica", FontSlant->"Italic"], " and then convert them to SymbolicXML, There are several ways to import \ XML data into ", StyleBox["Mathematica", FontSlant->"Italic"], ". One can use the ", StyleBox["Import", FontWeight->"Bold"], " function or ", StyleBox["XMLGet", FontWeight->"Bold"], " function. In this notebook we will use the latter. The ", StyleBox["XMLGet", FontWeight->"Bold"], " function allows one to query a URL directly from the notebook. In the \ next section we will perform the URL query to obtain the XML data from\n\n\t\ \"http://www.higgins.ucdavis.edu/xmldata/xmldata/SC49845.xml\" .\n", " \n Before we do, let's look at the file's format. The original XML \ document has 147 lines of code; here are the first 15 lines of code:" }], "Text"], Cell[TextData[{ "\n\n\n \ \n \n ", StyleBox["", FontColor->RGBColor[1, 0, 0]], "\n " }], "Text", FontWeight->"Plain"], Cell[TextData[{ "The XML document can been parsed by ", StyleBox["Mathematica'", FontSlant->"Italic"], "s ", StyleBox["XMLGet", FontWeight->"Bold"], " function to obtain a ", StyleBox["SymbolicXML", FontWeight->"Bold"], " expression:" }], "Text"], Cell[BoxData[ \(\(xmlbiodata = XML`Parser`XMLGet["\"]\ ;\)\)], "Input"], Cell[TextData[{ "Shown below are the first 30 lines of the ", StyleBox["SymbolicXML", FontWeight->"Bold"], " expression" }], "Text", FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ \(Short[xmlbiodata, 30]\)], "Input"], Cell[BoxData[ TagBox[\(\(XMLObject[ "Document"]\)[{\(XMLObject["Declaration"]\)[ "Version" \[Rule] "1.0", "Encoding" \[Rule] "UTF-8"], \(XMLObject[ "ProcessingInstruction"]\)["format", "DECIMAL=\".\""], \(XMLObject["Doctype"]\)["Bsml", "Public" \[Rule] "-//EBI//Labbook, Inc. BSML DTD//EN", "System" \[Rule] "http://www.ebi.ac.uk/xembl/dtd/BSML2_2.DTD"], \(XMLObject[ "Comment"]\)[ " The BSML specification was created by Joseph H. Spitzner, \ Ph.D., LabBook, Inc. http://www.labbook.com "]}, XMLElement[ "Bsml", {}, {XMLElement[ "Definitions", {}, \ {XMLElement[\[LeftSkeleton]1\[RightSkeleton]]}]}], {}, "Valid" \[Rule] True]\), (Short[ #, 30]&)]], "Output"] }, Open ]], Cell["Here is an annotated version of the output", "Text"], Cell[BoxData[ TagBox[ RowBox[{\(XMLObject["\"]\), "[", RowBox[{\({\(XMLObject["\"]\)["\" \[Rule] \ "\<1.0\>", "\" \[Rule] "\"], \ \(XMLObject["\"]\)["\", \ "\"]}\), ",", RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", \({}\), ",", RowBox[{"{", RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", \({}\), ",", RowBox[{"{", RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", \({}\), ",", RowBox[{ StyleBox["{", FontColor->RGBColor[1, 0, 0]], RowBox[{ StyleBox["XMLElement", FontColor->RGBColor[1, 0, 0]], StyleBox["[", FontColor->RGBColor[1, 0, 0]], RowBox[{ StyleBox["\"\\"", FontColor->RGBColor[1, 0, 0]], StyleBox[",", FontColor->RGBColor[1, 0, 0]], StyleBox[\({"\" \[Rule] "\", "\ \" \[Rule] "\", "\" \[Rule] "\", \ "\" \[Rule] "\", "\" \ \[Rule] "\<5028\>", "\" \[Rule] "\", "\" \ \[Rule] "\"}\), FontColor->RGBColor[1, 0, 0]], ",", \({XMLElement["\", \ {"\" \[Rule] "\", "\" \[Rule] "\"}, \ {}], \[LeftSkeleton]12\[RightSkeleton]}\)}], "]"}], "}"}]}], "]"}], "}"}]}], "]"}], "}"}]}], "]"}], ",", \({}\)}], "]"}], (Short[ #, 30]&)]], "Input"], Cell[TextData[{ "If we inspect the data file after it has been parsed into ", StyleBox["SymbolicXML", FontWeight->"Bold"], " we see that it is a highly nested function, consisting of ", StyleBox["XMLElements", FontWeight->"Bold"], ". We can extract data from the parsed file using the built-in functions in \ ", StyleBox["Mathematica", FontSlant->"Italic"], ". In particular, we will make use of the ", StyleBox["Cases", FontWeight->"Bold"], " function with appropriately designed patterns/rules. Here is a simple \ example that extracts the data shown above in ", StyleBox["red", FontColor->RGBColor[1, 0, 0]], ":" }], "Text"], Cell[BoxData[ \(Cases[xmlbiodata, XMLElement\ ["\", {x__}, __] \[Rule] x, \[Infinity]]\)], "Input"], Cell[TextData[{ "To extract the nucleotide sequence data from the XML file, we must search \ within the ", StyleBox["Seq-data", FontWeight->"Bold"], " tag, which is defined by the following ", StyleBox["XMLElement", FontWeight->"Bold"], ":\n\t\t", Cell[BoxData[ \(XMLElement["Seq-data", {}, {seq}]\)]], "\nwhere ", StyleBox["seq", FontWeight->"Bold"], " is the nucleotide sequence. We can extract the data using the following \ pattern" }], "Text"], Cell[BoxData[ \(\(DNAseq2 = First[Cases[xmlbiodata, XMLElement["\", {}, {x_}] \[RuleDelayed] StringReplace[ x, "\< \>" -> "\<\>"], \[Infinity]]];\)\)], "Input"], Cell[TextData[{ "Note we make use of ", StyleBox["StringReplace", FontWeight->"Bold"], " to remove any null spaces in the sequence due to spurious formatting in \ the XML file. The number of bases in this sequence is" }], "Text", FontWeight->"Plain"], Cell[BoxData[ \(StringLength[DNAseq2]\)], "Input"], Cell["\<\ We can check that our XML parser gives the same result found \ earlier using the GenBank file\ \>", "Text"], Cell[BoxData[ \(DNAseq2 \[Equal] DNAseq1\)], "Input"], Cell[BoxData[ \(DNAseq2\)], "Input"] }, Closed]] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Manipulating DNA Sequences", "Section", ShowGroupOpenCloseIcon->True], Cell["\<\ We can use the concept of base pairing to determine complement of a \ DNA sequence using the following function\ \>", "Text"], Cell[BoxData[ \(DNAComplement[x_String] := StringReplace[ x, {"\" \[Rule] "\", "\" -> "\", "\" -> "\", \ "\" -> "\"}]\)], "Input"], Cell["Let's apply this function to our DNA sequence", "Text"], Cell[BoxData[ \(\(DNAseq2c = DNAComplement[DNAseq2];\)\)], "Input"], Cell["\<\ We can visualize the DNA using the following function (thanks to \ David Parks, Mathgroup for assistance)\ \>", "Text"], Cell[BoxData[ \(SequenceView[DNA1_, DNA2_, start_, rowlength_, rows_] := Module[{subdata1, subdata2, subdata, \ rowgrid1}, \[IndentingNewLine]rowgrid1[ subdata_]\ := \n\ \ \ \ \ \ GridBox[{subdata[\([1]\)], \ MapAt[StyleBox[#, FontColor \[Rule] RGBColor[1, 0, 0]] &, \ Table["\<|\>", \ {rowlength}], Position[subdata[\([1]\)], StyleBox[x__]]], \n\ \ \ \ \ \ \ \ \ subdata[\([2]\)]}, \ GridBaseline\ -> \ Bottom]; \n\ \ subdata1\ = \n\ \ \ \ \ \ Take[ Characters[DNA1], \ {start, \ Min[start\ + \ rows\ rowlength\ - \ 1, \ Length[Characters[ DNA1]]]}]; \[IndentingNewLine]\ \ \ \ subdata1\ = \ Partition[subdata1, \ rowlength, \ rowlength, \ {1, \ 1}, \ "\< \>"]; \[IndentingNewLine]subdata2 = \n\ \ \ \ \ \ \ Take[Characters[DNA2], \ {start, \ Min[start\ + \ rows\ rowlength\ - \ 1, \ Length[Characters[ DNA2]]]}]; \[IndentingNewLine]\ \ \ \ subdata2\ = \ Partition[subdata2, \ rowlength, \ rowlength, \ {1, \ 1}, \ "\< \>"]; \n\ \ \ \ subdata\ = Map[\ {rowgrid1[#]}\ &\ , Transpose[{subdata1, subdata2}]]; \n\ \ \ \ DisplayForm[ FrameBox[GridBox[subdata, \ RowLines\ -> \ True]]]]\)], "Input"], Cell[TextData[{ "The ", StyleBox["SequenceView", FontWeight->"Bold"], " function takes 5 arguments. The first two arguments are strings that \ represent the complementary DNA strands. The third argument is the position \ of the base pair where viewing begins; the fourth argument is the number of \ base pairs in a row; and the fifth argument is the number of rows. Here is a \ view of the first 125 base pairs of the sequence." }], "Text"], Cell[BoxData[ \(SequenceView[DNAseq2, DNAseq2c, 1, 25, 10]\)], "Input"], Cell["\<\ We can readily determine the number of individual bases in our \ sequence\ \>", "Text", FontWeight->"Plain"], Cell[BoxData[ \(Map[ Length[Cases[ Characters[ DNAseq2], #]] &, {"\", "\", "\", "\"}]\)], \ "Input"] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Comparing DNA Sequences of Equal Length", "Section", ShowGroupOpenCloseIcon->True], Cell["\<\ We can use the results from the previous section to write a \ function that compares two sequences and then displays the sequence in a \ cartoon and shows the bases that are aligned in a different color. First, we \ have the following function that generates a random DNA sequence\ \>", "Text"], Cell[BoxData[ \(randomnucl := Switch[Random[], _?\((# < 0.25 &)\), "\", _?\((# < 0.5 &)\), "\", _?\((# < 0.75 &)\), "\", _, "\"]\)], "Input"], Cell["\<\ Next, we generate two sequences at random each with 500 bases \ \ \>", "Text"], Cell[BoxData[{ \(\(DNASeqRandom1 = Table[randomnucl, {500}];\)\), "\n", \(\(DNASeqRandom2 = Table[randomnucl, {500}];\)\)}], "Input"], Cell["\<\ The following function does the comparison and displays the results\ \ \>", "Text"], Cell[BoxData[ \(CompareSequences[seq1_, seq2_, start_, rowlength_, rows_] := Module[{pos, seq11, seq21, subdata1, subdata2, subdata, \ rowgrid1}, \[IndentingNewLine]pos = Position[\((seq1 - seq2)\), x_ /; x \[Equal] 0]; \[IndentingNewLine]seq11 = MapAt[ToUpperCase, seq1, pos] /. x_String?UpperCaseQ :> StyleBox[ToLowerCase[x], FontColor \[Rule] RGBColor[1, 0, 0]]; \[IndentingNewLine]seq21 = MapAt[ToUpperCase, seq2, pos] /. x_String?UpperCaseQ :> StyleBox[ToLowerCase[x], FontColor \[Rule] RGBColor[1, 0, 0]]; \[IndentingNewLine]rowgrid1[ subdata_]\ := \n\ \ \ \ \ \ GridBox[{subdata[\([1]\)], \ MapAt[StyleBox[#, FontColor \[Rule] RGBColor[1, 0, 0]] &, \ Table["\<|\>", \ {rowlength}], Position[subdata[\([1]\)], StyleBox[x__]]], \n\ \ \ \ \ \ \ \ \ subdata[\([2]\)]}, \ GridBaseline\ -> \ Bottom]; \n\ \ subdata1\ = \n\ \ \ \ \ \ Take[ seq11, \ {start, \ Min[start\ + \ rows\ rowlength\ - \ 1, \ Length[seq11]]}]; \[IndentingNewLine]\ \ \ \ subdata1\ = \ Partition[subdata1, \ rowlength, \ rowlength, \ {1, \ 1}, \ "\< \>"]; \[IndentingNewLine]subdata2 = \n\ \ \ \ \ \ \ Take[seq21, \ {start, \ Min[start\ + \ rows\ rowlength\ - \ 1, \ Length[seq21]]}]; \[IndentingNewLine]\ \ \ \ subdata2\ = \ Partition[subdata2, \ rowlength, \ rowlength, \ {1, \ 1}, \ "\< \>"]; \n\ \ \ \ subdata\ = Map[\ {rowgrid1[#]}\ &\ , Transpose[{subdata1, subdata2}]]; \n\ \ \ \ DisplayForm[ FrameBox[GridBox[subdata, \ RowLines\ -> \ True]]]]\)], "Input"], Cell["Here is an example", "Text"], Cell[BoxData[ \(CompareSequences[DNASeqRandom1, DNASeqRandom2, 10, 25, 10]\)], "Input"] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Comparing DNA Sequences using Dot Plots", "Section", ShowGroupOpenCloseIcon->True], Cell[TextData[{ "A dot plot is simple method for analyzing and comparing two DNA sequences. \ In its simplest form a matrix is constructed where the rows are the character \ positions in sequence A and the columns are the character positions in \ sequence B. A dot is placed in location (i,j) if the ", Cell[BoxData[ \(i\^th\)]], "character of sequence A matches the ", Cell[BoxData[ \(j\^th\)]], "character of sequence B. Regions that are similar are revealed as a set \ of diagonal dots. Random matches are given by isolated dots. Because two DNA \ sequences will have a high probability of random matches, the noise can be \ filtered by using a sliding window that compares blocks of DNA bases. Two \ blocks are said to match if a mismatch criterion(level) is satisfied. If the \ mismatch level is zero then all bases in the two windows must match. In this \ example we will show how to construct dot plots when the mismatch level is \ zero. " }], "Text"], Cell[TextData[{ "In this example we will examine DNA sequences that produce human \ hemoglobins, which is a protein used by red blood cells to distribute oxygen \ to other tissues and cells in the body. In a normal adult hemoglobin A is the \ most prevalent form comprising about 95% of all hemoglobin. Two other forms \ also occur : hemoglobin ", Cell[BoxData[ \(A\_2\)]], " and hemoglobin F. Hemoglobin A is composed of two alpha and two beta \ globins, while hemoglobin F consists of two alpha and two gamma globins. The \ human alpha globin gene cluster is located on chromosome 16 and spans about \ 30000 bases. " }], "Text"], Cell[BoxData[ \(DNADotPlot[DNA1_, DNA2_, BlockSize_, offset_] := Module[{dnablocks1, dnablocks2, blocklists, orderedlists, grouplists, altPatterns, matchlists}, \[IndentingNewLine]dnablocks1 = MapIndexed[List[#, \((First[#2] - 1)\) offset + 1] &, Map[StringJoin[#] &, Partition[Characters[DNA1], BlockSize, offset], 1]]; \[IndentingNewLine]dnablocks2 = MapIndexed[List[#, \((First[#2] - 1)\) offset + 1] &, Map[StringJoin[#] &, Partition[Characters[DNA2], BlockSize, offset], 1]]; \[IndentingNewLine]blocklists = {dnablocks1, dnablocks2}; \[IndentingNewLine]orderedlists = \(#[\([Ordering[#[\ \([All, 1]\)]]]\)] &\) /@ blocklists; \[IndentingNewLine]grouplists = \(Split[#, \ #1[\([1]\)] === #2[\([1]\)] &] &\) /@ orderedlists; altPatterns = \((Alternatives @@ \((Intersection @@ orderedlists[\([All, All, 1]\)])\))\); \[IndentingNewLine]matchlists = Transpose[\(Cases[#, {{altPatterns, _}, ___}] &\) /@ grouplists]; \[IndentingNewLine]ListPlot[ Flatten[Apply[Outer[List, ##, 1] &, matchlists, {1}], 2] /. {{x1_String, y1_}, {x2_String, y2_}} \[Rule] {y1, y2}, AspectRatio \[Rule] 1, PlotStyle \[Rule] {RGBColor[0, 0, 1], PointSize[0.01]}, Frame \[Rule] True, FrameLabel \[Rule] {"\", "\"}, RotateLabel \[Rule] False, Axes \[Rule] False]]\)], "Input"], Cell["\<\ The algorithm used in the above module was suggested by Allan Hayes \ from the Mathgroup. \ \>", "Text"], Cell[TextData[{ "We will import the DNA sequences that encode for various hemoglobin forms \ from the local web site, and then use our DNADotPlot function to see if there \ are similarities in the sequences. The files we will be importing are in XML \ format and were downloaded originally from GenBank. We will use the ", StyleBox["XMLGet", FontWeight->"Bold"], " function to query a URL directly from the notebook. We will import 4 \ files.\n" }], "Text"], Cell[BoxData[ \(\(HBalpha1XML = XML`Parser`XMLGet["\"]\ ;\)\)], "Input"], Cell[BoxData[ \(\(HBalpha2XML = XML`Parser`XMLGet["\"]\ ;\)\)], "Input"], Cell[BoxData[ \(\(HBbetaXML = XML`Parser`XMLGet["\"]\ ;\)\)], "Input"], Cell[BoxData[ \(\(HBgammaAXML = XML`Parser`XMLGet["\"]\ ;\)\)], "Input"], Cell["\<\ We can extract the DNA sequences from these files by selecting the \ data from the appropriate XMLElement\ \>", "Text"], Cell[BoxData[ \(\({HBalpha1, HBalpha2, HBbeta, HBgammaA} = Map[First[ Flatten[Cases[#, XMLElement["\", _, x_] \[Rule] x, \[Infinity]]]] &, {HBalpha1XML, HBalpha2XML, HBbetaXML, HBgammaAXML}];\)\)], "Input"], Cell["In our first plot we will compare the two alpha sequences", "Text"], Cell[BoxData[ \(\(DNADotPlot[HBalpha1, HBalpha2, 6, 1];\)\)], "Input"], Cell["\<\ We see that there is considerable overlap except near the end of \ each sequence. In our next plot we compare the beta encoding sequence with \ the alpha encoding sequence. In this case there is no meaningful \ overlap\ \>", "Text"], Cell[BoxData[ \(\(DNADotPlot[HBbeta, HBalpha1, 4, 1];\)\)], "Input"], Cell["\<\ Finally we compare the gamma encoding sequence with the beta \ encoding sequence. In this case there is some overlap.\ \>", "Text"], Cell[BoxData[ \(\(DNADotPlot[HBgammaA, HBbeta, 4, 1];\)\)], "Input"] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Working with Amino Acid Sequences", "Section", ShowGroupOpenCloseIcon->True], Cell[TextData[{ "Information about the amino acid sequences is contained in the following \ XMLElement:\n\n\t\t\t\t", Cell[BoxData[ \(XMLElement["Feature", \(\(\(...\) \(...\)\)\(.\)\)]\)]], "\n\nWe can use the following pattern to extract out all \"Feature\" data \ from the XML file\t" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Cases[xmlbiodata, XMLElement["\", ___], \[Infinity]]\)], "Input"], Cell[BoxData[ \({XMLElement[ "Feature", {"id" \[Rule] "FTR_U49845.1_0", "class" \[Rule] "SOURCE", "value-type" \[Rule] "source", "title" \[Rule] "source", "display-auto" \[Rule] "1"}, {XMLElement[ "Qualifier", {"value-type" \[Rule] "chromosome", "value" \[Rule] "IX"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "map", "value" \[Rule] "9"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "organism", "value" \[Rule] "Saccharomyces cerevisiae"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "db_xref", "value" \[Rule] "TAXONOMY:4932"}, {}], XMLElement[ "Interval-loc", {"startpos" \[Rule] "1", "endpos" \[Rule] "5028"}, {}]}], XMLElement[ "Feature", {"id" \[Rule] "FTR_U49845.1_1", "class" \[Rule] "CDS", "value-type" \[Rule] "cds", "title" \[Rule] "CDS", "display-auto" \[Rule] "1"}, {XMLElement[ "Qualifier", {"value-type" \[Rule] "product", "value" \[Rule] "TCP1-beta"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "codon_start", "value" \[Rule] "3"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "translation", "value" \[Rule] "SSIYNGISTSGLDLNNGTIADMRQLGIVESYKLKRAVVSSASEAAEVLLRVDNIIRARPRT\ ANRQHM"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "db_xref", "value" \[Rule] "SWISS-PROT:P39076"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "db_xref", "value" \[Rule] "PID:AAA98665.1"}, {}], XMLElement[ "Interval-loc", {"startpos" \[Rule] "1", "endpos" \[Rule] "206", "startopen" \[Rule] "1"}, {}]}], XMLElement[ "Feature", {"id" \[Rule] "FTR_U49845.1_2", "class" \[Rule] "CDS", "value-type" \[Rule] "cds", "title" \[Rule] "AXL2", "display-auto" \[Rule] "1"}, {XMLElement[ "Qualifier", {"value-type" \[Rule] "gene", "value" \[Rule] "AXL2"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "product", "value" \[Rule] "Axl2p"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "codon_start", "value" \[Rule] "1"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "note", "value" \[Rule] "plasma membrane glycoprotein"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "translation", "value" \[Rule] "MTQLQISLLLTATISLLHLVVATPYEAYPIGKQYPPVARVNESFTFQISNDTYKSSVDKTA\ QITYNCFDLPSWLSFDSSSRTFSGEPSSDLLSDANTTLYFNVILEGTDSADSTSLNNTYQFVVTNRPSISLSSDFNLL\ ALLKNYGYTNGKNALKLDPNEVFNVTFDRSMFTNEESIVSYYGRSQLYNAPLPNWLFFDSGELKFTGTAPVINSAIAP\ ETSYSFVIIATDIEGFSAVEVEFELVIGAHQLTTSIQNSLIINVTDTGNVSYDLPLNYVYLDDDPISSDKLGSINLLD\ APDWVALDNATISGSVPDELLGKNSNPANFSVSIYDTYGDVIYFNFEVVSTTDLFAISSLPNINATRGEWFSYYFLPS\ QFTDYVNTNVSLEFTNSSQDHDWVKFQSSNLTLAGEVPKNFDKLSLGLKANQGSQSQELYFNIIGMDSKITHSNHSAN\ ATSTRSSHHSTSTSSYTSSTYTAKISSTSAAATSSAPAALPAANKTSSHNKKAVAIACGVAIPLGVILVALICFLIFW\ RRRRENPDDENLPHAISGPDLNNPANKPNQENATPLNNPFDDDASSYDDTSIARRLAALNTLKLDNHSATESDISSVD\ EKRDSLSGMNTYNDQFQSQSKEELLAKPPVQPPESPFFDPQNRSSSVYMDSEPAVNKSWRYTGNLSPVSDIVRDSYGS\ QKTVDTEKLFDLEAPEKEKRTSRDVTMSSLDPWNSNISPSPVRKSVTPSPYNVTKHRNRHLQNIQDSQSGKNGITPTT\ MSTSSSDDFVPVKDGENFCWVHSMEPDRRPSKKRLVDFSNKSNVNVGQVKDIHGRIPEML"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "db_xref", "value" \[Rule] "SGD:S0001402"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "db_xref", "value" \[Rule] "SWISS-PROT:P38928"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "db_xref", "value" \[Rule] "PID:AAA98666.1"}, {}], XMLElement[ "Interval-loc", {"startpos" \[Rule] "687", "endpos" \[Rule] "3158"}, {}]}], XMLElement[ "Feature", {"id" \[Rule] "FTR_U49845.1_3", "class" \[Rule] "CDS", "value-type" \[Rule] "cds", "title" \[Rule] "REV7", "display-auto" \[Rule] "1"}, {XMLElement[ "Qualifier", {"value-type" \[Rule] "gene", "value" \[Rule] "REV7"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "product", "value" \[Rule] "Rev7p"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "codon_start", "value" \[Rule] "1"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "translation", "value" \[Rule] "MNRWVEKWLRVYLKCYINLILFYRNVYPPQSFDYTTYQSFNLPQFVPINRHPALIDYIEEL\ ILDVLSKLTHVYRFSICIINKKNDLCIEKYVLDFSELQHVDKDDQIITETEVFDEFRSSLNSLIMHLEKLPKVNDDTI\ TFEAVINAIELELGHKLDRNRRVDSLEEKAEIERDSNWVKCQEDENLPDNNGFQPPKIKLTSLVGSDVGPLIIHQFSE\ KLISGDDKILNGVYSQYEEGESIFGSLF"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "db_xref", "value" \[Rule] "SGD:S0001401"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "db_xref", "value" \[Rule] "SWISS-PROT:P38927"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "db_xref", "value" \[Rule] "PID:AAA98667.1"}, {}], XMLElement[ "Qualifier", {"value-type" \[Rule] "complement", "value" \[Rule] "complement(3300..4037)"}, {}], XMLElement[ "Interval-loc", {"startpos" \[Rule] "3300", "endpos" \[Rule] "4037", "complement" \[Rule] "1"}, {}]}]}\)], "Output"] }, Closed]], Cell["\<\ Suppose we want to extract out the data for a particular gene. The \ amino acid sequence for the AXL2 gene can be found in the following record \ \ \>", "Text"], Cell[BoxData[ \(Cases[xmlbiodata, XMLElement["\", {__, "\" \[Rule] "\", ___}, \ ___], \[Infinity]]\)], "Input"], Cell[TextData[{ "If we inspect the above record we can define the following function that \ extracts the amino acid sequence from the record for a particular gene as \ well as the start and end positions for coding, which is defined in the last \ XMLElement of the \"Feature\" XMLElement. Since not all coding begins by \ reading the DNA sequence of bases from left to right we must also add in a \ third argument for this XMLElement that determines whether the reading is \ from right to left (i.e.using the complement DNA strand). This argument is \ given as a rule: ", Cell[BoxData[ \(Complement \[Rule] int\)]], " , where ", Cell[BoxData[ \(int = 1, 2, \ or\ 3\)]], ". We define an optional pattern for this argument since if the complement \ strand is not used it is omitted." }], "Text"], Cell[BoxData[ \(geneData[geneName_String] := Flatten[Cases[xmlbiodata, XMLElement["\", {__, "\" \[Rule] geneName, ___}, {___, XMLElement["\", {"\" \[Rule] \ "\", "\" \[Rule] x_}, {}], ___, XMLElement["\", {"\" \[Rule] n1_, "\" \[Rule] n2_\ , y_: "\<\>"}, {}]}] \[RuleDelayed] {x, {n1, n2}, y}, \[Infinity]], 1]\)], "Input"], Cell["Here is the data for the AXL2 gene:", "Text"], Cell[BoxData[ \({AminoAcidSeq1, loc1, comp1} = geneData["\"]\)], "Input"], Cell[TextData[{ "Let us test out whether this amino acid sequence can be reconstructed from \ the DNA sequence. We proceed as follows. First, we select the bases from our \ sequence in positions 687-3158 using the ", StyleBox["StringTake", FontWeight->"Bold"], " function" }], "Text"], Cell[BoxData[ \(\(baseSeq1 = StringTake[DNAseq, ToExpression[loc1]];\)\)], "Input"], Cell["\<\ We can convert this base sequence to an amino acid sequence using \ the following codon rules\ \>", "Text"], Cell[BoxData[ \(\(CodonRules = {"\" -> "\", "\" -> "\", "\" -> \ "\", "\" -> "\", "\" -> "\", \ \ \ "\" -> \ "\", "\" -> "\", "\" -> "\", "\" -> "\", \ "\" -> "\", "\" -> "\<_\>", "\" -> "\<_\>", "\" -> \ "\", "\" -> "\", "\" -> "\<_\>", "\" -> "\", \ "\" \[Rule] "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" -> "\", "\" \[Rule] "\", "\" -> "\", "\" -> "\", "\ \" -> "\", "\" -> "\", "\" -> "\"};\)\)], \ "Input"], Cell[TextData[{ " The way we do this is first convert the DNA string into characters using \ the Character function, partition the subsequent list into sublist of 3 \ bases, rejoin the individual characters in the sublists using ", StyleBox["StringJoin, ", FontWeight->"Bold"], " and then apply the codon rules to each sublist. ", "Thus the predicted amino acid sequence generated by bases at positions \ 687-3158 is" }], "Text"], Cell[BoxData[ \(predAminoAcidSeq1 = StringJoin[\(Partition[Characters[baseSeq1], 3] /. {x_, y_, z_} \[RuleDelayed] StringJoin[x, y, z]\) /. CodonRules]\)], "Input"], Cell["\<\ If we drop the \"stop\" codon, we can test to see whether our \ predicted amino acid sequence matches the one given in the XML file\ \>", \ "Text"], Cell[BoxData[ \(AminoAcidSeq1 \[Equal] StringDrop[predAminoAcidSeq1, \(-1\)]\)], "Input"], Cell["Let us examine the output for the second gene REV7", "Text"], Cell[BoxData[ \({AminoAcidSeq2, loc2, comp2} = geneData["\"]\)], "Input"], Cell["\<\ In this case the start and stop bases used for the amino acid \ sequence are defined in terms of the complement DNA structure. Thus to \ extract out the appropriate bases we first take the complement of our DNA \ sequence, select the bases at positions 3300 through 4037, and then reverse \ the segment. Our base sequence is then\ \>", "Text"], Cell[BoxData[ \(\(baseSeq2 = StringReverse[ StringTake[DNAComplement[DNAseq], {3300, 4037}]];\)\)], "Input"], Cell["Applying the codon rules to this sequence of bases gives", "Text"], Cell[BoxData[ \(predAminoAcidSeq2 = StringJoin[\(Partition[Characters[baseSeq2], 3] /. {x_, y_, z_} \[RuleDelayed] StringJoin[x, y, z]\) /. CodonRules]\)], "Input"], Cell["\<\ Again if we drop the \"stop\" codon, we can test to see whether our \ predicted amino acid sequence matches the one given in the XML file for the \ REV7 gene\ \>", "Text"], Cell[BoxData[ \(AminoAcidSeq2 \[Equal] StringDrop[predAminoAcidSeq2, \(-1\)]\)], "Input"] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Working with Restriction Enzymes", "Section", ShowGroupOpenCloseIcon->True], Cell["\<\ If foreign DNA is introduced into a bacterium, a group of enzymes \ renders the DNA ineffective by cleaving it, thus restricting its activity. \ These enzymes are called restriction enzymes. There are some 300 such \ enzymes.\ \>", "Text"], Cell[TextData[{ "In this example we examine ways to use and manipulate restriction enzymes. \ We will make use of a data file that can be found on the Rebase web site at \ the following URL:\n\t\t", ButtonBox["http://rebase.neb.com/rebase/rebase.files.html ", ButtonData:>{ URL[ "http://rebase.neb.com/rebase/rebase.files.html "], None}, ButtonStyle->"Hyperlink"], "\nThe file we will be working with is called IGSuite on the above site. \ Since the site does not support XML formats, it is necessary to download the \ file and then import that file into ", StyleBox["Mathematica", FontSlant->"Italic"], ". To keep this notebook self-contained, we will define the following \ function that list the data for the first 40 enzymes" }], "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(\(myResData = {"\", "\", "\", "\", "\", "\", "\", \ "\", "\", "\", \ "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", "\", \ "\", "\", "\", \ "\", "\", "\", \ "\", "\", "\", \ "\", "\", "\", \ "\", "\", "\", "\", "\", "\", \ "\"};\)\)], "Input"], Cell[CellGroupData[{ Cell["Manipulating Restriction Enzyme data", "Subsection"], Cell[TextData[{ "The file called ", StyleBox["myResData", FontWeight->"Bold"], " contains the restriction enzyme information. We need to edit each one of \ these lines. For our purposes we will remove the names in parenthesis and \ then parse the actual recognition sequence information so that it is useful \ for doing motif searches on a target sequence." }], "Text", FontVariations->{"CompatibilityType"->0}], Cell["\<\ To keep the discussion simple we will first show the steps we take \ to modify the data in a single row, say row 30 \ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(myResData[\([30]\)]\)], "Input"], Cell["\<\ Note that the recognition sequence contains letters that are not \ the usual DNA bases \"A\",\"G\",\"C\",\"T\" The claret symbol \"^\" \ indicates where the cut is made. In the above example the AccB2I enzyme cuts \ the DNA strand at the RGCGCY site between the C and Y bases. The extended \ alphabet used in the recognition sequence is defined by the following \ rules\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(\(RestrictionSiteCodeRules = {"\" \[Rule] "\<[GA]\>", "\" \ \[Rule] "\<[CT]\>", "\" \[Rule] "\<[AC]\>", "\" \[Rule] "\<[GT]\>", "\ \" \[Rule] "\<[GC]\>", "\" \[Rule] "\<[AT]\>", "\" \[Rule] \ "\<[CGT]\>", "\" \[Rule] "\<[AGT]\>", "\" \[Rule] "\<[ACT]\>", \ "\" \[Rule] "\<[ACG]\>", "\" \[Rule] "\<[ACGT]\>"};\)\)], "Input"], Cell["\<\ Thus the letter Y in the recognition sequence RGCGCY stands for \ either C or T, and the letter R stands for either G or A. So the AccB2I \ enzyme will cut at all of the following sites in a DNA strand: \t\tGGCGCC,GGCGCT, AGCGCC, AGCGCT\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[TextData[{ "We will find it convenient for later processing to convert each string of \ the data in the rows of ", StyleBox["myResData", FontWeight->"Bold"], " into separate elements. The easiest way to do this is to convert the \ string to a stream and then use ", StyleBox["ReadList", FontWeight->"Bold"], " as shown below for row 30. We also remove the name in parenthesis with a \ simple rule. " }], "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[{ \(\(s = StringToStream[myResData[\([30]\)]];\)\), "\n", \(enzymeData = ReadList[s, Word, RecordSeparators \[Rule] "\< \>"] /. {x_String, y_String, z_String} \[Rule] {x, z}\)}], "Input"], Cell["\<\ It is a simple matter to use the above ideas to write a short \ function that works on all elements of our list:\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(enzymeListData[file_] := Module[{}, Table[ReadList[StringToStream[file[\([i]\)]], Word, RecordSeparators \[Rule] "\< \>"] /. {x_String, y_String, z_String} \[Rule] {x, z}, {i, 1, Length[file]}]]\)], "Input"], Cell["\<\ Here is a list of the first 40 enzymes after the file has been \ parsed.\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(\(myEnzymeList = enzymeListData[myResData];\)\)], "Input"], Cell["\<\ We will find it convenient to have a few utility functions that \ operate on this list. First, it will be convenient to have look-up function \ : For a given enzyme name, we can read from the file the recognition \ sequence. Here is a simple function that does this task\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(enzymeLookup[enzymeName_String, enzymeList_List] := First[Cases[ enzymeList, {x_String /; StringMatchQ[x, enzymeName], y_String} \[Rule] y, \[Infinity]]]\)], "Input"], Cell["\<\ In the following example we specify the restriction enzyme \ \"AccB2I\"\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(enzymeLookup["\", myEnzymeList]\)], "Input"], Cell[TextData[{ "We also need a function that translates the recognition sequence into the \ 4 nucleotide bases using the ", Cell[BoxData[ StyleBox[\(restrictionSiteCodeRues\ rules\), FontWeight->"Bold"]]], ". " }], "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(resSiteString[str_String] := StringReplace[str, Flatten[{"\<^\>" \[Rule] "\<\>", RestrictionSiteCodeRules}]]\)], "Input"], Cell["\<\ We can combine this function with the previous one so that by \ specifying the name of the enzyme we get the code for the recognition \ sequence\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(resSiteString[enzymeLookup["\", myEnzymeList]]\)], "Input"], Cell[TextData[{ "Another function we will need is one that generates a list of all the \ possible recognition sequence for a given enzyme.What we need is a function \ that can parse the recognition sequence string that is obtained from our ", StyleBox["resSiteString", FontWeight->"Bold"], " function. The following function takes the string say GCGC[CG] and \ returns a list of the various characters in the string. i.e. GCGCC and \ GCGCG" }], "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(resSiteList[str_String] := Module[{s, s1, s2, s3, stringCombine, str1, str2}, \[IndentingNewLine]stringCombine[str1_List, str2_List] := Flatten[Outer[StringJoin, str1, str2]]; s = StringToStream[ StringReplace[ str, {"\<[\>" \[Rule] "\<#[\>", "\<]\>" \[Rule] "\<]#\>"}]]; \ \[IndentingNewLine]s1 = ReadList[s, Word, WordSeparators \[Rule] {"\<#\>"}]; \[IndentingNewLine]s2 = s1 //. {y___, x_String /; StringMatchQ[x, "\<[*\>"], z___} :> {y, Characters[ StringReplace[x, {"\<[\>" -> "\<\>", "\<]\>" -> "\<\>"}]], z}; \[IndentingNewLine]s3 = Map[Flatten[#] &, s2 /. x_String \[Rule] {x}]; \[IndentingNewLine]Fold[ stringCombine, First[s3], Rest[s3]]]\)], "Input"], Cell["Let us try it out on the string \"GCGC[CG][AG]T\" ", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(resSiteList["\"]\)], "Input"], Cell["\<\ Again we can concatenate these functions as follows and from the \ name of the enzyme we get all possible restriction sites for our enzyme \ \"AccB2I\"\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(resSiteList[ resSiteString[enzymeLookup["\", myEnzymeList]]]\)], "Input"], Cell["\<\ For some of the enzymes the number of restriction sites can be \ quite large. Consider the case for \"AceIII\"\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(resSiteString[enzymeLookup["\", myEnzymeList]]\)], "Input"], Cell[TextData[{ "This enzyme would generate ", Cell[BoxData[ \(\(\(4\^7\)\(=\)\)\)]], "16385 possible sites." }], "Text", FontVariations->{"CompatibilityType"->0}], Cell["\<\ The last utility function that we need is one the determines the \ location in the target DNA where the cut is made.Thus enzyme \"AccB2I\" has \ the recognition sequence RGCGC^Y which means it cuts between the 5th and 6th \ base in the site. The following function determines the base location to the \ left of the cut:\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(cutLocation[str_String] := First[Flatten[StringPosition[str, "\<^\>"]]] - 1\)], "Input"], Cell["Here is a test with the AccB2I enzyme", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(cutLocation[enzymeLookup["\", myEnzymeList]]\)], "Input"], Cell["\<\ In the next section we show use these functions to determine the \ location a particular enzyme cuts a DNA sequence \ \>", "Text", FontVariations->{"CompatibilityType"->0}] }, Closed]], Cell[CellGroupData[{ Cell["Motif Searches", "Subsection"], Cell[TextData[{ "Suppose we are given a DNA string and we want to determine the restriction \ sites on that string for a given enzyme. We will use the following DNA strand \ for our example, which can be down loaded from the GenBank site:\n\t\t\t", ButtonBox["http://www.ncbi.nlm.nih.gov/Genbank/index.html", ButtonData:>{ URL[ "http://www.ncbi.nlm.nih.gov/Genbank/index.html"], None}, ButtonStyle->"Hyperlink"], "\n For this purpose we are going to work with the file for the ", StyleBox["Homo Sapiens mRNA for AIRE Protein.", FontFamily->"Times New Roman"], StyleBox[".", FontFamily->"Courier New", FontSize->13], StyleBox[" ", FontSize->13], "The nucleotide Accession Number for file is Z97990, while its unique \ identifier (UID) is 2665370. We can use ", StyleBox["Mathematica", FontSlant->"Italic"], "'s XML import capabilities to bring this file into our notebook in the \ form of Symbolic XML" }], "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(\(xmldna = XML`Parser`XMLGet["\"]\ ;\)\)], \ "Input"], Cell[TextData[{ "We can extract the DNA sequence by using the following pattern in \ conjunction with ", StyleBox["Cases", FontWeight->"Bold"] }], "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(myDNA = First[Flatten[ Cases[xmldna, XMLElement["\", _, x_] \[Rule] x, \[Infinity]]]]\)], "Input"], Cell[TextData[{ "To determine the position of a given motif in our DNA strand we use the ", StyleBox["StringPosition ", FontWeight->"Bold"], " function. Thus consider the motif \"GGAACC\". Its location is" }], "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(StringPosition[myDNA, {"\"}]\)], "Input"], Cell["\<\ We can improve this search by using the following function which \ gives the starting position of the DNA segments that match the enzyme's \ recognition sequence.\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(positionOfMotifs[str_String, motif__String] := Map[{\(First[#]\)[\([1]\)], Last[#]} &, Select[Map[{Flatten[StringPosition[str, #], 1], #} &, {motif}], Length[First[#]] > 0 &]]\)], "Input"], Cell["\<\ Thus for the enzyme \"AccB2I\" we has the following list of \ recognition sequences\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(RecogSeq = resSiteList[ resSiteString[enzymeLookup["\", myEnzymeList]]]\)], "Input"], Cell["\<\ We find that there are 3 locations in our DNA string that match \ the enzymes recognition sequences\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(restrictionSites[data_] := positionOfMotifs[data, Apply[Sequence, RecogSeq]]\)], "Input"], Cell[BoxData[ \(restrictionSites[myDNA]\)], "Input"], Cell["\<\ Thus the restriction enzyme AccB2I has 3 recognition sequences that \ have matches in our DNA. To determine the cut locations we use the \ information that the enzyme cuts between C and Y bases : RGCGC^Y. Here is a \ function that does the task \ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(findCutLocations[enzyme_, sites_] := Module[{s, cutLocation, str}, cutLocation[str_String] := First[Flatten[StringPosition[str, "\<^\>"]]] - 2; \[IndentingNewLine]s = enzymeLookup[enzyme, myEnzymeList]; Map[{First[#] + cutLocation[s]} &, sites]]\)], "Input"], Cell["The cut positions on this strand of DNA are", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(strand1Pos = findCutLocations["\", restrictionSites[myDNA]]\)], "Input"], Cell["\<\ Of course the enzyme will also cut the complement strand of our DNA \ sequence which can be found using the following function\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(reverseComplement[x_String] := StringReplace[ x, {"\" \[Rule] "\", "\" -> "\", "\" -> "\", \ "\" -> "\"}]\)], "Input"], Cell["Thus for the complement DNA the cut locations are", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(\(myDNAc = reverseComplement[myDNA];\)\)], "Input"], Cell[BoxData[ \(strand2Pos = findCutLocations["\", restrictionSites[myDNAc]]\)], "Input"], Cell["\<\ In the next section we illustrate how we can display our DNA \ sequence with the cut locations.\ \>", "Text", FontVariations->{"CompatibilityType"->0}] }, Closed]], Cell[CellGroupData[{ Cell["Displaying DNA sequences", "Subsection"], Cell["\<\ Finally we would like to display graphically where the cuts will be \ made on our DNA sequence. The following method is based on a suggested by \ David Park of the Mathgroup. Our display function takes several arguments: \ The first argument defines the DNA sequence; the second argument the \ complement sequence, the third and fourth arguments are the positions where \ the cuts occur, the fifth argument is the location of the base pair where we \ want to start displaying; the sixth argument is the length of the row (i.e \ the number of base pairs displayed in a row); the last argument is the number \ of rows.\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(SequenceCartoon[strand1_, strand2_, cut1_, cut2_, \ start_, rowlength_, rows_] := Module[{pos, seq11, seq21, subdata1, subdata2, subdata, \ rowgrid1}, \[IndentingNewLine]seq11 = MapAt[ToLowerCase, Characters[strand1], cut1] /. x_String?LowerCaseQ :> StyleBox[ToUpperCase[x], FontColor \[Rule] RGBColor[0, 0, 1]]; \[IndentingNewLine]seq21 = MapAt[ToLowerCase, Characters[strand2], cut2] /. x_String?LowerCaseQ :> StyleBox[ToUpperCase[x], FontColor \[Rule] RGBColor[0, 0, 1]]; \[IndentingNewLine]rowgrid1[ subdata_]\ := \n\ \ \ \ \ \ GridBox[{subdata[\([1]\)], \ MapAt[StyleBox[#, FontColor \[Rule] RGBColor[0, 0, 1]] &, \ Table["\<|\>", \ {rowlength}], Position[subdata[\([1]\)], StyleBox[x__]]], \n\ \ \ \ \ \ \ \ \ subdata[\([2]\)]}, \ GridBaseline\ -> \ Bottom]; \n\ \ subdata1\ = \n\ \ \ \ \ \ Take[ seq11, \ {start, \ Min[start\ + \ rows\ rowlength\ - \ 1, \ Length[seq11]]}]; \[IndentingNewLine]\ \ \ \ subdata1\ = \ Partition[subdata1, \ rowlength, \ rowlength, \ {1, \ 1}, \ "\< \>"]; \[IndentingNewLine]subdata2 = \n\ \ \ \ \ \ \ Take[seq21, \ {start, \ Min[start\ + \ rows\ rowlength\ - \ 1, \ Length[seq21]]}]; \[IndentingNewLine]\ \ \ \ subdata2\ = \ Partition[subdata2, \ rowlength, \ rowlength, \ {1, \ 1}, \ "\< \>"]; \n\ \ \ \ subdata\ = Map[\ {rowgrid1[#]}\ &\ , Transpose[{subdata1, subdata2}]]; \n\ \ \ \ DisplayForm[ FrameBox[GridBox[subdata, \ RowLines\ -> \ True]]]]\)], "Input"], Cell[TextData[{ "The results are displayed below for the first 200 base pairs. The enzyme \ \"AccB2I\" cuts to the right of the bases marked in ", StyleBox["blue", FontColor->RGBColor[0, 0, 1]], ": " }], "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(SequenceCartoon[myDNA, myDNAc, strand1Pos, strand2Pos, 1, 20, 10]\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["Remarks", "Subsection"], Cell["\<\ It is worth mentioning that the algorithm we used in this example \ for finding the motifs (the enzymes recognition sequences) is suitable if the \ number recognition sequences is moderate. If it is large, say in the \ thousands, then it makes sense to use a divide and conquer algorithm.\ \>", \ "Text", FontVariations->{"CompatibilityType"->0}] }, Closed]] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Protein 3-D Structure", "Section", ShowGroupOpenCloseIcon->True], Cell[TextData[{ "In this example we are going to investigate how we can use ", StyleBox["Mathematica", FontSlant->"Italic"], " to manipulate protein data bank files. The data bank can be found at the \ following URL:\n\t\t\t\t", ButtonBox["http://www.rcsb.org/pdb/", ButtonData:>{ URL[ "http://www.rcsb.org/pdb/"], None}, ButtonStyle->"Hyperlink"], "\n\nWe will a work with the file for the ", StyleBox["Sugar Binding Protein called", FontFamily->"Times New Roman"], " \"", StyleBox["LIGAND-FREE CONGERIN I\"", FontFamily->"Courier New"], StyleBox[". ", FontFamily->"Courier New", FontSize->13], StyleBox["F", FontSize->13], "or the purpose of this example I will be refer to the file as \ \"1C1F.pdb\". See website for this file." }], "Text"], Cell[TextData[{ "We are going to make use of the ", StyleBox["ReadList", FontWeight->"Bold"], " function to import the data into ", StyleBox["Mathematica", FontSlant->"Italic"], " " }], "Text"], Cell[BoxData[ \(\(myPDBfile = ReadList[Experimental`FileBrowse[False], Word, \ WordSeparators \[Rule] {"\<\r\>"}];\)\)], "Input"], Cell["Here is what the first 10 lines of the file look like", "Text"], Cell[BoxData[ \(Table[myPDBfile[\([i]\)], {i, 1, 10}] // TableForm\)], "Input"], Cell["\<\ The text at the beginning of each line defines the record type. \ Thus in the above output we have a HEADER, TITLE, COMPND and SOURCE record \ types. There may be multiple records of a given record type as the above \ output shows: there are 3 records of the SOURCE record type, and 4 records \ of the COMPD record type.\ \>", "Text"], Cell[CellGroupData[{ Cell["3-D Structure", "Subsection"], Cell["\<\ The PDB file also contains the coordinates of the atoms in our \ protein. The record type that contains coordinate data is called ATOM. Let us \ extract all the atom coordinates from our data file\ \>", "Text"], Cell[BoxData[ \(\(atomdata = Select[myPDBfile, StringMatchQ[#, "\"] &];\)\)], "Input"], Cell["\<\ This is a large file as we can see by calculating the length of the \ list\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Length[atomdata]\)], "Input"], Cell[BoxData[ \(1082\)], "Output"] }, Closed]], Cell["Let us examine a single entry", "Text"], Cell[BoxData[ \(atomdata[\([35]\)] // TableForm\)], "Input"], Cell["\<\ Let us extract out a subset of the atom data: the coordinates. In \ PDB files this data is in columns 31 through 54. Thus using StringTake \ gives\ \>", "Text"], Cell[BoxData[ \(StringTake[atomdata[\([35]\)], {31, 54}]\)], "Input"], Cell["We use the following function to extract the data", "Text"], Cell[BoxData[ \(s = StringToStream[ StringJoin[ Table[StringTake[atomdata[\([i]\)], {31, 54}], {i, 1, Length[atomdata]}]]]\)], "Input"], Cell[TextData[{ "We use ", StyleBox["ReadList", FontWeight->"Bold"], " to read the data. Since we are dealing with numbers we specify that the \ each record is a sublist of 3 numbers separated by a Null string." }], "Text"], Cell[BoxData[ \(\(atomCoord = ReadList[s, {Number, Number, Number}, RecordSeparators \[Rule] {"\< \>"}];\)\)], "Input"], Cell["Here is an example of the coordinates for atom #2", "Text"], Cell[BoxData[ \(atomCoord[\([2]\)]\)], "Input"], Cell[TextData[{ "One of the things we can do with our data is plot the data as a 3D line \ plot using the function ", StyleBox["ScatterPlot", FontWeight->"Bold"], ". To use ", StyleBox["ScatterPlot", FontWeight->"Bold"], " we need to first load the package ", StyleBox["Graphics`Graphics3D`", FontWeight->"Bold"] }], "Text"], Cell[BoxData[ RowBox[{"<<", StyleBox[ RowBox[{"Graphics", StyleBox["`", "MB"], "Graphics3D", StyleBox["`", "MB"]}]]}]], "Input"], Cell["Here is a line plot of our protein", "Text"], Cell[BoxData[ \(\(ScatterPlot3D[atomCoord, PlotJoined \[Rule] True, Boxed \[Rule] False, Axes \[Rule] False, PlotStyle \[Rule] RGBColor[0, 0, 1]];\)\)], "Input"], Cell["\<\ We can use the RealTime3D function to interactively view the 3-D \ structure from different perspectives. Note: we lose the color capabilities\ \ \>", "Text"], Cell[BoxData[ \(<< RealTime3D`\)], "Input"], Cell["Here is the plot in 3D", "Text"], Cell[BoxData[ \(\(ScatterPlot3D[atomCoord, PlotJoined \[Rule] True, Boxed \[Rule] False, Axes \[Rule] False, PlotStyle \[Rule] RGBColor[0, 0, 1]];\)\)], "Input"], Cell[BoxData[ \(<< Default3D`\)], "Input"] }, Closed]] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Concluding Comments/Road Ahead", "Section", ShowGroupOpenCloseIcon->True], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " is an attractive programming language for teaching bioinformatic skills" }], "Text"], Cell["\<\ \t- Strong string manipulation/processing capabilities \t- Suitable for web-based scripting (webMathematica,webservices) \t- Modules for common bioinformatic operations easily constructed\ \>", \ "Text"], Cell[TextData[{ StyleBox["\t", FontVariations->{"Underline"->True}], "- Can handle co", "mplex projects involving large programs\n\t- Can readily handle complex \ calculations/graphics \n\t- Works on all platforms, and has a user friendly \ interface" }], "Text"], Cell["\<\ At UC Davis we plan to offer a bioinformatics class for our \ biochemical engineering majors and then extend the class to other \ majors.\ \>", "Text"] }, Closed]], Cell[TextData[Cell[BoxData[GridBox[{ { ButtonBox[ StyleBox["\[FirstPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageFirst"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"First Slide"], ButtonBox[ StyleBox["\[LeftPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPagePrevious"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Previous Slide"], ButtonBox[ StyleBox["\[RightPointer]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageNext"]}], ButtonStyle->"SlideHyperlink", ButtonNote->"Next Slide"], ButtonBox[ StyleBox["\[LastPage]", "SR"], ButtonFunction:>FrontEndExecute[ { FrontEndToken[ FrontEnd`SelectedNotebook[ ], "ScrollPageLast"]}], ButtonStyle->"SlideHyperlink"], " ", ButtonBox[ StyleBox[ RowBox[{ CounterBox["SlideShowNavigationBar"], \(\(\ \)\(of\)\(\ \)\), CounterBox["SlideShowNavigationBar", "LastSlide"]}], "SR"], ButtonFrame->"None"]} }]]]], "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell["Acknowledgments", "Section", CellTags->"LastSlide"], Cell[TextData[{ "Thanks to the Mathgroup for answering numerous queries I had about string \ manipulation in ", StyleBox["Mathematica", FontSlant->"Italic"], ". In particular, I would like to thank David Parks, Allan Hayes, Harmut \ Wolf and Daniel Lichtblau for material assistance." }], "Text", ShowGroupOpenCloseIcon->True] }, Closed]] }, FrontEndVersion->"5.0 for Macintosh", ScreenRectangle->{{0, 800}, {0, 543}}, AutoGeneratedPackage->None, ScreenStyleEnvironment->"SlideShow", WindowToolbars->"EditBar", WindowSize->{805, 544}, WindowMargins->{{3, Automatic}, {-7, Automatic}}, Magnification->1.25, StyleDefinitions -> Notebook[{ Cell[CellGroupData[{ Cell["Style Definitions", "Subtitle"], Cell["\<\ Modify the definitions below to change the default appearance of \ all cells in a given style. Make modifications to any definition using \ commands in the Format menu.\ \>", "Text"], Cell[CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[StyleData[All, "Working"], PageWidth->WindowWidth, ScriptMinSize->9], Cell[StyleData[All, "Presentation"], PageWidth->WindowWidth, ScriptMinSize->12, FontSize->16], Cell[StyleData[All, "SlideShow"], PageWidth->WindowWidth, ScrollingOptions->{"PagewiseDisplay"->True}, ScriptMinSize->9], Cell[StyleData[All, "Condensed"], PageWidth->WindowWidth, CellBracketOptions->{"Margins"->{1, 1}, "Widths"->{0, 5}}, ScriptMinSize->8, FontSize->11], Cell[StyleData[All, "Printout"], PageWidth->PaperWidth, ScriptMinSize->7, FontSize->10, PrivateFontOptions->{"FontType"->"Outline"}] }, Closed]], Cell[CellGroupData[{ Cell["Notebook Options", "Section"], Cell["\<\ The options defined for the style below will be used at the \ Notebook level.\ \>", "Text"], Cell[StyleData["Notebook"], PageHeaders->{{Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"], None, Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"]}, {Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"], None, Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"]}}, PageHeaderLines->{True, True}, PrintingOptions->{"FirstPageHeader"->False, "FacingPages"->True}, CellFrameLabelMargins->6, StyleMenuListing->None] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[CellGroupData[{ Cell[StyleData["Title"], ShowCellBracket->False, CellMargins->{{0, 0}, {0, 0}}, PageBreakBelow->False, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", "webMathematica"->FormBox[ RowBox[ {"web", AdjustmentBox[ StyleBox[ "Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LineSpacing->{1, 11}, CounterIncrements->"Title", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subtitle", 0}, {"Subsubtitle", 0}}, FontSize->34, FontColor->GrayLevel[1], Background->RGBColor[0.571389, 0.19675, 0.570504]], Cell[StyleData["Title", "Presentation"], CellMargins->{{0, 0}, {0, 0}}, LineSpacing->{1, 0}, FontSize->44], Cell[StyleData["Title", "Condensed"], CellMargins->{{0, 0}, {0, 0}}, FontSize->20], Cell[StyleData["Title", "Printout"], CellMargins->{{0, 0}, {0, 0}}, FontSize->24, FontTracking->"Plain", Background->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subtitle"], ShowCellBracket->False, CellMargins->{{0, 0}, {0, 0}}, PageBreakBelow->False, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", "webMathematica"->FormBox[ RowBox[ {"web", AdjustmentBox[ StyleBox[ "Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LineSpacing->{1, 3}, ParagraphIndent->-96, CounterIncrements->"Subtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subsubtitle", 0}}, FontFamily->"Helvetica", FontSize->18, FontColor->GrayLevel[1], Background->RGBColor[0.2, 0.700008, 0.700008]], Cell[StyleData["Subtitle", "Presentation"], CellMargins->{{0, 0}, {0, 0}}, LineSpacing->{1, 6}, ParagraphIndent->-157, FontSize->30], Cell[StyleData["Subtitle", "Condensed"], CellMargins->{{0, 0}, {0, 0}}, ParagraphIndent->-78, FontSize->14], Cell[StyleData["Subtitle", "Printout"], CellMargins->{{0, 0}, {0, 0}}, ParagraphIndent->-85, FontSize->16, Background->GrayLevel[0.6]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsubtitle"], ShowCellBracket->False, CellMargins->{{10, 4}, {30, 10}}, PageBreakBelow->False, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", "webMathematica"->FormBox[ RowBox[ {"web", AdjustmentBox[ StyleBox[ "Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements->"Subsubtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontFamily->"Helvetica", FontSize->14, FontSlant->"Italic"], Cell[StyleData["Subsubtitle", "Presentation"], CellMargins->{{8, 10}, {40, 20}}, LineSpacing->{1, 0}, FontSize->24], Cell[StyleData["Subsubtitle", "Condensed"], CellMargins->{{8, 10}, {12, 8}}, FontSize->12], Cell[StyleData["Subsubtitle", "Printout"], CellMargins->{{9, 10}, {50, 10}}, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Section"], CellFrame->{{6, 0}, {0, 1}}, CellDingbat->None, CellMargins->{{12, Inherited}, {4, 24}}, CellGroupingRules->{"SectionGrouping", 30}, PageBreakBelow->False, CellFrameMargins->6, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", "webMathematica"->FormBox[ RowBox[ {"web", AdjustmentBox[ StyleBox[ "Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LineSpacing->{1, 7}, CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}}, FontFamily->"Helvetica", FontSize->16, FontWeight->"Bold", FontColor->RGBColor[0.571389, 0.19675, 0.570504]], Cell[StyleData["Section", "Presentation"], CellMargins->{{10, 10}, {8, 32}}, LineSpacing->{1, 2}, FontSize->24, FontTracking->"Condensed"], Cell[StyleData["Section", "Condensed"], CellMargins->{{8, Inherited}, {2, 12}}, FontSize->12], Cell[StyleData["Section", "Printout"], CellMargins->{{9, 0}, {2, 50}}, FontSize->14, FontTracking->"Plain", FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsection"], CellMargins->{{12, Inherited}, {8, 20}}, CellGroupingRules->{"SectionGrouping", 40}, PageBreakBelow->False, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", "webMathematica"->FormBox[ RowBox[ {"web", AdjustmentBox[ StyleBox[ "Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LineSpacing->{1, 7}, CounterIncrements->"Subsection", CounterAssignments->{{"Subsubsection", 0}}, FontFamily->"Helvetica", FontSize->13, FontWeight->"Bold"], Cell[StyleData["Subsection", "Presentation"], CellMargins->{{11, 10}, {8, 32}}, LineSpacing->{1, 0}, FontSize->22], Cell[StyleData["Subsection", "Condensed"], CellMargins->{{8, Inherited}, {2, 12}}, FontSize->12], Cell[StyleData["Subsection", "Printout"], CellMargins->{{9, 0}, {4, 40}}, FontSize->12] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsubsection"], CellDingbat->"\[FilledSquare]", CellMargins->{{25, Inherited}, {8, 12}}, CellGroupingRules->{"SectionGrouping", 50}, PageBreakBelow->False, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", "webMathematica"->FormBox[ RowBox[ {"web", AdjustmentBox[ StyleBox[ "Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LineSpacing->{1, 9}, CounterIncrements->"Subsubsection", FontFamily->"Times", FontSize->13, FontWeight->"Bold"], Cell[StyleData["Subsubsection", "Presentation"], CellMargins->{{29, 10}, {8, 26}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Subsubsection", "Condensed"], CellMargins->{{22, Inherited}, {2, 12}}, FontSize->10], Cell[StyleData["Subsubsection", "Printout"], CellMargins->{{21, 0}, {4, 20}}, FontSize->11] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[CellGroupData[{ Cell[StyleData["Text"], CellMargins->{{12, 10}, {5, 5}}, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", "webMathematica"->FormBox[ RowBox[ {"web", AdjustmentBox[ StyleBox[ "Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, Hyphenation->True, LineSpacing->{1, 3}, ParagraphSpacing->{0, 12}, CounterIncrements->"Text", FontFamily->"Times", FontSize->14], Cell[StyleData["Text", "Presentation"], CellMargins->{{13, 10}, {8, 8}}, LineSpacing->{1, 5}, ParagraphSpacing->{0, 12}], Cell[StyleData["Text", "Condensed"], CellMargins->{{8, 10}, {4, 4}}, LineSpacing->{1, 1}, ParagraphSpacing->{0, 4}], Cell[StyleData["Text", "Printout"], CellMargins->{{9, 0}, {4, 4}}, ParagraphSpacing->{0, 6}] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["SmallText"], CellMargins->{{12, 10}, {5, 5}}, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", "webMathematica"->FormBox[ RowBox[ {"web", AdjustmentBox[ StyleBox[ "Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, Hyphenation->True, LineSpacing->{1, 3}, ParagraphSpacing->{0, 6}, CounterIncrements->"SmallText", FontFamily->"Helvetica", FontSize->9], Cell[StyleData["SmallText", "Presentation"], CellMargins->{{13, 10}, {8, 8}}, LineSpacing->{1, 5}, FontSize->12], Cell[StyleData["SmallText", "Condensed"], CellMargins->{{8, 10}, {2, 2}}, LineSpacing->{1, 2}, FontSize->9], Cell[StyleData["SmallText", "Printout"], CellMargins->{{9, 0}, {4, 4}}, FontSize->7] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Input/Output", "Section"], Cell["\<\ The cells in this section define styles used for input and output \ to the kernel. Be careful when modifying, renaming, or removing these \ styles, because the front end associates special meanings with these style \ names.\ \>", "Text"], Cell[StyleData["Input"], CellFrame->False, CellMargins->{{52, 10}, {8, 8}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{5, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement"->True, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, LanguageCategory->"Formula", FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"Input", FontWeight->"Bold", Background->RGBColor[1, 0.700008, 0.4]], Cell[StyleData["InlineInput"], Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, DefaultFormatType->DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement"->True, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, CounterIncrements->"Input", FontWeight->"Bold"], Cell[CellGroupData[{ Cell[StyleData["Output"], CellFrame->False, CellMargins->{{52, 10}, {8, 8}}, CellEditDuplicate->True, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, CellLabelMargins->{{3, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement"->True, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, LanguageCategory->"Formula", FormatType->InputForm, CounterIncrements->"Output", Background->GrayLevel[1]], Cell[StyleData["Output", "Presentation"], CellFrame->False, CellMargins->{{62, Inherited}, {12, 5}}, LineSpacing->{1, 0}], Cell[StyleData["Output", "Condensed"], CellFrame->False, CellMargins->{{40, Inherited}, {4, 1}}], Cell[StyleData["Output", "Printout"], CellFrame->False, CellMargins->{{44, 0}, {6, 2}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Message"], CellMargins->{{62, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement"->True, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, FormatType->InputForm, CounterIncrements->"Message", StyleMenuListing->None, FontColor->RGBColor[1, 0, 0]], Cell[StyleData["Message", "Presentation"], CellMargins->{{74, Inherited}, {Inherited, Inherited}}, LineSpacing->{1, 0}], Cell[StyleData["Message", "Condensed"], CellMargins->{{50, Inherited}, {Inherited, Inherited}}], Cell[StyleData["Message", "Printout"], CellMargins->{{54, Inherited}, {Inherited, Inherited}}, FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Print"], CellMargins->{{62, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement"->True, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, FormatType->InputForm, CounterIncrements->"Print", StyleMenuListing->None], Cell[StyleData["Print", "Presentation"], CellMargins->{{74, Inherited}, {Inherited, Inherited}}, LineSpacing->{1, 0}], Cell[StyleData["Print", "Condensed"], CellMargins->{{50, Inherited}, {Inherited, Inherited}}], Cell[StyleData["Print", "Printout"], CellMargins->{{54, Inherited}, {Inherited, Inherited}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Graphics"], CellMargins->{{62, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"GraphicsGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, FormatType->InputForm, CounterIncrements->"Graphics", StyleMenuListing->None], Cell[StyleData["Graphics", "Presentation"], CellMargins->{{74, Inherited}, {Inherited, Inherited}}], Cell[StyleData["Graphics", "Condensed"], CellMargins->{{52, Inherited}, {Inherited, Inherited}}, ImageSize->{175, 175}], Cell[StyleData["Graphics", "Printout"], CellMargins->{{54, Inherited}, {Inherited, Inherited}}, ImageSize->{250, 250}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["CellLabel"], StyleMenuListing->None, FontFamily->"Helvetica", FontSize->11, FontWeight->"Bold", FontColor->RGBColor[0.571389, 0.19675, 0.570504]], Cell[StyleData["CellLabel", "Presentation"], FontSize->12], Cell[StyleData["CellLabel", "Condensed"], FontSize->8], Cell[StyleData["CellLabel", "Printout"], FontSize->8, FontColor->GrayLevel[0]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Unique Styles", "Section"], Cell[CellGroupData[{ Cell[StyleData["Author"], ShowCellBracket->False, CellMargins->{{10, 4}, {2, 10}}, LineSpacing->{1, 5}, FontSize->16, FontSlant->"Italic"], Cell[StyleData["Author", "Presentation"], CellMargins->{{12, 10}, {2, 12}}, LineSpacing->{1, 5}, ParagraphSpacing->{0, 12}, FontSize->20], Cell[StyleData["Author", "Condensed"], CellMargins->{{8, 10}, {1, 4}}, LineSpacing->{1, 1}, ParagraphSpacing->{0, 4}, FontSize->12], Cell[StyleData["Author", "Printout"], CellMargins->{{9, 0}, {4, 12}}, ParagraphSpacing->{0, 6}, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Copyright"], ShowCellBracket->False, CellMargins->{{10, 10}, {40, 2}}, FontFamily->"Helvetica", FontSize->9], Cell[StyleData["Copyright", "Presentation"], CellMargins->{{12, 10}, {50, 2}}, LineSpacing->{1, 5}, FontSize->12], Cell[StyleData["Copyright", "Condensed"], CellMargins->{{8, 10}, {12, 1}}, LineSpacing->{1, 2}, FontSize->9], Cell[StyleData["Copyright", "Printout"], CellMargins->{{9, 0}, {72, 4}}, FontSize->7] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Example"], CellMargins->{{12, 10}, {5, 12}}, LineSpacing->{1, 3}, ParagraphSpacing->{0, 12}, CounterIncrements->"Example", FontFamily->"Times", FontWeight->"Bold"], Cell[StyleData["Example", "Presentation"], CellMargins->{{18, 10}, {8, 20}}, LineSpacing->{1, 5}, ParagraphSpacing->{0, 12}], Cell[StyleData["Example", "Condensed"], CellMargins->{{8, 10}, {4, 8}}, LineSpacing->{1, 1}, ParagraphSpacing->{0, 4}], Cell[StyleData["Example", "Printout"], CellMargins->{{9, 0}, {4, 10}}, ParagraphSpacing->{0, 6}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Definition"], CellFrame->{{3, 0}, {0, 0}}, CellMargins->{{52, 10}, {8, 8}}, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{23, Inherited}, {Inherited, Inherited}}, Hyphenation->True, ShowStringCharacters->True, CounterIncrements->"Definition", FontFamily->"Helvetica", FontWeight->"Bold", FontColor->GrayLevel[1], Background->RGBColor[0.2, 0.700008, 0.700008]], Cell[StyleData["Definition", "Presentation"], CellMargins->{{62, Inherited}, {5, 12}}, LineSpacing->{1, 0}], Cell[StyleData["Definition", "Condensed"], CellMargins->{{40, 10}, {1, 4}}], Cell[StyleData["Definition", "Printout"], CellMargins->{{44, 0}, {2, 6}}, Background->GrayLevel[0.6]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Theorem"], CellFrame->{{3, 0}, {0, 0}}, CellMargins->{{52, 10}, {8, 8}}, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{23, Inherited}, {Inherited, Inherited}}, Hyphenation->True, ShowStringCharacters->True, CounterIncrements->"Theorem", FontFamily->"Helvetica", FontWeight->"Bold", FontColor->GrayLevel[1], Background->RGBColor[0.571389, 0.19675, 0.570504]], Cell[StyleData["Theorem", "Presentation"], CellMargins->{{62, Inherited}, {5, 12}}, LineSpacing->{1, 0}], Cell[StyleData["Theorem", "Condensed"], CellMargins->{{40, 10}, {1, 4}}], Cell[StyleData["Theorem", "Printout"], CellMargins->{{44, 0}, {2, 6}}, Background->GrayLevel[0.4]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["ExerciseMain"], CellFrame->{{6, 0}, {0, 1}}, CellMargins->{{12, Inherited}, {4, 20}}, CellGroupingRules->{"SectionGrouping", 30}, PageBreakBelow->False, CellFrameColor->RGBColor[0.571389, 0.19675, 0.570504], LineSpacing->{1, 7}, CounterIncrements->"Subsection", CounterAssignments->{{"Subsubsection", 0}}, FontFamily->"Helvetica", FontSize->16, FontWeight->"Bold", FontColor->RGBColor[0.571389, 0.19675, 0.570504]], Cell[StyleData["ExerciseMain", "Presentation"], CellMargins->{{18, 10}, {8, 32}}, LineSpacing->{1, 2}, FontSize->24, FontTracking->"Condensed"], Cell[StyleData["ExerciseMain", "Condensed"], CellMargins->{{8, Inherited}, {2, 12}}, FontSize->12], Cell[StyleData["ExerciseMain", "Printout"], CellMargins->{{9, 0}, {2, 50}}, CellFrameColor->GrayLevel[0.500008], FontSize->14, FontTracking->"Plain", FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Exercise"], CellDingbat->"\[FilledDownTriangle]", CellMargins->{{23, Inherited}, {4, 18}}, CellGroupingRules->{"SectionGrouping", 50}, PageBreakBelow->False, Hyphenation->True, LineSpacing->{1, 7}, CounterIncrements->"Subsubsection", FontFamily->"Times", FontSize->13, FontWeight->"Bold", FontColor->RGBColor[0.571389, 0.19675, 0.570504]], Cell[StyleData["Exercise", "Presentation"], CellMargins->{{33, 10}, {8, 26}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Exercise", "Condensed"], CellMargins->{{17, Inherited}, {2, 12}}, FontSize->10], Cell[StyleData["Exercise", "Printout"], CellFrame->{{0, 0}, {0.5, 0}}, CellDingbat->None, CellMargins->{{9, 0}, {6, 20}}, FontSize->11, FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["ExerciseText"], CellMargins->{{62, 10}, {5, 5}}, Hyphenation->True, LineSpacing->{1, 3}, ParagraphSpacing->{0, 8}, CounterIncrements->"ExcersiceText", FontFamily->"Times"], Cell[StyleData["ExerciseText", "Presentation"], CellMargins->{{74, 10}, {8, 8}}, LineSpacing->{1, 5}, ParagraphSpacing->{0, 12}], Cell[StyleData["ExerciseText", "Condensed"], CellMargins->{{52, 10}, {2, 2}}, LineSpacing->{1, 1}, ParagraphSpacing->{0, 4}], Cell[StyleData["ExerciseText", "Printout"], CellMargins->{{54, 0}, {4, 4}}, ParagraphSpacing->{0, 6}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Formulas and Programming", "Section"], Cell[CellGroupData[{ Cell[StyleData["DisplayFormula"], CellMargins->{{62, 10}, {2, 10}}, CellHorizontalScrolling->True, DefaultFormatType->DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement"->True, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, LanguageCategory->"Formula", ScriptLevel->0, SingleLetterItalics->True, UnderoverscriptBoxOptions->{LimitsPositioning->True}], Cell[StyleData["DisplayFormula", "Presentation"], CellMargins->{{74, 10}, {2, 10}}, FontSize->10], Cell[StyleData["DisplayFormula", "Condensed"], CellMargins->{{52, 10}, {2, 10}}, FontSize->10], Cell[StyleData["DisplayFormula", "Printout"], CellMargins->{{54, 10}, {2, 10}}, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["ChemicalFormula"], CellMargins->{{62, 10}, {2, 10}}, DefaultFormatType->DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement"->True, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, LanguageCategory->"Formula", AutoSpacing->False, ScriptLevel->1, ScriptBaselineShifts->{0.6, Automatic}, SingleLetterItalics->False, ZeroWidthTimes->True], Cell[StyleData["ChemicalFormula", "Presentation"], CellMargins->{{74, 10}, {2, 10}}, FontSize->10], Cell[StyleData["ChemicalFormula", "Condensed"], CellMargins->{{52, 10}, {2, 10}}, FontSize->10], Cell[StyleData["ChemicalFormula", "Printout"], CellMargins->{{54, 10}, {2, 10}}, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Program"], CellMargins->{{12, 10}, {Inherited, 6}}, Hyphenation->False, LanguageCategory->"Formula", FontFamily->"Courier"], Cell[StyleData["Program", "Presentation"], CellMargins->{{13, 30}, {Inherited, 4}}, FontSize->9.5], Cell[StyleData["Program", "Condensed"], CellMargins->{{8, 10}, {Inherited, 4}}, FontSize->9.5], Cell[StyleData["Program", "Printout"], CellMargins->{{9, 0}, {Inherited, 4}}, FontSize->9.5] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Automatic Numbering", "Section"], Cell["\<\ The following styles are useful for numbered equations, figures, \ etc. They automatically give the cell a FrameLabel containing a reference to \ a particular counter, and also increment that counter.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["NumberedEquation"], CellMargins->{{62, 10}, {Inherited, Inherited}}, CellFrameLabels->{{None, Cell[ TextData[ {"(", CounterBox[ "NumberedEquation"], ")"}]]}, {None, None}}, DefaultFormatType->DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement"->True, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, CounterIncrements->"NumberedEquation", FormatTypeAutoConvert->False], Cell[StyleData["NumberedEquation", "Presentation"], CellMargins->{{74, 10}, {Inherited, Inherited}}], Cell[StyleData["NumberedEquation", "Condensed"], CellMargins->{{52, 10}, {Inherited, Inherited}}], Cell[StyleData["NumberedEquation", "Printout"], CellMargins->{{54, 0}, {Inherited, Inherited}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["NumberedFigure"], CellMargins->{{62, 145}, {Inherited, Inherited}}, CellFrameLabels->{{None, None}, {Cell[ TextData[ {"Figure ", CounterBox[ "NumberedFigure"]}]], None}}, CounterIncrements->"NumberedFigure", ImageMargins->{{43, Inherited}, {Inherited, 0}}, FormatTypeAutoConvert->False], Cell[StyleData["NumberedFigure", "Presentation"]], Cell[StyleData["NumberedFigure", "Condensed"]], Cell[StyleData["NumberedFigure", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["NumberedTable"], CellMargins->{{62, 145}, {Inherited, Inherited}}, CellFrameLabels->{{None, None}, {Cell[ TextData[ {"Table ", CounterBox[ "NumberedTable"]}]], None}}, TextAlignment->Center, CounterIncrements->"NumberedTable", FormatTypeAutoConvert->False], Cell[StyleData["NumberedTable", "Presentation"]], Cell[StyleData["NumberedTable", "Condensed"]], Cell[StyleData["NumberedTable", "Printout"]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headers and Footers", "Section"], Cell[StyleData["Header"], CellMargins->{{0, 0}, {4, 1}}, StyleMenuListing->None, FontFamily->"Helvetica", FontSize->9, FontSlant->"Italic"], Cell[StyleData["Footer"], CellMargins->{{0, 0}, {0, 4}}, StyleMenuListing->None, FontFamily->"Helvetica", FontSize->6], Cell[StyleData["PageNumber"], CellMargins->{{0, 0}, {4, 1}}, StyleMenuListing->None, FontFamily->"Helvetica", FontSize->9, FontWeight->"Bold"] }, Closed]], Cell[CellGroupData[{ Cell["Hyperlink Styles", "Section"], Cell["\<\ The cells below define styles useful for making hypertext \ ButtonBoxes. The \"Hyperlink\" style is for links within the same Notebook, \ or between Notebooks.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Hyperlink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], Background->GrayLevel[1], FontVariations->{"Underline"->True, "Outline"->False}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), Active->True, ButtonFrame->"None", ButtonNote->ButtonData}], Cell[StyleData["Hyperlink", "Presentation"]], Cell[StyleData["Hyperlink", "Condensed"]], Cell[StyleData["Hyperlink", "Printout"]] }, Closed]], Cell["\<\ The following styles are for linking automatically to the on-line \ help system.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["MainBookLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "MainBook", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["MainBookLink", "Presentation"]], Cell[StyleData["MainBookLink", "Condensed"]], Cell[StyleData["MainBookLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["AddOnsLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "AddOns", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["AddOnsLink", "Presentation"]], Cell[StyleData["AddOnsLink", "Condensed"]], Cell[StyleData["AddOnLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["RefGuideLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "RefGuideLink", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["RefGuideLink", "Presentation"]], Cell[StyleData["RefGuideLink", "Condensed"]], Cell[StyleData["RefGuideLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["GettingStartedLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "GettingStarted", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["GettingStartedLink", "Presentation"]], Cell[StyleData["GettingStartedLink", "Condensed"]], Cell[StyleData["GettingStartedLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["OtherInformationLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "OtherInformation", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["OtherInformationLink", "Presentation"]], Cell[StyleData["OtherInformationLink", "Condensed"]], Cell[StyleData["OtherInformationLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Palette Styles", "Section"], Cell["\<\ The cells below define styles that define standard \ ButtonFunctions, for use in palette buttons.\ \>", "Text"], Cell[StyleData["Paste"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, After]}]&)}], Cell[StyleData["Evaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["EvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionMove[ FrontEnd`InputNotebook[ ], All, Cell, 1], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}] }, Closed]], Cell[CellGroupData[{ Cell["Slide Show Styles", "Section"], Cell[CellGroupData[{ Cell[StyleData["SlideShowNavigationBar"], Editable->False, CellFrame->True, CellMargins->{{0, 0}, {3, 3}}, CellGroupingRules->{"SectionGrouping", 30}, CellFrameMargins->False, CellFrameColor->GrayLevel[1], CellFrameLabelMargins->False, TextAlignment->Center, CounterIncrements->"SlideShowNavigationBar", StyleMenuListing->None, FontSize->10, Background->GrayLevel[0.8], GridBoxOptions->{RowSpacings->0, ColumnSpacings->0, ColumnWidths->{3.5, 3.5, 3.5, 3.5, 13, 5, 4}, ColumnAlignments->{ Center, Center, Center, Center, Center, Center, Right, Center}}], Cell[StyleData["SlideShowNavigationBar", "SlideShow"], Deletable->False, ShowCellBracket->False, CellMargins->{{0, 0}, {-1, 0}}, PageBreakAbove->True], Cell[StyleData["SlideShowNavigationBar", "Printout"], CellMargins->{{18, 4}, {4, 4}}, LineSpacing->{1, 3}, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SlideShowSection"], CellFrame->{{0, 0}, {0, 0.5}}, CellMargins->{{0, 0}, {10, 0}}, CellGroupingRules->{"SectionGrouping", 40}, PageBreakBelow->False, CellFrameMargins->{{12, 4}, {6, 12}}, CellFrameColor->RGBColor[0.4, 0, 0.239994], InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", "webMathematica"->FormBox[ RowBox[ {"web", AdjustmentBox[ StyleBox[ "Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}}, StyleMenuListing->None, FontFamily->"Helvetica", FontSize->18, FontWeight->"Bold", FontColor->GrayLevel[0], Background->RGBColor[0.6, 0.749996, 0.899992]], Cell[StyleData["SlideShowSection", "SlideShow"], ShowCellBracket->False, PageBreakAbove->True], Cell[StyleData["SlideShowSection", "Printout"], CellMargins->{{18, 30}, {0, 30}}, CellFrameMargins->5, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SlideHyperlink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontSize->16, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), Active->True, ButtonMargins->1.5, ButtonNote->ButtonData}], Cell[StyleData["SlideHyperlink", "SlideShow"], FontSize->16], Cell[StyleData["SlideHyperlink", "Printout"], FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SlideTOCLink"], CellMargins->{{24, Inherited}, {Inherited, Inherited}}, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Helvetica", ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), Active->True, ButtonMargins->1.5, ButtonNote->ButtonData}], Cell[StyleData["SlideTOCLink", "SlideShow"]], Cell[StyleData["SlideTOCLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SlideTOC"], CellDingbat->"\[Bullet]", CellMargins->{{18, Inherited}, {Inherited, Inherited}}, StyleMenuListing->None, FontFamily->"Helvetica"], Cell[StyleData["SlideTOC", "SlideShow"], FontSize->14], Cell[StyleData["SlideTOC", "Printout"], FontSize->10, FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["1ColumnBox"], CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->RGBColor[1, 0.6, 0.6], FrameBoxOptions->{BoxFrame->0.5, BoxMargins->True}, GridBoxOptions->{ColumnSpacings->1}], Cell[StyleData["1ColumnBox", "Printout"], CellMargins->{{2, 0}, {0, 8}}, FontSize->10, Background->GrayLevel[0.900008]], Cell[StyleData["1ColumnBox", "SlideShow"], CellMargins->{{36, 36}, {3, 6}}, Background->RGBColor[0.700008, 0.849989, 0.949996]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["2ColumnBox"], CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->RGBColor[1, 0.6, 0.6], FrameBoxOptions->{BoxFrame->0.5, BoxMargins->True}, GridBoxOptions->{ColumnWidths->{0.31, 0.67}}], Cell[StyleData["2ColumnBox", "Printout"], CellMargins->{{2, 0}, {0, 8}}, FontSize->9, Background->GrayLevel[0.900008]], Cell[StyleData["2ColumnBox", "SlideShow"], CellMargins->{{36, 36}, {6, 6}}, Background->RGBColor[0.700008, 0.849989, 0.949996]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["DefinitionBox"], CellFrame->0.5, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, PageBreakWithin->False, AutoIndent->False, AutoSpacing->False, LineIndent->0, StyleMenuListing->None, FontWeight->"Plain", Background->RGBColor[1, 0.6, 0.6], GridBoxOptions->{RowSpacings->1.5, ColumnSpacings->1, ColumnWidths->{0.4, 0.6}, ColumnAlignments->{Left}}], Cell[StyleData["DefinitionBox", "Printout"], CellMargins->{{2, 4}, {0, 8}}, FontSize->10, Background->GrayLevel[1]], Cell[StyleData["DefinitionBox", "SlideShow"], CellMargins->{{36, 36}, {6, 6}}, Background->RGBColor[0.700008, 0.849989, 0.949996]] }, Closed]] }, Closed]] }, Open ]] }] ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{ "LastSlide"->{ Cell[318822, 7535, 59, 1, 73, "Section", CellTags->"LastSlide"]} } *) (*CellTagsIndex CellTagsIndex->{ {"LastSlide", 364650, 9039} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1776, 53, 1632, 42, 22, "SlideShowNavigationBar"], Cell[3411, 97, 192, 8, 64, "Title"], Cell[3606, 107, 214, 4, 170, "Author"], Cell[3823, 113, 125, 4, 43, "Author"] }, Open ]], Cell[3963, 120, 1632, 42, 22, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[5620, 166, 63, 1, 73, "Section"], Cell[5686, 169, 1078, 22, 228, "Text"], Cell[6767, 193, 582, 13, 108, "Text"], Cell[7352, 208, 568, 14, 120, "Text"] }, Closed]], Cell[7935, 225, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[9554, 270, 73, 1, 73, "Section"], Cell[CellGroupData[{ Cell[9652, 275, 68, 1, 61, "Subsection"], Cell[9723, 278, 140, 4, 36, "Text"], Cell[9866, 284, 176, 5, 60, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[10079, 294, 100, 1, 40, "Subsection"], Cell[10182, 297, 511, 13, 312, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[10730, 315, 60, 1, 40, "Subsection"], Cell[10793, 318, 164, 4, 60, "Text"], Cell[10960, 324, 180, 5, 60, "Text"], Cell[11143, 331, 142, 4, 60, "Text"] }, Closed]] }, Closed]], Cell[11312, 339, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[12931, 384, 93, 1, 73, "Section"], Cell[CellGroupData[{ Cell[13049, 389, 91, 2, 65, "Subsection"], Cell[13143, 393, 250, 7, 144, "Text"], Cell[CellGroupData[{ Cell[13418, 404, 100, 2, 57, "Subsubsection"], Cell[13521, 408, 253, 7, 144, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[13811, 420, 97, 2, 57, "Subsubsection"], Cell[13911, 424, 260, 6, 108, "Text"], Cell[14174, 432, 310, 12, 72, "Text"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[14533, 450, 154, 7, 65, "Subsection"], Cell[14690, 459, 975, 26, 240, "Text"] }, Closed]] }, Closed]], Cell[15692, 489, 1594, 41, 31, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[17311, 534, 75, 1, 73, "Section"], Cell[CellGroupData[{ Cell[17411, 539, 74, 1, 61, "Subsection"], Cell[17488, 542, 95, 2, 58, "Input", InitializationCell->True], Cell[17586, 546, 1172, 21, 286, "Input", InitializationCell->True], Cell[18761, 569, 876, 13, 210, "Input", InitializationCell->True], Cell[19640, 584, 411, 9, 172, "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[20088, 598, 50, 1, 44, "Subsection"], Cell[20141, 601, 1278, 56, 110, "Text"], Cell[21422, 659, 243, 9, 39, "Text"], Cell[21668, 670, 242, 9, 39, "Text"], Cell[21913, 681, 93, 3, 36, "Text"], Cell[22009, 686, 170, 4, 39, "Text"], Cell[22182, 692, 190, 5, 144, "Text"], Cell[CellGroupData[{ Cell[22397, 701, 46, 1, 58, "Input"], Cell[22446, 704, 30059, 666, 274, 9507, 408, "GraphicsData", "PostScript", \ "Graphics"] }, Open ]], Cell[52520, 1373, 255, 5, 84, "Text"], Cell[CellGroupData[{ Cell[52800, 1382, 40, 1, 58, "Input"], Cell[52843, 1385, 1075, 30, 454, "Output"] }, Open ]], Cell[53933, 1418, 94, 3, 36, "Text"], Cell[54030, 1423, 192, 4, 60, "Text"], Cell[54225, 1429, 189, 4, 60, "Text"], Cell[54417, 1435, 182, 4, 60, "Text"], Cell[54602, 1441, 97, 3, 36, "Text"], Cell[54702, 1446, 180815, 3922, 395, 46412, 2259, "GraphicsData", \ "PostScript", "Graphics"], Cell[235520, 5370, 72, 0, 36, "Text"], Cell[235595, 5372, 167, 5, 36, "Text"], Cell[235765, 5379, 1513, 20, 286, "Input"] }, Open ]] }, Closed]], Cell[237305, 5403, 1594, 41, 31, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[238924, 5448, 157, 6, 73, "Section"], Cell[CellGroupData[{ Cell[239106, 5458, 157, 6, 61, "Subsection"], Cell[239266, 5466, 810, 17, 240, "Text"], Cell[240079, 5485, 244, 6, 61, "Text"], Cell[240326, 5493, 157, 3, 77, "Input"], Cell[240486, 5498, 69, 0, 36, "Text"], Cell[240558, 5500, 87, 1, 58, "Input"], Cell[240648, 5503, 328, 7, 156, "Text"], Cell[240979, 5512, 102, 3, 36, "Text"], Cell[241084, 5517, 156, 5, 37, "Text"], Cell[241243, 5524, 54, 1, 58, "Input"], Cell[241300, 5527, 139, 3, 60, "Text"], Cell[241442, 5532, 88, 1, 58, "Input"], Cell[241533, 5535, 682, 10, 180, "Text"], Cell[242218, 5547, 882, 19, 248, "Input"], Cell[CellGroupData[{ Cell[243125, 5570, 71, 1, 58, "Input"], Cell[243199, 5573, 5192, 65, 2248, "Output"] }, Closed]], Cell[248406, 5641, 54, 1, 52, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[248497, 5647, 94, 1, 40, "Subsection"], Cell[248594, 5650, 1552, 35, 518, "Text"], Cell[250149, 5687, 561, 10, 528, "Text"], Cell[250713, 5699, 272, 11, 61, "Text"], Cell[250988, 5712, 139, 3, 77, "Input"], Cell[251130, 5717, 165, 6, 37, "Text"], Cell[CellGroupData[{ Cell[251320, 5727, 54, 1, 58, "Input"], Cell[251377, 5730, 841, 18, 190, "Output"] }, Open ]], Cell[252233, 5751, 58, 0, 36, "Text"], Cell[252294, 5753, 2187, 40, 305, "Input"], Cell[254484, 5795, 670, 19, 111, "Text"], Cell[255157, 5816, 130, 3, 58, "Input"], Cell[255290, 5821, 484, 16, 134, "Text"], Cell[255777, 5839, 228, 5, 96, "Input"], Cell[256008, 5846, 262, 7, 61, "Text"], Cell[256273, 5855, 54, 1, 58, "Input"], Cell[256330, 5858, 117, 3, 36, "Text"], Cell[256450, 5863, 57, 1, 58, "Input"], Cell[256510, 5866, 40, 1, 58, "Input"] }, Closed]] }, Closed]], Cell[256577, 5871, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[258196, 5916, 77, 1, 73, "Section"], Cell[258276, 5919, 135, 3, 60, "Text"], Cell[258414, 5924, 181, 4, 77, "Input"], Cell[258598, 5930, 61, 0, 36, "Text"], Cell[258662, 5932, 71, 1, 58, "Input"], Cell[258736, 5935, 129, 3, 60, "Text"], Cell[258868, 5940, 1449, 26, 362, "Input"], Cell[260320, 5968, 450, 9, 109, "Text"], Cell[260773, 5979, 75, 1, 58, "Input"], Cell[260851, 5982, 120, 4, 36, "Text"], Cell[260974, 5988, 152, 5, 58, "Input"] }, Closed]], Cell[261141, 5996, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[262760, 6041, 90, 1, 73, "Section"], Cell[262853, 6044, 304, 5, 84, "Text"], Cell[263160, 6051, 202, 4, 77, "Input"], Cell[263365, 6057, 88, 3, 36, "Text"], Cell[263456, 6062, 142, 2, 77, "Input"], Cell[263601, 6066, 93, 3, 36, "Text"], Cell[263697, 6071, 1926, 36, 457, "Input"], Cell[265626, 6109, 34, 0, 36, "Text"], Cell[265663, 6111, 91, 1, 58, "Input"] }, Closed]], Cell[265769, 6115, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[267388, 6160, 90, 1, 73, "Section"], Cell[267481, 6163, 983, 18, 228, "Text"], Cell[268467, 6183, 644, 12, 156, "Text"], Cell[269114, 6197, 1567, 26, 343, "Input"], Cell[270684, 6225, 114, 3, 36, "Text"], Cell[270801, 6230, 467, 9, 145, "Text"], Cell[271271, 6241, 150, 3, 77, "Input"], Cell[271424, 6246, 150, 3, 77, "Input"], Cell[271577, 6251, 146, 3, 77, "Input"], Cell[271726, 6256, 150, 3, 77, "Input"], Cell[271879, 6261, 129, 3, 60, "Text"], Cell[272011, 6266, 296, 6, 96, "Input"], Cell[272310, 6274, 73, 0, 36, "Text"], Cell[272386, 6276, 74, 1, 58, "Input"], Cell[272463, 6279, 242, 5, 84, "Text"], Cell[272708, 6286, 72, 1, 58, "Input"], Cell[272783, 6289, 142, 3, 60, "Text"], Cell[272928, 6294, 72, 1, 58, "Input"] }, Closed]], Cell[273015, 6298, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[274634, 6343, 84, 1, 73, "Section"], Cell[274721, 6346, 311, 7, 180, "Text"], Cell[CellGroupData[{ Cell[275057, 6357, 102, 2, 58, "Input"], Cell[275162, 6361, 5863, 117, 1828, "Output"] }, Closed]], Cell[281040, 6481, 171, 4, 58, "Text"], Cell[281214, 6487, 147, 3, 77, "Input"], Cell[281364, 6492, 818, 16, 180, "Text"], Cell[282185, 6510, 557, 10, 172, "Input"], Cell[282745, 6522, 51, 0, 36, "Text"], Cell[282799, 6524, 84, 1, 58, "Input"], Cell[282886, 6527, 294, 7, 86, "Text"], Cell[283183, 6536, 87, 1, 58, "Input"], Cell[283273, 6539, 117, 3, 36, "Text"], Cell[283393, 6544, 1513, 20, 286, "Input"], Cell[284909, 6566, 442, 9, 109, "Text"], Cell[285354, 6577, 201, 4, 115, "Input"], Cell[285558, 6583, 157, 4, 60, "Text"], Cell[285718, 6589, 93, 1, 58, "Input"], Cell[285814, 6592, 66, 0, 36, "Text"], Cell[285883, 6594, 84, 1, 58, "Input"], Cell[285970, 6597, 353, 6, 108, "Text"], Cell[286326, 6605, 131, 3, 58, "Input"], Cell[286460, 6610, 72, 0, 36, "Text"], Cell[286535, 6612, 201, 4, 115, "Input"], Cell[286739, 6618, 181, 4, 60, "Text"], Cell[286923, 6624, 93, 1, 58, "Input"] }, Closed]], Cell[287031, 6628, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[288650, 6673, 83, 1, 73, "Section"], Cell[288736, 6676, 250, 5, 84, "Text"], Cell[288989, 6683, 813, 16, 180, "Text"], Cell[289805, 6701, 2101, 27, 799, "Input"], Cell[CellGroupData[{ Cell[291931, 6732, 58, 0, 61, "Subsection"], Cell[291992, 6734, 423, 9, 110, "Text"], Cell[292418, 6745, 184, 4, 58, "Text"], Cell[292605, 6751, 52, 1, 51, "Input"], Cell[292660, 6754, 439, 8, 136, "Text"], Cell[293102, 6764, 387, 5, 138, "Input"], Cell[293492, 6771, 305, 6, 110, "Text"], Cell[293800, 6779, 478, 12, 110, "Text"], Cell[294281, 6793, 240, 5, 109, "Input"], Cell[294524, 6800, 181, 4, 58, "Text"], Cell[294708, 6806, 275, 5, 167, "Input"], Cell[294986, 6813, 140, 4, 32, "Text"], Cell[295129, 6819, 78, 1, 51, "Input"], Cell[295210, 6822, 339, 6, 110, "Text"], Cell[295552, 6830, 218, 4, 138, "Input"], Cell[295773, 6836, 140, 4, 32, "Text"], Cell[295916, 6842, 73, 1, 51, "Input"], Cell[295992, 6845, 287, 8, 58, "Text"], Cell[296282, 6855, 170, 4, 80, "Input"], Cell[296455, 6861, 212, 5, 58, "Text"], Cell[296670, 6868, 88, 1, 51, "Input"], Cell[296761, 6871, 509, 10, 136, "Text"], Cell[297273, 6883, 866, 17, 399, "Input"], Cell[298142, 6902, 110, 1, 32, "Text"], Cell[298255, 6905, 65, 1, 51, "Input"], Cell[298323, 6908, 219, 5, 58, "Text"], Cell[298545, 6915, 108, 2, 80, "Input"], Cell[298656, 6919, 178, 4, 58, "Text"], Cell[298837, 6925, 88, 1, 51, "Input"], Cell[298928, 6928, 178, 6, 32, "Text"], Cell[299109, 6936, 387, 7, 110, "Text"], Cell[299499, 6945, 115, 2, 80, "Input"], Cell[299617, 6949, 97, 1, 32, "Text"], Cell[299717, 6952, 86, 1, 51, "Input"], Cell[299806, 6955, 184, 4, 58, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[300027, 6964, 36, 0, 40, "Subsection"], Cell[300066, 6966, 1013, 23, 219, "Text"], Cell[301082, 6991, 120, 3, 80, "Input"], Cell[301205, 6996, 206, 6, 58, "Text"], Cell[301414, 7004, 173, 5, 80, "Input"], Cell[301590, 7011, 271, 6, 58, "Text"], Cell[301864, 7019, 70, 1, 51, "Input"], Cell[301937, 7022, 232, 5, 84, "Text"], Cell[302172, 7029, 235, 4, 138, "Input"], Cell[302410, 7035, 152, 4, 58, "Text"], Cell[302565, 7041, 128, 3, 80, "Input"], Cell[302696, 7046, 168, 4, 58, "Text"], Cell[302867, 7052, 116, 2, 80, "Input"], Cell[302986, 7056, 56, 1, 51, "Input"], Cell[303045, 7059, 316, 6, 110, "Text"], Cell[303364, 7067, 327, 6, 167, "Input"], Cell[303694, 7075, 103, 1, 32, "Text"], Cell[303800, 7078, 108, 2, 80, "Input"], Cell[303911, 7082, 194, 4, 58, "Text"], Cell[304108, 7088, 185, 4, 80, "Input"], Cell[304296, 7094, 109, 1, 32, "Text"], Cell[304408, 7097, 71, 1, 51, "Input"], Cell[304482, 7100, 109, 2, 80, "Input"], Cell[304594, 7104, 163, 4, 58, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[304794, 7113, 46, 0, 40, "Subsection"], Cell[304843, 7115, 684, 11, 214, "Text"], Cell[305530, 7128, 1883, 34, 892, "Input"], Cell[307416, 7164, 266, 7, 58, "Text"], Cell[307685, 7173, 105, 2, 80, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[307827, 7180, 29, 0, 40, "Subsection"], Cell[307859, 7182, 358, 7, 110, "Text"] }, Closed]] }, Closed]], Cell[308244, 7193, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[309863, 7238, 72, 1, 73, "Section"], Cell[309938, 7241, 803, 23, 193, "Text"], Cell[310744, 7266, 211, 8, 37, "Text"], Cell[310958, 7276, 153, 3, 77, "Input"], Cell[311114, 7281, 69, 0, 36, "Text"], Cell[311186, 7283, 83, 1, 58, "Input"], Cell[311272, 7286, 347, 6, 108, "Text"], Cell[CellGroupData[{ Cell[311644, 7296, 35, 0, 61, "Subsection"], Cell[311682, 7298, 220, 4, 84, "Text"], Cell[311905, 7304, 107, 2, 51, "Input"], Cell[312015, 7308, 98, 3, 32, "Text"], Cell[CellGroupData[{ Cell[312138, 7315, 49, 1, 51, "Input"], Cell[312190, 7318, 38, 1, 36, "Output"] }, Closed]], Cell[312243, 7322, 46, 0, 32, "Text"], Cell[312292, 7324, 64, 1, 51, "Input"], Cell[312359, 7327, 171, 4, 58, "Text"], Cell[312533, 7333, 73, 1, 51, "Input"], Cell[312609, 7336, 65, 0, 32, "Text"], Cell[312677, 7338, 179, 5, 109, "Input"], Cell[312859, 7345, 234, 6, 84, "Text"], Cell[313096, 7353, 143, 3, 58, "Input"], Cell[313242, 7358, 65, 0, 32, "Text"], Cell[313310, 7360, 51, 1, 58, "Input"], Cell[313364, 7363, 348, 11, 50, "Text"], Cell[313715, 7376, 193, 7, 58, "Input"], Cell[313911, 7385, 50, 0, 31, "Text"], Cell[313964, 7387, 183, 3, 77, "Input"], Cell[314150, 7392, 168, 4, 50, "Text"], Cell[314321, 7398, 47, 1, 58, "Input"], Cell[314371, 7401, 38, 0, 31, "Text"], Cell[314412, 7403, 183, 3, 77, "Input"], Cell[314598, 7408, 46, 1, 58, "Input"] }, Closed]] }, Closed]], Cell[314671, 7413, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[316290, 7458, 81, 1, 73, "Section"], Cell[316374, 7461, 156, 4, 36, "Text"], Cell[316533, 7467, 215, 5, 108, "Text"], Cell[316751, 7474, 273, 7, 108, "Text"], Cell[317027, 7483, 161, 4, 60, "Text"] }, Closed]], Cell[317203, 7490, 1594, 41, 26, "SlideShowNavigationBar"], Cell[CellGroupData[{ Cell[318822, 7535, 59, 1, 73, "Section", CellTags->"LastSlide"], Cell[318884, 7538, 338, 8, 84, "Text"] }, Closed]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)