<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8807497864013532305</id><updated>2024-08-29T07:59:01.653-07:00</updated><category term="chile"/><category term="aws"/><category term="boto"/><category term="boto3"/><category term="botocore"/><category term="buckets"/><category term="digito verificador"/><category term="full log"/><category term="linux shell script"/><category term="perl"/><category term="rut"/><category term="script unix"/><category term="unix"/><title type='text'>Unix - Linux - *BSD - Programacion</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-8799250082195506289</id><published>2023-09-26T08:49:00.003-07:00</published><updated>2023-09-26T08:56:20.713-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aws"/><category scheme="http://www.blogger.com/atom/ns#" term="boto"/><category scheme="http://www.blogger.com/atom/ns#" term="boto3"/><category scheme="http://www.blogger.com/atom/ns#" term="botocore"/><category scheme="http://www.blogger.com/atom/ns#" term="buckets"/><category scheme="http://www.blogger.com/atom/ns#" term="chile"/><title type='text'>Listar Bucket en AWS usando credenciales dinámicas</title><content type='html'>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html&quot; target=&quot;_blank&quot;&gt;Configuring AWS credentials&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-download-file.html&quot; target=&quot;_blank&quot;&gt;Downloading files from S3&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.stackvidhya.com/specify-credentials-in-boto3/&quot; target=&quot;_blank&quot;&gt;How To Specify Credentials When Connecting To AWS S3 Using Boto3?&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-creating-buckets.html&quot; target=&quot;_blank&quot;&gt;Amazon S3 buckets&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/python/example_code/s3/file_transfer/file_transfer.py&quot; target=&quot;_blank&quot;&gt;file_transfer.py&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: #2b2b2b; color: #a9b7c6; font-family: &amp;quot;JetBrains Mono&amp;quot;, monospace; font-size: 9.8pt;&quot;&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;import &lt;/span&gt;boto3&lt;br /&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;import &lt;/span&gt;botocore.session&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;def &lt;/span&gt;&lt;span style=&quot;color: #ffc66d;&quot;&gt;list_buckets&lt;/span&gt;():&lt;br /&gt;    &lt;span style=&quot;color: #629755; font-style: italic;&quot;&gt;&quot;&quot;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #629755; font-style: italic;&quot;&gt;    Use the AWS SDK for Python (Boto3) to create an Amazon Simple Storage Service&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #629755; font-style: italic;&quot;&gt;    (Amazon S3) resource and list the buckets in your account.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #629755; font-style: italic;&quot;&gt;    This example uses the default settings specified in your shared credentials&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #629755; font-style: italic;&quot;&gt;    and config files.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #629755; font-style: italic;&quot;&gt;    &quot;&quot;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #629755; font-style: italic;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #629755; font-style: italic;&quot;&gt;    &lt;/span&gt;s3_resource = boto3.resource(&lt;br /&gt;        &lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;s3&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: #aa4926;&quot;&gt;aws_access_key_id&lt;/span&gt;=&lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;IOEURT84POIU520PRU02974&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: #aa4926;&quot;&gt;aws_secret_access_key&lt;/span&gt;=&lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;gsjd48dufgRTTA3ou4/c11OQIU9+&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: #aa4926;&quot;&gt;aws_session_token&lt;/span&gt;=&lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;Ba0FwoGZXIiohafsdhfaS/R/fqoih45ads4f5adfasdfaf5a==&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;,        &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: #aa4926;&quot;&gt;region_name&lt;/span&gt;=&lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;us-east-1&#39;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;,&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;    &lt;/span&gt;)&lt;br /&gt;    &lt;span style=&quot;color: grey;&quot;&gt;# https://blog.knoldus.com/how-to-specify-credentials-when-connecting-to-aws-services-using-boto3/&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;    &lt;/span&gt;session = botocore.session.get_session()&lt;br /&gt;    &lt;span style=&quot;color: #8888c6;&quot;&gt;print&lt;/span&gt;(session.get_credentials().access_key)&lt;br /&gt;    &lt;span style=&quot;color: #8888c6;&quot;&gt;print&lt;/span&gt;(session.get_credentials().secret_key)&lt;br /&gt;    &lt;span style=&quot;color: #8888c6;&quot;&gt;print&lt;/span&gt;(session.get_credentials().token)&lt;br /&gt;    &lt;span style=&quot;color: #8888c6;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #6a8759;&quot;&gt;&quot;hola, Amazon S3! Lista de buckets:&quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color: #cc7832;&quot;&gt;for &lt;/span&gt;bucket &lt;span style=&quot;color: #cc7832;&quot;&gt;in &lt;/span&gt;s3_resource.buckets.all():&lt;br /&gt;        &lt;span style=&quot;color: #8888c6;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #6a8759;&quot;&gt;f&quot;&lt;/span&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;\t{&lt;/span&gt;bucket.name&lt;span style=&quot;color: #cc7832;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #6a8759;&quot;&gt;&quot;&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc7832;&quot;&gt;if &lt;/span&gt;__name__ == &lt;span style=&quot;color: #6a8759;&quot;&gt;&#39;__main__&#39;&lt;/span&gt;:&lt;br /&gt;    list_buckets()&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/8799250082195506289/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/8799250082195506289' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/8799250082195506289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/8799250082195506289'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2023/09/listar-bucket-en-aws-usando-credenca.html' title='Listar Bucket en AWS usando credenciales dinámicas'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total><georss:featurename>Temuco, Araucania, Chile</georss:featurename><georss:point>-38.7383905 -72.590459799999991</georss:point><georss:box>-67.131317865384389 -107.74670979999999 -10.345463134615617 -37.434209799999991</georss:box></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-4770574391879800096</id><published>2018-10-12T22:04:00.001-07:00</published><updated>2018-10-12T23:01:12.837-07:00</updated><title type='text'>Unix notes - sed command</title><content type='html'>&lt;br /&gt;
https://www.tecmint.com/linux-sed-command-tips-tricks/&lt;br /&gt;
&lt;br /&gt;
cat input.txt | sed &quot;s|[[:print:]][[:space:]]date| $varchar_10|Ig&quot; &amp;gt; output.txt&lt;br /&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=8807497864013532305&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
varchar_10=&#39;varchar(10)&#39;&lt;br /&gt;
cat input.txt | sed &quot;s/\bdate\b/$varchar_10/Ig&quot; &amp;gt; output.txt&lt;br /&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=8807497864013532305&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; height=&quot;181&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmcAAAFdCAYAAABGu8pHAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7svQtc1FX6P/4GxmEGGECQi6CCgje8IV9uYuK91DLX25Jltpua9s2Mtlptt37+d/tue6lNy28FVn63VUtNLQvL9Z6Q3BWvKd4AgbgPl2EYYGb4nzPMB0ecy2cGBofhnPIFfD7n8jzvcz7P5/k85znP4/Di+v9uAysMAYYAQ4AhwBBgCDAEGAI2gYCjTVDBiGAIMAQYAgwBhgBDgCHAENAgIOgOHNra2kD/sdI3EXBwcNAwzv3smygwrhkC+hHgZCOTkfrxsferTD7a+wxbh78uKWecUtamJsoZ/Y8paNaZJRvv1dHBEQ6OTEGz8Wli5D0ABKhMVKvVGtnI5OMDmAAbGJIqZ9w/R0e2WWUDU9IrSOiyckYFT7OiGb+UlULe2ERUNFWvYJwR2T0ICIViDBjgDQ8PDzg5OYEKH2ZB6x5sWS+9GwGNYqZSo1XZiqrqKkhrpERRU/Zuphj1ZiHgACd4eHrAz9cP/fr1g5r8xxQ0syDss5UtVs40X4LEYqZSqVBQWIiy8hIoW5ng6WsrydFRgMbGRgwdGkQUNE+NdYApZ31tFTB+OyPAWcxU5OO1oqIChURGNjU1MutZZ6D6wN9SqZS8J5UYNGgwnBycmIzsA3PeHSx2STlTt6nJi1mG0tI7mgXHvgi6Y0p6Vx9tbSrUSCvRv78HXFzcIBT2Y8Knd00ho9ZaCBA33OZmBSoryjWKGbe1Za3hWL+2iUBzSxN5R5bCy8sHbm4uTD7a5jTZHFUWbYBzVjO6pXmn+I7Gp4JZS2xubnuEIDrvREdHRWUlFAoF863pEdTZILaOAJWR1GpGrSYy8gHLSt9GgMrGqspy5n/Yt5eBWdxbrJxxVrNKYrJniplZmNtdZXpYs76uFjJZA5RKJVPQ7G6GGUPmIMB9vLa0NGuUM/piZjLSHATtqy6de7VapfE75D5g7YtDxo01EDBbOdMIHvpVSHzNSkpKyU9mNbPGxPSmPrkXDz0UQl9IdH2wwhDoqwho/M2IObmhvh4NDXVMMeurC6ET301NTaiuqSaKGju5y5aEaQQsUs7oNiY9mVldXUlGYC9i0zDbfw2qoNUSK0FDg0wjfLjwAfbPOePQ1hAQCAQICQmFyFl0H2n0xNzw4SM0J+esUTirWWtrK2rr6iCXN1ljGNZnL0OAysfW1hbNiV2FoonJx142fw+CXLMOBHBWM/riragoQ2uLkv8hAOI4rmhSop/YmZxYeRCssjGtiUC76V6NX34pgbe3N1kXbJKtifeD7nvSpDgEBwUbJKNRLselSxdx69ZNg3WsccOXhCwYOXIkBnj7oKqK+EESh3zdQpWycWPHISAgEPn5V8l6/aVbyeCsZnJ5I3kR15C+2enlbgW4l3dGXT9kDfUQi8XsYEAvn0trk2+W5YxTzuRE8FbXVBGxQzzB+RbJI9hz4SvMlvBtYKIeVfbkzVDpM9wZu6fbLd96Jkhht9sRoApaDfkyrCfbOcx6Zt+r4vz5PIhEYkgk7vf9c3V106yBO3eKegwE+rKLiPgvPDT5IY3iJXQWgoT+1Dt+P6EQ/v7+iJs0GVFR0eSUsYveeuZe5OSjslWFuto6chCgwdwu+Nfvquwy1t7YPV0K+dbjz5Vd16TykVrNaqS15BQvcf9g25t2Pd9dZY63ctZhNSM+ZjXV1ZrAs2YV2TE8E7scJ7rr4JLbbHx5fi9muumhwtg93ep86+kZwt4u6XNY1nfNGN+0fhvxtSkuoSd4STBifYqzsQ7YvV6DAP1Ay8hMv8+/kMqJGuJXc+3aVbKN02p1fugW5pAhQYiPn4bhoWS7kihefIuAWNGGDQ3B1KnTERw8tMtbnZyMbGltRiWx2tG/zX2G+NKOrsouY+2N3dMlkG893kz1jYp1dVLiFtSo8Uuka4QVhoA+BHgrZ7QxXUh0m6CGmOtbyak8swQP95VFXtoKuULjON5E/NYaye/NrXSRaq+TLwrqzyYnVrFWahbr/HVG/26Uk/utmpRRrcTJsrFRx4JG7zd1vkcOMJB+m5XtaabUyhbyBdNCYg91rqcPIvu/RuPTjRw5CoMHD+lg1meAD0aMGAlqBTGn0DVBT/DSwLRM+JiDXO+r+/PPV1BErGPcC0YjH8jJxFu3bpHtwlKrM0QtXuPGjUdkZBQ8PT1JclcLhiRt3N3d8V/E6jZhQjhZ764WdNIuGyn/9KAU3bqqI6eXzZKPZNQ2Eqi0WSPPiPxrMlP+cXKVyU+L5s9Uo0BijW33VWxX/mk2lOGhwzWBZc0pdE3IZI0af0QatJ1T6M3pg9XtGwjwVs6onxndqqKnTWjcHrLGzCvcV5Y/sXhdOoY3N+1F1u0SFOWn4cNfB0HgSq+fxP/8IwUXC0twO3MXnh/vijZ6XddCRvu5cAJHL/8fJnnE4dNLpI9Cne1Sun16qdM9jwGY+ddv8MFjPmhrbYPPY/+LA//ciAOd63XXlqt5yDzw2lTQjBkzFrExkzQWBB8fX0SS7R76snJzM185owwV3ylud3plpvsHPr/WJCAnJ4t8KMk1Q1BlvIIEXM2/fs2aQ3b03a4IyTRbqEpqpbPECEHa0PAvDQ0Nmn+0T0sK95Jtbm7RxH6kxSzljCh2orBVSD51k8izElw79SmeHU38kvjKP41cZfLTkrkz1YZ+vNKt8ujoWCITJ4Baa8eNm4BoIi8HDx7M3+9aOxB9d1J/SHmTnClnpsDvw/d5HQjQfBmT/+l+eR05kUetXl3KBuA8CCHFb2BJVD4EsW9i1//3IiakHgZEgRiS/xTmRpYgYPFmbPvbSpxcflkzPffKXSk2T3sOzxz8LT6f9TRONerMIN0+jXoO/3es072//wkj/vd/8YbvFYRNy8dbLyTh57fz7q/XBxcD3X46d+4sYmJiQR29qT+EWOyCK1cuobZWajYi9KVUU1NJHF8Hwd3DHQ5t7Yl/ze6INbB5BKgV/cLF84j8ryhiBW/EpcuXOpQ1axNP1+n16/kaS21QcLDmBepGLL2OTvy+OdvIB6eMWHipla+goIDEJKMO/OYXTjGjH6/UalZLfIrMPhDTbzhWvvsC3L58Eg/tI/Jv6WYk/3M1zvCVf64z8DSTn+ZPHo8W1DBx/cZ1eA8YQA6TjCeR/r0RGDhI8yFCt+/pfXNLAzkUQD8q6McvlZd0DZmlzJs7IKvf6xDgJcXowtHE7SFflvVkUXV5EckvYvfXeagkXw6/ZB9FoXAg3Ckl8kvk+nlUN1bjwte7cN1rIgKdKabteTzbtw3uVdM0iqOBcs89MubnHxXh8Y3zcH3zZ7jU/rGvaWmsDwNd293lgoLbyMrKhMRNorGc3biRT5SzyxpFzdxC14eS+CaWkxO91BLBvbzM7YfVt30E6NzeIC8u+vKiilJpaUmPE11LthAvE6UwL+8sCosKiLsCCV9hWCxoPzQVKCoq0rShp0otVcw4Zttlk5LEfizW7CqYLSPJB2u4Vz6+OJCHqsYq5O3fhRvmyj8mP6229uhHanr6T8Qw0YKQYSHEmV+Nn35K07j4mFu4tVFRXkbkawuTj+YC2Efqm1TONC9W8kXYTKxl9Iuwu6Jdky7bi64QFY/Frx8dCVGbGKFzn0Co9CLKFA0obx2KGRFehA53jFm4HGM1h6vUaIEbfMWqdp8zjc8F53vW6R71BRFFI/EVL2x76XMEvrYO44REaejchzGBbucLglrK6FehI9nipHM+dOgw0LAElhZ6MICGEqBxnphyZimKvaMdlQn09Oa1a9ce2IcO3ZqkYTGoknbx4gXyYVBO0ifdv0VJrRyVVRW4ROpQpYzmPOzKwQVubVOrWX19neZlbbZiRqe55Rdcqh2OpfOGwxmuGDn/SSL/LuAXvvKPyi4mP632wNA5HT06DK7E0kXXi4icDh5LQrJYNNeEStqujqwXakHjgtIyI4HVpq9XdsxLOaNWM7lMDmmd+V8JHag4OMKRLEjHjp/aO9zf9M/mUpSO/wdSr17Cdy84Yef/+wzX688j6X/zEPdhNq79/B9sGFqA0hbSj+IS9h4V4/XUAhQVEJ+zgTqhOpo63fPwwZz/9xpctv0e/zqajD987os/vDkHPs2d6vVhn7NHHplDzPbeyM3JxokTx+DkJMBDD03pkoJGD49UkUDFamJFYwpar5QPvIimc0tfMjS214Mu9CAKtQKfPZujd3uVWoJzc3Nw6/atbst5ST9e6enk4uJiwr6F21Ot+fi/P26HeuW3OP/zBez7TTP5+zPc4Cv/qGsok59WWX5UkZo4MQJhYWNRVvYL/r3jX5owMaPIIaro6BiLFDTaJ31uSkqpby7bXbDKxPXyTh1eXP/fBu1FdPHQL03qY3aHOHjfJgLNIpM9H5CIz8R9fmJ82rE6XUaABuacPm2GJg9gTm62RmjQk0lBQUE4n0e2n4nzqiWF9uPp2R/DyalPCfnipH6KXfJVtIQI1oYhYEUEqHykW/fUYnbx0nnNh4il1pQukcnkZ5fgM9aYyixqJRtATrBnZJzRKP1CErJl8uQpmlO5eXnnLPI7a/9gdUB4+AT07+9FPoidNPLxgawfYwCwew8EAaMHAjhrB90Xr6xsf0FbbeF0tqg9EDj65qDUTH/i5PEO/zCKAvUfotHdLT29xiHZSE720rROriTsAfe1aLU11Denj3H9gBDQyEeN1UyNsvJfHpxiRvln8tNqq4DOL90Cp4Vz/qe+Zz/+ePKea+YS0C4PSVxIYnH18PBkH67mAmjn9Q0qZ5xiRhdjXW2tJoEv1eytVjRBao9ZrXvWsXEEqM9O59JVxYwKHyrEpNJqzZapq9iyGFKd6WJ/MwRsAQHNzoImwXkDpCQw9wMtTH5aFX5OKdMdRN81c4mglrKqqiqNvyK1ntE1RQv7gDUXSfurb9DnjFPOqFWFnsByIF9mrDAEzEWAChnNKd+6euKgzSJim4sfq2+bCHDykX7A0DzD9HQye6Ha5lzZOlXUVYhaz+gHMrXEssIQoAjo1bjuWs3aNJGM68g/s+P2MHwZAgQB+sKip/noUfSWFgXLJ8dWhV0gwMlIGclWIiVrW0Wi+7PCELAEAbqWaCgX+hHLsqpYgqB9tjGqnCmVrSguKiTuDOamA7BPsBhXliFAFTQqfOTkRcaEj2UYsla2g0CH1UypIuFiqkhKu2ZmNbOd6el1lNCtTbpFWk7inrG4kL1u+qxG8H3Kma7VjPqaUcsZM9dbDf8+0TFdPzTemZScbNKY7qkjtda3ok8AwJi0OwTo+m1SyDWHXWiORCYj7W6Ke5Qhup5oMOWGBplGUWPysUfht8nB7lPONFSSbW9qpi/RRPu2MG6PTbLLiHpQCFC/Cppmp1nRzITPg5oENm6XEaAvTfrypP9qa+ssyzPcZSpYB/aIQAuRjdXkcACnnDEFzR5nmT9P9yhnnEWDOm7XEqsZPUHCvgj5g8lqGkZAYz0jYTVqyPYms54ZxondsX0EqJykeYapjKSnkZmMtP05s3UK6RqiGS1q66QkP2sj212w9QnrAfrus5xx0a5pMmD6EmWCpwdmoY8MQWywJMI2SZfT0srM9n1kzu2NTe4DtkFG4veRgwBMPtrbDD9YfmiWjTqyrtjW5oOdB1sY3WHU6BB2dtcWZoLRwBCwEIH//u8XiPdBGwSCfiQB+Q2SFzVYI9zdSFYG6utXcPs2Ro0aBTlJCC4WizTJ7AtuF6BV6/9nSwrG0aP/sRAF1owhwBBgCNgPAgaD0NoPi4wThoB9I3CFJPt2IRkYaBYPobMz8e0r1zBcUnyHnI5tw4+nTxElTQYvb28U37mj+Zmamgqah5Iqbbdu3dJszz3IMnv2Iw9yeDY2Q4AhwBCwKQTu29Y0Tp0Qw57ciqPnziHv7CeYRpPtcsVtGj453emasc5ofdqP5p8Z7Yz1+aDvmYvBg6aXjW8XCNBQDtUkt6OYKGg5OTm4QwJaFhQWooUEkKY5H6l7gkAg0AS6dHd312T8oMGlabl69eoDV8zsYhI6mGAy8oHOp8tUTNiZBG8Xa1EhwpjEb3Biy1z4mvn2vI8iRx/M23IcBxPHQHTfTXahryNgnuVMFIYVKwYjZcUUfHBRRg913i2yU1gdf4o/nrT+xIkAVWi+f4p/O3uqqeV917zVOCWzJ8YYLz2JgIhYyzjLWWRkJAIGDtQMT4P/enl5aRQzqqANGjSow3I2ZswYXL582b4VM2Ew5j87B4EaNEpwePt3KLC2gZDJyJ5c+j0+lqPfHCTOlyJ5xRFUqMnw/Wbh2UVJGKahJAM7DyzH1fbvnnbaHAMxNnwzHg2JgASVKLz5Z3yV9wNqaVt1JY68sw2//nciHvlyDQ6W04usMAS0S8csIAQeCBBX4sLtToqZWZ2wygwBhkB3IqBrOaOWsZRDhzTWs7Lyco1SNn78eJxJT9dk+iAe7CQuVyuoQkd9zWbNnIno6GjNz0mxsXAm13VLrz7O31KA75KSkLT9MEqauxNxI30xGWkEnN5+S4DB85YhKGsbvi9RtTPTegzb94TijQNrces+xV8Ar9CteHxAFvanjMefU15D4YC3kBAa1JGaR1lyCMlZQ/DUvMEwz1LS27Fk9JtCgJ9hltuCTN2CaPdIbE7V2Yo0sT3pIAnHyg8OIYtsX6bv+xPmBXRxCWq2DndizXPvISWT0JG+D5tm+6I9JbsjXINmYP0nx8lWaTaOff465gT2a8eAtssmNGSlYvebq/DHXSfwjY452VI6Bf6z8cbuNDJeGr54LQ5eHYiaoIVu56ZuRpQkElt08STUWkqLqclm9+0TAapoeRMLWZNcrtmupNazwcRKFhwUBGG/fhrrWSxRvAYSixq9Vl9fDw9Pz3ssarrXdFEaPXo0hEKhRcDRAwmjR4dh3LgJHf/o3xKJxKL+bLoRk5H6p0cYhpCP92NocPsacgheh6iPXoVE86cjnAKmY+hbRzD16wxM+ttG+Php5TW9Tbcov9iNkBXvInJHNqlzFOMXj4eAJqwRDoHv6k8RuzcHU/elYOziCe3XNVS4wO2xdxFN7+3eixFxvpqrXRqPNnfyQexMT5w7eAEN2h6N/nAIxJhgH1zL+xg3muRoaUrDqbxTcA+ejf4dSXdkuHDwPDxnxsC3/SVmtEt2s+8gwE85025Bhk95GdkNOUicMhHhE7Vbcffc6wycKyJf+SsWSd/Hkqmz8PzRECRunK6zMDvX5/m36xg8LNmPVVMnY+E7FZixfhlC6cPuFoe3/rkYyh2/xeRJDyPxSDBe+csiBHCLXlWBwx8cRf9FT8Dl8BFg1nyEagwFltLpifgNGxGZ/SpmTV6IrbJYhHC+DsZoMYanxbTwxI5VszsE6ClM6tBPty9FIpFGQSsijv/lJOivkiTmPnHihOb+tWvXUEcUMydS7+TJkxpLGW1bTyxqTk5Ommv0kIBu+fnnny3e+vTz89ecINUt9G9///ZtV7uaCGPPdF+WkcR6WX1NDK9wPxJIh6zP8Dg4XTuFRmplconDqA2L0HZwJdIS5uLST0EISVwIke5bSRQK/2GXcfO16Uh9diPqRi6GhJw4ljz1PkKHnMHVF6bg9DPrUCaIgQtn9BWHwcf1AM4/HY/s7RUY8HQC3OgytHg87UoVDkKETwWyC5r4LV2nQAwSleF2vbyjfmtDJupF4fDUUcSaCrJR4ROBQMu+gfjRwmr1OgT4KWeWsiUajkejarAz+TiK6qtxfv8elI6YgdCuej82XcEXO9NRRtKn3D75HW5JRsKXLmxZGn635AV8dLoIjQopLqXsQ9GgWARx47WUIuunDJTK7iAt7SyqXQejP31oLaVTHIKZYeXY+2U2quSVyCJfefncc2uKFkOYWkqLof7YdbtHgPqScZavQnIQgI8lTdcPzZDVjALXFcuZi5h8qehJ0yUSie1+TngzaK3n3VZkJOSQncmHMCYC/QRe8Ijxhiw9HxrvKnkaLr/0Igpy7kDVIkXDqf1o8o+BWHdnvfkmCpN2QFpG0hpJc1H49iZIlSMwMLYVJdv+jdrKJrQ1FqBqzzbUK7SoN/+Mkm8zSMgYOeQZKZC7jiQW5C6Mx+lWTmJ4OisgbeTpG+YggrNjCxQq4p3tFI45UzcS/8c6KB0lOlY+4nomr0GzsyfEzHLG+7HpCxW7uMdoAiKBBH5+YfjVoRxs4Kq2ZcO1q4tQLUc194C0NpHF3k+7rSmA77SX8PbvlyJyoPYJJ+Pt6DAhK0k+vBYo29p/qp2E7e0spdPJFd7OjShraPc/UNWXQ/sr4dYULQaws5QWA92xy/aPgO4pTGodmz59OsnEIIUjsYZRixndXqR+aBMmTNAkVqbbnNQPLT0jA1MeeqjDD238uHE4S7bbaRw0rlDLmS3FQbO72bTW824rMpJMmPL6Mcj9H4GHfyN8/ItQcZ3bFBRAGP0iRq9aAk8fTl7noLhDXpPGKima6pX3TrvAHc6iWrLGO13naqkbyRaiVoFSEuXNUUCsdrRYOB7Xr4pkhWgWwcuV2DQaeChobQo0q4UQOZHRW/Nw+Mc8OIiXQqBuIO+guyw5unjBubkWTVo3tnuZZX/1VQSsq5wpG1BemoPXn1mNH6SGICa56tqIwbs7bHiicVj3h5koficBL58shMx9Hv71zUJDA9+9zotOPd0oG1GlcIGfhGibRCtzcvcD/VVTeNJCn9F7WLeUFj3ksUt9AwHdU5jUt4w68VOFjPqbaWKfEZ8x6ofm7+enAcTYKU5qUdNVzqjlzBbioNntTPJ63nuxjKQTV5eHqpp18J+1AG41J3C9TquZOI/F0DUz0fTZk7iUWQiV21yEf7jA9FQr60mOXk+49hegSmZAQdPXi6XjcX21FONcpR8ig8X4quze7X99w0FVgmKFP4ZKXHBW0V6/nyQa7oo81OooYi5Do+BXlYuS+w4U6O2VXewjCHSHSmQYKsV1pGT7YSV5AIeQTX+XgGgsf+MVROnGoGmtwq2GAMSFed6rpBju1fAdYkETCdTkS0uGZsFAxK1YgXF84t3woVPfqIqbOH7FD0sTIuAtHoCoJxIwgtux4UOLSobqFn9MHC65y7ultOijr/M1FoetMyJ28Tf1GeNOYbYSS9mpU6c0PmT6rGedT3FS65lue2o90z2x2RWfM7sA19pM8Hnee7OMpPipy1GbS8K6LJgEVU42sSZpQXUgOx4CFdQkFZZa4E/uPw13Pi4vLfn4JVOIwFXL4eEtgoPLEHgvXWW6raXjcWtAVYn041JMXDCehMXgUdpKcKWgEiPD1yBELEY/cRziJ0xDfcFRSDssZxKMXxCO2hOZqOgJyxl7B/CYONuo0nXlrOOUkr6Th43I3fw6vvZ6Hl+kZuHM7pcx/OcUXNH1p2y+hh3JFxH70UmypdLFYLTy80hOuob4rceQlbody1pP4+pdX0wjiPOgU2/rWqT+4+84F7sFx898i0T3TNzgxuNDC/UL2V+FBdtP42xHUF9LadFL4D0XXUdOhm9hKm5xvhmmm7AavQABLoYZ5zumaz0zdYrTlO9ZV3zOHjh0NM7Z2rVYS2OdOQdizrPk97XzoT042HPk9WkZSWFuRVNuBlpQDWlu8d34mIoLKNidD683/4P4XZ8iQHUaMl6ySYGGnYm4WToFo5PSEL8jCQHIgdxUuBSLx+OWihJ3vv8ChdFr8GigdtOJxjlLuIH/obHOhLFYvoj8nrATozTnYJSovrEe31VPwtL5F7Fp/nsYVr0Je24UtvvckRqCQY9hbVQhdqUUkdrWL+wdYH2Mu2sElluzu5C09X4Eg7Dskw8xKvkpbMpgEW9tfbospY/GK6tvaIA7CVdBT17mnj2r8UGjMc7odie1irm6umqsa7o+aFSxO0vqUh803fadfdBoH3x90MaNHd/OBomn1rlcvHj+nktc+iaWW7MzUuxv20JAhLGJu/FBcDKe+N0P7YFoLSWQZAh4dPNuPHd7PRK2XAYvvdTSsWg79g7oCno93pYpZz0OORuQIWA9BKZNnXpPDk05iX1Gw2vQROicDxqNcUb9ynR90GgOTqqwRRHfNH05ODmKzcnFyZQz680z65khwBCwbwSseyDAEuzoFgANzqq3LY2xxlId6YWGXeyzCHDbmNQqRvNr/vDDDxqrWHV1teZkpma708MDVeRv+rOR+PhQi1hnKxndHj3144/34NjZUkZzcbLygBFgMvIBTwAbniFgfQRsTznjcm5an3c2AkPALhDQza1p6GRm59ya+vJtdj6pScFhpzVtcIkwGWmDk8JIYgh0LwJmHggQYtiTW3GUph7qcGDXEmTuKRDOSZb21dWDAN2LieW9mYuB5SOxlgyBDgR0c2umpqZqMgQUkGC01HeMWsuOHTsGFbGK6cZD46xkBw4cQFZ2Ng4fPnxfdgA6ALWU0VhprPBFgMlIvkhZpR5N+bQzCd58TulbRIAIYxK/wYktc+Fr5tvzvuGIz9m8LcdxUCeN4H112IU+i4B5ljNRGFasGIyUFVPwwcVOyc/p11z8Kf5Acl9/VKH5/in+7eypppb3XfPYVq09TWtP86JrOaPxzAJIDk1azIln1tM098x4AngMnYiY/wpD8AAxHFVyVBVcRHpaHkqadKKAdicxTEZ2J5o215ej3xwkzpciecWR9sMA9LQmPampoTQDOw8sx9VWHbIdAzE2fDMeDYkg4TcqUXjzz/gq7wfU0nAi6koceWcbfv3vRDzy5RocLOcR2NbmEGEEWQsB83R/gQcCxJW4cLuTYmYt6li/DAGGgEkEdC1nOTk5oLHMqOWshVjQampqQK1kdMtS13I2MTxcc1DArks/EkNwtBhlOYew67Nt2Pb5QeTIQjD7kTFwN0/y8YeJyUj+WPW6mgIMnrcMQVnb8H2JNihZ6zFs3xOKNw6sxa37DMwCeIVuxeMDsrA/ZTz+nPIaCge8hYTQoI64lsqSQ0jOGoKn5g0m+QtYYQjcRYCfiOK2IFO3INo9EptTdbYiTWxPOkjy99XvAAAgAElEQVTCsfKDQ8gi25fp+/6EeQFdXIKarcOdWPPce0jJJHSk78Om2b7a9E2OcA2agfWfHCdbpdk49vnrmBOoTbxM22UTGrJSsfvNVfjjrhP4RsecbCmdAv/ZeGN3GhkvDV+8FgevDkRN0EK3c+nBB0kktujiSebGUlrYwu6bCOjm0qSWs8Ek12ZwUJDmdCY9EKAvlhk9nUmd/e26tBbj1PencaGgCo2taqhb6lBw7jyknkHw7KIYug83JiPvg0RzQRiGkI/3Y6g2uJxD8DpEffQqJJok345wCpiOoW8dwdSvMzDpbxvh46eV1/Q23aIk+YpDVryLyB3ZpM5RjF88vj0vpXAIfFd/iti9OZi6LwVjF0/QyVfpArfH3kU0vbd7L0bE+Wpp68J4tAcnH8TO9MS5gxfAJaDSdqz/h0MgxgT74Frex7jRJCcppdJwKu8U3INno39HdBkZLhw8D8+ZMfDtalpD/VSwq70UAX7KmXYLMnzKy8huoCcmJyJ8onYr7p57nVFwReQrf8Ui6ftYMnUWnj8agsSN03UWZuf6PP92HYOHJfuxaupkLHynAjPWL0Mofdjd4vDWPxdDueO3mDzpYSQeCcYrf1mEAG7Rqypw+IOj6L/oCbgcPgLMmo9QTUo3S+n0RPyGjYjMfhWzJi/EVlksQjhfB2O0GMPTYlp4Yseq2R0CfC1npSUlEJFI5WVlZWgjoTViYmJAQ288RGKb2b0VTTvrIt8guDcTZa27o7Ebe6b7soxsKUD1NTG8wv1IfksBROFxcLp2Co3UyuQSh1EbFqHt4EqkJczFpZ+CEJK4ECLdt5IoFP7DLuPma9OR+uxG1I1cDIlYBMlT7yN0yBlcfWEKTj+zDmWCGLhwCdPFYfBxPYDzT8cje3sFBjydAJKgpgvjaRePcBAifCqQXaAbRd2IOHEKxCBRGW7X342E3tqQiXpRODx1FLGmgmxU+EQgUKOwssIQaEeAn3JmKVqi4Xg0qgY7k4+jqL4a5/fvQemIGQjt6m4Kjay/Mx1lCjlun/wOtyQj4UsXtiwNv1vyAj46XYRGhRSXUvahaFAsgrjxWkqR9VMGSmV3kJZ2FtWug9GfPrSW0ikOwcywcuz9MhtV8kpkka+8fO65NUWLIUwtpcVQf+y63SPA13JGg8/6+vho4puJxS6a2GfeAwZoLGh2b0Ujq0DgNQ6zZgxEacYF1HS3cmbpKrPW824rMhJyyM7kQxgTgX4CL3jEeEOWnt8eIV+ehssvvYiCnDtQtUjRcGo/mvxjIOaULIpp800UJu2AtIykeJLmovDtTZAqR2BgbCtKtv0btZUksXljAar2bEM9F8W1+WeUfJtBYvnJIc9Igdx1JLEik74sHY/TrZzE8HRWQNrI0zfMQQRnxxYoVMRC7RSOOVM3IhB1UDpKdKx8xPVMXoNmZ0+ImeXM0qfILtt1t3H/XpAEEvj5heFXh3KwgbvTlg3Xri5CtRzV3APS2kQWO8nRpulfAN9pL+Ht3y9F5EDtE07G29FhQlaiSdECZVv7T7WTsL2dpXQ6ucLbuRFlJOk5Lar6cpr/XFtM0cLV6/TTUloMdMcu2z8C1HLWpFBoYpxlZmZi4sSJUKlUHTHOOJ8zGYlv1kr8z2jcMzHxN+tHEqJXV1UhNzcX4SQu2vkLFzSHCOyxOPv/F+bMHYuW7G/x423yQrcVJq31vNuKjCQ4K68fg9z/EXj4N8LHvwgV17lNQQGE0S9i9Kol8PTh5HUOinUTSqikJFdyp8RGAnc4i2pJ7lgDCY/UjWQLUatAKclcOwqI1Y4WC8fj1oqqCbXNIni5EptGAw8FrU1B8ogKIXIio7fm4fCPeXAQL4VA3UDeQXcXoKOLF5yba9FkKx8MtvJs9HE6rKucKRtQXpqD159ZjR+khpBug7qNGLy7w4YnGod1f5iJ4ncS8PLJQsjc5+Ff3yw0NPDd67zo1NONshFVChf4SYhqSLQyJ3c/0F81hSct9Bm9h3VLadFDHrvUNxDge1qTWs769+8PF7K12dLSSg4MtBAfHz+NTxoNv2Gf1jNHSELi8ehUP5QSy0zaLWKBsaVlwet578UykmJdl4eqmnXwn7UAbjUncL1Oq5k4j8XQNTPR9NmTuJRZCJXbXIR/uMD07Cjr0azwhGt/AapkBhQ0fb1YOh7XV0sxzlX6ITJYjK/KGvWNcO81VQmKFf4YKnHBWUV7/X6SaLgr8lCro4i5DI2CX1UuSu47UGB6CFbDfhHoDpXIMDqK60jJ9sNK8gAOIZv+LgHRWP7GK4jSjUHTWoVbDQGIC/O8V0kx3KvhO8SCJhKoyZeWDM2CgYhbsQLj+MS74UOnvlEVN3H8ih+WJkTAWzwAUU8kYIRYW5EPLSoZqlvIibLhkru886GFxVPTNxt99hpfnzOaa7OishJl5eVoIg7Kjo6OGssZtaxxOTRjoqPtyP9MCN/weVgU7478Q1/jtK0pZnTF8nnee7OMpDyqy1Gbq4DXgklQ5WQTa5L2UXUgOx4CFdTEoqsW+JP7T8Odj8tLSz5+yRQicNVyeHiL4OAyBN5LV5lua+l4nGRRVSL9uBQTF4wnYTF4lLYSXCmoxMjwNQghH0T9xHGInzAN9QVHIe2wnEkwfkE4ak9koqKz5YzJeR4g22+VritnHaeU9J08JImXN7+Or72exxepWTiz+2UM/zkFV3T9KZuvYUfyRcR+dJK8ID7BNLcugC0/j+Ska4jfegxZqduxrPU0rt71xTTSMQ869bauReo//o5zsVtw/My3SHTPxA1uPD60UL+Q/VVYsP00STrN8W6aFteRk+FbmIpb9rkDpRdpdtEwAl31OaOWM67YlQVNGICY2EHEhykA0Qufxdq1a7X/FmGU6/3J2A0j3MU7fVpGUuxa0ZSbgRZUQ5pbfHdLWXEBBbvz4fXmfxC/61MEqE5DxkumKdCwMxE3S6dgdFIa4nckIQA5kDebmCeLx+P6VeLO91+gMHoNHg3UPjM0zlnCDfwPjXUmjMXyReT3hJ0YpTl0qkT1jfX4rnoSls6/iE3z38Ow6k3Yc6Oww3orGPQY1kYVYldKEal9b2Fy3sR82vltlvi8t02wYBCWffIhRiU/hU0Zst5GPaPXCgjo5tbU53N29uxZTR5N6nMmJPk3dX3OHB0ckJ5BnadNvdnMJ5wlPjcfM9bC1hEQYWzibnwQnIwnfvdDeyBaS0kmGQIe3bwbz91ej4Qtl3GPXsrkvKWo2k07ppzZzVQyRvoqAjQchgs5DFBJtiyp8qWbIYDGMzt16hSiSPwzJycnjc8ZVdI4nzM/4nN2+9YtXLp8udvTNDHlrK+uSMY3Q4Ah0FUErHsgwBLq6BYADc6qty2NscZSHemFhl3sswjwPa1Jc206EEsZ9T3jfMz6LGi9mXEmI3vz7DHaGQK8ELA95YzLucmLfFaJIcAQ4HtacxDJHFB85w68vL01JzStsZXJZqMHEGAysgdAZkMwBB4sAmYeCBBi2JNbcZSmHupwYNcyYO7JEs5JlvZl6iCAuX0/WEz1j25LPNgSLfrRYlfNQIDPac1TP/6IAwcOwN3dXZNvc1JsrOafM9kGZaU7EWAy0mI0+5JcoqmpdibBm080AYsAFWFM4jc4sWUufM18y983HPGNm7flOA7qpDu8rw670O0ImDdtojCsWDEYKSumYGJEp+1F+jUXb8aWo9GUJt3OZ+/r0JYElS3R0vtm0uoU8zmtyRFBw2ZQCxo9FODh6amxoNlvEUAyJBzTf7Ucq+lJzdUrsGT2RASKrXhSk8nInltOTC4ZxNrRbw4S50uR/M6R9kML3KlSerK04zSpTnPHQIyN2IsNS8n9pelYHTEXnpx2oK7EkXe2QTo/EY/4macyGCSQ3TCJgHmSWeCBAHElibAts50I2yZZZBUYAvaNAB+fs/4T4+A2PAyXy0qgLChD3eWLUDfzilvQe8Hr54+IMDdUnv0emaW1UJC0OYMmzsSsR1rx9beXUG+NaLRMRvbe9WI3lAsweN4yBGVtwfcl2uBprcewfU8oQJW0x37TiVMBvEK34vEBZ7A35TcoQgSmTdmChNAr+CS/PeyHsuQQkrOexcvzBuPQ/xXeF/bDbqCzIUb4qcHcFmTqFkS7R2Jzqs5WJHfPwPakgyQcKz84hCxyP33fnzAvgJ8+KPCfjTd2p5EtzzR88VocvPhQqvmS2ok1z72HlExCY/o+bJrtq03t5AjXoBlY/8lx0mc2jn3+OuYEaoLRkITppF02oS8rFbvfXIU/7jqBb3RMuN3PgwlaKJb0UIQkElt0sSak2gMtNrT+7YIUPpYzR2ohU6mhbKiD0NMbDuTkpt2X1mL8eDgNl4pqIFeqoW6pQ9H5C6j1HHJP4uluwYHJyG6W8z0sI4VhCPl4P4YGt2cfdwheh6iPXoVE86cjnAKmY+hbRzD16wxM+ttGkllD++6gt+kWJcmrHLLiXUTuyCZ1jmL84vHt+TOFQ+C7+lPE7s3B1H0pGLt4gk5eTRe4PfYuoum93XsxIs5XuxS7MB7twckHsTM9ce7gBXCJsoyucYdAjAn2wbW8j3GDBKduaUrDqbxTcA+ejf4dRmYZLhw8D8+ZMfDtA6LDKF49dJOPykMSipMtS5KvL3zKy8huoCcmye8TtVuYRrcnXRH5yl+xSPo+lkydheePhiBx43SdCTfEpSfiN2xEZParmDV5IbbKYhHCd2/edQweluzHqqmTsfCdCsxYvwyh9AFzi8Nb/1wM5Y7fYvKkh5F4JBiv/GURAriFpqrA4Q+Oov+iJ+By+Agwaz5CNe44VuDBGC3GsLYLWgzNObtuKQJ8fM4CyiRwzyzFkOoBCK8Kg0jFpbKwdNTe186hH7GcjRsHj7pi1HWOxt5Vdow9t0xGGkDXiJzvaRnZUoDqa2J4hfuRPJwCiMLj4HTtFBppSiWXOIzasAhtB1ciLWEuLv0UhJDEhRDpvj1FofAfdhk3X5uO1Gc3om7kYkjEIkieeh+hQ87g6gtTcPqZdSgTxMCFc/MUh8HH9QDOPx2P7O0VGPB0AkginS6Mp4VZOAgRPhXILtCN9m5gCuhlp0AMEpXhdv3diO2tDZmoF4Xf8xHTVJCNCp8IBLbrr0Y6ZLe6AwF+ypmlI4mG49GoGuxMPo6i+mqc378HpSNmINRUig5xCGaGlWPvl9moklcii3yV5PNcZ6BR93emo0whx+2T3+GWZCR86WKSpeF3S17AR6eL0KiQ4lLKPhQNikUQR0tLKbJ+ykCp7A7S0s6i2nUw+tMHxRo8mKLFEN72QIsh3th1ixHgYzlTqlvg5CgkuQgLUVSdh1aSxLnPFGEw5hOfszUrn8Jj45qRc/wS6qyxpWkJoNZ4pk3RwWSkHoTkkJ3JhzAmAv0EXvCI8YYsPb89kr88DZdfehEFOXegapGigeRobfKPIZkndLppvonCpB2QlpFUVNJcFL69CVLlCAyMbUXJtn+jtpIkYG8sQNWebajnvAmaf0bJtzQAtBzyjBTIXUdCSN85lo7H6VZOYng6KyBt5LnIHURwdmyBQkVySjmFY87UjQhEHZTEDUCg456plteg2dkTYmY507N+uv8Svz1GS8cVSODnF4ZfHcrBBq6Ptmy4mppcJ1d4OzeijCQTp0VVX07zivMrajmquUXZ2kQWGMnfpmkpgO+0l/D275cicqD2qSK07OhYfEo0KVqgbGv/qXYStrezCg+maDHAqj3QYoA1dtlyBEz5nNGUTFeKj2D8kMfg6TIQAqKkTQ9bh7Rrn6GxucrygXtLS2IV+S4pCY5CdwwKn4lp00bhzndX0NCR3/ABMmKVZ9oEP0xG6gVIef0Y5P6PwMO/ET7+Rai4zm0KCiCMfhGjVy2Bpw/37shBse65EpWU5HTulIBJ4A5nUS1qpJ0TM2mHVzeSLUStAqUkypujgFjtaLFwPI4r8uFV2yyClyuxvTTwUNDaFCTfqRAiJzJ6ax4O/5gHB/FSCNQN5H14FypHFy84N9eiie+7WC/K7CJfBKyrnCkbUF6ag9efWY0fpIZIaoO6jRiSdW14ykZUKVzgJyFqFdHKnNz9QH/tUhGNw7o/zETxOwl4+WQhZO7z8K9vFprukhcPeroxxgNPWuhzcY9p0x5o0QMVu9Q1BEzFOaPpnapIgnOQjxantnbrWYuquW9ZzwjE6pZ6FF24iLqwEegvIMpZa9dw75bWvJ5pJiMNyetuk5F0MuvyUFWzDv6zFsCt5gSu12k1E+exGLpmJpo+exKXMguhcpuL8A8XmJ5+ZT2aFZ5w7S8gFmsDCpq+Xiwdj+urpRjnKv0QGSzGV2WN+ka495qqBMUKfwyVuOCsor1+P0k03BV5qNVRxFyGRsGvKhcldKuXFasjYN1tTcV1pGT7YSVZ2EPIZrpLQDSWv/EKonT9x1qrcKshAHFhnncVEcVNHL/ih6UJEfAWD0DUEwkY0VUXGWJBEwnU5OtGhmbBQMStWIFxfPzY+PCgb5qM8cCHFpUM1S3+mDhcooMLDzxtnRZ99HXXtT56tN6Uz1kGyZ15maRn8gttgci/DKMnDoDn4DpyKMCMF0Z3zVFP9tMvEFNmxWCEvwRCRwc4ibwwLCIcXo2/oN5Wvv75yBcmI/XL6+6UkXRdqstRm6uA14JJUOVkE2uSdrE6kN0XgQpqkvZMLfAn95+GuynXHNq0JR+/ZAoRuGo5PLxFcHAZAu+lq0y3tXQ87tlSVSL9uBQTF4yHhM/z1laCKwWVGBm+BiFiMfqJ4xA/YRrqC45C2mE5k2D8gnDUnshEha08O/p4s6N3QNeVs45TSvpOFzYid/Pr+NrreXyRmoUzu1/G8J9TcEXX3aX5GnYkX0TsRydJSplPMM2NIl6L1H/8Hedit+D4mW+R6J6JG3d9FfVNielr8vNITrqG+K3HkJW6HctaT+Mqrz558KB3dCM88KGF+oXsr8KC7adxtiPgrz3QohesbrnoOnIyfAtTccvOI0R0BsuUzxm1nI0ZM0bTrO/EOCPMtpbj/HUlgqcsxm+fW4PVzzyOSI87OHX4PGp57PZ0xtniv5mMNACdLclISmIrmnIz0IJqSHOL74aLUlxAwe58eL35H8Tv+hQBqtOQ8ZIxCjTsTMTN0ikYnZSG+B1JCEAO5M0G4OAuWzwe14ESd77/AoXRa/BooHZzjItztigJw4SxWL5IN96ZEtU31uO76klYOv8iNs1/D8OqN2HPjfYwGrRXwaDHsDaqELtSimw6jIY9vQNY4nMTzwm73UsQEAzCsk8+xKjkp7ApQ9ZLiO4eMqny1UYSnNNo/5mZmZhITlarVCp4eXlpgs3m5uZqUjXNnjULNL8mve7q6oojR46ggfxtrcISn1sLWdYvQ8AUAiKMTdyND4KT8cTvfmgPRGuqiaH7JEPAo5t347nb65Gw5TJ46aWG+rLmdTt7BzDlzJqLhfXNEOgBBKZNnQoXFxdUVlZCSBS0gIEDNaMqFAriz9mmUcCozxm97u7hgRvXr2NgQAA5lZymSYJurcKUM2shy/plCDAE7B0B6x4I6G706PYADc6qt18af82M9FF6+zDjoi3RYgbZrKr9IUDzZvIpV65c6ah24eJFPk1Ynd6GgC3JJVuipbfNI6O3zyPALGd9fgkwABgC1kGAWc6sgyvrlSHAELB/BCw7ENBjJyKEGPbkVhyl6Yw6nOK1k2IuDZxTroE0U/dMtbl92+I6sQcebBFXRhNDgA8CPfb8MRnJZzoeSB2a1mlnErz5RAWwiEARxiR+gxNb5sLXsjf53VGJX9m8LcdxUCdtoUUksUbdhkBXp5QfIZYKKlEYVqwYjJQVUzAxotOWJU2JEm/GNqbRFCr82LDrWpbOkV2DwpizGwQcJAh7fDXWrp0PbfpE22LN0uePyUjbmscepMbRbw4S50uR/M6Rdod/7kRmgu5JTB2CHAMxNmIvNiwl95emY3XEXHhyGoC6Ekfe2Qbp/EQ84tczakEPQtUrh7LtWRB4IEBciQu3ZXePNfdKmBnRDAGGwINDwAEuIQ8hqn8Dmu0ttBuTkQ9uWT3QkQUYPG8ZgrK24fsSbeCx1mPYvicUbxxYi1v3BYoVwCt0Kx4fkIX9KePx55TXUDjgLSSEBnXE0VSWHEJy1hA8NW8wyVHAyoNGgLdyJvCfjTd2pyHvXBq+eC0OXh0tHeEaNAPrPzlO7mXj2OevY04gTRBGCreVSJ34JZHYkkq2JztimQEOknCs/OAQsshWY/q+P2FegHZJdLTbgmj3SGzWbcfdM7A9abBPE0gb5s9IQ83X7k6see49pGQS3tL3YdNsX226KBO4ZBOes1Kx+81V+OOuE/hGx5zc/TyYoIViae4cGYGF3WII2BQCoiGYNMkLt0+fQ7UVA2galiFWeP6YjNT/7jC28IRhCPl4P4ZqTacOwesQ9dGrkGgSeTvCKWA6hr51BFO/zsCkv22Ej5/2PUZv0y1KkuM5ZMW7iNyRTeocxfjF49tzTwqHwHf1p4jdm4Op+1IwdvEEnZyULnB77F1E03u792JEnK+Wwi6MR3tw8kHsTE+cO3gBvILhOARiTLAPruV9jBtNcpI2Kg2n8k7BPXg2+nekoZLhwsHz8JwZA9+uZuQxNg/sHi8EeCpnnojfsBGR2a9i1uSF2CqLRQi3j+4Wh7f+uRjKHb/F5EkPI/FIMF75yyIE0Mm9ZyuRnqaciPCJ3FakKyJf+SsWSd/Hkqmz8PzRECRunN6+UIy1M7o9aaRPo3AY4c9oO3LTdQweluzHqqmTsfCdCsxYvwyh9GE3hgvtU1WBwx8cRf9FT8Dl8BFg1nyEatK2WYEHY7QYw9piWkyBxu4zBHoKASECoh5CQGkaskqbrWiBNyJDrPH8GXtumYzUv7hIjtXqa2J4hfuRHJYCiMLj4HTtFBqplcklDqM2LELbwZVIS5iLSz8FISRxIUS6b0hRKPyHXcbN16Yj9dmNqBu5GBKxCJKn3kfokDO4+sIUnH5mHcoEMXDhkqKLw+DjegDnn45H9vYKDHg6ASRZThfG07ImHIQInwpkF+hGdNfPtuaqUyAGicpwu/5u5PXWhkzUi8LhqaOINRVko8InAoEahZWVB4kAP+VMHIKZYeXY+2U2quSVyCJfEPncmpCl4XdLXsBHp4vQqJDiUso+FA2KRZCp9Bai4Xg0qgY7k4+jqL4a5/fvQemIGQg11c4YWpb2aYw/Y+PRezSS/850lCnkuH3yO9ySjIQvXdimcGkpRdZPGSiV3SHxps6i2nUw+tOH1ho8mKLFEI+W0mKoP3adIdDDCAh8IxA/rBrp6UVQWDPRuTEZYkvPn6XPtDH+TM2prchIyCE7kw9hTAT6CbzgEeMNWXo+NMki5Gm4/NKLKMi5A1WLFA2n9qPJPwZiTsmidZpvojBpB6RlJI2TNBeFb2+CVDkCA2NbUbLt36itJMnLGwtQtWcb6rlIrc0/o+TbDBIEWg55RgrkriMhpHLe0vE43cpJDE9nBaQkXy6v4iCCs2MLFCryEDiFY87UjQhEHZSOEh0rH8lgJa9Bs7MnxMxyxgtWa1bit7Xs5Apv50aUkSTktKjqy2k+cm0RwHfaS3j790sROVC7ktuysaPDVGqAfIEEfn5h+NWhHGzgqpB2rl1ZFJb2aZQ/A/Rzl9VyVHMPSGsTWewkD5vmnilclGhStEDZ1v5T7SRsb2cVHkzRYoBHS2kx0B27zBDoUQQc+2N8/Eg0Zh3ATTl5KVnTGmBUhtjQ82fpM22UPxOzaisykpCpvH4Mcv9H4OHfCB//IlRc5zYFBRBGv4jRq5bA04d7j+WgWPc9ppKS3MydnBYF7nAW1aJGasCZUd1IthC1CpSSKG+OAmK1o8XC8TioVU2obRbBy5XYVxp4KGhtCpIrVAiRExm9NQ+Hf8yDg3gpBOoG8g66O3+OLl5wbq5FkxW3/02sFnZbiwA/5UzZiCqFC/wkRO0gWpmTux/or5oiGod1f5iJ4ncS8PLJQsjc5+Ff3yy8D2A6//eY6ZQNKC/NwevPrMYP0vuqW3aBV59tJGo6MWrrEmOMP8so4Y3Lfd3z4uG+VkTq9JI50kM6u8QQsAoCxFk+cIAYgVOfwpqpd0cIfHY+Dm//DgX3OU13gYre8vzxki92KiPp9NbloapmHfxnLYBbzQlcr9NqJs5jMXTNTDR99iQuZRZC5TYX4R8uML0glPVoVnjCtb8AVTIDCpq+Xiwdj+urpRjnKv0QGSzGV2U8snyoSlCs8MdQiQvOKtrr95NEw12Rh1odRcxlaBT8qnJR0p3Phj7+2TWTCPDb1lTcxPErfliaEAFv8QBEPZGAEWJt38RSJBKoyReFDM2CgYhbsQLjOsd1UclQ3eKPicMldxU0xXWkZPthJXkghpBNeJeAaCx/4xVEdW5rkgWdCnz6bK3CrYYAxIV56tBihD9zxtetywcXfX3z4UFvOyM88KGlp+ZIH+3ddc3ScATdNT7rx7YQID5G3yUlIYn7t/0wSppLul8xo1wzGWn+3PORS/p6tVRG0r7U5ajNVcBrwSSocrKJNUk7gAPZ8RCooJaRLUuBP7n/NNz5uNi05OOXTCECVy2Hh7cIDi5D4L10lem2lo7H4aGqRPpxKSYuGA+JPow6X2srwZWCSowMX4MQsRj9xHGInzAN9QVHIe2wnEkwfkE4ak9koqK7LGdMJneeCd5/81POUIvUf/wd52K34PiZb5Honokb3N63/DySk64hfusxZKVux7LW07h61+ewnRDqc7C/Cgu2n8bZjmCyjcjd/Dq+9noeX6Rm4czulzH85xRcMeXfaPQEKI8+m69hR/JFxH50Emc7To4a4Y83lJ0q8sFFb988eNDbzggPfGjpzjnSS5/1L7qOnAzfwlTcstnMvNbHgI3woBCwoeePyUgji6AVTbkZaEE1pLnFdw+IKC6gYHc+vN78D+J3fYoA1WnIeMkRBRp2JuJm6eN/ZMMAACAASURBVBSMTkpD/I4kBCAH8mYjJNBbFo/H9avEne+/QGH0GjwaqN0A4+KcLUrCMGEsli/SjXemRPWN9fiuehKWzr+ITfPfw7DqTdhzo7Dd5450Kxj0GNZGFWJXShHMsAEaZZTJZKPwGL3J0jcZhYfd7DUICAZh2ScfYlTyU9iUIes1ZNszoSx9kz3PLuPtwSMgwtjE3fggOBlP/O6H9kC0lhJFMgQ8unk3nru9HglbLoOXXmpqLCaTTSFk9D5TzozCw24yBBgCliLAlDNLkWPtGAIMgb6OAL8DAX0VJbo9QIOz6uWfxm0zI32U3j7YRYYAQ4Ah0IsRYDKyF08eI92WEWDKmbHZ0QZzNFaF3WMIMAQYAn0WASYj++zUM8atiwDPAwGdiLCJExhCDHtyK47S1EMdhwy0dJpLH+dAayAl1D3cm9u3defPst7tgQfLOGetGAI9g4BNPGNMRvbMZFswCk0HtTMJ3l2JTmB0WBHGJH6DE1vmwteyt/zd3ok/2rwtx3FQJ8Wg0aHZzW5BoGcsZ1RQff8Uds3rxm1AURhWrBiMlBVT8MHFTonR6ddc/Cn+AHFff1o6+TfsIzWtMX99BDrG5gNEQBiM+c/OIZHQdYuVQml0lU1rPGNMRnZ1Vnpte0e/OUicL0XyiiPtBwXoSU56ilPDUQZ2HliOq6067DkGYmz4ZjwaEkFCc1Si8Oaf8VXeD6iloUbUlTjyzjb8+t+JeOTLNThYziPoba9FznYI7xnlzBr8kgCTAeJK/Hi7k2JmjbFYnwwBhkDvRIDGNdvVzQFnewsSTEb2lpnqZjoFGDxvGYKytuD7Em3AstZj2L4nFKBK2mO/6TSeAF6hW/H4gDPYm/IbFCEC06ZsQULoFXyS3x5qQ1lyCMlZz+LleYNx6P8Kuy3URjczblfd8TZ4Cvxn443dacg7l4YvXouDV0dLR7gGzcD6T46Te9k49vnrmBNIk4eRwm0XUqd6SSS2pJItyI7YYoCDJBwrPziELLKdmL7vT5gXwENX7OhzC6LdI7FZt0/unoHtSYvGI2wY5t3IWtBsa+zEmufeQ0om4Tt9HzbN9tWmdjKBWTbBIysVu99chT/uOoFvdMzJ3c+DCVoolt05f0YgY7cYAr0ZAcNyooefMSYjzX+vCMMQ8vF+DA1uz/HlELwOUR+9ConmT0c4BUzH0LeOYOrXGZj0t43w8dO+4+htukVJ8k2HrHgXkTuySZ2jGL94fHvOSuEQ+K7+FLF7czB1XwrGLp6gk8vSBW6PvYtoem/3XoyI89Uu/y6MR3tw8kHsTE+cO3gBXHIqo8+VQyDGBPvgWt7HuNEkJ+mm0nAq7xTcg2ejf0f6KhkuHDwPz5kx8O1KikWjhLCbugjwVM48Eb9hIyKzX8WsyQuxVRaLEG6v3C0Ob/1zMZQ7fovJkx5G4pFgvPKXRQigE6jdLgyf8jKyG+jpxokIn8htbboi8pW/YpH0fSyZOgvPHw1B4sbpOovBwEQZ6/Oee53bWzgejPDeeYjOf7uOwcOS/Vg1dTIWvlOBGeuXIZQ+7MYwo32oKnD4g6Pov+gJuBw+Asyaj1BNujcr8GCMFmNYW0xLZ5DY3wwBKyLQLxCzf7MWa9euxeoVS/BwVBAkPKWeeVQZkRM9/YwZe26ZjNQ/rSSbRPU1MbzC/UjuSwFE4XFwunYKjTSNkUscRm1YhLaDK5GWMBeXfgpCSOJCiHTXkSgU/sMu4+Zr05H67EbUjVwMiVgEyVPvI3TIGVx9YQpOP7MOZYIYuHDJ1MVh8HE9gPNPxyN7ewUGPJ0AkiynC+NpWRMOQoRPBbILTEV019Z3CsQgURlu19+NHt/akIl6UTg8dRSxpoJsVPhEINCaOWr1z06fvMpPTIlDMDOsHHu/zEaVvBJZ5Cshn5t3WRp+t+QFfHS6CI0KKS6l7EPRoFgEmUp9IRqOR6NqsDP5OIrqq3F+/x6UjpiBUFPtLJ0mS8czxrspWmjU/Z3pKFPIcfvkd7glGQlfurBNYdZSiqyfMlAqu4O0tLOodh2M/vShtQYPpmgxxKOltBjqj11nCHQ3AjR907YkfEL+JSV/il2HzqKWWEAefyig+3OgG5MTveUZs/SZNsa7qTm1FRkJOWRn8iGMiUA/gRc8YrwhS89vj54vT8Pll15EQc4dqFqkaDi1H03+MRBzShblsfkmCpN2QFpG0j9Jc1H49iZIlSMwMLYVJdv+jdpKkvS8sQBVe7ahnovw2vwzSr7NQHOzHPKMFMhdR0JI5byl43G6lZMYns4KSBt5+oY5iODs2AKFiuRxcgrHnKkbiZ9mHZSOEh0rH3E9k9eg2dkTYmY5M7Wqu+U+j31EMo6TK7ydG1FGkp7Toqovp/nPtUUA32kv4e3fL0XkQO1qbcvGjg5zqAE6BRL4+YXhV4dysIGrQtq5WmviLR3PKO8GeOMuq+Wo5h6Q1iay2En+Ns09U5gp0aRogbKt/afaSdjezio8mKLFAI+W0mKgO3aZIWBVBMizJK++hewTLhi8cAx80ktRousQ3dXBjcqJXvKMWfpMG+XdBLC2IiMJmcrrxyD3fwQe/o3w8S9CxXVuU1AAYfSLGL1qCTx9uHdcDop133EqKckv3SnpkcAdzqJa1EgNJENSN5ItRK0CpSTKm6OAWO1osXA8DmpVE2qbRfByJbaXBh4KWpuC5BgVQuRERm/Nw+Ef8+AgXgqBuoG8g+7On6OLF5yba9HUXXk3TSyNvn6bn3KmbESVwgV+EqJaEK3Myd0P9FdNEY3Duj/MRPE7CXj5ZCFk7vPwr28W3ocrneN7zHTKBpSX5uD1Z1bjB+l91bv/Aq/x2qBuI0ZtXUKN8W4plTwxu697Xjzc14pIHTuYPz1ssUsMAbMRaFOTfIqmvhzN7tU+njFe8sVOZSSd8ro8VNWsg/+sBXCrOYHrdVrNxHkshq6ZiabPnsSlzEKo3OYi/MMFpheJsh7NCk+49hegSmZAQdPXi6XjcX21FONcpR8ig8X4qqxR3wj3XlOVoFjhj6ESF5xVtNfvJ4mGuyIPtTqKmMvQKPhV5aKEbvWyYnUE+G1rKm7i+BU/LE2IgLd4AKKeSMAIsZY2Yg0SCdTkq0GGZsFAxK1YgXGdY7eoZKhu8cfE4ZK7CpriOlKy/bCSLPohZKPdJSAay994BVGd23YXBHzGa63CrYYAxIV56tBphHdLaeODmb6++fCgt50RHvjQYgvzp4+vztc0hzA+wTS3zjfY330SAeJv9tCMKIT4uKKfoyOEkgCMeygSriVXUdWdVjMKLpOR+t8Pli48PnJJX9+Wykjal7octbkKeC2YBFVONrEmaQdwIDseAhXUMrJlKfAn95+GOx/3m5Z8/JIpROCq5fDwFsHBZQi8l64y3dbS8Tg8VJVIPy7FxAXjSVgMHqWtBFcKKjEyfA1CxGL0E8chfsI01BcchbTDcibB+AXhqD2RiQpbtpzZ0TuAn3KGWqT+4+84F7sFx898i0T3TNzg9rfl55GcdA3xW48hK3U7lrWextW7foXtK4P6FeyvwoLtp3G2I2BsI3I3v46vvZ7HF6lZOLP7ZQz/OQVXePow6l1yRk+H8hiv+Rp2JF9E7EcncbbjVKkR3vUSweMiH8z0dsODB73tjPDAh5aemj+9tPO/6DpyMnwLU3GrW7L28h+X1bRRBForcbXMBeMeeRIrn3sOz/56GoIbM3GI+Mc2dzvJveQZYzLSyMy3oik3Ay2ohjS3mFhYtUVxAQW78+H15n8Qv+tTBKhOQ8ZLxijQsDMRN0unYHRSGuJ3JCEAOZCbWnwWj8cRrMSd779AYfQaPBqo3RyjITQSbuB/aKwzYSyWLyK/J+zEKM2hUyWqb6zHd9WTsHT+RWya/x6GVW/CnhvtYTRoDcGgx7A2qhC7UopsOoyGPb0DWOJzI48qu9WLEBAMwrJPPsSo5KewKUPWiwi3X1JZ4nP7nVvGma0jIMLYxN34IDgZT/zuh/ZAtJaSTDIEPLp5N567vR4JWy6Dl15q6VhdaWdn7wCmnHVlMbC2DAGGgEEEmHJmEBp2gyHAEGAIGEWA34EAo110801qdqdBT/V2S2OldWMKKL1j8LzYW+jkyQ6rxhBgCPQSBHqL7OktdPaSaWdk9i0EmOWsb80345Yh0GMIMMtZj0HNBmIIMATsDAGeBwLM4NomTksIMezJrThKUw91HEDQ8mAufZwDrYGUUPcgY27fZsDaY1XtgYceA4sNxBCwAAGbeMaYjLRg5nqmCU0HtTMJ3taKXAARxiR+gxNb5sK3qxoA8Uebt+U4DuqkGOwZkOx/lK5OTdcRsoagEoVhxYrBSFkxBRMjOm2D0vQl8WZsjRpNd9J19nt9D9aYv14PCmPAdhAgeS0HR2D2khVYTVI4rf3tEkwb5QWdzIi2Q6ohSqzxjDEZaQhtu7/u6DcHifOlSH7nSPtBAe4kJz3N2XGCUwcGx0CMjdiLDUvJ/aXpWB0xF56c5qCuxJF3tkE6PxGP+D14dcKeJo8XmkFBQb2LZ4EHAsSVuHBbdvc4dO/igFHLEGAIdAMCwoGT8PjMwag/ewi7Pt2Gz776CdV+o+HTzdoZk5HdMFmsix5AQIDB85YhKGsbvi/RBixrPYbte0LxxoG1uHVfgFkBvEK34vEBWdifMh5/TnkNhQPeQkJoUEcsUGXJISRnDcFT8waT3AasdBcCvJSzwsJCo+MJ/Gfjjd1pyDuXhi9ei4NXR6/kqzVoBtZ/cpzcy8axz1/HnECtVOS2C6nzvyQSW1LJFmRHbDHAQRKOlR8cQhbZTkzf9yfMC+Ax7R19bkG0eyQ26/bJ3TOwPWnReAQVw7wbgUzzJbwTa557DymZhO/0fdg021eb2skEZtkEj6xU7H5zFf646wS+0TEndz8PJmihWHbn/BmBjN1iCJiPgAuCI4ehPu0oMm9VQ65Uo1X2Cy7++BNKuzkILZORhmen18tIYRhCPt6PocHtGb8dgtch6qNXIdH86Qgnkq916FtHMPXrDEz620b4+Olo/nSLkuSiDlnxLiJ3ZJM6RzF+8fj2nJXCIfBd/Sli9+Zg6r4UjF08QSeXpQvcHnsX0fTe7r0YEeerBbgL49EenHwQO9MT5w5eAJecyvDMkTsOgRgT7INreR/jRpOcpJtKw6m8U3APno3+HYk2ZLhw8Dw8Z8bA11rpF40SaZ83eSlnxr8KPRG/YSMis1/FrMkLsVUWixBur9wtDm/9czGUO36LyZMeRuKRYLzyl0UIoBN4z3YhPYU5EeETue1GV0S+8lcskr6PJVNn4fmjIUjcOF1nMRiYDGN9Gt2etHA8GOHdAIkdl13H4GHJfqyaOhkL36nAjPXLEEofdmOY0caqChz+4Cj6L3oCLoePALPmI1ST7s0KPBijxRjWFtNiCjR2nyFgBgICTwz2UKDGYxJ+/SzZ0ly7Ck8+FoMhLt2fvonJSEPzYgcysqUA1dfE8Ar3I4m/BBCFx8Hp2ik0UiuTSxxGbViEtoMrkZYwF5d+CkJI4kKIdN+solD4D7uMm69NR+qzG1E3cjEkYhEkT72P0CFncPWFKTj9zDqUCWLgwiVTF4fBx/UAzj8dj+ztFRjwdAJIIp0ujKedH+EgRPhUILuAZ7R3p0AMEpXhdv3dyPKtDZmoF4XDU0cRayrIRoVPBALb9VdDi4FdNwMBXsqZ0a9CcQhmhpVj75fZqJJXIot8JeRz8y5Lw++WvICPSETuRoUUl1L2oWhQLIJMpb4QDcejUTXYmXwcRfXVOL9/D0pHzECoqXZmMH5PVUvHM8a7KVpo1P2d6ShTyHH75He4JRkJX7qwTWHWUoqsnzJQKruDtLSzqHYdjP70obUGD6ZoMcSjpbQY6o9dZwhYggBJASQWe2OoezGOf/EJtm3fh4y6oZgxIxTdrZ8xGWlgguxBRkIO2Zl8CGMi0E/gBY8Yb8jS86HJ7iRPw+WXXkRBzh2oWqRoOLUfTf4xEHNKFq3TfBOFSTsgLSPpn6S5KHx7E6TKERgY24qSbf9GbSVJet5YgKo921DPRXht/hkl32aguVkOeUYK5K4jIaRy3tLxON3KSQxPZwWkjTwSolPaHURwdmyBQkXyJTiFY87UjQhEHZSOEh0rH8l8Ja9Bs7MnxMxyZuBBMP8yj71CgH4VGhQ+Tq7wdm5EGUmITouqvpzmRtcWAXynvYS3f78UkQO1q7UtGztMfbgKJPDzC8OvDuVgA9cVaedqrYm3dDyjvJuYDLUc1dwD0tpEFjvJ36ZpYgozJZoULVC2tf9UOwnb21mFB1O0GODRUloMdMcuMwQsQqBNhZbmcpzLyke1gibjqcWt3HOYsHQYvATXIe/GrU0mIw3MkD3ISMKa8voxyP0fgYd/I3z8i1BxndsUFEAY/SJGr1oCTx/uHZeDYt13nEpKck93SnwucIezqBY1UgMJ0dWNZAtRq0ApifLmKCBWO1osHI+bHlUTaptF8HIldpkGHgpam4LkGBVC5ERGb83D4R/z4CBeCoG6gbyD7s65o4sXnJtr0WTLeTcNLFFbvcxLOTOomFGulI2oUrjAT0JUC6KVObn7gf6qKaJxWPeHmSh+JwEvnyyEzH0e/vXNwvuwoHN8jwlP2YDy0hy8/sxq/CC9r3r3X+A1XhvUbcSorUuoMd4tpZInZvd1z4uH+1rZx/zpYYtdYghAJUOVrNMLyMHUl6FluDEZSXGzUxlJWavLQ1XNOvjPWgC3mhO4XqfVTJzHYuiamWj67ElcyiyEym0uwj9cYHoRKevRrPCEa38BWaMGFDR9vVg6HtdXSzHOVfohMliMr8oa9Y1w7zVVCYoV/hgqccFZRXv9fpJouCvyUKujiLkMjYJfVS5K7jtQYHoIVkM/Ary2NY36Uyhu4vgVPyxNiIC3eACinkjACLF2MGINEgnU5KtBhmbBQMStWIFxnWO3EAFa3eKPicMldxU0xXWkZPthJVn0Q8hGu0tANJa/8QqiOrfVz5P5V/mM11qFWw0BiAvz1KHTCO/mU9Hegg9m+vrmw4PedkZ44EOLLcwfx5c1Qg7ow4xd6x0IqOtxu0CACTEj4C1ygqPQE8MiwuFRfQs1ZrwP+TDLZCRByV5lJF0A6nLU5irgtWASVDnZxJqkXRUOZMdDoIJaRrYsBf7k/tNw5+N+05KPXzKFCFy1HB7eIji4DIH30lWm21o6HreIVZVIPy7FxAXjIeGzsNtKcKWgEiPD1yBELEY/cRziJ0xDfcFRSDssZxKMXxCO2hOZqHjQljM7egfwUs6MfhWSrYLUf/wd52K34PiZb5Honokb3P62/DySk64hfuv/z965wEVdZv//DYw4XAYRFRC8Q2p4CV1AxVXzWmn+zCuaRrtpaVtrmLVql5+/tt367dqm6W9btdb/lnhNK1cs856QF/CuteIVTAy5CAIDw/3//cIMDMjMfJkBBHm+r5cvnOd2zvk8z/fMmec8zzn7iI1ex4zCw1ysPFdYvjTks1fb05iw7jCnKgLGajm5fAlfebzIxuhYjmxewEP/ieInhWcYa1xzZm+HKqCXH8/6NecZ+PFBTlXcKjUje41MKChUglmNwyiQocZ+ZmRQwktDzV+NvFctdOkxGM/EaK412sy8CoQQTeoQgRIyzu7jVFEA48Kf54XnpjCo1XUOHLhCrpFLpi4ICh0pofjA6kh5hRSSd/IYBaSTcfJmZYgm3TkSNl/C4+3vGLrhU3yKD5OjSP/oyI6M4OqtITy8Ooah61fjwwly8y2sRqvpGcYt4udvNpIYMpdxvnrHmSHO2aTVdHMcyKxJxvHOiki/Mp+d6YOYOv48S8d/SLf0pWy5klh+5k4aVtXhSeYFJ7Ih6gZ1/JvHAhj3Vj9I3wGK0jeZPU9xLz6iRCDQ8AioOjDjk7/Tc81Mlh7LaXj6guI9CDSn9E1CR94z/aKg0SKgpnfEZlZ2WcP0V78tD0RrLa9ShoBxyzfzwvX5hK34EUV2qbW0LPV7wL4DFBlnljAR9QIBgYBAoDoCzck4qy67+CwQEAgIBGxBQNGFgEbzq1B2TcpBT2uUWI6VVou0TDWOUUeFTYXPOhJXDCMQaO4ICB1ZyxUgdGQtARPNmxsCYuesuc24kFcg0EAIiJ2zBgJakBEICAQeOAQUXQgwexOpISBpFDcwHOn29Cr2yimLKi4u6IWvLX+GywkmUklVgbS2YzfEfNSWxoMgQ21lFu2bFQJCR8rTLXRko130chqpyNW0qa+IB6jpFfE1B1Y8gaciq8IMUtI5trEr9rPDKDWhmdYPbJUit6b5m0iNEBvZGPhmJhvG1qGbUx1AeHhHosKHsPJ8tYTqciqjoYeUA6FPfYSeT+Udm0nL+pi/ZgKdENMIAccujH/ucSmiebWn8BpRn+/hZh0GoRU6UsJY6MjqK63ZfLb3epyI8RmsCd9TfsFAvgEq3/4sQ+AYkV/O4qLx+2bvS+/A5Yzz6y+F9Egl8eof+eLMt2TKIUpKUtmzbC3TPo/gsU1z2XFbQbDcBxBpRcZZozlPcT8nQNUKH6dUvr9ezTC7nzwJ2gIBgYBpBKSciDtXrzaqb4H3kGmMLD1Lch0aZjIBoSMlEISONL0WH+gaFR3HzqBz7Aq+SdIHOivcx7ot/iAbaU/+ppr0Kjz8V/FfbY+wNeo33KA/jw5ZQZj/T3xyqTxER1HSLtbEPseCsR3Z9f8S73uIjvsxfYo2IO/Hr0KV92je2hzDmdMxbHw9FI8KTu1x6TyC+Z/sl+ri2PfZEh73lZOOSY/BXShfGtAEsSJackFWxCST0oRpApm9chexkjvx6LZ3GOujwDatGHMFIW5BLDce04J70ip6khimZTezRMpch5HMfeFDoo5Lch/dxtLRnvqUUBYwi5PwiI1m89tzeHPDAb422k6uexks8CK7euty/sxAJqqaFwJ2zl34Vbc8zp1LrXNlL3Sk/N4KHan4e8UxAL9/bKdrl/JM4XZdXib449fQlH20x8FnOF3f3cOwr44x6H8X085L/x0nV8suSimHtV/4BwStj5Pa7KXv5L7luS4dO+H5/KcM3HqCYdui6D35EaMcmM64PvkBIXLd5q10D/XUKwAb6MkjOLRj4Eh3Tu84hyGplVnNYudLry7tiD/zD67k5UppqmI4dOYQbl1G07oigUcO53acxX3kADzrK22jWSbvf6Ui46zhz1O4M3TRYoLiXmPU4ImsyhmIn8FX7hrKu3+bTNH63zJ40Bgi9nRh4Z8n4SNPoN5dGDhkAXHZ8u3NfgT2M7g2XQha+D6TMj5iyrBRvLjXj4jFw40Wg4nJMDdmlbrq/a2khxnZq5Oo/tmlF2M025kzbDATl6UwYv4M/OWX3Rxm8hjFKexeuZfWk6bjvHsPjBqPf1mauHqQwRwv5rC2mpfqIInPzRMBe9wD+tHm1kkuZdW9m0ToSEnX1qR3hY6s+XWTdnXT453wCPSScmaqUAeG4hB/CK2c/sg5lJ6LJlG6YzYxYU9w4YfO+EVMRG38ba32x7vbj1x9fTjRzy3mbo/JaJzUaGZ+hH+nI1x8aQiHn32ZZNUAnA1J2J0CaOfyJWefGUrcuhTaPhOGlIDHBnp60Rw70L9dCnEJCqPEO/jSQZ3M9azKiPSF2cfJUgfibmSI5SXEkdKuP77l9mvNOD7ApYqMswb/Vejkx8iA22zdFEdabiqx0q+ES4Z5z4nh1Skv8fHhG2h1GVyI2saNDgPpbCllhvohxgXfIXLNfm5kpXN2+xZudR+Bv6V+1k6+tfTMyW6JFzlaf+RRknW5XD+4k2uaHnjKC9sSZgW3iP3hGLdyfiYm5hTpLh1pLb+09SGDJV5MyWgtL6bGE+XNCwFHH/o/bE/8qZtYCsJuDTBCR1qBmrXv9IOgI8kl58glHAf0p4XKg1YD2pBz9FJ51P3cGH585fcknPiZ4oIMsg9tJ897AE4GI0uGOv8qiavXk5EspY3KOEnie0vJKOpO+4GFJK39nMxUKVm6NoG0LWvJMkSGzf8PSf8+Rn5+LrnHosh16YGjrOetpWewrRyccG+pI0Or8EePnZqW9gXoiqU0HQ6BPD5ssXQu9C5F9hqjXT7p6FnuHfJbuuPUTHfOFPj17sN5CgcX2rTUkiwlUpef4qzbck51/aPC89FXeO8PUwlqr1+tpXGst5TPWKXByyuAp3adYJFhKKmfS31NvLX0zMpuYNzE35Jc0g0vSGGetNilvG9lTS1hVkSeroCi0vK/JQ6O5f3qRQZLvJiQzVpeTAwnipsTAna4+v+KDpmn2XanfpL/NfiZM7N6oom8Y9a+02Zlt7CuG4uOlNgsuryPXO/HaOWtpZ33DVIuG5yCKhxDfs/Dc6bg3s7wHXeCm8bfccUZUs7qasmSVG60VGdyJ8NEEqUSreRC1BtQRZLxZq+Sdu3kx0p6BqiL88jMV+PhIu31ZCsw0Ep1Um5SR9QOEvXCM+z+/gx2TlNRlWRL30GV82fv7EHL/Ezy6ueVtbBQ7n+1IuOswX8VFmlJ0znjpZFMC8kqc3DzQv5v2aPuw8tvjOTmsjAWHEwkx20s//p64j1IynNcZVuwKJvbt06w5Nnn+TbjnuZ1X6CIXiklpdKmtjGj5mS3lkuFmN0zvCIZ7uklaZ0HYP5qEEsUNVEEHNrS5xENid9fQ1vHOTUNiAgdacXaUKRfHlAdKcN19wxpd17Ge9QEXO8c4PJd/eJs2Zuuc0eS98+nuXA8kWLXJwj8+wTLABdlka9zx6W1irQcEwZaTaNYS88wVsFNTqd6EdTFiS+StTVRqFpWnMRNnTddNc6c0pW3b6EJwU13hkwjQ8y5azBeaSdJkl29zfBR5NZs8PMUuqvs/8mLqWH9aePUluDpYXR30s+OtBukVpVIvxpyyFe1JzQ8nD7VY7cU55Be4E2/hzSVBpruMlFxXsyWFn0nydHu7BPCrLcWEly9b10tAiX0CtO4lu1DaIC7EZ9mgm+jWwAAIABJREFUZLeWNyWY1TS2Ehlq7GdGBiW8NIb5q0mu6mUiflt1RBrlZ3Wn/jxU+CNn6vqKppG0QkdaMfVK9MuDqiNluEpuk3lSh8eEQRSfiJN2k/QY2kkeD1UxJTmSy1LlLdU/g5uS4zcFl/jluCO+c2bRqo0aO+dOtJk6x3Jfa+kZprw4laP7M+g3oa8UFkPBU5rETwmp9Aici5+TEy2cQhn6yKNkJewlo+LHk4a+EwLJPHCclMa8c1aP3wGKjLMG/1VIJtF//QunB65g/5F/E+F2nCsG/3buWdasjmfoqn3ERq9jRuFhLlaeKyxfGfLZq+1pTFh3mFMVAWO1nFy+hK88XmRjdCxHNi/gof9E8ZPCM4w1Ljmzt0MV0MuPZ/2a8wz8+CCnKm6VmpG9RiYUFCrBrMZhFMhQYz8zMijhpaHmr0belRe69BiMZ2I01+5rtl/l/DbLlvat6NHfi9RTF8tjKNUTCEJHmgBW6EgTwMjFheSdPEYB6WScvEmFXaI7R8LmS3i8/R1DN3yKT/FhchTpGB3ZkRFcvTWEh1fHMHT9anw4Qa6lQ5ZW0zOIVsTP32wkMWQu43z1zjg5hEbYFf4kxzpzHMisSdL/wyLpWXbptIj0K/PZmT6IqePPs3T8h3RLX8qWK+VhNOQWqg5PMi84kQ1RN+r8ZrWZCal1VX1+ByhK39Tg5ylqDZHoIBBoYARUHZjxyd/puWYmS4/lNDDxpkGuOaVvEjqyaaxJwWV9IaCmd8RmVnZZw/RXvy0PRGstKSlDwLjlm3nh+nzCVvyIIrvUWlq29Kvn7wBFxpkt/Iu+AgGBQPNEoDkZZ81zhoXUAgGBQH0hoOhCwAP9q1DedpeDntaIsBwrrQ5TQNVIQ2FhU+FToTiimUDgQUJA6MhGMJtCRzaCSRAs1BUCYuesrpAU4wgEBAJVEBA7Z2JBCAQEAgIB6xBQdCGgcmhHuj29ir1yip2Kg/b62treWjAcFJXHMkqxVKMYtR27xkEaoLAx8dmYeGkA6AUJgUDjQEDoSLPz0Jz0kpxmKXI1beorIgBqekV8zYEVT+BZy2/ye+ZIOuc1dsV+dhil7runjShoUAQUuTUrOFIHEB7ekajwIaw8Xy0BuJymY+gh5czr03qU5cP8Zqbyfg9SS73sG8Y2AtdpY+LlQZpjIct9RUDl3p1Bw0Lo0d5VCrVZRPYv8cR9f5RLmbWIA1UbCYSOrA1altsKvWQSI3uvx4kYn8Ga8D3lB/DlG5Ly7ciyHseI/HIWFwuNutv70jtwOeP8+kshL1JJvPpHvjjzbfkt5pJU9ixby7TPI3hs01x23FYQTNYkZ6KiLhConb2taoWPUyrnrlczzOqCEzGGQEAgIBCoSwTsWxP42GDaJh1iyz/XsvafW/g+qS2DxwTSunaaTzlXQkcqx0q0tAEBFR3HzqBz7Fq+SdIHAivcx7ot/rz15Tyu3RO4VYWH/yr+q20s26P68seo10ls+y5h/p0rYmwWJe1iTWwnZo7tKP2QEc/9RkCZipJ/vcjux+gVhLgFsTzayBVpqDPhnrTTBDJ75S5ipfqj295hrI+yaVd5j+atzTGSyzOGja+H4qGE07It80jmvvAhUcclHo9uY+loT30KI3tcOo9g/if7pTHj2PfZEh73LQu6IiUGl/rFSfzFRrP57Tm8ueEAXxtt75qTwTSfFuiV4SldRNAEscIYT4kdc/TMLZjGxIs5PkWdQKBBEHDQ4Km+w/kLN8kuLKGkMJubF85zx8mzMuNIXTEidKRJPd9o9JJjAH7/2E7XLuWZtO26vEzwx6+hKftoj4PPcLq+u4dhXx1j0P8upp2X/vtBrpZdlFKOZ7/wDwhaHye12UvfyX3Lc0E6dsLz+U8ZuPUEw7ZF0XvyI0Y5Ip1xffIDQuS6zVvpHuqpX3E20JNHcGjHwJHunN5xDkPSJ7NL2c6XXl3aEX/mH1zJy5XSOMVw6Mwh3LqMpnVFWqgczu04i/vIAXjWV1pDs0yKSmMElJg8UuJsyWXZrx+BQxYQly3fYJT+30/viqtSVx1cF4IWvs+kjI+YMmwUL+71I2LxcKPFUL294bM7QxctJijuNUYNnsiqnIH4KfXbu/RijGY7c4YNZuKyFEbMn4G//PK5hvLu3yZTtP63DB40hog9XVj450n4GBZhcQq7V+6l9aTpOO/eA6PG41+W1sycDGb4NEfPHJ5m6ZnCSy5vTLyY41PUCQQaCIGidK6mutArwBdNC3vsW2jw7dUL19QrpNe1V9PcOy10ZM26vKF1ZEEC6fFOeAR6STklVagDQ3GIP4RW3mVyDqXnokmU7phNTNgTXPihM34RE1Ebf0Oq/fHu9iNXXx9O9HOLudtjMhonNZqZH+Hf6QgXXxrC4WdfJlk1AGdDknKnANq5fMnZZ4YSty6Fts+EISWosYGe/t1x7ED/dinEJSiMou7gSwd1MtezKiO2F2YfJ0sdiLuRIZaXEEdKu/74ltuvDfSiCjI1IaDMOKupp5Iy9UOMC75D5Jr93MhK5+z2LdzqPgJ/S6konPwYGXCbrZviSMtNJVb6xXJJ4RpEji4feZRkXS7XD+7kmqYHnvJCy4nh1Skv8fHhG2h1GVyI2saNDgPpbOCl4BaxPxzjVs7PxMScIt2lI63ll8icDOb4tETPFH7m6JnqI5c3Jl7M8SnqBAINhUCplsuH49D2Hs/M2S/wwuyZjO+dR9zhK/WWY7PWotXH+26JieaqI8kl58glHAf0p4XKg1YD2pBz9BJlp6tyY/jxld+TcOJnigsyyD60nTzvATgZjCy5Tf5VElevJyNZSquUcZLE95aSUdSd9gMLSVr7OZmpUjJxbQJpW9aSZYicmv8fkv59jPz8XHKPRZHr0gNH+XvFWnoG28rBCfeWOjK0Cs+G2alpaV+ArljKQ+AQyOPDFuPLXYrsNUa7fFJGqdw75Ld0x0nsnFl6i+q9XpmP0Vo2VBq8vAJ4atcJFhnGKI3DxdLEO7jQpqWWZCnpufwUZ92W858re0pySTcs2MI8afFJecrKeqrwfPQV3vvDVILa6984iZf1FVu6ReTpCigqLf9b4uBY3s+sDOb4tETPhDhm6ZnoIxebxayBeTHDpqgSCDQYAnYaHh45EFcpTduGs7fQ4orvIyMZPvJhftn5I9kKv9fqld96ed8tcNxcdaQES9HlfeR6P0Yrby3tvG+QctngFFThGPJ7Hp4zBfd2hu+HE9ys+H6QOhdnSDmdq225qtxoqc7kToaJrdgSreRC1C+0Isl4s1dJu3byYyU9w9QW55GZr8bDRdpfUbKQS3VS7k5H1A4S9cIz7P7+DHZOU1GVZEvfeZXrxd7Zg5b5meQp/b61sNREtfUI1K9xVpTN7VsnWPLs83ybYYrJUkpKpU1m4z28Ii1pOme8NJJZJVllDm5etp8RUffh5TdGcnNZGAsOJpLjNpZ/fT3RFFOV5eZkUJvhUyE9+b2osn1pjp45bs1h1tC8mONT1AkEGgoBVWu6tM7iwnfSmbOyA9JZ/Hz+PHd7dae1QyMxzhS970JH1omOlJfA3TOk3XkZ71ETcL1zgMt39ZZJy950nTuSvH8+zYXjiRS7PkHg3ydYXqlFWeTr3HFprSItx4SBVtMo1tIzjFVwk9OpXgR1ceKLZG1NFKqWFSdxU+dNV40zp3Tl7VtoQnDTnSHTyBBz7hqMV9pJku65UGCZhGhRtwjUr1tTd5moOC9mS4u+k+Rod/YJYdZbCwk2Pj9WmMa1bB9CA9wrjRTdVfb/5MXUsP60cWpL8PQwujvZKLi0g6ZWlUi/fHLIV7UnNDycPkrOsZmTwRyfSugV55Be4E2/hzRGsivArCYoGhMvNfHXEGVlF0I+4VHXhiAmaDR6BKT3K0XnQZ8+HSrOnHXo0wcPXSo5jWVnwJx+MQAsdGTd6EgZz5LbZJ7U4TFhEMUn4qTdJD3IdpKHRVVMSY7kslR5S/XP4Gbp+I3cteASvxx3xHfOLFq1UWPn3Ik2U+dY7mstPcOaKE7l6P4M+k3oK4XFUPCUJvFTQio9Aufi5+REC6dQhj7yKFkJe8mo2DnT0HdCIJkHjpNSV++H0MkKJqfmJrYbZxW3lGq6eajl5PIlfOXxIhujYzmyeQEPSS6Gn4zPj+XHs37NeQZ+fJBTFcFoM4n+6184PXAF+4/8mwi341ypPMdYsySWSnPPsmZ1PENX7SM2eh0zCg9zUdGY5mQww6cSevLZj+1pTFh3mFMVQX3N0TMnZGPixRyf9Vfn0mMwnonRXGu0mXLrT3Yxcg0IlNzh9HdHueP7KNPLzpxN51HfOxz97jR3GtKlKXRkzbq8wXWkvEYKyTt5jALSyTh5kwq7RHeOhM2X8Hj7O4Zu+BSf4sPkKNIjOrIjI7h6awgPr45h6PrV+HCC3Pwa1qNxkdX0DIMU8fM3G0kMmcs4X70DTI5zFnaFP8mxzhwHMmuS9P+wSHqWXTotIv3KfHamD2Lq+PMsHf8h3dKXsuVKYvmZO6mFqsOTzAtOZEPUDal13TxCJ1uPo0jfZD12omdjQkDVgRmf/J2ea2ay9FhOY+Ks2fIi0jc126kXgjcIAmp6R2xmZZc1TH/12/JAtNbSlTIEjFu+mReuzydsxY8oskst0RI62RJCZuuFcWYWHlEpEBAIWIuAMM6sRU70a44InDl9qkzswH79m6P4QuZqCNTvhYC6hlt2D8iBW2scV46/1gjSINXImygUCAgEBAINgIDQkQ0AsiAhEKh/BJqWcWbIx1n/uAgKAgGBwH1AwLNtq/tAVTnJlLS7yhvfj5ZCR94P1AVNgUCdI1DLCwGOdHt6FXvl1EMVB9j1PNX2VobhkKyJtE91LmlDDFhbDBqCJ0FDICAQaEAEhI5sQLDvJSWnWYpcTRslN/Hv7a2gRE2viK85sOIJPGv57XnP4NI5r7Er9rPDKFXgPW1EQbNFoHY7Z+oAwsM7EhU+hJXnqyU/l3+xDT2kHEjDLzzZoPlmpvJ+D1JLvewbxgp37IM0rUKWxoOAnZOUUzD4V/h5uuBQkkf69dOcOJuI0sDqtZZE6MhaQ9aUOth7PU7E+AzWhO8pP4Av35CUb0eWCXGMyC9ncbHQSCJ7X3oHLmecX38p5EUqiVf/yBdnviVTvi1cksqeZWuZ9nkEj22a25RgELw2AAK1s/1VrfBxSuXc9WqGWQMwKkgIBAQCAoHaIeBEx+CB+GjPcGDHFr6O+p6EFr0JfshNH6W9dqMpai10pCKYmmYjFR3HzqBz7Fq+SdIHAivcx7ot/rz15Tyu3RO4VYWH/yr+q20s26P68seo10ls+y5h/p0r4loWJe1iTWwnZo7t2DQhEVzXGwLKjDODCzJ6BSFuQSyPltyahphkFtyTdppAZq/cRazkvjy67R3G+tRus+4eyctch5HMfeFDoo5LfBzdxtLRnvoUTfa4dB7B/E/2S/zFse+zJTzuWxbkRUp8LvWLk3iIjWbz23N4c8MBvjbaTraWT5X3aN7aHCPRi2Hj66F4VCBqgRfZnStfbtAEscIYT4lVa3m5BytRIBBozgjIhpJbFvE/3iC7sIQSKWdi4vmLlPh2wMU4LU9dYCR0ZM0oOgbg94/tdO1SnknbrsvLBH/8Gpqyj/Y4+Ayn67t7GPbVMQb972Laeen1tVwtuyilvMp+4R8QtD5OarOXvpP7lueCdOyE5/OfMnDrCYZti6L35EeMckQ64/rkB4TIdZu30j3UU8+bDfTkERzaMXCkO6d3nMOQ9KlmofWldtKubZd2xJ/5B1fycqU0TjEcOnMIty6jaV2x/nI4t+Ms7iMHmB1KVDY/BJQZZ3oXZOCQBcRly7ci+0nXffWuuCp11QF0IWjh+0zK+Igpw0bx4l4/IhYPN1qY1dsr/OzSizGa7cwZNpiJy1IYMX8G/vLL7hrKu3+bTNH63zJ40Bgi9nRh4Z8n4WPI5Vmcwu6Ve2k9aTrOu/fAqPH4l6VRs5ZPd4YuWkxQ3GuMGjyRVTkD8TOcdTDHizk8reZFIXaimUCgmSMg5w90tpTft7YYmXunm7OOLEggPd4Jj0AvabdShTowFIf4Q2jlXSbnUHoumkTpjtnEhD3BhR864xcxEbXxt5LaH+9uP3L19eFEP7eYuz0mo3FSo5n5Ef6djnDxpSEcfvZlklUDcDYkKXcKoJ3Ll5x9Zihx61Jo+0wYUoIaG+jpF4NjB/q3SyEuwTiKupmF4uBLB3Uy17Mqo50XZh8nSx2Iu9H6y0uII6VdfzMDiarmiIAy48xaZNQPMS74DpFr9nMjK52z27dwq/sI/JWkxTBHU46sH3mUZF0u1w/u5JqmB56ycZYTw6tTXuLjwzfQ6jK4ELWNGx0G0tlAr+AWsT8c41bOz8TEnCLdpSOt5ZfWWj6d/BgZcJutm+JIy00lVvqVd8nw3lrixZR81vJiajxRLhBorggU3SXprobuD3eQvpztsXd0p1OvADwcVVXz2d5PfOrrfW8sOpJcco5cwnFAf1qoPGg1oA05Ry+VR6XPjeHHV35PwomfKZZ2NbMPbSfPewBOBiNLnpf8qySuXk9GspRWKeMkie8tJaOoO+0HFpK09nMyU6Vk4toE0rasJcsQOTX/PyT9+xj5+bnkHosi16UHjrKet5aewbZycMK9pY4MpQcW7dS0tC9AVyzlIXAI5PFhi/HlLkX2GqNdPunoWe4d8lu6389VKGg3QgRs9DFakEilwcsrgKd2nWCRoWlpHC62/motySXd8IIU5kmLXcqLVja+Cs9HX+G9P0wlqL3+DZfora/YQi4iT1dAUWn53xIHx/J+1vLp4EKbllqSpeTs8lOcdVvO065/LPFiaFftr7W8mBhOFAsEmi8CedyMO06rkF8xcsIQHIoy+fnSTe7mqyUd0EhQqa/3vbHoSAnmosv7yPV+jFbeWtp53yDlssEpqMIx5Pc8PGcK7u0M+voEN41dzsUZUj7kasmEVG60VGdyJ8NEkqESreRC1OfnKpKMN3uV/oyhlfQMS6U4j0xp7Xi4SHsa2Qryf5XqpNydjqgdJIEKz7D7+zPYOU1FVZJdZf3JO7kt8zMbyYIUbDQWBOrXOCvK5vatEyx59nm+zTAlciklpdKGd13s4an78PIbI7m5LIwFBxPJcRvLv76eaIpwZbkiPmsYpkhLms4ZL41kGkpWmYObF/J/yx6FvMjfEVVEt5aXGtgTRQKB5o5AqS6JC4elf3og1B0fZXh2QuNJfK7ofW/COlLG/e4Z0u68jPeoCbjeOcDlu3rLuGVvus4dSd4/n+bC8USKXZ8g8O8TLC/Zoizyde64tFaRlmPCQKtpFGvpGcYquMnpVC+CujjxRbK2JgpVy4qTuKnzpqvGmVO68vYtNCG46c6QaZRY3LlrMF5pJ8FzjOUxRYtmg0BdmESmwdJdJirOi9nSC9hJcvo7+4Qw662FBBvHoClM41q2D6EB7ra7GqQdNLWqRPqllUO+qj2h4eH0URLvRgmfNUmpu8r+n7yYGtafNk5tCZ4eRncnfUMlvBTnkF7gTb+HNJWyW8tLTfyJMoFAc0ZA5UXf/t2ld9MBOwc1rXwfISTQlVs/JdVN7sC6wFbJ+96UdaSMUcltMk/q8JgwiOITcdJukh44O8njoSqmJEdyWaq8pfpncFNy5KXgEr8cd8R3zixatVFj59yJNlPnWO5rLT3DPBencnR/Bv0m9JXCYih4SpP4KSGVHoFz8XNyooVTKEMfeZSshL1kVOzcaug7IZDMA8cVDCiaNCcEbDfOKm4p1XTzUMvJ5Uv4yuNFNkbHcmTzAh76TxQ/GZ+nzI9n/ZrzDPz4IKcMN0CtnYHcs6xZHc/QVfuIjV7HjMLDXKw8i2lmVAV81tg7k+i//oXTA1ew/8i/iXA7zhUDPSW8yOdCtqcxYd1hTlUE9bWWlxoZFIUCgeaLQFE6iRkeBD42jYkTJzD4YQ0pcfs5l2YciKoB4GnWOlLGt5C8k8coIJ2MkzepsEt050jYfAmPt79j6IZP8Sk+TI6ijNs6siMjuHprCA+vjmHo+tX4cILcfAtzaTU9w7hF/PzNRhJD5jLOV+90kuOchV3hT3KsM8eBzJok/T8skp5ll06LSL8yn53pg5g6/jxLx39It/SlbLmSWH7mTmqh6vAk84IT2RB1wwLzorq5ISASnze3GRfyCgQaCAFrEp+fPX2sgbizjkyjT99knViil2IE1PSO2MzKLmuY/uq35YFoFfet1lDKEDBu+WZeuD6fsBU/ckwkPrcWyQeyX/2eOXsgIRNCCQQEAgIBgUDzREDHhRVPMaIuhJcyBOx6ZSS76mIsMcYDh0DjM85kF4AcnLVGqOUYayLVUY3QiEKBgECgeSAgdGTzmGchZbNGoPEZZ4acm816WoTwAoHmiYBwGyqYd6EjFYBUd03ef/99k4MtWbLEZJ25CnNjmusn6poPArW8EOBIt6dXsVdOPVRxgF0PVllapU941FUheIZDsvJYtl4EUEiy3pvVFgNrGJLOKYxdsZ8dRqmnrBlG9BEICATqAwGhI+sDVcVjyimfIlfTRsktfYWDygZY5b93iLz9MAOcDrP8TesMM5ls2Xhvfki0UwgBtyN5p7qRJ/S8wtl5cJvVbudMHUB4eEeiwoew8ny15Ofyr7mhh5QjZfj1Jxs038xU3u9BaqmXfcPYWrhqpXMKe5atZdrnETy2aS47bisIhvggYSZkEQgYI+DYhfHPPS5FXpefJHav20mCcQJqKRq736CRDO7ljbMUrT75xxj2H72mKIaoVUALHWkVbE2lk73X40SMz2BN+J7yywDybU35pmaZAMeI/HIWF40vA9v70jtwOeP8+kvhN1JJvPpHvjjzLZmy2q6mywP7GaVwEnq+qSyJeuOzdjtnciJhp1TOXa9mmNUbe2LgmhAoStrFmthOzBzbUcqJIB6BQDNGQMrduHP1alav203SPaEU7HHrPZoh7X/hgBSq4dMNB/il/VBG9XKzPaaiKciFjjSFzANQrqLj2Bl0jl3LN0n6KLKF+1i3xZ+3vpzHNeMfBWXSqvDwX8V/tY1le1Rf/hj1Oolt3yXMv3PF+jOny83VPQBgChEsIKDMOKuI07OCELcglkcbuSItuCftNIHMXrmLWMl9eXTbO4z1sdGcKHMdRjL3hQ+JOi7xcXQbS0d76tM32ePSeQTzP9kvuUrj2PfZEh73LQs4IyVFl/rFSTzERrP57Tm8KSnqr41cg9byqfIezVubYyR6MWx8PRSPCkQt8CK7c+WLD5ogVhjjKbFqmZcczu04i/vIAXjamgrLwgIR1QKBJouAtGvWrbszN46c4qa2iCLtTU4duYFLj65olGk+5aILHVkzVo4B+P1jO127yMmPJd3W5WWCP34NTdlHexx8htP13T0M++oYg/53Me289PparpZdlFK+Yr/wDwhaHye12UvfyX3L81I6dsLz+U8ZuPUEw7ZF0XvyI0b5Kp1xffIDQuS6zVvpHupZRtsmenJ3h3YMHOnO6R3nMCSg0g9c8x87X3p1aUf8mX9wJS9XSikVw6Ezh3DrMprWFSmqzOlyc3U1kxSlDw4CylSU3gUZOGQBcdnyjcl+BPbTu+Kq1FUHxoWghe8zKeMjpgwbxYt7/YhYPNxoYVZvr/CzSy/GaLYzZ9hgJi5LYcT8GfjLL7trKO/+bTJF63/L4EFjiNjThYV/noSPwYApTmH3yr20njQd5917YNR4/MtSulnLpztDFy0mKO41Rg2eyKqcgfgZzjqY48Ucngp5yUuII6Vdf3zLdZ5C4EQzgUAzQsDBFU9nLUmZlX6mwru30Dp54VrXP2rMvdPNWUdKO5vp8U54BHpJ+S1VqANDcYg/hFbeZXIOpeeiSZTumE1M2BNc+KEzfhETURt/K6n98e72I1dfH070c4u522MyGic1mpkf4d/pCBdfGsLhZ18mWTUAZ0PCdKcA2rl8ydlnhhK3LoW2z4RJie9toad/Zxw70L9dCnEJxlHUzbxPDr50UCdzPasyEnph9nGy1IG4G60/c7rcXJ0ZyqLqAUBAmXFmraDqhxgXfIfINfu5kZXO2e1buNV9BP5KUnSYoylH1o88SrIul+sHd3JN0wNP2UjJieHVKS/x8eEbaHUZXIjaxo0OA+lsoFdwi9gfjnEr52diYk6R7tKR1vJLay2fTn6MDLjN1k1xpOWmEiv9yrtkeG8t8WJKPoW8lOTeIb+lO1JmGvEIBAQCNSFgJyW6ti+mQE6/qPJk0LhBeJJPsYOj0S5LTR0bsEzh+15rjhqLjpTO+eUcuYTjgP60UHnQakAbco5eKo+QnxvDj6/8noQTP1NckEH2oe3keQ/AyWBkyULnXyVx9XoykqUUTxknSXxvKRlF3Wk/sJCktZ+TmSolNtcmkLZlLVmG7AL5/yHp38fIz88l91gUuS49cJT1vLX0DLaVgxPuLXVkaBWe87VT09K+AF2xlBPBIZDHhy2WzkbepUja0VUZJXc3p8vN1dV6TYgOTQoBG32MFmRVafDyCuCpXSdYZGhaGoeLrQZFSS7phhekME9a7FKOtrLxVXg++grv/WEqQe31b7hEb33Fi1BEnq6AotLyvyWSki7rZy2fDi60aaklWUp6Lj/FWbfl/Of6xxIvhnbV/irkxd7Zg5b5meQZJdA1MaIoFgg0TwSk97ygxAFHWcvlpnB0V4q0Sd4Th2JZBzQSSBS+77XmtrHoSInxosv7yPV+jFbeWtp53yDlssEpKBnPIb/n4TlTcG9n0NcnuGlkuFCcIeVKrpbcXOVGS3UmdzJMJD0v0UouRL0BVSQZb/YqaddOfqykZwC/OI/MfDUeLtKeRrYCA61UJ+URdUTtIFEvPMPu789g5zQVVUl2lfVnTpebq6v1mhAdmhQC9WucFWVz+9YJljz7PN9mmMKllJJSacO7Lvbw1H14+Y2R3FwWxoKDieS4jeVfX080RbiyXBGK+7f2AAAgAElEQVSfNQxTpCVN54yXRjLxJKvMwc0L+b9lj0Je5O+IKqIr5MW5azBeaSdJuucQag18iiKBQHNEoDiHlFwXfNxbEJ9b7tps0coHl7zb5DSWHzWK3vcmrCPldXf3DGl3XsZ71ARc7xzg8l29ZdyyN13njiTvn09z4Xgixa5PEPj3CZZXalEW+Tp3XFqrSMsxYaDVNIq19AxjFdzkdKoXQV2c+CJZWxOFqmXFSdzUedNV48wpXXn7FpoQ3HRnyDRaf+Z0ubk6ywyIFk0ZgbowiUzLr7tMVJwXs6UXsJPk9Hf2CWHWWwsJNo5BU5jGtWwfQgPcbb9BJe2gqVUl0i+tHPJV7QkND6ePkng3SvisSUrdVfb/5MXUsP60cWpL8PQwujvpGyrhRfrySC/wpt9DmkrZFfGioe+EQDIPHCelsXzJ1ISPKBMI3E8EpB2K65dy6TyoH74uKlQuvvQb1Alt/HVFGx8NwrqS970p60gZxJLbZJ7U4TFhEMUn4qTdJD2ydpLHQ1VMSY7kslR5S/XP4KbkyEvBJX457ojvnFm0aqPGzrkTbabOsdzXWnqGhVCcytH9GfSb0FcKi6HgKU3ip4RUegTOxc/JiRZOoQx95FGyEvaSUbFza06Xm6tTQF80adII2G6cVdxSqunmoZaTy5fwlceLbIyO5cjmBTz0nyh+Mj5PmR/P+jXnGfjxQU7ZGow29yxrVsczdNU+YqPXMaPwMBcrz2KamSgFfNbYO5Pov/6F0wNXsP/Iv4lwO84VAz0lvMjnQranMWHdYU5VBPW1zIuqw5PMC05kQ9QNavG7sUYJRKFAoEkjIMc5mzePeXKss5a+PP6c9P954ym/HFjC3Qt7ib7ty6hZc5gzayQ+t6PZ92NW+ZmnhhK8WetIGeRC8k4eo4B0Mk7epMIu0Z0jYfMlPN7+jqFSqBOf4sPkGM6NmZ0bHdmREVy9NYSHV8cwdP1qfDhB7j2hVKoNYjU9wzhF/PzNRhJD5jLOV+90kuOchV3hT3KsM8eBzJok/T8skp5ll06LSL8yn53pg5g6/jxLx39It/SlbLmSWLH+zOlyc3Vm4RGVDwQCdj0f9msspy8eCEDrXQgpcvS45Zt54fp8wlb8iCJdVu9MCQICgXsR6NO7b3mhnfEhovKi8+fPVukwevRjZZ/37v3u3oFEiUCg0SCgpnfEZlZ2WcP0V78tD0RrLW/mdLm5OmvpiX5NCgFhnDWp6RLMCgSaDgLCOGs6cyU4FQgIBBoXAvV7IcAaWWUXgByctca+coy1WqQ6qnEMUSgQEAgIBJowAkJHNuHJE6wLBJQhoPJwr5qp/E5mjrKe9dXKkHOzvsYX4woEBAICgaaMgNCRTXn2BO8CAUUI1PJCgCPdnl7FXjn1UMUBdj2dsrRKn/BoVVvPNBOGQ7LyWLZeBDBNpX5rlMispE39cml5dOl8w9gV+9lhlM7KcifRQiAgELgXAaEjq2CiRP8paXMv0A1bInRkw+ItqNUyeoU6gPDwjkSFD6Ff/2ruRfnX3NBauBzNpjR5gGamtrjcD0VVksqeZWvJGB/BY161tNcfoKkSojRBBAy3NeUbmxW3NPVymKurL1GFjqw9skJH1h4z0eOBR6B238SqVvg4pXLuek7ldegHHqLmIWBR0i7WxHZi5tiOUhxt8QgEmggCUu7GnatXs3rdbpKqh1IwV1df4gkdWV/I3vdxhY6871PQrBhQZpwZXJDRKwhxC2J5tJEr0oJ70k4TyOyVu4iV3JdHt73DWB8bv/rLdpYimfvCh0Qdl/g4uo2loz316Zvscek8gvmf7JdcpXHs+2wJj/uWBZyRkqJL/eIkHmKj2fz2HN7ccICvjdx4VvNp35rBr23gB0m+I1veZoy3Xj4LuDi0G84bm2IkPqOJfHsR26KVuYRV3qN5c+Nhqd9pDm98oyo9k7hIqd0s0svh3I6zuI8cgKet6bWa1SskhBUI6PWLfERD6Mh7l4PQkfdiIkoEAhYQUGacVXFByjcm+xHYT+/CNOuedCFo4ftMyviIKcNG8eJePyIWD6f1vWGPLLBZrdqlF2M025kzbDATl6UwYv4M/OXE566hvPu3yRSt/y2DB40hYk8XFv55Ej4GY6M4hd0r99J60nScd++BUePxL0vpZgOfzn4MzPk/nho8mldj+7N40RDc5SHN4uLG4D+8yYAzixgzeCKrtIPwd1EAgV1rhi1ZQsgpud8YFp0OYcmSYZV4msIFZfTyEuJIadcfXxlL8QgEBALKERA60jRWQkeaxkbUCARMIKDMODPR2WKx+iHGBd8hcs1+bmSlc3b7Fm51H4G/khQd5gaXI+tHHiVZl8v1gzu5pumBp2xQ5MTw6pSX+PjwDbS6DC5EbeNGh4F0NtAruEXsD8e4lfMzMTGnSHfpSGt5Y80WPvMusWlTLKm5acRt+oLbAaPwN6RwMiWDRG9MnxS2Rh6Tcv+lcWLzVi4ZZ00w2a8bI3sms0Wil5KbSuzGrST3HIGfQT5TuCikV5J7h/yW7jiJnTNTMyDKBQJ1i4AtusccJ6Z0gdCRNX93CB1pbjWJuvuAgI0+RgscqzR4eQXw1K4TLDI0LY3DxdYv/5Jc0rX6BG2FeRRJeSzLh1Th+egrvPeHqQS1L9sSA4ne+oqduiLydAUUlZb/LXFwLO9nC5/F2SRnlSe4LM6+jbblr3G2JJ/KhbZqLb8Y9ZPyplt+HFzwaKmtpJcl0xtSSc8ULgrp2Tt70DI/kzwlvFjmVrQQCAgELCFgi+4xN7YpXSCdKBU6sobvDqEjza0mUXcfEKhf46wom9u3TrDk2ef5NsOUdKWUlNqhqos9PHUfXn5jJDeXhbHgYCI5bmP519cTTRGuLFfEp4lhHDR4ayRrTLKuHDSeOOvS0VpKeFmkJU3nik8rfT83L+QhLD7FWu7ku1TSk/q55N8hVzamzPVXSM+5azBeaSdJKrDIiWggEBAI1AUCinSP0JEOQkfWxWoTYzQhBOrCJDItru4yUXFezJ47kk6uLXD2CWHWWwsJdjbqUpjGtWwfQgPcaxnXoway0g6aWlVCXlYO+ar2hIaH08eYVg1dyoqU8Gmqr1N3wqYH09apDb8Km4LXT/u5YinhpURvz/l2TJs1CC9XLwbMmEZ3Ja5e3TUOxHszbUaQRK8tQdOn4R1/kKt1Qk9D3wmBZB44TorYOTM126JcIFC3CCjRPUJHCh1Zt6tOjNYEELB950y+lWiUbilYuskJhjRLWk4uX8JX//0OG6M/wDX7Ijs++h++Mj5flR/P+jXn+fTjg5yyszE9U+5Z1qyOZ+WqfcywSybmXzu5mNtPwTQo4NPUKLlXiW0Vwc4jPSi9tJ2l82O4K7c1i0sWP/z1PYas+gvfRZdwftsOLmkfqgxPogliRRmOxo8em/f/wqDly9h3REN2/Jf8acEhMiymrrdATyKj6vAk84IT2bD8BpY2/kxBIcoFAg2OgBzL7LnH8dUT9n1unvS/JHav20kCZuoacnfYrC5QoHuEjhQ6ssFfLEHwfiNgFzrokSpf7fc9fdP9RuQ+0Lf3nMhnnwezcuIbxCm5GGAjj/fQk6Jfj1u+mReuzydsxY9Y2oizkbzo3kwQEInPm8lEN4CY9+iseqZ5Dz2hI+sZcTF8dQTq161ZnZr4XImAcz9+97vR+Lm78/CTk2h/LZpr9WkVmaMnZQjY9cpIJgjDTKxQgYBAoLEgYE5n1QeP5ugJHVkfiIsxzSBgu1vTzOBWVVVzAVQdw0a3p1UM1VOnvMvE5D3P2oN/xTXhW95/ZT/pFt2TNvDS0PRsYFV0FQgIBMwgIHSkGXBsqBI60gbwRNe6RsCu58N+9WkS1DW/YjyBgECgiSAg3JpNZKIEmwIBgUCjQ6CWbk1Huj29ir1ympJT1dINlaVVUpaCqAwFC+mNGh1SNTGkRGYlbWoau7GUSWctxq7Yzw6jVFeNhTXBh0Cg8SEgdGSVOVGi/5S0aXwTXcmR0JGNeXaaLG+1c2uqAwgP70hU+BBWnq+W/FxOXzL0kHIg9OlOyoy0b2Yq79fUWtYWFz0eG8bq02Pdb3mlsxZ7lq1l2ucRPLZpLjtu6wM43m++BH2BgIxAldua+luaFTcxVbTq2o8BvwqgS1sn7ItzSUs4z9GYMyTl1ZPDQOjI2q9LoSNrj5no8cAjULudM1UrfJxSOXe9mmH2wMPUvAUsStrFmthOzBzbUYovLh6BQCNCoCCBnatXs3rdbpLyq/HVwpt+DzuRfGIXG/65lrWf7eBEjh+jH+uFW+00n3KBhY5UjtUD1FLoyAdoMhuJKMpUlMEFGb2CELcglksxuM6c1rswLbgn7TSBzF65i1jJFXp02zuM9bHx671sCzySuS98SNRxiY+j21g62lMfIN8el84jmP/Jfom/OPZ9toTHfeXkmdIj94uTeIiNZvPbc3hzwwG+NnLVWc2nfWsGv7aBHyT5jmx5mzHeevks4OLQbjhvbIqR+Iwm8u1FbItW5hJWeY/mzY2HpX6nObzxjar0TOIiJRCwkl45eDmc23EW95ED8DSXiaCRLGrBhkCgDIHCmxz65jDnEtLQFpZQUnCXhNNnyXDvjLuNaugehIWOvAeSigKhI01jI2oEAiYQUGac6V2QgUMWEJct35jsR2A/vdutSl11Ki4ELXyfSRkfMWXYKF7c60fE4uG0rsh1Wb29ws8uvRij2c6cYYOZuCyFEfNn4C8nPncN5d2/TaZo/W8ZPGgMEXu6sPDPk/AxGBTFKexeuZfWk6bjvHsPjBqPf1kKThv4dPZjYM7/8dTg0bwa25/Fi4bgLg9pFhc3Bv/hTQacWcSYwRNZpR2Ev4sC2e1aM2zJEkJOyf3GsOh0CEuWDKvE0xQuWEnPiKW8hDhS2vXHV8ZZPAKBJoqA2rMzbvmSsVbXWTCEjjS9IoSONI2NqBEImEBAmXFmorPFYvVDjAu+Q+Sa/dzISufs9i3c6j4CfyWpiswNnvcTGyOPkqzL5frBnVzT9MBTNhpyYnh1ykt8fPgGWl0GF6K2caPDQDob6BXcIvaHY9zK+ZmYmFOku3SktbyxZgufeZfYtCmW1Nw04jZ9we2AUfg7mWO+nN6YPilsjTxGitTvxOatXFISfFbdjZE9k9ki0UvJTSV241aSe47AzyCfKVwk+ayiZyRGSe4d8lu64yR2zixMrqhurAioPPowakR7bh07x526Ns6sFdoW3WOOpildIHRkzd8dQkeaW02i7j4gUNeb+1VFUGnw8grgqV0nWGSoKY3DxdYv+JJc0rX6g+mFeRRJOTXLh1Th+egrvPeHqQS1L9sSA4ne+oqduiLydAUUlZb/LXFwLO9nC5/F2SRnlWv64uzbaFv+GmdL8qlcaKvW8otRPylvuuXHwQWPltpKelkyvSGV9EzhYi09I47snT1omZ9JnhI+LUsiWggEGhSBlt6/4vEnelMQ92++v55XmSqtQbmogZgtuqeG4SqKTOkC6dSo0JE1fHcIHWluNYm6+4BA/RpnRdncvnWCJc8+z7cZpqQrpaTUDlVd7OGp+/DyGyO5uSyMBQcTyXEby7++nmiKcGW5Ij5NDOOgwVsjWWOSdeWg8cRZl47WUnLKIi1pOld8Wun7uXkhD2HxKdZyJ9+lkp7UzyX/DrmywWSuv7X0jBhy7hqMV9pJkhoyJ6FFQEQDgYAlBOzR+A1l3DAvbh3aTsy1HBrVfWNFukfoSAehIy0tdFH/gCFQFyaRaUh0l4mK82L23JF0cm2Bs08Is95aSLCzUZfCNK5l+xAa4I7NzEg7aGpVCXlZOeSr2hMaHk4fY1qmOFXCp6m+Tt0Jmx5MW6c2/CpsCl4/7eeKpTRMEr0959sxbdYgvFy9GDBjGt2VuHp11zgQ7820GUESvbYETZ+Gd/xBrtYXvQqZNfSdEEjmgeOkiJ0zUytBlDc6BBzxDBzLpKFuXNr1FYcbm2Em46VE9wgdKXRko3u3BEP1jYDtO2fyLaXo5QTrOQ2WbnKCIc2SlpPLl/DVf7/DxugPcM2+yI6P/oevjM9X5cezfs15Pv34IKfsbEzPlHuWNavjWblqHzPskon5104u5vZTgKECPk2NknuV2FYR7DzSg9JL21k6P4a7cluzuGTxw1/fY8iqv/BddAnnt+3gkvahSleLJogVZTgaP3ps3v8Lg5YvY98RDdnxX/KnBYfIsBiyyQI9U7Lpy1UdnmRecCIblt/A0qaghaFEtUCgbhGoEucMfJ+bJ42vj3eGDwMGdkA+Ahoy8TlCKiincGj9V1zUWnxx6oZXs7pAge4ROlLoyLpZiWKUJoSASN/UCCbL3nMin30ezMqJbxCn5GKAjTzXip4U/Xrc8s28cH0+YSIxuo3IN6/uIn1T85rv+pS2VjqrDhipFT2hI+sAcTFEdQRs9iRWH1B8VoiAcz9+97vR+Lm78/CTk2h/LZprltyTCoeusZm19KQMAbteGckEYZjVCKsoFAgIBOoJAWt1lrXsWEtP6EhrERf9zCBgu1vTzOBWVVVzAVQdw0a3p1UM1VOnvMvE5D3P2oN/xTXhW95/ZT/p9ellaWh69QSbGFYg0OwREDqyfpaA0JH1g6sY1SoEhFvTKthEJ4GAQMASAsKtaQkhUS8QEAgIBGpGoJZuTUe6Pb2KvVLqoDOnqqUbkn/NHVaWgqiMFQvpjWpmt5GVKpFZSZtGJladsCOdwxi7Yj87jFJk1cm4YhCBQKNGQOjIKtOjRP8padOo59xK5oSOtBK45tGtdm5NdQDh4R2JCh/CyvPVkp/L6UuGHlKOmj7dSZmR9s1M5f2aWsva4qLHY8NYfXqspiavgV/pHMaeZWuZ9nkEj22ay47bjSq6VFNFVfBdHYEqtzX1tzQrYvGp0HTqTVD/3vh7u+JQnEtawnmOxpwhKa+ezhAIHVl9hix/FjpS6EjLq6TZtajdzpmqFT5OqZy7Xs0wa3awCYGVIFCUtIs1sZ2YObajFJdcPAKBekCgIIGdq1ezet1ukvKrjd/Cm/4BrqSe+oYNn65l7Wc7iM3qyqjHeuFWO82nnHGhI5VjJVoidKRYBKYQUKaiDC7I6BWEuAWxXIrBdea03oVpwT1ppwlk9spdxEqu0KPb3mGsj41f02Vb4JHMfeFDoo5LfBzdxtLRnvoA+fa4dB7B/E/2S/zFse+zJTzuKyfPlB65X5zEQ2w0m9+ew5sbDvC1kcvNaj7tWzP4tQ38IMl3ZMvbjPHWy2cBF4d2w3ljU4zEZzSRby9iW7Qyl7DKezRvbjws9TvN4Y1vVKVnEhcpgYCV9EwtHGXlOZzbcRb3kQPwNJfBQNlgopVAoHYIFN7k+90xXLghZdEoKqGk4C43zp4j070T7nW9HoWOND03QkeaxgahI82A06yrlBlnehdk4JAFxGXLNyb7EdhP73arUlcdSxeCFr7PpIyPmDJsFC/u9SNi8XBaV+S6rN5e4WeXXozRbGfOsMFMXJbCiPkz8JcTn7uG8u7fJlO0/rcMHjSGiD1dWPjnSfgYFHFxCrtX7qX1pOk4794Do8bjX5aC0wY+nf0YmPN/PDV4NK/G9mfxoiG4y0OaxcWNwX94kwFnFjFm8ERWaQfh76JAdrvWDFuyhJBTcr8xLDodwpIlwyrxNIULVtJTwJKlJnkJcaS064+vPD/iEQjcRwTsWmjo0KcPre7e5G5dZ7oQOtL0zAodaRobqUboSLPwNNtKZcaZtfCoH2Jc8B0i1+znRlY6Z7dv4Vb3EfgrSVVkjmbeT2yMPEqyLpfrB3dyTdMDT/nLPyeGV6e8xMeHb6DVZXAhahs3Ogyks4FewS1ifzjGrZyfiYk5RbpLR1rLG2u28Jl3iU2bYknNTSNu0xfcDhiFvxyS3Nwj0RvTJ4WtkcdIkfqd2LyVS0qCz6q7MbJnMlskeim5qcRu3EpyzxH4GeQzhYu19MzJoLCuJPcO+S3dcarrnQqF9EUzgQDyubR585g7eyZP9snnxP4L3G0sRyBt0T3mptaULhA6subvDqEjza0mUXcfELDRx2iBY5UGL68Antp1gkWGpqVxuNj6RV2SS7pWr10L8yiScmqWD6nC89FXeO8PUwlqX7YlBhK99RU7dUXk6QooKi3/W+LgWN7PFj6Ls0nOKv8ZXpx9G23LX+NsST6VC23VWn4x6iflTbf8OLjg0VJbSS9Lpjekkp4pXKylZ5kjiy3snT1omZ9JnhL5LI4mGggErEBAfy7N3tGNDoEjefTRnvy88yey6+lOQK04tEX3mCNkShdIpz+Fjqzhu0PoSHOrSdTdBwTq1zgryub2rRMsefZ5vs0wJV0pJaV2qOpiD0/dh5ffGMnNZWEsOJhIjttY/vX1RFOEK8sV8WliGAcN3hrJGpOsKweNJ866dLSWElAWaUnTueLTSt/PzQt5CItPsZY7+S6V9KR+LvnSeRrZ8DHX31p6Fhmy3MC5azBeaSdJqrhBZ7mPaCEQqA8ESgqyuHHuPHcDutNaJRlnhfVBpZZjKtI9Qkc6CB1Zy4Ulmjd1BOrCJDKNge4yUXFezJ47kk6uLXD2CWHWWwsJdjbqUpjGtWwfQgPcsZkZaQdNrSohLyuHfFV7QsPD6WNMyxSnSvg01depO2HTg2nr1IZfhU3B66f9XLGUhkmit+d8O6bNGoSXqxcDZkyjuxJXr+4aB+K9mTYjSKLXlqDp0/COP8jV+qJnSmbF5Rr6Tggk88BxUsTOmWLURMM6QqCFL0NGDaC7twZHezsc1B506x+Ih/YX9JvWdUTIhmGU6B6hI4WOtGGJia5NEwHbd87kW0rRywnWyx8s3eQEQ5olLSeXL+Gr/36HjdEf4Jp9kR0f/Q9fGZ+vyo9n/ZrzfPrxQU7Z2ZieKfcsa1bHs3LVPmbYJRPzr51czO2nYGYU8GlqlNyrxLaKYOeRHpRe2s7S+THclduaxSWLH/76HkNW/YXvoks4v20Hl7QPUeFl0QSxogxH40ePzft/YdDyZew7oiE7/kv+tOAQGRbdMxbomZLNxnJVhyeZF5zIhuU3sLSZaCMp0b0RIlBQUICj4703QQoKqse8sIH5KnHOwPe5edJghnhntzl72ZuBQyYzvI0au1Idd278h0O7z5LZkGfOzOoCBbpH6EihI214RUTXpomASN/UCObN3nMin30ezMqJbxCn5GKAjTw3CD0p+vW45Zt54fp8wkTSdBtnrGl29/L0pk2bNjioKn8DFhcXk56exu3byVWEGj36sbLPe/d+1zSFFVzXKwINorOMJGgQekJH1uuaaeqD275z1tQRuF/8O/fjd79py3cb41A/OYn21zZyzZJ70hZeG5qelCFg1ysj2WULz6Jvk0YgP1/HrVtJYGdr7JwmDYNg3loEGlpnNTQ9oSOtXRnNol/jM86quQCqzoKNbs/GNKV5l4nJe561B/+Ka8K3vP/KftItuidtEKCh6dnAqugqEBAImEFA6Egz4NhQJXSkDeCJrnWNgHBr1jWiYjyBgECgDAH3VmXhmGvcOcvMrHp9W7g1xaIRCAgEBAKVCNTygqQj3Z5exV4pddCZU9XSDcm/5g4rS0FURt5CeqMmMUlKZFbSpkkIK5gUCAgELCMgdGQVjJToPyVtLAMvWggEHigEaufWVAcQHt6RqPAhrDxfLfm5nL5k6CHl4OjTnZQZad/MVN6vqbWsLS56PDaM1afHamryCn4FAg2JQJXbmoZbmjUwYKchYPx0hvoks3vdThLqK+6e0JE1gG+hSOhICwCJ6uaIQO2MM1UrfJxS+f56NcOsOSInZBYICATuPwL66P9lKZpm9jHBjx3Ofr8muHU2+fUd00XoSBNzIIoFAgKB2iCgzK1pcEFGryDELYjlUgyuM6f1LkwL7kk7TSCzV+4iVnKFHt32DmN9amcP3iNM2RZ4JHNf+JCo4xIfR7exdLSnPkC+PS6dRzD/k/0Sf3Hs+2wJj/vKyTOlR+4XJ/EQG83mt+fw5oYDfB3RC0PsV6v5tG/N4Nc28IMk35EtbzPGWy+fBVwc2g3njU0xEp/RRL69iG3RylzCKu/RvLnxsNTvNIc3vlGVnklcpAQCVtK7B39RIBBoagioOzFokAfXD58mvb6CIQsdaXpVCB1pGhtRIxAwgYAy40zvggwcsoC4bPnGZD8C++ndblXqqlNxIWjh+0zK+Igpw0bx4l4/IhYPp7WtN+tdejFGs505wwYzcVkKI+bPwF+Odekayrt/m0zR+t8yeNAYIvZ0YeGfJ+FjSG1UnMLulXtpPWk6zrv3wKjx+Jel4LSBT2c/Bub8H08NHs2rsf1ZvGgIZcegzeLixuA/vMmAM4sYM3giq7SD8Hepjl0Nn+1aM2zJEkJOyf3GsOh0CEuWDKvE0xQuWEmvBhZEkUCgaSHgiE/wr/G5FUPsrfzKQM91LYTQkaYRFTrSNDaiRiBgAgFlxpmJzhaL1Q8xLvgOkWv2cyMrnbPbt3Cr+wj8laQqMjd43k9sjDxKsi6X6wd3ck3TA0/ZOMuJ4dUpL/Hx4RtodRlciNrGjQ4D6WygV3CL2B+OcSvnZ2JiTpHu0pHW8saaLXzmXWLTplhSc9OI2/QFtwNG4e9kjvlyemP6pLA18hgpUr8Tm7dySUnwWXU3RvZMZotELyU3ldiNW0nuOQI/g3ymcJHks4qeBTFEtUCgsSOg8uzP0G7pHD16A119hqqxFghbdI85mqZ0gdCRNX93CB1pbjWJuvuAgI0+RgscqzR4eQXw1K4TLDI0LY3DxVySbgtDllWX5JKu1edfKcyjSMqpWT6kCs9HX+G9P0wlqH3ZlhhI9NZX7NQVkacroKi0/G+Jg2N5P1v4LM4mWZ+orzj7NtqWv8bZknwqF9qqtfxi1E/Km275cXDBo6W2kl6WTG9IJT1TuFhLzzJHooVAoPEiILnT+g7tgTb2S67mSpbZvZmk7j/vtugec9yb0gUIHVnjd4fQkeZWk6i7DwjUr8F6XPIAACAASURBVHFWlM3tWydY8uzzfFs1rJGRqKWUlNqhqos9PHUfXn5jJDeXhbHgYCI5bmP519cTLcOqiE8Twzho8NZI1phkXTloPHHWpaO1dOi4SEuazhWfVvp+bl7IQ1h8irXcyXeppCf1c8m/Q65s2Jnrby09iwyJBgKBRoyAdDjft60TvsNmMndYJZ++z42v3xubtYFEke4ROtJB6MjarCrR9gFAoC5MItMw6C4TFefF7Lkj6eTaAmefEGa9tZBgZ6MuhWlcy/YhNMAdm5mRdtDUqhLysnLIV7UnNDycPsa0THGqhE9TfZ26EzY9mLZObfhV2BS8ftrPFUtpmCR6e863Y9qsQXi5ejFgxjS6K3H16q5xIN6baTOCJHptCZo+De/4g1ytC3plFy2UXUowBYUoFwg0KgT0NzlXr15N2b91u0nKNxNu434wr0T3CB0pdOT9WJuC5n1FwPadM/lLPXo5wXoxgqWbnGBIs6Tl5PIlfPXf77Ax+gNcsy+y46P/4Svj81X58axfc55PPz7IKTsb0zPlnmXN6nhWrtrHDLtkYv61k4u5/RQArIBPU6PkXiW2VQQ7j/Sg9NJ2ls6P4a7c1iwuWfzw1/cYsuovfBddwvltO7ikfajysLImiBVlOBo/emze/wuDli9j3xEN2fFf8qcFh8iweJbGAj2JjEuPwXgmRtdvfk9TGIpygYC1CFSJcwa+z82TRmpkBphZXaBA9wgdKXSkte+H6NdkERDpmxrB1Nl7TuSzz4NZOfEN4pRcDLCR53voqTow45O/03PNTJYey7FxdNFdIFCOgEjfJFZCXSFwj86qq4FNjHMPPaEjTSAliusLAdt3zuqLswd9XOd+/O43bfluYxzqJyfR/trG+t21Mkev6CabfjvhQUdcyCcQEAg0JQTM6az6kMMcPaEj6wNxMaYZBBqfcVbNBVCVdxvdnmaAaPCqvMvE5D3P2oN/xTXhW95/ZT/pFt2TNnDZ0PRsYFV0FQgIBMwgIHSkGXBsqBI60gbwRNe6RkC4NesaUTGeQEAgUIaAcGuKhSAQEAgIBKxDoJYXJB3p9vQq9kqpg86cqnazr7a3/QzpTuSxDKmgrJOh8fSqLQaNh3PBiUBAIFAnCAgdWScwWjuI8zAeiVxNGyW39K2ioaZXxNccWPEEnrX89ryHnH07xq7Yzw6jNIL3tBEFzRaB2rk11QGEh3ckKnwIK89XS34upy8Zekg5kPp0J2W3Gr+Zqbzfg9RSL/uGsfpUWA+SbEIWgUBDIFDltma1W5rVbnKWs1PPNzmFjmyIWb9vNOy9HidifAZrwveQIsdBbzGK5yatplsZR8eI/HIWFwuN2LP3pXfgcsb59UdDKolX/8gXZ74lU+5bksqeZWuZ9nkEj22ay47b+sDq9006QbgxIVA740wK6ujjlMr316sZZo1JIsGLQEAg0HwQ0McyQzbEZva5V245rtmGnSQU3FtVLyVCR9YLrI1jUBUdx86gc+wKvknSp3Qp3Me6Lf7lRtqTv6nGpgoP/1X8V9sjbI36DTfoz6NDVhDm/xOfXEpENsWKknaxJvY5FoztyK7/l4il+OWNAwfBRUMgoGxj1uCCjF5BiFsQy6UYXBWuSAvuSTtNILNX7iJWcl8e3fYOY31qZw/eA0KZ6zCSuS98SNRxiY+j21g62lMfIN8el84jmP/Jfom/OPZ9toTHfeXkmdIj94uTeIiNZvPbc3hzwwG+NtpOtpZPlfdo3tocI9GLYeProXhUIGqBF9mdK8eH08c0M3btWsvLPViJAoGAQKBhEBA6smacHQPw+8d2unYpz51l1+Vlgj9+DU3ZR3scfIbT9d09DPvqGIP+dzHtvPT6Wq6WXZQbN+MX/gFB6+OkNnvpO7kvKjkdn2MnPJ//lIFbTzBsWxS9Jz9SXl7GhTOuT35AiFwn5S3uHupZVmoTPbm7QzsGjnTn9I5zZOtHNPvHzpdeXdoRf+YfXMnLpSAvhkNnDuHWZTStK1IK5nBux1ncRw7A01yWF7OEROWDiIAy40zvggwcsoC4bPnGZD8C++ldcVXqqkPkQtDC95mU8RFTho3ixb1+RCwebrQwq7dX+NmlF2M025kzbDATl6UwYv4M/OWX3TWUd/82maL1v2XwoDFE7OnCwj9Pwsew6ItT2L1yL60nTcd59x4YNR7/shSc1vLpztBFiwmKe41RgyeyKmcgfoazDuZ4MYen1bwoxE40Ewg0JwRa+DL6N/OYN28ez4dPYUxwZzTKtF7tUDL3TjdnHSntbKbHO+ER6IWUpA91YCgO8YfQyjuZzqH0XDSJ0h2ziQl7ggs/dMYvYiJq4/lR++Pd7Ueuvj6c6OcWc7fHZDROajQzP8K/0xEuvjSEw8++TLJqAM76dMo4BdDO5UvOPjOUuHUptH0mDClBjQ309EvBsQP926UQl6AwGKWDLx3UyVzPyq1YS4XZx8lSB/L/2zsTsCivc/H/gBFmgEEEWQQXFNS4Bo0LkorGJW6xVo0hizFtYmJ6YwxJ2sb0Jtfbpje9t0mj0X9TNKlt41JMNIkRk9Q9SlwAFde4CwYIsg2yDAMM8D8fzOCILMMAOsD5nocH+M75znnf3znfmXfO8r6eFoZYcXICmT7DCbTH2K9Newtk7hYk0BrD1E3x1H2ZMTKX9at3cy0/hxNbNpHebwIh1oQqakjJ4rNsXH+IDIOeq3u3cUXbH1+lYxfG8crDL/DB/msUGXScjt3Mte5h9DLXV5pO/HeHSS/8gbi4Y+S49aCL8tLaKqcmmIkDr/PJvxLI1mcRL77lXTC/t43JUp9+tspSX3nyviTQUQkoS55rovlQ/ESv/ogN24+RJ2ZqfvqTAPuJgd5a77u9jJHoKTx4AefRw+mk8qLzaG8KD12oWtJDH8eZl14kOfEHykt1FOzbQrH/aDRmI0vJU3KZlOh16DIKqdAdJeXtZeiM/egWVkbamo/JyyqmsiiZ7E1ryDeHsSv5nrQvD1NSokd/OBa9W3+clXHe1vrMtpWTBk8XA7oiK/eGOahxcSzFUC58JDmFMnXcUgJF/Bijo9Zilk9sPdPnUuLiiUbOnHXUkapOvZu5xlhnmTdvqrT4+Q3kZ9sTec18tzIBt+Z2wgo9OeYXpKxYdPZOpmVNFb7jX+Lt38xjRDfTGy7qW1czhWyk2FCKsbL6d4WTc/Vztsrp5Ia3SxEZIui5cpXnX1fin5uuxmSph52tstRTnLwtCUgCgoB45/U5V0jY40qP2YPwOZROmuXG7bsFqbXed3sZIwVX48Vd6P2n0Nm/CB//a2ReNC8KqnAe9SIDFj6Mp495vE4ktWa8Fg+X60Ss5Fo7sVQeuKjzyNXVs0OrokgsIZoMKKMw3hxVYtZOuWysz9w3yovJK1Hj5SbmNAqsMNAqDZRUOKN2ErWXJfHNt0k4aOahqigQn0E3O5yjqxcuJXkU13x23K3OKOu1JwKta5wZC7iensjrTz3L17r61K6kolJMeLfEHJ56CIt/O5HUdyJ5eW8KhR7T+ccXs+ur+OZ9q+SsoxhjEdkGV/y0wtoUVpmThx/Kn1WXlbIo7+gtqtsqSx3iyVuSgCRQi0BlhYhha/npf5cJWfW+t+ExUsF7I4ns3MX4T5qFe+4eLt4wWSYug+m9aCLFf3uc00dSKHefRuhfrIhUYsynxOCJWxcV2YX1GGh1Naut9ZnLKk3leJYfI4I0fJpRVFcNt94rTyPV4E9vrSvHDNX5O2lH4WFIIs/CEHPtPRK/7KOk3alDK41LLnPYAYGWMInqV8NwkdgEP54RL2BPsejvGjCK+W+8ykhLHzRl2VwpCCB8oOetRkr9pdafImbQ1KoK8U2rkBJVN8IXLGCINf5urJGzrloNl9l91o95kcPx1nRl5KOR9NOYMlojS3khOaX+DOurvam7rbLUJZ+8Jwl0ZAJiv9lPJowk2MeNTo6OOGsDGPKTEbilnSPbHmbNlLax5n1vy2OkomPFdfKOGvCaNYbyxAQxm2TqlA5ixUNVTkWhWLJU+Yv0J/GwZstL6QV+POJM4ML5dPZW4+DaE+95Cxt/1tb6zO9QeRaHdusYNmuocIthxVWZxtnkLPqHLiJYo6GTJpyIe8eTn7wTXc3MmZahs0LJ23OETDlzZgXUjpOl+cZZzSmluk4eFnF0+et87vVLNh6I52DMy/T9PpazlvspS86zbvUpwj7Yy7HmOqPVn2B19HkiVu0i/sBaHivbz7mbezEbaFUr5Kzz6TwO/On/OB62gt0HvyTK4wiXzPVZI4uyL2RLNrPW7udYjVNfW2WpU0B5UxJo3wQUFxpis//zT08l0CWQqU8rm/9nUnU4sCyLcxmuDJnyOM889xxPPzKeoKIjbBd7UkvuJJUOPUYqoMsoPnqYUnLQHU0VM5emy3CS5JgLeL35byI2fERA+X4KzfvGGmwfAwXro7icPpYB0XFErIsmgET0jTWqzfWZhTHyw1cbSRm1iBmBpkUnxc9Z5CX+oPg6cw5j/hzxd+R67qk6dGok59IStuWMYd7MUyyb+R59cpax6VK1Gw0lh6r7Qzw/MoUNsdekG40G27zjJcrwTR2vzaXGksAdISDDN90RzLKSO0pAzeCoGFYGrebRV76udkRra/0iQsCM5TE8d3UJkSvOYJVdamtd8rk2R0AaZ22uyaTAkkDbICCNs7bRTlJKSUASsD8CrXsgwBZ9lSUAxTlrnc8qPtZkqKM60cibkoAk0DEIyDGyY7Sz1LJDE7A/48wcc7NDN4tUXhKQBCSBegjIMbIeMPK2JNB+CDTxQIAzfR5fxU4l9FDNBnYTjKqwSh8y3t1KOOZNskpZzT0IYGWVdputqezsVhEpmCTQ0QnIMbJN9gAlVNT6aLytOd1vk4JqBkV9wZ4V0/Bt4qfubdWJvWrTV+xmq0X4wdvyyBttnkDTZs7UA1mwoAexC8ay8lSt4OfKt7mIfdYDMX/7UwyTr56w/jmZszpOqGC2Ybpc4pXdoYMTUE5rKic1qzCIIOdrawc5FzFue4QSPnowQV1dcSrJ5tyhPXx3LlecIWyFS46RrQC17Rfp6DeVqJk6Vi/YUX2IQDnlqZzwrFLtMOs/m885yw7pGMjg0OXMCB4u3HZkkXL593ya9DV5ihuSiix2vLOGRz6OYsq/FrH1uhUOcds+wg6nQdNseFVnAjRZnLxayzDrcNikwpKAJGAXBJQQTdEiPNPab0irw5WCc7cx/HRiD/KPbWfDR2v426ffkeM3AB+L+NotqoccI1sUZ/soTEWP6Y/RK34NX6WZnJmV7WLtphDe+Ox5rtzmfFaFV8gqfto1ni2xQ/l97K9J6foWkSG9avxhGtO2szq+J09M7yHiHsirPRKwzjir8dOzglEeI1h+wGIpspHlSQdtKM+s3E68WL48tPl3TA9oZleqWgJcz6Ln3iP2iJDj0GaWTfY1hW8S35J7TWDJh7vFUmkCu/75OlMDTaOw8lyCkCH+ADFvLuQ/N+zhC4tp4RaXs5HeovKfzBsxcULOODb+OhyvmpZoRAdlGVg5MKEdwQrLdhD13WkdGlFRJksCd5mAK0Ej+pAft5MjV3LQGysoK/yRU99+R3pLT5vJMbJl29p5IMF/3ULvKod1YmwLWszID36FtupfR5xEjNTeb+1g3OeHGfO/S/Hxs7C2lSVKEec4eMG7jFiXIPLsZOjcodXxLJ174vvsR4R9ksi4zbEMnnuvRZxLV9wfepdRSlrMJ/QL9zXp1Iz6lBKcfAib6MnxrScxB64yFVz3L4dABgX5cD7pr1wq1otQVHHsS9qHR9BkutQEtyjk5NYTeE4cjW9zwyHWLYW8e5cJWGecmZYgQ8e+TEKBcmJyGKHDTEtqt6TV1saNEa/+kTm693l43CR+uTOYqKUPWHSw2vmt/N9tEA9qt7Bw3P3MfieTCUseI0R5ad3DeevPczGu+wX3j3mQqB1BvPo/cwgwd97yTL5ZuZMucx7F9ZsdMGkmIVUh3VpJznrV8STitaWMSPgVk+6fzarCMILNex0a0qGhdrjjOtSrnEyQBOyDgMqTHp0N5HYewyNVzmkX8vhDo+np2grhmxp6N+UY2fT+IGZEc85r8Ar1E8G2VKhDw3E6v48iZZbJNZx7XptD5dZniIucxunvehEcNRu15aeZOgT/Pme4/OsHOPD0Um70n4tWo0b7xPuE9DzIuRfGsv+pxWSoRuNqDrSuGYiP22eceDKChLWZdH0yEhHYphn1mdR27s5wn0wSki29rzeAxCmQ7uoMrubf9KBeVnCEfHUonhaGWHFyApk+wwmstl8bKFAmtUUC1hlntmqm7suMkbmsX72ba/k5nNiyifR+EwixJkRHQ3UqnvXXHyLDoOfq3m1c0fbHV+mghXG88vALfCA8gBcZdJyO3cy17mH0MtdXmk78d4dJL/yBuLhj5Lj1oIvy8rWWnPXpoAlm4sDrfPKvBLL1WcSLb3kXzO9tYzrUV+ad1qE+OeR9ScBeCIgQahqNN709Utm98UPWrN3M4Ru9mTAhhNawz2xSu7Xe27Y+RqKn8OAFnEcPp5PKi86jvSk8dIGq3VX6OM689CLJiT9QXqqjYN8Wiv1HozEbWUqeksukRK9DlyFCQ+mOkvL2MnTGfnQLKyNtzcfkZYmA6EXJZG9aQ77Z+2vJ96R9eZiSEj36w7Ho3frjrHw+2Fqf2bZy0uDpYkBXZOXeMAc1Lo6lGMpFLAWnUKaOWyr2VN7A6Ki1mOUTW8/0uZS4eKKRM2c2vXr2/lAz1xgbUU+lxc9vID/bnshr5qyVCbg1tzNV6Mkxd/SyYtFpRYy2qvJV+I5/ibd/M48R3UxvqqhvXc0XZSPFhlKMldW/K5ycq59rLTnrw+PkhrdLERkiWLpyledfV+Kmm67GdKin0DutQz1iyNuSgN0QqCyntOQ6x+MvkGNQggblceXoce6d1wcv1UX0Lb20aYvirfXetvUxUrA0XtyF3n8Knf2L8PG/RuZF86KgCudRLzJg4cN4+pjH+URSLSdEy3UixnKtoOgqD1zUeeTq6gmWXlEklhBNBpRRGG+OKjFrp1w21mfuD+XF5JWo8XITcyEFVhholQYRf9QZtZOovSyJb75NwkEzD1VFgfjsutnJHF29cCnJo1jG5LTlzbP7Z1rXODMWcD09kdefepavdfWxqKSiUkxct8QcnnoIi387kdR3Inl5bwqFHtP5xxez66v45n2r5Gy8GKtzGIvINrjipxUmpbDKnDz8UP6suqzUQXlHb0F2p3WwWlmZURK4SwTKC8kurPVh6NAKS5rNUc+q97YDjpEK0xtJZOcuxn/SLNxz93DxhskycRlM70UTKf7b45w+kkK5+zRC/zKr8VYw5lNi8MSti0r0i3oMtLpKsbU+c1mlqRzP8mNEkIZPM4rqquHWe+VppBr86a115ZihOn8n7Sg8DEnkWRhirr1H4pd9lLTbDhQ0XoXMYf8EWsIkql9Lw0ViE/x4RrxIPcXivWvAKOa/8SojLX3JlGVzpSCA8IGetxob9Zdaf4qYQVOrKsQ3pkJKVN0IX7CAIdb4rbFGzvprbXqK4TK7z/oxL3I43pqujHw0kn4aUzHW6CA+dHJK/RnWV3uT2Z3WoelayyckgTtLoCKfq8kq7h3dD2+1E47OnvQZHkrnnCvkNuGzuVWFtua97YhjpAK94jp5Rw14zRpDeWKCmE0ytYSDWClRlVNRKJYsVf4i/Uk8rNkqU3qBH484E7hwPp291Ti49sR73sLGn7W1PnPHKc/i0G4dw2YNFW4xrLgq0zibnEX/0EUEazR00oQTce948pN3oquZOdMydFYoeXuOkClnzqyA2vayNN84qzmlVNcJwiKOLn+dz71+ycYD8RyMeZm+38dy1nJfZMl51q0+RdgHeznWXGe0+hOsjj5PxKpdxB9Yy2Nl+zl3c09lA61jhZwNPN30pDwO/On/OB62gt0HvyTK4wiXzHJao4Oyn2RLNrPW7udYjTPgO61D07WWT0gCLU5A8XP2vNjsr/g6cwlkatXG/5lUH/KrQHdiF8eMA5mx4Fmee/phxnS+yp49l9BbLA+1uEy1C5RjZG0iVv5fRvHRw5SSg+5oKjVNZjhJcswFvN78NxEbPiKgfD+FVkUNN1CwPorL6WMZEB1HxLpoAkhEX4cLllsEtLk+cylGfvhqIymjFjEj0LRYpfg5i7zEHxRfZ85hzJ8j/o5czz1Vh06N5FxawracMcybeYplM9+jT84yNl1Kqd5zJ3Kouj/E8yNT2BB7TeSWV3skIAOft8dWlTpJAnZAQAY+t4NGkCLYCQE1g6NiWBm0mkdf+braEa2tkokIATOWx/Dc1SVErjiDVXaprXXJ5+4aAWmc3TX0smJJoH0TkMZZ+25fqZ0kIAm0HoHWPRBgi9zKEoDiZLXOZxUfazJkUZ1o5E1JQBLoGATkGNkx2llq2aEJ2J9xZo652aGbRSovCUgCkkA9BOQYWQ8YeVsSaD8EmnggwJk+j69ipxJCqGYjuglGVVilDxnvbiUc8yZZpazmHgSwskqZTRKQBCSB1iUgx8jW5dtI6UropvXReFtzSr+RoupOVjMo6gv2rJiGbxM/PW8rT+wdm75iN1stwgjelkfe6LAEmjZzph7IggU9iF0wlpWnagU/V77NReyzHqT5259ipH31hPXP2VlOh27zue+DKBE8SbmKKD7+KZf/XzQ51pzVdwwk8J01aNfO5dwZua3TzppWitMWCCinNZWTmlWypvHN2m0km/0+3ZJmoUzZFWI/3kFqazihlWNkW+g1Nsvo6DeVqJk6Vi/YUb2pXzl1qZy4rCrxMOs/m885y34lxvjBocuZETxcuNHIIuXy7/k06WvyFLcgFVnsEOP/Ix9HMeVfi9h63QoHtTZLLh9sawSaZpypOhOgyeLbq7UMs7amdQvK69QrjE5n3+Tgmzso9+iD9yN/pH9UMon/HUtpY++aSw86e2WRmyG9CLZgk8iiOhIBEYNxW3Q0KIbYE0Nu1dycVnO3E/5jH2Fi5QkyWsMwU+qRY2Q77n0qekx/jF7xK/gqzeRcrGwXazeFgGKkPfTzWrqr8ApZxU+7HuST2J9zjeGMH7uCyJCzfHih2i2GMW07q+Of5uXpPdj+9xTpFqMd956mqmbdxGyNn54VjPIYwfIDFkuRjSxPOmhDeWblduLF8uWhzb9jekDT7MHbFKpaPl3PoufeI/aIkOPQZpZN9jWFb3LErdcElny4WyyVJrDrn68zNbDKcYwIii6eSxAyxB8g5s2F/OeGPXxhMZ1sm5xqXIf1ouzEOYwVwili3kWyPv0nxT3G4+bsSKdBTzFw+Q7Gfp5IxN//TkiYb7UsqhCCohMZt/H/4eM5mP4fxTNO5Bk+xa9GXaeg2fT70w4ixP2xH/yJQOFdWl6SgCRgOwEH1yDu61PMyZNZLf8hKMfIuhvGeSDBf91C72rHczgELWbkB79CWxWs2xGngAfo/dYOMf4dZsz/LsXHzzReK8nKEqWIOxy84F1GrEsQeXYydO7Q6viSzj3xffYjwj4R4+jmWAbPvdci7qQr7g+9yyglLeYT+oWbxt3m1KfI4+RD2ERPjm89iTmQVN1Km+46BDIoyIfzSX/lUrFehIaKY1/SPjyCJtOlJlBFISe3nsBz4mh8mxvWsEFhZGJbI2CdcWZaggwd+zIJBcqJyWGEDjOdmrwlrbb6box49Y/M0b3Pw+Mm8cudwUQtfcCiY9bOb+X/boN4ULuFhePuZ/Y7mUxY8hghysvuHs5bf56Lcd0vuH/Mg0TtCOLV/5lDgLnTl2fyzcqddJnzKK7f7IBJMwmpCs1mo5ziZfXo60jhmYybDhIryqpjsnUS3qdDy7m+/FG+m/cTjrwvXsBfLMJDqc94ieTnRxD31n5Kz/2OQ3NG8O3sERz79/UqAA4+P2Pgm2Kp9+slHHpsMse/cqPnkkfQNNOutZKuzCYJtEMCjngOHIZ3+lEu5Dc2pW2D+nKMrBuamL3MOa/BK9RPxKlUoQ4Nx+n8PoqUxQLXcO55bQ6VW58hLnIap7/rRXDUbNSWn0rqEPz7nOHyrx/gwNNLudF/LlqNGu0T7xPS8yDnXhjL/qcWk6EajaspzCaagfi4fcaJJyNIWJtJ1ycjEQFqmlGfSTXn7gz3ySQh2dKLet1qV911CqS7OoOr+Tc9oZcVHCFfHYqnhSFWnJxAps9wAqsMVnlJAtUErDPObKWl7suMkbmsX72ba/k5nNiyifR+EwixJtRGQ3UqHvLXHyLDoOfq3m1c0fbHV+nYhXG88vALfLD/GkUGHadjN3Otexi9zPWVphP/3WHSC38gLu4YOW496KK8tLbK6dqXLl1SyU29+bI6ePWnU2EypYZkMjasJ+daLhVGEcj2QiIGJ2+LGKIi1NSAHpRfvHRLMFthYeL5xCJcdi3l4t5zlAk9Cr/dSrH3CDTy5W2oV8g0SaB+As4BDB/gyPljqTTmEL7+QlohxdaxpzFR7GWMRE/hwQs4jx5OJ5UXnUd7U3joQrWne30cZ156keTEHygv1VGwbwvF/qPRmI0sRceSy6REr0OXIUI16Y6S8vYydMZ+dAsrI23Nx+RliQDlRclkb1pDvnnbbsn3pH15mJISPfrDsejd+uOsjPO21me2rZw0eLoY0BVZadw7qHFxLMVQLmIbOIUyddxSsTfyBkZHrcUsn9h6ps+lxMUTjZw5a6xXd6j01p2LUWnx8xvIz7Yn8poZa2UCbs3thBV6cswvSFmx6Owi1lpV+Sp8x7/E27+Zx4hupjdc1LeuZgrZSLGhVBhD1b8rnJyrn7NRTseAMbjeOEJBTSxbFS5DRuF0dRWGzmMJWvgfdLuvL85mylnrSa6JteGG6z2eFG9PrwnJUaWCSwi+w3xw84gh4hGLvli8gworxwSLp+SfkoAkIOZs3EPuo3vecTbn2lkgQhvHnkYb1U7GSEVOQNG3vgAAIABJREFU48Vd6P2n0Nm/CB//a2ReNC8KqnAe9SIDFj6Mp495vE4k1TI2fblOxEquFaBI5YGLOo9cXT2BiyqKxBKiabA0CuPNUSV6gHLZWJ8ZdnkxeSVqvNzEnEaBFYNxpfhSXuGM2knUXpbEN98m4aCZh6qi4JYv5I6uXriU5FFsZ12z0T4mM7QqgdY1zowFXE9P5PWnnuVrXX16VFJRKSa8W2IOTz2Exb+dSOo7kby8N4VCj+n844vZ9VV8875VctYuRhhi9wyCy9spMY8R6nsImOqJbnU+Ab/9M9r9b3BMLGeWFFfiMu3v3DcyCYN5I7KYIu/cNZf81BrLrroCJ3ecHZI4+9RCsvJr1yn/lwQkgSYTcOrKkHu1pHx7haI7GVPTGkGtGnva6hhpAnAjiezcxfhPmoV77h4u3jA1gstgei+aSPHfHuf0kRTK3acR+pdZjVMz5lNi8MSti4rswnoMtLpKsbU+c1mlqRzP8mOE2P/7aUatcbuu+srTSDX401vryjFDdf5O2lF4GJLIszDEXHuPxC/7KGnyXFhdFDvsvZYwieqHZ7hIbIIfz4gXsKdY9HcNGMX8N15lpKUPmrJsrhQEED7QU2zXbOYlZtDUqgrxTauQElU3whcsYIg1/m6skfM20dxwC/Wm+Jg4daNyxblXBD1//Q6+V5Zz9VJnPHyKKTx/mbJKT9zHim+HTw2k7GwyNe+kSkxjezhS6VTLPi79kfy8ILqNH0InMeXm5BOK3xO/opv5YMNtcsgbkoAk0BABdc/h9C07Q1KrHdFsqPZG0qwZe9rsGGnSveI6eUcNeM0aQ3ligphNMt13ECseKnGQqlAsWar8RfqTeFiz5aX0Aj8ecSZw4Xw6e6txcBX7e+ctbPxZW+szN2F5Fod26xg2a6hwi2HFVZnG2eQs+ocuIlijoZMmnIh7x5OfvBNdzZcELUNnhZK35wiZcubMCqgdJ0uz7aGqU5CKI1kl5JJ2BCssT3IKv19Hl7/O516/ZOOBeA7GvEzf72M5a7mfsuQ861afIuyDvRxrrjNa/QlWR58nYtUu4g+s5bGy/Zy7uRezgVa1Qs7aTzv3wqu3N11+tZNxn+5n9H//Bx5X/4/jK3ZRWnSSlC/S8fvDLsauX0/IkEIKM7OFsZZ58+CA4TwZhx3otSJOnEKKY1Botac0jFdIXfUPjA/+P8I3Heb+/3uJzjnfkPVja539r62Y/F8SaEMEFBcazz/P84qvM5dApj4t/n5+JqbDgeJAYGf6D/cj69i5at9Sd0O1jjpG1rAuo/joYUrJQXc01WIMPElyzAW83vw3ERs+IqB8P4VWuXs0ULA+isvpYxkQHUfEumgCSETf2GZCg631mRUx8sNXG0kZtYgZgaYv1YoLjchL/EHxdeYcxvw54u/I9dxTdejUSM6lJWzLGcO8madYNvM9+uQsY9OlajcaSg5V94d4fmQKG2KvtfwJ4rvR12WdLUZABj5vMZSyIElAErAkIAOfy/7Q/gioGRwVw8qg1Tz6ytfVjmhtVVJECJixPIbnri4hcsUZrLJLba1LPtfmCEjjrM01mRRYEmgbBKRx1jbaSUopCUgC9kegdQ8E2KKvsgSgLJHW+aziY83kX63OdHlTEpAEJIF2TkCOke28gaV6koByttjeLnPMTXuTS8ojCUgCkoA9EJBjpD20gpRBEmhVAk08EOBMn8dXsVM5AHDsQ8a7W8hWFVap1r2GRDdvklXKau5BgIbqkWmSgCQgCdwxAnKMvGOo66pICfm0Phpva07p1/V8o/fUDIr6gj0rpuHbxE/P24oWe86mr9jNVoswgrflkTc6LIGmzZypB7JgQQ9iF4xl5alawc+Vb3MR+6wHaf72pxhpX4lQRW3xUk7qKKd0qmQvRJezl8TTfyIu48ebLjMcenH/g7uZxtu8t2MtuSrLZ2orfZj1X/6D8J+ay7RMF2mfzeecPLRZG5r8vyMTUE5rKic1qxik8c3abSRb+ItSefZjzLhR9O/mLpYJjBT8eJ6Ebw9xIa8J/rGawleOkU2h1ebyOvpNJWqmjtULdlQfBrjlM6COMdoxkMGhy5kRPFy438gi5fLv+TTp6+qTwxVZ7HhnDY98HMWUfy1i63UrHNu2OWJSYFsJNM04U3UmQJPFt1drGWa21t4enisVL2TsAi7hj69/JFNG/wvPw7P48vqNqiPjDi7DuMe9QkQBmERPl7+Ta9jF2k0h1ZorL/ZDP+dgrIXRJe6FV5UpDbH20D2kDq1MQMRu3BYdDYqR9sSQWytz7ELolPvpenknm75KF4593Ai4dxKTHwwla3Miutb4LJRjZCs3+N0sXkWP6Y/RK34FX6WZnJKVmcZz01h+q3QqvEJW8dOuB/kk9udcYzjjx64gMuQsH16odqdhTNvO6vineXl6D7b/PUW607ibzWtndVs3MVvjp2cFozxGsNzSl1kjy5MO2lCeWbmdeLF8eWjz75ge0DR78DZeVcun61n03HvEHhFLooc2s2yyryl8kyNuvSaw5MPdYqk0gV3/fJ2pZuetynMJQob4A8S8uZD/3LCHLyymk5snZwXGsnTSf1jBpsTz9B80Ga0pBIlLlyn45K/hQH4fBnWxXAe+TTN5QxKQBFqSgJMWX3Uup06nUlAmviCVFZB6+hS5Gl+0zQ0hV1tOOUbWJlL9v/NAgv+6hd4mx3MOQYsZ+cGv0FbFCXbEKeABer+1Q/h6PMyY/12Kj1+Vg7DqS1mi3BhD8IJ3GbEuQeTZydC5Q6vjUjr3xPfZjwj7JJFxm2MZPPdei3iVrrg/9C6jlLSYT+gX7msqsBn1KSU4+RA20ZPjW09iDkB1U9g6/nIIZFCQD+eT/sqlYr0IKRXHvqR9eARNpktNiKpCTm49gefE0fi2dJ+sQyR5q+0QsM44My1Bho59mYQC5cTkMEKHmU5N3pJWW3E3Rrz6R+bo3ufhcZP45c5gopY+YNExa+e38n+3QTyo3cLCcfcz+51MJix5jBDlZXcP560/z8W47hfcP+ZBonYE8er/zCHA3OnLM/lm5U66zHkU1292wKSZhFSFdGspOSspzt1Hvtv9eFfVqcY3cBD69K85nZ4nvPz3xWLosVJZmU0SkARsImDM4XKWG4MGBqLt5IhjJy2BgwbhnnWJnJZe1ZRjZN1NJGY2c85r8Ar1E/EtVahDw3E6v48iZenZNZx7XptD5dZniIucxunvehEcNRu15aeSOgT/Pme4/OsHOPD0Um70n4tWo0b7xPuE9DzIuRfGsv+pxWSoRuNqDpiuGYiP22eceDKChLWZdH0yEhGgphn1mVQTIfeG+2SSkGzpRb1utavuOgXSXZ3B1fybntDLCo6Qrw7F08IQK05OINNnOIFVBqu8JIFqAtYZZ7bSUvdlxshc1q/ezbX8HE5s2UR6vwmEWBOio6E6i8+ycf0hMgx6ru7dxhVtf3yVjl0YxysPv8AH+69RZNBxOnYz17qH0ctcX2k68d8dJr3wB+LijpHj1oMuykvbgnJWikC9ZU5dRHxMUa5jT/r6VJKccZnsjAQqfSLwsoZ4jadpxdu0+cfsdbohMDJNEpAEaghUFnFxfwJFg2fyxDPP8dwzTzBzcDEJ+y/ZT4zNFhx7bml5uxkj9RQevIDz6OF0UnnRebQ3hYcuiG0e4tLHcealF0lO/IHyUh0F+7ZQ7D8ajdnIUvKUXCYleh26DBHiSXeUlLeXoTP2o1tYGWlrPiYvSwQ2L0ome9Ma8s1eXEu+J+3Lw5SU6NEfjkXv1h9nZZy3tT6zbeWkwdPFgK7IyvVwBzUujqUYysUGF6dQpo5bKvZG3sDoqLWY5YMKfS4lLiKcn5w5k4OXBYFmrjE2wlKlxc9vID/bnshr5qyVCbg1txNW6MkxvyBlxaKzixhtVeWr8B3/Em//Zh4jupnecFHfupopZCPFhlKMldW/K5ycq59rQTkdnDzpVJ5HqXgfHdWj6Od8hl1i1ChjJz86v0yQehXX9Y0EUZN7zhrpWDJZErCCgIOWARPDcBch4zacUPacuRN470QemDiAH7edocDKz1grarI9SwuOPbcIYUdjpPHiLvT+U+jsX4SP/zUyL5oXBVU4jxJxhxc+jKePebxOJLVmvBYaiS+7xfm1pjlVHrio88jV1TP9WVEklhBNjWsUxpujSszaKZeN9ZnBlheTV6LGy018w7am81QaRBxRZ9ROovayJL75NgkHzTxUFQXiM+hmazm6euFSkkdxIx8Ltncy+WRbJNC6xpmxgOvpibz+1LN8rasPTyUVlWLC25oZpfqKMN9XD2HxbyeS+k4kL+9NodBjOv/4YnZjT4kQaNbI2XgxSg6N13g8inaTI140tfcU/NVjeErEW6u+jLh4d+aI+KYkL0lAEmhlAqouBHXJ5/S/xZ6zqhOc+fxw6hQ3BvWji5OdGGdWjT1tfIy8kUR27mL8J83CPXcPF2+YLBOXwfReNJHivz3O6SMplLtPI/QvsxrvFMZ8SgyeuHVRkV1Yj4FWVym21mcuqzSV41l+jAjS8GlGUV013HqvPI1Ugz+9ta4cM1Tn76QdhYchiTwLQ8y190j8so+SZnHKuPHCZY72TqAlTKL6GRkuEpvgxzPiBewpFv1dA0Yx/41XGWnpg6YsmysFAYQP9BTbQ5t5iRk0tapCfNMqpETVjfAFCxhijb8ba+RsUDQHnDp1I6D7Szxy3z1cOLODgkp3unUP5vrxB/gvcTrzjU39+fPx8/h2H4DlrH2DxcpESUASsJ1AeSGZBi+GDOles+es+5AheBmyKLSXWQprxp62PkZWXCfvqAGvWWMoT0wQs0mmJnUQKx6qcioKxZKlyl+kP4mHNVteSi/w4xFnAhfOp7O3GgfXnnjPW9j4s7bWZ+6B5Vkc2q1j2Kyhwi2GFVdlGmeTs+gfuohgjYZOmnAi7h1PfvJOdDUzZ1qGzgolb88RMu2lT1qhmszS+gSaP3OmnFKyCLc0UpzkBHOYpSKOLn+dz//rd2w88C7uBefY+v5/87nlfsqS86xbfYqPPtjLMYdmhmfSn2B19HlWrtrFYw4ZxP1jG+f0w6ygaIWc9ZVStT/sokgtIk/xc5bwGAcUNxpOQxngVcjF769X768Qns/yM/dj6DuRrk7fYT6JXWexpj1nt6bV4UOnzoflTUmgAxG4xc8ZBD79vFDe7O8sl+P/PoTruPE8ep+72MJQTmHGBQ79+zi5d3JJs6OPkWJTR/HRw5TOewDd0dQqF0NVl+EkyTEXGPzmvwkU43XO57EUGkKt6LwGCtZHcfkXbzIgerHY15VJbsxv+b5EPKpp4HGb6zOXaeSHrzaSMn8RMwITiEkTs3a3+DmDPlWrJOax2kjOpSVsc1/OvJn/IRbVs7l2aRmbLlW70VBKVXV/iOdHprBh+TXpRqOBpuuISTLweUdsdamzJHAHCMjA53cAsqziDhNQMzgqhpVBq3n0la+rHdHaKoGIEDBjeQzPXV1C5IozmM8z2FqcfK59EZDGWftqT6mNJGA3BKRxZjdNIQWRBCSBNkag+cuaLa1wrSWAW4tv5rJnS8sqy5MEJAFJ4E4TkGPknSYu65ME7jgB+zPOzDE37zgKWaEkIAlIAm2AgBwj20AjSRElgeYRaOIBSWf6PL6KnSIUU9KxDxlvGY2oKqxSrXsNyWYOd6KUdbwJzzVUpkyTBCQBSeCuEpBj5F3F31DlSjio9dF4W3OCv6Fy6k1TMyjqC/asmIZvEz9ZbytS7EebvmI3Wy1CDN6WR95o1wSaNnOmHsiCBT2IXTCWladqBT9Xvs1F7LMelvnbn2KkffWE9c+1lZy3nOIpRKec5Dz9J+IyfhRnxkyXQy/uf3A303ib93asJVclAqHPiaZPnTqKE0Bf/oPwn9aVLk9y1olM3mz/BG45rWk+pXlTbUe3Xoya8BMGBwqv7MIxa8b3h9hz8CL5reW2QI6R7b/P1aOho99UombqWL1gR/VBgVs+A+oYox0DGRy6nBnBw4VrjixSLv+eT5O+Jk85SVyRxY531vDIx1FM+dcitl6/k8eL61FQ3r6jBJpmnKk6E6DJ4turtQyzOypyG6qsytP/Ai7hj69/JFNG/wvPw7P4UnG1IdRwcBnGPe4iIDOT6Onyd3INu1grfKJVXcqL/dDPORg7n3NlJp3FvXAZPaANdQApaqsTKE1mW3Q0KEbaE0Nurc7BjZAJE+idv58t/75KvmMXQsInM2loFl8czzO5uGlhCeUY2cJA20pxKnpMf4xe8Sv4yuwnqcw0npvG8ls1UeEVsoqfdj3IJ7E/5xrDGT92BZEhZ/nwQrWrDWPadlbHP83L03uw/e8p0tVGW+kKLSSndZOv5iXIAysY5TGC5cKXWc1SZCPLkw7aUJ5ZuZ14sXx5aPPvmB7QNHvwNj2rlk/Xs+i594g9IuQ4tJllk31N4Zscces1gSUf7hbyJbDrn68zNdAUalx5LkHIEH+AmDcX8p8b9vCFxZRxi8tZI3gFxrJ00n9YwabE8/QfNBmtKTyJS5cp+OSv4UB+HwZ1sVwjvk1reUMSkASaSkBECOjjlcfxxMvoSisoN+Rw4cgJynv3wcO6kc/6GuUYaT0rc07ngQT/dQu9g6ojfjsELWbkB79CW/WvI04BD9D7rR2M+/wwY/53KT5+prFcSVaWKDfGELzgXUasSxB5djJ07tDqmJXOPfF99iPCPklk3OZYBs+91yKWpSvuD73LKCUt5hP6hfuapGlGfUoJTj6ETfTk+NaTmINTmdWs87dDIIOCfDif9FcuFetFuKk49iXtwyNoMl1qwlcVcnLrCTwnjsa3uSEP6xRC3rRnAtYNUaYlyNCxL5NQoJyYHEbosGfZVyhUuyWttqpujHj1j8zRvc/D4ybxy53BRC19wKLz1c5v5f9ug3hQu4WF4+5n9juZTFjyGCHKC+0ezlt/notx3S+4f8yDRO0I4tX/mUOAuWOXZ/LNyp10mfMort/sgEkzCaly199Kct6iTiXFufvId7sf7yp51PgGDkKf/jWn0/PoFtgXi6HHShAymyQgCTREQJmhrrSIY6jkdXLvintLf9jJMbKhZqg7Tcx65pzX4BXqJ2JfqlCHhuN0fh9FShgj13DueW0OlVufIS5yGqe/60Vw1GzUlp9Y6hD8+5zh8q8f4MDTS7nRfy5ajRrtE+8T0vMg514Yy/6nFpOhGo2rOSyLZiA+bp9x4skIEtZm0vXJSETwmmbUZ1LNuTvDfTJJSLb0sF632lV3nQLprs7gar45qroIv1lwhHx1KJ4WfbM4OYFMn+EEVtuvDRQok9obAeuMM1u1Vvdlxshc1q/ezbX8HE5s2UR6vwmEWBOio6E6i8+ycf0hMgx6ru7dxhVtf3yVzlsYxysPv8AH+69RZNBxOnYz17qH0ctcX2k68d8dJr3wB+LijpHj1oMuyovZWnLW0qFSBPEtc+qCs/LNyLEnfX0qSc64THZGApU+EXhZ0xqm6AF/iLzEzZ/13CMtu4Z6jEzriASMuVzJ6cyw4b3p7CxmRtTe9Bs1DF8XETbIMrj23WTTWmNPmxgj9RQevIDz6OF0UnnRebQ3hYcuVC836+M489KLJCf+QHmpjoJ9Wyj2H43GMvZdyWVSotehyxDhn3RHSXl7GTpjP7qFlZG25mPyskTQ86JksjetId/s4bXke9K+PExJiR794Vj0bv1xVsZOW+sz21ZOGjxdDOiKrNwb5qAWkQ1KMZSLbw5OoUwdt5RAbmB0FHsjLfpmhYjDXOLiiaalv0zczT4v67aKQDPXGBupQ6XFz28gP9ueyGvmrJUJuDW3o4mNvTnml6CsWHRoMdhWla/Cd/xLvP2beYzoZnqLRX3rajq7kWJDKcbK6t8VTs7Vz7WWnLXwODh50qk8j1LxPjqqR9HP+Qy7xKhRxk5+dH6ZIPUqrusb2aks95w10ulksiRgIlCp5/LevXiLAwHznp6CqiyXSyfEbE2xhjIrP0NbnWVrjT1tZIw0XtyF3n8Knf2L8PG/RuZF86KgCudRLzJg4cN4+pjH8kRSLY1q8WW3OL9W4HOVBy7qPHJ19QRErygSS4imxjcK481RJWbtlMvG+swdpLyYvBI1Xm7iG3aBFZ2r0iBijDqjVr4llCXxzbdJOGjmiUMrBeLz6Wavc3T1wqUkj+JGPhZavZ/KCu44gdY1zowFXE9P5PWnnuVrXX26VVJRKSa1rZk1qq8I8331EBb/diKp70Ty8t4UCj2m848vZjf2FFglZ+PFNJZD4zUej6Ld5IgXTe09BX/1GJ6qisWmXEZcvDtzRHxTkpckIAm0DIGKohQObxM/puJcQ2Yw98ZF8ur57G6ZWptQilVjTzseI28kkZ27GP9Js3DP3cPFGybLxGUwvRdNpPhvj3P6SArl7tMI/cusxsEa8ykxeOLWRUV2YRMa2db6zBKVpnI8y48RQRo+zShqXM7yNFIN/vTWunLMUJ2/k3YUHoYk8iwMMdfeI/HLPkqastQrrw5FoCVMovqBGS4Sm+DHM+Il6ykW9l0DRjH/jVcZaelnpiybKwUBhA/0FFtAm3mJGTS1qkJ8myqkRNWN8AULGGKNTxtr5LRZNAecOnUjoPtLPHLfPVw4s4OCSne6dQ/m+vEH+C9xOvONTf358/Hz+HYfgOWsvc1VygclAUlAnHgW40rEYPzdVDiqNHj3Hs3kn3hwNTGZmzt97jIoa8ae9jxGVlwn76gBr1ljKE9MELNJpvZwEKshqnIqCsWSpcpfpD+JhzXbYUov8OMRZwIXzqeztxoH1554z1vY+LO21mfuPuVZHNqtY9isocIthhVXZRpnk7PoH7qIYI2GTppwIu4dT37yTnQ1M2dahs4KJW/PETLlzJkVUNtXlubPnCmnlA4sZ6SJy0hxkhPMYZaKOLr8dT7/r9+x8cC7uBecY+v7/83nlnsmS86zbvUpPvpgL8ccmhmeSX+C1dHnWblqF485ZBD3j22c0w+zosWskNOKUm7LUrU/7KK4XUSe4ucs4TEOKG40nIYywKuQi99fNx3nLyc/cz+GvhPp6vQd5pPYt5Wn3DDtObs1rQ4fOnU+LG9KAu2MwC1+ziDw6eeFgmZ/Z1mcz76HiY/+BK9O5eizUziz+0uO/3iHpyHkGNlApyuj+OhhSuc9gO5oapWLoarLcJLkmAsMfvPfBIqxPOfzWAoNoQ2UU/MgBeujuPyLNxkQvVjs68okN+a3fF8i0jUNPG5zfeYyjfzw1UZS5i9iRmACMWli1u4WP2fQp2qVxDxWG8m5tIRt7suZN/M/cCeba5eWselStRsNpVRV94d4fmQKG5Zfk240Gmi69pokA5+315aVekkCd5mADHx+lxtAVn+HCagZHBXDyqDVPPrK19WOaG2VQEQImLE8hueuLiFyxRnM5xlsLU4+1/YISOOs7bWZlFgSaBMEpHHWJppJCikJSAJ2SKD5y5otrVStJYBbi2/msmdTZbUnWZoqu8wvCUgC7ZOAPY1L9iRL+2xtqVUHJSBnzjpow0u1JYHWJiBnzlqbsCxfEpAE2iuBJh6QdKbP46vYKUIxJR37kPGWEYeUb1D7a91riJqSXymn6qcJzzVUpj2nNZWPPesiZZMEJIF6CMgxsh4wd/+2EvJpfTTe1pzgt0laNYOivmDPimn4NvGT9bbqxJ6z6St2s9UixOBteeSNdk2gacua6oEsWNCD2AVjWXmqVvBzJXxJxD7rYZnCnaAYLV89Yf1zHSWnicuG6aYwWR1Fb6mnJNAkAio69x7G6PsGEtRVg2O5nuzkUxyKSyKtWPH2rCV4zETuH+SPq3CgkXEmjt2HrljlJ7RJYpgzyzHSJmzt4SFHv6lEzdSxesGO6sMAt5zWrONEvWMgg0OXMyN4uHC/kUXK5d/zadLX5CnuRCqy2PHOGh75OIop/1rE1utWOLZtDxClDjUEmmbfqzoToMni5NVahpkEKglIApLA3SDQyZ9hAzRkJG5nw9/WsOafW0ksDGbylEEiuLkjHoMnM7bbj+zZ8BEfbdjDj90imDTIo/k+FevTVY6R9ZFp5/dV9Jj+GL3i1/CV2RdS2S7WKn4sP3ueK7d5b1HhFbKKn3aNZ0vsUH4f+2tSur5FZEivmr5pTNvO6viePDG9h4hfIK+ORsA648y8BHlgBaM8RrBc+DKrWYpsZHnSQRvKMyu3Ey+WLw9t/h3TA5rZzaqWB9ez6Ln3iD0i5Di0mWWTfU3hmxxx6zWBJR/uFvIlsOufrzM10BR0UnkuQcgQf4CYNxfyn2Kg/sJiyrjF5RQ9SeU/mTdi4oQscWz8dbhF7MxG5FSWehXfcdoRrLBkLcpsDTk7WqeX+rYjAmWp7PtqPyeTsykSMZkqSm+QfPwEOs9eeHbS0qefK9cOHiO1yIixKJVjB6/h1r83WutGPutByTHSelbmnM4DCf7rFnoHVUf1dghazMgPfoW26l8RCzXgAXq/tYNxnx9mzP8uxcfPIoCwskS5MYbgBe8yYl2CyLOToXOHVseldO6J77MfEfZJIuM2xzJ47r0W8SpdcX/oXUYpaTGf0C/c1yRNM+pTSnDyIWyiJ8e3nsQcgKpBIA6BDAry4XzSX7lUrBchpeLYl7QPj6DJdKkJUVXIya0n8Jw4Gt/mhjxsUBiZaI8ErBuiTEuQoWNfJqFAOTE5jNBhpuW2W9Jqq+jGiFf/yBzd+zw8bhK/3BlM1NIHLDpf7fxW/u82iAe1W1g47n5mv5PJhCWPEaK80O7hvPXnuRjX/YL7xzxI1I4gXv2fOQSYO3Z5Jt+s3EmXOY/i+s0OmDSTkCqX/K0hpycRry1lRMKvmHT/bFYVhhFs3uvQkJwNsW4VOa1kLrNJAm2EgNq3Fx4lwlhzcMfXtYi0vLIayctupFOk8cO9pT/sGnpv5RhZd88pFXFOz2vwCvUT8S1VqEPDcTq/jyJllsk1nHtem0Pl1meIi5zxU9K+AAAUbklEQVTG6e96ERw1G7XlJ5Y6BP8+Z7j86wc48PRSbvSfi1ajRvvE+4T0PMi5F8ay/6nFZKhG42oOvaIZiI/bZ5x4MoKEtZl0fTISEbymGfWZVHPuznCfTBKSLT2s16121V2nQLqrM7iafzNWRVnBEfLVoXha9M3i5AQyfYYTWG2/NlCgTGpvBKwzzmzVWt2XGSNzWb96N9fyczixZRPp/SYQYk0YjobqLD7LxvWHyDDoubp3G1e0/fFVOm9hHK88/AIf7L9GkUHH6djNXOseRi9zfaXpxH93mPTCH4iLO0aOWw+6KC9ma8ipCWbiwOt88q8EsvVZxItveRfM721jctane2vIWV9d8r4k0AYJqLyGMGlCN9IPnyS3QgSzdiynVAmxqPJlzIwx+FJCuZOzxUzKXVaytd7ptjBGij2AhQcv4Dx6OJ1UXnQe7U3hoQvVUVP0cZx56UWSE3+gvFRHwb4tFPuPRmMZ367kMinR69BliBBPuqOkvL0MnbEf3cLKSFvzMXlZIrB5UTLZm9aQb/biWvI9aV8epqREj/5wLHq3/jgrnwG21me2rZw0eLoY0BVZuTfMQS2iF5RiKBf7Ip1CmTpuKYHcwCj2SKosgrtXiFjLJS6eaFr6y8Rd7vay+sYJNHONsZEKVFr8/Abys+2JvGbOWpmAW3M7WoWeHPNLUFYsOrSIw1ZVvgrf8S/x9m/mMaKb6S0W9a2r6exGig2lGCurf1eIQbrqudaQ08kNb5ciMgqqg6KV51/H9KcVctbDtTXkrKcqeVsSaGsEXPzvY+q0wZQmfMm3V8UHcycjpRVOOCujnD6TQ9szxST5PTiVK2OAnWjXWu90WxgjRRMYL+5C7z+Fzv5F+PhfI/OieVFQGNajXmTAwofx9DGP5YmkWhgulOtEHOVawc1VHrio88jV1RP0vKJILCGaDCij6COOKjFrp1w21mfuRuXF5JWo8XIT8x0FVhholQYRR9QZtZOovSyJb75NwkEzD1VFwS1909HVC5eSPIplbE07eWHvnBita5wZC7iensjrTz3L17r6lKqkolJMarfEHJ56CIt/O5HUdyJ5eW8KhR7T+ccXs+ur+OZ9q+RsvJhbchiLyDa44qcV5p+wypw8/FD+rLqslFP5/LgFS2vI2US1ZHZJwP4IOKINjmDGOD/SxQxL3BUxk6IIWV5Ipt6NAM9OnNdXL2126hyAW/F1Cu3lw86qd7qdjpFKG91IIjt3Mf6TZuGeu4eLN0xWs8tgei+aSPHfHuf0kRTK3acR+pdZjXc9Yz4lBk/cuqjILqzHQKurFFvrM5dVmsrxLD9GBGn4NKOorhpuvVeeRqrBn95aV44ZqvN30o7Cw5BEnkXfdO09Er/so6TddqCg8SpkjrZNoCVMovoJGC4Sm+DHM+Il6ykW9l0DRjH/jVcZaelnpiybKwUBhA/0bP4JKjGDplZViG9ThZSouhG+YAFDrPFpY42c9WtZd4rhMrvP+jEvcjjemq6MfDSSfubAu9bIKT5YckrFSbS+2ptcWkPOuqWXdyWBNkLAGd/Q6cyJ8ODC9s/ZbzbMFOnFLMTVC3p6jRlGoJsKlVsgw8b0pOj8VasmN+4IAGve6fY6Rla10XXyjhrwmjWG8sQEMZtkou4gVkNU5VQUCkNb5S/Sn8TDmu0wpRf48YgzgQvn09lbjYNrT7znLWz8WVvrM3eS8iwO7dYxbNZQ4RbDiqsyjbPJWfQPXUSwRkMnTTgR944nP3knuppZXS1DZ4WSt+cImfbyZcIK1WSWliHQfOOs5pRSXacLizi6/HU+9/olGw/EczDmZfp+H8tZyz2TJedZt/oUYR/s5VhzndHqT7A6+jwRq3YRf2Atj5Xt59zN/ZYNELNCzgaerjspjwN/+j+Oh61g98EvifI4wiWzLNbIqewZ2ZLNrLX7OVbj8Lc15KxbenlXEmgTBJwDGB3WXexFCmDU7Kd5/vnnTT9zuMetkhund3LgeiCT5i9k4fyJBFw/wK4z+dUza3dKQTlGNkC6jOKjhyklB93RVGrsEsNJkmMu4PXmv4kQblACyvdTaFX0bwMF66O4nD6WAdFxRKyLJoBE9CUNiKAk2VyfuVwjP3y1kZRRi5gRaFqQUvycRV7iD3Oi6eMcxvw54u/I9dxTdejUSM6lJWzLGcO8madYNvM9+uQsY9OllJq+qer+EM+PTGFD7DWRW14djYAM39TRWlzqKwncIQIyfNMdAi2rsRMCagZHxbAyaDWPvvJ1tSNaWyUTEQJmLI/huatLiFxxBqvsUlvrks/ZJQFpnNlls0ihJIG2T0AaZ22/DaUGkoAkcHcItO6BAFt0UpYAFAesdT6r+Fi7g+GM7EmWOnnIm5KAJNDhCNjTuGRPsnS4jiAVbs8E5MxZe25dqZskcBcJyJmzuwhfVi0JSAJtmkATDwQ40+fxVexUwgvVbFI36a98g9r/IePdreRh3iSrlNXcgwBWVnlXszWVz10VVlYuCUgCthGQY6Rt3O7AU0rIp/XReFtzgt8mcdQMivqCPSum4dvET9bbqhN7zqav2M1WixCDt+WRN9o1gaYta6oHsmBBD2IXjGXlqVrBz5UQJRH7rIdlCmmCYrR89YT1z7XnnHKJoD23rtStVQio6Nx7GKPvG0hQVw2O5Xqyk09xKC6JtPJezHx6qvC8rlxpfLN2G8mt7S9KjpGt0sptoVBHv6lEzdSxesGO6sMAymlN5aRmlfCHWf/ZfM7djCQmnFgGMjh0OTOChwv3G1mkXP49nyZ9TZ7iTqQiix3vrOGRj6OY8q9FbL1uhWPbtgBJymg1gaYZZ6rOBGiyhPftWoaZ1dXJjA0SMBusSiaT0bph+h3cY9egcDJRErBDAp2EL8ABGjISt/NdWi7FDlp63jeZyVPK+OzL02yLjgbnIGY+MeTOCC/HyDvD2e5qUdFj+mP0il/BV2kmp2Rlu1i7KQQUI+2hn9eSWIVXyCp+2vUgn8T+nGsMZ/zYFUSGnOXDC9XuNIxp21kd/zQvT+/B9r+nSHcadtfmrSuQdZOv5iXIAysY5TGC5QcsliIbWZ500IbyzMrtxIvly0Obf8f0gKbZg7epX7U8uJ5Fz71H7BEhx6HNLJvsawrf5Ihbrwks+XC3WCpNYNc/X2dqYJVTmWpjJ0HIEH+AmDcX8p8b9vCFxZRxi8spqlT5T+aNmDghSxwbfx2OVw3tBuS8TeFbb7SGnI1UKZMlAfslUJbKvq/2czJZBDovq6Ci9AbJx0+g8+yFZzOHmiYpLcfIJuGqyuw8kOC/bqF3UHVUb4egxYz84Fdoq/51xCngAXq/tYNxnx9mzP8uxcfPNJYrycoSpYhXHLzgXUasSxB5djJ07tDquJTOPfF99iPCPklk3OZYBs+91yJepSvuD73LKCUt5hP6hfua5G5GfUoJTj6ETfTk+NaTmANQmQqu+5dDIIOCfDif9FcuFetFSKk49iXtwyNoMl1qQlQVcnLrCTwnjsa3uSEP65ZC3rVjAtYZZ6YZndCxL5NQoJyYHEboMNOMzi1ptTV1Y8Srf2SO7n0eHjeJX+4MJmrpAxadr3Z+K/93G8SD2i0sHHc/s9/JZMKSxwhRXmj3cN7681yM637B/WMeJGpHEK/+zxwCzB27PJNvVu6ky5xHcf1mB0yaSUhV2LbWkNOTiNeWMiLhV0y6fzarCsMINu91aEzOejG0hpz1ViYTJIE2SUDt2wuPEmGs3Umv6nKMbHpfKU0m57wGr1A/Ed9ShTo0HKfz+yhSlp5dw7nntTlUbn2GuMhpnP6uF8FRs1FbfmKpQ/Dvc4bLv36AA08v5Ub/uWg1arRPvE9Iz4Oce2Es+59aTIZqNK7mgOmagfi4fcaJJyNIWJtJ1ycjEcFrmlGfSW3n7gz3ySQh2dLDegNInALprs7gav5NL+llBUfIV4fiaWGIFScnkOkznMBq+7WBAmVSeyNgnXFmq9bqvswYmcv61bu5lp/DiS2bSO83gRBrwnA0VKfiPX/9ITIMeq7u3cYVbX98lc5bGMcrD7/AB/uvUWTQcTp2M9e6h9HLXF9pOvHfHSa98Afi4o6R49aDLsqL2RpyaoKZOPA6n/wrgWx9FvHiW94F83vbmJz16d4actZXl7wvCbRBAiqvIUya0I30wyfJvZPGma2sWuudbgtjJHoKD17AefRwOqm86Dzam8JDF6o95OvjOPPSiyQn/kB5qY4CETO12H+0iARhAbrkMinR69BliBBPuqOkvL0MnbEf3cLKSFvzMXlZIrB5UTLZm9aQb/biWvI9aV8epqREj/5wLHq3/jgrnwG21me2rZw0eLoY0BVZuTfMQY2LYymGchETwSmUqeOWir2RNzA6ai1m+cTWM30uJS6eaOTMma1vWJt9rnUn/lVa/PwG8rPtibxmRlSZgFtzO1qFnhzzS1BWLDq0iMNWVb4K3/Ev8fZv5jGim+ktFvWtq5kmNlJsKMVYWf27wsm5+rnWkNPJDW+XIjJE0HPlKs+/rsQ/N12NyWnOV+t3a8hZT1XytiTQ1gi4+N/H1GmDKU34UuyLFR/MbUGB1nqn28IYKdrHeHEXev8pdPYvwsf/GpkXzYuCKpxHvciAhQ/j6WMeyxNJrRnLxcPlOhFHuVZgI5UHLuo8cnX1BDyqKBJLiCYDyij6iKNKzNopl431mftYeTF5JWq83MR8R4EVBlqlQcQRdUbtJGovS+Kbb5Nw0MxDJeLBGi06rqOrFy4leRS3hS8abeF9a0Mytq5xZizgenoirz/1LF/r6qNSSUWlmNRuiTk89RAW/3Yiqe9E8vLeFAo9pvOPL2bXV/HN+1bJ2Xgxt+QwFpFtcMVPK8xGYZU5efih/Fl12ZOcTVRLZpcE7I+AI9rgCGaM8yNdzLDEWQY/tz9hb5XIqrGnnY6RCokbSWTnLsZ/0izcc/dw8YbJMnEZTO9FEyn+2+OcPpJCufs0Qv8yq/HWNOZTYvDErYuK7MJ6DLS6SrG1PnNZpakcz/JjRJCGTzOK6qrh1nvlaaQa/OmtdeWYoTp/J+0oPAxJ5FkYYq69R+KXfZS01j5l3LjEMscdJtASJlH9IhsuEpvgxzPiJespFvZdA0Yx/41XGWnpZ6YsmysFAYQP9BRbQJt5iRk0tapCfJsqpETVjfAFCxhijU8ba+RsqmiGy+w+68e8yOF4a7oy8tFI+mlMhdiTnE3VS+aXBOyKgDO+odOZE+HBhe2fs78tGWYKR2vGnvY6Rir6V1wn76gBr1ljKE9MELNJps7lIFZDVOVUFIolS5W/SH8SD2u2w5Re4McjzgQunE9nbzUOrj3xnrew8Wdtrc/8LpRncWi3jmGzhgq3GFZclWmcTc6if+gigjUaOmnCibh3PPnJO9HVzJxpGTorlLw9R8iUM2dWQG1fWZptD1W5fFAcySohl7QjWGF5kpMiji5/nc+9fsnGA/EcjHmZvt/HctZyz2TJedatPkXYB3s51lxntPoTrI4+T8SqXcQfWMtjZfs5d3O/ZQMtZ4WcDTxdd1IeB/70fxwPW8Hug18S5XGES2ZZ7ErOuqWXdyWBNkHAOYDRYd3FXqQARs1+mueff970M4d7PIULDeV/xdeZSyBTn1bSZmI6HHjn1JNjZAOsyyg+ephSctAdTb25FG04SXLMBbze/DcRGz4ioHw/hVZF/zZQsD6Ky+ljGRAdR8S6aAJIRF/SgAhKks31mcs18sNXG0kZtYgZgaYFKcWFRuQl/qD4OnMOY/4c8Xfkeu6pOnRqJOfSErbljGHezFMsm/kefXKWselStRsNJYeq+0M8PzKFDbHXpBuNRpqvPSbL8E3tsVWlTpKAHRCQ4ZvsoBGkCHeQgJrBUTGsDFrNo698Xe2I1tbaRYSAGctjeO7qEiJXnMEqu9TWuuRzdklAGmd22SxSKEmg7ROQxlnbb0OpgSQgCdwdAq17IMAWnewphJE9yWILS/mMJCAJtD8C9jQu2ZMs7a+lpUYdmICcOevAjS9VlwRak4CcOWtNurJsSUASaM8Emn8goD3TkbpJApKAJCAJSAKSgCRwhwnY37LmHQYgq5MEJIG2TEBF597DGH3fQIK6anAs15OdfIpDcUmkFTs1kNYmXNS25YaRsksCkkAzCEjjrBnw5KOSgCRwlwl08mfYAA0Zidv5Li2XYgctPe+bzOQpZXz2dV79aV+eJt8KR+53WTtZvSQgCXRQAtI466ANL9WWBNoFgbJU9n2VaqHKDZKPn0D3aD88K0/Xn6YSxpn0ut4uuoBUQhJojwTknrP22KpSJ0mgAxNQ+/bCoySbojq8qjeU1oGRSdUlAUnAzghI48zOGkSKIwlIArYTUHkNYdKEbqQfPkluLeOsoTTba5RPSgKSgCTQ8gTksmbLM5UlSgKSwF0g4OJ/H1OnDaY04Uu+vVp8MxSQkKWhtLsgqqxSEpAEJIEGCUjjrEE8MlESkATsn4Aj2uAIZozzI33fFuJuCX7eUJr9ayYllAQkgY5JQBpnHbPdpdaSQDsh4Ixv6INMG+bIqe2fc+y65S7/htLaifpSDUlAEmiXBKRx1i6bVSolCXQQAs4BjA7rjkaoO2r204yqUTuTfTHH6Ftf2rrPOVckfZ11kF4i1ZQE2hwBaZy1uSaTAksCkkANgdJktkVH1wvkXANp9T4kEyQBSUASuMsE5GnNu9wAsnpJQBKQBCQBSUASkAQsCUjjTPYHSUASkAQkAUlAEpAE7IiANM7sqDGkKJKAJCAJSAKSgCQgCUjjTPYBSUASkAQkAUlAEpAE7IiANM7sqDGkKJKAJCAJSAKSgCQgCUjjTPYBSUASkAQkAUlAEpAE7IiANM7sqDGkKJKAJCAJSAKSgCQgCUjjTPYBSUASkAQkAUlAEpAE7IiANM7sqDGkKJKAJCAJSAKSgCQgCUjjTPYBSUASkAQkAUlAEpAE7IiANM7sqDGkKJKAJCAJSAKSgCQgCUjjTPYBSUASkAQkAUlAEpAE7IjA/wf6aTwSInBeRgAAAABJRU5ErkJggg==&quot; width=&quot;320&quot; /&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/4770574391879800096/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/4770574391879800096' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/4770574391879800096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/4770574391879800096'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2018/10/unix-notes-sed-command.html' title='Unix notes - sed command'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-8518882949504855175</id><published>2018-02-03T12:45:00.005-08:00</published><updated>2018-02-03T12:55:35.551-08:00</updated><title type='text'>Replace patterns in a file</title><content type='html'>&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# February 3th, 2018&lt;br /&gt;# Create a table copy in the same database&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;shPid=$$&lt;br /&gt;&lt;br /&gt;inputSqlFile=statement.sql&lt;br /&gt;tmp=&quot;.sql.${shPid}&quot;&lt;br /&gt;newInputSqlFile=statement_$shPid.sql &lt;br /&gt;&lt;br /&gt;pattern=&quot;alter table&quot;&lt;br /&gt;&lt;br /&gt;target_tableName=&quot;tmp.people_copy&quot;&lt;br /&gt;source_tableName=&quot;tb01.people&quot;&lt;br /&gt;input_tablespace=&quot;ss&quot;&lt;br /&gt;tablespaceName=&quot;in $input_tablespace&quot;&lt;br /&gt;&lt;br /&gt;if [ -z &quot;$input_tablespace&quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tablespaceName=&quot;&quot;&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;rTarget_table=&quot;target_table&quot;&lt;br /&gt;rSourve_table=&quot;source_table&quot;&lt;br /&gt;rTablespace=&quot;in_tablespace&quot;&lt;br /&gt;&lt;br /&gt;echo &quot;$inputSqlFile&quot;&lt;br /&gt;&lt;br /&gt;sed &quot;/$pattern/Q&quot; $inputSqlFile &amp;gt; $tmp&lt;br /&gt;cp $inputSqlFile $tmp&lt;br /&gt;&lt;br /&gt;sed &quot;s/${rTarget_table}/${target_tableName}/&quot; $tmp &amp;gt; $newInputSqlFile&lt;br /&gt;sed &quot;s/${rSourve_table}/${source_tableName}/&quot; $newInputSqlFile &amp;gt; $tmp&lt;br /&gt;sed &quot;s/${rTablespace}/${tablespaceName}/&quot; $tmp &amp;gt; $newInputSqlFile&lt;br /&gt;&lt;br /&gt;cat $newInputSqlFile&lt;br /&gt;rm $tmp&lt;br /&gt;rm $newInputSqlFile&lt;br /&gt;&lt;target_table&gt;&lt;source_table&gt;&lt;in_tablespace&gt;&lt;/in_tablespace&gt;&lt;/source_table&gt;&lt;/target_table&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;--------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;statement.sql&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;--------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;-- Copy a table in the same database&lt;br /&gt;&lt;br /&gt;drop table target_table;&lt;br /&gt;&lt;br /&gt;create table target_table like source_table in_tablespace;&lt;br /&gt;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;alter table target_table ...;&lt;br /&gt;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;insert into target_table ... from source_table;&lt;br /&gt;&lt;br /&gt;commit;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;target_table&gt;&lt;source_table&gt;&lt;in_tablespace&gt;&lt;target_table&gt;&lt;target_table&gt;&lt;source_table&gt;&lt;target_table&gt;&lt;source_table&gt;&lt;in_tablespace&gt;&lt;target_table&gt;&lt;target_table&gt;&lt;source_table&gt;&lt;target_table&gt;&lt;target_table&gt;&lt;source_table&gt;&lt;in_tablespace&gt;&lt;target_table&gt;&lt;target_table&gt;&lt;source_table&gt;&lt;br /&gt;&lt;target_table&gt;&lt;target_table&gt;&lt;source_table&gt;&lt;in_tablespace&gt;&lt;target_table&gt;&lt;target_table&gt;&lt;source_table&gt;&lt;/source_table&gt;&lt;/target_table&gt;&lt;/target_table&gt;&lt;/in_tablespace&gt;&lt;/source_table&gt;&lt;/target_table&gt;&lt;/target_table&gt;&lt;/source_table&gt;&lt;/target_table&gt;&lt;/target_table&gt;&lt;/in_tablespace&gt;&lt;/source_table&gt;&lt;/target_table&gt;&lt;/target_table&gt;&lt;/source_table&gt;&lt;/target_table&gt;&lt;/target_table&gt;&lt;/in_tablespace&gt;&lt;/source_table&gt;&lt;/target_table&gt;&lt;/source_table&gt;&lt;/target_table&gt;&lt;/target_table&gt;&lt;/in_tablespace&gt;&lt;/source_table&gt;&lt;/target_table&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/8518882949504855175/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/8518882949504855175' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/8518882949504855175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/8518882949504855175'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2018/02/replace-patterns-in-file.html' title='Replace patterns in a file'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-7245187692130742919</id><published>2018-02-03T11:34:00.000-08:00</published><updated>2018-02-03T11:34:48.306-08:00</updated><title type='text'>Sed: Extract a file&#39;s part with sed command</title><content type='html'>&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;# February 3rd, 2018&lt;br /&gt;&lt;br /&gt;export Me=$(basename $0 .sh)&lt;br /&gt;export fecha_actual=`date &quot;+%Y-%m-%d_%H%M%S&quot;`&lt;br /&gt;&lt;br /&gt;inputFile=notas.txt&lt;br /&gt;&lt;br /&gt;pattern=&quot;find&quot; # cut the file here&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;echo &quot;$inputFile&quot;&lt;br /&gt;&lt;br /&gt;# q: show the file until the pattern, including it.&lt;br /&gt;# Q: show the file until the pattern, NOT including it.&lt;br /&gt;sed &quot;/$pattern/Q&quot; $inputFile&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/7245187692130742919/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/7245187692130742919' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7245187692130742919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7245187692130742919'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2018/02/sed-extract-files-part-with-sed-command.html' title='Sed: Extract a file&#39;s part with sed command'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-7736838652188674591</id><published>2017-09-07T23:18:00.002-07:00</published><updated>2017-09-07T23:18:36.482-07:00</updated><title type='text'>WordCount</title><content type='html'>&lt;br /&gt;
Count word using Hadoop&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;package com.ciocomit.count;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.util.StringTokenizer;&lt;br /&gt;&lt;br /&gt;import org.apache.hadoop.conf.Configuration;&lt;br /&gt;import org.apache.hadoop.fs.Path;&lt;br /&gt;import org.apache.hadoop.io.IntWritable;&lt;br /&gt;import org.apache.hadoop.io.LongWritable;&lt;br /&gt;import org.apache.hadoop.io.Text;&lt;br /&gt;import org.apache.hadoop.mapreduce.Job;&lt;br /&gt;import org.apache.hadoop.mapreduce.Mapper;&lt;br /&gt;import org.apache.hadoop.mapreduce.Reducer;&lt;br /&gt;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;&lt;br /&gt;import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;&lt;br /&gt;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;&lt;br /&gt;import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;&lt;br /&gt;&lt;br /&gt;public class WordCount {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static class Map extends Mapper&lt;longwritable intwritable=&quot;&quot; text=&quot;&quot;&gt; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; String line = value.toString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; StringTokenizer tokenizer = new StringTokenizer(line);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while (tokenizer.hasMoreTokens()) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; value.set(tokenizer.nextToken());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; context.write(value, new IntWritable(1));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }// class&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static class Reduce extends Reducer&lt;text intwritable=&quot;&quot; text=&quot;&quot;&gt; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void reduce(Text key, Iterable&lt;intwritable&gt; values, Context context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; throws IOException, InterruptedException {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; int sum = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for (IntWritable x : values) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; sum += x.get();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; context.write(key, new IntWritable(sum));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }// class&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) throws Exception {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Configuration conf = new Configuration();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Job job = new Job(conf, &quot;mywc&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; job.setJarByClass(WordCount.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; job.setMapperClass(Map.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; job.setReducerClass(Reduce.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; job.setOutputKeyClass(Text.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; job.setOutputValueClass(IntWritable.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; job.setInputFormatClass(TextInputFormat.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; job.setOutputFormatClass(TextOutputFormat.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Path outputPath = new Path(args[1]);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Configuration the input/output path from the filesystem into the job&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; FileInputFormat.addInputPath(job, new Path(args[0]));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; FileOutputFormat.setOutputPath(job, new Path(args[1]));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // deleting the output path automatically from hdfs so that we don&#39;t have delete it explicity&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; outputPath.getFileSystem(conf).delete(outputPath);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}// class&lt;/intwritable&gt;&lt;/text&gt;&lt;/longwritable&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/7736838652188674591/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/7736838652188674591' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7736838652188674591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7736838652188674591'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2017/09/wordcount.html' title='WordCount'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-7581547573778393</id><published>2017-07-17T22:55:00.006-07:00</published><updated>2017-07-17T22:56:18.146-07:00</updated><title type='text'>AWK: n lines before, m lines after</title><content type='html'>&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;awk &#39;c--&amp;gt;0; $0~s{if(b)for(c=b+1;c&amp;gt;1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}&#39; b=3 a=5 s=&quot;cadenita&quot; short.txt&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/7581547573778393/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/7581547573778393' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7581547573778393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7581547573778393'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2017/07/awk-n-lines-before-m-lines-after.html' title='AWK: n lines before, m lines after'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-6925345076092633373</id><published>2017-07-15T18:39:00.001-07:00</published><updated>2017-07-15T19:26:14.153-07:00</updated><title type='text'>Git Merge</title><content type='html'>&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git granch &amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;# local branches&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git branch -r&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;# remote branches&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git branch -a&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;# local and remote branches&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git status&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;# current branch status&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git checkout develop&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;# go to &quot;develop&quot; branch&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git checkout hotfix/tk_01_inv&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;# go to &quot;hotfix/tk_01_inv&quot; branch&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git pull&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;# download the remote changes into current branch&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git add&lt;/span&gt; .&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;# save all changes&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git commit -m &#39;some comment&#39;&lt;/span&gt; &amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;# commit into local branch&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git push&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp; # public my local changes into remote git repository&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;&lt;u&gt;&lt;b&gt;git merge&lt;/b&gt;&lt;/u&gt;&lt;/span&gt; : &lt;span style=&quot;font-size: x-small;&quot;&gt;&quot;develop&quot; branch gets changes from &quot;hotfix/tk_01_inv&quot; branch&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git branch -a&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;# local and remote branches&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git status&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git checkout hotfix/tk_01_inv&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;# branch with new changes&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;git pull&lt;br /&gt;&lt;br /&gt;gi push&lt;br /&gt;&lt;br /&gt;git checkout develop&lt;br /&gt;&lt;br /&gt;git pull&lt;br /&gt;&lt;br /&gt;git status&lt;br /&gt;&lt;br /&gt;git merge --no-ff hotfix/tk_01_inv&lt;br /&gt;&lt;br /&gt;git status&lt;br /&gt;&lt;br /&gt;git push&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/6925345076092633373/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/6925345076092633373' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6925345076092633373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6925345076092633373'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2017/07/git-merge.html' title='Git Merge'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-2923884524122650294</id><published>2017-05-14T17:02:00.001-07:00</published><updated>2017-05-14T17:08:18.447-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="full log"/><category scheme="http://www.blogger.com/atom/ns#" term="linux shell script"/><category scheme="http://www.blogger.com/atom/ns#" term="script unix"/><category scheme="http://www.blogger.com/atom/ns#" term="unix"/><title type='text'>Unix shell scripting: Full Log</title><content type='html'>&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Creating of a Shell Scripting full log.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;#!/bin/bash &lt;b&gt;-x&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;export Me=`basename $0 .sh`&lt;br /&gt;{&lt;br /&gt;export current_date=`date &quot;+%Y-%m-%d_%H%M%S&quot;`&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;echo &quot;Me: $Me&quot;&lt;br /&gt;echo &quot;Current Date: $current_date&quot;&lt;br /&gt;echo -e &quot;Successful Job. \n\n\n&quot;&lt;br /&gt;exit 0&lt;br /&gt;&lt;br /&gt;} &amp;gt; ${Me}&quot;.log1&quot; 2&amp;gt; ${Me}&quot;.log2&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;Results&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;full_log.log1&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Me: full_log&lt;br /&gt;
Current Date: 2017-05-14_200038&lt;br /&gt;
Successful Job.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;full_log.log2&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
++ date +%Y-%m-%d_%H%M%S&lt;br /&gt;
+ export current_date=2017-05-14_200038&lt;br /&gt;
+ current_date=2017-05-14_200038&lt;br /&gt;
+ echo &#39;Me: full_log&#39;&lt;br /&gt;
+ echo &#39;Current Date: 2017-05-14_200038&#39;&lt;br /&gt;
+ echo -e &#39;Successful Job. \n\n\n&#39;&lt;br /&gt;
+ exit 0</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/2923884524122650294/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/2923884524122650294' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2923884524122650294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2923884524122650294'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2017/05/unix-shell-scripting-full-log.html' title='Unix shell scripting: Full Log'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-6444147958808251599</id><published>2016-10-27T20:17:00.001-07:00</published><updated>2016-10-27T20:17:51.484-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="chile"/><category scheme="http://www.blogger.com/atom/ns#" term="digito verificador"/><category scheme="http://www.blogger.com/atom/ns#" term="perl"/><category scheme="http://www.blogger.com/atom/ns#" term="rut"/><title type='text'></title><content type='html'>&lt;br /&gt;
PERL: Dígito verificador con Perl (Chile).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;use strict;&lt;br /&gt;use warnings;&lt;br /&gt;&lt;br /&gt;my $s_Rut = &quot;30686957&quot;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my @a_rut = split &#39;&#39;, $s_Rut; &lt;br /&gt;print(&quot;@a_rut&quot; .&quot;\n&quot;);&lt;br /&gt;&lt;br /&gt;my @rut_rev = reverse @a_rut;&lt;br /&gt;print(&quot;@rut_rev&quot; .&quot;\n&quot;);&lt;br /&gt;&lt;br /&gt;my $adding=0;&lt;br /&gt;my $multi=2;&lt;br /&gt;foreach my $n (@rut_rev) {&lt;br /&gt;&amp;nbsp; print (&quot;$n \n&quot;);&lt;br /&gt;&amp;nbsp; $adding = $adding + ($n * $multi++);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; if($multi==8){&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $multi=2;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;print (&quot;$adding \n&quot;);&lt;br /&gt;&lt;br /&gt;my $module=$adding%11;&lt;br /&gt;my $dv=11-$module;&lt;br /&gt;&lt;br /&gt;if($dv == 11){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $dv=0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if($dv == 10){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $dv=&#39;K&#39;;&lt;br /&gt;}&lt;br /&gt;$s_Rut=&quot;$s_Rut-$dv&quot;;&lt;br /&gt;print(&quot;RUT: $s_Rut\n&quot;);&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/6444147958808251599/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/6444147958808251599' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6444147958808251599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6444147958808251599'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2016/10/perl-digito-verificador-con-perl-chile.html' title=''/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-812496229576420633</id><published>2016-03-22T21:56:00.003-07:00</published><updated>2016-03-22T21:56:47.208-07:00</updated><title type='text'>Perl: File into Array</title><content type='html'>#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;use strict;&lt;br /&gt;use warnings;&lt;br /&gt;&lt;br /&gt;my $filename = &#39;hobbies.txt&#39;;&lt;br /&gt;&lt;br /&gt;open (my $handle , &#39;&lt;:encoding br=&quot;&quot; filename=&quot;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; or die &quot;Could not open file &#39;$filename&#39; $!&quot;;&lt;br /&gt;&lt;br /&gt;chomp (my @hobbies = &amp;lt;$handle&amp;gt;);&lt;br /&gt;close $handle;&lt;br /&gt;&lt;br /&gt;my $totalHobbies = $#hobbies;&lt;br /&gt;&lt;br /&gt;print &quot;hobbies: @hobbies\n&quot;;&lt;br /&gt;&lt;br /&gt;print &quot;---------------: $totalHobbies\n&quot;;&lt;br /&gt;print &quot;1st. hobby: $hobbies[0]\n&quot;;&lt;br /&gt;&lt;br /&gt;my $index=9;&lt;br /&gt;print &quot;nine hobby: $hobbies[$index]\n&quot;;&lt;br /&gt;print &quot;last hobby: $hobbies[$totalHobbies]\n&quot;;&lt;br /&gt;&lt;br /&gt;my $randomHobby=int(rand($totalHobbies+1));&lt;br /&gt;print &quot;Random hobby: $hobbies[$randomHobby]\n&quot;;&lt;br /&gt;&lt;br /&gt;# generate ages between 18 and 118 years&lt;br /&gt;my $minYear=18;&lt;br /&gt;my $range=100;&lt;br /&gt;my $randomYear=int(rand($range)) + $minYear;&lt;br /&gt;&lt;br /&gt;print &quot;Random year: $randomYear\n&quot;;&lt;br /&gt;&lt;/:encoding&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/812496229576420633/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/812496229576420633' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/812496229576420633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/812496229576420633'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2016/03/perl-file-into-array.html' title='Perl: File into Array'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-6159708907193940451</id><published>2016-02-04T21:35:00.001-08:00</published><updated>2016-02-04T21:40:19.205-08:00</updated><title type='text'>I love my Job</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;p { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: left; orphans: 2; widows: 2; }p.western { font-family: &quot;Times New Roman&quot;,serif; font-size: 12pt; }p.cjk { font-family: &quot;Times New Roman&quot;; font-size: 12pt; }p.ctl { font-family: &quot;Times New Roman&quot;; font-size: 12pt; }a:link { color: rgb(0, 0, 255); }&lt;/style&gt;


