[med-svn] [rna-star] 02/05: Imported Upstream version 2.5.1b+dfsg

Steffen Möller moeller at moszumanska.debian.org
Tue Feb 23 18:15:38 UTC 2016


This is an automated email from the git hooks/post-receive script.

moeller pushed a commit to branch master
in repository rna-star.

commit d874d4b02dd2e43332ddf3e30ef90b355664f241
Author: Steffen Moeller <moeller at debian.org>
Date:   Tue Feb 23 18:01:58 2016 +0100

    Imported Upstream version 2.5.1b+dfsg
---
 CHANGES.md                                  |   40 +-
 doc/STARmanual.pdf                          |  Bin 249630 -> 251507 bytes
 extras/doc-latex/STARmanual.tex             |    9 +-
 extras/doc-latex/parametersDefault.tex      |   32 +-
 source/BAMbinSortByCoordinate.cpp           |   14 +-
 source/BAMbinSortByCoordinate.h             |    2 +-
 source/BAMfunctions.cpp                     |    2 +-
 source/Genome.cpp                           |   23 +-
 source/Genome.h                             |    4 +-
 source/Genome_insertSequences.cpp           |    2 +-
 source/Makefile                             |    3 +
 source/Parameters.cpp                       |   52 +-
 source/Parameters.h                         |   11 +-
 source/ReadAlign_alignBAM.cpp               |   30 +-
 source/ReadAlign_chimericDetection.cpp      |   35 +-
 source/ReadAlign_mapOneRead.cpp             |    5 +-
 source/ReadAlign_multMapSelect.cpp          |   81 +-
 source/ReadAlign_outputAlignments.cpp       |  141 +-
 source/ReadAlign_outputTranscriptSAM.cpp    |   34 +-
 source/ReadAlign_quantTranscriptome.cpp     |    3 +
 source/ReadAlign_stitchPieces.cpp           |    2 +-
 source/ReadAlign_stitchWindowSeeds.cpp      |   15 +-
 source/STAR.cpp                             |    7 +-
 source/STARmanual.tex                       |  451 ---
 source/Stats.cpp                            |   12 +-
 source/Stats.h                              |    4 +-
 source/SuffixArrayFuns.cpp                  |   10 +-
 source/SuffixArrayFuns.h                    |    1 -
 source/Transcriptome_geneCountsAddAlign.cpp |    2 +-
 source/Transcriptome_quantAlign.cpp         |    3 +-
 source/VERSION                              |    2 +-
 source/bamRemoveDuplicates.cpp              |    4 +-
 source/blocksOverlap.cpp                    |    2 +-
 source/extendAlign.cpp                      |    4 +-
 source/genomeGenerate.cpp                   |   67 +-
 source/genomeSAindex.cpp                    |   13 +-
 source/parametersDefault                    |   30 +-
 source/parametersDefault.xxd                | 3940 ++++++++++++++-------------
 source/signalFromBAM.cpp                    |    8 +-
 source/sjdbBuildIndex.cpp                   |    2 +
 source/stitchAlignToTranscript.cpp          |    4 +-
 41 files changed, 2502 insertions(+), 2604 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 3b165d1..10266a3 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,4 +1,42 @@
-STAR 2.4.5a 2015/11/06
+STAR 2.5.1b 2016/01/22
+======================
+
+* Fixed a bug in signal generation with --outWigType introduced in 2.5.1a
+
+
+STAR 2.5.1a 2016/01/19
+======================
+
+* Fixed a bug in --quantMode TranscriptomeSAM that prevented output to Aligned.toTranscriptome.out.bam of the reads mapped to the very last annotated transcript.
+* Cleaned up the code to remove compilation warnings (thanks to github.com/yhoogstrate).
+* Implemented --outSAMunmapped Within KeepPairs option to record unmapped mate adjacent to the mapped one, in case single-end alignments are allowed.
+  For multi-mappers, the unmapped mate will be recored mulitple times adjacent to the mappet mate of each alignment.
+
+
+STAR 2.5.0c 2015/12/23
+======================
+
+* Implemented --genomeSuffixLengthMax option to control max suffix length at the genome generation step.
+* Fixed a bug that caused genome generation stalling in some cases.
+* In Aligned.toTranscriptome.out.bam (--quantMode TranscriptomeSAM), non-primary SAM flag is assigned to all but one randomly selected alignment in Aligned.toTranscriptome.out.bam .
+* Fixed a bug that filtered out some chimeric junctions.
+* Fixed a bug that prevented chimeric output for some of the "circular" configurations.
+
+STAR 2.5.0b 2015/11/30
+======================
+
+**Bug-fix release:**
+
+* Fixed a problem with non-primary alignment flags with --outSAMmultNmax option.
+* Added counting of chimeric reads into Log.final.out .
+* Fixed a bug in --outSAMfilter KeepOnlyAddedReferences.
+* Fixed a minor bug that caused rare seg-faults.
+* Fixed a minor bug in STARlong extension at the ends of the read.
+* Fixed a seg-fault that occurred when non-default value of --genomeChrBinNbits was used.
+* Fixed a seg-fault that occurred when junctions where inserted after inserting reference sequences.
+
+
+STAR 2.5.0a 2015/11/06
 ======================
 
 **STAR now uses essential c++11 features and requires gcc 4.7.0 or later.**
diff --git a/doc/STARmanual.pdf b/doc/STARmanual.pdf
index c9238df..383ccae 100644
Binary files a/doc/STARmanual.pdf and b/doc/STARmanual.pdf differ
diff --git a/extras/doc-latex/STARmanual.tex b/extras/doc-latex/STARmanual.tex
index ac2bec6..4ea2443 100644
--- a/extras/doc-latex/STARmanual.tex
+++ b/extras/doc-latex/STARmanual.tex
@@ -34,8 +34,8 @@
 
 \newcommand{\sechyperref}[1]{\hyperref[#1]{Section \ref{#1}. \nameref{#1}}}
 
-\title{STAR manual 2.5.0a}
-\author{Alexnder Dobin\\
+\title{STAR manual 2.5.1a}
+\author{Alexander Dobin\\
 dobin at cshl.edu}
 \maketitle
 \tableofcontents
@@ -150,7 +150,7 @@ This file can be used in addition to the \opt{sjdbGTFfile}, in which case STAR w
 Note, that the \opt{sjdbFileChrStartEnd} file can contain duplicate (identical) junctions, STAR will collapse (remove) duplicate junctions.
 
 \subsubsection{Very small genome.}
-For small genomes, the parameter \opt{genomeSAindexNbases} needs to be scaled down, with a typical value of \code{min(14, log2(GenomeLength)/2 - 1)}. For example, for 1~megaBase genome, this is equal to 9, for 100~kiloBase genome, this is equal to 7.
+For small genomes, the parameter \opt{genomeSAindexNbases} \textbf{must} to be scaled down, with a typical value of \code{min(14, log2(GenomeLength)/2 - 1)}. For example, for 1~megaBase genome, this is equal to 9, for 100~kiloBase genome, this is equal to 7.
 
 \subsubsection{Genome with a large number of references.}
 If you are using a genome with a large (\textgreater 5,000) number of references (chrosomes/scaffolds), you may need to reduce the \opt{genomeChrBinNbits} to reduce RAM consumption. The following scaling is recommended: \opt{genomeChrBinNbits} = \code{min(18, log2(GenomeLength/NumberOfReferences))}. For example, for 3~gigaBase genome with 100,000 chromosomes/scaffolds, this is equal to 15.
@@ -303,8 +303,9 @@ The filtering for this output file is controlled by the \optn{outSJfilter*} para
 
 \section{Chimeric and circular alignments.}
 To switch on detection of chimeric (fusion) alignments (in addition to normal mapping), \opt{chimSegmentMin} should be set to a positive value. Each chimeric alignment consists of two "segments". Each segment is non-chimeric on its own, but the segments are chimeric to each other (i.e. the segments belong to different chromosomes, or different strands, or are far from each other). Both segments may contain splice junctions, and one of the segments may contain portions of both mates. \opt [...]
+
 \subsection{STAR-Fusion.}
-STAR-Fusion is a software package for detecting fusion transcript from STAR chimeric output. It is developed and maintained by Brian Haas. Please visit its GitHub page for instructions and documentation: \url{https://github.com/STAR-Fusion/STAR-Fusion}.
+STAR-Fusion is a software package for detecting fusion transcript from STAR chimeric output. It is developed and maintained by Brian Haas (@Broad Institute), whose effort was  inspired by earlier work done by Nicolas Stransky in the landmark publication "The landscape of kinase fusions in cancer" by Stransky et al., Nat Commun 2014, in addition to very nice work done by Daniel Nicorici with his FusionCatcher software. Please visit its GitHub page for instructions and documentation: \url{ [...]
 
 \subsection{Chimeric alignments in the main BAM files.}
 Chimeric alignments can be included together with normal alignments in the main (sorted or unsorted) BAM file(s) using \opt{chimOutType} \optv{WithinBAM}. In these files, formatting of chimeric alignments follows the latest SAM/BAM specifications.
diff --git a/extras/doc-latex/parametersDefault.tex b/extras/doc-latex/parametersDefault.tex
index cc9d050..7dec92a 100644
--- a/extras/doc-latex/parametersDefault.tex
+++ b/extras/doc-latex/parametersDefault.tex
@@ -67,6 +67,9 @@
 \optName{genomeSAsparseD}
   \optValue{1}
   \optLine{int{\textgreater}0: suffux array sparsity, i.e. distance between indices: use bigger numbers to decrease needed RAM at the cost of mapping speed reduction} 
+\optName{genomeSuffixLengthMax}
+  \optValue{-1}
+  \optLine{int: maximum length of the suffixes, has to be longer than read length. -1 = infinite.} 
 \end{optTable}
 \optSection{Splice Junctions Database}\label{Splice_Junctions_Database}
 \begin{optTable}
@@ -188,7 +191,7 @@
 \end{optOptTable}
 \optName{outReadsUnmapped}
   \optValue{None}
-  \optLine{string: output of unmapped reads (besides SAM)} 
+  \optLine{string: output of unmapped and partially mapped (i.e. mapped only one mate of a paired end read) reads in separate file(s).} 
 \begin{optOptTable}
   \optOpt{None}   \optOptLine{no output}
   \optOpt{Fastx}   \optOptLine{output in separate fasta/fastq files, Unmapped.out.mate1/2}
@@ -249,11 +252,17 @@
   \optLine{int{\textgreater}=0:                     start value for the IH attribute. 0 may be required by some downstream software, such as Cufflinks or StringTie.} 
 \optName{outSAMunmapped}
   \optValue{None}
-  \optLine{string: output of unmapped reads in the SAM format} 
+  \optLine{string(s): output of unmapped reads in the SAM format} 
+  \optLine{1st word:} 
 \begin{optOptTable}
   \optOpt{None}   \optOptLine{no output}
   \optOpt{Within}   \optOptLine{output unmapped reads within the main SAM file (i.e. Aligned.out.sam)}
 \end{optOptTable}
+  \optLine{2nd word:} 
+\begin{optOptTable}
+  \optOpt{KeepPairs}   \optOptLine{record unmapped mate for each alignment, and, in case of unsroted output, keep it adjacent to its mapped mate.}
+\end{optOptTable}
+  \optLine{Only affects multi-mapping reads} 
 \optName{outSAMorder}
   \optValue{Paired}
   \optLine{string: type of sorting for the SAM output} 
@@ -377,28 +386,29 @@
   \optLine{int: the score range below the maximum score for multimapping alignments} 
 \optName{outFilterMultimapNmax}
   \optValue{10}
-  \optLine{int: read alignments will be output only if the read maps fewer than this value, otherwise no alignments will be output} 
+  \optLine{int: maximum number of loci the read is allowed to map to. Alignments (all of them) will be output only if the read maps to no more loci than this value. } 
+  \optLine{Otherwise no alignments will be output, and the read will be counted as "mapped to too many loci" in the Log.final.out .} 
 \optName{outFilterMismatchNmax}
   \optValue{10}
-  \optLine{int: alignment will be output only if it has fewer mismatches than this value} 
+  \optLine{int: alignment will be output only if it has no more mismatches than this value.} 
 \optName{outFilterMismatchNoverLmax}
   \optValue{0.3}
-  \optLine{int: alignment will be output only if its ratio of mismatches to *mapped* length is less than this value} 
+  \optLine{float: alignment will be output only if its ratio of mismatches to *mapped* length is less than or equal to this value.} 
 \optName{outFilterMismatchNoverReadLmax}
-  \optValue{1}
-  \optLine{int: alignment will be output only if its ratio of mismatches to *read* length is less than this value} 
+  \optValue{1.0}
+  \optLine{float: alignment will be output only if its ratio of mismatches to *read* length is less than or equal to this value.} 
 \optName{outFilterScoreMin}
   \optValue{0}
-  \optLine{int: alignment will be output only if its score is higher than this value} 
+  \optLine{int: alignment will be output only if its score is higher than or equal to this value.} 
 \optName{outFilterScoreMinOverLread}
   \optValue{0.66}
-  \optLine{float: outFilterScoreMin normalized to read length (sum of mates' lengths for paired-end reads)} 
+  \optLine{float: same as outFilterScoreMin, but  normalized to read length (sum of mates' lengths for paired-end reads)} 
 \optName{outFilterMatchNmin}
   \optValue{0}
-  \optLine{int: alignment will be output only if the number of matched bases is higher than this value} 
+  \optLine{int: alignment will be output only if the number of matched bases is higher than or equal to this value.} 
 \optName{outFilterMatchNminOverLread}
   \optValue{0.66}
-  \optLine{float: outFilterMatchNmin normalized to read length (sum of mates' lengths for paired-end reads)} 
+  \optLine{float: sam as outFilterMatchNmin, but normalized to the read length (sum of mates' lengths for paired-end reads).} 
 \optName{outFilterIntronMotifs}
   \optValue{None}
   \optLine{string: filter alignment using their motifs} 
diff --git a/source/BAMbinSortByCoordinate.cpp b/source/BAMbinSortByCoordinate.cpp
index ec35650..86b0f68 100644
--- a/source/BAMbinSortByCoordinate.cpp
+++ b/source/BAMbinSortByCoordinate.cpp
@@ -3,19 +3,25 @@
 #include "serviceFuns.cpp"
 #include "BAMfunctions.h"
 
-void BAMbinSortByCoordinate(uint32 iBin, uint binN, uint binS, uint nThreads, string dirBAMsort, BGZF *bgzfBAM, Parameters *P) {
+void BAMbinSortByCoordinate(uint32 iBin, uint binN, uint binS, uint nThreads, string dirBAMsort, Parameters *P) {
       
     if (binS==0) return; //nothing to do for empty bins
     //allocate arrays
-    char *bamIn=new char[binS];
+    char *bamIn=new char[binS+1];
     uint *startPos=new uint[binN*3];
 
     uint bamInBytes=0;
     //load all aligns
     for (uint it=0; it<nThreads; it++) {
         string bamInFile=dirBAMsort+to_string(it)+"/"+to_string((uint) iBin);
-        ifstream bamInStream (bamInFile.c_str());
-        bamInStream.read(bamIn+bamInBytes,binS);//read the whole file
+        ifstream bamInStream;
+        bamInStream.open(bamInFile.c_str(),std::ios::binary | std::ios::ate);//open at the end to get file size
+        uint s1=bamInStream.tellg();
+        if (s1>0)
+        {
+            bamInStream.seekg(std::ios::beg);
+            bamInStream.read(bamIn+bamInBytes,s1);//read the whole file
+        };
         bamInBytes += bamInStream.gcount();
         bamInStream.close();
         remove(bamInFile.c_str());
diff --git a/source/BAMbinSortByCoordinate.h b/source/BAMbinSortByCoordinate.h
index 21b6cf2..fb87a00 100644
--- a/source/BAMbinSortByCoordinate.h
+++ b/source/BAMbinSortByCoordinate.h
@@ -4,6 +4,6 @@
 #include "Parameters.h"
 #include SAMTOOLS_BGZF_H
 
-void BAMbinSortByCoordinate(uint32 iBin, uint binN, uint binS, uint nThreads, string dirBAMsort, BGZF *bgzfBAM, Parameters *P);
+void BAMbinSortByCoordinate(uint32 iBin, uint binN, uint binS, uint nThreads, string dirBAMsort, Parameters *P);
        
 #endif
\ No newline at end of file
diff --git a/source/BAMfunctions.cpp b/source/BAMfunctions.cpp
index 28584d5..6329478 100644
--- a/source/BAMfunctions.cpp
+++ b/source/BAMfunctions.cpp
@@ -29,7 +29,7 @@ string bam_cigarString (bam1_t *b) {//output CIGAR string
 int bam_read1_fromArray(char *bamChar, bam1_t *b) //modified from samtools bam_read1 to assign BAM record in mmemry to bam structure
 {
 	bam1_core_t *c = &b->core;
-	int32_t block_len, ret, i;
+	int32_t block_len; //, ret, i;
 // // 	uint32_t x[8];
 // // 	if ((ret = bgzf_read(fp, &block_len, 4)) != 4) {
 // // 		if (ret == 0) return -1; // normal end-of-file
diff --git a/source/Genome.cpp b/source/Genome.cpp
index c50a688..3e76e21 100644
--- a/source/Genome.cpp
+++ b/source/Genome.cpp
@@ -136,6 +136,7 @@ void Genome::genomeLoad(){//allocate and load Genome
     //record required genome parameters in P
     P->genomeSAindexNbases=P1->genomeSAindexNbases;
     P->genomeChrBinNbits=P1->genomeChrBinNbits;
+    P->genomeChrBinNbases=1LLU<<P->genomeChrBinNbits;
     P->genomeSAsparseD=P1->genomeSAsparseD;
     if (P->parArray.at(P->sjdbOverhang_par)->inputLevel==0 && P1->sjdbOverhang>0) 
     {//if --sjdbOverhang was not defined by user and it was defined >0 at the genome generation step, then use sjdbOverhang from the genome generation step
@@ -291,7 +292,7 @@ void Genome::genomeLoad(){//allocate and load Genome
         if (P->genomeFastaFiles.at(0)!="-")
         {//will insert sequences in the genome, now estimate the extra size
            uint oldlen=P->chrStart.back();//record the old length
-           P->genomeInsertChrIndFirst=P->nChrReal+1;
+           P->genomeInsertChrIndFirst=P->nChrReal;
            P->genomeInsertL=genomeScanFastaFiles(P,G,false)-oldlen; 
         };
         
@@ -299,13 +300,17 @@ void Genome::genomeLoad(){//allocate and load Genome
             
             if (P->sjdbInsert.pass1 || P->sjdbInsert.pass2)
             {//reserve extra memory for insertion at the 1st and/or 2nd step
-                nGenomePass1=P->nGenome+P->genomeInsertL;
-                nSApass1=P->nSA+2*P->genomeInsertL;
+                nGenomeInsert=P->nGenome+P->genomeInsertL;
+                nSAinsert=P->nSA+2*P->genomeInsertL;
+                
+                nGenomePass1=nGenomeInsert;
+                nSApass1=nSAinsert;
                 if (P->sjdbInsert.pass1)
                 {
                     nGenomePass1+=P->limitSjdbInsertNsj*P->sjdbLength;
                     nSApass1+=2*P->limitSjdbInsertNsj*P->sjdbLength;
                 };
+                
                 nGenomePass2=nGenomePass1;
                 nSApass2=nSApass1;
                 if (P->sjdbInsert.pass2)
@@ -322,7 +327,10 @@ void Genome::genomeLoad(){//allocate and load Genome
                 SApass1.defineBits(P->GstrandBit+1,nSApass1);
                 SApass1.pointArray(SApass2.charArray+SApass2.lengthByte-SApass1.lengthByte);
                 
-                SA.pointArray(SApass1.charArray+SApass1.lengthByte-SA.lengthByte);
+                SAinsert.defineBits(P->GstrandBit+1,nSAinsert);
+                SAinsert.pointArray(SApass1.charArray+SApass1.lengthByte-SAinsert.lengthByte);
+                
+                SA.pointArray(SAinsert.charArray+SAinsert.lengthByte-SA.lengthByte);
             } else 
             {//no sjdb insertions
                 if (P->genomeInsertL==0)
@@ -332,11 +340,10 @@ void Genome::genomeLoad(){//allocate and load Genome
                 } else 
                 {
                     G1=new char[P->nGenome+L+L+P->genomeInsertL];        
-                    SApass1.defineBits(P->GstrandBit+1,P->nSA+2*P->genomeInsertL);//TODO: re-define GstrandBit if necessary
-                    SApass1.allocateArray();
-                    SA.pointArray(SApass1.charArray+SApass1.lengthByte-SA.lengthByte);
+                    SAinsert.defineBits(P->GstrandBit+1,P->nSA+2*P->genomeInsertL);//TODO: re-define GstrandBit if necessary
+                    SAinsert.allocateArray();
+                    SA.pointArray(SAinsert.charArray+SAinsert.lengthByte-SA.lengthByte);
                 };
-
             };            
             SAi.allocateArray();
             P->inOut->logMain <<"Shared memory is not used for genomes. Allocated a private copy of the genome.\n"<<flush;                
diff --git a/source/Genome.h b/source/Genome.h
index 1136fd5..08f178d 100644
--- a/source/Genome.h
+++ b/source/Genome.h
@@ -9,10 +9,10 @@
 class Genome {
     public:
         char *G, *sigG;
-        PackedArray SA,SApass1,SApass2;
+        PackedArray SA,SAinsert,SApass1,SApass2;
         PackedArray SAi;
         
-        uint nGenomePass1, nGenomePass2, nSApass1, nSApass2; 
+        uint nGenomeInsert, nGenomePass1, nGenomePass2, nSAinsert, nSApass1, nSApass2; 
 
         Genome (Parameters* Pin );
         Genome () {};//empty constructor
diff --git a/source/Genome_insertSequences.cpp b/source/Genome_insertSequences.cpp
index 01de722..5edf127 100644
--- a/source/Genome_insertSequences.cpp
+++ b/source/Genome_insertSequences.cpp
@@ -24,7 +24,7 @@ if (P->genomeFastaFiles.at(0)!="-")
     uint64 nGenomeOld=P->nGenome;
     P->nGenome=P->chrStart.back()+sjdblen; 
     //insert new sequences into the SA
-    insertSeqSA(SA, SApass1, SAi, G, G+P->chrStart.back()-P->genomeInsertL, nGenomeOld-sjdblen, P->genomeInsertL, sjdblen, P);
+    insertSeqSA(SA, SAinsert, SAi, G, G+P->chrStart.back()-P->genomeInsertL, nGenomeOld-sjdblen, P->genomeInsertL, sjdblen, P);
 
     //insert new sequences into the SAi
     //update P
diff --git a/source/Makefile b/source/Makefile
index eca66cd..9ac8a77 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -75,6 +75,9 @@ cleanRelease:
 	rm -f *.o Depend.list
 	$(MAKE) -C htslib clean
 
+.PHONY: install
+install:
+	'mv' STAR STARlong ../bin
 
 ifneq ($(MAKECMDGOALS),clean)
 ifneq ($(MAKECMDGOALS),cleanRelease)
diff --git a/source/Parameters.cpp b/source/Parameters.cpp
index 25a7ae7..e3eb17d 100644
--- a/source/Parameters.cpp
+++ b/source/Parameters.cpp
@@ -42,6 +42,7 @@ Parameters::Parameters() {//initalize parameters info
     parArray.push_back(new ParameterInfoScalar <uint> (-1, -1, "genomeSAindexNbases", &genomeSAindexNbases));        
     parArray.push_back(new ParameterInfoScalar <uint> (-1, -1, "genomeChrBinNbits", &genomeChrBinNbits));        
     parArray.push_back(new ParameterInfoScalar <uint> (-1, -1, "genomeSAsparseD", &genomeSAsparseD));        
+    parArray.push_back(new ParameterInfoScalar <uint> (-1, -1, "genomeSuffixLengthMax", &genomeSuffixLengthMax));        
 
     //read
     parArray.push_back(new ParameterInfoVector <string> (-1, -1, "readFilesIn", &readFilesIn));
@@ -81,7 +82,7 @@ Parameters::Parameters() {//initalize parameters info
     parArray.push_back(new ParameterInfoScalar <string>     (-1, -1, "outSAMmode", &outSAMmode));
     parArray.push_back(new ParameterInfoScalar <string>     (-1, -1, "outSAMstrandField", &outSAMstrandField));
     parArray.push_back(new ParameterInfoVector <string>     (-1, -1, "outSAMattributes", &outSAMattributes));
-    parArray.push_back(new ParameterInfoScalar <string>     (-1, -1, "outSAMunmapped", &outSAMunmapped));
+    parArray.push_back(new ParameterInfoVector <string>     (-1, -1, "outSAMunmapped", &outSAMunmapped.mode));
     parArray.push_back(new ParameterInfoScalar <string>     (-1, -1, "outSAMorder", &outSAMorder));
     parArray.push_back(new ParameterInfoScalar <string>     (-1, -1, "outSAMprimaryFlag", &outSAMprimaryFlag));
     parArray.push_back(new ParameterInfoScalar <string>     (-1, -1, "outSAMreadID", &outSAMreadID));
@@ -566,6 +567,13 @@ void Parameters::inputParameters (int argInN, char* argIn[]) {//input parameters
                 mkdir(outBAMsortTmpDir.c_str(),runDirPerm);  
             };                
         } else if (outSAMtype.at(0)=="SAM") {
+            if (outSAMtype.size()>1)
+            {
+                ostringstream errOut;
+                errOut <<"EXITING because of fatal PARAMETER error: --outSAMtype SAM can cannot be combined with "<<outSAMtype.at(1)<<" or any other options\n";
+                errOut <<"SOLUTION: re-run STAR with with '--outSAMtype SAM' only, or with --outSAMtype BAM Unsorted|SortedByCoordinate\n";
+                exitWithError(errOut.str(), std::cerr, inOut->logMain, EXIT_CODE_PARAMETER, *this);                
+            };
             outSAMbool=true;
             if (outStd=="SAM") {
                 inOut->outSAM = & std::cout;
@@ -574,7 +582,7 @@ void Parameters::inputParameters (int argInN, char* argIn[]) {//input parameters
                 inOut->outSAM = & inOut->outSAMfile;
             };
         } else if (outSAMtype.at(0)=="None") {
-            //nothin to do, all flags are already false                
+            //nothing to do, all flags are already false                
         } else {
             ostringstream errOut;
             errOut <<"EXITING because of fatal input ERROR: unknown value for the first word of outSAMtype: "<< outSAMtype.at(0) <<"\n";
@@ -1072,7 +1080,7 @@ void Parameters::inputParameters (int argInN, char* argIn[]) {//input parameters
     
     //chimeric
     chimPar.filter.genomicN=false;
-    for (int ii=0; ii<chimFilter.size(); ii++)
+    for (uint ii=0; ii<chimFilter.size(); ii++)
     {
         if (chimFilter.at(ii)=="banGenomicN")
         {
@@ -1090,7 +1098,7 @@ void Parameters::inputParameters (int argInN, char* argIn[]) {//input parameters
         };
     };
     
-    for (int ii=0; ii<readNameSeparator.size(); ii++)
+    for (uint ii=0; ii<readNameSeparator.size(); ii++)
     {
         if (readNameSeparator.at(ii)=="space")
         {
@@ -1117,6 +1125,39 @@ void Parameters::inputParameters (int argInN, char* argIn[]) {//input parameters
     //genome parameters
     genomeChrBinNbases=1LLU<<genomeChrBinNbits;
     
+    //outSAMunmapped
+    outSAMunmapped.yes=false;
+    outSAMunmapped.within=false;    
+    outSAMunmapped.keepPairs=false;
+    if (outSAMunmapped.mode.at(0)=="None")
+    {//nothing to do
+    } else if (outSAMunmapped.mode.at(0)=="Within")
+    {
+        outSAMunmapped.yes=true;
+        outSAMunmapped.within=true;
+    } else 
+    {
+        ostringstream errOut;
+        errOut << "EXITING because of fatal PARAMETERS error: unrecognized first word of --outSAMunmapped="<<outSAMunmapped.mode.at(0)<<"\n";
+        errOut << "SOLUTION: use allowed options: None OR Within";
+        exitWithError(errOut.str(),std::cerr, inOut->logMain, EXIT_CODE_PARAMETER, *this);
+    };
+    
+    for (uint ii=1;ii<outSAMunmapped.mode.size();ii++)
+    {
+        if (outSAMunmapped.mode.at(0)=="Within")
+        {
+            outSAMunmapped.keepPairs=true;
+        } else 
+        {
+            ostringstream errOut;
+            errOut << "EXITING because of fatal PARAMETERS error: unrecognized option in of --outSAMunmapped="<<outSAMunmapped.mode.at(ii)<<"\n";
+            errOut << "SOLUTION: use allowed option: KeepPairs";
+            exitWithError(errOut.str(),std::cerr, inOut->logMain, EXIT_CODE_PARAMETER, *this);
+        };    
+    };
+    
+    ////////////////////////////////////////////////
     inOut->logMain << "Finished loading and checking parameters\n" <<flush;
 };
 
@@ -1209,9 +1250,10 @@ void Parameters::chrInfoLoad() {//find chrStart,Length,nChr from Genome G
         exitWithError(errOut.str(),std::cerr, inOut->logMain, EXIT_CODE_INPUT_FILES, *this);
     };
     
+    char chrInChar[1000];
+    
     while (chrStreamIn.good()) {
         string chrIn;
-        char chrInChar[1000];
         chrStreamIn.getline(chrInChar,1000);
         chrIn=chrInChar;
         if (chrIn=="") break;
diff --git a/source/Parameters.h b/source/Parameters.h
index 479b740..f302ef5 100644
--- a/source/Parameters.h
+++ b/source/Parameters.h
@@ -44,6 +44,7 @@ class Parameters {
         uint genomeSAsparseD;//sparsity=distance between indices
         uint genomeInsertL; //total length of the sequence to be inserted on the fly
         uint genomeInsertChrIndFirst; //index of the first inserted chromosome
+        uint genomeSuffixLengthMax; //maximum length of the suffixes, has to be longer than read length
         
         //binning,windows,anchors
         uint genomeChrBinNbits, genomeChrBinNbases, chrBinN, *chrBin;
@@ -114,7 +115,7 @@ class Parameters {
         //SAM output
         string outBAMfileCoordName, outBAMfileUnsortedName, outQuantBAMfileName;        
         string samHeader, samHeaderHD, samHeaderSortedCoord;
-        string outSAMmode, outSAMstrandField,  outSAMunmapped, outSAMorder, outSAMprimaryFlag;
+        string outSAMmode, outSAMstrandField,  outSAMorder, outSAMprimaryFlag;
         vector<string> outSAMattributes, outSAMheaderHD, outSAMheaderPG;
         vector<string> outSAMattrRGline,outSAMattrRGlineSplit,outSAMattrRG;
         uint outSAMmultNmax,outSAMattrIHstart;
@@ -137,6 +138,14 @@ class Parameters {
         {
             vector <string> mode;
             bool yes;
+            bool within;//output unmapped reads within SAM/BAM files
+            bool keepPairs;//keep mates together
+        } outSAMunmapped;
+        
+        struct
+        {
+            vector <string> mode;
+            bool yes;
             bool KeepOnlyAddedReferences;
         } outSAMfilter;
         
diff --git a/source/ReadAlign_alignBAM.cpp b/source/ReadAlign_alignBAM.cpp
index 6254dde..b7c1737 100644
--- a/source/ReadAlign_alignBAM.cpp
+++ b/source/ReadAlign_alignBAM.cpp
@@ -168,21 +168,39 @@ int ReadAlign::alignBAM(Transcript const &trOut, uint nTrOut, uint iTrOut, uint
         int MAPQ=0;
         uint32 attrN=0;
         char attrOutArray[BAM_ATTR_MaxSize];
-        uint trimL1, trimR1;
+        uint trimL1=0, trimR1=0;
 
         if (alignType>=0) {//this mate is unmapped
-            if (mateMapped!=NULL && mateMapped[imate]) continue; //this mate was mapped, do not record it aws unmapped
+            if (mateMapped!=NULL && mateMapped[imate]) continue; //this mate was mapped, do not record it as unmapped
             samFLAG=0x4;
             if (P->readNmates==2) {//paired read
                 samFLAG+=0x1 + (imate==0 ? 0x40 : 0x80);
                 if (mateMapped[1-imate]) {//mate mapped
-                    if (trBest->Str!=1-imate) samFLAG+=0x20;//mate strand reverted
+                    if (trOut.Str!=(1-imate))
+                    {//mate strand reverted
+                       samFLAG+=0x20;
+                    };
+                    mateChr=trOut.Chr;
+                    trChrStart=P->chrStart[mateChr];
+                    mateStart=trOut.exons[0][EX_G] - trChrStart;
+                    mateStrand= trOut.Str == (1-imate) ? 0 : 1;
+
+                    if (!trOut.primaryFlag) 
+                    {//mapped mate is not primary
+                        samFLAG+=0x100;
+                    };                      
+      
                 } else {//mate unmapped
                     samFLAG+=0x8;
                 };
             };
 
             if (readFilter=='Y') samFLAG+=0x200; //not passing quality control
+            
+            if (mateMapped[1-imate])
+            {//mate is mapped, fill the infromation from trOut
+          
+            };
                             
             Mate=imate;
             Str=Mate;
@@ -190,12 +208,12 @@ int ReadAlign::alignBAM(Transcript const &trOut, uint nTrOut, uint iTrOut, uint
             attrN=0;
             attrN+=bamAttrArrayWriteInt(0,"NH",attrOutArray+attrN,P);
             attrN+=bamAttrArrayWriteInt(0,"HI",attrOutArray+attrN,P);
-            attrN+=bamAttrArrayWriteInt(trBest->maxScore,"AS",attrOutArray+attrN,P);
-            attrN+=bamAttrArrayWriteInt(trBest->nMM,"nM",attrOutArray+attrN,P);
+            attrN+=bamAttrArrayWriteInt(trOut.maxScore,"AS",attrOutArray+attrN,P);
+            attrN+=bamAttrArrayWriteInt(trOut.nMM,"nM",attrOutArray+attrN,P);
             attrN+=bamAttrArrayWrite((to_string((uint) alignType)).at(0), "uT",attrOutArray+attrN); //cast to uint is only necessary for old compilers
             if (!P->outSAMattrRG.empty()) attrN+=bamAttrArrayWrite(P->outSAMattrRG.at(readFilesIndex),"RG",attrOutArray+attrN);                        
 
-        } else {            
+        } else {//this mate is mapped
             if (flagPaired) {//paired reads
                 samFLAG=0x0001;
                 if (iExMate==trOut.nExons-1) {//single mate
diff --git a/source/ReadAlign_chimericDetection.cpp b/source/ReadAlign_chimericDetection.cpp
index ca0aa9f..e26c46c 100644
--- a/source/ReadAlign_chimericDetection.cpp
+++ b/source/ReadAlign_chimericDetection.cpp
@@ -3,6 +3,8 @@
 #include "Transcript.h"
 #include "ReadAlign.h"
 #include "BAMfunctions.h"
+#include "blocksOverlap.h"
+
 //#include "SequenceFuns.h"
 //#include "stitchWindowAligns.h"
 //#include "sjSplitAlign.cpp"
@@ -35,15 +37,15 @@ bool ReadAlign::chimericDetection() {
     //stich only the best window with one of the lower score ones for now - do not stich 2 lower score windows
     //stitch only one window on each end of the read
 
-    if (P->chimSegmentMin>0 && nW>1 && trBest->rLength >= P->chimSegmentMin \
+    if (P->chimSegmentMin>0 && trBest->rLength >= P->chimSegmentMin \
             && ( trBest->exons[trBest->nExons-1][EX_R] + trBest->exons[trBest->nExons-1][EX_L] + P->chimSegmentMin <= Lread \
               || trBest->exons[0][EX_R] >= P->chimSegmentMin ) \
-             && trBest->nextTrScore+P->outFilterMultimapScoreRange < trBest->maxScore \
              && trBest->intronMotifs[0]==0 && (trBest->intronMotifs[1]==0 || trBest->intronMotifs[2]==0) ) { 
             //there is unmapped space at the start/end, and the main window is not a multimapping window, and non non-canonical junctions, and consistend junction motif
         int chimScoreBest=0,chimScoreNext=0;
         trChim[0]=*trBest;
 
+        
         uint roStart1=trBest->Str==0 ? trBest->exons[0][EX_R] : Lread - trBest->exons[trBest->nExons-1][EX_R] - trBest->exons[trBest->nExons-1][EX_L];
         uint roEnd1=trBest->Str==0 ? trBest->exons[trBest->nExons-1][EX_R] + trBest->exons[trBest->nExons-1][EX_L] - 1 : Lread - trBest->exons[0][EX_R] - 1;
         if (roStart1>readLength[0]) roStart1--;
@@ -97,15 +99,24 @@ bool ReadAlign::chimericDetection() {
                     && ( diffMates || ( (roEnd1 + P->chimSegmentReadGapMax + 1) >= roStart2 && (roEnd2 + P->chimSegmentReadGapMax + 1) >= roStart1 ) ) ) {
                     
                     int chimScore=trBest->maxScore + trAll[iW][iWt]->maxScore - (int)chimOverlap; //subtract overlap to avoid double counting
+                    
+                    uint overlap1=0;
+                    if (iWt>0 && chimScoreBest>0) 
+                    {//overlap between chimeric candidate segment and the best chimeric segment so far. Maybe non-zero only if both are in the same window.
+                        overlap1=blocksOverlap(trChim[1],*trAll[iW][iWt]);
+                    };
 
                     if (chimScore > chimScoreBest && chimScore >= P->chimScoreMin && chimScore+P->chimScoreDropMax >= (int) (readLength[0]+readLength[1]) ) {
                         trChim[1]=*trAll[iW][iWt];                                      
-                        chimScoreNext=chimScoreBest;
+                        if (overlap1==0)
+                        {
+                            chimScoreNext=chimScoreBest;
+                        };
                         chimScoreBest=chimScore;
                         trChim[1].roStart = trChim[1].roStr ==0 ? trChim[1].rStart : Lread - trChim[1].rStart - trChim[1].rLength;
                         trChim[1].cStart  = trChim[1].gStart - P->chrStart[trChim[1].Chr];      
                         chimStrBest=chimStr1;
-                    } else if (chimScore>chimScoreNext) {//replace the nextscore if it's not the best one and is higher than the previous one
+                    } else if (chimScore>chimScoreNext && overlap1==0) {//replace the nextscore if it's not the best one and is higher than the previous one
                         chimScoreNext=chimScore;              
                     };
                 };
@@ -289,14 +300,18 @@ bool ReadAlign::chimericDetection() {
     //             cout << readName <<"\t"<< (trChim[0].Str==0 ? chimJ1-chimJ0 : chimJ0-chimJ1) << "\t"<< (chimMotif>=0 ? P->alignIntronMax :  P->alignMatesGapMax)<<"\n";
     //             cout <<  chimRepeat0 <<"\t"<<trChim[0].exons[e0][EX_L]<<"\n";
             //chimeric alignments output
-            if ( chimN==2 && trChim[0].exons[e0][EX_L]>=P->chimJunctionOverhangMin+chimRepeat0 \
-                    && trChim[1].exons[e1][EX_L]>=P->chimJunctionOverhangMin+chimRepeat1 \
+            if ( chimN==2 \
                     && ( trChim[0].Str!=trChim[1].Str ||  trChim[0].Chr!=trChim[1].Chr \
                     || (trChim[0].Str==0 ? chimJ1-chimJ0+1LLU : chimJ0-chimJ1+1LLU) > (chimMotif>=0 ? P->alignIntronMax :  P->alignMatesGapMax) ) )
-            {//unique chimeras only && minOverhang1 
-             //&& minOverhang2
+            {//
              //&& (diff str || diff chr || 
              //|| gap > (alignIntronMax,alignMatesGapMax) ) negative gap = very large # because of uint
+                
+                if (chimMotif>=0 && \
+                     (trChim[0].exons[e0][EX_L]<P->chimJunctionOverhangMin+chimRepeat0 || trChim[1].exons[e1][EX_L]<P->chimJunctionOverhangMin+chimRepeat1) )
+                {//filter out linear junctions that are very close to chimeric junction
+                    return false;
+                };
                         
                 chimRecord=true; //chimeric alignment was recorded
 
@@ -332,7 +347,7 @@ bool ReadAlign::chimericDetection() {
                     uint bamBytesTotal=0;//estimate of the total size of all bam records, for output buffering
                     uint mateChr,mateStart;
                     uint8_t mateStrand;
-                    for (int itr=0;itr<(int)chimN;itr++) {//generate bam for all chimeric pieces
+                    for (uint itr=0;itr<chimN;itr++) {//generate bam for all chimeric pieces
                         if (chimType==2) {//PE, encompassing
                             mateChr=trChim[1-itr].Chr;
                             mateStart=trChim[1-itr].exons[0][EX_G];
@@ -340,7 +355,7 @@ bool ReadAlign::chimericDetection() {
                             alignType=-1;
                         } else {//spanning chimeric alignment, could be PE or SE
                             mateChr=-1;mateStart=-1;mateStrand=0;//no need fot mate info unless this is the supplementary alignment
-                            if (chimRepresent==itr) {
+                            if (chimRepresent==(int)itr) {
                                 alignType=-1; //this is representative part of chimeric alignment, record is as normal; if encompassing chimeric junction, both are recorded as normal
                                 bamIrepr=( (itr%2)==(trChim[itr].Str) && chimType!=3) ? bamN+1 : bamN;//this is the mate that is chimerically split
                             } else {//"supplementary" chimeric segment
diff --git a/source/ReadAlign_mapOneRead.cpp b/source/ReadAlign_mapOneRead.cpp
index bd231fb..e226fdd 100644
--- a/source/ReadAlign_mapOneRead.cpp
+++ b/source/ReadAlign_mapOneRead.cpp
@@ -49,15 +49,14 @@ int ReadAlign::mapOneRead() {
 //               #else
                 if (flagDirMap || istart>0) {//check if the 1st piece in reveree direction does not need to be remapped
                     Lmapped=0;
-                    uint Nrep2=0;
                     while ( istart*Lstart + Lmapped + P->minLmap < splitR[1][ip] ) {//map until unmapped portion is <=minLmap
 
                         uint Shift = iDir==0 ? ( splitR[0][ip] + istart*Lstart + Lmapped ) : \
                                    ( splitR[0][ip] + splitR[1][ip] - istart*Lstart-1-Lmapped); //choose Shift for forward or reverse
 
-//                         uint seedLength=min(splitR[1][ip] - Lmapped - istart*Lstart, P->seedSearchLmax);
+                        //uint seedLength=min(splitR[1][ip] - Lmapped - istart*Lstart, P->seedSearchLmax);
                         uint seedLength=splitR[1][ip] - Lmapped - istart*Lstart;
-                        Nrep2=maxMappableLength2strands(Shift, seedLength, iDir, 0, P->nSA-1, L, splitR[2][ip]);//L=max mappable length, unique or multiple
+                        maxMappableLength2strands(Shift, seedLength, iDir, 0, P->nSA-1, L, splitR[2][ip]);//L=max mappable length, unique or multiple
                         if (iDir==0 && istart==0 && Lmapped==0 && Shift+L == splitR[1][ip] ) {//this piece maps full length and does not need to be mapped from the opposite direction
                             flagDirMap=false;
                         };
diff --git a/source/ReadAlign_multMapSelect.cpp b/source/ReadAlign_multMapSelect.cpp
index 8267306..5b6230d 100644
--- a/source/ReadAlign_multMapSelect.cpp
+++ b/source/ReadAlign_multMapSelect.cpp
@@ -73,46 +73,55 @@ void ReadAlign::multMapSelect() {//select multiple mappers from all transcripts
 //         delete [] s;        
 //     };
     
-    if (P->outMultimapperOrder.random && nTr>1)
-    {//randomize order of the alignments
+    if (nTr==1)
+    {//unique mappers
+        trMult[0]->primaryFlag=true;
+    } else
+    {//multimappers
         int nbest=0;
-        for (uint itr=0; itr<nTr; itr++)
-        {//move the best aligns to the top of the list
-            if ( trMult[itr]->maxScore == maxScore ) 
-            {
-                swap(trMult[itr],trMult[nbest]);
-                ++nbest;
+        if (P->outMultimapperOrder.random || P->outSAMmultNmax != (uint) -1 )
+        {//bring the best alignment to the top of the list. TODO sort alignments by the score?
+            for (uint itr=0; itr<nTr; itr++)
+            {//move the best aligns to the top of the list
+                if ( trMult[itr]->maxScore == maxScore ) 
+                {
+                    swap(trMult[itr],trMult[nbest]);
+                    ++nbest;
+                };
             };
         };
-        //shuffle separately the best aligns, and the rest
-        for (int itr=nbest-1; itr>=1; itr--)
-        {//Fisher-Yates-Durstenfeld-Knuth shuffle
-            int rand1=int (rngUniformReal0to1(rngMultOrder)*itr+0.5);
-            swap(trMult[itr],trMult[rand1]);
-        };
-        for (int itr=nTr-nbest-1; itr>=1; itr--)
-        {//Fisher-Yates-Durstenfeld-Knuth shuffle
-            int rand1=int (rngUniformReal0to1(rngMultOrder)*itr+0.5);
-            swap(trMult[nbest+itr],trMult[nbest+rand1]);
-        };
-    };    
-    
-    if ( P->outSAMprimaryFlag=="AllBestScore" )
-    {
-        for (uint itr=0; itr<nTr; itr++)
-        {//mark all best score aligns as primary
-            if ( trMult[itr]->maxScore == maxScore ) trMult[itr]->primaryFlag=true; 
-        };
-    } else if (P->outMultimapperOrder.random) 
-    {
-        for (uint itr=0; itr<nTr; itr++)
-        {//mark as primary the first one in the random ordered list
-            if ( trMult[itr]->maxScore == maxScore ) trMult[itr]->primaryFlag=true;
-            break;
+        if (P->outMultimapperOrder.random)
+        {//shuffle separately the best aligns, and the rest
+            for (int itr=nbest-1; itr>=1; itr--)
+            {//Fisher-Yates-Durstenfeld-Knuth shuffle
+                int rand1=int (rngUniformReal0to1(rngMultOrder)*itr+0.5);
+                swap(trMult[itr],trMult[rand1]);
+            };
+            for (int itr=nTr-nbest-1; itr>=1; itr--)
+            {//Fisher-Yates-Durstenfeld-Knuth shuffle
+                int rand1=int (rngUniformReal0to1(rngMultOrder)*itr+0.5);
+                swap(trMult[nbest+itr],trMult[nbest+rand1]);
+            };
+        };    
+
+        if ( P->outSAMprimaryFlag=="AllBestScore" )
+        {
+            for (uint itr=0; itr<nTr; itr++)
+            {//mark all best score aligns as primary
+                if ( trMult[itr]->maxScore == maxScore ) trMult[itr]->primaryFlag=true; 
+            };
+        } else if (P->outMultimapperOrder.random || P->outSAMmultNmax != (uint) -1) 
+        {
+            trMult[0]->primaryFlag=true;//mark as primary the first one in the random ordered list: best scoring aligns are already in front of the list
+    //         for (uint itr=0; itr<nTr; itr++)
+    //         {
+    //             if ( trMult[itr]->maxScore == maxScore ) trMult[itr]->primaryFlag=true;
+    //             break;
+    //         };
+        } else
+        {//old way
+            trBest->primaryFlag=true;    
         };
-    } else
-    {//old way
-        trBest->primaryFlag=true;    
     };
 };
 
diff --git a/source/ReadAlign_outputAlignments.cpp b/source/ReadAlign_outputAlignments.cpp
index 141d809..9714fb3 100644
--- a/source/ReadAlign_outputAlignments.cpp
+++ b/source/ReadAlign_outputAlignments.cpp
@@ -10,8 +10,15 @@ void ReadAlign::outputAlignments() {
     bool mateMapped[2]={false,false};
     
     if (P->outFilterBySJoutStage<=1) {//no chimeric output for stage=2
-        if ( chimericDetection() && P->chimOutType=="WithinBAM" ) return; 
-        //if chimeric alignment was recorded in main BAM files, it contains the representative portion, so non-chimeric aligmnent is not output
+        if ( chimericDetection() )
+        {
+            statsRA.chimericAll++;
+            if ( P->chimOutType=="WithinBAM" ) 
+            {
+                //if chimeric alignment was recorded in main BAM files, it contains the representative portion, so non-chimeric aligmnent is not output
+                return; 
+            };
+        };
     };
     
     if ( nW==0 ) {//no good windows
@@ -96,33 +103,96 @@ void ReadAlign::outputAlignments() {
                 exitWithError(errOut.str(), std::cerr, P->inOut->logMain, EXIT_CODE_BUG, *P);                    
             };            
             
-            uint nTrOut=min(P->outSAMmultNmax,nTr); //number of to write to SAM/BAM files
+            uint nTrOut=min(P->outSAMmultNmax,nTr); //number of to write to SAM/BAM files       
             
-            if (P->outSAMbool && outSAMfilterYes){//SAM output
-                for (uint iTr=0;iTr<nTrOut;iTr++) {//write all transcripts
+            for (uint iTr=0;iTr<nTrOut;iTr++) 
+            {//write all transcripts         
+                //mate mapped = true if a mate was present in one of the trancsripts
+                mateMapped[trMult[iTr]->exons[0][EX_iFrag]]=true;
+                mateMapped[trMult[iTr]->exons[trMult[iTr]->nExons-1][EX_iFrag]]=true; 
+                
+                //mateMapped1 = true if a mate is present in this transcript
+                bool mateMapped1[2]={false,false};
+                mateMapped1[trMult[iTr]->exons[0][EX_iFrag]]=true;
+                mateMapped1[trMult[iTr]->exons[trMult[iTr]->nExons-1][EX_iFrag]]=true; 
+                
+                if (P->outSAMbool && outSAMfilterYes)
+                {//SAM output
                     outBAMbytes+=outputTranscriptSAM(*(trMult[iTr]), nTr, iTr, (uint) -1, (uint) -1, 0, -1, NULL, outSAMstream);
+                    if (P->outSAMunmapped.keepPairs && P->readNmates>1 && ( !mateMapped1[0] || !mateMapped1[1] ) )
+                    {//keep pairs && paired reads && one of the mates not mapped in this transcript  
+                        outBAMbytes+= outputTranscriptSAM(*(trMult[iTr]), 0, 0, (uint) -1, (uint) -1, 0, 4, mateMapped1, outSAMstream);        
+                    };
                 };
-            };
             
-            if ((P->outBAMunsorted || P->outBAMcoord) && outSAMfilterYes) {//BAM output
-                for (uint iTr=0;iTr<nTrOut;iTr++) {//write all transcripts                     
+                if ((P->outBAMunsorted || P->outBAMcoord) && outSAMfilterYes) 
+                {//BAM output
                     alignBAM(*(trMult[iTr]), nTr, iTr, P->chrStart[trMult[iTr]->Chr], (uint) -1, (uint) -1, 0, -1, NULL, P->outSAMattrOrder,outBAMoneAlign, outBAMoneAlignNbytes);
-                    for (uint imate=0; imate<P->readNmates; imate++) {//output each mate
-                        if (P->outBAMunsorted) outBAMunsorted->unsortedOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], (imate>0 || iTr>0) ? 0 : (outBAMoneAlignNbytes[0]+outBAMoneAlignNbytes[1])*2*nTrOut);
-                        if (P->outBAMcoord)    outBAMcoord->coordOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], (iReadAll<<32) | (iTr<<8) | trMult[iTr]->exons[0][EX_iFrag] );                        
+                    
+                    if (P->outBAMunsorted)
+                    {//unsorted
+                        for (uint imate=0; imate<P->readNmates; imate++) 
+                        {//output each mate
+                            outBAMunsorted->unsortedOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], (imate>0 || iTr>0) ? 0 : (outBAMoneAlignNbytes[0]+outBAMoneAlignNbytes[1])*2*nTrOut);
+                        };
+                        if (P->outSAMunmapped.keepPairs && P->readNmates>1 && ( !mateMapped1[0] || !mateMapped1[1] ) )                        
+                        {//keep pairs && paired reads && one of the mates not mapped in this transcript  
+                            alignBAM(*trMult[iTr], 0, 0, P->chrStart[trMult[iTr]->Chr], (uint) -1, (uint) -1, 0, 4, mateMapped1, P->outSAMattrOrder, outBAMoneAlign, outBAMoneAlignNbytes);
+                            for (uint imate=0; imate<P->readNmates; imate++) 
+                            {//output each mate
+                                outBAMunsorted->unsortedOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], (imate>0 || iTr>0) ? 0 : (outBAMoneAlignNbytes[0]+outBAMoneAlignNbytes[1])*2*nTrOut);
+                            };                            
+                        };
                     };
-                };             
+                    
+                    if (P->outBAMcoord)
+                    {//coordinate sorted
+                        for (uint imate=0; imate<P->readNmates; imate++) 
+                        {//output each mate
+                            outBAMcoord->coordOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], (iReadAll<<32) | (iTr<<8) | trMult[iTr]->exons[0][EX_iFrag] );                        
+                        };
+                    };
+                    
+                };
             };
                         
-            if (P->outSJfilterReads=="All" || nTr==1) {
+            if (P->readNmates>1 && !(mateMapped[0] && mateMapped[1]) ) 
+            {
+                unmapType=4;
+            };
+            
+            if (unmapType==4)
+            {//output unmapped end for single-end alignments
+                if (P->outSAMbool && !P->outSAMunmapped.keepPairs && outSAMfilterYes)
+                {
+                    outBAMbytes+= outputTranscriptSAM(*trBest, 0, 0, (uint) -1, (uint) -1, 0, unmapType, mateMapped, outSAMstream);        
+                };
+                
+                if ( (P->outBAMcoord || (P->outBAMunsorted && !P->outSAMunmapped.keepPairs) ) && outSAMfilterYes) 
+                {//BAM output
+                    alignBAM(*trBest, 0, 0, P->chrStart[trBest->Chr], (uint) -1, (uint) -1, 0, unmapType, mateMapped, P->outSAMattrOrder, outBAMoneAlign, outBAMoneAlignNbytes);
+                    for (uint imate=0; imate<P->readNmates; imate++) 
+                    {//alignBAM output is empty for mapped mate, but still need to scan through it
+                        if (P->outBAMunsorted && !P->outSAMunmapped.keepPairs)
+                        {
+                            outBAMunsorted->unsortedOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], imate>0 ? 0 : outBAMoneAlignNbytes[0]+outBAMoneAlignNbytes[1]);
+                        };
+                        if (P->outBAMcoord)
+                        {//KeepPairs option does not affect for sorted BAM since we do not want multiple entries for the same unmapped read
+                            outBAMcoord->coordOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], iReadAll);                                        
+                        };
+                    };
+                };
+            };
+            
+            if (P->outSJfilterReads=="All" || nTr==1) 
+            {
                 uint sjReadStartN=chunkOutSJ->N;        
-                for (uint iTr=0;iTr<nTr;iTr++) {//write all transcripts
+                for (uint iTr=0;iTr<nTr;iTr++) 
+                {//write all transcripts
                     outputTranscriptSJ (*(trMult[iTr]), nTr, chunkOutSJ, sjReadStartN);            
                 };
             };
-            mateMapped[trBest->exons[0][EX_iFrag]]=true;
-            mateMapped[trBest->exons[trBest->nExons-1][EX_iFrag]]=true;        
-            if (P->readNmates>1 && !(mateMapped[0] && mateMapped[1]) ) unmapType=4;
             
             if ( P->quant.geCount.yes ) 
             {
@@ -141,24 +211,29 @@ void ReadAlign::outputAlignments() {
         statsRA.unmappedAll++;
     };
 
-    if (unmapType>=0 && P->outSAMunmapped=="Within") {//unmapped read, at least one mate
-        if (P->outBAMunsorted || P->outBAMcoord || P->quant.trSAM.yes) {//BAM output
-            uint mateChr=(uint) -1, mateStart=(uint) -1;
-            uint8_t mateStr=0;
-            if (unmapType==4) {//other mate is mapped, record its position
-                mateChr=trBest->Chr;
-                mateStart=trBest->exons[0][EX_G];
-                mateStr=(uint8_t) (trBest->Str!=trBest->exons[0][EX_iFrag]);
-            };
-            alignBAM(*trBest, 0, 0, P->chrStart[trBest->Chr], mateChr, mateStart, mateStr, unmapType, mateMapped, P->outSAMattrOrder, outBAMoneAlign, outBAMoneAlignNbytes);
-            for (uint imate=0; imate<P->readNmates; imate++) {//output each mate
-                if (P->outBAMunsorted) outBAMunsorted->unsortedOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], imate>0 ? 0 : outBAMoneAlignNbytes[0]+outBAMoneAlignNbytes[1]);
-                //TODO clean for single-end alignments of PE reads
-                if ( P->quant.trSAM.yes && unmapType!=4) outBAMquant->unsortedOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], imate>0 ? 0 : outBAMoneAlignNbytes[0]+outBAMoneAlignNbytes[1]);
-                if (P->outBAMcoord)    outBAMcoord->coordOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], iReadAll);                                        
+    if ( P->outSAMunmapped.within && unmapType>=0 && unmapType<4 ) {//output unmapped within && unmapped read && both mates unmapped
+        if (P->outBAMcoord || P->outBAMunsorted || P->quant.trSAM.yes) 
+        {//BAM output
+            alignBAM(*trBest, 0, 0, P->chrStart[trBest->Chr], (uint) -1, (uint) -1, 0, unmapType, mateMapped, P->outSAMattrOrder, outBAMoneAlign, outBAMoneAlignNbytes);
+            for (uint imate=0; imate<P->readNmates; imate++) 
+            {//output each mate
+                if (P->outBAMunsorted)
+                {
+                    outBAMunsorted->unsortedOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], imate>0 ? 0 : outBAMoneAlignNbytes[0]+outBAMoneAlignNbytes[1]);
+                };
+                if (P->quant.trSAM.yes)
+                {
+                    outBAMquant->unsortedOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], imate>0 ? 0 : outBAMoneAlignNbytes[0]+outBAMoneAlignNbytes[1]);
+                };
+                if (P->outBAMcoord)
+                {
+                    outBAMcoord->coordOneAlign(outBAMoneAlign[imate], outBAMoneAlignNbytes[imate], iReadAll);                                        
+                };
             };
         };
-        if (P->outSAMbool) {
+        
+        if (P->outSAMbool) 
+        {//output SAM
             outBAMbytes+= outputTranscriptSAM(*trBest, 0, 0, (uint) -1, (uint) -1, 0, unmapType, mateMapped, outSAMstream);        
         };        
     };
diff --git a/source/ReadAlign_outputTranscriptSAM.cpp b/source/ReadAlign_outputTranscriptSAM.cpp
index f2bcade..6f3f7c1 100644
--- a/source/ReadAlign_outputTranscriptSAM.cpp
+++ b/source/ReadAlign_outputTranscriptSAM.cpp
@@ -8,32 +8,46 @@ uint ReadAlign::outputTranscriptSAM(Transcript const &trOut, uint nTrOut, uint i
     
     uint outStreamPos0=(uint)outStream->tellp();
     
-    if (unmapType>=0) {//unmapped reads: SAM
-        for (uint imate=0;imate<P->readNmates;imate++) {//cycle over mates
-            if (!mateMapped[imate]) {
+    if (unmapType>=0) 
+    {//unmapped reads: SAM
+        for (uint imate=0;imate<P->readNmates;imate++)
+        {//cycle over mates
+            if (!mateMapped[imate])
+            {
                 uint16 samFLAG=0x4;
-                if (P->readNmates==2) {//paired read
+                if (P->readNmates==2) 
+                {//paired read
                     samFLAG+=0x1 + (imate==0 ? 0x40 : 0x80);
-                    if (mateMapped[1-imate]) {//mate mapped
-                        if (trBest->Str!=1-imate) samFLAG+=0x20;//mate strand reverted
-                    } else {//mate unmapped
+                    if (mateMapped[1-imate]) 
+                    {//mate mapped
+                        if ( trOut.Str != (1-imate) ) 
+                        {
+                            samFLAG+=0x20;//mate strand reverted
+                        };
+                    } else 
+                    {//mate unmapped
                         samFLAG+=0x8;
                     };
                 };
 
                 if (readFilter=='Y') samFLAG+=0x200; //not passing quality control
                 
+                if (mateMapped[1-imate] && !trOut.primaryFlag) 
+                {//mapped mate is not primary
+                    samFLAG+=0x100;
+                };
+                
                 *outStream << readName+1 <<"\t"<< samFLAG \
                         <<"\t"<< '*' <<"\t"<< '0' <<"\t"<< '0' <<"\t"<< '*';
 
                 if (mateMapped[1-imate]) {//mate is mapped
-                    *outStream <<"\t"<< P->chrName[trBest->Chr] <<"\t"<< trBest->exons[0][EX_G] + 1 - P->chrStart[trBest->Chr];
+                    *outStream <<"\t"<< P->chrName[trOut.Chr] <<"\t"<< trOut.exons[0][EX_G] + 1 - P->chrStart[trOut.Chr];
                 } else {
                     *outStream <<"\t"<< '*' <<"\t"<< '0';
                 };
 
                 *outStream <<"\t"<< '0' <<"\t"<< Read0[imate] <<"\t"<< (readFileType==2 ? Qual0[imate]:"*") \
-                        <<"\tNH:i:0" <<"\tHI:i:0" <<"\tAS:i:"<<trBest->maxScore <<"\tnM:i:"<<trBest->nMM<<"\tuT:A:" <<unmapType;
+                        <<"\tNH:i:0" <<"\tHI:i:0" <<"\tAS:i:"<<trOut.maxScore <<"\tnM:i:"<<trOut.nMM<<"\tuT:A:" <<unmapType;
                 if (!P->outSAMattrRG.empty()) *outStream<< "\tRG:Z:" <<P->outSAMattrRG.at(readFilesIndex); 
                 *outStream <<"\n";
                 
@@ -243,7 +257,7 @@ uint ReadAlign::outputTranscriptSAM(Transcript const &trOut, uint nTrOut, uint i
             };      
             tagMD+=to_string(matchN);
         };
-        for (int ii=0;ii<P->outSAMattrOrder.size();ii++) {
+        for (uint ii=0;ii<P->outSAMattrOrder.size();ii++) {
             switch (P->outSAMattrOrder[ii]) {
                 case ATTR_NH:
                     *outStream <<"\tNH:i:" << nTrOut;
diff --git a/source/ReadAlign_quantTranscriptome.cpp b/source/ReadAlign_quantTranscriptome.cpp
index 4bbe6a7..5619b47 100644
--- a/source/ReadAlign_quantTranscriptome.cpp
+++ b/source/ReadAlign_quantTranscriptome.cpp
@@ -2,6 +2,7 @@
 #include "ReadAlign.h"
 #include "Transcript.h"
 #include "serviceFuns.cpp"
+#include <random>
 
 uint ReadAlign::quantTranscriptome (Transcriptome *Tr, uint nAlignG, Transcript **alignG, Transcript *alignT) {
     uint nAlignT=0;    
@@ -62,6 +63,8 @@ uint ReadAlign::quantTranscriptome (Transcriptome *Tr, uint nAlignG, Transcript
 //         };
     };
     
+    alignT[int(rngUniformReal0to1(rngMultOrder)*nAlignT)].primaryFlag=true;
+    
     for (uint iatr=0;iatr<nAlignT;iatr++) {//write all transcripts
 //         alignBAM(alignT[iatr], nAlignT, iatr, 0, (uint) -1, (uint) -1, 0, -1, NULL, outBAMoneAlign, outBAMoneAlignNbytes);
 //         outBAMarray1+=bamBytes;
diff --git a/source/ReadAlign_stitchPieces.cpp b/source/ReadAlign_stitchPieces.cpp
index b78523b..25fa8c4 100644
--- a/source/ReadAlign_stitchPieces.cpp
+++ b/source/ReadAlign_stitchPieces.cpp
@@ -288,7 +288,7 @@ std::time(&timeStart);
         trA.maxScore=0;
         
         trAll[iW1]=trArrayPointer+trNtotal;
-        if (trNtotal+P->alignTranscriptsPerWindowNmax > P->alignTranscriptsPerReadNmax) {
+        if (trNtotal+P->alignTranscriptsPerWindowNmax >= P->alignTranscriptsPerReadNmax) {
             P->inOut->logMain << "WARNING: not enough space allocated for transcript. Did not process all windows for read "<< readName+1 <<endl;
             P->inOut->logMain <<"   SOLUTION: increase alignTranscriptsPerReadNmax and re-run\n" << flush;
             break;
diff --git a/source/ReadAlign_stitchWindowSeeds.cpp b/source/ReadAlign_stitchWindowSeeds.cpp
index 58a5845..43d20c2 100644
--- a/source/ReadAlign_stitchWindowSeeds.cpp
+++ b/source/ReadAlign_stitchWindowSeeds.cpp
@@ -50,7 +50,7 @@ void ReadAlign::stitchWindowSeeds (uint iW, uint iWrec, char* R, char* Q, char*
                 score2=WA[iW][iS1][WA_Length];                
                 if ( WA[iW][iS1][WA_rStart]>0 \
                      && extendAlign(R, Q, G, WA[iW][iS1][WA_rStart]-1, WA[iW][iS1][WA_gStart]-1, -1, -1, WA[iW][iS1][WA_rStart], 100000, 0, outFilterMismatchNmaxTotal, P->outFilterMismatchNoverLmax, \
-                                    P->alignEndsType.ext[trA1.exons[0][EX_iFrag]][trA.Str], &trA1) ) {//if could extend
+                                    P->alignEndsType.ext[WA[iW][iS1][WA_iFrag]][trA.Str], &trA1) ) {//if could extend
                     score2 += trA1.maxScore;
                 };
                 if (score2 > scoreSeedBest[iS1] ) {
@@ -74,7 +74,8 @@ void ReadAlign::stitchWindowSeeds (uint iW, uint iWrec, char* R, char* Q, char*
        uint tG2=WA[iW][iS1][WA_gStart]+WA[iW][iS1][WA_Length];
        if ( tR2 < Lread-1 \
             && extendAlign(R, Q, G, tR2, tG2, +1, +1, Lread-tR2, 100000, scoreSeedBestMM[iS1], outFilterMismatchNmaxTotal, P->outFilterMismatchNoverLmax, \
-                           P->alignEndsType.ext[WA[iW][iS1][WA_iFrag]][1-trA.Str], &trA1) ) {//if could extend
+                           P->alignEndsType.ext[WA[iW][iS1][WA_iFrag]][1-trA.Str], &trA1) ) 
+       {//extend to the right
            scoreSeedBest[iS1]+=trA1.maxScore;
        };
        if (scoreSeedBest[iS1]>scoreBest) {//record new best transcript
@@ -129,16 +130,12 @@ void ReadAlign::stitchWindowSeeds (uint iW, uint iWrec, char* R, char* Q, char*
         trA.maxScore=Score;
         
         {//extend to the left
-            uint iS1=seedChain[seedN-1];
             trA1=*trInit;
             if ( trA.exons[0][EX_R]>0 \
                  && extendAlign(R, Q, G, trA.exons[0][EX_R]-1, trA.exons[0][EX_G]-1, -1, -1, trA.exons[0][EX_R], 100000, 0, outFilterMismatchNmaxTotal, P->outFilterMismatchNoverLmax, 
                     P->alignEndsType.ext[trA.exons[0][EX_iFrag]][trA.Str], &trA1) ) {//if could extend
 
                 trA.add(&trA1);
-//                 trA.maxScore += trA1.maxScore + WA[iW][iS1][WA_Length];
-//                 trA.nMatch += trA1.nMatch + WA[iW][iS1][WA_Length]; //# of matches
-//                 trA.nMM += trA1.nMM;
 
                 trA.exons[0][EX_R] -=  trA1.extendL;
                 trA.exons[0][EX_G] -=  trA1.extendL;
@@ -155,7 +152,7 @@ void ReadAlign::stitchWindowSeeds (uint iW, uint iWrec, char* R, char* Q, char*
             uint tG2=WA[iW][iS1][WA_gStart]+WA[iW][iS1][WA_Length];
             if ( tR2 < Lread \
                 && extendAlign(R, Q, G, tR2, tG2, +1, +1, Lread-tR2, 100000, scoreSeedBestMM[iS1], outFilterMismatchNmaxTotal, P->outFilterMismatchNoverLmax, \
-                    P->alignEndsType.ext[trA1.exons[trA.nExons-1][EX_iFrag]][1-trA.Str], &trA1) ) {//if could extend
+                    P->alignEndsType.ext[trA.exons[trA.nExons-1][EX_iFrag]][1-trA.Str], &trA1) ) {//if could extend
                     trA.add(&trA1);                    
                     trA.exons[trA.nExons-1][EX_L] += trA1.extendL;//extend the length of the last exon
             };
@@ -252,8 +249,8 @@ void ReadAlign::stitchWindowSeeds (uint iW, uint iWrec, char* R, char* Q, char*
         
         //check exons lenghts including repeats, do not report a transcript with short exons
 //        for (uint isj=0;isj<trA.nExons-1;isj++) {//check exons for min length, if they precede a junction
-//            if ( trA.canonSJ[isj]>=0 && \
-//               ( trA.exons[isj][EX_L] < P->alignSJoverhangMin + trA.shiftSJ[isj][0] \
+//            if ( trA.canonSJ[isj]>=0 &&
+//               ( trA.exons[isj][EX_L] < P->alignSJoverhangMin + trA.shiftSJ[isj][0] 
 //              || trA.exons[isj+1][EX_L] < P->alignSJoverhangMin + trA.shiftSJ[isj][1]) ) {                  
 //                return;//do not record this transcript in wTr
 //            };
diff --git a/source/STAR.cpp b/source/STAR.cpp
index 3f4106d..86df04e 100644
--- a/source/STAR.cpp
+++ b/source/STAR.cpp
@@ -159,7 +159,7 @@ int main(int argInN, char* argIn[]) {
         P->inOut->logProgress << timeMonthDayTime(rawtime) <<"\tFinished 1st pass mapping\n";
         *P->inOut->logStdOut << timeMonthDayTime(rawtime) << " ..... Finished 1st pass mapping\n" <<flush;
         ofstream logFinal1 ( (P->twoPass.dir + "/Log.final.out").c_str());
-        g_statsAll.reportFinal(logFinal1,P1);
+        g_statsAll.reportFinal(logFinal1);
 
         P->twoPass.pass2=true;//starting the 2nd pass
         P->twoPass.pass1sjFile=P->twoPass.dir+"/SJ.out.tab";
@@ -376,7 +376,7 @@ int main(int argInN, char* argIn[]) {
                 };
                 sleep(0.1);
             };
-            BAMbinSortByCoordinate(ibin,binN,binS,P->runThreadN,P->outBAMsortTmpDir,P->inOut->outBAMfileCoord, P);
+            BAMbinSortByCoordinate(ibin,binN,binS,P->runThreadN,P->outBAMsortTmpDir, P);
             #pragma omp critical
             totalMem-=newMem;//"release" RAM
         };
@@ -412,7 +412,7 @@ int main(int argInN, char* argIn[]) {
     g_statsAll.progressReport(P->inOut->logProgress);
     P->inOut->logProgress  << "ALL DONE!\n"<<flush;
     P->inOut->logFinal.open((P->outFileNamePrefix + "Log.final.out").c_str());
-    g_statsAll.reportFinal(P->inOut->logFinal,P);
+    g_statsAll.reportFinal(P->inOut->logFinal);
     *P->inOut->logStdOut << timeMonthDayTime(g_statsAll.timeFinish) << " ..... Finished successfully\n" <<flush;
     
     P->inOut->logMain  << "ALL DONE!\n"<<flush;
@@ -421,6 +421,7 @@ int main(int argInN, char* argIn[]) {
     P->closeReadsFiles();//this will kill the readFilesCommand processes if necessary
     mainGenome.~Genome(); //need explicit call because of the 'delete P->inOut' below, which will destroy P->inOut->logStdOut
     
+    ///@todo create Destructor to destroy P->inOut
     delete P->inOut; //to close files
     delete P;
     
diff --git a/source/STARmanual.tex b/source/STARmanual.tex
deleted file mode 100644
index ab4107a..0000000
--- a/source/STARmanual.tex
+++ /dev/null
@@ -1,451 +0,0 @@
-\documentclass[12pt]{article}
-\usepackage[colorlinks]{hyperref}
-%\usepackage{color}
-\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
-\usepackage{tabularx}
-\usepackage{longtable}
-\usepackage{hanging}
-\usepackage{changepage}
-\usepackage[top=1in, bottom=1in, left=0.7in, right=0.7in]{geometry}
-\usepackage{enumitem}
-
-\begin{document}
-\hypersetup{
-	linkcolor=MidnightBlue
-	}
-
-
-%%%%%% global commands
-% option name, no reference
-\newcommand{\optn}[1]{\textcolor{violet}{\texttt{--#1}}}
-% option name
-\newcommand{\opt}[1]{\hyperlink{#1}{\optn{#1}}}
-%option value, to be replaces with user value
-\newcommand{\optv}[1]{\texttt{#1}}
-\newcommand{\optvr}[1]{\textit{\texttt{#1}}}
-
-\newcommand{\code}[1]{\texttt{#1}}
-	
-\newcommand{\codelines}[1]{\begin{adjustwidth}{0.5in}{0in}
-	\raggedright\texttt{#1}
-	\end{adjustwidth}}
-
-\newcommand{\ofilen}[1]{\texttt{#1}}
-
-\newcommand{\sechyperref}[1]{\hyperref[#1]{Section \ref{#1}. \nameref{#1}}}
-
-\title{STAR manual 2.4.2a}
-\author{Alexnder Dobin\\
-dobin at cshl.edu}
-\maketitle
-\tableofcontents
-
-\newpage
-
-%\section{Introduction}
-\section{Getting started.}
-\subsection{Installation.}
-
-STAR source code and binaries can be downloaded from GitHub: named releases from \url{https://github.com/alexdobin/STAR/releases}, or the master branch from \url{https://github.com/alexdobin/STAR}. The pre-compiled STAR executables are  located \code{bin/} subdirectory. The \code{static} executables are the easisest to use, as they are statically compiled and are not dependents on external libraries. 
-
-To compile STAR from sources run \code{make} in the source directory for a Linux-like environment, or run \code{make STARforMac} for Mac OS X. This will produce the executable \code{'STAR'} inside the source directory.
-
-\subsubsection{Installation - in depth and troubleshooting.}
-STAR is compiled with gcc c++ compiler and depends only on standard gcc libraries. Some generic instructions on installing correct gcc environments are given below.
-
-\paragraph{Ubuntu.}\hfill
-\codelines{\$ sudo apt-get update\\
-\$ sudo apt-get install g++\\
-\$ sudo apt-get install make
-}
-
-\paragraph{Red Hat, CentOS, Fedora.}\hfill
-\codelines{\$ sudo yum update\\
-      \$ sudo yum install make\\
-      \$ sudo yum install gcc-c++\\
-      \$ sudo yum install glibc-static
-   }
-   
-\paragraph{SUSE.}\hfill
-\codelines {\$ sudo zypper update\\
-       \$ sudo zypper in gcc gcc-c++
-}
-
-\paragraph{Mac OS X.\newline}
-Current versions of Mac OS X Xcode are shipped with Clang replacing the standard gcc compiler. Presently, standard Clang does not support OpenMP which creates problems for STAR compilation. One option to avoid this problem is to install gcc (preferrably using \code{homebrew} package manager). Another option is to add OpenMP functionality to Clang.
-
-\subsection{Basic workflow.}
-Basic STAR workflow consists of 2 steps:
-\begin{enumerate}
-\item
-Generating genome indexes files (see \sechyperref{Generating_genome_indexes}.\newline
-In this step user supplied the reference genome sequences (FASTA files) and annotations (GTF file), from which STAR generate genome indexes that are utilized in the 2nd (mapping) step. The genome indexes are saved to disk and need only be generated \textbf{once} for each genome/annotation combination. A limited collection of STAR genomes is available from \url{http://labshare.cshl.edu/shares/gingeraslab/www-data/dobin/STAR/STARgenomes/}, however, it is strongly recommended that users gen [...]
-\item
-Mapping reads to the genome (see \sechyperref{Running_mapping_jobs}).\newline
-In this step user supplies the genome files generated in the 1st step, as well as the RNA-seq reads (sequences) in the form of FASTA or FASTQ files. STAR maps the reads to the genome, and writes several output files, such as alignments (SAM/BAM), mapping summary statistics, splice junctions, unmapped reads, signal (wiggle) tracks etc. Output files are described in \sechyperref{Output_files}. Mapping is controlled by a variety of input parameters (options) that are described in brief in \ [...]
-\end{enumerate}
-
-STAR command line has the following format:\codelines{
-STAR --option1-name option1-value(s)--option2-name option2-value(s) ...
-}
-If an option can accept multiple values, they are separated by spaces, and in a few cases - by commas.
-
-
-\section{Generating genome indexes.}\label{Generating_genome_indexes}
-\subsection{Basic options.}
-The basic options to generate genome indices are as follows:
-\codelines{\opt{runThreadN} \optvr{NumberOfThreads}\\
-\opt{runMode} \optv{genomeGenerate}\\
-\opt{genomeDir} \optvr{/path/to/genomeDir}\\
-\opt{genomeFastaFiles} \optvr{/path/to/genome/fasta1 /path/to/genome/fasta2 ...} \\
-\opt{sjdbGTFfile} \optvr{/path/to/annotations.gtf}\\
-\opt{sjdbOverhang} \optvr{ReadLength-1}\\
-}
-
-\begin{itemize}
-\item[]
-\opt{runThreadN} option defines the number of threads to be used for genome generation, it has to be set to the number of available cores on the server node.
-
-\item[]
-\opt{runMode} \optv{genomeGenerate} option directs STAR to run genome indices generation job.
-
-\opt{genomeDir} specifies path to the directory (henceforth called "genome directory" where the genome indices are stored. This directory has to be created (with \code{mkdir}) before STAR run and needs to writing permissions. The file system needs to have at least 100GB of disk space available for a typical mammalian genome. It is recommended to remove all files from the genome directory before running the genome generation step. This directory path will have to be supplied at the mappin [...]
-
-\item[]
-\opt{genomeFastaFiles} specified one or more FASTA files with the genome reference sequences. Multiple reference sequences (henceforth called “chromosomes”) are allowed for each fasta file. You can rename the chromosomes’ names in the chrName.txt keeping the order of the chromosomes in the file: the names from this file will be used in all output alignment files (such as .sam). The tabs are not allowed in chromosomes’ names, and spaces are not recommended.
-
-\item[]
-\opt{sjdbGTFfile} specifies the path to the file with annotated transcripts in the standard GTF format. STAR will extract splice junctions from this file and use them to greatly improve accuracy of the mapping. While this is optional, and STAR can be run without annotations, using annotations is \textbf{highly recommended} whenever they are available. Starting from 2.4.1a, the annotations can also be included on the fly at the mapping step.
-
-\item[]
-\opt{sjdbOverhang} specifies the length of the genomic sequence around the annotated junction to be used in constructing the splice junctions database. Ideally, this length should be equal to the \optvr{ReadLength-1}, where \optvr{ReadLength} is the length of the reads. For instance, for Illumina 2x100b paired-end reads, the ideal value is 100-1=99. In case of reads of varying length, the ideal value is \optvr{max(ReadLength)-1}. \textbf{In most cases, the default value of 100 will work  [...]
-\end{itemize}
-
-Genome files comprise binary genome sequence, suffix arrays, text chromosome names/lengths, splice junctions coordinates, and transcripts/genes information. Most of these files use internal STAR format and are not intended to be utilized by the end user. It is strongly \textbf{not recommended} to change any of these file with one exception: you can rename the chromosome names in the chrName.txt keeping the order of the chromosomes in the file: the names from this file will be used in all [...]
-
-\subsection{Advanced options.}
-\subsubsection{Which chromosomes/scaffolds/patches to include?}
-It is strongly recommended to include major chromosomes (e.g., for human chr1-22,chrX,chrY,chrM,) as well as un-placed and un-localized scaffolds. Typically, un-placed/un-localized scaffolds add just a few MegaBases to the genome length, however, a substantial number of reads may map to ribosomal RNA (rRNA) repeats on these scaffolds. These reads would be reported as unmapped if the scaffolds are not included in the genome, or, even worse, may be aligned to wrong loci on the chromosomes. [...]
-
-Examples of acceptable genome sequence files:
-\begin{itemize}
-\item \textbf{ENSEMBL:} files marked with .dna.primary.assembly, such as:
-\url{ftp://ftp.ensembl.org/pub/release-77/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz}
-\item \textbf{NCBI:} "no alternative - analysis set": \url{ftp://ftp.ncbi.nlm.nih.gov/genbank/genomes/Eukaryotes/vertebrates_mammals/Homo_sapiens/GRCh38/seqs_for_alignment_pipelines/GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.gz}
-\end{itemize} 
-\subsubsection{Which annotations to use?}
-The use of the most comprehensive annotations for a given species is strongly recommended. Very importantly, chromosome names in the annotations GTF file have to match chromosome names in the FASTA genome sequence files. For example, one can use ENSEMBL FASTA files with ENSEMBL GTF files, and UCSC FASTA files with UCSC FASTA files. However, since UCSC uses \code{chr1, chr2, ...} naming convention, and ENSEMBL uses \code{1, 2, ...} naming, the ENSEMBL and UCSC FASTA and GTF files cannot b [...]
-
-For mouse and human, the Gencode annotations are recommended: \url{http://www.gencodegenes.org/}.
-
-\subsubsection{Annotations in GFF format.}
-In addition to the aforementioned options, for GFF3 formatted annotations you need to use \opt{sjdbGTFtagExonParentTranscript} \optv{Parent}. In general, for \opt{sjdbGTFfile} files STAR only processes lines which have \opt{sjdbGTFfeatureExon} (=\optv{exon} by default) in the 3rd field (column). The exons are assigned to the transcripts using parent-child relationship defined by the \opt{sjdbGTFtagExonParentTranscript} (=\optv{transcript\_id} by default) GTF/GFF attribute.
-
-\subsubsection{Using a list of annotated junctions.}
-STAR can also utilize annotations formatted as a list of splice junctions coordinates in a text file: \opt{sjdbFileChrStartEnd} \optvr{/path/to/sjdbFile.txt}. This file should contains 4 columns separated by tabs:
-\codelines{Chr \quad{\textbackslash}tab\quad Start \quad{\textbackslash}tab\quad End \quad{\textbackslash}tab\quad Strand=+/-/.}
-Here Start and End are first and last bases of the introns (1-based chromosome coordinates).
-This file can be used in addition to the \opt{sjdbGTFfile}, in which case STAR will extract junctions from both files.
-
-Note, that the \opt{sjdbFileChrStartEnd} file can contain duplicate (identical) junctions, STAR will collapse (remove) duplicate junctions.
-
-\subsubsection{Very small genome.}
-For small genomes, the parameter \opt{genomeSAindexNbases} needs to be scaled down, with a typical value of \code{min(14, log2(GenomeLength)/2 - 1)}. For example, for 1~megaBase genome, this is equal to 9, for 100~kiloBase genome, this is equal to 7.
-
-\subsubsection{Genome with a large number of references.}
-If you are using a genome with a large (\textgreater 5,000) number of references (chrosomes/scaffolds), you may need to reduce the \opt{genomeChrBinNbits} to reduce RAM consumption. The following scaling is recommended: \opt{genomeChrBinNbits} = \code{min(18, log2(GenomeLength/NumberOfReferences))}. For example, for 3~gigaBase genome with 100,000 chromosomes/scaffolds, this is equal to 15.
-
-\section{Running mapping jobs.}\label{Running_mapping_jobs}
-\subsection{Basic options.}
-The basic options to run a mapping job are as follows:
-\codelines{\opt{runThreadN} \optvr{NumberOfThreads}\\
-\opt{genomeDir} \optvr{/path/to/genomeDir}\\
-\opt{readFilesIn} \optvr{/path/to/read1} [\optvr{/path/to/read2}]
-}
-
-\begin{itemize}
-\item[]
-%\opt{runThreadN} option defines the number of threads to be used for mapping, it has to be set to the number of available cores on the server node.
-
-\opt{genomeDir} specifies path to the genome directory where genome indices where generated (see \sechyperref{Generating_genome_indexes}).
-
-\item[]
-\opt{readFilesIn} name(s) (with path) of the files containing the sequences to be mapped (e.g. RNA-seq FASTQ files). If using Illumina paired-end reads, the \optvr{read1} and \optv{read2} files have to be supplied. STAR can process both FASTA and FASTQ files. Multi-line (i.e. sequence split in multiple lines) FASTA file are supported. If the read files are compressed, use the \opt{readFilesCommand} \optvr{UncompressionCommand} option, where \optvr{UncompressionCommand} is the un-compress [...]
-\code{\opt{readFilesCommand} \optv{zcat}}
-OR
-\code{\opt{readFilesCommand} \optv{gzip -c}}.
-For bzip2-compressed files, use
-\code{\opt{readFilesCommand} \optv{bzip2 -c}}.
-\end{itemize}
-
-\subsection{Advanced options.}
-There are many advanced options that control STAR mapping behavior. All options are briefly described in the Section \sechyperref{Description_of_all_options}. 
-
-\subsubsection{Using annotations at the mapping stage.}
-Since 2.4.1a, the annotations can  be included on the fly at the mapping step, without including them at the genome generation step. You can specify \opt{sjdbGTFfile} \optvr{/path/to/ann.gtf} and/or \opt{sjdbFileChrStartEnd} \optvr{/path/to/sj.tab}, as well as \opt{sjdbOverhang}, and any other \opt{sjdb*} options. The genome indices can be generated with or  without another set of annotations/junctions. In the latter case the new junctions will added to the old ones. STAR will insert the [...]
-
-\subsubsection{ENCODE options}
-An example of ENCODE standard options for long RNA-seq pipeline is given below:
-\begin{itemize}
-\item[]
-\opt{outFilterType}              BySJout\\
-reduces the number of "spurious" junctions
-\item[] 
-\opt{outFilterMultimapNmax}      20\\
-max number of multiple alignments allowed for a read: if exceeded, the read is considered unmapped
-\item[]
-\opt{alignSJoverhangMin}         8\\
-minimum overhang for unannotated junctions
-\item[]
-\opt{alignSJDBoverhangMin}       1\\
-minimum overhang for annotated junctions
-\item[]
-\opt{outFilterMismatchNmax}      999\\
-maximum number of mismatches per pair, large number switches off this filter
-\item[]
-%\opt{outFilterMismatchNoverReadLmax} 0.04\\
-max number of mismatches per pair relative to read length: for 2x100b, max number of mismatches is 0.06*200=8 for the paired read
-\item[]
-\opt{alignIntronMin}             20\\
-minimum intron length
-\item[]
-\opt{alignIntronMax}             1000000\\
-maximum intron length
-\item[]
-\opt{alignMatesGapMax}           1000000\\
-maximum genomic distance between mates
-\end{itemize}
-
-\section{Output files.}\label{Output_files}
-STAR produces multiple output files. All files have standard name, however, you can change the file prefixes using \opt{outFileNamePrefix} \optvr{/path/to/output/dir/prefix}. By default, this parameter is \optv{./}, i.e. all output files are written in the current directory.
-\subsection{Log files.}
-\begin{itemize}
-\item[]
-\ofilen{Log.out}: main log file with a lot of detailed information about the run. This file is most useful for troubleshooting and debugging.
-\item[]
-\ofilen{Log.progress.out}: reports job progress statistics, such as the number of processed reads, \% of mapped reads etc. It is updated in ~1 minute intervals.
-\item[]
-\ofilen{Log.final.out}: summary mapping statistics after mapping job is complete, very useful for quality control. The statistics are calculated for each read (single- or paired-end) and then summed or averaged over all reads. Note that STAR counts a paired-end read as one read, (unlike the samtools flagstat/idxstats, which count each mate separately). Most of the information is collected about the UNIQUE mappers (unlike samtools flagstat/idxstats which does not separate unique or multi- [...]
-\end{itemize}
-
-\subsection{SAM.}
-\ofilen{Aligned.out.sam} - alignments in standard SAM format.
-\subsubsection{Multimappers.}
-The number of loci Nmap a read maps to is given by \code{NH:i:}  field. Value of 1 corresponds to unique mappers, while values \textgreater1 corresponds to multi-mappers. \code{HI} attrbiutes enumerates multiple alignments of a read starting with 1.
-
-The mapping quality MAPQ (column 5) is 255 for uniquely mapping reads, and int(-10*log10(1-1/Nmap))  for multi-mapping reads. This scheme is same as the one used by TopHat and is compatible with Cufflinks. The default MAPQ=255 for the unique mappers maybe changed with \opt{outSAMmapqUnique} \optvr{Integer0to255} option to ensure compatibility with downstream tools such as GATK.
-
-For multi-mappers, all alignments except one are marked with 0x100 (secondary alignment) in the FLAG (column 2 of the SAM). The unmarked alignment is either the best one (i.e. highest scoring), or is randomly selected from the alignments of equal quality. This default behavior can be changed with \opt{outSAMprimaryFlag} \optv{AllBestScore} option, that will output all alignments with the best score as primary alignments (i.e. 0x100 bit in the FLAG unset).
-
-\subsubsection{SAM attributes.}
-The SAM attributes can be specified by the user using \opt{outSAMattributes} \optvr{A1 A2 A3 ...} option which accept a list of 2-character SAM attrbiutes. The implemented attrbutes are: \optv{NH HI NM MD AS nM jM jI XS}. By default, STAR outputs \optv{NH HI AS nM} attributes.
-\begin{itemize}
-\item[]
-\optv{NH HI NM MD} have standard meaning as defined in the SAM format specifications.
-\item[]
-\optv{AS} id the local alignment score (paired for paired-edn reads). 
-\item[]
-\optv{nM} is the number of mismatches per (paired) alignment, not to be confused with \optv{NM}, which is the number of mismatches in each mate.
-\item[]
-\optv{jM:B:c,M1,M2,...} intron motifs for all junctions (i.e. N in CIGAR): 0: non-canonical; 1: GT/AG, 2: CT/AC, 3: GC/AG, 4: CT/GC, 5: AT/AC, 6: GT/AT. If splice junctions database is used, and a junction is annotated, 20 is added to its motif value.
-\item[]
-\optv{jI:B:I,Start1,End1,Start2,End2,...} Start and End of introns for all junctions (1-based).
-\item[]
-\optv{jM jI} attributes require samtools 0.1.18 or later, and were reported to be incompatible with some downstream tools such as Cufflinks.
-\end{itemize}
-
-\subsubsection{Compatibility with Cufflinks/Cuffdiff.}
-For unstranded RNA-seq data, Cufflinks/Cuffdiff require spliced alignments with \optv{XS} strand attribute, which STAR will generate with \opt{outSAMstrandField} \optv{intronMotif} option. As required, the XS strand attribute will be generated for all alignments that contain splice junctions. The spliced alignments that have undefined strand (i.e. containing only non-canonical unannotated junctions) will be suppressed.
-
-If you have stranded RNA-seq data, you do not need to use any specific STAR options. Instead, you need to run Cufflinks with the library option \opt{library-type} options. For example, \code{cufflinks ... --library-type fr-firststrand} should be used for the “standard” dUTP protocol, including Illumina's stranded Tru-Seq. This option has to be used only for Cufflinks runs and not for STAR runs.
-
-In addition, it is recommended to remove the non-canonical junctions for Cufflinks runs using \opt{outFilterIntronMotifs} \optv{RemoveNoncanonical}.
-
-\subsection{Unsorted and sorted-by-coordinate BAM.}
-STAR can output alignments directly in binary BAM format, thus saving time on converting SAM files to BAM. It can also sort BAM files by coordinates, which is required by many downstream applications.
-\begin{itemize}
-\raggedright
-\item[]
-\opt{outSAMtype} \optv{BAM Unsorted}\\
-output unsorted \ofilen{Aligned.out.bam} file. The paired ends of an alignment are always adjacent, and multiple alignments of a read are adjacent as well. This "unsorted" file can be directly used with downstream software such as \code{HTseq}, without the need of name sorting. The order of the reads will match that of the input FASTQ(A) files only if one thread is used \opt{runThread} \optv{1}, and \opt{outFilterType} \opt{BySJout} is \textbf{not} used.
-\item[]
-\opt{outSAMtype} \optv{BAM SortedByCoordinate}\\
-output sorted by coordinate \ofilen{Aligned.sortedByCoord.out.bam} file, similar to \code{samtools sort} command.
-\item[]
-\opt{outSAMtype} \optv{BAM Unsorted SortedByCoordinate}\\
-output both unsorted and sorted files.
-\end{itemize}
-
-\subsection{Splice junctions.}
-\ofilen{SJ.out.tab} contains high confidence collapsed splice junctions in tab-delimited format. Note that STAR defines the junction start/end as intronic bases, while many other software define them as exonic bases. The columns have the following meaning:
-%\begin{enumerate}[label=\bfseries Exercise \arabic*:]
-\begin{itemize}[leftmargin=1in]
-\item[column 1:] chromosome
-\item[column 2:] first base of the intron (1-based)
-\item[column 3:] last base of the intron (1-based)
-\item[column 4:] strand (0: undefined, 1: +, 2: -)
-\item[column 5:] intron motif: 0: non-canonical; 1: GT/AG, 2: CT/AC, 3: GC/AG, 4: CT/GC, 5: AT/AC, 6: GT/AT
-\item[column 6:] 0: unannotated, 1: annotated (only  if splice junctions database is used)
-\item[column 7:] number of uniquely mapping reads crossing the junction
-\item[column 8:] number of multi-mapping reads crossing the junction
-\item[column 9:] maximum spliced alignment overhang 
-\end{itemize}
-The filtering for this output file is controlled by the \optn{outSJfilter*} parameters, as described in \sechyperref{Output_Filtering:_Splice_Junctions}.
-%\subsection{Wiggle/bedGraph.}
-
-\section{Chimeric and circular alignments.}
-To switch on detection of chimeric (fusion) alignments (in addition to normal mapping), \opt{chimSegmentMin} should be set to a positive value. Each chimeric alignment consists of two "segments". Each segment is non-chimeric on its own, but the segments are chimeric to each other (i.e. the segments belong to different chromosomes, or different strands, or are far from each other). Both segments may contain splice junctions, and one of the segments may contain portions of both mates. \opt [...]
-\subsection{STAR-Fusion.}
-STAR-Fusion is a software package for detecting fusion transcript from STAR chimeric output. It is developed and maintained by Brian Haas. Please visit its GitHub page for instructions and documentation: \url{https://github.com/STAR-Fusion/STAR-Fusion}.
-
-\subsection{Chimeric alignments in the main BAM files.}
-Chimeric alignments can be included together with normal alignments in the main (sorted or unsorted) BAM file(s) using \opt{chimOutType} \optv{WithinBAM}. In these files, formatting of chimeric alignments follows the latest SAM/BAM specifications.
-   
-\subsection{Chimeric alignments in \ofilen{Chimeric.out.sam} .}
-When chimeric detection is switched on, STAR will output normal alignments into \ofilen{Aligned.*.sam/bam}, and will output chimeric alignments into a separate file \ofilen{Chimeric.out.sam}. 
-Some reads may be output to both normal SAM/BAM files, and \ofilen{Chimeric.out.sam} for the following reason. STAR will output a non-chimeric alignment into \ofilen{Aligned.out.sam} with soft-clipping a portion of the read. If this portion is long enough, and it maps well and uniquely  somewhere else in the genome, there will also be a chimeric alignment output into \ofilen{Chimeric.out.sam}. For instance, if you have a paired-end read where the second mate can be split chimerically int [...]
-
-\subsection{Chimeric alignments in \ofilen{Chimeric.out.junction}}
-In addition to \ofilen{Chimeric.out.sam}, STAR will generate \ofilen{Chimeric.out.junction} file which maybe more convenient for downstream analysis.
-The format of this file is as follows. Every line contains one chimerically aligned read, e.g.:
-\begin{verbatim}
-chr22   23632601        +       chr9    133729450       +       1       0       0      
-SINATRA-0006:3:3:6387:5665#0    23632554   47M29S  133729451       47S29M40p76M
-\end{verbatim}
-
-The first 9 columns give information about the chimeric junction:
-\begin{itemize}[leftmargin=1in]
-\item[column 1:] chromosome of the donor
-\item[column 2:] first base of the intron of the donor (1-based)
-\item[column 3:] strand of the donor
-\item[column 4:] chromosome of the acceptor
-\item[column 5:] first base of the intron of the acceptor (1-based)
-\item[column 6:] strand of the acceptor
-\item[column 7:] junction type: -1=encompassing junction (between the mates), 1=GT/AG, 2=CT/AC
-\item[column 8:] repeat length to the left of the junction
-\item[column 9:] repeat length to the right of the junction
-\end{itemize}
-
-Columns 10-14 describe the alignments of the two chimeric segments, it is SAM like. Alignments are given with respect to the (+) strand
-\begin{itemize}[leftmargin=1in]
-\item[column 10:] read name
-\item[column 11:] first base of the first segment (on the + strand)
-\item[column 12:] CIGAR of the first segment
-\item[column 13:] first base of the second segment
-\item[column 14:] CIGAR of the second segment
-\end{itemize}
-
-Unlike standard SAM, both mates are recorded in one line here. The gap of length \code{L}  between the mates is marked by the \code{p} in the CIGAR string.
-If the mates overlap, \code{L<0}. 
-
-For strand definitions, when aligning paired end reads, the sequence of the second mate is reverse complemented.
-
-For encompassing junctions, i.e. junction type: -1=junction is between the mates, columns 2 and 5 represent the bounds on the chimeric junction loci. For the 1st mate, it will be the genomic base following the last 3' mapped base. For the 2nd mate (which is reverse complemented to have the same orientation as 1st mate), it will be the genomic base preceding the 5' mapped base. For example, if there is a chimeric junction that connects chr1/+strand/base1000 to chr2/+strand/base2000, and r [...]
-
-To filter chimeric junctions and find the number of reads supporting each junction you could use, for example:
-\begin{verbatim}
-cat Chimeric.out.junction | 
-awk '$1!="chrM" && $4!="chrM" && $7>0 && $8+$9<=5 {print $1,$2,$3,$4,$5,$6,$7,$8,$9}' | 
-sort | uniq -c | sort -k1,1rn
-\end{verbatim}
-This will keep only the canonical junctions with the repeat length less than 5 and will remove chimeras with mitochondrion genome.
-
-When I do it for one of our K562 runs, I get:
-\begin{verbatim}
-181 chr1    144676873       -       chr1    147917466       +       1       0       1
- 29 chr5    69515744        -       chr5    34182973        -       1       3       1
- 28 chr1    143910077       -       chr1    149459550       -       1       1       0
- 27 chr22   23632601        +       chr9    133729450       +       1       0       0
- 20 chr12   90313405        -       chr21   40684813        -       1       2       0
- 20 chr22   23632601        +       chr9    133655755       +       1       0       1
- 20 chr9    123636256       -       chr9    123578959       +       1       1       4
- 15 chr16   85589970        +       chr6    16762582        +       1       3       2
- 15 chr3    197348574       -       chr3    195392936       +       1       1       0
- 14 chr18   39584506        +       chr18   39560613        -       1       2       0
-\end{verbatim}
-Note that line 4 and 6 here are BCR/ABL fusions. You would need to filter these junctions further to see which of them connect known but not homologous genes. 
-
-
-\section{Output in transcript coordinates.}
-With \opt{quantMode} \optv{TranscriptomeSAM} option STAR will output alignments translated into transcript coordinates in the \ofilen{Aligned.toTranscriptome.out.bam} file (in addition to alignments in genomic coordinates in \ofilen{Aligned.*.sam/bam} files). These transcriptomic alignments can be used with various transcript quantification software that require reads to be mapped to transcriptome, such as RSEM or eXpress. For example, RSEM command line would look as follows: \codelines{ [...]
-Note, that STAR first aligns reads to entire genome, and only then searches for concordance between alignments and transcripts. I believe this approach might offer certain advantages compared to the alignment to transcriptome only, by not forcing the alignments to annotated transcripts.
-
-By default, the output satisfies RSEM requirements: soft-clipping or indels are not allowed. Use \opt{quantTranscriptomeBan} \optv{Singleend} to allow insertions, deletions ans soft-clips in the transcriptomic alignments, which can be used by some expression quantification software (e.g. eXpress). 
-
-\section{Counting number of reads per gene.}
-With \opt{quantMode} \optv{GeneCounts} option STAR will count number reads per gene while mapping. 
-A read is counted if it overlaps (1nt or more) one and only one gene. Both ends of the paired-end read are checked for overlaps. 
-The counts coincide with those produced by htseq-count with default parameters.
-This option requires annotations (GTF or GFF with --sjdbGTFfile option) used at the genome generation step, or at the mapping step.
-STAR outputs read counts per gene into ReadsPerGene.out.tab file with 4 columns which correspond to different strandedness options:
-\begin{itemize}[leftmargin=1in]
-\item[column 1:] gene ID
-\item[column 2:] counts for unstranded RNA-seq
-\item[column 3:] counts for the 1st read strand aligned with RNA (htseq-count option -s yes)
-\item[column 4:] counts for the 2nd read strand aligned with RNA (htseq-count option -s reverse)
-\end{itemize}
-Select the output according to the strandedness of your data.
-Note, that if you have stranded data and choose one of the columns 3 or 4, the other column (4 or 3) will give you the count of antisense reads.
-With \opt{quantMode} \optv{TranscriptomeSAM} \optv{GeneCounts}, and get both the \ofilen{Aligned.toTranscriptome.out.bam} and \ofilen{ReadsPerGene.out.tab} outputs.
-
-
-\section{2-pass mapping.}
-
-For the most sensitive novel junction discovery,I would recommend running STAR in the 2-pass mode. It does not increase the number of detected novel junctions, but allows to detect more splices reads mapping to novel junctions. The basic idea is to run 1st pass of STAR mapping with the usual parameters, then collect the junctions detected in the first pass, and use them as "annotated" junctions for the 2nd pass mapping.
-
-\subsection{Multi-sample 2-pass mapping.}
-For a study with multiple samples, it is recommended to collect 1st pass junctions from all samples.
-\begin{enumerate}
-\item Run 1st mapping pass for all samples with "usual" parameters. Using annotations is recommended either a the genome generation step, or mapping step.
-\item Run 2nd mapping pass for all samples , listing SJ.out.tab files from all samples in \opt{sjdbFileChrStartEnd} \optvr{/path/to/sj1.tab /path/to/sj2.tab ...}.
-\end{enumerate}
-
-\subsection{Per-sample 2-pass mapping.}
-   
-Annotated junctions will be included in both the 1st and 2nd passes.
-To run STAR 2-pass mapping for each sample separately, use \opt{twopassMode} \optv{Basic} option. STAR will perform the 1st pass mapping, then it will automatically extract junctions, insert them into the genome index, and, finally, re-map all reads in the 2nd mapping pass. This option can be used with annotations, which can be included either at the run-time (see \#1), or at the genome generation step.
-
-\opt{twopass1readsN} defines the number of reads to be mapped in the 1st pass. The default and most sensitive approach is to set it to -1 (or make it bigger than the number of reads in the sample) - in which case all reads in the input read file(s) are used in the 1st pass. While it can reduce mapping time by $\sim40\%$, it is not recommended to use a small portion of the reads in the 1st step, since it will significantly reduce sensitivity for the low expressed novel junctions. The idea [...]
-
-\subsection{2-pass mapping with re-generated genome.}
-This is the original 2-pass method which involves genome re-generation step in-between 1st and 2nd passes. Since 2.4.1a, it is recommended to use the on the fly 2-pass options as described above.
-\begin{enumerate}
-\item Run 1st pass STAR for all samples with "usual" parameters. Genome indices generated with annotations are recommended.
-\item Collect all junctions detected in the 1st pass by merging \ofilen{SJ.out.tab} files from all runs. Filter the junctions by removing likelie false positives, e.g. junctions in the mitochondrion genome, or non-canonical junctions supported by a few reads. If you are using annotations, only novel junctions need to be considered here, since annotated junctions will be re-used in the 2nd pass anyway.
-\item Use the filtered list of junctions from the 1st pass with \opt{sjdbFileChrStartEnd} option, together with annotations (via \opt{sjdbGTFfile} option) to generate the new genome indices for the 2nd pass mapping. This needs to be done only once for all samples.
-\item Run the 2nd pass mapping for all samples with the new genome index.
-\end{enumerate}
-
-
-\section{Description of all options.}\label{Description_of_all_options}
-For each STAR version, the most up-to-date information about all STAR parameters can be found in the \code{parametersDefault} file in the STAR source directory. The parameters in the \code{parametersDefault}, as well as in the descriptions below, are grouped by function:
-\begin{itemize}
-\item[] Special attention has to be paid to parameters that start with  \optn{out*}, as they control the STAR output.
-\item[] In particular, \optn{outFilter*} parameters control the filtering of output alignments which[] you might want to tweak to fit your needs.
-\item[] Output of “chimeric” alignments is controlled by \optn{chim*} parameters.
-\item[] Genome generation is controlled by \optn{genome*} parameters.
-\item[] Annotations (splice junction database) are controlled by \optn{sjdb*} options at the genome generation step. 
-\item[] Tweaking \optn{score*}, \optn{align*},  \optn{seed*}, \optn{win*} parameters, which requires understanding of the STAR alignment algorithm, is recommended only for advanced users.
-\end{itemize}
-
-Below, allowed parameter values are typed in magenta, and default values - in blue.
-
-
-
-
-\newcommand{\pright}[1]{\begin{flushright} \begin{minipage}{0.8\textwidth}\raggedright #1 \end{minipage} \end{flushright}}
-
-\newcommand{\optSection}[1]{\subsection{#1}}
-\newcommand{\optName}[1]{\hypertarget{#1}{\textcolor{violet}{\texttt{--#1}}}}
-\newcommand{\optValue}[1]{\pright{\textcolor[rgb]{0,0.5,0}{default: \texttt{#1}}}}
-\newcommand{\optLine}[1]{\pright{#1}}
-\newenvironment{optTable}{}{}
-\newenvironment{optOptTable}{\begin{flushright} \begin{minipage}{0.75\textwidth}\raggedright }{\end{minipage}\end{flushright}}
-
-\newcommand{\optOpt}[1]{\textcolor{blue}{\texttt{#1}}\par}
-\newcommand{\optOptLine}[1]{{\hangpara{0.3in}{0}#1\par}}
-
-\input{parametersDefault.tex}
-
-
-\end{document}
diff --git a/source/Stats.cpp b/source/Stats.cpp
index 61bc30e..bbbd51d 100644
--- a/source/Stats.cpp
+++ b/source/Stats.cpp
@@ -6,6 +6,7 @@ void Stats::resetN() {//zero all counters
     mappedMismatchesN = 0; mappedInsN = 0; mappedDelN = 0; mappedInsL = 0; mappedDelL = 0; mappedBases = 0;  mappedPortion = 0;
     mappedReadsU = 0; mappedReadsM = 0;
     unmappedOther = 0; unmappedShort = 0; unmappedMismatch = 0; unmappedMulti = 0; unmappedAll = 0;
+    chimericAll = 0;
     splicesNsjdb=0;
     for (uint ii=0; ii<SJ_MOTIF_SIZE; ii++) {
         splicesN[ii]=0;
@@ -24,7 +25,8 @@ void Stats::addStats(Stats &S) {//add S to Stats
     mappedInsL += S.mappedInsL; mappedDelL += S.mappedDelL; mappedBases += S.mappedBases;  mappedPortion += S.mappedPortion;
     mappedReadsU += S.mappedReadsU; mappedReadsM += S.mappedReadsM;
     unmappedOther += S.unmappedOther; unmappedShort += S.unmappedShort; unmappedMismatch += S.unmappedMismatch; unmappedMulti += S.unmappedMulti; unmappedAll += S.unmappedAll;
-    
+    chimericAll += S.chimericAll;
+            
     splicesNsjdb += S.splicesNsjdb;
     for (uint ii=0; ii<SJ_MOTIF_SIZE; ii++) {
         splicesN[ii] +=S.splicesN[ii];
@@ -92,7 +94,7 @@ void Stats::progressReport(ofstream &progressStream) {
     };
 };
 
-void Stats::reportFinal(ofstream &streamOut, Parameters *P) {    
+void Stats::reportFinal(ofstream &streamOut) {    
     int w1=50;
     time( &timeFinish);    
     
@@ -130,7 +132,11 @@ void Stats::reportFinal(ofstream &streamOut, Parameters *P) {
                <<setw(w1)<< "UNMAPPED READS:\n" \
                <<setw(w1)<< "% of reads unmapped: too many mismatches |\t"     << (readN>0 ? double(unmappedMismatch)/double(readN)*100 : 0) <<'%' <<"\n" \
                <<setw(w1)<< "% of reads unmapped: too short |\t"               << (readN>0 ? double(unmappedShort)/double(readN)*100 : 0) <<'%' <<"\n" \
-               <<setw(w1)<< "% of reads unmapped: other |\t"                   << (readN>0 ? double(unmappedOther)/double(readN)*100 :0) <<'%'<<"\n" <<flush;
+               <<setw(w1)<< "% of reads unmapped: other |\t"                   << (readN>0 ? double(unmappedOther)/double(readN)*100 :0) <<'%'<<"\n" \
+               <<setw(w1)<< "CHIMERIC READS:\n" \
+               <<setw(w1)<< "Number of chimeric reads |\t"                     << chimericAll <<"\n" \
+               <<setw(w1)<< "% of chimeric reads |\t"                          << (readN>0 ? double(chimericAll)/double(readN)*100 :0) <<'%'<<"\n" <<flush;
+
 };
 
 
diff --git a/source/Stats.h b/source/Stats.h
index 8b3d64b..0efe5f3 100644
--- a/source/Stats.h
+++ b/source/Stats.h
@@ -20,6 +20,8 @@ class Stats {
         uint splicesNsjdb;
         
         uint unmappedOther, unmappedShort, unmappedMismatch, unmappedMulti, unmappedAll;
+        
+        uint chimericAll;
 
         time_t timeStart, timeStartMap, timeLastReport, timeFinish;     
         
@@ -30,6 +32,6 @@ class Stats {
         void addStats(Stats &S);
         void progressReportHeader(ofstream &progressStream);
         void progressReport(ofstream &progressStream) ;
-        void reportFinal(ofstream &streamOut, Parameters *P);
+        void reportFinal(ofstream &streamOut);
 };
 #endif
diff --git a/source/SuffixArrayFuns.cpp b/source/SuffixArrayFuns.cpp
index f4837ac..c1ef95b 100644
--- a/source/SuffixArrayFuns.cpp
+++ b/source/SuffixArrayFuns.cpp
@@ -188,14 +188,15 @@ uint maxMappableLength(char** s, uint S, uint N, char* g, PackedArray& SA, uint
     return i2-i1+1;
 };
 
-uint suffixArraySearch(char** s2, uint S, uint N, char* G, PackedArray& SA, bool dirR, uint i1, uint i2, uint L, Parameters* P) {
+/*
+uint suffixArraySearch(char** s2, uint S, uint N, char* G, PackedArray& SA, uint i1, uint i2, uint L, Parameters* P) {
     // binary search in SA space
     // s[0],s[1] - sequence, complementary sequence
     // S - start offset
     // N - sequence length
     // g - genome sequence
     // SA - suffix array
-    // dirR - direction, true=froward, false=reverse!!!!!!!NOT WORKING
+    ///@todo dirR - direction, true=froward, false=reverse!!!!!!!NOT WORKING
     // i1,i2 = starting indices in SA    
     // L - starting length
     // output: SA index < searched string, i.e. g[SA[index]]<s<g[SA[index+1]]
@@ -271,6 +272,7 @@ uint suffixArraySearch(char** s2, uint S, uint N, char* G, PackedArray& SA, bool
     };
     return i1;
 };
+*/
 
 int compareRefEnds (uint64 SAstr,  uint64 gInsert, bool strG, bool strR, Parameters* P)
 {
@@ -328,7 +330,9 @@ uint compareSeqToGenome1(char** s2, uint S, uint N, uint L, char* g, PackedArray
         };
 //         if (s[ii]>g[ii]) {compRes=true;} else {compRes=false;};        
         return N; //exact match
-    } else if (!dirG) {
+    }
+    else
+    {
         char* s  = s2[1] + S + L;
         g += P->nGenome-1-SAstr - L;
         for (ii=0; (uint) ii < N-L; ii++)
diff --git a/source/SuffixArrayFuns.h b/source/SuffixArrayFuns.h
index efbeb50..273fe30 100644
--- a/source/SuffixArrayFuns.h
+++ b/source/SuffixArrayFuns.h
@@ -11,7 +11,6 @@ uint findMultRange(uint i3, uint L3, uint i1, uint L1, uint i1a, uint L1a, uint
 uint maxMappableLength(char** s, uint S, uint N, char* g, PackedArray& SA, uint i1, uint i2, bool dirR, uint& L, uint* indStartEnd, Parameters* P);
 void writePacked( char* a, uint jj, uint x);
 uint readPacked(char* a, uint jj);
-uint suffixArraySearch(char** s, uint S, uint N, char* g, PackedArray& SA, bool dirR, uint i1, uint i2, uint L, Parameters* P);
 uint suffixArraySearch1(char** s2, uint S, uint N, char* G, uint64 gInsert, PackedArray& SA, bool dirR, uint i1, uint i2, uint L, Parameters* P);
 int64 funCalcSAi(char* G, uint iL);
 uint funCalcSAiFromSA(char* G, PackedArray& SA, uint iSA, int L, Parameters* P, int & iL4);
diff --git a/source/Transcriptome_geneCountsAddAlign.cpp b/source/Transcriptome_geneCountsAddAlign.cpp
index 20820d7..f0a415f 100644
--- a/source/Transcriptome_geneCountsAddAlign.cpp
+++ b/source/Transcriptome_geneCountsAddAlign.cpp
@@ -44,7 +44,7 @@ void Transcriptome::geneCountsAddAlign(uint nA, Transcript **aAll) {//add alignm
                          } else if (gene1.at(itype)==-2) 
                          {
                              continue;//this align was already founf to be ambig for this strand
-                         } else if (gene1.at(itype)!=exG.g[e1]) {//another gene overlaps this read
+                         } else if (gene1.at(itype)!=(int32)exG.g[e1]) {//another gene overlaps this read
                              gene1[itype]=-2;//mark ambiguous
                          };//otherwise it's the same gene
                      };
diff --git a/source/Transcriptome_quantAlign.cpp b/source/Transcriptome_quantAlign.cpp
index 4667ca9..5db324c 100644
--- a/source/Transcriptome_quantAlign.cpp
+++ b/source/Transcriptome_quantAlign.cpp
@@ -20,6 +20,7 @@ int alignToTranscript(Transcript &aG, uint trS1, uint8 trStr1, uint32 *exSE1, ui
     ex1=ex1/2; //this is the first exon of the alignment
     
     aT.nExons=0;
+    aT.primaryFlag=false;
     
     aG.canonSJ[aG.nExons-1]=-999; //marks the last exons
     for (uint32 iab=0; iab<aG.nExons; iab++) {//scan through all blocks of the align
@@ -99,7 +100,7 @@ uint32 Transcriptome::quantAlign (Transcript &aG, Transcript *aTall) {
     uint32 nAtr=0; //number of alignments to the transcriptome
     
     //binary search through transcript starts
-    uint32 tr1=binarySearch1<uint>(aG.exons[0][EX_G], trS, nTr);
+    uint32 tr1=binarySearch1a<uint>(aG.exons[0][EX_G], trS, nTr);
     if (tr1==(uint32) -1) return 0; //alignment outside of range of all transcripts
     
     uint aGend=aG.exons[aG.nExons-1][EX_G];
diff --git a/source/VERSION b/source/VERSION
index 02ad3a4..43f76b5 100644
--- a/source/VERSION
+++ b/source/VERSION
@@ -1 +1 @@
-#define STAR_VERSION "STAR_2.5.0a"
+#define STAR_VERSION "STAR_2.5.1b"
diff --git a/source/bamRemoveDuplicates.cpp b/source/bamRemoveDuplicates.cpp
index d2c3b39..fd5e733 100644
--- a/source/bamRemoveDuplicates.cpp
+++ b/source/bamRemoveDuplicates.cpp
@@ -20,7 +20,7 @@ int funCompareNames(const void *a, const void *b) {//compare read names
     compareReturn(la,lb) else {
         char* ca=(char*) (pa+9);
         char* cb=(char*) (pb+9);
-        for (int ii=0;ii<la;ii++) {
+        for (uint32 ii=0;ii<la;ii++) {
             compareReturn(ca[ii],cb[ii]);
         };
         uint32 fa=pa[4]>>16;
@@ -98,7 +98,7 @@ int funCompareCoordFlagCigarSeq(const void *a, const void *b) {
             compareReturn((sa[ii/2]>>4),(sb[ii/2]>>4));
         };
     } else {
-        int ii=pa2[5]-g_bamRemoveDuplicatesMate2basesN;
+        uint32 ii=pa2[5]-g_bamRemoveDuplicatesMate2basesN;
         if (ii%2>0) {
             compareReturn((sa[ii/2]&15),(sb[ii/2]&15));
             ++ii;
diff --git a/source/blocksOverlap.cpp b/source/blocksOverlap.cpp
index 4068414..881b5d5 100644
--- a/source/blocksOverlap.cpp
+++ b/source/blocksOverlap.cpp
@@ -1,6 +1,6 @@
 #include "blocksOverlap.h"
 
-uint blocksOverlap(Transcript &t1, Transcript &t2) {//calculate overlap between blocak of two transcripts
+uint blocksOverlap(Transcript &t1, Transcript &t2) {//calculate overlap between blocks of two transcripts
     
     uint i1=0, i2=0, nOverlap=0;
     while (i1<t1.nExons && i2<t2.nExons) {//scan through all exons
diff --git a/source/extendAlign.cpp b/source/extendAlign.cpp
index fdcdad3..1dde38e 100644
--- a/source/extendAlign.cpp
+++ b/source/extendAlign.cpp
@@ -23,7 +23,7 @@ if (extendToEnd) {//end to end extension
         iS=dR*iExt;
         iG=dG*iExt;
 
-        if ((gStart+iG)==-1 || G[iG]==5) {//prohibit extension through chr boundary
+        if ((gStart+iG)==(uint)(-1) || G[iG]==5) {//prohibit extension through chr boundary
             trA->extendL=0;
             trA->maxScore=-999999999;
             trA->nMatch=0;
@@ -61,7 +61,7 @@ for (int i=0;i<(int) L;i++) {
     iS=dR*i;
     iG=dG*i;
     
-    if ((gStart+iG)==-1 || G[iG]==5 || R[iS]==MARK_FRAG_SPACER_BASE) break; //no extension through chr boundary, or through the spacer between fragments
+    if ((gStart+iG)==(uint)(-1) || G[iG]==5 || R[iS]==MARK_FRAG_SPACER_BASE) break; //no extension through chr boundary, or through the spacer between fragments
     if (R[iS]>3 || G[iG]>3) continue;//no penalties for Ns in reads or genome
     
     if (G[iG]==R[iS]) {//Match
diff --git a/source/genomeGenerate.cpp b/source/genomeGenerate.cpp
index d12f5fc..acf9465 100644
--- a/source/genomeGenerate.cpp
+++ b/source/genomeGenerate.cpp
@@ -31,38 +31,55 @@ inline int funCompareSuffixes ( const void *a, const void *b){
     uint va=0,vb=0;
     uint8 *va1, *vb1;
 
-    bool aeqb=true;
-    while (aeqb) {
+    while (jj < globalL) {
         va=*(ga-jj);
         vb=*(gb-jj);
-        va1=(uint8*) &va;
-        vb1=(uint8*) &vb;
-        for (ii=7;ii>=0;ii--)
-        {
-            if (va1[ii]!=vb1[ii] || va1[ii]==5)
+        
+        #define has5(v) ((((v)^0x0505050505050505) - 0x0101010101010101) & ~((v)^0x0505050505050505) & 0x8080808080808080) 
+        
+        if (has5(va) && has5(vb))
+        {//there is 5 in the sequence - only compare bytes before 5
+            va1=(uint8*) &va;
+            vb1=(uint8*) &vb;
+            for (ii=7;ii>=0;ii--)
+            {
+                if (va1[ii]>vb1[ii]) 
+                {
+                    return 1;
+                } else if (va1[ii]<vb1[ii]) 
+                {
+                    return -1;
+                } else if (va1[ii]==5)
+                {//va=vb at the end of chr
+                    if ( *((uint*)a) > *((uint*)b) )
+                    {//anti-stable order,since indexes are sorted in the reverse order 
+                        return  -1;
+                    } else
+                    {//a cannot be equal to b
+                        return 1;
+                    };
+                };
+            };
+        } else
+        {//no 5, simple comparison
+            if (va>vb) 
             {
-                aeqb=false;
-                break;
+                return 1;
+            } else if (va<vb) 
+            {
+                return -1;
             };
         };
         jj++;
     };
-
-    if (va1[ii]>vb1[ii]) 
-    {
+    
+    //suffixes are equal up to globalL, no simply compare the indexes
+    if ( *((uint*)a) > *((uint*)b) )
+    {//anti-stable order,since indexes are sorted in the reverse order 
+        return  -1;
+    } else
+    {//a cannot be equal to b
         return 1;
-    } else if (va1[ii]<vb1[ii]) 
-    {
-        return -1;
-    } else 
-    {//va=vb at the end of chr
-        if ( *((uint*)a) > *((uint*)b) )
-        {//anti-stable order,since indexes are sorted in the reverse order 
-            return  -1;
-        } else
-        {//a cannot be equal to b
-            return 1;
-        };
     };
 };
 
@@ -212,7 +229,7 @@ void genomeGenerate(Parameters *P) {
             swap(G[N2-1-ii],G[ii]);
         };          
         globalG=G;
-        globalL=L/sizeof(uint);
+        globalL=P->genomeSuffixLengthMax/sizeof(uint);
         //count the number of indices with 4nt prefix
         uint indPrefN=1LLU << 16;
         uint* indPrefCount = new uint [indPrefN];
diff --git a/source/genomeSAindex.cpp b/source/genomeSAindex.cpp
index 86f36cd..85349e3 100644
--- a/source/genomeSAindex.cpp
+++ b/source/genomeSAindex.cpp
@@ -180,7 +180,7 @@ void genomeSAindexChunk(char * G, PackedArray & SA, Parameters * P, PackedArray
 //                 cout<< iL <<" "<< isa <<" "<< indPref <<" "<<indPref1<<endl;
             
 
-            if ( iL==iL4 ) {//this suffix contains N and does not belong in SAi
+            if ( (int)iL==iL4 ) {//this suffix contains N and does not belong in SAi
                 for (uint iL1=iL; iL1 < P->genomeSAindexNbases; iL1++) {
                     SAi.writePacked(P->genomeSAindexStart[iL1]+ind0[iL1],SAi[P->genomeSAindexStart[iL1]+ind0[iL1]] | P->SAiMarkNmaskC);
 //                     if (SAi[P->genomeSAindexStart[iL]+ind0[iL1]] != SAi1[P->genomeSAindexStart[iL]+ind0[iL1]])
@@ -228,14 +228,13 @@ void funSAiFindNextIndex(Parameters * P, char * G, PackedArray & SA, uint isaSte
     int iL4prev=iL4;
     isa+=isaStep;
     while (isa<P->nSA && (indFull=funCalcSAiFromSA(G,SA,isa,P->genomeSAindexNbases,P,iL4))==indFullPrev && iL4==iL4prev)
-    {
+    {//make large step in isa while the indFull/iL4 are still the same
         isa+=isaStep;
     };
     if (isa>=P->nSA)
-    {
-        isa=P->nSA-1;
-        indFull=funCalcSAiFromSA(G,SA,isa,P->genomeSAindexNbases,P,iL4);
-        if (indFull==indFullPrev)
+    {//reached the end of the SA
+        indFull=funCalcSAiFromSA(G,SA,P->nSA-1,P->genomeSAindexNbases,P,iL4);
+        if (indFull==indFullPrev && iL4==iL4prev)
         {
             isa=P->nSA;//no more indices, the last one is equal to the previous
             return;
@@ -244,7 +243,7 @@ void funSAiFindNextIndex(Parameters * P, char * G, PackedArray & SA, uint isaSte
 
     {//binary search
         uint i1=isa-isaStep;
-        uint i2=isa;
+        uint i2=min(isa,P->nSA-1);
         while (i1+1<i2)
         {
             isa=i1/2 + i2/2 + (i1%2 + i2%2)/2;
diff --git a/source/parametersDefault b/source/parametersDefault
index edd51cd..bdf1482 100644
--- a/source/parametersDefault
+++ b/source/parametersDefault
@@ -61,6 +61,9 @@ genomeSAindexNbases         14
 genomeSAsparseD             1
     int>0: suffux array sparsity, i.e. distance between indices: use bigger numbers to decrease needed RAM at the cost of mapping speed reduction
 
+genomeSuffixLengthMax       -1
+    int: maximum length of the suffixes, has to be longer than read length. -1 = infinite.
+
 ### Splice Junctions Database
 sjdbFileChrStartEnd                     -
     string(s): path to the files with genomic coordinates (chr <tab> start <tab> end <tab> strand) for the splice junction introns. Multiple files can be supplied wand will be concatenated.
@@ -171,7 +174,7 @@ outStd                          Log
                                 BAM_Quant              ... alignments to transcriptome in BAM format, unsorted. Requires --quantMode TranscriptomeSAM
 
 outReadsUnmapped                None
-   string: output of unmapped reads (besides SAM)
+   string: output of unmapped and partially mapped (i.e. mapped only one mate of a paired end read) reads in separate file(s).
                                 None    ... no output
                                 Fastx   ... output in separate fasta/fastq files, Unmapped.out.mate1/2
 
@@ -216,9 +219,13 @@ outSAMattrIHstart               1
     int>=0:                     start value for the IH attribute. 0 may be required by some downstream software, such as Cufflinks or StringTie.
 
 outSAMunmapped                  None
-    string: output of unmapped reads in the SAM format
+    string(s): output of unmapped reads in the SAM format
+                                1st word:
                                 None   ... no output
                                 Within ... output unmapped reads within the main SAM file (i.e. Aligned.out.sam)
+                                2nd word:
+                                KeepPairs ... record unmapped mate for each alignment, and, in case of unsroted output, keep it adjacent to its mapped mate.
+                                              Only affects multi-mapping reads
 
 outSAMorder                     Paired
     string: type of sorting for the SAM output
@@ -317,29 +324,30 @@ outFilterMultimapScoreRange     1
     int: the score range below the maximum score for multimapping alignments
 
 outFilterMultimapNmax           10
-    int: read alignments will be output only if the read maps fewer than this value, otherwise no alignments will be output
+    int: maximum number of loci the read is allowed to map to. Alignments (all of them) will be output only if the read maps to no more loci than this value. 
+         Otherwise no alignments will be output, and the read will be counted as "mapped to too many loci" in the Log.final.out .
 
 outFilterMismatchNmax           10
-    int: alignment will be output only if it has fewer mismatches than this value
+    int: alignment will be output only if it has no more mismatches than this value.
 
 outFilterMismatchNoverLmax      0.3
-    int: alignment will be output only if its ratio of mismatches to *mapped* length is less than this value
+    float: alignment will be output only if its ratio of mismatches to *mapped* length is less than or equal to this value.
 
-outFilterMismatchNoverReadLmax  1
-    int: alignment will be output only if its ratio of mismatches to *read* length is less than this value
+outFilterMismatchNoverReadLmax  1.0
+    float: alignment will be output only if its ratio of mismatches to *read* length is less than or equal to this value.
 
 
 outFilterScoreMin               0
-    int: alignment will be output only if its score is higher than this value
+    int: alignment will be output only if its score is higher than or equal to this value.
 
 outFilterScoreMinOverLread      0.66
-        float: outFilterScoreMin normalized to read length (sum of mates' lengths for paired-end reads)
+    float: same as outFilterScoreMin, but  normalized to read length (sum of mates' lengths for paired-end reads)
 
 outFilterMatchNmin              0
-    int: alignment will be output only if the number of matched bases is higher than this value
+    int: alignment will be output only if the number of matched bases is higher than or equal to this value.
 
 outFilterMatchNminOverLread     0.66
-    float: outFilterMatchNmin normalized to read length (sum of mates' lengths for paired-end reads)
+    float: sam as outFilterMatchNmin, but normalized to the read length (sum of mates' lengths for paired-end reads).
 
 outFilterIntronMotifs           None
     string: filter alignment using their motifs
diff --git a/source/parametersDefault.xxd b/source/parametersDefault.xxd
index 6039c11..41a35eb 100644
--- a/source/parametersDefault.xxd
+++ b/source/parametersDefault.xxd
@@ -265,2041 +265,2105 @@ unsigned char parametersDefault[] = {
   0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20,
   0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x70, 0x65, 0x65,
   0x64, 0x20, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a,
-  0x0a, 0x23, 0x23, 0x23, 0x20, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x20,
-  0x4a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x44, 0x61,
-  0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x0a, 0x73, 0x6a, 0x64, 0x62, 0x46,
-  0x69, 0x6c, 0x65, 0x43, 0x68, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45,
-  0x6e, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28,
-  0x73, 0x29, 0x3a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20,
-  0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x69,
-  0x74, 0x68, 0x20, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x20, 0x63,
-  0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x20, 0x28,
-  0x63, 0x68, 0x72, 0x20, 0x3c, 0x74, 0x61, 0x62, 0x3e, 0x20, 0x73, 0x74,
-  0x61, 0x72, 0x74, 0x20, 0x3c, 0x74, 0x61, 0x62, 0x3e, 0x20, 0x65, 0x6e,
-  0x64, 0x20, 0x3c, 0x74, 0x61, 0x62, 0x3e, 0x20, 0x73, 0x74, 0x72, 0x61,
-  0x6e, 0x64, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20,
-  0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74,
-  0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x73, 0x2e,
-  0x20, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x66, 0x69,
-  0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x73,
-  0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x77, 0x61, 0x6e, 0x64,
-  0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6e,
-  0x63, 0x61, 0x74, 0x65, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a,
-  0x73, 0x6a, 0x64, 0x62, 0x47, 0x54, 0x46, 0x66, 0x69, 0x6c, 0x65, 0x20,
+  0x0a, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69,
+  0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x61, 0x78, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x6e, 0x74, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d,
+  0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74,
+  0x68, 0x65, 0x20, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2c,
+  0x20, 0x68, 0x61, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c,
+  0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x72,
+  0x65, 0x61, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2e, 0x20,
+  0x2d, 0x31, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74,
+  0x65, 0x2e, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x53, 0x70, 0x6c, 0x69,
+  0x63, 0x65, 0x20, 0x4a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+  0x20, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x0a, 0x73, 0x6a,
+  0x64, 0x62, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x72, 0x53, 0x74, 0x61,
+  0x72, 0x74, 0x45, 0x6e, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
+  0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20,
+  0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73,
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69,
+  0x63, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65,
+  0x73, 0x20, 0x28, 0x63, 0x68, 0x72, 0x20, 0x3c, 0x74, 0x61, 0x62, 0x3e,
+  0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x3c, 0x74, 0x61, 0x62, 0x3e,
+  0x20, 0x65, 0x6e, 0x64, 0x20, 0x3c, 0x74, 0x61, 0x62, 0x3e, 0x20, 0x73,
+  0x74, 0x72, 0x61, 0x6e, 0x64, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74,
+  0x68, 0x65, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x6a, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f,
+  0x6e, 0x73, 0x2e, 0x20, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65,
+  0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62,
+  0x65, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x77,
+  0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20,
+  0x63, 0x6f, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x6e, 0x61, 0x74, 0x65, 0x64,
+  0x2e, 0x0a, 0x0a, 0x73, 0x6a, 0x64, 0x62, 0x47, 0x54, 0x46, 0x66, 0x69,
+  0x6c, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x70, 0x61, 0x74,
+  0x68, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x47, 0x54, 0x46,
+  0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61,
+  0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a,
+  0x73, 0x6a, 0x64, 0x62, 0x47, 0x54, 0x46, 0x63, 0x68, 0x72, 0x50, 0x72,
+  0x65, 0x66, 0x69, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74,
-  0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74,
-  0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x47, 0x54, 0x46, 0x20, 0x66, 0x69,
-  0x6c, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x6e, 0x6f,
-  0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x73, 0x6a, 0x64,
-  0x62, 0x47, 0x54, 0x46, 0x63, 0x68, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69,
-  0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
-  0x67, 0x3a, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x66, 0x6f,
-  0x72, 0x20, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x6f, 0x73, 0x6f, 0x6d, 0x65,
-  0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20,
-  0x47, 0x54, 0x46, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x65, 0x2e,
-  0x67, 0x2e, 0x20, 0x27, 0x63, 0x68, 0x72, 0x27, 0x20, 0x66, 0x6f, 0x72,
-  0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x45, 0x4e, 0x53, 0x4d, 0x45,
-  0x42, 0x4c, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
-  0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x55, 0x43, 0x53, 0x43,
-  0x20, 0x67, 0x65, 0x6e, 0x65, 0x6f, 0x6d, 0x65, 0x73, 0x29, 0x0a, 0x0a,
-  0x73, 0x6a, 0x64, 0x62, 0x47, 0x54, 0x46, 0x66, 0x65, 0x61, 0x74, 0x75,
-  0x72, 0x65, 0x45, 0x78, 0x6f, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x66, 0x65, 0x61,
-  0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x69, 0x6e,
-  0x20, 0x47, 0x54, 0x46, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x6f,
-  0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20,
-  0x65, 0x78, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x75,
-  0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73,
-  0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x0a, 0x0a, 0x73, 0x6a, 0x64, 0x62,
-  0x47, 0x54, 0x46, 0x74, 0x61, 0x67, 0x45, 0x78, 0x6f, 0x6e, 0x50, 0x61,
-  0x72, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69,
-  0x70, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x69,
-  0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-  0x3a, 0x20, 0x74, 0x61, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74,
-  0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73,
-  0x20, 0x65, 0x78, 0x6f, 0x6e, 0x73, 0x27, 0x20, 0x74, 0x72, 0x61, 0x6e,
-  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2d, 0x70, 0x61, 0x72, 0x65, 0x6e,
-  0x74, 0x73, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20,
-  0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f,
-  0x69, 0x64, 0x22, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x66, 0x6f,
-  0x72, 0x20, 0x47, 0x54, 0x46, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x29,
-  0x0a, 0x0a, 0x73, 0x6a, 0x64, 0x62, 0x47, 0x54, 0x46, 0x74, 0x61, 0x67,
-  0x45, 0x78, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x65,
-  0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x5f, 0x69,
-  0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-  0x3a, 0x20, 0x74, 0x61, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74,
-  0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73,
-  0x20, 0x65, 0x78, 0x6f, 0x6e, 0x73, 0x27, 0x20, 0x67, 0x65, 0x6e, 0x65,
-  0x2d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x28, 0x64, 0x65,
-  0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x22, 0x67, 0x65, 0x6e, 0x65, 0x5f,
-  0x69, 0x64, 0x22, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x66, 0x6f,
-  0x72, 0x20, 0x47, 0x54, 0x46, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x29,
-  0x0a, 0x0a, 0x73, 0x6a, 0x64, 0x62, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x61,
-  0x6e, 0x67, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6c, 0x65, 0x6e,
-  0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64,
-  0x6f, 0x6e, 0x6f, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x6f,
-  0x72, 0x20, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f,
-  0x6e, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x73, 0x69, 0x64, 0x65, 0x20,
-  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74,
-  0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x69, 0x64, 0x65, 0x61, 0x6c, 0x6c,
-  0x79, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x65,
-  0x6e, 0x67, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x0a, 0x0a, 0x73,
-  0x6a, 0x64, 0x62, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74,
-  0x3a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x61, 0x6c, 0x69, 0x67,
-  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20,
-  0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x74,
-  0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, 0x6f, 0x73, 0x73,
-  0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x20, 0x6a, 0x75,
-  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x73, 0x6a, 0x64,
-  0x62, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x61, 0x76, 0x65, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x42, 0x61, 0x73, 0x69, 0x63, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
-  0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68,
-  0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x61,
-  0x76, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x6a, 0x64, 0x62,
-  0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61,
-  0x72, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20,
-  0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6c, 0x79, 0x20, 0x61,
-  0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e,
-  0x67, 0x20, 0x73, 0x74, 0x65, 0x70, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09,
-  0x42, 0x61, 0x73, 0x69, 0x63, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x6e,
-  0x6c, 0x79, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x20, 0x6a, 0x75, 0x6e,
-  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2f, 0x20, 0x74, 0x72, 0x61, 0x6e,
-  0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73,
-  0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x41, 0x6c, 0x6c, 0x20, 0x20, 0x20,
-  0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x65,
-  0x73, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20,
-  0x62, 0x69, 0x67, 0x20, 0x47, 0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x2c, 0x20,
-  0x53, 0x41, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x53, 0x41, 0x69, 0x6e, 0x64,
-  0x65, 0x78, 0x20, 0x2d, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69,
-  0x6c, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20,
-  0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x67, 0x65, 0x6e,
-  0x6f, 0x6d, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72,
-  0x79, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x49, 0x6e, 0x70, 0x75, 0x74,
-  0x20, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74,
-  0x42, 0x41, 0x4d, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a,
-  0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x42, 0x41, 0x4d,
-  0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2c,
+  0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x6f, 0x73,
+  0x6f, 0x6d, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x69, 0x6e,
+  0x20, 0x61, 0x20, 0x47, 0x54, 0x46, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20,
+  0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x27, 0x63, 0x68, 0x72, 0x27, 0x20,
+  0x66, 0x6f, 0x72, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x45, 0x4e,
+  0x53, 0x4d, 0x45, 0x42, 0x4c, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x55,
+  0x43, 0x53, 0x43, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x6f, 0x6d, 0x65, 0x73,
+  0x29, 0x0a, 0x0a, 0x73, 0x6a, 0x64, 0x62, 0x47, 0x54, 0x46, 0x66, 0x65,
+  0x61, 0x74, 0x75, 0x72, 0x65, 0x45, 0x78, 0x6f, 0x6e, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x6f, 0x6e, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20,
+  0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65,
+  0x20, 0x69, 0x6e, 0x20, 0x47, 0x54, 0x46, 0x20, 0x66, 0x69, 0x6c, 0x65,
   0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20,
-  0x77, 0x69, 0x74, 0x68, 0x20, 0x2d, 0x2d, 0x72, 0x75, 0x6e, 0x4d, 0x6f,
-  0x64, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x6c, 0x69, 0x67,
-  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x41,
-  0x4d, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x52, 0x65, 0x61, 0x64, 0x20,
-  0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x0a, 0x0a,
-  0x72, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x49, 0x6e, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x61, 0x64, 0x31, 0x20, 0x52, 0x65,
-  0x61, 0x64, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
-  0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73,
-  0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x68,
-  0x61, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x69,
-  0x6e, 0x70, 0x75, 0x74, 0x20, 0x72, 0x65, 0x61, 0x64, 0x31, 0x20, 0x28,
-  0x61, 0x6e, 0x64, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x65, 0x65, 0x64,
-  0x65, 0x64, 0x2c, 0x20, 0x20, 0x72, 0x65, 0x61, 0x64, 0x32, 0x29, 0x0a,
-  0x0a, 0x72, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f,
-  0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x63,
-  0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x20,
-  0x74, 0x6f, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x20, 0x66,
-  0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x66, 0x69, 0x6c,
-  0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x6d,
-  0x61, 0x6e, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x67,
-  0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x46, 0x41, 0x53, 0x54,
-  0x41, 0x20, 0x6f, 0x72, 0x20, 0x46, 0x41, 0x53, 0x54, 0x51, 0x20, 0x74,
-  0x65, 0x78, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x65, 0x6e, 0x64,
-  0x20, 0x69, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x64, 0x6f, 0x75,
-  0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61,
-  0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x7a, 0x63, 0x61, 0x74, 0x20, 0x2d,
+  0x61, 0x73, 0x20, 0x65, 0x78, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72,
+  0x20, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x72,
+  0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x0a, 0x0a, 0x73,
+  0x6a, 0x64, 0x62, 0x47, 0x54, 0x46, 0x74, 0x61, 0x67, 0x45, 0x78, 0x6f,
+  0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73,
+  0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70,
+  0x74, 0x5f, 0x69, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72,
+  0x69, 0x6e, 0x67, 0x3a, 0x20, 0x74, 0x61, 0x67, 0x20, 0x6e, 0x61, 0x6d,
+  0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64,
+  0x20, 0x61, 0x73, 0x20, 0x65, 0x78, 0x6f, 0x6e, 0x73, 0x27, 0x20, 0x74,
+  0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2d, 0x70, 0x61,
+  0x72, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75,
+  0x6c, 0x74, 0x20, 0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69,
+  0x70, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x73,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x47, 0x54, 0x46, 0x20, 0x66, 0x69, 0x6c,
+  0x65, 0x73, 0x29, 0x0a, 0x0a, 0x73, 0x6a, 0x64, 0x62, 0x47, 0x54, 0x46,
+  0x74, 0x61, 0x67, 0x45, 0x78, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e,
+  0x74, 0x47, 0x65, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x6e,
+  0x65, 0x5f, 0x69, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72,
+  0x69, 0x6e, 0x67, 0x3a, 0x20, 0x74, 0x61, 0x67, 0x20, 0x6e, 0x61, 0x6d,
+  0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64,
+  0x20, 0x61, 0x73, 0x20, 0x65, 0x78, 0x6f, 0x6e, 0x73, 0x27, 0x20, 0x67,
+  0x65, 0x6e, 0x65, 0x2d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x20,
+  0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x22, 0x67, 0x65,
+  0x6e, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x73,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x47, 0x54, 0x46, 0x20, 0x66, 0x69, 0x6c,
+  0x65, 0x73, 0x29, 0x0a, 0x0a, 0x73, 0x6a, 0x64, 0x62, 0x4f, 0x76, 0x65,
+  0x72, 0x68, 0x61, 0x6e, 0x67, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20,
+  0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x64, 0x6f, 0x6e, 0x6f, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65,
+  0x70, 0x74, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
+  0x65, 0x20, 0x6f, 0x6e, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x73, 0x69,
+  0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6a, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x69, 0x64, 0x65,
+  0x61, 0x6c, 0x6c, 0x79, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x61, 0x74, 0x65,
+  0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x31, 0x29,
+  0x0a, 0x0a, 0x73, 0x6a, 0x64, 0x62, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x6e, 0x74, 0x3a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x61,
+  0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x63, 0x6f,
+  0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e,
+  0x6d, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72,
+  0x6f, 0x73, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
+  0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a,
+  0x73, 0x6a, 0x64, 0x62, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x61,
+  0x76, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x42, 0x61, 0x73, 0x69, 0x63, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x77, 0x68,
+  0x69, 0x63, 0x68, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x6f,
+  0x20, 0x73, 0x61, 0x76, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73,
+  0x6a, 0x64, 0x62, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+  0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74,
+  0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6c,
+  0x79, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x70,
+  0x70, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x65, 0x70, 0x0a, 0x09, 0x09,
+  0x09, 0x09, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x20, 0x2e, 0x2e, 0x2e,
+  0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x20,
+  0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2f, 0x20, 0x74,
+  0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x66, 0x69,
+  0x6c, 0x65, 0x73, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x41, 0x6c, 0x6c,
+  0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x66,
+  0x69, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69,
+  0x6e, 0x67, 0x20, 0x62, 0x69, 0x67, 0x20, 0x47, 0x65, 0x6e, 0x6f, 0x6d,
+  0x65, 0x2c, 0x20, 0x53, 0x41, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x53, 0x41,
+  0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2d, 0x20, 0x74, 0x68, 0x69, 0x73,
+  0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
+  0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x20,
+  0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63,
+  0x74, 0x6f, 0x72, 0x79, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x49, 0x6e,
+  0x70, 0x75, 0x74, 0x20, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x0a, 0x69, 0x6e,
+  0x70, 0x75, 0x74, 0x42, 0x41, 0x4d, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
+  0x6e, 0x67, 0x3a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20,
+  0x42, 0x41, 0x4d, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x66, 0x69,
+  0x6c, 0x65, 0x2c, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73,
+  0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x2d, 0x2d, 0x72, 0x75,
+  0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41,
+  0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x72, 0x6f,
+  0x6d, 0x42, 0x41, 0x4d, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x52, 0x65,
+  0x61, 0x64, 0x20, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
+  0x73, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73,
+  0x49, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x61, 0x64, 0x31,
+  0x20, 0x52, 0x65, 0x61, 0x64, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
+  0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x70, 0x61,
+  0x74, 0x68, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73,
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
+  0x6e, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x72, 0x65, 0x61, 0x64,
+  0x31, 0x20, 0x28, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x6e,
+  0x65, 0x65, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x20, 0x72, 0x65, 0x61, 0x64,
+  0x32, 0x29, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65,
+  0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x73, 0x29,
+  0x3a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x69,
+  0x6e, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74,
+  0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6f,
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20,
+  0x66, 0x69, 0x6c, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x63,
+  0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c,
+  0x64, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x46,
+  0x41, 0x53, 0x54, 0x41, 0x20, 0x6f, 0x72, 0x20, 0x46, 0x41, 0x53, 0x54,
+  0x51, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73,
+  0x65, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74,
+  0x64, 0x6f, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x46, 0x6f, 0x72, 0x20,
+  0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x7a, 0x63, 0x61,
+  0x74, 0x20, 0x2d, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x63, 0x6f, 0x6d,
+  0x70, 0x72, 0x65, 0x73, 0x73, 0x20, 0x2e, 0x67, 0x7a, 0x20, 0x66, 0x69,
+  0x6c, 0x65, 0x73, 0x2c, 0x20, 0x62, 0x7a, 0x63, 0x61, 0x74, 0x20, 0x2d,
   0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65,
-  0x73, 0x73, 0x20, 0x2e, 0x67, 0x7a, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73,
-  0x2c, 0x20, 0x62, 0x7a, 0x63, 0x61, 0x74, 0x20, 0x2d, 0x20, 0x74, 0x6f,
-  0x20, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x20,
-  0x2e, 0x62, 0x7a, 0x32, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2c, 0x20,
-  0x65, 0x74, 0x63, 0x2e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61,
-  0x70, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x31,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x6e, 0x75,
-  0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x61, 0x64,
-  0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x66, 0x72, 0x6f,
-  0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e,
-  0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66,
-  0x69, 0x6c, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x31, 0x3a, 0x20,
-  0x6d, 0x61, 0x70, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x61, 0x64,
-  0x73, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x65, 0x73,
-  0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x49, 0x6e, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x74, 0x45, 0x71,
-  0x75, 0x61, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
-  0x6e, 0x67, 0x3a, 0x20, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x2f, 0x4e, 0x6f,
-  0x74, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x2d, 0x20, 0x6c, 0x65, 0x6e,
-  0x67, 0x74, 0x68, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x6e, 0x61, 0x6d, 0x65,
-  0x73, 0x2c, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2c,
-  0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x66, 0x6f,
-  0x72, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73,
-  0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d,
-  0x65, 0x20, 0x20, 0x2f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x74, 0x68, 0x65,
-  0x20, 0x73, 0x61, 0x6d, 0x65, 0x2e, 0x20, 0x4e, 0x6f, 0x74, 0x45, 0x71,
-  0x75, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x73, 0x61, 0x66, 0x65, 0x20,
-  0x69, 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x73, 0x69, 0x74, 0x75, 0x61,
-  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64,
-  0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f,
-  0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x2f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-  0x28, 0x73, 0x29, 0x3a, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
-  0x65, 0x72, 0x28, 0x73, 0x29, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61,
-  0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72,
-  0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61,
-  0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74,
-  0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x69,
-  0x6d, 0x6d, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x70,
-  0x75, 0x74, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6e, 0x61, 0x6d,
-  0x65, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x73, 0x70, 0x61, 0x63,
-  0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20,
-  0x74, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x29, 0x0a, 0x0a, 0x63, 0x6c,
-  0x69, 0x70, 0x33, 0x70, 0x4e, 0x62, 0x61, 0x73, 0x65, 0x73, 0x20, 0x20,
+  0x73, 0x73, 0x20, 0x2e, 0x62, 0x7a, 0x32, 0x20, 0x66, 0x69, 0x6c, 0x65,
+  0x73, 0x2c, 0x20, 0x65, 0x74, 0x63, 0x2e, 0x0a, 0x0a, 0x72, 0x65, 0x61,
+  0x64, 0x4d, 0x61, 0x70, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74,
-  0x28, 0x73, 0x29, 0x3a, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x28,
-  0x73, 0x29, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x61, 0x73, 0x65, 0x73, 0x20,
+  0x20, 0x2d, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a,
+  0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72,
+  0x65, 0x61, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x70, 0x20,
+  0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67,
+  0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d,
+  0x31, 0x3a, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72,
+  0x65, 0x61, 0x64, 0x73, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61,
+  0x74, 0x65, 0x73, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x49, 0x6e,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f,
+  0x74, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
+  0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x45, 0x71, 0x75, 0x61, 0x6c,
+  0x2f, 0x4e, 0x6f, 0x74, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x2d, 0x20,
+  0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x6e,
+  0x61, 0x6d, 0x65, 0x73, 0x2c, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
+  0x65, 0x73, 0x2c, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x6d, 0x61,
+  0x74, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x73, 0x61, 0x6d, 0x65, 0x20, 0x20, 0x2f, 0x20, 0x6e, 0x6f, 0x74, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x2e, 0x20, 0x4e, 0x6f,
+  0x74, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x73, 0x61,
+  0x66, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x73, 0x69,
+  0x74, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x72,
+  0x65, 0x61, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x70, 0x61, 0x72,
+  0x61, 0x74, 0x6f, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x2f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72,
+  0x69, 0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x63, 0x68, 0x61, 0x72,
+  0x61, 0x63, 0x74, 0x65, 0x72, 0x28, 0x73, 0x29, 0x20, 0x73, 0x65, 0x70,
+  0x61, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x72, 0x65, 0x61, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x74,
+  0x68, 0x61, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20,
+  0x74, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x6f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x20,
+  0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x73,
+  0x70, 0x61, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x77, 0x61,
+  0x79, 0x73, 0x20, 0x74, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x29, 0x0a,
+  0x0a, 0x63, 0x6c, 0x69, 0x70, 0x33, 0x70, 0x4e, 0x62, 0x61, 0x73, 0x65,
+  0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x6e, 0x74, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x6e, 0x75, 0x6d, 0x62,
+  0x65, 0x72, 0x28, 0x73, 0x29, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x61, 0x73,
+  0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x20, 0x66,
+  0x72, 0x6f, 0x6d, 0x20, 0x33, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x61,
+  0x63, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20,
+  0x6f, 0x6e, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73,
+  0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77,
+  0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d,
+  0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20,
+  0x66, 0x6f, 0x72, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x6d, 0x61, 0x74,
+  0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x70, 0x35, 0x70, 0x4e,
+  0x62, 0x61, 0x73, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x73, 0x29, 0x3a, 0x20,
+  0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x28, 0x73, 0x29, 0x20, 0x6f, 0x66,
+  0x20, 0x62, 0x61, 0x73, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6c,
+  0x69, 0x70, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x35, 0x70, 0x20, 0x6f,
+  0x66, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x2e,
+  0x20, 0x49, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75,
+  0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x2c, 0x20,
+  0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61,
+  0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73,
+  0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x6f, 0x74, 0x68,
+  0x20, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x63, 0x6c, 0x69,
+  0x70, 0x33, 0x70, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x53, 0x65,
+  0x71, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
+  0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65,
+  0x72, 0x20, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20,
   0x74, 0x6f, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x20, 0x66, 0x72, 0x6f, 0x6d,
   0x20, 0x33, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20,
-  0x6d, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x6f, 0x6e, 0x65,
-  0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x69,
-  0x76, 0x65, 0x6e, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c,
-  0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x20,
-  0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72,
-  0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x2e,
-  0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x70, 0x35, 0x70, 0x4e, 0x62, 0x61, 0x73,
-  0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x69, 0x6e, 0x74, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x6e, 0x75, 0x6d,
-  0x62, 0x65, 0x72, 0x28, 0x73, 0x29, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x61,
-  0x73, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x20,
-  0x66, 0x72, 0x6f, 0x6d, 0x20, 0x35, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x65,
-  0x61, 0x63, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x49, 0x66,
-  0x20, 0x6f, 0x6e, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69,
-  0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x2c, 0x20, 0x69, 0x74, 0x20,
-  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x75,
-  0x6d, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65,
-  0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x6d, 0x61,
-  0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x70, 0x33, 0x70,
-  0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x53, 0x65, 0x71, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x73,
-  0x29, 0x3a, 0x20, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x20, 0x73,
-  0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20,
-  0x63, 0x6c, 0x69, 0x70, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x33, 0x70,
-  0x20, 0x6f, 0x66, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6d, 0x61, 0x74,
-  0x65, 0x2e, 0x20, 0x20, 0x49, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x76,
-  0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65,
-  0x6e, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62,
-  0x65, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x68,
-  0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62,
-  0x6f, 0x74, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a,
-  0x63, 0x6c, 0x69, 0x70, 0x33, 0x70, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65,
-  0x72, 0x4d, 0x4d, 0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x30, 0x2e, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x6d,
-  0x61, 0x78, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f,
-  0x6e, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63,
-  0x68, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x33, 0x70, 0x20, 0x61,
-  0x64, 0x70, 0x61, 0x74, 0x65, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x70,
-  0x69, 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68,
-  0x20, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x20, 0x49, 0x66, 0x20, 0x6f,
-  0x6e, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20,
-  0x67, 0x69, 0x76, 0x65, 0x6e, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69,
-  0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65,
-  0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x66,
-  0x6f, 0x72, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65,
-  0x73, 0x2e, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x70, 0x33, 0x70, 0x41, 0x66,
-  0x74, 0x65, 0x72, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x4e, 0x62,
-  0x61, 0x73, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x6e, 0x75,
-  0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x61, 0x73, 0x65,
-  0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x20, 0x66, 0x72,
-  0x6f, 0x6d, 0x20, 0x33, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x61, 0x63,
-  0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72,
-  0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72,
-  0x20, 0x63, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x49,
+  0x6d, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x20, 0x49, 0x66, 0x20, 0x6f, 0x6e,
+  0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67,
+  0x69, 0x76, 0x65, 0x6e, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c,
+  0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f,
+  0x72, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73,
+  0x2e, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x70, 0x33, 0x70, 0x41, 0x64, 0x61,
+  0x70, 0x74, 0x65, 0x72, 0x4d, 0x4d, 0x70, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2e, 0x31, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x28, 0x73, 0x29,
+  0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72,
+  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x69, 0x73, 0x6d,
+  0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x33,
+  0x70, 0x20, 0x61, 0x64, 0x70, 0x61, 0x74, 0x65, 0x72, 0x20, 0x63, 0x6c,
+  0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65,
+  0x61, 0x63, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x20, 0x49,
   0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20,
   0x69, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x2c, 0x20, 0x69, 0x74,
   0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73,
   0x75, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d,
   0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x6d,
-  0x61, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20,
-  0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69,
-  0x74, 0x47, 0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72,
-  0x61, 0x74, 0x65, 0x52, 0x41, 0x4d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x33, 0x31, 0x30,
-  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x69,
-  0x6d, 0x75, 0x6d, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c,
-  0x65, 0x20, 0x52, 0x41, 0x4d, 0x20, 0x28, 0x62, 0x79, 0x74, 0x65, 0x73,
-  0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x65,
-  0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a,
-  0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x4f, 0x62, 0x75, 0x66, 0x66,
-  0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x31, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d,
-  0x61, 0x78, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
-  0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x73, 0x69, 0x7a,
-  0x65, 0x20, 0x28, 0x62, 0x79, 0x74, 0x65, 0x73, 0x29, 0x20, 0x66, 0x6f,
-  0x72, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x6f, 0x75, 0x74, 0x70,
-  0x75, 0x74, 0x2c, 0x20, 0x70, 0x65, 0x72, 0x20, 0x74, 0x68, 0x72, 0x65,
-  0x61, 0x64, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x75, 0x74,
-  0x53, 0x41, 0x4d, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x61, 0x64, 0x42, 0x79,
-  0x74, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0a,
+  0x61, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x70, 0x33,
+  0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65,
+  0x72, 0x4e, 0x62, 0x61, 0x73, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x30,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x73, 0x29, 0x3a,
+  0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x62,
+  0x61, 0x73, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6c, 0x69, 0x70,
+  0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x33, 0x70, 0x20, 0x6f, 0x66, 0x20,
+  0x65, 0x61, 0x63, 0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x20, 0x61, 0x66,
+  0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x64, 0x61, 0x70,
+  0x74, 0x65, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67,
+  0x2e, 0x20, 0x49, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x76, 0x61, 0x6c,
+  0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x2c,
+  0x20, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20,
+  0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x73, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x62, 0x6f, 0x74,
+  0x68, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x23,
+  0x23, 0x23, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x0a, 0x0a, 0x6c,
+  0x69, 0x6d, 0x69, 0x74, 0x47, 0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x47, 0x65,
+  0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x41, 0x4d, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x33, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0a,
   0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d,
-  0x61, 0x78, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72,
-  0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x72, 0x65,
-  0x61, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
-  0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x3e,
-  0x28, 0x32, 0x2a, 0x28, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x61,
-  0x74, 0x65, 0x31, 0x2b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x61,
-  0x74, 0x65, 0x32, 0x2b, 0x31, 0x30, 0x30, 0x29, 0x2a, 0x6f, 0x75, 0x74,
-  0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x6d,
-  0x61, 0x70, 0x4e, 0x6d, 0x61, 0x78, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69,
-  0x74, 0x4f, 0x75, 0x74, 0x53, 0x4a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x61,
-  0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30,
-  0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a,
-  0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20,
-  0x6f, 0x66, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
-  0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x72, 0x65, 0x61,
-  0x64, 0x20, 0x28, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67,
-  0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x6d,
-  0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x29, 0x0a, 0x0a, 0x6c, 0x69, 0x6d,
-  0x69, 0x74, 0x4f, 0x75, 0x74, 0x53, 0x4a, 0x63, 0x6f, 0x6c, 0x6c, 0x61,
-  0x70, 0x73, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30,
-  0x30, 0x30, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e,
-  0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d,
-  0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61,
-  0x70, 0x73, 0x65, 0x64, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
-  0x6e, 0x73, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x41, 0x4d,
-  0x73, 0x6f, 0x72, 0x74, 0x52, 0x41, 0x4d, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c,
+  0x61, 0x62, 0x6c, 0x65, 0x20, 0x52, 0x41, 0x4d, 0x20, 0x28, 0x62, 0x79,
+  0x74, 0x65, 0x73, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x6e,
+  0x6f, 0x6d, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+  0x6f, 0x6e, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x4f, 0x62,
+  0x75, 0x66, 0x66, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30,
+  0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30,
+  0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61,
+  0x62, 0x6c, 0x65, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20,
+  0x73, 0x69, 0x7a, 0x65, 0x20, 0x28, 0x62, 0x79, 0x74, 0x65, 0x73, 0x29,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2f, 0x6f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x2c, 0x20, 0x70, 0x65, 0x72, 0x20, 0x74,
+  0x68, 0x72, 0x65, 0x61, 0x64, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74,
+  0x4f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x61,
+  0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x30,
+  0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30,
+  0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f,
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x72, 0x65,
+  0x63, 0x6f, 0x72, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x65,
+  0x20, 0x72, 0x65, 0x61, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x6d,
+  0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65,
+  0x3a, 0x20, 0x3e, 0x28, 0x32, 0x2a, 0x28, 0x4c, 0x65, 0x6e, 0x67, 0x74,
+  0x68, 0x4d, 0x61, 0x74, 0x65, 0x31, 0x2b, 0x4c, 0x65, 0x6e, 0x67, 0x74,
+  0x68, 0x4d, 0x61, 0x74, 0x65, 0x32, 0x2b, 0x31, 0x30, 0x30, 0x29, 0x2a,
+  0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x75, 0x6c,
+  0x74, 0x69, 0x6d, 0x61, 0x70, 0x4e, 0x6d, 0x61, 0x78, 0x0a, 0x0a, 0x6c,
+  0x69, 0x6d, 0x69, 0x74, 0x4f, 0x75, 0x74, 0x53, 0x4a, 0x6f, 0x6e, 0x65,
+  0x52, 0x65, 0x61, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x31, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74,
+  0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62,
+  0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69,
+  0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x65, 0x20,
+  0x72, 0x65, 0x61, 0x64, 0x20, 0x28, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+  0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6d, 0x75, 0x6c, 0x74,
+  0x69, 0x2d, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x29, 0x0a, 0x0a,
+  0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x75, 0x74, 0x53, 0x4a, 0x63, 0x6f,
+  0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20,
+  0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f,
+  0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x20, 0x6a, 0x75, 0x6e, 0x63,
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74,
+  0x42, 0x41, 0x4d, 0x73, 0x6f, 0x72, 0x74, 0x52, 0x41, 0x4d, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a,
+  0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x61, 0x76, 0x61,
+  0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x52, 0x41, 0x4d, 0x20, 0x66,
+  0x6f, 0x72, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x42,
+  0x41, 0x4d, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x3d, 0x30, 0x2c, 0x20, 0x69,
+  0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65,
+  0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e,
+  0x6f, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x73, 0x69,
+  0x7a, 0x65, 0x2e, 0x20, 0x30, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20,
+  0x63, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x20,
+  0x75, 0x73, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x2d, 0x2d,
+  0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x20, 0x4e,
+  0x6f, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
+  0x79, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x6c,
+  0x69, 0x6d, 0x69, 0x74, 0x53, 0x6a, 0x64, 0x62, 0x49, 0x6e, 0x73, 0x65,
+  0x72, 0x74, 0x4e, 0x73, 0x6a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20,
   0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x61,
-  0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61,
-  0x62, 0x6c, 0x65, 0x20, 0x52, 0x41, 0x4d, 0x20, 0x66, 0x6f, 0x72, 0x20,
-  0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x42, 0x41, 0x4d, 0x2e,
-  0x20, 0x49, 0x66, 0x20, 0x3d, 0x30, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77,
-  0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74,
-  0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x65,
-  0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x2e,
-  0x20, 0x30, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x61, 0x6e,
-  0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65,
-  0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x2d, 0x2d, 0x67, 0x65, 0x6e,
-  0x6f, 0x6d, 0x65, 0x4c, 0x6f, 0x61, 0x64, 0x20, 0x4e, 0x6f, 0x53, 0x68,
-  0x61, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x20, 0x6f,
-  0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69,
-  0x74, 0x53, 0x6a, 0x64, 0x62, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e,
-  0x73, 0x6a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31,
-  0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
-  0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d,
-  0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66,
-  0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f,
-  0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64,
-  0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x6f,
-  0x6d, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6c,
-  0x79, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x70,
-  0x70, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61, 0x67, 0x65, 0x2c, 0x20,
-  0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68,
-  0x6f, 0x73, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x6e, 0x6e,
-  0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64,
-  0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x64, 0x65, 0x74, 0x65, 0x63,
-  0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x31,
-  0x73, 0x74, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x32, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x20, 0x72, 0x75,
-  0x6e, 0x0a, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x4f, 0x75, 0x74, 0x70,
-  0x75, 0x74, 0x3a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x0a,
-  0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x50,
-  0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2f, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x6f,
-  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20,
-  0x6e, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20,
-  0x28, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x66,
-  0x75, 0x6c, 0x6c, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74,
-  0x69, 0x76, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x29, 0x2e, 0x20, 0x43,
-  0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x20, 0x64,
-  0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68,
-  0x65, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x69,
-  0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x6d, 0x70, 0x44,
-  0x69, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
-  0x67, 0x3a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x61,
-  0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x74,
-  0x68, 0x61, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20,
-  0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x74, 0x65, 0x6d, 0x70,
-  0x6f, 0x72, 0x61, 0x72, 0x79, 0x20, 0x62, 0x79, 0x20, 0x53, 0x54, 0x41,
-  0x52, 0x2e, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65,
-  0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
-  0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x77, 0x69,
-  0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65,
-  0x64, 0x21, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x2d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x6d,
-  0x70, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20,
-  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
-  0x20, 0x74, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4e,
-  0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x53, 0x54,
-  0x41, 0x52, 0x74, 0x6d, 0x70, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x74,
-  0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x4c, 0x6f, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
-  0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68,
-  0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c,
-  0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64,
-  0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x20, 0x28,
-  0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x6f, 0x75, 0x74,
-  0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
+  0x20, 0x6f, 0x66, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+  0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x72,
+  0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67,
+  0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65,
+  0x20, 0x66, 0x6c, 0x79, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61, 0x67,
+  0x65, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67,
+  0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20,
+  0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+  0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x64, 0x65,
+  0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x31, 0x73, 0x74, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x6f,
+  0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x32, 0x2d, 0x70, 0x61, 0x73, 0x73,
+  0x20, 0x72, 0x75, 0x6e, 0x0a, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x4f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x3a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72,
+  0x61, 0x6c, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61,
+  0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e,
+  0x2f, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+  0x3a, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x66, 0x69, 0x6c,
+  0x65, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66,
+  0x69, 0x78, 0x20, 0x28, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e,
+  0x67, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65,
+  0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x29,
+  0x2e, 0x20, 0x43, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62,
+  0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x6f, 0x6e,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
+  0x20, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54,
+  0x6d, 0x70, 0x44, 0x69, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x6f,
-  0x67, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x6c, 0x6f, 0x67, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
-  0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74,
+  0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74,
+  0x6f, 0x20, 0x61, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72,
+  0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20,
+  0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x74,
+  0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x20, 0x62, 0x79, 0x20,
+  0x53, 0x54, 0x41, 0x52, 0x2e, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x63, 0x6f,
+  0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
+  0x69, 0x73, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79,
+  0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6d,
+  0x6f, 0x76, 0x65, 0x64, 0x21, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x74, 0x65, 0x6d, 0x70, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f,
+  0x72, 0x79, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x61,
+  0x75, 0x6c, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x46, 0x69,
+  0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78,
+  0x5f, 0x53, 0x54, 0x41, 0x52, 0x74, 0x6d, 0x70, 0x0a, 0x0a, 0x6f, 0x75,
+  0x74, 0x53, 0x74, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x6f, 0x67, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x77, 0x68,
+  0x69, 0x63, 0x68, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x77,
+  0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63,
+  0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x64, 0x6f, 0x75,
+  0x74, 0x20, 0x28, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20,
+  0x6f, 0x75, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x4c, 0x6f, 0x67, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x2e, 0x2e, 0x2e, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x6d, 0x65, 0x73, 0x73,
+  0x61, 0x67, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x53, 0x41, 0x4d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x41,
-  0x4d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20,
-  0x69, 0x6e, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61,
-  0x74, 0x20, 0x28, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x6e, 0x6f, 0x72,
-  0x6d, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x75,
-  0x74, 0x70, 0x75, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x41, 0x6c, 0x69, 0x67,
-  0x6e, 0x65, 0x64, 0x2e, 0x6f, 0x75, 0x74, 0x2e, 0x73, 0x61, 0x6d, 0x20,
-  0x66, 0x69, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61,
-  0x6c, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x6f,
-  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x67,
-  0x6f, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x4c, 0x6f, 0x67, 0x2e, 0x73,
-  0x74, 0x64, 0x2e, 0x6f, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x42, 0x41, 0x4d, 0x5f, 0x55, 0x6e, 0x73, 0x6f, 0x72,
-  0x74, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d,
-  0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x41, 0x4d, 0x20,
-  0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2c, 0x20, 0x75, 0x6e, 0x73, 0x6f,
-  0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
-  0x65, 0x73, 0x20, 0x2d, 0x2d, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x74,
-  0x79, 0x70, 0x65, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x55, 0x6e, 0x73, 0x6f,
-  0x72, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x42, 0x41, 0x4d, 0x5f, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42,
-  0x79, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20,
   0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
-  0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x66, 0x6f,
-  0x72, 0x6d, 0x61, 0x74, 0x2c, 0x20, 0x75, 0x6e, 0x73, 0x6f, 0x72, 0x74,
-  0x65, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73,
-  0x20, 0x2d, 0x2d, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x74, 0x79, 0x70,
-  0x65, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64,
-  0x42, 0x79, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65,
+  0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x66, 0x6f,
+  0x72, 0x6d, 0x61, 0x74, 0x20, 0x28, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20,
+  0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x72, 0x65,
+  0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x41,
+  0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x2e, 0x6f, 0x75, 0x74, 0x2e, 0x73,
+  0x61, 0x6d, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x29, 0x2c, 0x20, 0x6e, 0x6f,
+  0x72, 0x6d, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
+  0x64, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x77, 0x69, 0x6c,
+  0x6c, 0x20, 0x67, 0x6f, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x4c, 0x6f,
+  0x67, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x6f, 0x75, 0x74, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x42, 0x41, 0x4d, 0x5f, 0x55, 0x6e,
+  0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x69,
+  0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42,
+  0x41, 0x4d, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2c, 0x20, 0x75,
+  0x6e, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71,
+  0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x2d, 0x2d, 0x6f, 0x75, 0x74, 0x53,
+  0x41, 0x4d, 0x74, 0x79, 0x70, 0x65, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x55,
+  0x6e, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x42, 0x41, 0x4d, 0x5f, 0x53, 0x6f, 0x72, 0x74,
+  0x65, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61,
+  0x74, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e,
+  0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x41, 0x4d,
+  0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2c, 0x20, 0x75, 0x6e, 0x73,
+  0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69,
+  0x72, 0x65, 0x73, 0x20, 0x2d, 0x2d, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d,
+  0x74, 0x79, 0x70, 0x65, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x53, 0x6f, 0x72,
+  0x74, 0x65, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e,
+  0x61, 0x74, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x42, 0x41, 0x4d, 0x5f, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e,
+  0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+  0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72,
+  0x69, 0x70, 0x74, 0x6f, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x41,
+  0x4d, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2c, 0x20, 0x75, 0x6e,
+  0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75,
+  0x69, 0x72, 0x65, 0x73, 0x20, 0x2d, 0x2d, 0x71, 0x75, 0x61, 0x6e, 0x74,
+  0x4d, 0x6f, 0x64, 0x65, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72,
+  0x69, 0x70, 0x74, 0x6f, 0x6d, 0x65, 0x53, 0x41, 0x4d, 0x0a, 0x0a, 0x6f,
+  0x75, 0x74, 0x52, 0x65, 0x61, 0x64, 0x73, 0x55, 0x6e, 0x6d, 0x61, 0x70,
+  0x70, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x0a,
+  0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x6f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x6e, 0x6d,
+  0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x61,
+  0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x70, 0x70,
+  0x65, 0x64, 0x20, 0x28, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x6d, 0x61, 0x70,
+  0x70, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65,
+  0x20, 0x6d, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x70,
+  0x61, 0x69, 0x72, 0x65, 0x64, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x72, 0x65,
+  0x61, 0x64, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x6e,
+  0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, 0x66, 0x69,
+  0x6c, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x2e,
+  0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
   0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x42, 0x41, 0x4d,
-  0x5f, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
-  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74,
-  0x6f, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
-  0x6f, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x66,
-  0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2c, 0x20, 0x75, 0x6e, 0x73, 0x6f, 0x72,
-  0x74, 0x65, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
-  0x73, 0x20, 0x2d, 0x2d, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x4d, 0x6f, 0x64,
-  0x65, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
-  0x6f, 0x6d, 0x65, 0x53, 0x41, 0x4d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x52,
-  0x65, 0x61, 0x64, 0x73, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x46, 0x61, 0x73,
+  0x74, 0x78, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x75, 0x74,
+  0x70, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72,
+  0x61, 0x74, 0x65, 0x20, 0x66, 0x61, 0x73, 0x74, 0x61, 0x2f, 0x66, 0x61,
+  0x73, 0x74, 0x71, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x55,
+  0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x2e, 0x6f, 0x75, 0x74, 0x2e,
+  0x6d, 0x61, 0x74, 0x65, 0x31, 0x2f, 0x32, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
+  0x51, 0x53, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+  0x41, 0x64, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e,
+  0x74, 0x3a, 0x20, 0x61, 0x64, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
+  0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63,
+  0x6f, 0x72, 0x65, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x74, 0x6f,
+  0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x66, 0x72, 0x6f,
+  0x6d, 0x20, 0x49, 0x6c, 0x6c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x20, 0x74,
+  0x6f, 0x20, 0x53, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x2c, 0x20, 0x75, 0x73,
+  0x65, 0x20, 0x2d, 0x33, 0x31, 0x29, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x4d,
+  0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x72,
+  0x64, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x4f, 0x6c, 0x64, 0x5f, 0x32, 0x2e, 0x34, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20,
+  0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x75, 0x6c,
+  0x74, 0x69, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c,
+  0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x66,
+  0x69, 0x6c, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20,
-  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x6f, 0x75, 0x74, 0x70,
-  0x75, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x70,
-  0x65, 0x64, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x28, 0x62, 0x65,
-  0x73, 0x69, 0x64, 0x65, 0x73, 0x20, 0x53, 0x41, 0x4d, 0x29, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20,
-  0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75,
-  0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x46, 0x61, 0x73, 0x74, 0x78, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x73,
-  0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, 0x66, 0x61, 0x73, 0x74,
-  0x61, 0x2f, 0x66, 0x61, 0x73, 0x74, 0x71, 0x20, 0x66, 0x69, 0x6c, 0x65,
-  0x73, 0x2c, 0x20, 0x55, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x2e,
-  0x6f, 0x75, 0x74, 0x2e, 0x6d, 0x61, 0x74, 0x65, 0x31, 0x2f, 0x32, 0x0a,
-  0x0a, 0x6f, 0x75, 0x74, 0x51, 0x53, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72,
-  0x73, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20,
-  0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x61, 0x64, 0x64, 0x20, 0x74,
-  0x68, 0x69, 0x73, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x74,
-  0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74,
-  0x79, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x28, 0x65, 0x2e, 0x67,
-  0x2e, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74,
-  0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x49, 0x6c, 0x6c, 0x75, 0x6d, 0x69,
-  0x6e, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x53, 0x61, 0x6e, 0x67, 0x65, 0x72,
-  0x2c, 0x20, 0x75, 0x73, 0x65, 0x20, 0x2d, 0x33, 0x31, 0x29, 0x0a, 0x0a,
-  0x6f, 0x75, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70, 0x70,
-  0x65, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x6c, 0x64, 0x5f,
-  0x32, 0x2e, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
-  0x6e, 0x67, 0x3a, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x66,
-  0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e,
-  0x67, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
-  0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70,
-  0x75, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x6c, 0x64, 0x5f, 0x32, 0x2e, 0x34,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x71, 0x75, 0x61, 0x73, 0x69, 0x2d, 0x72,
-  0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20,
-  0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20,
-  0x32, 0x2e, 0x35, 0x2e, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e,
-  0x2e, 0x20, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x20, 0x6f, 0x72, 0x64,
-  0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d,
-  0x65, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63,
-  0x68, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x6d, 0x61, 0x70, 0x70,
-  0x65, 0x72, 0x2e, 0x20, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x61, 0x74,
-  0x65, 0x73, 0x20, 0x28, 0x70, 0x61, 0x69, 0x72, 0x73, 0x29, 0x20, 0x61,
-  0x72, 0x65, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x61, 0x64,
-  0x6a, 0x61, 0x63, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20,
-  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x6f,
-  0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
-  0x73, 0x74, 0x61, 0x79, 0x20, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65,
-  0x72, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69,
-  0x6f, 0x6e, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x63, 0x6f,
-  0x6d, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x69,
-  0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65,
-  0x20, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x0a, 0x0a,
-  0x23, 0x23, 0x23, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x3a, 0x20,
-  0x53, 0x41, 0x4d, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x42, 0x41, 0x4d, 0x0a,
-  0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x74, 0x79, 0x70, 0x65, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x41, 0x4d, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x3a,
-  0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x53, 0x41, 0x4d,
-  0x2f, 0x42, 0x41, 0x4d, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x4f, 0x6c, 0x64, 0x5f, 0x32, 0x2e, 0x34, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
+  0x20, 0x71, 0x75, 0x61, 0x73, 0x69, 0x2d, 0x72, 0x61, 0x6e, 0x64, 0x6f,
+  0x6d, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x75, 0x73, 0x65, 0x64,
+  0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x32, 0x2e, 0x35, 0x2e,
+  0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x61,
+  0x6e, 0x64, 0x6f, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x72, 0x61,
+  0x6e, 0x64, 0x6f, 0x6d, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x6f,
+  0x66, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6d, 0x75,
+  0x6c, 0x74, 0x69, 0x2d, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2e, 0x20,
+  0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x20, 0x28,
+  0x70, 0x61, 0x69, 0x72, 0x73, 0x29, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61,
+  0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65,
+  0x6e, 0x74, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x69, 0x67,
+  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61,
+  0x63, 0x68, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x73, 0x74, 0x61, 0x79,
+  0x20, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x2e, 0x20, 0x54,
+  0x68, 0x69, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77,
+  0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x64,
+  0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x20, 0x72, 0x65, 0x6c,
+  0x65, 0x61, 0x73, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20,
+  0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x3a, 0x20, 0x53, 0x41, 0x4d, 0x20,
+  0x61, 0x6e, 0x64, 0x20, 0x42, 0x41, 0x4d, 0x0a, 0x6f, 0x75, 0x74, 0x53,
+  0x41, 0x4d, 0x74, 0x79, 0x70, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x73, 0x74, 0x20,
-  0x77, 0x6f, 0x72, 0x64, 0x3a, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x53, 0x41, 0x4d, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x20, 0x74, 0x79, 0x70,
+  0x65, 0x20, 0x6f, 0x66, 0x20, 0x53, 0x41, 0x4d, 0x2f, 0x42, 0x41, 0x4d,
+  0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
-  0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x77,
-  0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x69,
-  0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x31, 0x73, 0x74, 0x20, 0x77, 0x6f, 0x72, 0x64,
+  0x3a, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x42,
   0x41, 0x4d, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x75, 0x74, 0x70,
-  0x75, 0x74, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f,
+  0x75, 0x74, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f,
   0x75, 0x74, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x0a, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20,
-  0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x53, 0x41, 0x4d, 0x2f, 0x42,
-  0x41, 0x4d, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x20,
+  0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x53,
+  0x41, 0x4d, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x73,
+  0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x6e, 0x64, 0x2c, 0x20, 0x33,
-  0x72, 0x64, 0x3a, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
+  0x6e, 0x6f, 0x20, 0x53, 0x41, 0x4d, 0x2f, 0x42, 0x41, 0x4d, 0x20, 0x6f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x55, 0x6e, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
-  0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x75, 0x6e, 0x73,
-  0x6f, 0x72, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x32, 0x6e, 0x64, 0x2c, 0x20, 0x33, 0x72, 0x64, 0x3a, 0x20,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42, 0x79, 0x43, 0x6f,
-  0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x63,
-  0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x54,
-  0x68, 0x69, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77,
-  0x69, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65,
-  0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
-  0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e,
-  0x67, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x6e, 0x20,
-  0x62, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64,
-  0x20, 0x62, 0x79, 0x20, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42,
-  0x41, 0x4d, 0x73, 0x6f, 0x72, 0x74, 0x52, 0x41, 0x4d, 0x2e, 0x0a, 0x0a,
-  0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x46, 0x75, 0x6c, 0x6c,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a,
-  0x20, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x53, 0x41, 0x4d,
-  0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x20, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x6e, 0x73,
+  0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73, 0x74, 0x61, 0x6e,
+  0x64, 0x61, 0x72, 0x64, 0x20, 0x75, 0x6e, 0x73, 0x6f, 0x72, 0x74, 0x65,
+  0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x6f,
+  0x72, 0x74, 0x65, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69,
+  0x6e, 0x61, 0x74, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73, 0x6f, 0x72,
+  0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64,
+  0x69, 0x6e, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20,
+  0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20,
+  0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x20, 0x65, 0x78, 0x74,
+  0x72, 0x61, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x20, 0x66, 0x6f,
+  0x72, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x68,
+  0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x73,
+  0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20,
+  0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x41, 0x4d, 0x73, 0x6f,
+  0x72, 0x74, 0x52, 0x41, 0x4d, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53,
+  0x41, 0x4d, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x46, 0x75, 0x6c, 0x6c, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x6d, 0x6f, 0x64,
+  0x65, 0x20, 0x6f, 0x66, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x6f, 0x75, 0x74,
+  0x70, 0x75, 0x74, 0x20, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e,
+  0x6f, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x46, 0x75, 0x6c,
+  0x6c, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x53,
+  0x41, 0x4d, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x2e,
-  0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x6f, 0x75,
-  0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x51, 0x53, 0x20, 0x2e,
+  0x2e, 0x2e, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x53, 0x41, 0x4d, 0x20,
+  0x62, 0x75, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20,
+  0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x6f, 0x72,
+  0x65, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x73, 0x74,
+  0x72, 0x61, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x46, 0x75, 0x6c, 0x6c, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x66, 0x75,
-  0x6c, 0x6c, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75,
-  0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f,
-  0x51, 0x53, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20,
-  0x53, 0x41, 0x4d, 0x20, 0x62, 0x75, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68,
-  0x6f, 0x75, 0x74, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20,
-  0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53,
-  0x41, 0x4d, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c,
+  0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x43, 0x75, 0x66,
+  0x66, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x2d, 0x6c, 0x69, 0x6b, 0x65, 0x20,
+  0x73, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64,
+  0x20, 0x66, 0x6c, 0x61, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73,
+  0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69,
+  0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x6f, 0x74, 0x69, 0x66, 0x20, 0x2e,
+  0x2e, 0x2e, 0x20, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x65,
+  0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74,
+  0x68, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20, 0x6d, 0x6f,
+  0x74, 0x69, 0x66, 0x2e, 0x20, 0x52, 0x65, 0x61, 0x64, 0x73, 0x20, 0x77,
+  0x69, 0x74, 0x68, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73,
+  0x74, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x2f, 0x6f, 0x72, 0x20,
+  0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61,
+  0x6c, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72,
+  0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x6f,
+  0x75, 0x74, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x61,
+  0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x61, 0x20,
+  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x65,
+  0x73, 0x69, 0x72, 0x65, 0x64, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x61, 0x74,
+  0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2c, 0x20, 0x69, 0x6e,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x64,
+  0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74,
+  0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x53, 0x41,
+  0x4d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x48,
+  0x20, 0x48, 0x49, 0x20, 0x41, 0x53, 0x20, 0x6e, 0x4d, 0x20, 0x4e, 0x4d,
+  0x20, 0x4d, 0x44, 0x20, 0x6a, 0x4d, 0x20, 0x6a, 0x49, 0x20, 0x58, 0x53,
+  0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x63, 0x6f, 0x6d,
+  0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x20,
+  0x61, 0x6e, 0x79, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
+  0x72, 0x64, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x4e, 0x48, 0x20,
+  0x48, 0x49, 0x20, 0x41, 0x53, 0x20, 0x6e, 0x4d, 0x20, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x4e, 0x48, 0x20,
+  0x48, 0x49, 0x20, 0x41, 0x53, 0x20, 0x6e, 0x4d, 0x20, 0x4e, 0x4d, 0x20,
+  0x4d, 0x44, 0x20, 0x6a, 0x4d, 0x20, 0x6a, 0x49, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x61,
+  0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x0a, 0x0a, 0x6f,
+  0x75, 0x74, 0x53, 0x41, 0x4d, 0x61, 0x74, 0x74, 0x72, 0x49, 0x48, 0x73,
+  0x74, 0x61, 0x72, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x76,
+  0x61, 0x6c, 0x75, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65,
+  0x20, 0x49, 0x48, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+  0x65, 0x2e, 0x20, 0x30, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20,
+  0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20,
+  0x73, 0x6f, 0x6d, 0x65, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72,
+  0x65, 0x61, 0x6d, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
+  0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x43, 0x75,
+  0x66, 0x66, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x53,
+  0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x2e, 0x0a, 0x0a, 0x6f,
+  0x75, 0x74, 0x53, 0x41, 0x4d, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65,
   0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x73,
+  0x29, 0x3a, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x6f, 0x66,
+  0x20, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x72, 0x65,
+  0x61, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53,
+  0x41, 0x4d, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x0a, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a,
-  0x20, 0x43, 0x75, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x2d, 0x6c,
-  0x69, 0x6b, 0x65, 0x20, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x66,
-  0x69, 0x65, 0x6c, 0x64, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f,
-  0x74, 0x20, 0x75, 0x73, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x6f, 0x74,
-  0x69, 0x66, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73, 0x74, 0x72, 0x61, 0x6e,
-  0x64, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72,
-  0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f,
-  0x6e, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x20, 0x52, 0x65, 0x61,
-  0x64, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x69, 0x6e, 0x63, 0x6f,
-  0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x6e, 0x64,
-  0x2f, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f,
-  0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e,
-  0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
-  0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
-  0x53, 0x41, 0x4d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
-  0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
-  0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-  0x3a, 0x20, 0x61, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x6f,
-  0x66, 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x20, 0x53, 0x41,
-  0x4d, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
-  0x2c, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x64,
-  0x65, 0x72, 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x20, 0x66,
-  0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75,
-  0x74, 0x20, 0x53, 0x41, 0x4d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x4e, 0x48, 0x20, 0x48, 0x49, 0x20, 0x41, 0x53, 0x20, 0x6e,
-  0x4d, 0x20, 0x4e, 0x4d, 0x20, 0x4d, 0x44, 0x20, 0x6a, 0x4d, 0x20, 0x6a,
-  0x49, 0x20, 0x58, 0x53, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6e, 0x79,
-  0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
-  0x20, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x72, 0x64, 0x65,
-  0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x74,
-  0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x4e, 0x48, 0x20, 0x48, 0x49, 0x20, 0x41, 0x53, 0x20, 0x6e, 0x4d,
-  0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x6c,
-  0x6c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x4e, 0x48, 0x20, 0x48, 0x49, 0x20, 0x41, 0x53, 0x20, 0x6e, 0x4d,
-  0x20, 0x4e, 0x4d, 0x20, 0x4d, 0x44, 0x20, 0x6a, 0x4d, 0x20, 0x6a, 0x49,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x73, 0x74, 0x20, 0x77, 0x6f,
+  0x72, 0x64, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e,
-  0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
-  0x6e, 0x6f, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
-  0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x61, 0x74, 0x74,
-  0x72, 0x49, 0x48, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x61,
-  0x72, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x66, 0x6f, 0x72,
-  0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x48, 0x20, 0x61, 0x74, 0x74, 0x72,
-  0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x20, 0x30, 0x20, 0x6d, 0x61, 0x79,
-  0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
-  0x20, 0x62, 0x79, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x64, 0x6f, 0x77,
-  0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x20, 0x73, 0x6f, 0x66, 0x74,
-  0x77, 0x61, 0x72, 0x65, 0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61,
-  0x73, 0x20, 0x43, 0x75, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x20,
-  0x6f, 0x72, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65,
-  0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x75, 0x6e, 0x6d,
-  0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e,
-  0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
-  0x6e, 0x67, 0x3a, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x6f,
-  0x66, 0x20, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x72,
-  0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20,
-  0x53, 0x41, 0x4d, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x0a, 0x20,
+  0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e,
+  0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20,
-  0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74,
-  0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20,
+  0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x75,
+  0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x72, 0x65, 0x61, 0x64,
+  0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65,
+  0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x66, 0x69,
+  0x6c, 0x65, 0x20, 0x28, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x41, 0x6c, 0x69,
+  0x67, 0x6e, 0x65, 0x64, 0x2e, 0x6f, 0x75, 0x74, 0x2e, 0x73, 0x61, 0x6d,
+  0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x6e,
+  0x64, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f,
-  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x70,
-  0x65, 0x64, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x77, 0x69, 0x74,
-  0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x6e,
-  0x20, 0x53, 0x41, 0x4d, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x69,
-  0x2e, 0x65, 0x2e, 0x20, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x2e,
-  0x6f, 0x75, 0x74, 0x2e, 0x73, 0x61, 0x6d, 0x29, 0x0a, 0x0a, 0x6f, 0x75,
-  0x74, 0x53, 0x41, 0x4d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x69, 0x72, 0x65, 0x64,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a,
-  0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x72,
-  0x74, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65,
-  0x20, 0x53, 0x41, 0x4d, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61, 0x69, 0x72,
-  0x65, 0x64, 0x3a, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x65,
-  0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f,
-  0x74, 0x68, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c,
-  0x20, 0x70, 0x61, 0x69, 0x72, 0x65, 0x64, 0x20, 0x61, 0x6c, 0x69, 0x67,
-  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x50, 0x61, 0x69, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x65,
-  0x70, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x3a,
-  0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x20, 0x61, 0x66,
-  0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65,
-  0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x61,
-  0x69, 0x72, 0x65, 0x64, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65,
-  0x6e, 0x74, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x64,
-  0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x6b, 0x65, 0x70, 0x74, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x69,
-  0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20,
-  0x46, 0x41, 0x53, 0x54, 0x51, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x0a,
-  0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x70, 0x72, 0x69, 0x6d, 0x61,
-  0x72, 0x79, 0x46, 0x6c, 0x61, 0x67, 0x09, 0x09, 0x4f, 0x6e, 0x65, 0x42,
-  0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x77, 0x68, 0x69,
-  0x63, 0x68, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
-  0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64,
-  0x65, 0x72, 0x65, 0x64, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
-  0x20, 0x2d, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72,
-  0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x61,
-  0x72, 0x6b, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x30, 0x78,
-  0x31, 0x30, 0x30, 0x20, 0x62, 0x69, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x46, 0x4c, 0x41, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x4f, 0x6e, 0x65, 0x42, 0x65, 0x73, 0x74, 0x53,
-  0x63, 0x6f, 0x72, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x6e, 0x6c,
-  0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d,
-  0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65,
-  0x20, 0x62, 0x65, 0x73, 0x74, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20,
-  0x69, 0x73, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x6c, 0x6c, 0x42, 0x65,
-  0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
-  0x61, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
-  0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20,
-  0x62, 0x65, 0x73, 0x74, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x61,
-  0x72, 0x65, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x0a, 0x0a,
-  0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x72, 0x65, 0x61, 0x64, 0x49, 0x44,
-  0x09, 0x09, 0x09, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20,
-  0x72, 0x65, 0x61, 0x64, 0x20, 0x49, 0x44, 0x20, 0x72, 0x65, 0x63, 0x6f,
-  0x72, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x4b, 0x65, 0x65, 0x70, 0x50, 0x61, 0x69, 0x72,
+  0x73, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
+  0x20, 0x75, 0x6e, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x6d, 0x61,
+  0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20,
+  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x61,
+  0x6e, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20,
+  0x6f, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x72, 0x6f, 0x74, 0x65, 0x64, 0x20,
+  0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2c, 0x20, 0x6b, 0x65, 0x65, 0x70,
+  0x20, 0x69, 0x74, 0x20, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x74,
+  0x20, 0x74, 0x6f, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6d, 0x61, 0x70, 0x70,
+  0x65, 0x64, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
-  0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x77,
-  0x6f, 0x72, 0x64, 0x20, 0x28, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x73,
-  0x70, 0x61, 0x63, 0x65, 0x29, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x46, 0x41, 0x53, 0x54, 0x78, 0x20, 0x72, 0x65, 0x61,
-  0x64, 0x20, 0x49, 0x44, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x72,
-  0x65, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x2f, 0x31, 0x2c, 0x2f,
-  0x32, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65,
-  0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e,
-  0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
-  0x72, 0x65, 0x61, 0x64, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20,
-  0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, 0x69, 0x6e, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x46, 0x41, 0x53, 0x54, 0x78, 0x20, 0x66, 0x69, 0x6c,
-  0x65, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x6d, 0x61, 0x70,
-  0x71, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x32, 0x35, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
-  0x6e, 0x74, 0x3a, 0x20, 0x30, 0x20, 0x74, 0x6f, 0x20, 0x32, 0x35, 0x35,
-  0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4d, 0x41, 0x50, 0x51, 0x20, 0x76,
-  0x61, 0x6c, 0x75, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x69,
-  0x71, 0x75, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x0a,
-  0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x66, 0x6c, 0x61, 0x67, 0x4f,
-  0x52, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x30,
-  0x20, 0x74, 0x6f, 0x20, 0x36, 0x35, 0x35, 0x33, 0x35, 0x3a, 0x20, 0x73,
-  0x61, 0x6d, 0x20, 0x46, 0x4c, 0x41, 0x47, 0x20, 0x77, 0x69, 0x6c, 0x6c,
-  0x20, 0x62, 0x65, 0x20, 0x62, 0x69, 0x74, 0x77, 0x69, 0x73, 0x65, 0x20,
-  0x4f, 0x52, 0x27, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68,
-  0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x69, 0x2e,
-  0x65, 0x2e, 0x20, 0x46, 0x4c, 0x41, 0x47, 0x3d, 0x46, 0x4c, 0x41, 0x47,
-  0x20, 0x7c, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x66, 0x6c, 0x61,
-  0x67, 0x4f, 0x52, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73,
-  0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74,
-  0x65, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73,
-  0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x73,
-  0x65, 0x74, 0x20, 0x62, 0x79, 0x20, 0x53, 0x54, 0x41, 0x52, 0x2c, 0x20,
-  0x61, 0x6e, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x6f, 0x75,
-  0x74, 0x53, 0x41, 0x4d, 0x66, 0x6c, 0x61, 0x67, 0x41, 0x4e, 0x44, 0x2e,
-  0x20, 0x43, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64,
-  0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63,
-  0x69, 0x66, 0x69, 0x63, 0x20, 0x62, 0x69, 0x74, 0x73, 0x20, 0x74, 0x68,
-  0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73,
-  0x65, 0x74, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65,
-  0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x66, 0x6c, 0x61,
-  0x67, 0x41, 0x4e, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x36, 0x35, 0x35, 0x33, 0x35, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20,
+  0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74,
+  0x69, 0x2d, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65,
+  0x61, 0x64, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x6f,
+  0x72, 0x64, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x50, 0x61, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x74, 0x79, 0x70, 0x65,
+  0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20,
+  0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x20,
+  0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x50, 0x61, 0x69, 0x72, 0x65, 0x64, 0x3a, 0x20, 0x6f,
+  0x6e, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x20, 0x61, 0x66, 0x74, 0x65,
+  0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20,
+  0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x61, 0x69, 0x72,
+  0x65, 0x64, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+  0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x61,
+  0x69, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x65, 0x70, 0x49, 0x6e, 0x70, 0x75,
+  0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x3a, 0x20, 0x6f, 0x6e, 0x65, 0x20,
+  0x6d, 0x61, 0x74, 0x65, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x74,
+  0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72,
+  0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x61, 0x69, 0x72, 0x65, 0x64, 0x20,
+  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x69, 0x73,
+  0x20, 0x6b, 0x65, 0x70, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61,
+  0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65,
+  0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x46, 0x41, 0x53, 0x54, 0x51,
+  0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53,
+  0x41, 0x4d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x6c, 0x61,
+  0x67, 0x09, 0x09, 0x4f, 0x6e, 0x65, 0x42, 0x65, 0x73, 0x74, 0x53, 0x63,
+  0x6f, 0x72, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
+  0x6e, 0x67, 0x3a, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x61, 0x6c,
+  0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65,
+  0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20,
+  0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x2d, 0x20, 0x61, 0x6c,
+  0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x20, 0x77, 0x69, 0x6c,
+  0x6c, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20,
+  0x77, 0x69, 0x74, 0x68, 0x20, 0x30, 0x78, 0x31, 0x30, 0x30, 0x20, 0x62,
+  0x69, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x4c,
+  0x41, 0x47, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4f,
+  0x6e, 0x65, 0x42, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x20,
+  0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65,
+  0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77,
+  0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x73, 0x74,
+  0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72,
+  0x69, 0x6d, 0x61, 0x72, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x41, 0x6c, 0x6c, 0x42, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f,
+  0x72, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61,
+  0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x77, 0x69,
+  0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x73, 0x74, 0x20,
+  0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72,
+  0x69, 0x6d, 0x61, 0x72, 0x79, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41,
+  0x4d, 0x72, 0x65, 0x61, 0x64, 0x49, 0x44, 0x09, 0x09, 0x09, 0x53, 0x74,
+  0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
+  0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
+  0x49, 0x44, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x74, 0x79,
+  0x70, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53,
+  0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
+  0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x20, 0x28,
+  0x75, 0x6e, 0x74, 0x69, 0x6c, 0x20, 0x73, 0x70, 0x61, 0x63, 0x65, 0x29,
+  0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x41,
+  0x53, 0x54, 0x78, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x49, 0x44, 0x20,
+  0x6c, 0x69, 0x6e, 0x65, 0x2c, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x69,
+  0x6e, 0x67, 0x20, 0x2f, 0x31, 0x2c, 0x2f, 0x32, 0x20, 0x66, 0x72, 0x6f,
+  0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
+  0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
+  0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65,
+  0x78, 0x29, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x41,
+  0x53, 0x54, 0x78, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x0a, 0x6f, 0x75,
+  0x74, 0x53, 0x41, 0x4d, 0x6d, 0x61, 0x70, 0x71, 0x55, 0x6e, 0x69, 0x71,
+  0x75, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x35,
+  0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x30,
+  0x20, 0x74, 0x6f, 0x20, 0x32, 0x35, 0x35, 0x3a, 0x20, 0x74, 0x68, 0x65,
+  0x20, 0x4d, 0x41, 0x50, 0x51, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20,
+  0x66, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x6d,
+  0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53,
+  0x41, 0x4d, 0x66, 0x6c, 0x61, 0x67, 0x4f, 0x52, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20,
   0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x30, 0x20, 0x74, 0x6f, 0x20, 0x36,
   0x35, 0x35, 0x33, 0x35, 0x3a, 0x20, 0x73, 0x61, 0x6d, 0x20, 0x46, 0x4c,
   0x41, 0x47, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x62,
-  0x69, 0x74, 0x77, 0x69, 0x73, 0x65, 0x20, 0x41, 0x4e, 0x44, 0x27, 0x64,
-  0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76,
-  0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x46,
-  0x4c, 0x41, 0x47, 0x3d, 0x46, 0x4c, 0x41, 0x47, 0x20, 0x26, 0x20, 0x6f,
-  0x75, 0x74, 0x53, 0x41, 0x4d, 0x66, 0x6c, 0x61, 0x67, 0x4f, 0x52, 0x2e,
-  0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x70, 0x70,
-  0x6c, 0x69, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61,
-  0x6c, 0x6c, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x68, 0x61, 0x76,
-  0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x20, 0x62,
-  0x79, 0x20, 0x53, 0x54, 0x41, 0x52, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20,
-  0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x41,
-  0x4d, 0x66, 0x6c, 0x61, 0x67, 0x4f, 0x52, 0x2e, 0x20, 0x43, 0x61, 0x6e,
-  0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,
-  0x75, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66,
-  0x69, 0x63, 0x20, 0x62, 0x69, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74,
-  0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74,
-  0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x2e, 0x0a,
-  0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x61, 0x74, 0x74, 0x72, 0x52,
-  0x47, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
-  0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x53, 0x41, 0x4d, 0x2f, 0x42, 0x41,
-  0x4d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70,
-  0x20, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66,
-  0x69, 0x72, 0x73, 0x74, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x20, 0x63, 0x6f,
-  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72,
-  0x65, 0x61, 0x64, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x69, 0x64,
-  0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64,
-  0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20,
-  0x77, 0x69, 0x74, 0x68, 0x20, 0x22, 0x49, 0x44, 0x3a, 0x22, 0x2c, 0x20,
-  0x65, 0x2e, 0x67, 0x2e, 0x20, 0x2d, 0x2d, 0x6f, 0x75, 0x74, 0x53, 0x41,
-  0x4d, 0x61, 0x74, 0x74, 0x72, 0x52, 0x47, 0x6c, 0x69, 0x6e, 0x65, 0x20,
-  0x49, 0x44, 0x3a, 0x78, 0x78, 0x78, 0x20, 0x43, 0x4e, 0x3a, 0x79, 0x79,
-  0x20, 0x22, 0x44, 0x53, 0x3a, 0x7a, 0x20, 0x7a, 0x20, 0x7a, 0x22, 0x2e,
-  0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x78, 0x78, 0x78, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62,
-  0x65, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x52,
-  0x47, 0x20, 0x74, 0x61, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x61, 0x63,
-  0x68, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x61, 0x6c, 0x69,
-  0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x41, 0x6e, 0x79, 0x20,
-  0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68,
-  0x65, 0x20, 0x74, 0x61, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
-  0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20,
-  0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x71, 0x75, 0x6f, 0x74, 0x65,
-  0x64, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x20, 0x73, 0x65, 0x70,
-  0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x52, 0x47, 0x20, 0x6c, 0x69,
-  0x6e, 0x65, 0x73, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f,
-  0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72,
-  0x65, 0x6e, 0x74, 0x20, 0x28, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x20, 0x73,
-  0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x29, 0x20, 0x69, 0x6e,
-  0x70, 0x75, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e,
-  0x20, 0x2d, 0x2d, 0x72, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73,
-  0x49, 0x6e, 0x2e, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x73, 0x20, 0x68,
-  0x61, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x75,
-  0x72, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20,
-  0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x2d, 0x2d, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x61, 0x74, 0x74,
-  0x72, 0x52, 0x47, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x49, 0x44, 0x3a, 0x78,
-  0x78, 0x78, 0x20, 0x2c, 0x20, 0x49, 0x44, 0x3a, 0x7a, 0x7a, 0x7a, 0x20,
-  0x22, 0x44, 0x53, 0x3a, 0x7a, 0x20, 0x7a, 0x22, 0x20, 0x2c, 0x20, 0x49,
-  0x44, 0x3a, 0x79, 0x79, 0x79, 0x20, 0x44, 0x53, 0x3a, 0x79, 0x79, 0x79,
-  0x79, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x68, 0x65, 0x61,
-  0x64, 0x65, 0x72, 0x48, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72,
-  0x69, 0x6e, 0x67, 0x73, 0x3a, 0x20, 0x40, 0x48, 0x44, 0x20, 0x28, 0x68,
-  0x65, 0x61, 0x64, 0x65, 0x72, 0x29, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x20,
-  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x68,
-  0x65, 0x61, 0x64, 0x65, 0x72, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41,
-  0x4d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x47, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x20, 0x65, 0x78,
-  0x74, 0x72, 0x61, 0x20, 0x40, 0x50, 0x47, 0x20, 0x28, 0x73, 0x6f, 0x66,
-  0x74, 0x77, 0x61, 0x72, 0x65, 0x29, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x20,
-  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x68,
-  0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x28, 0x69, 0x6e, 0x20, 0x61, 0x64,
-  0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x53, 0x54,
-  0x41, 0x52, 0x29, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x68,
-  0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74,
-  0x46, 0x69, 0x6c, 0x65, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
-  0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20,
-  0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20,
-  0x77, 0x69, 0x74, 0x68, 0x20, 0x40, 0x43, 0x4f, 0x20, 0x28, 0x63, 0x6f,
-  0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x29, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73,
-  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x20,
-  0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53,
-  0x41, 0x4d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x74, 0x77, 0x69, 0x73, 0x65, 0x20, 0x4f, 0x52, 0x27, 0x64, 0x20,
+  0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61,
+  0x6c, 0x75, 0x65, 0x2c, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x46, 0x4c,
+  0x41, 0x47, 0x3d, 0x46, 0x4c, 0x41, 0x47, 0x20, 0x7c, 0x20, 0x6f, 0x75,
+  0x74, 0x53, 0x41, 0x4d, 0x66, 0x6c, 0x61, 0x67, 0x4f, 0x52, 0x2e, 0x20,
+  0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c,
+  0x69, 0x65, 0x64, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6c,
+  0x6c, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x20, 0x68, 0x61, 0x76, 0x65,
+  0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x20, 0x62, 0x79,
+  0x20, 0x53, 0x54, 0x41, 0x52, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61,
+  0x66, 0x74, 0x65, 0x72, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x66,
+  0x6c, 0x61, 0x67, 0x41, 0x4e, 0x44, 0x2e, 0x20, 0x43, 0x61, 0x6e, 0x20,
+  0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x73,
+  0x65, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20,
+  0x62, 0x69, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72,
+  0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x74,
+  0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x6f, 0x75,
+  0x74, 0x53, 0x41, 0x4d, 0x66, 0x6c, 0x61, 0x67, 0x41, 0x4e, 0x44, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x36, 0x35,
+  0x35, 0x33, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a,
+  0x20, 0x30, 0x20, 0x74, 0x6f, 0x20, 0x36, 0x35, 0x35, 0x33, 0x35, 0x3a,
+  0x20, 0x73, 0x61, 0x6d, 0x20, 0x46, 0x4c, 0x41, 0x47, 0x20, 0x77, 0x69,
+  0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x62, 0x69, 0x74, 0x77, 0x69, 0x73,
+  0x65, 0x20, 0x41, 0x4e, 0x44, 0x27, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68,
+  0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c,
+  0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x46, 0x4c, 0x41, 0x47, 0x3d, 0x46,
+  0x4c, 0x41, 0x47, 0x20, 0x26, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d,
+  0x66, 0x6c, 0x61, 0x67, 0x4f, 0x52, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73,
+  0x20, 0x69, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20,
+  0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x66, 0x6c,
+  0x61, 0x67, 0x73, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65,
+  0x6e, 0x20, 0x73, 0x65, 0x74, 0x20, 0x62, 0x79, 0x20, 0x53, 0x54, 0x41,
+  0x52, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72,
+  0x65, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x66, 0x6c, 0x61, 0x67,
+  0x4f, 0x52, 0x2e, 0x20, 0x43, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75,
+  0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74,
+  0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x62, 0x69,
+  0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20,
+  0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x74, 0x68, 0x65,
+  0x72, 0x77, 0x69, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53,
+  0x41, 0x4d, 0x61, 0x74, 0x74, 0x72, 0x52, 0x47, 0x6c, 0x69, 0x6e, 0x65,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a,
+  0x20, 0x53, 0x41, 0x4d, 0x2f, 0x42, 0x41, 0x4d, 0x20, 0x72, 0x65, 0x61,
+  0x64, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6c, 0x69, 0x6e, 0x65,
+  0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20,
+  0x77, 0x6f, 0x72, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
+  0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x67,
+  0x72, 0x6f, 0x75, 0x70, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
+  0x69, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74,
+  0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,
+  0x22, 0x49, 0x44, 0x3a, 0x22, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20,
+  0x2d, 0x2d, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x61, 0x74, 0x74, 0x72,
+  0x52, 0x47, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x49, 0x44, 0x3a, 0x78, 0x78,
+  0x78, 0x20, 0x43, 0x4e, 0x3a, 0x79, 0x79, 0x20, 0x22, 0x44, 0x53, 0x3a,
+  0x7a, 0x20, 0x7a, 0x20, 0x7a, 0x22, 0x2e, 0x20, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x78, 0x78,
+  0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x64, 0x64,
+  0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x52, 0x47, 0x20, 0x74, 0x61, 0x67,
+  0x20, 0x74, 0x6f, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x6f, 0x75, 0x74,
+  0x70, 0x75, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
+  0x74, 0x2e, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x73, 0x70, 0x61, 0x63, 0x65,
+  0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x67,
+  0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x68, 0x61, 0x76, 0x65,
+  0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c,
+  0x65, 0x20, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f,
+  0x6d, 0x6d, 0x61, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65,
+  0x64, 0x20, 0x52, 0x47, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x63,
+  0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f,
+  0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x28,
+  0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61,
+  0x74, 0x65, 0x64, 0x29, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x66,
+  0x69, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x2d, 0x2d, 0x72, 0x65,
+  0x61, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x49, 0x6e, 0x2e, 0x20, 0x43,
+  0x6f, 0x6d, 0x6d, 0x61, 0x73, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74,
+  0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x75, 0x6e,
+  0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x73, 0x70, 0x61, 0x63, 0x65,
+  0x73, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x6f, 0x75,
+  0x74, 0x53, 0x41, 0x4d, 0x61, 0x74, 0x74, 0x72, 0x52, 0x47, 0x6c, 0x69,
+  0x6e, 0x65, 0x20, 0x49, 0x44, 0x3a, 0x78, 0x78, 0x78, 0x20, 0x2c, 0x20,
+  0x49, 0x44, 0x3a, 0x7a, 0x7a, 0x7a, 0x20, 0x22, 0x44, 0x53, 0x3a, 0x7a,
+  0x20, 0x7a, 0x22, 0x20, 0x2c, 0x20, 0x49, 0x44, 0x3a, 0x79, 0x79, 0x79,
+  0x20, 0x44, 0x53, 0x3a, 0x79, 0x79, 0x79, 0x79, 0x0a, 0x0a, 0x6f, 0x75,
+  0x74, 0x53, 0x41, 0x4d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x44,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x3a,
+  0x20, 0x40, 0x48, 0x44, 0x20, 0x28, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
+  0x29, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
+  0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x68, 0x65, 0x61, 0x64,
+  0x65, 0x72, 0x50, 0x47, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
+  0x6e, 0x67, 0x73, 0x3a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x40,
+  0x50, 0x47, 0x20, 0x28, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
+  0x29, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
+  0x20, 0x28, 0x69, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
+  0x6e, 0x20, 0x74, 0x6f, 0x20, 0x53, 0x54, 0x41, 0x52, 0x29, 0x0a, 0x0a,
+  0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
+  0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x20,
+  0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+  0x3a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,
+  0x40, 0x43, 0x4f, 0x20, 0x28, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74,
+  0x29, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74,
+  0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65,
+  0x72, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x66, 0x69, 0x6c,
+  0x74, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x66,
+  0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75,
+  0x74, 0x70, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x6d, 0x61,
+  0x69, 0x6e, 0x20, 0x53, 0x41, 0x4d, 0x2f, 0x42, 0x41, 0x4d, 0x20, 0x66,
+  0x69, 0x6c, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x65, 0x65, 0x70, 0x4f, 0x6e, 0x6c,
+  0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65,
+  0x6e, 0x63, 0x65, 0x73, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x6e, 0x6c,
+  0x79, 0x20, 0x6b, 0x65, 0x65, 0x70, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72,
+  0x65, 0x61, 0x64, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x68, 0x69,
+  0x63, 0x68, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e,
+  0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x6f,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x72,
+  0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x73, 0x65, 0x71,
+  0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64,
+  0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x2d, 0x2d, 0x67, 0x65, 0x6e, 0x6f,
+  0x6d, 0x65, 0x46, 0x61, 0x73, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x73,
+  0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70,
+  0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a,
+  0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x6d, 0x75, 0x6c, 0x74, 0x4e, 0x6d,
+  0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x2d, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20,
+  0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f,
+  0x66, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x61,
+  0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f,
+  0x72, 0x20, 0x61, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x74, 0x68, 0x61,
+  0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75,
+  0x74, 0x70, 0x75, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x53, 0x41, 0x4d, 0x2f, 0x42, 0x41, 0x4d, 0x20, 0x66, 0x69, 0x6c, 0x65,
+  0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x2d, 0x31, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6c,
+  0x6c, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
+  0x20, 0x28, 0x75, 0x70, 0x20, 0x74, 0x6f, 0x20, 0x2d, 0x2d, 0x6f, 0x75,
+  0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69,
+  0x6d, 0x61, 0x70, 0x4e, 0x6d, 0x61, 0x78, 0x29, 0x20, 0x77, 0x69, 0x6c,
+  0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a,
+  0x0a, 0x6f, 0x75, 0x74, 0x42, 0x41, 0x4d, 0x63, 0x6f, 0x6d, 0x70, 0x72,
+  0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20,
+  0x2d, 0x31, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x20, 0x20, 0x42, 0x41,
+  0x4d, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
+  0x6e, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2c, 0x20, 0x2d, 0x31, 0x3d,
+  0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70,
+  0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x36, 0x3f, 0x29,
+  0x2c, 0x20, 0x30, 0x3d, 0x6e, 0x6f, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72,
+  0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x31, 0x30, 0x3d, 0x6d,
+  0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72,
+  0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x42,
+  0x41, 0x4d, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x72,
+  0x65, 0x61, 0x64, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x3e, 0x3d, 0x30, 0x3a, 0x20,
+  0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
+  0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x42, 0x41,
+  0x4d, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x30,
+  0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+  0x74, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x36, 0x2c, 0x2d,
+  0x2d, 0x72, 0x75, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x29,
+  0x2e, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x70,
+  0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x0a, 0x0a, 0x62,
+  0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x75, 0x70, 0x6c,
+  0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x20, 0x20,
+  0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+  0x3a, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x64, 0x75, 0x70, 0x6c, 0x69,
+  0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65,
+  0x20, 0x42, 0x41, 0x4d, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, 0x66,
+  0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x77, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
+  0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73,
+  0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x66, 0x65,
+  0x65, 0x64, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x69, 0x6e,
+  0x70, 0x75, 0x74, 0x42, 0x41, 0x4d, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x64, 0x75,
+  0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f,
+  0x76, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
+  0x63, 0x61, 0x6c, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6d, 0x61, 0x72, 0x6b,
+  0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61,
+  0x70, 0x70, 0x65, 0x72, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64,
+  0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x75, 0x6e, 0x69,
+  0x71, 0x75, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e,
+  0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e,
+  0x61, 0x74, 0x65, 0x73, 0x2c, 0x20, 0x46, 0x4c, 0x41, 0x47, 0x2c, 0x20,
+  0x43, 0x49, 0x47, 0x41, 0x52, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62,
+  0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x0a,
+  0x0a, 0x62, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x75,
+  0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x65,
+  0x32, 0x62, 0x61, 0x73, 0x65, 0x73, 0x4e, 0x20, 0x20, 0x20, 0x30, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6e,
+  0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x61, 0x73,
+  0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x35, 0x27, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x20, 0x32,
+  0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x63,
+  0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x65,
+  0x2e, 0x67, 0x2e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x52, 0x41, 0x4d, 0x50,
+  0x41, 0x47, 0x45, 0x29, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x4f, 0x75,
+  0x74, 0x70, 0x75, 0x74, 0x20, 0x57, 0x69, 0x67, 0x67, 0x6c, 0x65, 0x0a,
+  0x6f, 0x75, 0x74, 0x57, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65,
   0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28,
-  0x73, 0x29, 0x3a, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x69, 0x6e,
-  0x74, 0x6f, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x53, 0x41, 0x4d, 0x2f,
-  0x42, 0x41, 0x4d, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x65,
-  0x65, 0x70, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52,
-  0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x2e, 0x2e,
-  0x2e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6b, 0x65, 0x65, 0x70, 0x20,
-  0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x66, 0x6f,
-  0x72, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x61, 0x6c, 0x6c, 0x20,
-  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61,
-  0x72, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78,
-  0x74, 0x72, 0x61, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
-  0x65, 0x20, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20,
-  0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x2d,
-  0x2d, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x46, 0x61, 0x73, 0x74, 0x61,
-  0x46, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65,
-  0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74, 0x61,
-  0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d, 0x6d,
-  0x75, 0x6c, 0x74, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x69, 0x6e, 0x74, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d,
-  0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69,
-  0x70, 0x6c, 0x65, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
-  0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x72, 0x65, 0x61,
-  0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20,
-  0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x74, 0x6f,
-  0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x2f, 0x42, 0x41, 0x4d,
-  0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x31, 0x20, 0x2e,
-  0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e,
-  0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x28, 0x75, 0x70, 0x20, 0x74, 0x6f,
-  0x20, 0x2d, 0x2d, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
-  0x4d, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70, 0x4e, 0x6d, 0x61, 0x78,
-  0x29, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75,
-  0x74, 0x70, 0x75, 0x74, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x42, 0x41, 0x4d,
-  0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x69, 0x6e, 0x74, 0x3a, 0x20, 0x2d, 0x31, 0x20, 0x74, 0x6f, 0x20, 0x31,
-  0x30, 0x20, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72,
-  0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c,
-  0x2c, 0x20, 0x2d, 0x31, 0x3d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
-  0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
-  0x20, 0x28, 0x36, 0x3f, 0x29, 0x2c, 0x20, 0x30, 0x3d, 0x6e, 0x6f, 0x20,
-  0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c,
-  0x20, 0x31, 0x30, 0x3d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20,
-  0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a,
-  0x0a, 0x6f, 0x75, 0x74, 0x42, 0x41, 0x4d, 0x73, 0x6f, 0x72, 0x74, 0x69,
-  0x6e, 0x67, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4e, 0x20, 0x20, 0x20,
-  0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20,
-  0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20,
-  0x6f, 0x66, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x66,
-  0x6f, 0x72, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x69,
-  0x6e, 0x67, 0x2e, 0x20, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x64,
-  0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x69,
-  0x6e, 0x28, 0x36, 0x2c, 0x2d, 0x2d, 0x72, 0x75, 0x6e, 0x54, 0x68, 0x72,
-  0x65, 0x61, 0x64, 0x4e, 0x29, 0x2e, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20,
-  0x42, 0x41, 0x4d, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69,
-  0x6e, 0x67, 0x0a, 0x0a, 0x62, 0x61, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x76,
-  0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54,
-  0x79, 0x70, 0x65, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
-  0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x20,
-  0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x69,
-  0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x66, 0x69,
-  0x6c, 0x65, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x77, 0x20,
-  0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20, 0x77,
-  0x69, 0x74, 0x68, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x42,
-  0x41, 0x4d, 0x20, 0x66, 0x65, 0x65, 0x64, 0x65, 0x64, 0x20, 0x77, 0x69,
-  0x74, 0x68, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x41, 0x4d, 0x66,
-  0x69, 0x6c, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
-  0x6e, 0x6f, 0x20, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65,
-  0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x72,
-  0x6b, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49,
-  0x64, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6d, 0x75,
-  0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2c, 0x20,
-  0x61, 0x6e, 0x64, 0x20, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
-  0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x6d, 0x61, 0x70,
-  0x70, 0x65, 0x72, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x6f,
-  0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x2c, 0x20, 0x46,
-  0x4c, 0x41, 0x47, 0x2c, 0x20, 0x43, 0x49, 0x47, 0x41, 0x52, 0x20, 0x6d,
-  0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74,
-  0x69, 0x63, 0x61, 0x6c, 0x0a, 0x0a, 0x62, 0x61, 0x6d, 0x52, 0x65, 0x6d,
-  0x6f, 0x76, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65,
-  0x73, 0x4d, 0x61, 0x74, 0x65, 0x32, 0x62, 0x61, 0x73, 0x65, 0x73, 0x4e,
-  0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74,
-  0x3e, 0x30, 0x3a, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f,
-  0x66, 0x20, 0x62, 0x61, 0x73, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d,
-  0x20, 0x74, 0x68, 0x65, 0x20, 0x35, 0x27, 0x20, 0x6f, 0x66, 0x20, 0x6d,
-  0x61, 0x74, 0x65, 0x20, 0x32, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65,
-  0x20, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x69,
-  0x6e, 0x67, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x66, 0x6f, 0x72,
-  0x20, 0x52, 0x41, 0x4d, 0x50, 0x41, 0x47, 0x45, 0x29, 0x0a, 0x0a, 0x23,
-  0x23, 0x23, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x57, 0x69,
-  0x67, 0x67, 0x6c, 0x65, 0x0a, 0x6f, 0x75, 0x74, 0x57, 0x69, 0x67, 0x54,
-  0x79, 0x70, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74,
-  0x72, 0x69, 0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x74, 0x79, 0x70,
-  0x65, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20,
-  0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e,
-  0x20, 0x22, 0x62, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x22, 0x20,
-  0x4f, 0x52, 0x20, 0x22, 0x62, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68,
-  0x20, 0x72, 0x65, 0x61, 0x64, 0x31, 0x5f, 0x35, 0x70, 0x22, 0x2e, 0x20,
-  0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x73, 0x6f, 0x72,
-  0x74, 0x65, 0x64, 0x20, 0x42, 0x41, 0x4d, 0x3a, 0x20, 0x2d, 0x2d, 0x6f,
-  0x75, 0x74, 0x53, 0x41, 0x4d, 0x74, 0x79, 0x70, 0x65, 0x20, 0x42, 0x41,
-  0x4d, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42, 0x79, 0x43, 0x6f,
-  0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x2e, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x73, 0x74, 0x20, 0x77,
-  0x6f, 0x72, 0x64, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61,
-  0x6c, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70,
-  0x68, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x62, 0x65, 0x64, 0x47,
-  0x72, 0x61, 0x70, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x67,
-  0x67, 0x6c, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
-  0x77, 0x69, 0x67, 0x67, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61,
-  0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x6e,
-  0x64, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x73, 0x29, 0x3a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20,
+  0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75,
+  0x74, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x22, 0x62, 0x65, 0x64,
+  0x47, 0x72, 0x61, 0x70, 0x68, 0x22, 0x20, 0x4f, 0x52, 0x20, 0x22, 0x62,
+  0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x20, 0x72, 0x65, 0x61, 0x64,
+  0x31, 0x5f, 0x35, 0x70, 0x22, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69,
+  0x72, 0x65, 0x73, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x42,
+  0x41, 0x4d, 0x3a, 0x20, 0x2d, 0x2d, 0x6f, 0x75, 0x74, 0x53, 0x41, 0x4d,
+  0x74, 0x79, 0x70, 0x65, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x53, 0x6f, 0x72,
+  0x74, 0x65, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e,
+  0x61, 0x74, 0x65, 0x20, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x31, 0x73, 0x74, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x0a,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x61, 0x64, 0x31, 0x5f, 0x35, 0x70,
-  0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61,
-  0x6c, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
-  0x35, 0x27, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x31, 0x73,
-  0x74, 0x20, 0x72, 0x65, 0x61, 0x64, 0x2c, 0x20, 0x75, 0x73, 0x65, 0x66,
-  0x75, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x43, 0x41, 0x47, 0x45, 0x2f,
-  0x52, 0x41, 0x4d, 0x50, 0x41, 0x47, 0x45, 0x20, 0x65, 0x74, 0x63, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x61, 0x64,
-  0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73,
-  0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f,
-  0x6e, 0x6c, 0x79, 0x20, 0x32, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x61, 0x64,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x6f, 0x75,
-  0x74, 0x57, 0x69, 0x67, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x64,
-  0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
-  0x67, 0x3a, 0x20, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x6e,
-  0x65, 0x73, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x77, 0x69, 0x67, 0x67, 0x6c,
-  0x65, 0x2f, 0x62, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x20, 0x6f,
-  0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e,
+  0x6f, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6f, 0x75, 0x74,
+  0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x20,
-  0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61,
-  0x74, 0x65, 0x20, 0x73, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x2c, 0x20,
-  0x73, 0x74, 0x72, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x72,
-  0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x6e,
-  0x73, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x20,
-  0x73, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
-  0x57, 0x69, 0x67, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
-  0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x20, 0x20, 0x20, 0x2d,
+  0x62, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x20, 0x20, 0x20, 0x2e,
+  0x2e, 0x2e, 0x20, 0x62, 0x65, 0x64, 0x47, 0x72, 0x61, 0x70, 0x68, 0x20,
+  0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x67, 0x67, 0x6c, 0x65, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x77, 0x69, 0x67, 0x67, 0x6c,
+  0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x6e, 0x64, 0x20, 0x77, 0x6f, 0x72,
+  0x64, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72,
+  0x65, 0x61, 0x64, 0x31, 0x5f, 0x35, 0x70, 0x20, 0x20, 0x20, 0x2e, 0x2e,
+  0x2e, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x72, 0x6f,
+  0x6d, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x35, 0x27, 0x20, 0x6f, 0x66,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x31, 0x73, 0x74, 0x20, 0x72, 0x65, 0x61,
+  0x64, 0x2c, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x66, 0x6f,
+  0x72, 0x20, 0x43, 0x41, 0x47, 0x45, 0x2f, 0x52, 0x41, 0x4d, 0x50, 0x41,
+  0x47, 0x45, 0x20, 0x65, 0x74, 0x63, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x72, 0x65, 0x61, 0x64, 0x32, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c,
+  0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x32,
+  0x6e, 0x64, 0x20, 0x72, 0x65, 0x61, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x0a, 0x6f, 0x75, 0x74, 0x57, 0x69, 0x67, 0x53,
+  0x74, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x53, 0x74, 0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x73, 0x74,
+  0x72, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x6f,
+  0x66, 0x20, 0x77, 0x69, 0x67, 0x67, 0x6c, 0x65, 0x2f, 0x62, 0x65, 0x64,
+  0x47, 0x72, 0x61, 0x70, 0x68, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x74, 0x72,
+  0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
+  0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, 0x73, 0x74,
+  0x72, 0x61, 0x6e, 0x64, 0x73, 0x2c, 0x20, 0x73, 0x74, 0x72, 0x31, 0x20,
+  0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x72, 0x32, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x6e,
+  0x64, 0x65, 0x64, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x20, 0x63, 0x6f, 0x6c,
+  0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x61, 0x6e,
+  0x64, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x57, 0x69, 0x67, 0x52, 0x65,
+  0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x50, 0x72, 0x65, 0x66,
+  0x69, 0x78, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x70, 0x72, 0x65, 0x66,
+  0x69, 0x78, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20,
+  0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6e, 0x61,
+  0x6d, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75,
+  0x64, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75,
+  0x74, 0x70, 0x75, 0x74, 0x20, 0x77, 0x69, 0x67, 0x67, 0x6c, 0x65, 0x20,
+  0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x22,
+  0x63, 0x68, 0x72, 0x22, 0x2c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+  0x74, 0x20, 0x22, 0x2d, 0x22, 0x20, 0x2d, 0x20, 0x69, 0x6e, 0x63, 0x6c,
+  0x75, 0x64, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x66, 0x65,
+  0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x0a, 0x20, 0x0a, 0x6f, 0x75, 0x74,
+  0x57, 0x69, 0x67, 0x4e, 0x6f, 0x72, 0x6d, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x50, 0x4d,
   0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a,
-  0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6d, 0x61, 0x74, 0x63,
-  0x68, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
-  0x63, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20,
-  0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x77, 0x69,
-  0x67, 0x67, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2c, 0x20, 0x65,
-  0x2e, 0x67, 0x2e, 0x20, 0x22, 0x63, 0x68, 0x72, 0x22, 0x2c, 0x20, 0x64,
-  0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x22, 0x2d, 0x22, 0x20, 0x2d,
-  0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x61, 0x6c, 0x6c,
-  0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x0a,
-  0x20, 0x0a, 0x6f, 0x75, 0x74, 0x57, 0x69, 0x67, 0x4e, 0x6f, 0x72, 0x6d,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x52, 0x50, 0x4d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74,
-  0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f,
-  0x66, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74,
-  0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20,
-  0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x50, 0x4d, 0x20, 0x20,
-  0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20,
-  0x70, 0x65, 0x72, 0x20, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x20,
-  0x6f, 0x66, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x72, 0x65,
-  0x61, 0x64, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x6e, 0x6f, 0x72,
+  0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66,
+  0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x61,
+  0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x2e,
-  0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
-  0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x22, 0x72, 0x61,
-  0x77, 0x22, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x0a, 0x0a, 0x23,
-  0x23, 0x23, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x46, 0x69,
-  0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x0a, 0x6f, 0x75, 0x74, 0x46,
-  0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x74,
-  0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65,
-  0x72, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x66, 0x69,
-  0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e,
-  0x67, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65,
-  0x6e, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x52, 0x50, 0x4d, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
+  0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x6d,
+  0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61,
+  0x70, 0x70, 0x65, 0x64, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x0a, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x42, 0x79, 0x53,
-  0x4a, 0x6f, 0x75, 0x74, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6b, 0x65, 0x65,
-  0x70, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65,
-  0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20,
-  0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6a, 0x75, 0x6e, 0x63,
-  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70,
-  0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
-  0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x53, 0x4a, 0x2e,
-  0x6f, 0x75, 0x74, 0x2e, 0x74, 0x61, 0x62, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
-  0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x6d,
-  0x61, 0x70, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
-  0x6e, 0x74, 0x3a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x6f, 0x72,
-  0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x6f,
-  0x77, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75,
-  0x6d, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20,
-  0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
-  0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a,
-  0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x75,
-  0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x72, 0x65, 0x61,
-  0x64, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
-  0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74,
-  0x70, 0x75, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20,
-  0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x61, 0x70,
-  0x73, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e,
-  0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c,
-  0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x6e,
-  0x6f, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
-  0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74,
-  0x70, 0x75, 0x74, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74,
-  0x65, 0x72, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6d,
-  0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a,
-  0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e,
+  0x6f, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f,
+  0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69,
+  0x6f, 0x6e, 0x2c, 0x20, 0x22, 0x72, 0x61, 0x77, 0x22, 0x20, 0x63, 0x6f,
+  0x75, 0x6e, 0x74, 0x73, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x4f, 0x75,
+  0x74, 0x70, 0x75, 0x74, 0x20, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69,
+  0x6e, 0x67, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+  0x54, 0x79, 0x70, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e,
+  0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74,
+  0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f,
+  0x66, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x72, 0x6d,
+  0x61, 0x6c, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73, 0x74, 0x61, 0x6e,
+  0x64, 0x61, 0x72, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69,
+  0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x6c,
+  0x79, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x6c,
+  0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x42, 0x79, 0x53, 0x4a, 0x6f, 0x75, 0x74, 0x20,
+  0x2e, 0x2e, 0x2e, 0x20, 0x6b, 0x65, 0x65, 0x70, 0x20, 0x6f, 0x6e, 0x6c,
+  0x79, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64,
+  0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61,
+  0x69, 0x6e, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64,
+  0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69,
+  0x6e, 0x74, 0x6f, 0x20, 0x53, 0x4a, 0x2e, 0x6f, 0x75, 0x74, 0x2e, 0x74,
+  0x61, 0x62, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65,
+  0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70, 0x53, 0x63, 0x6f,
+  0x72, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x74,
+  0x68, 0x65, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x61, 0x6e,
+  0x67, 0x65, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65,
+  0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x73, 0x63, 0x6f,
+  0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69,
+  0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x69, 0x67,
+  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46,
+  0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61,
+  0x70, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
+  0x6e, 0x74, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20,
+  0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f,
+  0x63, 0x69, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
+  0x69, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x74,
+  0x6f, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x2e, 0x20, 0x41, 0x6c,
+  0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x28, 0x61, 0x6c,
+  0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x29, 0x20, 0x77,
   0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75,
-  0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74,
-  0x20, 0x68, 0x61, 0x73, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x6d,
-  0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x68,
-  0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75,
-  0x65, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
+  0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x61, 0x70, 0x73, 0x20,
+  0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6c,
+  0x6f, 0x63, 0x69, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69,
+  0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4f, 0x74, 0x68, 0x65, 0x72,
+  0x77, 0x69, 0x73, 0x65, 0x20, 0x6e, 0x6f, 0x20, 0x61, 0x6c, 0x69, 0x67,
+  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20,
+  0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2c, 0x20, 0x61,
+  0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
+  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x75, 0x6e,
+  0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x22, 0x6d, 0x61, 0x70, 0x70,
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x6f, 0x6f, 0x20, 0x6d, 0x61,
+  0x6e, 0x79, 0x20, 0x6c, 0x6f, 0x63, 0x69, 0x22, 0x20, 0x69, 0x6e, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x4c, 0x6f, 0x67, 0x2e, 0x66, 0x69, 0x6e, 0x61,
+  0x6c, 0x2e, 0x6f, 0x75, 0x74, 0x20, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
+  0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74,
+  0x63, 0x68, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x6e, 0x74, 0x3a, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65,
+  0x6e, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69,
+  0x66, 0x20, 0x69, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20,
+  0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63,
+  0x68, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69,
+  0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x6f, 0x75,
+  0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x6d, 0x61,
+  0x74, 0x63, 0x68, 0x4e, 0x6f, 0x76, 0x65, 0x72, 0x4c, 0x6d, 0x61, 0x78,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2e, 0x33, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x20, 0x61, 0x6c, 0x69,
+  0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20,
+  0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x6f, 0x6e,
+  0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x73, 0x20, 0x72, 0x61,
+  0x74, 0x69, 0x6f, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61,
+  0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x2a, 0x6d, 0x61,
+  0x70, 0x70, 0x65, 0x64, 0x2a, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
+  0x20, 0x69, 0x73, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61,
+  0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74,
+  0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65,
+  0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
   0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x76, 0x65,
-  0x72, 0x4c, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30,
-  0x2e, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20,
-  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69,
-  0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
-  0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x73,
-  0x20, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x69,
-  0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20,
-  0x2a, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x2a, 0x20, 0x6c, 0x65, 0x6e,
+  0x72, 0x52, 0x65, 0x61, 0x64, 0x4c, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x31,
+  0x2e, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+  0x3a, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20,
+  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70,
+  0x75, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x69,
+  0x74, 0x73, 0x20, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x20, 0x6f, 0x66, 0x20,
+  0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74,
+  0x6f, 0x20, 0x2a, 0x72, 0x65, 0x61, 0x64, 0x2a, 0x20, 0x6c, 0x65, 0x6e,
   0x67, 0x74, 0x68, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20,
-  0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61,
-  0x6c, 0x75, 0x65, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74,
-  0x65, 0x72, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f,
-  0x76, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x4c, 0x6d, 0x61, 0x78, 0x20,
-  0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20,
-  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69,
-  0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
-  0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x73,
-  0x20, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x69,
-  0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20,
-  0x2a, 0x72, 0x65, 0x61, 0x64, 0x2a, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74,
-  0x68, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68,
-  0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75,
-  0x65, 0x0a, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65,
-  0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x61,
-  0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6c,
-  0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20,
-  0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x73, 0x20,
-  0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x68, 0x69, 0x67,
-  0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69,
-  0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
-  0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d,
-  0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x4c, 0x72, 0x65, 0x61, 0x64, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2e, 0x36, 0x36, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a,
-  0x20, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x63,
-  0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61,
-  0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x61,
-  0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x28, 0x73, 0x75,
-  0x6d, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x27, 0x20,
-  0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20,
-  0x70, 0x61, 0x69, 0x72, 0x65, 0x64, 0x2d, 0x65, 0x6e, 0x64, 0x20, 0x72,
-  0x65, 0x61, 0x64, 0x73, 0x29, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69,
-  0x6c, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6d, 0x69,
-  0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61,
+  0x6c, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61,
+  0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69,
+  0x6c, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74,
   0x3a, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20,
   0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70,
-  0x75, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66,
-  0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x20, 0x62, 0x61, 0x73,
-  0x65, 0x73, 0x20, 0x69, 0x73, 0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72,
-  0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76,
-  0x61, 0x6c, 0x75, 0x65, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c,
-  0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6d, 0x69, 0x6e,
-  0x4f, 0x76, 0x65, 0x72, 0x4c, 0x72, 0x65, 0x61, 0x64, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x30, 0x2e, 0x36, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66,
-  0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x20, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c,
-  0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6d, 0x69, 0x6e,
-  0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20,
-  0x74, 0x6f, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67,
-  0x74, 0x68, 0x20, 0x28, 0x73, 0x75, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x6d,
-  0x61, 0x74, 0x65, 0x73, 0x27, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
-  0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x70, 0x61, 0x69, 0x72, 0x65, 0x64,
-  0x2d, 0x65, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x29, 0x0a,
-  0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e,
-  0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x6f, 0x74, 0x69, 0x66, 0x73, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e,
-  0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
-  0x3a, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6c, 0x69,
-  0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67,
-  0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66,
-  0x73, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74,
-  0x65, 0x72, 0x69, 0x6e, 0x67, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x52, 0x65,
-  0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x61, 0x6e, 0x6f, 0x6e,
-  0x69, 0x63, 0x61, 0x6c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x66, 0x69, 0x6c,
-  0x74, 0x65, 0x72, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67,
-  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20,
-  0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6e, 0x6f, 0x6e, 0x2d,
+  0x75, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66, 0x20, 0x69,
+  0x74, 0x73, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20,
+  0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20,
+  0x6f, 0x72, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20,
+  0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a,
+  0x0a, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x63,
+  0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x4c, 0x72,
+  0x65, 0x61, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2e, 0x36,
+  0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a,
+  0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x6f, 0x75, 0x74,
+  0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d,
+  0x69, 0x6e, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x20, 0x6e, 0x6f, 0x72,
+  0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72,
+  0x65, 0x61, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x28,
+  0x73, 0x75, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73,
+  0x27, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x20, 0x66, 0x6f,
+  0x72, 0x20, 0x70, 0x61, 0x69, 0x72, 0x65, 0x64, 0x2d, 0x65, 0x6e, 0x64,
+  0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x29, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
+  0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e,
+  0x6d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
+  0x6e, 0x74, 0x3a, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
+  0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75,
+  0x74, 0x70, 0x75, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x66,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20,
+  0x6f, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x20, 0x62,
+  0x61, 0x73, 0x65, 0x73, 0x20, 0x69, 0x73, 0x20, 0x68, 0x69, 0x67, 0x68,
+  0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x65,
+  0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73,
+  0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
+  0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e,
+  0x6d, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x4c, 0x72, 0x65, 0x61, 0x64,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x2e, 0x36, 0x36, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x20, 0x73, 0x61, 0x6d,
+  0x20, 0x61, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65,
+  0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6d, 0x69, 0x6e, 0x2c, 0x20,
+  0x62, 0x75, 0x74, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a,
+  0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65,
+  0x61, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x28, 0x73,
+  0x75, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x27,
+  0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x73, 0x20, 0x66, 0x6f, 0x72,
+  0x20, 0x70, 0x61, 0x69, 0x72, 0x65, 0x64, 0x2d, 0x65, 0x6e, 0x64, 0x20,
+  0x72, 0x65, 0x61, 0x64, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
+  0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x6e,
+  0x4d, 0x6f, 0x74, 0x69, 0x66, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x66, 0x69,
+  0x6c, 0x74, 0x65, 0x72, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65,
+  0x6e, 0x74, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65,
+  0x69, 0x72, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x73, 0x0a, 0x09, 0x09,
+  0x09, 0x09, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
+  0x20, 0x6e, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e,
+  0x67, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
+  0x4e, 0x6f, 0x6e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20,
+  0x6f, 0x75, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
+  0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74,
+  0x61, 0x69, 0x6e, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f,
+  0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69,
+  0x6f, 0x6e, 0x73, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x52, 0x65, 0x6d, 0x6f,
+  0x76, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63,
+  0x61, 0x6c, 0x55, 0x6e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
+  0x64, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65,
+  0x72, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d,
+  0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f,
+  0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61,
+  0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x6e, 0x61, 0x6e,
+  0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6a, 0x75, 0x6e, 0x63,
+  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x75,
+  0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
+  0x65, 0x64, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x6a, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61,
+  0x62, 0x61, 0x73, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x6e,
+  0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6e, 0x6f, 0x6e, 0x2d,
   0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6a, 0x75,
-  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x09, 0x09, 0x09, 0x09,
-  0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x61, 0x6e,
-  0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x6e, 0x61, 0x6e, 0x6e, 0x6f,
-  0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x66,
-  0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6c,
-  0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61,
-  0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6e, 0x6f,
-  0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20,
-  0x75, 0x6e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20,
-  0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x68,
-  0x65, 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x6e,
-  0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x63,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c,
+  0x20, 0x62, 0x65, 0x20, 0x6b, 0x65, 0x70, 0x74, 0x2e, 0x0a, 0x0a, 0x0a,
+  0x0a, 0x23, 0x23, 0x23, 0x20, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20,
+  0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x53,
+  0x70, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x4a, 0x75, 0x6e, 0x63, 0x74, 0x69,
+  0x6f, 0x6e, 0x73, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c,
+  0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x73, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x41, 0x6c, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
+  0x6e, 0x67, 0x3a, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x72, 0x65,
+  0x61, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69,
+  0x64, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x6c, 0x6c,
+  0x61, 0x70, 0x73, 0x65, 0x64, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65,
+  0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x41, 0x6c,
+  0x6c, 0x3a, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73,
+  0x2c, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x2d, 0x20, 0x61, 0x6e,
+  0x64, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x6d, 0x61, 0x70, 0x70,
+  0x65, 0x72, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x6e, 0x69, 0x71,
+  0x75, 0x65, 0x3a, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6c, 0x79,
+  0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x61,
+  0x64, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x0a, 0x0a, 0x6f, 0x75, 0x74,
+  0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72,
+  0x68, 0x61, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x20, 0x20, 0x31, 0x32, 0x20,
+  0x20, 0x31, 0x32, 0x20, 0x20, 0x31, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x34, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x73, 0x3a, 0x20,
+  0x20, 0x20, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6f,
+  0x76, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x20, 0x6c, 0x65, 0x6e, 0x67,
+  0x74, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x63,
   0x65, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
-  0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x20, 0x54, 0x68,
-  0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20,
-  0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61,
-  0x6c, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
-  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6b, 0x65, 0x70, 0x74,
-  0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x4f, 0x75, 0x74,
-  0x70, 0x75, 0x74, 0x20, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e,
-  0x67, 0x3a, 0x20, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x4a, 0x75,
-  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x6f, 0x75, 0x74, 0x53,
-  0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x73,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x41, 0x6c, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x77, 0x68, 0x69, 0x63,
-  0x68, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63,
-  0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20,
-  0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x20, 0x73, 0x70,
-  0x6c, 0x69, 0x63, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
-  0x6e, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x41, 0x6c, 0x6c, 0x3a, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72,
-  0x65, 0x61, 0x64, 0x73, 0x2c, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65,
-  0x2d, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d,
-  0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x3a, 0x20, 0x75, 0x6e, 0x69, 0x71,
-  0x75, 0x65, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67,
-  0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x0a,
-  0x0a, 0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
-  0x4f, 0x76, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x20,
-  0x20, 0x31, 0x32, 0x20, 0x20, 0x31, 0x32, 0x20, 0x20, 0x31, 0x32, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x34, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65,
-  0x72, 0x73, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d,
-  0x75, 0x6d, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x20,
-  0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73,
-  0x70, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69,
-  0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20,
-  0x73, 0x69, 0x64, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x3a, 0x20, 0x28,
-  0x31, 0x29, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f, 0x6e,
-  0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x73, 0x2c,
-  0x20, 0x28, 0x32, 0x29, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x47, 0x20, 0x61,
-  0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x6d, 0x6f, 0x74,
-  0x69, 0x66, 0x2c, 0x20, 0x28, 0x33, 0x29, 0x20, 0x47, 0x43, 0x2f, 0x41,
-  0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x47, 0x43, 0x20,
-  0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x34, 0x29, 0x20, 0x41,
-  0x54, 0x2f, 0x41, 0x43, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x54, 0x2f,
-  0x41, 0x54, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x20, 0x2d, 0x31,
-  0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75,
-  0x74, 0x70, 0x75, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61,
-  0x74, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74,
-  0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e,
-  0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6a, 0x75, 0x6e, 0x63,
-  0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x4a,
-  0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55,
-  0x6e, 0x69, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x33, 0x20, 0x20, 0x20, 0x31, 0x20, 0x20, 0x20, 0x31,
-  0x20, 0x20, 0x20, 0x31, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x34, 0x20,
-  0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x73, 0x3a, 0x20, 0x6d, 0x69,
-  0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65,
-  0x6c, 0x79, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x72,
-  0x65, 0x61, 0x64, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x70, 0x65,
-  0x72, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66,
-  0x6f, 0x72, 0x3a, 0x20, 0x28, 0x31, 0x29, 0x20, 0x6e, 0x6f, 0x6e, 0x2d,
-  0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f,
-  0x74, 0x69, 0x66, 0x73, 0x2c, 0x20, 0x28, 0x32, 0x29, 0x20, 0x47, 0x54,
-  0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x41,
-  0x43, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x33, 0x29,
-  0x20, 0x47, 0x43, 0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43,
-  0x54, 0x2f, 0x47, 0x43, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20,
-  0x28, 0x34, 0x29, 0x20, 0x41, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x61, 0x6e,
-  0x64, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x54, 0x20, 0x6d, 0x6f, 0x74, 0x69,
-  0x66, 0x2e, 0x20, 0x2d, 0x31, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20,
-  0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x66, 0x6f,
-  0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4a, 0x75, 0x6e,
-  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f,
-  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x69, 0x66, 0x20, 0x6f, 0x6e, 0x65,
-  0x20, 0x6f, 0x66, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c,
-  0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x71,
-  0x75, 0x65, 0x4d, 0x69, 0x6e, 0x20, 0x4f, 0x52, 0x20, 0x6f, 0x75, 0x74,
-  0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e,
-  0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x20, 0x63, 0x6f,
-  0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65,
-  0x20, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20,
-  0x6e, 0x6f, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f,
-  0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6a,
-  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x6f, 0x75,
-  0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75,
-  0x6e, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x33, 0x20, 0x20, 0x20, 0x31, 0x20, 0x20, 0x20, 0x31,
-  0x20, 0x20, 0x20, 0x31, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x34, 0x20,
-  0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x73, 0x3a, 0x20, 0x6d, 0x69,
-  0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20,
-  0x28, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x6d, 0x61, 0x70, 0x70, 0x69,
-  0x6e, 0x67, 0x2b, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x29, 0x20, 0x72,
-  0x65, 0x61, 0x64, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x70, 0x65,
-  0x72, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66,
-  0x6f, 0x72, 0x3a, 0x20, 0x28, 0x31, 0x29, 0x20, 0x6e, 0x6f, 0x6e, 0x2d,
-  0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f,
-  0x74, 0x69, 0x66, 0x73, 0x2c, 0x20, 0x28, 0x32, 0x29, 0x20, 0x47, 0x54,
-  0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x41,
-  0x43, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x33, 0x29,
-  0x20, 0x47, 0x43, 0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43,
-  0x54, 0x2f, 0x47, 0x43, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20,
-  0x28, 0x34, 0x29, 0x20, 0x41, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x61, 0x6e,
-  0x64, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x54, 0x20, 0x6d, 0x6f, 0x74, 0x69,
-  0x66, 0x2e, 0x20, 0x2d, 0x31, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20,
-  0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x66, 0x6f,
-  0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4a, 0x75, 0x6e,
-  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f,
-  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x69, 0x66, 0x20, 0x6f, 0x6e, 0x65,
-  0x20, 0x6f, 0x66, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c,
-  0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x71,
-  0x75, 0x65, 0x4d, 0x69, 0x6e, 0x20, 0x4f, 0x52, 0x20, 0x6f, 0x75, 0x74,
-  0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e,
-  0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x20, 0x63, 0x6f,
-  0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65,
-  0x20, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20,
-  0x6e, 0x6f, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f,
-  0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6a,
-  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x6f, 0x75,
-  0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73,
-  0x74, 0x54, 0x6f, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x4a, 0x6d, 0x69,
-  0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x20, 0x20, 0x30, 0x20,
-  0x20, 0x20, 0x35, 0x20, 0x20, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x34, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x73, 0x3e,
-  0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20,
-  0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x64, 0x69, 0x73, 0x74,
-  0x61, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65,
-  0x72, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x27,
-  0x20, 0x64, 0x6f, 0x6e, 0x6f, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x70,
-  0x74, 0x6f, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x6f, 0x6e, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x73, 0x69, 0x64, 0x65,
+  0x73, 0x20, 0x66, 0x6f, 0x72, 0x3a, 0x20, 0x28, 0x31, 0x29, 0x20, 0x6e,
+  0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c,
+  0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x73, 0x2c, 0x20, 0x28, 0x32, 0x29,
+  0x20, 0x47, 0x54, 0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43,
+  0x54, 0x2f, 0x41, 0x43, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20,
+  0x28, 0x33, 0x29, 0x20, 0x47, 0x43, 0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e,
+  0x64, 0x20, 0x43, 0x54, 0x2f, 0x47, 0x43, 0x20, 0x6d, 0x6f, 0x74, 0x69,
+  0x66, 0x2c, 0x20, 0x28, 0x34, 0x29, 0x20, 0x41, 0x54, 0x2f, 0x41, 0x43,
+  0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x54, 0x20, 0x6d,
+  0x6f, 0x74, 0x69, 0x66, 0x2e, 0x20, 0x2d, 0x31, 0x20, 0x6d, 0x65, 0x61,
+  0x6e, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x6f,
+  0x74, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x70, 0x70,
   0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
   0x74, 0x65, 0x64, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
   0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74,
-  0x65, 0x72, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x56,
-  0x73, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x35, 0x30, 0x30, 0x30, 0x30, 0x20, 0x31, 0x30, 0x30, 0x30,
-  0x30, 0x30, 0x20, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x4e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x73,
-  0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d,
-  0x20, 0x67, 0x61, 0x70, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
-  0x20, 0x66, 0x6f, 0x72, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+  0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x71, 0x75,
+  0x65, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x33,
+  0x20, 0x20, 0x20, 0x31, 0x20, 0x20, 0x20, 0x31, 0x20, 0x20, 0x20, 0x31,
+  0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x34, 0x20, 0x69, 0x6e, 0x74, 0x65,
+  0x67, 0x65, 0x72, 0x73, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75,
+  0x6d, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6c, 0x79, 0x20, 0x6d,
+  0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
+  0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x70, 0x65, 0x72, 0x20, 0x6a, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x3a, 0x20,
+  0x28, 0x31, 0x29, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f,
+  0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x73,
+  0x2c, 0x20, 0x28, 0x32, 0x29, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x47, 0x20,
+  0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x6d, 0x6f,
+  0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x33, 0x29, 0x20, 0x47, 0x43, 0x2f,
+  0x41, 0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x47, 0x43,
+  0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x34, 0x29, 0x20,
+  0x41, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x54,
+  0x2f, 0x41, 0x54, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x20, 0x2d,
+  0x31, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
+  0x61, 0x74, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x4a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+  0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75,
+  0x74, 0x20, 0x69, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20,
+  0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43,
+  0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4d, 0x69,
+  0x6e, 0x20, 0x4f, 0x52, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66, 0x69,
+  0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74,
+  0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
+  0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x61, 0x74,
+  0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20,
+  0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x6e,
+  0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74,
+  0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66,
+  0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f,
+  0x74, 0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x33,
+  0x20, 0x20, 0x20, 0x31, 0x20, 0x20, 0x20, 0x31, 0x20, 0x20, 0x20, 0x31,
+  0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x34, 0x20, 0x69, 0x6e, 0x74, 0x65,
+  0x67, 0x65, 0x72, 0x73, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75,
+  0x6d, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x28, 0x6d, 0x75, 0x6c,
+  0x74, 0x69, 0x2d, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2b, 0x75,
+  0x6e, 0x69, 0x71, 0x75, 0x65, 0x29, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
+  0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x70, 0x65, 0x72, 0x20, 0x6a, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x3a, 0x20,
+  0x28, 0x31, 0x29, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f,
+  0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x73,
+  0x2c, 0x20, 0x28, 0x32, 0x29, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x47, 0x20,
+  0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x6d, 0x6f,
+  0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x33, 0x29, 0x20, 0x47, 0x43, 0x2f,
+  0x41, 0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x47, 0x43,
+  0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x34, 0x29, 0x20,
+  0x41, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x54,
+  0x2f, 0x41, 0x54, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x20, 0x2d,
+  0x31, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6f,
+  0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
+  0x61, 0x74, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x4a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+  0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75,
+  0x74, 0x20, 0x69, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20,
+  0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43,
+  0x6f, 0x75, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4d, 0x69,
+  0x6e, 0x20, 0x4f, 0x52, 0x20, 0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66, 0x69,
+  0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x74,
+  0x61, 0x6c, 0x4d, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
+  0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x61, 0x74,
+  0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20,
+  0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x6e,
+  0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74,
+  0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x53, 0x4a, 0x66,
+  0x69, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x4f,
+  0x74, 0x68, 0x65, 0x72, 0x53, 0x4a, 0x6d, 0x69, 0x6e, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x31, 0x30, 0x20, 0x20, 0x30, 0x20, 0x20, 0x20, 0x35, 0x20,
+  0x20, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x34, 0x20, 0x69,
+  0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x73, 0x3e, 0x3d, 0x30, 0x3a, 0x20,
+  0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x61, 0x6c, 0x6c, 0x6f,
+  0x77, 0x65, 0x64, 0x20, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
+  0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6a, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x27, 0x20, 0x64, 0x6f, 0x6e,
+  0x6f, 0x72, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x65, 0x73,
+  0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74,
+  0x6f, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20,
+  0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x6f,
+  0x75, 0x74, 0x53, 0x4a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x6e,
+  0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x56, 0x73, 0x52, 0x65, 0x61,
+  0x64, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x35, 0x30,
+  0x30, 0x30, 0x30, 0x20, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x20, 0x32,
+  0x30, 0x30, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x20,
+  0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x73, 0x3e, 0x3d, 0x30, 0x3a,
+  0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x67, 0x61, 0x70,
+  0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72,
+  0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x73,
+  0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20,
+  0x31, 0x2c, 0x32, 0x2c, 0x33, 0x2c, 0x2c, 0x2c, 0x4e, 0x20, 0x72, 0x65,
+  0x61, 0x64, 0x73, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x62, 0x79, 0x20, 0x64, 0x65, 0x66,
+  0x61, 0x75, 0x6c, 0x74, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
   0x6e, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64,
-  0x20, 0x62, 0x79, 0x20, 0x31, 0x2c, 0x32, 0x2c, 0x33, 0x2c, 0x2c, 0x2c,
-  0x4e, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x62, 0x79,
-  0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x6a, 0x75, 0x6e,
-  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f,
-  0x72, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x31, 0x20, 0x72, 0x65,
-  0x61, 0x64, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20,
-  0x67, 0x61, 0x70, 0x73, 0x20, 0x3c, 0x3d, 0x35, 0x30, 0x30, 0x30, 0x30,
-  0x62, 0x2c, 0x20, 0x62, 0x79, 0x20, 0x32, 0x20, 0x72, 0x65, 0x61, 0x64,
-  0x73, 0x3a, 0x20, 0x3c, 0x3d, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x62,
-  0x2c, 0x20, 0x62, 0x79, 0x20, 0x33, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73,
-  0x3a, 0x20, 0x3c, 0x3d, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2e, 0x20,
-  0x62, 0x79, 0x20, 0x3e, 0x3d, 0x34, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73,
-  0x20, 0x61, 0x6e, 0x79, 0x20, 0x67, 0x61, 0x70, 0x20, 0x3c, 0x3d, 0x61,
-  0x6c, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x61,
-  0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f,
-  0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79,
-  0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
-  0x64, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a,
-  0x0a, 0x23, 0x23, 0x23, 0x20, 0x53, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67,
-  0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x69, 0x6e, 0x74, 0x3a, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x20,
-  0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x65, 0x6e,
-  0x61, 0x6c, 0x74, 0x79, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65,
-  0x6e, 0x64, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x74,
-  0x72, 0x6f, 0x6e, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x29, 0x0a, 0x0a,
-  0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70, 0x4e, 0x6f, 0x6e, 0x63,
-  0x61, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x69, 0x6e, 0x74, 0x3a, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e,
-  0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74,
-  0x69, 0x6f, 0x6e, 0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x20,
-  0x28, 0x69, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
-  0x20, 0x74, 0x6f, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70,
-  0x29, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70, 0x47,
-  0x43, 0x41, 0x47, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x34, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x47, 0x43, 0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e, 0x64,
-  0x20, 0x43, 0x54, 0x2f, 0x47, 0x43, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74,
-  0x69, 0x6f, 0x6e, 0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x20,
-  0x28, 0x69, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
-  0x20, 0x74, 0x6f, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70,
-  0x29, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70, 0x41,
-  0x54, 0x41, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x38, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x41, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x20, 0x61, 0x6e,
-  0x64, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x54, 0x20, 0x6a, 0x75, 0x6e, 0x63,
+  0x20, 0x62, 0x79, 0x20, 0x31, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x63,
+  0x61, 0x6e, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x67, 0x61, 0x70, 0x73,
+  0x20, 0x3c, 0x3d, 0x35, 0x30, 0x30, 0x30, 0x30, 0x62, 0x2c, 0x20, 0x62,
+  0x79, 0x20, 0x32, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x3a, 0x20, 0x3c,
+  0x3d, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x62, 0x2c, 0x20, 0x62, 0x79,
+  0x20, 0x33, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x3a, 0x20, 0x3c, 0x3d,
+  0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x62, 0x79, 0x20, 0x3e,
+  0x3d, 0x34, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x61, 0x6e, 0x79,
+  0x20, 0x67, 0x61, 0x70, 0x20, 0x3c, 0x3d, 0x61, 0x6c, 0x69, 0x67, 0x6e,
+  0x49, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e,
+  0x6f, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20,
+  0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6a, 0x75,
+  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x23, 0x23, 0x23,
+  0x20, 0x53, 0x63, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x0a, 0x73, 0x63, 0x6f,
+  0x72, 0x65, 0x47, 0x61, 0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a,
+  0x20, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x63,
   0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79,
-  0x20, 0x20, 0x28, 0x69, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
-  0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47,
-  0x61, 0x70, 0x29, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x65,
-  0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4c,
-  0x6f, 0x67, 0x32, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x20, 0x20, 0x2d,
-  0x30, 0x2e, 0x32, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x74,
-  0x72, 0x61, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x6c, 0x6f, 0x67,
-  0x61, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79,
-  0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68,
-  0x20, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x20, 0x6c, 0x65, 0x6e,
-  0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61,
-  0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x20, 0x73, 0x63,
-  0x6f, 0x72, 0x65, 0x47, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x4c, 0x65,
-  0x6e, 0x67, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x32, 0x73, 0x63, 0x61, 0x6c,
-  0x65, 0x2a, 0x6c, 0x6f, 0x67, 0x32, 0x28, 0x67, 0x65, 0x6e, 0x6f, 0x6d,
-  0x69, 0x63, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x0a, 0x0a, 0x73,
-  0x63, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x2d, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64,
-  0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x70, 0x65, 0x6e,
-  0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x0a, 0x0a, 0x73, 0x63,
-  0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x2d, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65,
-  0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e,
-  0x73, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79,
-  0x20, 0x70, 0x65, 0x72, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x28, 0x69,
+  0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e,
+  0x74, 0x20, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20,
+  0x6d, 0x6f, 0x74, 0x69, 0x66, 0x29, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72,
+  0x65, 0x47, 0x61, 0x70, 0x4e, 0x6f, 0x6e, 0x63, 0x61, 0x6e, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x2d, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a,
+  0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63,
+  0x61, 0x6c, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+  0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x20, 0x28, 0x69, 0x6e, 0x20,
+  0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20,
+  0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70, 0x29, 0x0a, 0x0a, 0x73,
+  0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70, 0x47, 0x43, 0x41, 0x47, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x2d, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x47,
+  0x43, 0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f,
+  0x47, 0x43, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
+  0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x20, 0x28, 0x69, 0x6e, 0x20,
+  0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20,
+  0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70, 0x29, 0x0a, 0x0a, 0x73,
+  0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70, 0x41, 0x54, 0x41, 0x43, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x2d, 0x38, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x41,
+  0x54, 0x2f, 0x41, 0x43, 0x20, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x54,
+  0x2f, 0x41, 0x54, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+  0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x20, 0x20, 0x28, 0x69,
   0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74,
-  0x6f, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x4f, 0x70,
-  0x65, 0x6e, 0x29, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x49, 0x6e,
-  0x73, 0x4f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x32,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69,
-  0x6f, 0x6e, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x70, 0x65, 0x6e, 0x61,
-  0x6c, 0x74, 0x79, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x49, 0x6e,
-  0x73, 0x42, 0x61, 0x73, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x32,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69,
+  0x6f, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x61, 0x70, 0x29, 0x0a,
+  0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47, 0x65, 0x6e, 0x6f, 0x6d, 0x69,
+  0x63, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x32, 0x73,
+  0x63, 0x61, 0x6c, 0x65, 0x20, 0x20, 0x20, 0x2d, 0x30, 0x2e, 0x32, 0x35,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x73,
+  0x63, 0x6f, 0x72, 0x65, 0x20, 0x6c, 0x6f, 0x67, 0x61, 0x72, 0x69, 0x74,
+  0x68, 0x6d, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x73, 0x63, 0x61,
+  0x6c, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x67, 0x65, 0x6e,
+  0x6f, 0x6d, 0x69, 0x63, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20,
+  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e,
+  0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x47,
+  0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68,
+  0x4c, 0x6f, 0x67, 0x32, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2a, 0x6c, 0x6f,
+  0x67, 0x32, 0x28, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x4c, 0x65,
+  0x6e, 0x67, 0x74, 0x68, 0x29, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65,
+  0x44, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x2d, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74,
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x70, 0x65, 0x6e,
+  0x61, 0x6c, 0x74, 0x79, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x44,
+  0x65, 0x6c, 0x42, 0x61, 0x73, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d,
+  0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69,
   0x6f, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
   0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x20, 0x70, 0x65, 0x72,
   0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x28, 0x69, 0x6e, 0x20, 0x61, 0x64,
   0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x63,
-  0x6f, 0x72, 0x65, 0x49, 0x6e, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x29, 0x0a,
-  0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68,
-  0x53, 0x4a, 0x73, 0x68, 0x69, 0x66, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x73, 0x63, 0x6f, 0x72,
-  0x65, 0x20, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
-  0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
-  0x69, 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x53, 0x4a, 0x20, 0x62,
-  0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x69, 0x65, 0x73, 0x20, 0x69, 0x6e,
-  0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e,
-  0x67, 0x20, 0x73, 0x74, 0x65, 0x70, 0x0a, 0x0a, 0x0a, 0x23, 0x23, 0x23,
-  0x20, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20,
-  0x61, 0x6e, 0x64, 0x20, 0x53, 0x65, 0x65, 0x64, 0x69, 0x6e, 0x67, 0x0a,
-  0x0a, 0x73, 0x65, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53,
-  0x74, 0x61, 0x72, 0x74, 0x4c, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x35, 0x30, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x64,
-  0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73,
-  0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20,
-  0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67,
-  0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x2d,
-  0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x69, 0x73,
-  0x20, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20,
-  0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6c, 0x6f,
-  0x6e, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68,
-  0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x0a, 0x73, 0x65,
-  0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72,
-  0x74, 0x4c, 0x6d, 0x61, 0x78, 0x4f, 0x76, 0x65, 0x72, 0x4c, 0x72, 0x65,
-  0x61, 0x64, 0x20, 0x20, 0x20, 0x20, 0x31, 0x2e, 0x30, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x20, 0x73, 0x65, 0x65,
+  0x6f, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x29, 0x0a,
+  0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x73, 0x4f, 0x70, 0x65,
+  0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x32, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f,
+  0x70, 0x65, 0x6e, 0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x0a,
+  0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x73, 0x42, 0x61, 0x73,
+  0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x32, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65,
+  0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x65, 0x6e,
+  0x61, 0x6c, 0x74, 0x79, 0x20, 0x70, 0x65, 0x72, 0x20, 0x62, 0x61, 0x73,
+  0x65, 0x20, 0x28, 0x69, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
+  0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x49,
+  0x6e, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x29, 0x0a, 0x0a, 0x73, 0x63, 0x6f,
+  0x72, 0x65, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x53, 0x4a, 0x73, 0x68,
+  0x69, 0x66, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78, 0x69,
+  0x6d, 0x75, 0x6d, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x65,
+  0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x6c,
+  0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20,
+  0x66, 0x6f, 0x72, 0x20, 0x53, 0x4a, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64,
+  0x61, 0x72, 0x69, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x68, 0x65, 0x20,
+  0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x74,
+  0x65, 0x70, 0x0a, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x41, 0x6c, 0x69,
+  0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20,
+  0x53, 0x65, 0x65, 0x64, 0x69, 0x6e, 0x67, 0x0a, 0x0a, 0x73, 0x65, 0x65,
   0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74,
-  0x4c, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69,
-  0x7a, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
-  0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x28, 0x73, 0x75, 0x6d, 0x20,
-  0x6f, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x27, 0x20, 0x6c, 0x65,
-  0x6e, 0x67, 0x74, 0x68, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x70, 0x61,
-  0x69, 0x72, 0x65, 0x64, 0x2d, 0x65, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x61,
-  0x64, 0x73, 0x29, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x53, 0x65, 0x61,
-  0x72, 0x63, 0x68, 0x4c, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e,
-  0x3d, 0x30, 0x3a, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20,
-  0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20,
-  0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
-  0x65, 0x20, 0x73, 0x65, 0x65, 0x64, 0x73, 0x2c, 0x20, 0x69, 0x66, 0x20,
-  0x3d, 0x30, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x73, 0x65, 0x65, 0x64, 0x20,
-  0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x66,
-  0x69, 0x6e, 0x69, 0x74, 0x65, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x4d,
-  0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70, 0x4e, 0x6d, 0x61, 0x78, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x30, 0x30, 0x0a, 0x20,
-  0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6f, 0x6e,
-  0x6c, 0x79, 0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x20, 0x74, 0x68,
-  0x61, 0x74, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72,
+  0x4c, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x35, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e,
+  0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63,
+  0x68, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x70, 0x6f, 0x69, 0x6e,
+  0x74, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x2d, 0x20, 0x74, 0x68, 0x65,
+  0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x69, 0x73, 0x20, 0x73, 0x70, 0x6c,
+  0x69, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x70, 0x69, 0x65, 0x63,
+  0x65, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72,
   0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76,
-  0x61, 0x6c, 0x75, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x75, 0x74, 0x69,
-  0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65,
-  0x20, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x70,
-  0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x0a, 0x0a, 0x73, 0x65,
-  0x65, 0x64, 0x50, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x6d, 0x61,
-  0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x30,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20,
-  0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f,
-  0x66, 0x20, 0x73, 0x65, 0x65, 0x64, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20,
-  0x72, 0x65, 0x61, 0x64, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65,
-  0x72, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x4e, 0x6d, 0x61, 0x78, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x35, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
-  0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75,
-  0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x65, 0x65, 0x64,
-  0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
-  0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x4e, 0x6f, 0x6e, 0x65, 0x4c, 0x6f,
-  0x63, 0x69, 0x50, 0x65, 0x72, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20,
-  0x20, 0x20, 0x20, 0x31, 0x30, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
-  0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75,
-  0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20,
-  0x73, 0x65, 0x65, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x69, 0x20, 0x70, 0x65,
-  0x72, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x0a, 0x0a, 0x61, 0x6c,
-  0x69, 0x67, 0x6e, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x69, 0x6e,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x32, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x69, 0x6e,
-  0x69, 0x6d, 0x75, 0x6d, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20,
-  0x73, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69,
-  0x63, 0x20, 0x67, 0x61, 0x70, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e,
-  0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x72,
-  0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6c, 0x65,
-  0x6e, 0x67, 0x74, 0x68, 0x3e, 0x3d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x49,
-  0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x2c, 0x20, 0x6f, 0x74,
-  0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x69, 0x74, 0x20, 0x69,
-  0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64,
-  0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x61,
-  0x6c, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x61,
-  0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78,
-  0x69, 0x6d, 0x75, 0x6d, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20,
-  0x73, 0x69, 0x7a, 0x65, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x30, 0x2c, 0x20,
-  0x6d, 0x61, 0x78, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20, 0x73,
-  0x69, 0x7a, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20,
-  0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62,
-  0x79, 0x20, 0x28, 0x32, 0x5e, 0x77, 0x69, 0x6e, 0x42, 0x69, 0x6e, 0x4e,
-  0x62, 0x69, 0x74, 0x73, 0x29, 0x2a, 0x77, 0x69, 0x6e, 0x41, 0x6e, 0x63,
-  0x68, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x4e, 0x62, 0x69, 0x6e, 0x73,
-  0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x4d, 0x61, 0x74, 0x65, 0x73,
-  0x47, 0x61, 0x70, 0x4d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x67, 0x61, 0x70, 0x20,
-  0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x77, 0x6f, 0x20,
-  0x6d, 0x61, 0x74, 0x65, 0x73, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x30, 0x2c,
-  0x20, 0x6d, 0x61, 0x78, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20,
-  0x67, 0x61, 0x70, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20,
-  0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62,
-  0x79, 0x20, 0x28, 0x32, 0x5e, 0x77, 0x69, 0x6e, 0x42, 0x69, 0x6e, 0x4e,
-  0x62, 0x69, 0x74, 0x73, 0x29, 0x2a, 0x77, 0x69, 0x6e, 0x41, 0x6e, 0x63,
-  0x68, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x4e, 0x62, 0x69, 0x6e, 0x73,
-  0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x53, 0x4a, 0x6f, 0x76, 0x65,
-  0x72, 0x68, 0x61, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d,
-  0x75, 0x6d, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x20,
-  0x28, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x20,
-  0x73, 0x69, 0x7a, 0x65, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x70,
+  0x61, 0x6c, 0x75, 0x65, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x53, 0x65,
+  0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6d, 0x61,
+  0x78, 0x4f, 0x76, 0x65, 0x72, 0x4c, 0x72, 0x65, 0x61, 0x64, 0x20, 0x20,
+  0x20, 0x20, 0x31, 0x2e, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c,
+  0x6f, 0x61, 0x74, 0x3a, 0x20, 0x73, 0x65, 0x65, 0x64, 0x53, 0x65, 0x61,
+  0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6d, 0x61, 0x78,
+  0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20,
+  0x74, 0x6f, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67,
+  0x74, 0x68, 0x20, 0x28, 0x73, 0x75, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x6d,
+  0x61, 0x74, 0x65, 0x73, 0x27, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
+  0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x70, 0x61, 0x69, 0x72, 0x65, 0x64,
+  0x2d, 0x65, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x29, 0x0a,
+  0x0a, 0x73, 0x65, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c,
+  0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20,
+  0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6c, 0x65, 0x6e, 0x67,
+  0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65,
+  0x65, 0x64, 0x73, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x3d, 0x30, 0x20, 0x6d,
+  0x61, 0x78, 0x20, 0x73, 0x65, 0x65, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67,
+  0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74,
+  0x65, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x4d, 0x75, 0x6c, 0x74, 0x69,
+  0x6d, 0x61, 0x70, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x31, 0x30, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
+  0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x70,
+  0x69, 0x65, 0x63, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d,
+  0x61, 0x70, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61,
+  0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65,
+  0x20, 0x61, 0x72, 0x65, 0x20, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x65,
+  0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x69,
+  0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65,
+  0x64, 0x75, 0x72, 0x65, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65,
+  0x72, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20,
+  0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x65,
+  0x65, 0x64, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64,
+  0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65, 0x72, 0x57, 0x69, 0x6e,
+  0x64, 0x6f, 0x77, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x35, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30,
+  0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
+  0x20, 0x6f, 0x66, 0x20, 0x73, 0x65, 0x65, 0x64, 0x73, 0x20, 0x70, 0x65,
+  0x72, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x0a, 0x0a, 0x73, 0x65,
+  0x65, 0x64, 0x4e, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x63, 0x69, 0x50, 0x65,
+  0x72, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20, 0x20, 0x20, 0x20, 0x31,
+  0x30, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30,
+  0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
+  0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x73, 0x65, 0x65, 0x64,
+  0x20, 0x6c, 0x6f, 0x63, 0x69, 0x20, 0x70, 0x65, 0x72, 0x20, 0x77, 0x69,
+  0x6e, 0x64, 0x6f, 0x77, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x49,
+  0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x31,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d,
+  0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20, 0x73, 0x69, 0x7a, 0x65,
+  0x3a, 0x20, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x20, 0x67, 0x61,
+  0x70, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65,
+  0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20, 0x69,
+  0x66, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
+  0x3e, 0x3d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x74, 0x72, 0x6f,
+  0x6e, 0x4d, 0x69, 0x6e, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77,
+  0x69, 0x73, 0x65, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f,
+  0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x44, 0x65, 0x6c,
+  0x65, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e,
+  0x49, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d,
+  0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20, 0x73, 0x69, 0x7a, 0x65,
+  0x2c, 0x20, 0x69, 0x66, 0x20, 0x30, 0x2c, 0x20, 0x6d, 0x61, 0x78, 0x20,
+  0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20,
+  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x64, 0x65, 0x74, 0x65,
+  0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x28, 0x32,
+  0x5e, 0x77, 0x69, 0x6e, 0x42, 0x69, 0x6e, 0x4e, 0x62, 0x69, 0x74, 0x73,
+  0x29, 0x2a, 0x77, 0x69, 0x6e, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x44,
+  0x69, 0x73, 0x74, 0x4e, 0x62, 0x69, 0x6e, 0x73, 0x0a, 0x0a, 0x61, 0x6c,
+  0x69, 0x67, 0x6e, 0x4d, 0x61, 0x74, 0x65, 0x73, 0x47, 0x61, 0x70, 0x4d,
+  0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78, 0x69,
+  0x6d, 0x75, 0x6d, 0x20, 0x67, 0x61, 0x70, 0x20, 0x62, 0x65, 0x74, 0x77,
+  0x65, 0x65, 0x6e, 0x20, 0x74, 0x77, 0x6f, 0x20, 0x6d, 0x61, 0x74, 0x65,
+  0x73, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x30, 0x2c, 0x20, 0x6d, 0x61, 0x78,
+  0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x6e, 0x20, 0x67, 0x61, 0x70, 0x20,
+  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x64, 0x65, 0x74, 0x65,
+  0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x28, 0x32,
+  0x5e, 0x77, 0x69, 0x6e, 0x42, 0x69, 0x6e, 0x4e, 0x62, 0x69, 0x74, 0x73,
+  0x29, 0x2a, 0x77, 0x69, 0x6e, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x44,
+  0x69, 0x73, 0x74, 0x4e, 0x62, 0x69, 0x6e, 0x73, 0x0a, 0x0a, 0x61, 0x6c,
+  0x69, 0x67, 0x6e, 0x53, 0x4a, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x61, 0x6e,
+  0x67, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e,
+  0x30, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6f,
+  0x76, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x20, 0x28, 0x69, 0x2e, 0x65,
+  0x2e, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x73, 0x69, 0x7a, 0x65,
+  0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65,
+  0x64, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
+  0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x53, 0x4a, 0x73, 0x74, 0x69,
+  0x74, 0x63, 0x68, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4e,
+  0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x30, 0x20, 0x2d, 0x31, 0x20, 0x30,
+  0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x34, 0x2a, 0x69, 0x6e, 0x74,
+  0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d,
+  0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x6d,
+  0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x66, 0x6f,
+  0x72, 0x20, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20,
+  0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x63,
+  0x65, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+  0x28, 0x2d, 0x31, 0x3a, 0x20, 0x6e, 0x6f, 0x20, 0x6c, 0x69, 0x6d, 0x69,
+  0x74, 0x29, 0x2e, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x31, 0x29,
+  0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63,
+  0x61, 0x6c, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x73, 0x2c, 0x20, 0x28,
+  0x32, 0x29, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e, 0x64,
+  0x20, 0x43, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66,
+  0x2c, 0x20, 0x28, 0x33, 0x29, 0x20, 0x47, 0x43, 0x2f, 0x41, 0x47, 0x20,
+  0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x47, 0x43, 0x20, 0x6d, 0x6f,
+  0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x34, 0x29, 0x20, 0x41, 0x54, 0x2f,
+  0x41, 0x43, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x54,
+  0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x0a, 0x0a, 0x61, 0x6c, 0x69,
+  0x67, 0x6e, 0x53, 0x4a, 0x44, 0x42, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x61,
+  0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30,
+  0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6f, 0x76,
+  0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x20, 0x28, 0x69, 0x2e, 0x65, 0x2e,
+  0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x29,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
+  0x65, 0x64, 0x20, 0x28, 0x73, 0x6a, 0x64, 0x62, 0x29, 0x20, 0x73, 0x70,
   0x6c, 0x69, 0x63, 0x65, 0x64, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d,
   0x65, 0x6e, 0x74, 0x73, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x53,
-  0x4a, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x4d, 0x69, 0x73, 0x6d, 0x61,
-  0x74, 0x63, 0x68, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x30, 0x20,
-  0x2d, 0x31, 0x20, 0x30, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x34,
-  0x2a, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78,
-  0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20,
-  0x6f, 0x66, 0x20, 0x6d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65,
-  0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68,
-  0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73,
-  0x70, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69,
-  0x6f, 0x6e, 0x73, 0x20, 0x28, 0x2d, 0x31, 0x3a, 0x20, 0x6e, 0x6f, 0x20,
-  0x6c, 0x69, 0x6d, 0x69, 0x74, 0x29, 0x2e, 0x20, 0x0a, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x28, 0x31, 0x29, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x63, 0x61, 0x6e,
-  0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66,
-  0x73, 0x2c, 0x20, 0x28, 0x32, 0x29, 0x20, 0x47, 0x54, 0x2f, 0x41, 0x47,
-  0x20, 0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x6d,
-  0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x33, 0x29, 0x20, 0x47, 0x43,
-  0x2f, 0x41, 0x47, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43, 0x54, 0x2f, 0x47,
-  0x43, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2c, 0x20, 0x28, 0x34, 0x29,
-  0x20, 0x41, 0x54, 0x2f, 0x41, 0x43, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47,
-  0x54, 0x2f, 0x41, 0x54, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x66, 0x2e, 0x0a,
-  0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x53, 0x4a, 0x44, 0x42, 0x6f, 0x76,
-  0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
-  0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75,
-  0x6d, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x20, 0x28,
-  0x69, 0x2e, 0x65, 0x2e, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x73,
-  0x69, 0x7a, 0x65, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x6e,
-  0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x28, 0x73, 0x6a, 0x64, 0x62,
-  0x29, 0x20, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x64, 0x20, 0x61, 0x6c,
-  0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x0a, 0x61, 0x6c,
-  0x69, 0x67, 0x6e, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x64, 0x4d, 0x61,
-  0x74, 0x65, 0x4d, 0x61, 0x70, 0x4c, 0x6d, 0x69, 0x6e, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e,
-  0x30, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6d,
-  0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
-  0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
-  0x6d, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73,
-  0x20, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x64, 0x0a, 0x0a, 0x61, 0x6c,
-  0x69, 0x67, 0x6e, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x64, 0x4d, 0x61,
-  0x74, 0x65, 0x4d, 0x61, 0x70, 0x4c, 0x6d, 0x69, 0x6e, 0x4f, 0x76, 0x65,
-  0x72, 0x4c, 0x6d, 0x61, 0x74, 0x65, 0x20, 0x30, 0x2e, 0x36, 0x36, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x30, 0x3a,
-  0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65,
-  0x64, 0x4d, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x4c, 0x6d, 0x69, 0x6e,
-  0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20,
-  0x74, 0x6f, 0x20, 0x6d, 0x61, 0x74, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67,
-  0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e,
-  0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x50, 0x65, 0x72, 0x52, 0x65,
-  0x61, 0x64, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31,
-  0x30, 0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74,
-  0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62,
-  0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
-  0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x0a, 0x0a,
+  0x70, 0x6c, 0x69, 0x63, 0x65, 0x64, 0x4d, 0x61, 0x74, 0x65, 0x4d, 0x61,
+  0x70, 0x4c, 0x6d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d,
+  0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65,
+  0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x66, 0x6f, 0x72,
+  0x20, 0x61, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x61, 0x74, 0x65,
+  0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x70, 0x6c,
+  0x69, 0x63, 0x65, 0x64, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x53,
+  0x70, 0x6c, 0x69, 0x63, 0x65, 0x64, 0x4d, 0x61, 0x74, 0x65, 0x4d, 0x61,
+  0x70, 0x4c, 0x6d, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x4c, 0x6d, 0x61,
+  0x74, 0x65, 0x20, 0x30, 0x2e, 0x36, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x61, 0x6c, 0x69,
+  0x67, 0x6e, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x64, 0x4d, 0x61, 0x74,
+  0x65, 0x4d, 0x61, 0x70, 0x4c, 0x6d, 0x69, 0x6e, 0x20, 0x6e, 0x6f, 0x72,
+  0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6d,
+  0x61, 0x74, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x0a, 0x20,
+  0x20, 0x20, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x57, 0x69, 0x6e, 0x64,
+  0x6f, 0x77, 0x73, 0x50, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x6d,
+  0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x30, 0x30,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20,
+  0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f,
+  0x66, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x70, 0x65,
+  0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67,
+  0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73,
+  0x50, 0x65, 0x72, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x4e, 0x6d, 0x61,
+  0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d,
+  0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66,
+  0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73,
+  0x20, 0x70, 0x65, 0x72, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0a, 0x0a,
   0x61, 0x6c, 0x69, 0x67, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72,
-  0x69, 0x70, 0x74, 0x73, 0x50, 0x65, 0x72, 0x57, 0x69, 0x6e, 0x64, 0x6f,
-  0x77, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x31, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e,
-  0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65,
-  0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72,
-  0x69, 0x70, 0x74, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x77, 0x69, 0x6e,
-  0x64, 0x6f, 0x77, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x54, 0x72, 0x61,
-  0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x50, 0x65, 0x72, 0x52,
-  0x65, 0x61, 0x64, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30,
-  0x30, 0x30, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e,
-  0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65,
-  0x72, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65,
-  0x6e, 0x74, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
-  0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x74,
-  0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x0a, 0x0a,
-  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x64, 0x73, 0x54, 0x79, 0x70,
-  0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74,
-  0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f,
-  0x66, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x65, 0x6e, 0x64, 0x73, 0x20,
-  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x6f,
-  0x63, 0x61, 0x6c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61,
-  0x72, 0x64, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x6c, 0x69,
-  0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,
-  0x73, 0x6f, 0x66, 0x74, 0x2d, 0x63, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e,
-  0x67, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e,
-  0x64, 0x54, 0x6f, 0x45, 0x6e, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x20,
-  0x65, 0x6e, 0x64, 0x2d, 0x74, 0x6f, 0x2d, 0x65, 0x6e, 0x64, 0x20, 0x72,
-  0x65, 0x61, 0x64, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
-  0x74, 0x2c, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x6f,
-  0x66, 0x74, 0x2d, 0x63, 0x6c, 0x69, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x78, 0x74, 0x65,
-  0x6e, 0x64, 0x35, 0x70, 0x4f, 0x66, 0x52, 0x65, 0x61, 0x64, 0x31, 0x20,
-  0x2e, 0x2e, 0x2e, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x65, 0x78,
-  0x74, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68,
-  0x65, 0x20, 0x35, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
-  0x72, 0x65, 0x61, 0x64, 0x31, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f,
-  0x74, 0x68, 0x65, 0x72, 0x20, 0x65, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x6c,
+  0x69, 0x70, 0x74, 0x73, 0x50, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x4e,
+  0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x30, 0x30, 0x30, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d,
+  0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66,
+  0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61,
+  0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x70, 0x65,
+  0x72, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f,
+  0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67,
+  0x6e, 0x45, 0x6e, 0x64, 0x73, 0x54, 0x79, 0x70, 0x65, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x6f, 0x63, 0x61,
+  0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+  0x3a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65,
+  0x61, 0x64, 0x20, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x61, 0x6c, 0x69, 0x67,
+  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e,
+  0x2e, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x6c,
   0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65,
-  0x6e, 0x74, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x53, 0x6f, 0x66,
-  0x74, 0x43, 0x6c, 0x69, 0x70, 0x41, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72,
-  0x65, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x73, 0x20, 0x59, 0x65, 0x73,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a,
-  0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73,
-  0x6f, 0x66, 0x74, 0x2d, 0x63, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67,
-  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6c, 0x69, 0x67,
-  0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x70, 0x61, 0x73, 0x74, 0x20,
-  0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x6f, 0x73, 0x6f, 0x6d,
-  0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x59, 0x65, 0x73, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61,
-  0x6c, 0x6c, 0x6f, 0x77, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74, 0x2c, 0x20, 0x75,
-  0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x6f,
-  0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20,
-  0x77, 0x69, 0x74, 0x68, 0x20, 0x43, 0x75, 0x66, 0x66, 0x6c, 0x69, 0x6e,
-  0x6b, 0x73, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x57, 0x69, 0x6e, 0x64,
-  0x6f, 0x77, 0x73, 0x2c, 0x20, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73,
-  0x2c, 0x20, 0x42, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x0a, 0x0a, 0x77,
-  0x69, 0x6e, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x4d, 0x75, 0x6c, 0x74,
-  0x69, 0x6d, 0x61, 0x70, 0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x35, 0x30, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78,
-  0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x6c,
-  0x6f, 0x63, 0x69, 0x20, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x20,
-  0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20,
-  0x74, 0x6f, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x0a, 0x0a, 0x77,
-  0x69, 0x6e, 0x42, 0x69, 0x6e, 0x4e, 0x62, 0x69, 0x74, 0x73, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x36, 0x0a, 0x20, 0x20,
-  0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x3d, 0x6c, 0x6f,
-  0x67, 0x32, 0x28, 0x77, 0x69, 0x6e, 0x42, 0x69, 0x6e, 0x29, 0x2c, 0x20,
-  0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x42, 0x69, 0x6e,
-  0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x7a, 0x65,
-  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x69, 0x6e, 0x20,
-  0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64,
-  0x6f, 0x77, 0x73, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69,
-  0x6e, 0x67, 0x2c, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x77, 0x69, 0x6e,
-  0x64, 0x6f, 0x77, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6f, 0x63, 0x63,
-  0x75, 0x70, 0x79, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67,
-  0x65, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66,
-  0x20, 0x62, 0x69, 0x6e, 0x73, 0x2e, 0x20, 0x0a, 0x0a, 0x77, 0x69, 0x6e,
-  0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x4e, 0x62,
-  0x69, 0x6e, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
-  0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75,
-  0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x69, 0x6e, 0x73,
-  0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x77, 0x6f,
-  0x20, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61,
-  0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x61, 0x67, 0x67,
-  0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20,
-  0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f,
-  0x20, 0x6f, 0x6e, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x0a,
-  0x0a, 0x77, 0x69, 0x6e, 0x46, 0x6c, 0x61, 0x6e, 0x6b, 0x4e, 0x62, 0x69,
-  0x6e, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69,
-  0x6e, 0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6c, 0x6f, 0x67, 0x32, 0x28, 0x77,
-  0x69, 0x6e, 0x46, 0x6c, 0x61, 0x6e, 0x6b, 0x29, 0x2c, 0x20, 0x77, 0x68,
-  0x65, 0x72, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x20, 0x46, 0x6c, 0x61, 0x6e,
-  0x6b, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x7a,
-  0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x66,
-  0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20,
-  0x66, 0x6c, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x67,
-  0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63,
-  0x68, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x0a, 0x0a, 0x0a, 0x0a,
-  0x23, 0x23, 0x23, 0x20, 0x43, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63,
-  0x20, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a,
-  0x63, 0x68, 0x69, 0x6d, 0x4f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65,
-  0x53, 0x41, 0x4d, 0x6f, 0x6c, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73,
-  0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20,
-  0x6f, 0x66, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20,
-  0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53,
-  0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x53, 0x41, 0x4d, 0x6f, 0x6c,
-  0x64, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75,
-  0x74, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x69, 0x6e,
-  0x74, 0x6f, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20,
-  0x43, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x2e, 0x6f, 0x75, 0x74,
-  0x2e, 0x73, 0x61, 0x6d, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x20, 0x20,
+  0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x6f, 0x66, 0x74,
+  0x2d, 0x63, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c,
+  0x6c, 0x6f, 0x77, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x45, 0x6e, 0x64, 0x54, 0x6f, 0x45,
+  0x6e, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e,
+  0x2e, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x2d,
+  0x74, 0x6f, 0x2d, 0x65, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20,
+  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x64,
+  0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x2d, 0x63,
+  0x6c, 0x69, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x35, 0x70,
+  0x4f, 0x66, 0x52, 0x65, 0x61, 0x64, 0x31, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
+  0x66, 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64,
+  0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x35, 0x70,
+  0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64,
+  0x31, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72,
+  0x20, 0x65, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+  0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x0a, 0x0a,
+  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x53, 0x6f, 0x66, 0x74, 0x43, 0x6c, 0x69,
+  0x70, 0x41, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
+  0x45, 0x6e, 0x64, 0x73, 0x20, 0x59, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x61, 0x6c, 0x6c,
+  0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x2d,
+  0x63, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
+  0x74, 0x73, 0x20, 0x70, 0x61, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20,
+  0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63,
+  0x68, 0x72, 0x6f, 0x6d, 0x6f, 0x73, 0x6f, 0x6d, 0x65, 0x73, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x59,
+  0x65, 0x73, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x4e, 0x6f, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x70, 0x72, 0x6f,
+  0x68, 0x69, 0x62, 0x69, 0x74, 0x2c, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75,
+  0x6c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74,
+  0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x77, 0x69, 0x74, 0x68,
+  0x20, 0x43, 0x75, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x0a, 0x0a,
+  0x23, 0x23, 0x23, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c,
+  0x20, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x2c, 0x20, 0x42, 0x69,
+  0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x41, 0x6e,
+  0x63, 0x68, 0x6f, 0x72, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x6d, 0x61, 0x70,
+  0x4e, 0x6d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x35, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e,
+  0x74, 0x3e, 0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d,
+  0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x63, 0x69, 0x20,
+  0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20,
+  0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6d,
+  0x61, 0x70, 0x20, 0x74, 0x6f, 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x42, 0x69,
+  0x6e, 0x4e, 0x62, 0x69, 0x74, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x31, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e,
+  0x74, 0x3e, 0x30, 0x3a, 0x20, 0x3d, 0x6c, 0x6f, 0x67, 0x32, 0x28, 0x77,
+  0x69, 0x6e, 0x42, 0x69, 0x6e, 0x29, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x72,
+  0x65, 0x20, 0x77, 0x69, 0x6e, 0x42, 0x69, 0x6e, 0x20, 0x69, 0x73, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x62, 0x69, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2f,
+  0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20,
+  0x65, 0x61, 0x63, 0x68, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x20,
+  0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6f, 0x63, 0x63, 0x75, 0x70, 0x79, 0x20,
+  0x61, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x20, 0x6e,
+  0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x69, 0x6e,
+  0x73, 0x2e, 0x20, 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x41, 0x6e, 0x63, 0x68,
+  0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x4e, 0x62, 0x69, 0x6e, 0x73, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30,
+  0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
+  0x20, 0x6f, 0x66, 0x20, 0x62, 0x69, 0x6e, 0x73, 0x20, 0x62, 0x65, 0x74,
+  0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x77, 0x6f, 0x20, 0x61, 0x6e, 0x63,
+  0x68, 0x6f, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x6c,
+  0x6c, 0x6f, 0x77, 0x73, 0x20, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
+  0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x63, 0x68,
+  0x6f, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65,
+  0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x0a, 0x0a, 0x77, 0x69, 0x6e,
+  0x46, 0x6c, 0x61, 0x6e, 0x6b, 0x4e, 0x62, 0x69, 0x6e, 0x73, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x30,
+  0x3a, 0x20, 0x6c, 0x6f, 0x67, 0x32, 0x28, 0x77, 0x69, 0x6e, 0x46, 0x6c,
+  0x61, 0x6e, 0x6b, 0x29, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20,
+  0x77, 0x69, 0x6e, 0x20, 0x46, 0x6c, 0x61, 0x6e, 0x6b, 0x20, 0x69, 0x73,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x6f, 0x66,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x61, 0x6e,
+  0x64, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x66, 0x6c, 0x61, 0x6e,
+  0x6b, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73,
+  0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x77, 0x69,
+  0x6e, 0x64, 0x6f, 0x77, 0x0a, 0x0a, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20,
+  0x43, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x41, 0x6c, 0x69,
+  0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x63, 0x68, 0x69, 0x6d,
+  0x4f, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x53, 0x41, 0x4d, 0x6f,
+  0x6c, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e,
+  0x67, 0x3a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x63,
+  0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x6f, 0x75, 0x74, 0x70,
+  0x75, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x70, 0x61, 0x72,
+  0x61, 0x74, 0x65, 0x53, 0x41, 0x4d, 0x6f, 0x6c, 0x64, 0x20, 0x20, 0x2e,
+  0x2e, 0x2e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x6f, 0x6c,
+  0x64, 0x20, 0x53, 0x41, 0x4d, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x73,
+  0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, 0x43, 0x68, 0x69, 0x6d,
+  0x65, 0x72, 0x69, 0x63, 0x2e, 0x6f, 0x75, 0x74, 0x2e, 0x73, 0x61, 0x6d,
+  0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x57, 0x69,
+  0x74, 0x68, 0x69, 0x6e, 0x42, 0x41, 0x4d, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+  0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x61,
+  0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x66,
+  0x69, 0x6c, 0x65, 0x73, 0x20, 0x28, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x65,
+  0x64, 0x2e, 0x2a, 0x2e, 0x62, 0x61, 0x6d, 0x29, 0x0a, 0x0a, 0x63, 0x68,
+  0x69, 0x6d, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x69, 0x6e,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x57, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x42, 0x41, 0x4d, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x75,
-  0x74, 0x70, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x6d, 0x61,
-  0x69, 0x6e, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x42,
-  0x41, 0x4d, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x28, 0x41, 0x6c,
-  0x69, 0x67, 0x6e, 0x65, 0x64, 0x2e, 0x2a, 0x2e, 0x62, 0x61, 0x6d, 0x29,
-  0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e,
-  0x74, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69,
-  0x6d, 0x75, 0x6d, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f,
-  0x66, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x73,
-  0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74,
-  0x68, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x3d, 0x3d, 0x30, 0x2c, 0x20, 0x6e,
-  0x6f, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x6f,
-  0x75, 0x74, 0x70, 0x75, 0x74, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x53,
-  0x63, 0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30,
-  0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a,
-  0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x74, 0x6f, 0x74,
-  0x61, 0x6c, 0x20, 0x28, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x29, 0x20,
-  0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
-  0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x73, 0x65,
-  0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d,
-  0x53, 0x63, 0x6f, 0x72, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x78,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d,
-  0x30, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x64, 0x72, 0x6f, 0x70, 0x20,
-  0x28, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x29,
-  0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63,
-  0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20,
-  0x73, 0x75, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65,
-  0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x68, 0x69,
-  0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x73, 0x65, 0x67, 0x65, 0x6d, 0x65,
-  0x6e, 0x74, 0x73, 0x29, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68,
-  0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74,
-  0x68, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65,
-  0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e,
+  0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20,
+  0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68,
+  0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65,
+  0x6e, 0x74, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2c, 0x20, 0x69,
+  0x66, 0x20, 0x3d, 0x3d, 0x30, 0x2c, 0x20, 0x6e, 0x6f, 0x20, 0x63, 0x68,
+  0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75,
+  0x74, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65,
+  0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20,
+  0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x69, 0x6e,
+  0x69, 0x6d, 0x75, 0x6d, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x28,
+  0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x29, 0x20, 0x73, 0x63, 0x6f, 0x72,
+  0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x69,
+  0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e,
+  0x74, 0x73, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x53, 0x63, 0x6f, 0x72,
+  0x65, 0x44, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x30, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d,
+  0x61, 0x78, 0x20, 0x64, 0x72, 0x6f, 0x70, 0x20, 0x28, 0x64, 0x69, 0x66,
+  0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x29, 0x20, 0x6f, 0x66, 0x20,
+  0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x73, 0x63, 0x6f,
+  0x72, 0x65, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x6d, 0x20,
+  0x6f, 0x66, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x20, 0x6f, 0x66,
+  0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69,
+  0x63, 0x20, 0x73, 0x65, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x29,
+  0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65,
+  0x61, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x0a, 0x0a, 0x63,
+  0x68, 0x69, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x70, 0x61,
+  0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e,
+  0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75,
+  0x6d, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
+  0x20, 0x28, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+  0x29, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x62, 0x65, 0x73, 0x74, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65,
+  0x72, 0x69, 0x63, 0x20, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x6e,
+  0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x6f,
+  0x6e, 0x65, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x53, 0x63, 0x6f, 0x72,
+  0x65, 0x4a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x6e,
+  0x47, 0x54, 0x41, 0x47, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x31, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x70, 0x65, 0x6e, 0x61,
+  0x6c, 0x74, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x6e, 0x6f,
+  0x6e, 0x2d, 0x47, 0x54, 0x2f, 0x41, 0x47, 0x20, 0x63, 0x68, 0x69, 0x6d,
+  0x65, 0x72, 0x69, 0x63, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
+  0x6e, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x4a, 0x75, 0x6e, 0x63, 0x74,
+  0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x4d,
+  0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20,
   0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x69,
-  0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72,
-  0x65, 0x6e, 0x63, 0x65, 0x20, 0x28, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61,
-  0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65,
-  0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x73, 0x74, 0x20, 0x63,
-  0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x73, 0x63, 0x6f, 0x72,
-  0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65,
-  0x78, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d,
-  0x53, 0x63, 0x6f, 0x72, 0x65, 0x4a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
-  0x6e, 0x4e, 0x6f, 0x6e, 0x47, 0x54, 0x41, 0x47, 0x20, 0x20, 0x20, 0x20,
-  0x2d, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20,
-  0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20,
-  0x61, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x47, 0x54, 0x2f, 0x41, 0x47, 0x20,
-  0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x6a, 0x75, 0x6e,
-  0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x4a,
-  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x68,
-  0x61, 0x6e, 0x67, 0x4d, 0x69, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32,
-  0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30,
-  0x3a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6f, 0x76,
-  0x65, 0x72, 0x68, 0x61, 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61,
-  0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x6a, 0x75,
-  0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d,
-  0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x64, 0x47,
-  0x61, 0x70, 0x4d, 0x61, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30,
-  0x3a, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x67, 0x61,
-  0x70, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61,
-  0x64, 0x20, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x62,
-  0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65,
-  0x72, 0x69, 0x63, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73,
-  0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x61, 0x6e, 0x47, 0x65, 0x6e,
-  0x6f, 0x6d, 0x69, 0x63, 0x4e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74,
-  0x72, 0x69, 0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x64, 0x69, 0x66,
-  0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65,
-  0x72, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65,
-  0x72, 0x69, 0x63, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
-  0x74, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20,
-  0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65,
-  0x72, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x61, 0x6e,
-  0x47, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63, 0x4e, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x4e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20,
-  0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74,
-  0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x20, 0x73, 0x65,
-  0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x72, 0x6f, 0x75, 0x6e,
-  0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72,
-  0x69, 0x63, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a,
-  0x0a, 0x23, 0x23, 0x23, 0x20, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x66,
-  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x41,
-  0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x71,
-  0x75, 0x61, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x2d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72,
-  0x69, 0x6e, 0x67, 0x28, 0x73, 0x29, 0x3a, 0x20, 0x74, 0x79, 0x70, 0x65,
-  0x73, 0x20, 0x6f, 0x66, 0x20, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x66,
-  0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75,
-  0x65, 0x73, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x6e, 0x65, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69,
-  0x70, 0x74, 0x6f, 0x6d, 0x65, 0x53, 0x41, 0x4d, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x53, 0x41, 0x4d, 0x2f,
-  0x42, 0x41, 0x4d, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
-  0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63,
-  0x72, 0x69, 0x70, 0x74, 0x6f, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x6f,
-  0x20, 0x61, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20,
-  0x66, 0x69, 0x6c, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x47, 0x65, 0x6e,
-  0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20,
-  0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x67, 0x65,
-  0x6e, 0x65, 0x0a, 0x0a, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61,
-  0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x6d, 0x65, 0x42, 0x41,
-  0x4d, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
-  0x20, 0x20, 0x20, 0x20, 0x31, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x2d,
-  0x31, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x20, 0x20, 0x74, 0x72, 0x61,
-  0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x6d, 0x65, 0x20, 0x42,
-  0x41, 0x4d, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
-  0x6f, 0x6e, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2c, 0x20, 0x2d, 0x31,
-  0x3d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x63, 0x6f, 0x6d,
-  0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x36, 0x3f,
-  0x29, 0x2c, 0x20, 0x30, 0x3d, 0x6e, 0x6f, 0x20, 0x63, 0x6f, 0x6d, 0x70,
-  0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x31, 0x30, 0x3d,
-  0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x63, 0x6f, 0x6d, 0x70,
-  0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x71, 0x75, 0x61,
-  0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
-  0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x49, 0x6e, 0x64, 0x65, 0x6c, 0x53, 0x6f, 0x66, 0x74, 0x63, 0x6c,
-  0x69, 0x70, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x65, 0x6e, 0x64, 0x0a,
-  0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20,
-  0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74, 0x20, 0x76, 0x61, 0x72,
-  0x69, 0x6f, 0x75, 0x73, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65,
-  0x6e, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x61,
+  0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x68, 0x69,
+  0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69,
+  0x6f, 0x6e, 0x0a, 0x0a, 0x63, 0x68, 0x69, 0x6d, 0x53, 0x65, 0x67, 0x6d,
+  0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x64, 0x47, 0x61, 0x70, 0x4d, 0x61,
+  0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x69, 0x6e, 0x74, 0x3e, 0x3d, 0x30, 0x3a, 0x20, 0x6d, 0x61,
+  0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x67, 0x61, 0x70, 0x20, 0x69, 0x6e,
+  0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x73, 0x65,
+  0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65,
+  0x65, 0x6e, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20,
+  0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x0a, 0x63, 0x68,
+  0x69, 0x6d, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x62, 0x61, 0x6e, 0x47, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x63,
+  0x4e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
+  0x28, 0x73, 0x29, 0x3a, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65,
+  0x6e, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x20, 0x66,
+  0x6f, 0x72, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20,
+  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
+  0x6e, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x61, 0x6e, 0x47, 0x65, 0x6e, 0x6f,
+  0x6d, 0x69, 0x63, 0x4e, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x4e, 0x73, 0x20,
+  0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f,
+  0x77, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67,
+  0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x20, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e,
+  0x63, 0x65, 0x20, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x6a,
+  0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x23, 0x23, 0x23,
+  0x20, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
+  0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
+  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x71, 0x75, 0x61, 0x6e, 0x74,
+  0x4d, 0x6f, 0x64, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x28,
+  0x73, 0x29, 0x3a, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x6f, 0x66,
+  0x20, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
+  0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65,
+  0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x49, 0x6e, 0x64, 0x65, 0x6c, 0x53, 0x6f, 0x66, 0x74, 0x63, 0x6c, 0x69,
-  0x70, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x65, 0x6e, 0x64, 0x20, 0x20,
-  0x2e, 0x2e, 0x2e, 0x20, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74,
-  0x20, 0x69, 0x6e, 0x64, 0x65, 0x6c, 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x66,
-  0x74, 0x20, 0x63, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61,
-  0x6e, 0x64, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x2d, 0x65, 0x6e,
-  0x64, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
-  0x20, 0x2d, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c,
-  0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x52, 0x53, 0x45, 0x4d, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e,
+  0x2e, 0x2e, 0x20, 0x6e, 0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x65, 0x6e,
-  0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x70, 0x72, 0x6f, 0x68,
-  0x69, 0x62, 0x69, 0x74, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x2d,
-  0x65, 0x6e, 0x64, 0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
-  0x74, 0x73, 0x0a, 0x0a, 0x23, 0x23, 0x23, 0x20, 0x32, 0x2d, 0x70, 0x61,
-  0x73, 0x73, 0x20, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x74,
-  0x77, 0x6f, 0x70, 0x61, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x20, 0x20,
+  0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x6d,
+  0x65, 0x53, 0x41, 0x4d, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x6f, 0x75, 0x74,
+  0x70, 0x75, 0x74, 0x20, 0x53, 0x41, 0x4d, 0x2f, 0x42, 0x41, 0x4d, 0x20,
+  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74,
+  0x6f, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
+  0x6f, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73,
+  0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
   0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20,
-  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x32, 0x2d, 0x70, 0x61,
-  0x73, 0x73, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x6d,
-  0x6f, 0x64, 0x65, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e,
-  0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e,
-  0x20, 0x31, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x20, 0x6d, 0x61, 0x70, 0x70,
-  0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x42, 0x61, 0x73, 0x69,
-  0x63, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
-  0x62, 0x61, 0x73, 0x69, 0x63, 0x20, 0x32, 0x2d, 0x70, 0x61, 0x73, 0x73,
-  0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x77, 0x69,
-  0x74, 0x68, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x31, 0x73, 0x74, 0x20, 0x70,
-  0x61, 0x73, 0x73, 0x20, 0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
-  0x73, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69,
-  0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x6f,
-  0x6d, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x20, 0x6f,
-  0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6c, 0x79, 0x0a, 0x0a, 0x74,
-  0x77, 0x6f, 0x70, 0x61, 0x73, 0x73, 0x31, 0x72, 0x65, 0x61, 0x64, 0x73,
-  0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-  0x20, 0x20, 0x20, 0x2d, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e,
-  0x74, 0x3a, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66,
-  0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72,
-  0x6f, 0x63, 0x65, 0x73, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68,
-  0x65, 0x20, 0x31, 0x73, 0x74, 0x20, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x20,
-  0x55, 0x73, 0x65, 0x20, 0x76, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x61, 0x72,
-  0x67, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x28, 0x6f,
-  0x72, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x2d, 0x31,
-  0x29, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x61, 0x6c, 0x6c,
-  0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68,
-  0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x73, 0x74, 0x65, 0x70,
-  0x2e, 0x0a, 0x0a
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x47, 0x65, 0x6e, 0x65, 0x43, 0x6f, 0x75,
+  0x6e, 0x74, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e,
+  0x2e, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x61, 0x64,
+  0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x0a, 0x0a,
+  0x71, 0x75, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72,
+  0x69, 0x70, 0x74, 0x6f, 0x6d, 0x65, 0x42, 0x41, 0x4d, 0x63, 0x6f, 0x6d,
+  0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x20, 0x20, 0x20,
+  0x31, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x31, 0x0a, 0x20, 0x20,
+  0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x2d, 0x31, 0x20, 0x74, 0x6f,
+  0x20, 0x31, 0x30, 0x20, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72,
+  0x69, 0x70, 0x74, 0x6f, 0x6d, 0x65, 0x20, 0x42, 0x41, 0x4d, 0x20, 0x63,
+  0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6c,
+  0x65, 0x76, 0x65, 0x6c, 0x2c, 0x20, 0x2d, 0x31, 0x3d, 0x64, 0x65, 0x66,
+  0x61, 0x75, 0x6c, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73,
+  0x73, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x36, 0x3f, 0x29, 0x2c, 0x20, 0x30,
+  0x3d, 0x6e, 0x6f, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73,
+  0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x31, 0x30, 0x3d, 0x6d, 0x61, 0x78, 0x69,
+  0x6d, 0x75, 0x6d, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73,
+  0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x54, 0x72,
+  0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x6d, 0x65, 0x42,
+  0x61, 0x6e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x6e, 0x64,
+  0x65, 0x6c, 0x53, 0x6f, 0x66, 0x74, 0x63, 0x6c, 0x69, 0x70, 0x53, 0x69,
+  0x6e, 0x67, 0x6c, 0x65, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x70, 0x72, 0x6f, 0x68,
+  0x69, 0x62, 0x69, 0x74, 0x20, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73,
+  0x20, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x74,
+  0x79, 0x70, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49, 0x6e, 0x64, 0x65,
+  0x6c, 0x53, 0x6f, 0x66, 0x74, 0x63, 0x6c, 0x69, 0x70, 0x53, 0x69, 0x6e,
+  0x67, 0x6c, 0x65, 0x65, 0x6e, 0x64, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20,
+  0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74, 0x20, 0x69, 0x6e, 0x64,
+  0x65, 0x6c, 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x63, 0x6c,
+  0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73,
+  0x69, 0x6e, 0x67, 0x6c, 0x65, 0x2d, 0x65, 0x6e, 0x64, 0x20, 0x61, 0x6c,
+  0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x2d, 0x20, 0x63,
+  0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69,
+  0x74, 0x68, 0x20, 0x52, 0x53, 0x45, 0x4d, 0x0a, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x65, 0x6e, 0x64, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x2e, 0x2e, 0x2e, 0x20, 0x70, 0x72, 0x6f, 0x68, 0x69, 0x62, 0x69, 0x74,
+  0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x2d, 0x65, 0x6e, 0x64, 0x20,
+  0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x0a,
+  0x23, 0x23, 0x23, 0x20, 0x32, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x20, 0x4d,
+  0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x74, 0x77, 0x6f, 0x70, 0x61,
+  0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4e,
+  0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69,
+  0x6e, 0x67, 0x3a, 0x20, 0x32, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x20, 0x6d,
+  0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x2e,
+  0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x4e, 0x6f, 0x6e, 0x65, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x31, 0x2d, 0x70,
+  0x61, 0x73, 0x73, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x42, 0x61, 0x73, 0x69, 0x63, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x62, 0x61, 0x73, 0x69,
+  0x63, 0x20, 0x32, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x20, 0x6d, 0x61, 0x70,
+  0x70, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61,
+  0x6c, 0x6c, 0x20, 0x31, 0x73, 0x74, 0x20, 0x70, 0x61, 0x73, 0x73, 0x20,
+  0x6a, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x6e,
+  0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20,
+  0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x6f, 0x6d, 0x65, 0x20, 0x69,
+  0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68,
+  0x65, 0x20, 0x66, 0x6c, 0x79, 0x0a, 0x0a, 0x74, 0x77, 0x6f, 0x70, 0x61,
+  0x73, 0x73, 0x31, 0x72, 0x65, 0x61, 0x64, 0x73, 0x4e, 0x20, 0x20, 0x20,
+  0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d,
+  0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x3a, 0x20, 0x6e,
+  0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x61,
+  0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
+  0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x31, 0x73,
+  0x74, 0x20, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x20,
+  0x76, 0x65, 0x72, 0x79, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x6e,
+  0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x72, 0x20, 0x64, 0x65,
+  0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x2d, 0x31, 0x29, 0x20, 0x74, 0x6f,
+  0x20, 0x6d, 0x61, 0x70, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x61,
+  0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69,
+  0x72, 0x73, 0x74, 0x20, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x0a, 0x0a
 };
-unsigned int parametersDefault_len = 27615;
+unsigned int parametersDefault_len = 28391;
diff --git a/source/signalFromBAM.cpp b/source/signalFromBAM.cpp
index 4c5a7af..7f6b874 100644
--- a/source/signalFromBAM.cpp
+++ b/source/signalFromBAM.cpp
@@ -60,7 +60,7 @@ void signalFromBAM(const string bamFileName, const string sigFileName, Parameter
     } else if (P.outWigFlags.norm==1) {//normlaized
         normFactor[0]=1.0e6 / nUniq;
         normFactor[1]=1.0e6 / (nUniq+nMult);   
-        for (uint32_t is=0;is<sigN;is++) {//formatting double output
+        for (int is=0;is<sigN;is++) {//formatting double output
             *sigOutAll[is]<<setiosflags(ios::fixed) << setprecision(5);
         };        
     };
@@ -72,13 +72,13 @@ void signalFromBAM(const string bamFileName, const string sigFileName, Parameter
     
     int iChr=-999;
     double *sigAll=NULL;
+    uint32_t chrLen=0;    
     while ( true ) {//until the end of file
-        int bamBytes1=bam_read1(bamIn, bamA);
-        uint32_t chrLen;
+        int bamBytes1=bam_read1(bamIn, bamA);    
         if (bamA->core.tid!=iChr || bamBytes1<0) {
             //output to file
             if (iChr!=-999) {//iChr=-999 marks chromosomes that are not output, including unmapped reads
-                for (uint32_t is=0;is<sigN;is++) {
+                for (int is=0;is<sigN;is++) {
                     if (P.outWigFlags.format==1) {
                         *sigOutAll[is] <<"variableStep chrom="<<bamHeader->target_name[iChr] <<"\n";
                     };
diff --git a/source/sjdbBuildIndex.cpp b/source/sjdbBuildIndex.cpp
index c63b280..c6c1266 100644
--- a/source/sjdbBuildIndex.cpp
+++ b/source/sjdbBuildIndex.cpp
@@ -78,6 +78,8 @@ void sjdbBuildIndex (Parameters *P, Parameters *P1, char *Gsj, char *G, PackedAr
             {
                 //indArray[ind1] =  suffixArraySearch(seq1, istart, P->sjdbLength-istart1, G, SA, true, 0, P->nSA-1, 0, P) ;
                 indArray[ind1] =  suffixArraySearch1(seq1, istart, 10000, G, -1LLU, SA, true, 0, P->nSA-1, 0, P) ;
+                //-1LLU results in suffixes for the new junctions to be always included in SA *after* the suffixes of the old junctions
+                //for identical suffixes, this may result in unstable ordering
                 indArray[ind1+1] = isj*P->sjdbLength+istart;
             };
         };
diff --git a/source/stitchAlignToTranscript.cpp b/source/stitchAlignToTranscript.cpp
index 45d1085..05c7c1a 100644
--- a/source/stitchAlignToTranscript.cpp
+++ b/source/stitchAlignToTranscript.cpp
@@ -299,7 +299,7 @@ intScore stitchAlignToTranscript(uint rAend, uint gAend, uint rBstart, uint gBst
                 
         #else
             if ( (trA->nMM + nMM)<=outFilterMismatchNmaxTotal  \
-                         && ( jCan<0 || (jCan<7 && nMM<=P->alignSJstitchMismatchNmax[(jCan+1)/2]) ) ) 
+                         && ( jCan<0 || (jCan<7 && nMM<= (uint) P->alignSJstitchMismatchNmax[(jCan+1)/2]) ) ) 
         #endif
             {//stitching worked only if there no mis-matches for non-GT/AG junctions
                 trA->nMM += nMM;
@@ -373,7 +373,7 @@ intScore stitchAlignToTranscript(uint rAend, uint gAend, uint rBstart, uint gBst
             trA->nMatch += L;
 
             trExtend.reset();
-//             if ( extendAlign(R, Q, G, rBstart-1, gBstart-1, -1, -1, gBstart-trA->exons[0][EX_G]+trA->exons[0][EX_R], trA->nMatch, trA->nMM, outFilterMismatchNmaxTotal, P->outFilterMismatchNoverLmax, \
+            //if ( extendAlign(R, Q, G, rBstart-1, gBstart-1, -1, -1, gBstart-trA->exons[0][EX_G]+trA->exons[0][EX_R], trA->nMatch, trA->nMM, outFilterMismatchNmaxTotal, P->outFilterMismatchNoverLmax, 
             //if end extension needs to be forced, use large length. Otherwise, only extend until the beginning of the transcript
             uint extlen=P->alignEndsType.ext[iFragB][1] ? DEF_readSeqLengthMax : gBstart-trA->exons[0][EX_G]+trA->exons[0][EX_R];
             if ( extendAlign(R, Q, G, rBstart-1, gBstart-1, -1, -1, extlen, trA->nMatch, trA->nMM, outFilterMismatchNmaxTotal, P->outFilterMismatchNoverLmax, \

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/rna-star.git



More information about the debian-med-commit mailing list