&lt;br /&gt;
&lt;div class=&quot;western&quot; lang=&quot;es-ES&quot; style=&quot;line-height: 150%; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , serif;&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;I am graduated of
Computer System Engineer from Universidad Católica de Temuco, Chile.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;western&quot; lang=&quot;en-US&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;justify&quot; class=&quot;western&quot; lang=&quot;es-ES&quot; style=&quot;line-height: 150%; margin-bottom: 0in;&quot;&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;__DdeLink__400_191149798&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://www.blogger.com/null&quot; name=&quot;result_box&quot;&gt;&lt;/a&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , serif;&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;Design and modeling
(Databases and Software) with UML and coding software; work and
management different operating systems, including Windows and
Unix/Linux, and how certain types of software work with them;
knowledge of programming languages such as Java EE (11 years), HTML,
CSS, JavaScript (with Ajax and jQuery), PHP,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #00000a;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #00000a;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;Linux
Shell Scripting &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , serif;&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;and
Python; I have developed and implemented Web Applications with Java
EE including JSF, Struts, EJB, JPA and Hibernate; database management
Postgresql (with PL/PgSQL), Oracle (with PL/SQL), Sql Server and
MySql; Application integration with OSB (Oracle Service Bus),
SOAP/REST Web Services for interchanging of data with mobile systems
Android; Servers management on FreeBSD and Linux; Study in data
analysis and knowledge extraction from sets of data (with Simulated
Annealing). Through self-learning I have studied NoSql Architecture,
Sap Hana, In Memory Databases and Big Data.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;justify&quot; class=&quot;western&quot; lang=&quot;en-US&quot; style=&quot;line-height: 150%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;justify&quot; class=&quot;western&quot; lang=&quot;es-ES&quot; style=&quot;line-height: 150%; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , serif;&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;My projections for the
future are to continue in the area of Computer Systems Development
and Integrate a Software Engineering Network.&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div align=&quot;justify&quot; class=&quot;western&quot; lang=&quot;en-US&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;justify&quot; class=&quot;western&quot; lang=&quot;es-ES&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , serif;&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;Best regards.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/6159708907193940451/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/6159708907193940451' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6159708907193940451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6159708907193940451'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2016/02/i-love-my-job.html' title='I love my Job'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-4153405456163731653</id><published>2011-09-07T17:32:00.000-07:00</published><updated>2011-09-08T10:43:29.436-07:00</updated><title type='text'>Ejercicio - 1 router, 1 switch servidor de 2 vlan y 1 switch cliente</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOIk-OLM-_bvPmQR3brThvsoO-M4vUQiC5OOVjsnMBCWAndp9DE6RABiHwe9GUPL-mV2KvjijXOJUWsMVOX532uIq3K2RTy4qDcmndz7ZLRgigXcaYYijybZyb-uIkSDqS0Y8EFnXuIpk/s1600/1r2sw2vlan.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 181px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOIk-OLM-_bvPmQR3brThvsoO-M4vUQiC5OOVjsnMBCWAndp9DE6RABiHwe9GUPL-mV2KvjijXOJUWsMVOX532uIq3K2RTy4qDcmndz7ZLRgigXcaYYijybZyb-uIkSDqS0Y8EFnXuIpk/s320/1r2sw2vlan.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5650045512059302114&quot; /&gt;&lt;/a&gt;&lt;br /&gt;En este ejercicio se configurará una red que contiene 1 router Cisco y 2 Switch Cisco. Un Switch actuará como servidor de Vlan, por lo tanto, en este configurarán 2 vlan y las bocas a las cuales se conectarán los host a este Switch. El segundo Switch actuará como cliente, es decir, recibirá las vlan automáticamente del Switch servidor y solo se deberán configurar la bocas a las cuales se conectarán los host.&lt;br /&gt;&lt;br /&gt;Del Switch servidor saldrá solo un cable al Router, por lo tanto, en este último se debe configurar la boca (f0/0) para que por ella exista trafico de dos vlan (redes virtuales o lógicas).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CONFIGURACION ROUTER (único router en la red):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Router&gt;ena&lt;br /&gt;Router#config t&lt;br /&gt;Router(config)#int f0/0&lt;br /&gt;&lt;br /&gt;En las siguientes 6 lineas se configurará la boca f0/0 del router para que por ella pasen y se comuniquen los datos de 2 vlan diferentes, configuradas en un switch servidor de vlan.&lt;br /&gt;Router(config-if)#int f0/0.10&lt;br /&gt;Router(config-subif)#encapsulation dot1Q 10&lt;br /&gt;Router(config-subif)#ip address 192.168.1.1 255.255.255.0&lt;br /&gt;&lt;br /&gt;Router(config-subif)#int f0/0.20&lt;br /&gt;Router(config-subif)#encapsulation dot1Q 20&lt;br /&gt;Router(config-subif)#ip address 192.168.2.1 255.255.255.0&lt;br /&gt;&lt;br /&gt;Router(config-subif)#exit&lt;br /&gt;Router(config)#int f0/0&lt;br /&gt;Router(config-if)#no sh&lt;br /&gt;Router(config-if)#exit&lt;br /&gt;Router(config)#exit&lt;br /&gt;Router#wr&lt;br /&gt;Router#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CONFIGURACION SWITCH SERVER DE VLAN:&lt;/span&gt;&lt;br /&gt;Switch&gt;ena&lt;br /&gt;Switch#config t&lt;br /&gt;Switch(config)#vtp dom uct.cl&lt;br /&gt;Switch(config)#vtp version 2&lt;br /&gt;&lt;br /&gt;Configuro el Switch como servidor de Vlan, por lo tanto, este Switch le pasará a otros Switch la configuración de las Vlan.&lt;br /&gt;Switch(config)#vtp mode server&lt;br /&gt;Switch(config)#exit&lt;br /&gt;Switch#show vtp status&lt;br /&gt;Switch#wr&lt;br /&gt;Switch#config t&lt;br /&gt;Switch(config)#vlan 10&lt;br /&gt;Switch(config-vlan)#name profesores&lt;br /&gt;Switch(config-vlan)#vlan 20&lt;br /&gt;Switch(config-vlan)#name alumnos&lt;br /&gt;Switch(config-vlan)#vlan 30&lt;br /&gt;Switch(config-vlan)#name wireless&lt;br /&gt;Switch(config-vlan)#exit&lt;br /&gt;Switch(config)#exit&lt;br /&gt;Switch#wr&lt;br /&gt;Switch#config t&lt;br /&gt;&lt;br /&gt;Configuración de la boca 1 (f0/1), la cual será la unica via de conexión al Router (desde el switch 1 solo cable al router).&lt;br /&gt;Switch(config)#int f0/1&lt;br /&gt;Switch(config-if)#switchport mode trunk&lt;br /&gt;&lt;br /&gt;Configuración de la boca 24 (f0/24). A esta se conectará el Switch cliente.&lt;br /&gt;Switch(config-if)#int f0/24&lt;br /&gt;Switch(config-if)#switchport mode trunk&lt;br /&gt;&lt;br /&gt;Configurar las bocas del switch servidor para que estas trabajen con una vlan específica, así, la boca 2 (f0/2) trabajará con la vlan 10 y la boca 23 (f0/23) pertencerá a la vlan 20. Cada vez que conecte un host (computador u otro dispositivo de red) a una boca de este Switch, debo definir la vlan a la cual pertenecerá esta boca, por lo tanto, el host debe configurarse con el segmento ip correspondiente a la vlan, o sino, el host no podrá comunicarse con sus pares.&lt;br /&gt;Switch(config-if)#int f0/2&lt;br /&gt;Switch(config-if)#switchport access vlan 10&lt;br /&gt;&lt;br /&gt;Switch(config-if)#int f0/23&lt;br /&gt;Switch(config-if)#switchport access vlan 20&lt;br /&gt;Switch(config-if)#exit&lt;br /&gt;Switch(config)#exit&lt;br /&gt;Switch#wr&lt;br /&gt;Switch#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CONFIGURACION SWITCH client:&lt;/span&gt;&lt;br /&gt;Switch&gt;ena&lt;br /&gt;Switch#config t&lt;br /&gt;Switch(config)#vtp domain uct.cl&lt;br /&gt;Switch(config)#vtp version 2&lt;br /&gt;&lt;br /&gt;Configuró el Switch como cliente, para que otro Switch le pase la configuración de las Vlan.&lt;br /&gt;Switch(config)#vtp mode client&lt;br /&gt;&lt;br /&gt;Configurar las bocas del switch cliente para que estas trabajen con una vlan específica, así, la boca 1 (f0/1) trabajará con la vlan 20 y la boca 2 (f0/2) pertencerá a la vlan 10. Cada vez que conecte un host (computador u otro dispositivo de red) a una boca de este Switch, debo definir la vlan a la cual pertenecerá esta boca, por lo tanto, el host debe configurarse con el segmento ip correspondiente a la vlan, o sino, el host no podrá comunicarse con sus pares.&lt;br /&gt;Switch(config)#int f0/1&lt;br /&gt;Switch(config-if)#switchport access vlan 20&lt;br /&gt;&lt;br /&gt;Switch(config-if)#int f0/2&lt;br /&gt;Switch(config-if)#switchport access vlan 10&lt;br /&gt;Switch(config-if)#exit&lt;br /&gt;Switch(config)#exit&lt;br /&gt;Switch#show vtp status&lt;br /&gt;Switch#wr&lt;br /&gt;Switch#</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/4153405456163731653/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/4153405456163731653' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/4153405456163731653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/4153405456163731653'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/09/2-vlan-2-switch-1-cable-al-router-1.html' title='Ejercicio - 1 router, 1 switch servidor de 2 vlan y 1 switch cliente'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOIk-OLM-_bvPmQR3brThvsoO-M4vUQiC5OOVjsnMBCWAndp9DE6RABiHwe9GUPL-mV2KvjijXOJUWsMVOX532uIq3K2RTy4qDcmndz7ZLRgigXcaYYijybZyb-uIkSDqS0Y8EFnXuIpk/s72-c/1r2sw2vlan.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-2296935806911337275</id><published>2011-09-07T16:06:00.001-07:00</published><updated>2011-09-07T20:59:18.098-07:00</updated><title type='text'>2 redes, 1 switch, 1 cable al router (sin edición)</title><content type='html'>CONFIGURACION ROUTER:&lt;br /&gt;&lt;br /&gt;Router&gt;ena&lt;br /&gt;Router#config t&lt;br /&gt;Router(config)#int f0/0&lt;br /&gt;Router(config-if)#int f0/0.10&lt;br /&gt;Router(config-subif)#encapsulation  dot1Q 10&lt;br /&gt;Router(config-subif)#ip address 192.168.1.1 255.255.255.128&lt;br /&gt;&lt;br /&gt;Router(config-subif)#int f0/0.20&lt;br /&gt;Router(config-subif)#encapsulation dot1Q 20&lt;br /&gt;Router(config-subif)#ip address 192.168.1.129 255.255.255.128&lt;br /&gt;Router(config-subif)#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;CONFIGURACION SWITCH:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Switch&gt;&lt;br /&gt;Switch&gt;ena&lt;br /&gt;Switch#config t&lt;br /&gt;Switch(config)#vlan 10&lt;br /&gt;Switch(config-vlan)#name secretaria&lt;br /&gt;Switch(config-vlan)#exit&lt;br /&gt;Switch(config)# vlan 20&lt;br /&gt;Switch(config-vlan)#name jefeDPTO&lt;br /&gt;Switch(config-vlan)#exit&lt;br /&gt;Switch(config)#exit&lt;br /&gt;Switch#&lt;br /&gt;&lt;br /&gt;Switch#config t&lt;br /&gt;Switch(config)#int f0/1&lt;br /&gt;Switch(config-if)#switchport access vlan 10&lt;br /&gt;Switch(config-if)#int f0/2&lt;br /&gt;Switch(config-if)#switchport access vlan 10&lt;br /&gt;Switch(config-if)#int f0/13&lt;br /&gt;Switch(config-if)#switchport access vlan 20&lt;br /&gt;Switch(config-if)#int f0/14&lt;br /&gt;Switch(config-if)#switchport access vlan 20&lt;br /&gt;&lt;br /&gt;Switch(config-if)#exit&lt;br /&gt;Switch(config)#exit&lt;br /&gt;Switch#wr&lt;br /&gt;&lt;br /&gt;Switch#&lt;br /&gt;Switch#config t&lt;br /&gt;Switch(config)#int f0/24&lt;br /&gt;Switch(config-if)#exit&lt;br /&gt;Switch(config)#int f0/24&lt;br /&gt;Switch(config-if)#switchport mode trunk &lt;br /&gt;Switch(config-if)#exit&lt;br /&gt;Switch(config)#exit&lt;br /&gt;Switch#wr&lt;br /&gt;Switch#</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/2296935806911337275/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/2296935806911337275' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2296935806911337275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2296935806911337275'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/09/2-redes-1-switch-1-cable-al-router.html' title='2 redes, 1 switch, 1 cable al router (sin edición)'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-7236917208017601240</id><published>2011-08-05T14:42:00.000-07:00</published><updated>2011-08-05T16:08:53.841-07:00</updated><title type='text'>Host Virtuales en FreeBSD</title><content type='html'>Antes de crea un Host Virtual, debe configurar un dominio que hará uso de este, por lo tanto, es recomendable ver el siguiente articulo: &lt;a href=&quot;http://openchile.blogspot.com/2011/08/configurar-un-dominio-en-freebsd.html&quot;&gt;Configurar un Dominio en FreeBSD&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;El término Hosting Virtual se refiere a hacer funcionar más de un sitio web (tales como www.company1.com y www.company2.com) en una sola máquina. Los sitios web virtuales pueden estar &quot;basados en direcciones IP&quot;, lo que significa que cada sitio web tiene una dirección IP diferente, o &quot;basados en nombres diferentes&quot;, lo que significa que con una sola dirección IP están funcionando sitios web con diferentes nombres (de dominio). El hecho de que estén funcionando en la misma máquina física pasa completamente desapercibido para el usuario que visita esos sitios web. (&lt;a href=&quot;http://httpd.apache.org/docs/2.0/es/vhosts/&quot;&gt;Fuente: Apache&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;br /&gt;www.google.cl, www.yahoo.com, www.uct.cl, etc. en el mismo servidor.&lt;br /&gt;&lt;br /&gt;Lo que primero que debemos hacer es crear un usuario (para este caso llamado &quot;dominio3&quot;, con password &quot;dominio123&quot;) que será propietario de los archivos que componen el sitio Web del dominio: &quot;www.ciocomcris.org&quot;.&lt;br /&gt;&lt;br /&gt;# adduser dominio3&lt;br /&gt;&lt;br /&gt;Después se debe modificar el archivo &quot;/etc/group&quot;, para que el usuario &quot;dominio3&quot; pertenezca al grupo &quot;www&quot;, que es el administrador de los servicios de Apache:&lt;br /&gt;&lt;br /&gt;# vim /etc/group&lt;br /&gt;&lt;br /&gt;... buscamos la linea &quot;www:*:80&quot; y la dejamos así: &quot;www:*:80:dominio3&quot; (no incluir las comillas)&lt;br /&gt;&lt;br /&gt;Luego nos logueamos como usuario3 y creamos en nuestro home el directorio &quot;public_html&quot;:&lt;br /&gt;&lt;br /&gt;# su - dominio3&lt;br /&gt;$ mkdir /home/dominio3/public_html&lt;br /&gt;&lt;br /&gt;Es importante que el directorio que acabamos de crear, pertenezca al grupo &quot;www&quot;, y que este grupo pueda escribir en el directorio &quot;public_html&quot;, así Apache puede trabajar en este sin contratiempos. Antes debemos volver a ser root.&lt;br /&gt;&lt;br /&gt;$ exit&lt;br /&gt;# cd /home/dominio3&lt;br /&gt;# chgrp www public_html&lt;br /&gt;# chmod g+w public_html/&lt;br /&gt;&lt;br /&gt;Luego en &quot;public_html&quot;, creamos un archivo llamado index.html o index.php como ejemplo, para probar si realmente el dominio www.ciocomcris.org funciona correctamente.&lt;br /&gt;&lt;br /&gt;#vim /home/dominio3/public_html/index.php&lt;br /&gt; &amp;lt;?php&lt;br /&gt;   echo &quot;esto es del dominio www.ciocomcris.org, que pertenece al usuario dominio3&quot;&lt;br /&gt; ?&gt;&lt;br /&gt;&lt;br /&gt;Enseguida se debe activar el acceso al archivo de configuración de Host Virtuales, descomentando las siguientes lineas en &quot;usr/local/etc/apache22/httpd.conf&quot;.&lt;br /&gt;&lt;br /&gt;# cd /usr/local/etc/apache22&lt;br /&gt;# vim httpd.conf&lt;br /&gt;Include etc/apache22/extra/httpd-vhosts.conf&lt;br /&gt;Include etc/apache22/extra/httpd-userdir.conf&lt;br /&gt;&lt;br /&gt;Luego configurar el archivo &quot;httpd-vhosts.conf&quot; para definir donde quedaran los virtualhost que estarán en Apache.&lt;br /&gt;&lt;br /&gt;# cd /usr/local/etc/apache22/extra&lt;br /&gt;# vim httpd-vhosts.conf&lt;br /&gt;&lt;br /&gt;El archivo &quot;httpd-vhosts.conf&quot; debe contener las siguientes lineas, donde se configura el dominio &quot;www.ciocomcris.org&quot;, asociado con &quot;public_html&quot; del usuario &quot;dominio3&quot; (DocumentRoot &quot;/home/dominio3/public_html&quot;)&lt;br /&gt; &lt;br /&gt;&amp;lt;VirtualHost *:80&gt;&lt;br /&gt;    ServerAdmin webmaster@ciocomcris.org&lt;br /&gt;    DocumentRoot &quot;/home/dominio3/public_html&quot;&lt;br /&gt;    ServerName www.ciocomcris.org&lt;br /&gt;#    ServerAlias www.dummy-host.example.com&lt;br /&gt;    ErrorLog &quot;/var/log/apache/www.ciocomcris.org.error_log&quot;&lt;br /&gt;    CustomLog &quot;/var/log/apache/www.ciocomcris.org-access_log&quot; common&lt;br /&gt;&amp;lt;/VirtualHost&gt;&lt;br /&gt;&lt;br /&gt;En las lineas que comienzan con &quot;ErrorLog&quot; y &quot;CustomLog&quot;, se definen los archivos que guardaran los log, de error o acceso al sitio &quot;www.ciocomcris.org&quot;. Por lo tanto en &quot;/var/log&quot; se debe crear un directorio llamado &quot;apache&quot;, con dos archivos llamados &quot;www.ciocomcris.org.error_log&quot; y &quot;www.ciocomcris.org-access_log&quot;, cuyo propietario es usuario &quot;www&quot; (usuario asociado a Apache en FreeBSD).&lt;br /&gt;&lt;br /&gt;# cd /var/log&lt;br /&gt;# mkdir apache&lt;br /&gt;# cd apache&lt;br /&gt;# vim www.ciocomcris.org.error_log&lt;br /&gt;# vim www.ciocomcris.org-access_log&lt;br /&gt;# chown -Rf www:www /var/log/apache/&lt;br /&gt;&lt;br /&gt;Finalmente se debe reiniciar Apache, para que los cambios surjan efecto.&lt;br /&gt;# apachectl restart&lt;br /&gt;&lt;br /&gt;Luego accedemos al sitio &quot;www.ciocomcris.org&quot;, donde debe aparecer el mensaje: esto es del dominio www.ciocomcris.org, que pertenece al usuario dominio3&lt;br /&gt;&lt;br /&gt;# lynk www.ciocomcris.org&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Puede que lo anterior no funcione, porque no tienes configurado el dominio &quot;www.ciocomcris.org&quot;, para lo cual recomiendo ver el siguiente artículo: &lt;a href=&quot;http://openchile.blogspot.com/2011/08/configurar-un-dominio-en-freebsd.html&quot;&gt;Configurar un Dominio en FreeBSD&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Asegurate que en &quot;/etc/resolv.conf&quot;, tengas como servidor DNS la ip del computador donde configuraste el dominio, en mi caso era la ip &quot;192.168.7.58&quot;.&lt;br /&gt;&lt;br /&gt;También puede que tengas problemas de permisos, por lo tanto tendrás que revisar los log:&lt;br /&gt;# vim /var/log/apache/www.ciocomcris.org.error_log&lt;br /&gt;# vim /var/log/apache/www.ciocomcris.org-access_log</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/7236917208017601240/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/7236917208017601240' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7236917208017601240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7236917208017601240'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/08/virtual-host-en-freebsd.html' title='Host Virtuales en FreeBSD'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-2404121085313376328</id><published>2011-08-04T18:01:00.001-07:00</published><updated>2011-08-04T18:01:50.499-07:00</updated><title type='text'>Configurar un Dominio en FreeBSD</title><content type='html'>CREAR UN SERVIDOR DE DOMINIO LLAMADO: www.crisdominiofree.org&lt;br /&gt;&lt;br /&gt;veo cual en la ip de mi pc que será servidor DNS&lt;br /&gt;# ifconfig&lt;br /&gt; 192.168.7.58&lt;br /&gt;&lt;br /&gt;/etc/defaults/rc.conf&lt;br /&gt;&lt;br /&gt;named_enable=&quot;YES&quot;&lt;br /&gt;&lt;br /&gt;ver que direccion ip tengo en freebsd.&lt;br /&gt;&lt;br /&gt;# cd /etc/namedb&lt;br /&gt;# vim named.conf&lt;br /&gt;&lt;br /&gt;para habilidar el listen en named.conf dejo mi ip asi en la linea del listen&lt;br /&gt; listen-on       { 127.0.0.1; 192.168.7.58; };&lt;br /&gt;&lt;br /&gt;luego voto y reinicio el servicio&lt;br /&gt;# killall -9 named&lt;br /&gt;# named &lt;br /&gt;&lt;br /&gt;nuevamente entro al archivo /etc/namedb/named.conf agrego la siguiente linea:&lt;br /&gt;# vim /etc/namedb/named.conf&lt;br /&gt;&lt;br /&gt; zone &quot;crisdominiofree.org&quot; {&lt;br /&gt;         type master;&lt;br /&gt;         file &quot;/etc/namedb/master/crisdominiofree.org.db&quot;;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt;despues creo el archivo de configuracion en de mi dominio en base a un archivo llamado empty.db&lt;br /&gt;# cd /etc/namedb/master&lt;br /&gt;# cp empty.db crisdominiofree.org.db&lt;br /&gt;&lt;br /&gt;despues configuro el archivo &quot;crisdominiofree.org.db&quot; y lo dejo tal como se ve en las siguientes lineas:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; ; $FreeBSD: src/etc/namedb/master/empty.db,v 1.1.12.1.6.1 2010/12/21 17:09:25 kensmith Exp $&lt;br /&gt;&lt;br /&gt; $TTL 3h&lt;br /&gt; @ SOA ns.crisdominiofree.org. root.ns.crisdominiofree.org.  42 1d 12h 1w 3h&lt;br /&gt;         ; Serial, Refresh, Retry, Expire, Neg. cache TTL&lt;br /&gt; &lt;br /&gt; @       IN      NS      ns.crisdominiofree.org.&lt;br /&gt; @       IN      MX 5    mail.crisdominiofree.org.&lt;br /&gt; @       IN      A       192.168.7.58&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; ; Silence a BIND warning&lt;br /&gt; ;@      A       127.0.0.1&lt;br /&gt; ns      IN      A       192.168.7.58&lt;br /&gt; www     IN      A       192.168.7.58&lt;br /&gt; w3      IN      CNAME   www.crisdominiofree.org.&lt;br /&gt; mail    IN      A       192.168.7.58&lt;br /&gt;&lt;br /&gt;Ahora, todos los computadores que quieran reconocer mi dominio, deben tener como servidor primario DNS mi computador, en mi caso el 192.168.7.58&lt;br /&gt;# cd /etc&lt;br /&gt;# vim resolv.conf&lt;br /&gt; nameserver 192.168.7.58&lt;br /&gt;&lt;br /&gt;despues reinicio el namadb&lt;br /&gt;# killall -9 named&lt;br /&gt;# named&lt;br /&gt;# named.reload&lt;br /&gt;&lt;br /&gt;despues hago ping a mi dominio y este debe responder&lt;br /&gt;# ping www.crisdominiofree.org&lt;br /&gt; 64 bytes from 192.168.7.58: icmp_seq=1 ttl=64 time=0.221 ms&lt;br /&gt;-------- -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- &lt;br /&gt;y asi, por cada dominio nuevo en mi DNS creo un archivo con el nombre &quot;el_nombre_del_dominio.TLD.db&quot; en /etc/namedb/master&lt;br /&gt;con la configuracion del nuevo dominio.&lt;br /&gt;y agrego la linea, nuevamente entro al archivo /etc/namedb/named.conf, con el nombre de mi dominio nuevo:&lt;br /&gt;# vim /etc/namedb/named.conf&lt;br /&gt;&lt;br /&gt; zone &quot;el_nombre_del_dominio.TLD&quot; {&lt;br /&gt;         type master;&lt;br /&gt;         file &quot;/etc/namedb/master/el_nombre_del_dominio.TLD.db&quot;;&lt;br /&gt; };</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/2404121085313376328/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/2404121085313376328' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2404121085313376328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2404121085313376328'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/08/configurar-un-dominio-en-freebsd.html' title='Configurar un Dominio en FreeBSD'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-2734373198077372593</id><published>2011-07-22T22:10:00.001-07:00</published><updated>2012-08-16T12:45:42.944-07:00</updated><title type='text'>Instalar Debian desde un USB (PenDrive)</title><content type='html'>Este método funciona para cualquier arquitectura (32 bit, 64bit, etc.), lo importante es descargar dos archivos, una imagen ISO para instalar Debian y el &quot;boot.img.gz&quot; correspondiente a dicha arquitectura. Los siguientes pasos deben ser ejecutados desde un sistema Linux. Si no se tiene instalado uno, pueden llevarse a cabo desde cualquier Linux live, ejemplo una versión &quot;Ubuntu Live&quot;.&lt;br /&gt;
&lt;br /&gt;
Básicamente lo que hay que descargar son dos Archivos:&lt;br /&gt;
&lt;br /&gt;
1.- Una imagen &lt;a href=&quot;http://cdimage.debian.org/debian-cd/6.0.2.1/amd64/iso-cd/debian-6.0.2.1-amd64-netinst.iso&quot;&gt;ISO&lt;/a&gt;:&lt;br /&gt;
En este punto descargas la imagen ISO de la arquitectura correspondiente al computador en que se instalará Debian (en mi caso 64bit -amd64-). El tipo de instalación tampoco importa, puede ser una imagen para instalar desde un CD, DVD, netboot, usb stick, floppy, etc. Personalmente siempre utilizo la imagen netboot por ser mas liviana, la cual me descarga todo desde Internet al momento de instalar el sistema (lo importante es que termine en ISO).&lt;br /&gt;
&lt;br /&gt;
2.- Lo segundo es preparar nuestro USB (PenDrive en mi caso) para que el computador pueda arrancar desde este. Para esto debemos descargar un archivo llamado &quot;&lt;a href=&quot;http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/hd-media/&quot;&gt;boot.img.gz para 64bit&lt;/a&gt;&quot; (&lt;a href=&quot;http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-i386/current/images/hd-media/&quot;&gt;link para 32bit&lt;/a&gt;), correspondiente a la arquitectura del computador en que se instalará Debian. Este archivo lo utilizaremos para que el USB sea reconocido por el computador y arranque desde este.&lt;br /&gt;
&lt;br /&gt;
Lo que sigue es insertar el USB y borrarle todos los archivos que contiene. Después identificamos la partición que se le asigna automáticamente dentro del directorio &quot;/dev&quot;. En mi caso la partición es &quot;/dev/sdb&quot; para mi PenDrive USB.&lt;br /&gt;
&lt;br /&gt;
Mediante linea de comando, situémonos en el directorio donde bajamos los archivos mencionados al principio y después ejecutamos lo siguiente.&lt;br /&gt;
&lt;br /&gt;
Para identificar los discos que reconoce el sistema:&lt;br /&gt;
# fdisk -l&lt;br /&gt;
&lt;br /&gt;
Preparar el pendrive USB para que arranque desde la Bios:&lt;br /&gt;
# zcat boot.img.gz &amp;gt; /dev/sdX&lt;br /&gt;
&lt;br /&gt;
...donde X es la letra del dispositivo. Como ya se ha mencionado, en mi caso es /dev/sdb, por lo tanto yo ejecute:&lt;br /&gt;
&lt;br /&gt;
# zcat boot.img.gz &amp;gt; /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Recuerda que esta acción borrará todo lo que ya tengas anteriormente. También recuerda usar sólo el nombre del dispositivo sin especificar la partición (por ejemplo, usar /dev/sdb y no /dev/sdb1).&lt;br /&gt;
&lt;br /&gt;
Finalmente pasamos la imagen ISO de Debian al dispositivo USB de la siguiente forma:&lt;br /&gt;
&lt;br /&gt;
# cp debian-6.0.2.1-amd64-netinst.ISO /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Lo anterior copia directamente a la raíz de la memoria USB el archivo ISO que se descargado. Si necesitas más paquetes adicionales, como por ejemplo los módulos de un Driver, los puedes copiar de la misma forma para poder usarlos durante la instalación.&lt;br /&gt;
&lt;br /&gt;
Ahora sólo hay que iniciar el PC con la memoria USB conectada y configurar la BIOS para que arranque primero desde dispositivos USB. Algunas placas base también permiten un menú de arranque, que permiten seleccionar el dispositivo de arranque sin cambiar la configuración.&lt;br /&gt;
&lt;br /&gt;
Si el PC no permite arrancar desde la memoria USB, prueba a corregir su registro de arranque con el comando &quot;install-mbr /dev/sdX&quot; desde una consola (claro, si instalaras Debian en el mismo computador que estas preparando el dispositivo USB). Nuevamente sustituye la X por la letra de tu dispositivo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Otra forma es copiar directamente los archivos:&lt;/b&gt;&lt;br /&gt;
&lt;h3 style=&quot;font-weight: normal;&quot;&gt;
Preparando una memoria USB usando una imagen de CD o DVD híbrido.&lt;/h3&gt;
Las imágenes de CD y DvD de Debian actuales pueden ser escritas 
directamente a una memoria USB, lo que es una forma muy sencilla de 
hacer un USB booteable. Escoja simplemente la imagen que se ajuste a su 
USB. En la &lt;a href=&quot;http://www.debian.org/releases/stable/i386/ch04s01.html.es&quot; title=&quot;4.1. Juegos oficiales de CD-ROMs de Debian GNU/Linux&quot;&gt;Sección&amp;nbsp;4.1, “Juegos oficiales de CD-ROMs de Debian GNU/Linux”&lt;/a&gt; encontrará los archivos de las diferentes imágenes.&lt;br /&gt;

Como alternativa, para USBs de poca capacidad, puedes descargar la imagen&amp;nbsp;&lt;code&gt;mini.iso&lt;/code&gt; del directorio &lt;code&gt;netboot&lt;/code&gt; (como se menciona en la &lt;a href=&quot;http://www.debian.org/releases/stable/i386/ch04s02.html.es#where-files&quot; title=&quot;4.2.1. Dónde encontrar las imágenes de instalación&quot;&gt;Sección&amp;nbsp;4.2.1, “Dónde encontrar las imágenes de instalación”&lt;/a&gt;).&lt;sup&gt;&lt;a href=&quot;http://www.debian.org/releases/stable/i386/ch04s03.html.es#ftn.id537002&quot; name=&quot;id537002&quot;&gt;&lt;/a&gt;&lt;/sup&gt;&lt;br /&gt;

La imagen que escoja deberá escribirse directamente a la memoria USB,
 sobreescribiendo el contenido actual. Por ejemplo, cuando use un 
sistema GNU/Linux existente, el archivo de imagen podrá escribirse a la 
memoria USB como sigue:&lt;br /&gt;

&lt;div&gt;
&lt;pre&gt;# cat &lt;em&gt;&lt;code&gt;debian.iso&lt;/code&gt;&lt;/em&gt; &amp;gt; /dev/&lt;em&gt;&lt;code&gt;sdX&lt;/code&gt;&lt;/em&gt;
# sync&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;WebGrafía:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;http://tendebianenlacabeza.blogspot.com/2010/07/instalar-debian-atraves-de-un-usb.html&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;http://www.debian-administration.org/article/Boot_Debian_from_an_USB_device&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;http://aerilon.wordpress.com/2011/09/18/copiar-una-imagen-debian-o-gnulinux-al-azar-a-un-pendrive/ &lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/2734373198077372593/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/2734373198077372593' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2734373198077372593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2734373198077372593'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/07/instalar-debian-desde-un-usb-pendrive.html' title='Instalar Debian desde un USB (PenDrive)'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-7430763645577697720</id><published>2011-04-21T21:44:00.000-07:00</published><updated>2011-04-21T21:47:07.568-07:00</updated><title type='text'>Java EE 6 and GlassFish 3 with NetBeans 6.9</title><content type='html'>&lt;iframe title=&quot;YouTube video player&quot; width=&quot;425&quot; height=&quot;269&quot; src=&quot;http://www.youtube.com/embed/pwBNmAhtqk8?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title=&quot;YouTube video player&quot; width=&quot;425&quot; height=&quot;269&quot; src=&quot;http://www.youtube.com/embed/_D_vphsAM-Y&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title=&quot;YouTube video player&quot; width=&quot;425&quot; height=&quot;269&quot; src=&quot;http://www.youtube.com/embed/-Q25P-oSUJ8&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title=&quot;YouTube video player&quot; width=&quot;425&quot; height=&quot;269&quot; src=&quot;http://www.youtube.com/embed/D1fyKOTO5rw&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title=&quot;YouTube video player&quot; width=&quot;425&quot; height=&quot;269&quot; src=&quot;http://www.youtube.com/embed/qf2Jxwpbsuo&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/7430763645577697720/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/7430763645577697720' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7430763645577697720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7430763645577697720'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/04/java-ee-6-and-glassfish-3-with-netbeans.html' title='Java EE 6 and GlassFish 3 with NetBeans 6.9'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/pwBNmAhtqk8/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-1548963022269829684</id><published>2011-04-21T21:39:00.000-07:00</published><updated>2011-04-21T21:43:57.169-07:00</updated><title type='text'>Aplicaciones Empresariales Java EE 6 con NetBeans</title><content type='html'>&lt;iframe title=&quot;YouTube video player&quot; width=&quot;425&quot; height=&quot;269&quot; src=&quot;http://www.youtube.com/embed/UM6-F-0VG3Q?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title=&quot;YouTube video player&quot; width=&quot;425&quot; height=&quot;269&quot; src=&quot;http://www.youtube.com/embed/nzFIzIQyoCA&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/1548963022269829684/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/1548963022269829684' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/1548963022269829684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/1548963022269829684'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/04/aplicaciones-empresariales-java-ee-6.html' title='Aplicaciones Empresariales Java EE 6 con NetBeans'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/UM6-F-0VG3Q/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-6691875717192595665</id><published>2011-04-21T18:24:00.001-07:00</published><updated>2011-04-21T18:24:52.735-07:00</updated><title type='text'>Persistencia de un modelo de objetos</title><content type='html'>Persistencia de un modelo de objetos&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;width:425px&quot; id=&quot;__ss_151705&quot;&gt; &lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/jercoli/persistencia-de-un-modelo-de-objetos&quot; title=&quot;Persistencia de un modelo de objetos&quot;&gt;Persistencia de un modelo de objetos&lt;/a&gt;&lt;/strong&gt; &lt;iframe src=&quot;http://www.slideshare.net/slideshow/embed_code/151705&quot; width=&quot;425&quot; height=&quot;355&quot; frameborder=&quot;0&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt; &lt;div style=&quot;padding:5px 0 12px&quot;&gt; View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/jercoli&quot;&gt;jercoli&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/6691875717192595665/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/6691875717192595665' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6691875717192595665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6691875717192595665'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/04/persistencia-de-un-modelo-de-objetos.html' title='Persistencia de un modelo de objetos'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-6697860409546053895</id><published>2011-04-21T18:22:00.000-07:00</published><updated>2011-04-21T18:23:44.982-07:00</updated><title type='text'>Java EE - Hello world EJB3 Application Client in Netbeans</title><content type='html'>EJB3 con Netbeans.&lt;br /&gt;&lt;br /&gt;&lt;iframe title=&quot;YouTube video player&quot; width=&quot;425&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/tetLzF3qwTM&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/6697860409546053895/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/6697860409546053895' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6697860409546053895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/6697860409546053895'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/04/java-ee-hello-world-ejb3-application.html' title='Java EE - Hello world EJB3 Application Client in Netbeans'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/tetLzF3qwTM/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-7843191251604862752</id><published>2011-04-21T18:19:00.000-07:00</published><updated>2011-04-21T18:21:17.301-07:00</updated><title type='text'>Java EE - Hello world EJB3 in Netbeans</title><content type='html'>Aprendiendo EJB3.&lt;br /&gt;&lt;br /&gt;&lt;iframe title=&quot;YouTube video player&quot; width=&quot;425&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/uJGWI1ImyeM?rel=0&amp;amp;hd=1&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/7843191251604862752/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/7843191251604862752' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7843191251604862752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7843191251604862752'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2011/04/java-ee-hello-world-ejb3-in-netbeans_21.html' title='Java EE - Hello world EJB3 in Netbeans'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/uJGWI1ImyeM/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-3752349719414102359</id><published>2010-10-08T23:49:00.000-07:00</published><updated>2010-10-08T23:56:56.638-07:00</updated><title type='text'>Tomcat 7 - Inicio automatico con Debian Lenny</title><content type='html'>Configurar Tomcat 7 para que arranque desde el inicio:&lt;br /&gt;&lt;br /&gt;descargar tomcat.7.tar.gz (este nombre es mas largo pero por razones practicas lo escribo de esta forma)&lt;br /&gt;# tar xvzf tomcat.7.tar.gz&lt;br /&gt;# mv tomcat7 /var&lt;br /&gt;&lt;br /&gt;crear usuario tomcat&lt;br /&gt;# adduser tomcat&lt;br /&gt;# chown -R root:tomcat /var/tomcat7&lt;br /&gt;&lt;br /&gt;configurar los permisos para que webapps sea un zócalo de dominio (socket): esto con el 2 antes del 755&lt;br /&gt;# chmod -R 2755 /var/tomcat7/webapps&lt;br /&gt;# ln -s /var/tomcat7/bin/startup.sh /etc/init.d/tomcat7&lt;br /&gt;&lt;br /&gt;configurar que tomcat arranque con el inicio de linux&lt;br /&gt;# update.rd-d tomcat7 defaults 99&lt;br /&gt;&lt;br /&gt;reiniciar el sistema&lt;br /&gt;# reboot&lt;br /&gt;&lt;br /&gt;Después de iniciar el sistema, comprobar que tomcat este ok.&lt;br /&gt;# netstat -tapn&lt;br /&gt;&lt;br /&gt;... debería aparecer alguna linea como esta&lt;br /&gt;tcp6   0  0 :::8080  :::*  LISTEN 2848/java  &lt;br /&gt;&lt;br /&gt;La forma descrita es bastante sencilla (pero funcional), lo cual puede que traer consigo algunas debilidades. Si alguien puede mejorar esto por favor me lo hace saber y con gusto lo compruebo y lo cambio.</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/3752349719414102359/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/3752349719414102359' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/3752349719414102359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/3752349719414102359'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2010/10/tomcat-7-inicio-automatico-con-debian.html' title='Tomcat 7 - Inicio automatico con Debian Lenny'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-2736628225804402852</id><published>2010-05-22T01:17:00.001-07:00</published><updated>2010-05-22T01:43:45.682-07:00</updated><title type='text'>Instalar SubVersion en Debian/Ubuntu</title><content type='html'>Instalamos los paquetes subVersion:&lt;br /&gt;# aptitude install subversion subversion-tools&lt;br /&gt;&lt;br /&gt;Creamos un usuario subVersion:&lt;br /&gt;# adduser svn&lt;br /&gt;&lt;br /&gt;Al crear un usuario svn, automáticamente se crea el grupo snv y el directorio &quot;/home/svn&quot;. Si este directorio ya esta creado habrá que pasarlo a nombre del usuario svn puesto que aquí guardaremos los repositorios de nuestros proyectos:&lt;br /&gt;# chown -Rf svn:svn /home/svn&lt;br /&gt;&lt;br /&gt;Añadimos a dicho grupo (svn) los usuarios que queremos que usen los repositorios subversion. Es importante que agreguemos a este grupo el usuario que utilizamos en Debian/Ubuntu:&lt;br /&gt;# usermod -a -G svn usuario_linux&lt;br /&gt;# usermod -a -G svn user1&lt;br /&gt;# usermod -a -G svn user2&lt;br /&gt;&lt;br /&gt;Me cambio al usuario svn:&lt;br /&gt;# su svn&lt;br /&gt;&lt;br /&gt;Se debe asegura que el usuario svn tiene definido correctamente el umask. Para ello modificamos el fichero /home/svn/.bash_profile y añadimos la línea. Esto nos garantiza que todos los ficheros que cree este usuario sólo serán visibles por él mismo y por el grupo svn, pero otros usuarios no podrán acceder ni en lectura ni en escritura:&lt;br /&gt;$ vi /home/svn/.bash_profile&lt;br /&gt;umask 027&lt;br /&gt;&lt;br /&gt;Ahora creamos la carpeta donde ubicaremos nuestros repositorios. Como seguridad creo un directorio que este dentro del home del usuario:&lt;br /&gt;$ mkdir /home/svn/svnRepos&lt;br /&gt;&lt;br /&gt;Y le damos los correspondientes permisos, para que los usuarios del grupo svn puedan trabajar en el repositorio:&lt;br /&gt;$ chmod -R 770 /home/svn/svnRepos&lt;br /&gt;&lt;br /&gt;Para cada proyecto, crearemos un repositorio:&lt;br /&gt;$ svnadmin create /home/svn/svnRepos/repositorio_prueba&lt;br /&gt;$ chmod -R 770 /home/svn/svnRepos/repositorio_prueba&lt;br /&gt;&lt;br /&gt;Ahora hacer una autentificación básica  sobre un fichero de texto plano en&lt;br /&gt;&quot;/home/svn/svnRepos/repositorio_prueba/conf/svnserve.conf&quot; pon lo siguiente:&lt;br /&gt;...&lt;br /&gt;[general]&lt;br /&gt;anon-access = none&lt;br /&gt;auth-access = write&lt;br /&gt;password-db = passwd&lt;br /&gt;realm = nombre del proyecto&lt;br /&gt;...&lt;br /&gt;Esto seria para: anónimos sin lectura ni escritura, autentificados con lectura y escritura. Lo que ves detrás de &quot;password-db&quot;, es el nombre de fichero de contraseñas. El path es referente al fichero que contiene los usuarios y contraseñas para acceder al repositorio &quot;/home/svn/svnRepos/repositorio_prueba/conf/passwd&quot;.&lt;br /&gt;Aquí su contenido de ejemplo (con un usuario):&lt;br /&gt;...&lt;br /&gt;[users]&lt;br /&gt;usuario_linux = mipws&lt;br /&gt;user1 = pwsuser1&lt;br /&gt;user2 = linuxnofalla&lt;br /&gt;...&lt;br /&gt;Donde passwd es el nombre del fichero donde se dan de alta los usuarios que tendrán permiso de escritura en el repositorio. Ojo con los permisos de este fichero, ya que las claves se almacenan en texto claro. En ningún caso debería tener permiso de lectura para el grupo ni para “others”.&lt;br /&gt;$ chmod 700 passwd&lt;br /&gt;...&lt;br /&gt;Donde realm define el prompt que verá el usuario para autenticarse, y también se usa por Subversion como identificador del “dominio” de autenticación:&lt;br /&gt;&lt;br /&gt;Para subir el código que tenemos. La primera vez lo hacemos así, es una importación completa.&lt;br /&gt;$ svn import &lt;/tu_directorio_de_trabajo/&gt; &lt;repositorio donde quedara el proyecto&gt; -m &quot;comentario de import&quot;&lt;br /&gt;...&lt;br /&gt;ejemplos:&lt;br /&gt;$ svn import /tu_directorio_de_trabajo/ file:///home/svn/svnRepos/repositorio_prueba -m &quot;import inicial&quot;&lt;br /&gt;$ svn import /tu_directorio_de_trabajo/ svn://host.example.com/repositorio_prueba -m &quot;import inicial&quot;&lt;br /&gt;...&lt;br /&gt;OPCIONES:&lt;br /&gt;file   file:///repository_path&lt;br /&gt;http  http://hostname/repository_path&lt;br /&gt;https  https://hostname/repository_path&lt;br /&gt;svn  svn://hostname/repository_path&lt;br /&gt;svn+ssh svn+ssh://hostname/repository_path&lt;br /&gt;&lt;br /&gt;REINICIAR EL COMPUTADOR.&lt;br /&gt;Antes de reiniciar no me funciono conectarme desde Netbeans, después, todo ok.&lt;br /&gt;De aquí en adelante ya puedes usar subVersion conectándote desde un cliente local, que en mi caso es Netbeans.&lt;br /&gt;&lt;br /&gt;Copias de seguridad&lt;br /&gt;Para dumpear nuestro repositorio conservando los históricos y todo (la idea es poner esto en un cron):&lt;br /&gt;$ svnadmin dump /home/svn/svnRepos/repositorio_prueba | gzip -9 &gt; dump_svn_prueba.gz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para restaurarlo:&lt;br /&gt;$ gunzip -c dump_svn_prueba.gz | svnadmin load /home/svn/svnRepos/repositorio_prueba&lt;br /&gt;&lt;br /&gt;Sacar una versión para distribuir.&lt;br /&gt;Si lo copias tal cual, llevará las carpetas .svn en cada directorio, así que lo único que tendrías que hacer es (en caso que quieras el árbol principal):&lt;br /&gt;$ tar -cvf prueba.tar trunk&lt;br /&gt;$ gzip prueba.tar&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;**************************************************&lt;br /&gt;Configuración del servicio para arrancar automáticamente:&lt;br /&gt;...&lt;br /&gt;Como servidor se utilizará svnserve. Se utiliza esta opción en vez de apache2 por:&lt;br /&gt;&lt;br /&gt;-Mejor velocidad.&lt;br /&gt;&lt;br /&gt;-Simplicidad de instalación y configuración, sin perder las prestaciones necesarias (usuarios independientes, configuración de acceso de sólo lectura o escritura para los usuarios, ...).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Se debe crear el fichero /etc/init.d/svnserve con el siguiente contenido:&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# start/stop svn (Subversion) server.&lt;br /&gt;&lt;br /&gt;set -e&lt;br /&gt;&lt;br /&gt;NAME=svnserve&lt;br /&gt;DESC=&quot;Subversion server&quot;&lt;br /&gt;DAEMON=/usr/bin/$NAME&lt;br /&gt;PARAMS=&quot;-d -T -r /var/lib/svn&quot;&lt;br /&gt;DAEMONUSER=svn&lt;br /&gt;&lt;br /&gt;test -x $DAEMON || exit 0&lt;br /&gt;&lt;br /&gt;. /lib/lsb/init-functions&lt;br /&gt;&lt;br /&gt;start_it_up()&lt;br /&gt;{&lt;br /&gt;log_daemon_msg &quot;Starting $DESC&quot; &quot;$NAME&quot;&lt;br /&gt;start-stop-daemon --start --quiet --chuid $DAEMONUSER:$DAEMONUSER --exec $DAEMON -- $PARAMS&lt;br /&gt;log_end_msg $?&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;shut_it_down()&lt;br /&gt;{&lt;br /&gt;log_daemon_msg &quot;Stopping $DESC&quot; &quot;$NAME&quot;&lt;br /&gt;start-stop-daemon --stop --retry 60 --quiet --oknodo --exec $DAEMON&lt;br /&gt;log_end_msg $?&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;case &quot;$1&quot; in&lt;br /&gt;start)&lt;br /&gt;start_it_up&lt;br /&gt;;;&lt;br /&gt;stop)&lt;br /&gt;shut_it_down&lt;br /&gt;;;&lt;br /&gt;restart)&lt;br /&gt;shut_it_down&lt;br /&gt;start_it_up&lt;br /&gt;;;&lt;br /&gt;*)&lt;br /&gt;echo &quot;Usage: /etc/init.d/$NAME {start|stop|restart}&quot; &gt;&amp;amp;2&lt;br /&gt;exit 1&lt;br /&gt;;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;exit 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nótese como la variable PARAMS define los parámetros con los que se arrancará svnserve:&lt;br /&gt;&lt;br /&gt;    -d ejecuta svnserve como un demonio.&lt;br /&gt;&lt;br /&gt;    -T para atender las peticiones se usarán hilos, en vez de procesos.&lt;br /&gt;&lt;br /&gt;    -r permite a los clientes no tener que escribir la ruta completa. Esto resulta más cómodo al cliente y aporta cierta seguridad al ocultar los detalles de donde están realmente los repositorios.&lt;br /&gt;&lt;br /&gt;Ahora sólo nos queda crear los enlaces simbólicos necesarios en la estructura /etc/rcx.d para que el servicio se arranque y se pare automáticamente al arrancara y parar el servidor. Para ello se hará:&lt;br /&gt;&lt;br /&gt;# update-rc.d svnserve defaults&lt;/repositorio&gt;&lt;/directorio&gt;</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/2736628225804402852/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/2736628225804402852' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2736628225804402852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/2736628225804402852'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2010/05/instalar-sub-version-en-debian.html' title='Instalar SubVersion en Debian/Ubuntu'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-7952366366646444261</id><published>2009-01-08T22:25:00.000-08:00</published><updated>2009-08-24T23:11:47.275-07:00</updated><title type='text'>Debian Lenny+Intel Corporation PRO/Wireless 3945ABG [kernel: 2.6.26-1-686]</title><content type='html'>Despues de mucho peregrinar por foros, aguantar Ubuntu porque era la unica distribucion que me reconocia la tarjeta Intel Corporation PRO/Wireless 3945ABG sin ningun problema, finalmente pude lograr lo mismo con Debian.&lt;br /&gt;&lt;br /&gt;yo lo instale utilizando XFCE4, pero al menos funcionara tambien para gnome.&lt;br /&gt;instalar las aplicaciones para administrar las redes.&lt;br /&gt;# apt-get install nm-applet&lt;br /&gt;# apt-get install xfce4-xfapplet-plugin&lt;br /&gt;&lt;br /&gt;tambien existe: wicd (http://wicd.sourceforge.net/download.php) para administrar las conexiones&lt;br /&gt;este es muy recomendado en algunos foros que he leido.&lt;br /&gt;&lt;br /&gt;La tarjeta que queremos configurar.&lt;br /&gt;# lspci | grep 3945A&lt;br /&gt;0b:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)&lt;br /&gt;&lt;br /&gt;mirar en /etc/udev/rules.d/70-persistent-net.rules si asignó un nombre al dispositivo.&lt;br /&gt;deberia salir algo como lo siguiente:&lt;br /&gt;# PCI device 0x8086:0x4222 (iwl3945)&lt;br /&gt;SUBSYSTEM==&quot;net&quot;, ACTION==&quot;add&quot;, DRIVERS==&quot;?*&quot;, ATTR{address}==&quot;00:xx:xx:xx:xx:xx&quot;, ATTR{type}==&quot;1&quot;, KERNEL==&quot;wlan*&quot;, NAME=&quot;wlan0&quot;&lt;br /&gt;&lt;br /&gt;plomo:/home/jcf# iwlist wlan0 scan&lt;br /&gt;wlan0     Interface doesn&#39;t support scanning : Network is down&lt;br /&gt;&lt;br /&gt;plomo:/home/jcf# ifconfig wlan0 up&lt;br /&gt;SIOCSIFFLAGS: No such file or directory&lt;br /&gt;&lt;br /&gt;# aptitude install firmware-ipw3945 ipw3945d ipw3945-modules-$(uname -r)&lt;br /&gt;este controlador en el kernel 2.6.26-1-686  esta obsoleto. Se debe usar iwl3945. probar hacer&lt;br /&gt;# modprobe iwl3945&lt;br /&gt;&lt;br /&gt;INSTALAR EL NUEVO FIRMWARE&lt;br /&gt;agregue el repositorio en /etc/apt/sources.list&lt;br /&gt;deb http://ftp.de.debian.org/debian lenny main non-free&lt;br /&gt;&lt;br /&gt;también se puede descargar el modulo e instalar en forma manual desde la página:&lt;br /&gt;http://packages.debian.org/search?keywords=firmware-iwlwifi&lt;br /&gt;(con este metodo no es necesario instalar el modulo con &quot;apt-get&quot; o &quot;aptitude&quot;)&lt;br /&gt;&lt;br /&gt;# apt-get update&lt;br /&gt;# aptitude install firmware-iwlwifi&lt;br /&gt;&lt;br /&gt;verifica que tenga la linea: &quot;mac80211 xxxx x iwl3945&quot;&lt;br /&gt;&lt;br /&gt;# lsmod | grep mac&lt;br /&gt;mac80211 xxxx x iwl3945&lt;br /&gt;&lt;br /&gt;si sale algo como lo anterior, hacer&lt;br /&gt;# ifconfig wlan0 up &lt;br /&gt;&lt;br /&gt;puede que nuevamente aparezca &quot;SIOCSIFFLAGS: No such file or directory&quot;&lt;br /&gt;y esto puede deberse a que la tarjeta de red inalámbrica no este activada&lt;br /&gt;con el boton activar que algunos notebook traen en la orillas o a traves&lt;br /&gt;de la tecla &quot;Fn&quot; o &quot;Function&quot; en el teclado.&lt;br /&gt;&lt;br /&gt;# ifconfig    // ... y deberia aparecer algo como &lt;br /&gt;wmaster0  Link encap:UNSPEC  HWaddr xx xxx x x x x  x xx xx  &lt;br /&gt;          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;          collisions:0 txqueuelen:1000 &lt;br /&gt;          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;&lt;br /&gt;y listo !!! reiniciar la interface de red (aunque yo recomiendo reiniciar el computador para asegurarse de que todo este en orden)&lt;br /&gt;# /etc/init.d/networking restart&lt;br /&gt;&lt;br /&gt;FOROS GRACIAS A LOS CUALES SOLUCIONE EL PROBLEMA:&lt;br /&gt;http://www.esdebian.org/foro/26367/configurar-tarjeta-wifi-ipw3945-lenny&lt;br /&gt;http://www.nabble.com/Problemas-con-HP-530-y-Wireless-3945ABG-td20640809.html&lt;br /&gt;http://sysadminforum.com/showthread.php?p=5970077&lt;br /&gt;http://www.esdebian.org/articulos/24469/mis-repositorios-debian&lt;br /&gt;http://www.esdebian.org/wiki/tutorial-aptitude&lt;br /&gt;&lt;br /&gt;#Multimedia testing&lt;br /&gt;deb http://www.debian-multimedia.org testing main</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/7952366366646444261/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/7952366366646444261' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7952366366646444261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7952366366646444261'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2009/01/debian-lennyintel-corporation.html' title='Debian Lenny+Intel Corporation PRO/Wireless 3945ABG [kernel: 2.6.26-1-686]'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8807497864013532305.post-7874644437753599166</id><published>2007-11-14T10:24:00.000-08:00</published><updated>2007-11-14T11:31:42.711-08:00</updated><title type='text'>Servidor DNS en FreeBSD</title><content type='html'>Server DNS en FreeBSD:&lt;br /&gt;descargar bind-9.4.1-P1.tar.gz&lt;br /&gt;~# tar xvzf bind-9.4.1-P1.tar.gz&lt;br /&gt;~# cd bind-9.4.1-P1&lt;br /&gt;~# ./configure --disable-openssl-version-check&lt;br /&gt;~# make&lt;br /&gt;~# make install&lt;br /&gt;&lt;br /&gt;añadir las siguientes modificaciones en /etc/rc.conf:&lt;br /&gt;named_enable=&quot;YES&quot;  &lt;br /&gt;// con esto se inicia el server de DNS al principio.&lt;br /&gt;&lt;br /&gt;Asegúrese de hacer los siguiente:&lt;br /&gt;# cd /etc/namedb&lt;br /&gt;# bash make-localhost &lt;br /&gt;&lt;br /&gt;y se crea /etc/namedb/master/localhost.rev&lt;br /&gt;# cd /etc/namedb/master&lt;br /&gt;&lt;br /&gt;y para crear el archivo de zona:&lt;br /&gt;# cp localhost.rev mi_nombre_dominio.cl.zone&lt;br /&gt;&lt;br /&gt;# vi mi_nombre_dominio.cl.zone&lt;br /&gt;&lt;br /&gt;      =======================inicio archivo===============================&lt;br /&gt; $TTL 86400&lt;br /&gt; &lt;br /&gt; @       IN      SOA     ns.mi_nombre_dominio.cl. root.ns.mi_nombre_dominio.cl.  (&lt;br /&gt;                                 20071112        ; Serial&lt;br /&gt;                                 3600    ; Refresh&lt;br /&gt;                                 900     ; Retry&lt;br /&gt;                                 3600000 ; Expire&lt;br /&gt;                                 3600 )  ; Minimum&lt;br /&gt;&lt;br /&gt;         IN      NS      ns.mi_nombre_dominio.cl.&lt;br /&gt;         IN      MX      10 correo.mi_nombre_dominio.cl.&lt;br /&gt; &lt;br /&gt; 1       IN      PTR     localhost.mi_nombre_dominio.cl.&lt;br /&gt; ns      IN      A       192.168.5.121&lt;br /&gt; www     IN      A       192.168.5.121&lt;br /&gt; mail    IN      A       192.168.5.121&lt;br /&gt;      ========================fin archivo==============================&lt;br /&gt;&lt;br /&gt;# cd /etc/namedb&lt;br /&gt;# vi named.conf&lt;br /&gt;&lt;br /&gt;      =========================inicio archivo=============================&lt;br /&gt; acl clients {&lt;br /&gt;         localnets;&lt;br /&gt;         ::1;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; options {&lt;br /&gt;         directory       &quot;/etc/namedb&quot;;&lt;br /&gt;                pid-file        &quot;/var/run/named/pid&quot;;&lt;br /&gt;         dump-file       &quot;/var/dump/named_dump.db&quot;;&lt;br /&gt;         statistics-file &quot;/var/stats/named.stats&quot;;&lt;br /&gt;&lt;br /&gt;         listen-on {any; };&lt;br /&gt;         listen-on-v6 {any; };&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone &quot;.&quot; {&lt;br /&gt;          type hint;&lt;br /&gt;          file &quot;named.root&quot;;&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;  zone &quot;0.0.127.IN-ADDR.ARPA&quot; {&lt;br /&gt;          type master;&lt;br /&gt;          file &quot;master/localhost.rev&quot;;&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt; // RFC 3152&lt;br /&gt; zone &quot;1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA&quot;&lt;br /&gt; {&lt;br /&gt;         type master;&lt;br /&gt;         file &quot;master/localhost-v6.rev&quot;;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; zone &quot;mi_nombre_dominio.cl&quot;  IN {&lt;br /&gt;         type master;&lt;br /&gt;         file &quot;master/mi_nombre_dominio.cl.zone&quot;;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; zone &quot;168.192.in-addr.arpa&quot; IN {&lt;br /&gt;         type master;&lt;br /&gt;         file &quot;master/168.192.in-addr.arpa.zone&quot;;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt;      ===============================fin archivo==================== &lt;br /&gt;&lt;br /&gt;despues en /etc/resolv.conf&lt;br /&gt;ip_del_server_dns&lt;br /&gt;&lt;br /&gt;para apache poner en /usr/local/etc/apache22/httpd.conf&lt;br /&gt;ServerName www.mi_nombre_dominio.cl:80&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------</content><link rel='replies' type='application/atom+xml' href='http://openchile.blogspot.com/feeds/7874644437753599166/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8807497864013532305/7874644437753599166' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7874644437753599166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8807497864013532305/posts/default/7874644437753599166'/><link rel='alternate' type='text/html' href='http://openchile.blogspot.com/2007/11/servidor-dns-en-freebsd.html' title='Servidor DNS en FreeBSD'/><author><name>Cristian Ortiz M.</name><uri>http://www.blogger.com/profile/07281479697858974722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv4owX9kjho3wxitQdoFCOp39R29U1JYR-vA1YbaBtqIoN51z6SEYEuRgjln695g4Q5BsEP4hSfHON2GstWRFN4ovU7iGA8CQmR9HhfaAkJesJ1r-nd_PXVrNp1P0zKA/s1600/*'/></author><thr:total>1</thr:total></entry></feed>