pytorch3d/tutorials/camera_position_optimization_with_differentiable_rendering.html
2020-03-26 11:13:34 -07:00

3326 lines
290 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang=""><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>PyTorch3D · A library for deep learning with 3D data</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="A library for deep learning with 3D data"/><meta property="og:title" content="PyTorch3D · A library for deep learning with 3D data"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pytorch3d.org/"/><meta property="og:description" content="A library for deep learning with 3D data"/><meta property="og:image" content="https://pytorch3d.org/img/pytorch3dlogoicon.svg"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pytorch3d.org/img/pytorch3dlogoicon.svg"/><link rel="shortcut icon" href="/img/pytorch3dfavicon.png"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"/><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-157376881-1', 'auto');
ga('send', 'pageview');
</script><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/pytorch3dfavicon.png" alt="PyTorch3D"/><h2 class="headerTitleWithLogo">PyTorch3D</h2></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/why_pytorch3d" target="_self">Docs</a></li><li class=""><a href="/tutorials" target="_self">Tutorials</a></li><li class=""><a href="https://pytorch3d.readthedocs.io/" target="_self">API</a></li><li class=""><a href="https://github.com/facebookresearch/pytorch3d" target="_self">GitHub</a></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i></i><span></span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle">Tutorials</h3><ul class=""><li class="navListItem"><a class="navItem" href="/tutorials/">Overview</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">3D operators</h3><ul class=""><li class="navListItem"><a class="navItem" href="/tutorials/deform_source_mesh_to_target_mesh">Fit Mesh</a></li><li class="navListItem"><a class="navItem" href="/tutorials/bundle_adjustment">Bundle Adjustment</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Rendering</h3><ul class=""><li class="navListItem"><a class="navItem" href="/tutorials/render_textured_meshes">Render Textured Meshes</a></li><li class="navListItem navListItemActive"><a class="navItem" href="/tutorials/camera_position_optimization_with_differentiable_rendering">Camera Position Optimization</a></li></ul></div></div></section></div><script>
var coll = document.getElementsByClassName('collapsible');
var checkActiveCategory = true;
for (var i = 0; i < coll.length; i++) {
var links = coll[i].nextElementSibling.getElementsByTagName('*');
if (checkActiveCategory){
for (var j = 0; j < links.length; j++) {
if (links[j].classList.contains('navListItemActive')){
coll[i].nextElementSibling.classList.toggle('hide');
coll[i].childNodes[1].classList.toggle('rotate');
checkActiveCategory = false;
break;
}
}
}
coll[i].addEventListener('click', function() {
var arrow = this.childNodes[1];
arrow.classList.toggle('rotate');
var content = this.nextElementSibling;
content.classList.toggle('hide');
});
}
document.addEventListener('DOMContentLoaded', function() {
createToggler('#navToggler', '#docsNav', 'docsSliderActive');
createToggler('#tocToggler', 'body', 'tocActive');
var headings = document.querySelector('.toc-headings');
headings && headings.addEventListener('click', function(event) {
var el = event.target;
while(el !== headings){
if (el.tagName === 'A') {
document.body.classList.remove('tocActive');
break;
} else{
el = el.parentNode;
}
}
}, false);
function createToggler(togglerSelector, targetSelector, className) {
var toggler = document.querySelector(togglerSelector);
var target = document.querySelector(targetSelector);
if (!toggler) {
return;
}
toggler.onclick = function(event) {
event.preventDefault();
target.classList.toggle(className);
};
}
});
</script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="tutorialButtonsWrapper"><div class="tutorialButtonWrapper buttonWrapper"><a class="tutorialButton button" download="" href="https://colab.research.google.com/github/facebookresearch/pytorch3d/blob/stable/docs/tutorials/camera_position_optimization_with_differentiable_rendering.ipynb" target="_blank"><img class="colabButton" align="left" src="/img/colab_icon.png"/>Run in Google Colab</a></div><div class="tutorialButtonWrapper buttonWrapper"><a class="tutorialButton button" download="" href="/files/camera_position_optimization_with_differentiable_rendering.ipynb" target="_blank"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="file-download" class="svg-inline--fa fa-file-download fa-w-12" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"></path></svg>Download Tutorial Jupyter Notebook</a></div><div class="tutorialButtonWrapper buttonWrapper"><a class="tutorialButton button" download="" href="/files/camera_position_optimization_with_differentiable_rendering.py" target="_blank"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="file-download" class="svg-inline--fa fa-file-download fa-w-12" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"></path></svg>Download Tutorial Source Code</a></div></div><div class="tutorialBody">
<script
src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js">
</script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js">
</script>
<div class="notebook">
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [0]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Camera-position-optimization-using-differentiable-rendering">Camera position optimization using differentiable rendering<a class="anchor-link" href="#Camera-position-optimization-using-differentiable-rendering"></a></h1><p>In this tutorial we will learn the [x, y, z] position of a camera given a reference image using differentiable rendering.</p>
<p>We will first initialize a renderer with a starting position for the camera. We will then use this to generate an image, compute a loss with the reference image, and finally backpropagate through the entire pipeline to update the position of the camera.</p>
<p>This tutorial shows how to:</p>
<ul>
<li>load a mesh from an <code>.obj</code> file</li>
<li>initialize a <code>Camera</code>, <code>Shader</code> and <code>Renderer</code>,</li>
<li>render a mesh</li>
<li>set up an optimization loop with a loss function and optimizer</li>
</ul>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="0.-Install-and-import-modules">0. Install and import modules<a class="anchor-link" href="#0.-Install-and-import-modules"></a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>If <code>torch</code>, <code>torchvision</code> and <code>pytorch3d</code> are not installed, run the following cell:</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [1]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="o">!</span>pip install torch torchvision
<span class="o">!</span>pip install <span class="s1">'git+https://github.com/facebookresearch/pytorch3d.git@stable'</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [2]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
<span class="kn">import</span> <span class="nn">torch</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">from</span> <span class="nn">tqdm</span> <span class="k">import</span> <span class="n">tqdm_notebook</span>
<span class="kn">import</span> <span class="nn">imageio</span>
<span class="kn">import</span> <span class="nn">torch.nn</span> <span class="k">as</span> <span class="nn">nn</span>
<span class="kn">import</span> <span class="nn">torch.nn.functional</span> <span class="k">as</span> <span class="nn">F</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="kn">from</span> <span class="nn">skimage</span> <span class="k">import</span> <span class="n">img_as_ubyte</span>
<span class="c1"># io utils</span>
<span class="kn">from</span> <span class="nn">pytorch3d.io</span> <span class="k">import</span> <span class="n">load_obj</span>
<span class="c1"># datastructures</span>
<span class="kn">from</span> <span class="nn">pytorch3d.structures</span> <span class="k">import</span> <span class="n">Meshes</span><span class="p">,</span> <span class="n">Textures</span>
<span class="c1"># 3D transformations functions</span>
<span class="kn">from</span> <span class="nn">pytorch3d.transforms</span> <span class="k">import</span> <span class="n">Rotate</span><span class="p">,</span> <span class="n">Translate</span>
<span class="c1"># rendering components</span>
<span class="kn">from</span> <span class="nn">pytorch3d.renderer</span> <span class="k">import</span> <span class="p">(</span>
<span class="n">OpenGLPerspectiveCameras</span><span class="p">,</span> <span class="n">look_at_view_transform</span><span class="p">,</span> <span class="n">look_at_rotation</span><span class="p">,</span>
<span class="n">RasterizationSettings</span><span class="p">,</span> <span class="n">MeshRenderer</span><span class="p">,</span> <span class="n">MeshRasterizer</span><span class="p">,</span> <span class="n">BlendParams</span><span class="p">,</span>
<span class="n">SoftSilhouetteShader</span><span class="p">,</span> <span class="n">HardPhongShader</span><span class="p">,</span> <span class="n">PointLights</span>
<span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="1.-Load-the-Obj">1. Load the Obj<a class="anchor-link" href="#1.-Load-the-Obj"></a></h2><p>We will load an obj file and create a <strong>Meshes</strong> object. <strong>Meshes</strong> is a unique datastructure provided in PyTorch3D for working with <strong>batches of meshes of different sizes</strong>. It has several useful class methods which are used in the rendering pipeline.</p>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>If you are running this notebook locally after cloning the PyTorch3D repository, the mesh will already be available. <strong>If using Google Colab, fetch the mesh and save it at the path <code>data/</code></strong>:</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [2]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="o">!</span>mkdir -p data
<span class="o">!</span>wget -P data https://dl.fbaipublicfiles.com/pytorch3d/data/teapot/teapot.obj
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [3]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Set the cuda device </span>
<span class="n">device</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">device</span><span class="p">(</span><span class="s2">"cuda:0"</span><span class="p">)</span>
<span class="n">torch</span><span class="o">.</span><span class="n">cuda</span><span class="o">.</span><span class="n">set_device</span><span class="p">(</span><span class="n">device</span><span class="p">)</span>
<span class="c1"># Load the obj and ignore the textures and materials.</span>
<span class="n">verts</span><span class="p">,</span> <span class="n">faces_idx</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">load_obj</span><span class="p">(</span><span class="s2">"./data/teapot.obj"</span><span class="p">)</span>
<span class="n">faces</span> <span class="o">=</span> <span class="n">faces_idx</span><span class="o">.</span><span class="n">verts_idx</span>
<span class="c1"># Initialize each vertex to be white in color.</span>
<span class="n">verts_rgb</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">ones_like</span><span class="p">(</span><span class="n">verts</span><span class="p">)[</span><span class="kc">None</span><span class="p">]</span> <span class="c1"># (1, V, 3)</span>
<span class="n">textures</span> <span class="o">=</span> <span class="n">Textures</span><span class="p">(</span><span class="n">verts_rgb</span><span class="o">=</span><span class="n">verts_rgb</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">device</span><span class="p">))</span>
<span class="c1"># Create a Meshes object for the teapot. Here we have only one mesh in the batch.</span>
<span class="n">teapot_mesh</span> <span class="o">=</span> <span class="n">Meshes</span><span class="p">(</span>
<span class="n">verts</span><span class="o">=</span><span class="p">[</span><span class="n">verts</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">device</span><span class="p">)],</span>
<span class="n">faces</span><span class="o">=</span><span class="p">[</span><span class="n">faces</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">device</span><span class="p">)],</span>
<span class="n">textures</span><span class="o">=</span><span class="n">textures</span>
<span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="2.-Optimization-setup">2. Optimization setup<a class="anchor-link" href="#2.-Optimization-setup"></a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Create-a-renderer">Create a renderer<a class="anchor-link" href="#Create-a-renderer"></a></h3><p>A <strong>renderer</strong> in PyTorch3D is composed of a <strong>rasterizer</strong> and a <strong>shader</strong> which each have a number of subcomponents such as a <strong>camera</strong> (orthgraphic/perspective). Here we initialize some of these components and use default values for the rest.</p>
<p>For optimizing the camera position we will use a renderer which produces a <strong>silhouette</strong> of the object only and does not apply any <strong>lighting</strong> or <strong>shading</strong>. We will also initialize another renderer which applies full <strong>phong shading</strong> and use this for visualizing the outputs.</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [4]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Initialize an OpenGL perspective camera.</span>
<span class="n">cameras</span> <span class="o">=</span> <span class="n">OpenGLPerspectiveCameras</span><span class="p">(</span><span class="n">device</span><span class="o">=</span><span class="n">device</span><span class="p">)</span>
<span class="c1"># To blend the 100 faces we set a few parameters which control the opacity and the sharpness of </span>
<span class="c1"># edges. Refer to blending.py for more details. </span>
<span class="n">blend_params</span> <span class="o">=</span> <span class="n">BlendParams</span><span class="p">(</span><span class="n">sigma</span><span class="o">=</span><span class="mf">1e-4</span><span class="p">,</span> <span class="n">gamma</span><span class="o">=</span><span class="mf">1e-4</span><span class="p">)</span>
<span class="c1"># Define the settings for rasterization and shading. Here we set the output image to be of size</span>
<span class="c1"># 256x256. To form the blended image we use 100 faces for each pixel. We also set bin_size and max_faces_per_bin to None which ensure that </span>
<span class="c1"># the faster coarse-to-fine rasterization method is used. Refer to rasterize_meshes.py for </span>
<span class="c1"># explanations of these parameters. Refer to docs/notes/renderer.md for an explanation of </span>
<span class="c1"># the difference between naive and coarse-to-fine rasterization. </span>
<span class="n">raster_settings</span> <span class="o">=</span> <span class="n">RasterizationSettings</span><span class="p">(</span>
<span class="n">image_size</span><span class="o">=</span><span class="mi">256</span><span class="p">,</span>
<span class="n">blur_radius</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="mf">1.</span> <span class="o">/</span> <span class="mf">1e-4</span> <span class="o">-</span> <span class="mf">1.</span><span class="p">)</span> <span class="o">*</span> <span class="n">blend_params</span><span class="o">.</span><span class="n">sigma</span><span class="p">,</span>
<span class="n">faces_per_pixel</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
<span class="n">bin_size</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="c1"># this setting controls whether naive or coarse-to-fine rasterization is used</span>
<span class="n">max_faces_per_bin</span> <span class="o">=</span> <span class="kc">None</span> <span class="c1"># this setting is for coarse rasterization</span>
<span class="p">)</span>
<span class="c1"># Create a silhouette mesh renderer by composing a rasterizer and a shader. </span>
<span class="n">silhouette_renderer</span> <span class="o">=</span> <span class="n">MeshRenderer</span><span class="p">(</span>
<span class="n">rasterizer</span><span class="o">=</span><span class="n">MeshRasterizer</span><span class="p">(</span>
<span class="n">cameras</span><span class="o">=</span><span class="n">cameras</span><span class="p">,</span>
<span class="n">raster_settings</span><span class="o">=</span><span class="n">raster_settings</span>
<span class="p">),</span>
<span class="n">shader</span><span class="o">=</span><span class="n">SoftSilhouetteShader</span><span class="p">(</span><span class="n">blend_params</span><span class="o">=</span><span class="n">blend_params</span><span class="p">)</span>
<span class="p">)</span>
<span class="c1"># We will also create a phong renderer. This is simpler and only needs to render one face per pixel.</span>
<span class="n">raster_settings</span> <span class="o">=</span> <span class="n">RasterizationSettings</span><span class="p">(</span>
<span class="n">image_size</span><span class="o">=</span><span class="mi">256</span><span class="p">,</span>
<span class="n">blur_radius</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span>
<span class="n">faces_per_pixel</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
<span class="n">bin_size</span><span class="o">=</span><span class="mi">0</span>
<span class="p">)</span>
<span class="c1"># We can add a point light in front of the object. </span>
<span class="n">lights</span> <span class="o">=</span> <span class="n">PointLights</span><span class="p">(</span><span class="n">device</span><span class="o">=</span><span class="n">device</span><span class="p">,</span> <span class="n">location</span><span class="o">=</span><span class="p">((</span><span class="mf">2.0</span><span class="p">,</span> <span class="mf">2.0</span><span class="p">,</span> <span class="o">-</span><span class="mf">2.0</span><span class="p">),))</span>
<span class="n">phong_renderer</span> <span class="o">=</span> <span class="n">MeshRenderer</span><span class="p">(</span>
<span class="n">rasterizer</span><span class="o">=</span><span class="n">MeshRasterizer</span><span class="p">(</span>
<span class="n">cameras</span><span class="o">=</span><span class="n">cameras</span><span class="p">,</span>
<span class="n">raster_settings</span><span class="o">=</span><span class="n">raster_settings</span>
<span class="p">),</span>
<span class="n">shader</span><span class="o">=</span><span class="n">HardPhongShader</span><span class="p">(</span><span class="n">device</span><span class="o">=</span><span class="n">device</span><span class="p">,</span> <span class="n">lights</span><span class="o">=</span><span class="n">lights</span><span class="p">)</span>
<span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Create-a-reference-image">Create a reference image<a class="anchor-link" href="#Create-a-reference-image"></a></h3><p>We will first position the teapot and generate an image. We use helper functions to rotate the teapot to a desired viewpoint. Then we can use the renderers to produce an image. Here we will use both renderers and visualize the silhouette and full shaded image.</p>
<p>The world coordinate system is defined as +Y up, +X left and +Z in. The teapot in world coordinates has the spout pointing to the left.</p>
<p>We defined a camera which is positioned on the positive z axis hence sees the spout to the right.</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [5]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Select the viewpoint using spherical angles </span>
<span class="n">distance</span> <span class="o">=</span> <span class="mi">3</span> <span class="c1"># distance from camera to the object</span>
<span class="n">elevation</span> <span class="o">=</span> <span class="mf">50.0</span> <span class="c1"># angle of elevation in degrees</span>
<span class="n">azimuth</span> <span class="o">=</span> <span class="mf">0.0</span> <span class="c1"># No rotation so the camera is positioned on the +Z axis. </span>
<span class="c1"># Get the position of the camera based on the spherical angles</span>
<span class="n">R</span><span class="p">,</span> <span class="n">T</span> <span class="o">=</span> <span class="n">look_at_view_transform</span><span class="p">(</span><span class="n">distance</span><span class="p">,</span> <span class="n">elevation</span><span class="p">,</span> <span class="n">azimuth</span><span class="p">,</span> <span class="n">device</span><span class="o">=</span><span class="n">device</span><span class="p">)</span>
<span class="c1"># Render the teapot providing the values of R and T. </span>
<span class="n">silhouete</span> <span class="o">=</span> <span class="n">silhouette_renderer</span><span class="p">(</span><span class="n">meshes_world</span><span class="o">=</span><span class="n">teapot_mesh</span><span class="p">,</span> <span class="n">R</span><span class="o">=</span><span class="n">R</span><span class="p">,</span> <span class="n">T</span><span class="o">=</span><span class="n">T</span><span class="p">)</span>
<span class="n">image_ref</span> <span class="o">=</span> <span class="n">phong_renderer</span><span class="p">(</span><span class="n">meshes_world</span><span class="o">=</span><span class="n">teapot_mesh</span><span class="p">,</span> <span class="n">R</span><span class="o">=</span><span class="n">R</span><span class="p">,</span> <span class="n">T</span><span class="o">=</span><span class="n">T</span><span class="p">)</span>
<span class="n">silhouete</span> <span class="o">=</span> <span class="n">silhouete</span><span class="o">.</span><span class="n">cpu</span><span class="p">()</span><span class="o">.</span><span class="n">numpy</span><span class="p">()</span>
<span class="n">image_ref</span> <span class="o">=</span> <span class="n">image_ref</span><span class="o">.</span><span class="n">cpu</span><span class="p">()</span><span class="o">.</span><span class="n">numpy</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">10</span><span class="p">))</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">silhouete</span><span class="o">.</span><span class="n">squeeze</span><span class="p">()[</span><span class="o">...</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span> <span class="c1"># only plot the alpha channel of the RGBA image</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">image_ref</span><span class="o">.</span><span class="n">squeeze</span><span class="p">())</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
"/>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Set-up-a-basic-model">Set up a basic model<a class="anchor-link" href="#Set-up-a-basic-model"></a></h3><p>Here we create a simple model class and initialize a parameter for the camera position.</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [17]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">class</span> <span class="nc">Model</span><span class="p">(</span><span class="n">nn</span><span class="o">.</span><span class="n">Module</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">meshes</span><span class="p">,</span> <span class="n">renderer</span><span class="p">,</span> <span class="n">image_ref</span><span class="p">):</span>
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">meshes</span> <span class="o">=</span> <span class="n">meshes</span>
<span class="bp">self</span><span class="o">.</span><span class="n">device</span> <span class="o">=</span> <span class="n">meshes</span><span class="o">.</span><span class="n">device</span>
<span class="bp">self</span><span class="o">.</span><span class="n">renderer</span> <span class="o">=</span> <span class="n">renderer</span>
<span class="c1"># Get the silhouette of the reference RGB image by finding all the non zero values. </span>
<span class="n">image_ref</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">from_numpy</span><span class="p">((</span><span class="n">image_ref</span><span class="p">[</span><span class="o">...</span><span class="p">,</span> <span class="p">:</span><span class="mi">3</span><span class="p">]</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">register_buffer</span><span class="p">(</span><span class="s1">'image_ref'</span><span class="p">,</span> <span class="n">image_ref</span><span class="p">)</span>
<span class="c1"># Create an optimizable parameter for the x, y, z position of the camera. </span>
<span class="bp">self</span><span class="o">.</span><span class="n">camera_position</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Parameter</span><span class="p">(</span>
<span class="n">torch</span><span class="o">.</span><span class="n">from_numpy</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mf">3.0</span><span class="p">,</span> <span class="mf">6.9</span><span class="p">,</span> <span class="o">+</span><span class="mf">2.5</span><span class="p">],</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">))</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">meshes</span><span class="o">.</span><span class="n">device</span><span class="p">))</span>
<span class="k">def</span> <span class="nf">forward</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="c1"># Render the image using the updated camera position. Based on the new position of the </span>
<span class="c1"># camer we calculate the rotation and translation matrices</span>
<span class="n">R</span> <span class="o">=</span> <span class="n">look_at_rotation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">camera_position</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="p">:],</span> <span class="n">device</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">device</span><span class="p">)</span> <span class="c1"># (1, 3, 3)</span>
<span class="n">T</span> <span class="o">=</span> <span class="o">-</span><span class="n">torch</span><span class="o">.</span><span class="n">bmm</span><span class="p">(</span><span class="n">R</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="bp">self</span><span class="o">.</span><span class="n">camera_position</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="p">:,</span> <span class="kc">None</span><span class="p">])[:,</span> <span class="p">:,</span> <span class="mi">0</span><span class="p">]</span> <span class="c1"># (1, 3)</span>
<span class="n">image</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">renderer</span><span class="p">(</span><span class="n">meshes_world</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">meshes</span><span class="o">.</span><span class="n">clone</span><span class="p">(),</span> <span class="n">R</span><span class="o">=</span><span class="n">R</span><span class="p">,</span> <span class="n">T</span><span class="o">=</span><span class="n">T</span><span class="p">)</span>
<span class="c1"># Calculate the silhouette loss</span>
<span class="n">loss</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">sum</span><span class="p">((</span><span class="n">image</span><span class="p">[</span><span class="o">...</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_ref</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
<span class="k">return</span> <span class="n">loss</span><span class="p">,</span> <span class="n">image</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="3.-Initialize-the-model-and-optimizer">3. Initialize the model and optimizer<a class="anchor-link" href="#3.-Initialize-the-model-and-optimizer"></a></h2><p>Now we can create an instance of the <strong>model</strong> above and set up an <strong>optimizer</strong> for the camera position parameter.</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [18]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># We will save images periodically and compose them into a GIF.</span>
<span class="n">filename_output</span> <span class="o">=</span> <span class="s2">"./teapot_optimization_demo.gif"</span>
<span class="n">writer</span> <span class="o">=</span> <span class="n">imageio</span><span class="o">.</span><span class="n">get_writer</span><span class="p">(</span><span class="n">filename_output</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s1">'I'</span><span class="p">,</span> <span class="n">duration</span><span class="o">=</span><span class="mf">0.3</span><span class="p">)</span>
<span class="c1"># Initialize a model using the renderer, mesh and reference image</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">Model</span><span class="p">(</span><span class="n">meshes</span><span class="o">=</span><span class="n">teapot_mesh</span><span class="p">,</span> <span class="n">renderer</span><span class="o">=</span><span class="n">silhouette_renderer</span><span class="p">,</span> <span class="n">image_ref</span><span class="o">=</span><span class="n">image_ref</span><span class="p">)</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">device</span><span class="p">)</span>
<span class="c1"># Create an optimizer. Here we are using Adam and we pass in the parameters of the model</span>
<span class="n">optimizer</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">optim</span><span class="o">.</span><span class="n">Adam</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">parameters</span><span class="p">(),</span> <span class="n">lr</span><span class="o">=</span><span class="mf">0.05</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="Visualize-the-starting-position-and-the-reference-position">Visualize the starting position and the reference position<a class="anchor-link" href="#Visualize-the-starting-position-and-the-reference-position"></a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [19]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">10</span><span class="p">))</span>
<span class="n">_</span><span class="p">,</span> <span class="n">image_init</span> <span class="o">=</span> <span class="n">model</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">image_init</span><span class="o">.</span><span class="n">detach</span><span class="p">()</span><span class="o">.</span><span class="n">squeeze</span><span class="p">()</span><span class="o">.</span><span class="n">cpu</span><span class="p">()</span><span class="o">.</span><span class="n">numpy</span><span class="p">()[</span><span class="o">...</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Starting position"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">image_ref</span><span class="o">.</span><span class="n">cpu</span><span class="p">()</span><span class="o">.</span><span class="n">numpy</span><span class="p">()</span><span class="o">.</span><span class="n">squeeze</span><span class="p">())</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Reference silhouette"</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[19]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>Text(0.5, 1.0, 'Reference silhouette')</pre>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
kiSV5P8D4F92xJykcVkAAAAASUVORK5CYII=
"/>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="4.-Run-the-optimization">4. Run the optimization<a class="anchor-link" href="#4.-Run-the-optimization"></a></h2><p>We run several iterations of the forward and backward pass and save outputs every 10 iterations. When this has finished take a look at <code>./teapot_optimization_demo.gif</code> for a cool gif of the optimization process!</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [20]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">loop</span> <span class="o">=</span> <span class="n">tqdm_notebook</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">200</span><span class="p">))</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">loop</span><span class="p">:</span>
<span class="n">optimizer</span><span class="o">.</span><span class="n">zero_grad</span><span class="p">()</span>
<span class="n">loss</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">model</span><span class="p">()</span>
<span class="n">loss</span><span class="o">.</span><span class="n">backward</span><span class="p">()</span>
<span class="n">optimizer</span><span class="o">.</span><span class="n">step</span><span class="p">()</span>
<span class="n">loop</span><span class="o">.</span><span class="n">set_description</span><span class="p">(</span><span class="s1">'Optimizing (loss </span><span class="si">%.4f</span><span class="s1">)'</span> <span class="o">%</span> <span class="n">loss</span><span class="o">.</span><span class="n">data</span><span class="p">)</span>
<span class="k">if</span> <span class="n">loss</span><span class="o">.</span><span class="n">item</span><span class="p">()</span> <span class="o">&lt;</span> <span class="mi">200</span><span class="p">:</span>
<span class="k">break</span>
<span class="c1"># Save outputs to create a GIF. </span>
<span class="k">if</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">10</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">R</span> <span class="o">=</span> <span class="n">look_at_rotation</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">camera_position</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="p">:],</span> <span class="n">device</span><span class="o">=</span><span class="n">model</span><span class="o">.</span><span class="n">device</span><span class="p">)</span>
<span class="n">T</span> <span class="o">=</span> <span class="o">-</span><span class="n">torch</span><span class="o">.</span><span class="n">bmm</span><span class="p">(</span><span class="n">R</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="n">model</span><span class="o">.</span><span class="n">camera_position</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="p">:,</span> <span class="kc">None</span><span class="p">])[:,</span> <span class="p">:,</span> <span class="mi">0</span><span class="p">]</span> <span class="c1"># (1, 3)</span>
<span class="n">image</span> <span class="o">=</span> <span class="n">phong_renderer</span><span class="p">(</span><span class="n">meshes_world</span><span class="o">=</span><span class="n">model</span><span class="o">.</span><span class="n">meshes</span><span class="o">.</span><span class="n">clone</span><span class="p">(),</span> <span class="n">R</span><span class="o">=</span><span class="n">R</span><span class="p">,</span> <span class="n">T</span><span class="o">=</span><span class="n">T</span><span class="p">)</span>
<span class="n">image</span> <span class="o">=</span> <span class="n">image</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="o">...</span><span class="p">,</span> <span class="p">:</span><span class="mi">3</span><span class="p">]</span><span class="o">.</span><span class="n">detach</span><span class="p">()</span><span class="o">.</span><span class="n">squeeze</span><span class="p">()</span><span class="o">.</span><span class="n">cpu</span><span class="p">()</span><span class="o">.</span><span class="n">numpy</span><span class="p">()</span>
<span class="n">image</span> <span class="o">=</span> <span class="n">img_as_ubyte</span><span class="p">(</span><span class="n">image</span><span class="p">)</span>
<span class="n">writer</span><span class="o">.</span><span class="n">append_data</span><span class="p">(</span><span class="n">image</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">image</span><span class="p">[</span><span class="o">...</span><span class="p">,</span> <span class="p">:</span><span class="mi">3</span><span class="p">])</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"iter: </span><span class="si">%d</span><span class="s2">, loss: </span><span class="si">%0.2f</span><span class="s2">"</span> <span class="o">%</span> <span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">loss</span><span class="o">.</span><span class="n">data</span><span class="p">))</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="s2">"off"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">"off"</span><span class="p">)</span>
<span class="n">writer</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div id="4879e14f-e409-4c2b-b6e2-e9a201df0083"></div>
<div class="output_subarea output_widget_view ">
<script type="text/javascript">
var element = $('#4879e14f-e409-4c2b-b6e2-e9a201df0083');
</script>
<script type="application/vnd.jupyter.widget-view+json">
{"model_id": "78b2d6baaf28479c8aebf3b35cd9cf74", "version_major": 2, "version_minor": 0}
</script>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>
</pre>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
nCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimc
Ik4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwi
TimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJO
KZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4p
nCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimc
Ik4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4VOr0D8oaBgQEAuru7Wb58Obfddlund0k6SC2nI2aG
mdFsNmk0Gjz44IOd3iXpIIXTkRACANVqlUajQb1e56GHHur0bkmHKJyOmBkXXXQRIQSq1Sq1Wo1a
rcbDDz/c6V2TDrDk27ptodnshXJabN++nVWrVvHMM8+wZMkSyuUyXV1dlMtlbr755rbr3HvvvfT2
9pLL5TAz8vk8U1NT3HHHHWd8/+XEhRCs3XwNCDkzOjrKihUraDQaHDt2rBU4s+n/foODg1x88cWE
EBgfHyf9JZvL5ejp6WFgYIC+vj6WLl3Kli1bOlAbeTPUcjp0//33s379esrlMk8++STlcpmenh7W
rl3L0aNHOXjwIGNjY3R3d1MoFCiVShQKBcxsWpgLhQK5XI58Pk8IgWazyeHDh7nrrrs6XUVJma3l
VJ/TodHRUaampqhWq1x//fVUKhWOHDnC888/z4svvsjx48fp6emhVCpRKpXI5/OtQCZTEtJEPp+n
t7eXlStX8uijj3a0frIwCqdD27Zta4WzWq0SQmDjxo1MTExQLBZb/dCktZxtIg4yJWdHjUaD7u5u
9u/fz2OPPdbhWsp8FE6nRkZGqFQq7N69m+uuu469e/dSLBantZTE8JG6DJOelw1ocv30sssuY9++
fezcubMjdZOFUTidGh4eZv/+/axdu5a9e/dSq9Xo6uqaFkxiKEMIHDx4kEqlQqPRmLUFTZbv6upi
/fr1DA0N8cQTT3SsjjI3hdOpEAJmxtGjR5mcnIQ4CpsdtQ0hMDY2xjnnnEMul2tNXV1ds57i1uv1
1ihuCEEBdUrhdMrM6OvrY2RkhBAC5XJ5WtBCCDQaDWq1WmtENjsVi8XW61wu13rfRqPB1NQUK1eu
ZHx8nN7e3g7XVtpROB0aHBwEoFKptEZe8/k8pE5jkz5ks9mcdUAoCWa2BW02m60WtLu7m9HRUfbs
2dPROstMCqdTa9asoVKpQLwMQqrfSCqkzWazddqbtnTp0mnXPLM3MiQtb29vL6OjoxSLxTNSL1k4
hdOZgYEBQgiUSqW2I7DZ35N+5OjoKNVqFWDGZZbseun5+Xye8fFx8vk8Tz311BmooSyUbt9zJglN
sVicMdJK5rpl0o9MgkgMZqlUYnJystW6ziWXy/Haa6+17igSP3T7niMDAwOtkJVKpVZLmM/nKZfL
rdvxEklQkz5psVikWCy2lksPApFqNQuFAl1dXa0WdmJiggsuuKB1qnvFFVd0pP5vVbrxfZFJ7gwi
DuA0m81WWTpsSb8yCWISsHbLpuclIa1UKpx77rkzlpfOU5/TicHBwWmnrCEEuru7p93dk5YdlU1C
ml4/OyWSEdxcLketVpt2OmtmGrl1QuF0JLnxIJF+nW4NyYSz3Y0Jc/U3c7kchUKhFfh0qEn1ZaWz
9K/g2OTkJNdeey0A9Xp9RuvJHKeh6RY0LWlhC4UCu3btYtmyZTOCrHD6oH8Fp5LWbNeuXa3wzBXQ
7N1D7aQHjmq1GldffXVrO+mAKpw+aEDIifQpbRKSJDhmRrlcZnJykmaz2RqRTfqOyTLZ02JSgUz6
pcVikUql0nqsSb1enzGqmz2Fls5QOB1q1wImdwtVKpUZrWcul2vbX03fKJ9+IkJXV9ecA0YKpw86
f3Fi27ZtrddzDeZceOGF1Go1JiYmWo/QTC61pNdLt75JeJNnDSXLp6f07YAbN248Q7WWuSicDmVH
YtOBGxoaIpfLsXr16mkhrdfrM4KavB4bGyOEQE9Pz4yy7E307fq00hkK5yKQ7U82m00OHDjQ+lOy
5cuXQzwdTQaNjhw5AjHQPT0904LbLsDp1+KD+pzOzDa40+4G9nq9zsTEBLVarfX4kuQvWHp7e6lW
q+Tz+RnPGkr+zCz752cAtVrtDNdYZqN7a51J/jOjdtcvZ/srleS6ZTKCm7xOHmuSzEtel0ql1gBR
cg9u8iDqTZs2naGaSkKPxlwktm3bNu/1yuwdPe1GXrN9ynZl6anRaCiYziicDg0ODk47vU2PvLZ7
5GWi3V1B6UDOFcx2f7AtnaU+p2PpgDLLvbftlpltyvY1jx8/3rqRYcmSJR2rp7SnltOp9KntXK1l
u0eXJK/btZJJCzoyMsL4+DhjY2OMjY0xPDzMI488ckbrKHPTgJBj6dPb2STlyaBOduAnfete8vrQ
oUPTLss0m02OHTvWGlg677zz6O/v54YbbjiDtX3rmm1ASOFcBNJPSCBz909au0djJqOxSfBeffXV
aetk7+k1M6688koOHDjA0NBQ60mAcvoonGeBdpdZ0n3O7PNrk8eVpJ98cOjQoXm309/fT39/Py+/
/DLFYpFbb731tNbrrU6XUs4C6cssiWx/tNFoTJvq9Xrrf8iuVCrTWsLZvpiHhoao1+usW7eO4eHh
01wrmY1azkVqvtPN5HQ2CWx6+XZ92ez7DQ4Ocumll3Lw4EH6+vrYvHnzaaiFoNPas1sSNmILeir7
iTt27OCmm246Ze8nMymcIk6pzymyyCicIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwi
TimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJO
KZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4p
nCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimc
Ik4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwi
TimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJO
KZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTimcIk4pnCJOKZwiTlkIodP7
ICJtqOUUcUrhFHFK4RRxSuEUcUrhFHFK4RRx6v8AlCCYA5z9OF4AAAAASUVORK5CYII=
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOcAAAD4CAYAAAAXdPFuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0
dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAARnklEQVR4nO3dbZBcVV7H8e9/uqcfMpkhmYVQiQkm
gOALeSoIVIjAArVAUUixCQ+7FiCi1C4ILyzWtailyKDUuruKWvK0rqWiptAFXS1YFbZImSDECCxB
EAERFwhEQkLCPITu9HT38QXnNnduuicZYKb/k/w+Vbdm0ufe2+d2+tfn3HNu37EQAiLiT0+3KyAi
7SmcIk4pnCJOKZwiTimcIk4pnCJOzfpwmlnVzL7Y7Xp8VswsmNml3a6HdN+sD2cIoRRC+Hs+emMv
NbNfnM7nM7N5ZvY9M3vHzD4ws/VmtjxVPmBmfxnLd5jZP5jZwums02fNzP4kfuill5qZ/SS1zmFm
9jdmNmJmu+Ix92f286tmNmZmd7d5jtPN7AkzG46v1X1mNnc66zPbzPpwZqwGpjWcwJ8DxwDLgUXA
fwKPmFkplv8xsDiW/wxQBf52muv0mQohXBc/9FoL8AjwQGq1HwA1YCnwc8ChwNVJoZn9HfDLwJvZ
/ZvZYuBR4GHgMODzwDnAHdNVn1kphDCrFyAAlwK3Ao24VIGfAgz4TeBV4MP486rUtvcDa+ObZCQ+
divw4w7PZcC9wMmpx5bGOpwY3xB14PRU+ZKkfCrHE38vAN8G/heoAP8BXJxadznwJDAM7AL+EVgS
yw4DHgJ2AGPAM8DZqW2rwBf3s04XAW8Ac+K/zwB2AwOTbDME5IH1wN2ZsuXAvW3Wf3666jMbl65X
4FMfwMQ38/3AD1NlvwZsAY4DcsCFwB7glNT678fWtucTPv/n4wfC4cAXYn1KmXXeA677BMfz7fiB
8rMxqDfG1uHoWP7fwG/HEAwAfwV8P5Z9D3gsPp6P274D5Kd4fHngNeBLqce+ATwNrAH+L+73D4Bi
m+33CmeH55nwfzdd9ZlNy4HWrc36CnBXCOHFEEIjhPBPwA+Ba1Lr7AwhPBBCaE5152Y2D7gP+G4I
YVtsraohhGpm1Z2xVZ2q64DfDSG8EkKohRDuBt4GVsXyecDuEEI9hDAC/FII4YpUWQ34MJbfDSwO
IdSnWIergHHgwdRji2PXsQgcDVwCXBFDMmVmdiHwZeCbHurjxYEezmOAO9IDCcAvAEek1vnJJNt3
ZGZLgH+Nrdev72v12CJOZf/zgfnAf2WK/gc4Mv7+deBWM3vFzO6K3bvEt2JX+x0zW2tmX469h6n6
OvD7mQ8viz2Qb4QQdocQngHu+STn+2Z2RQzar4QQNna7Pp4c6OGsAF/JDCYUQggXp9apTXWnZnYc
8O/ABmBVCCHZxzagZGZ9mU0OjWVTUerwuCW/hBDuj63GHbHVfszMvhXLnoshvgb4APgjYL2Z7XdA
zeyE+AH3cKboXWBXCBO+0vRGHCDbb2b2NeC7wOoQwtpu18ebAz2cr8XWo8XMjpjKGzTLzJYCPwL+
MIRwYwihkSreHAeETkmtfzQwCPzbFJ9qGzAaz5eTffXE88/X4r8PDSF8EEJYG0L4EnADcD0fd7kJ
IfxzCOFG4DRgJXD8FOpwCfBMCOG9zOMvAYvNLN1VX9ZuZLYTM/sq8DXgzBDCY92uj0cHWjgrwJI4
F1mIXZtrzewLZpY3sxXAj2PX9pO6F/hBCOE72YIQwk7gr2NXepGZfQ74DvCjEMIrfPSm/B0zu29f
TxK7bX8B3GxmR5tZEfiNGPTvx+mIrWa22sxyZlaOH0SvxV1sivXoi6E+LXb93prCsS4HXmjz+CNx
0OUuMzsktmg3AH+6Pzs1s58Gfg+4JITwYod1XjGz82aiPm51e0Tq0y6Z0c2fjyOjo8DJsQt4S3xD
VuLI51cnGyHcx1TK4vh8tTgVkV6uiuvMBf4sdiVH4vnU5zLP+fB+Hk85fhi8Fff3RDLSHMsvBV6M
0wjvx6mUY2PZccC/xDqMxKmUC1Pb7nMqJX6QfbND2THAujhF9V4cKc3FsjNTr0sz9iaqcbAseY1D
m9ew2u51+LT1ma2LBd0JYUaZ2RHAb4UQrtmP1eUgdqB1a2eDVXHuT2RSajlFnFLLKeKUwiniVH6y
QjNTn1dkmoUQrN3jajlFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxS
OEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4
RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhF
nFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWc
UjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxS
OEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcUjhFnFI4RZxSOEWcyne7AvKRoaEhQgj09fXR39/P
9ddf3+0qSZep5XRgzZo1AOTzeXp7ewkhdLtK4oDC6YCZEULAzGg0GjSbTR544IFuV0u6TOF0pF6v
02g0aDQa1Go1HnrooW5XSbrIJutCmZn6VzPknnvuYfHixWzevJlisci8efMoFosUCgXmzp3LJZdc
0u0qyjQJIVi7x9VyOjE6OkqtVmPFihXs2bOHer3eWqrVarerJ12g0VonKpUKIyMjlMtlQgiMj4/T
09ODmWFmPPjgg1x++eV7bTc0NMQxxxzT6hI3m03q9TohBJrNJjfccENXjkc+PXVrHbnzzjtZtmwZ
fX19bNq0iYGBgVbXtlAocPXVV0MM5EknncTIyAjVarUVxiTISahzuRxvvvkm5XKZBQsWcO2113b7
EKWNTt1ahdORoaEhjjjiCBYsWMCzzz5LLpejv7+/FdAtW7Zw6qmn8vbbb1OtVqnVaoyNjdHf309P
T89eC0ChUGiF9Y033uDII49shVx8UDhniTvvvJOlS5cyODjI+vXrKRaLzJkzh127drFo0SJ2797N
8PAwPT09lEolcrkcvb295HK5Cd3gbFDNPv7/L5VKXHHFFV09TvmYwjmLDA0NcfLJJ1MsFnnqqadY
uXIlzz33HLVajUKhQG9vL/l8vhXEXC63V5e23ePJEkLg1Vdf5YQTTmDVqlXdPtyDnsI5ywwNDQGw
cOFCduzYwfj4OKVSaUI3Nf0zHcpsGNOP53I5yuUytVqNl156iZNOOknTNF2mqZRZJoTA+eefz/bt
21sjt4VCodU9TXdTk/UT7dZJwhlCoNFoUC6XOfHEE3n++ed59NFHZ+y4ZP+p5XQomR7ZunUrY2Nj
hBAoFouUSqW9WsJ0S7lt2zZ6e3s5/PDD6enpmdCtTS9Jt7hcLjM6OsqHH37I/Pnzufjii7t96Ael
Ti2n5jmdev/99xkdHYXUBfHtWssQAjt37mTu3LkMDg621pszZw61Wq1tOJPtxsfH6e/vp16vUy6X
u3Sk0om6tc4k31AZHh5utYjZYCbhSpZ0i5qcZ9br9b1CmZZsa2b09fVRKBR4/PHHZ/x4pTOF05E1
a9ZgZhSLRer1OsCEkVlSoUquBNq1axe5XK7tcuyxx5LP59tOqaT30d/fz+joKKVSiQ0bNnT1NZCP
KZxOJMEMIXDWWWdBHMTJ5XKt39OazSbNZrNVlm0hk1Y0O/+ZXicZb2g0Grzwwgvkcjny+Tzr16+f
0WOX9nTO6UwyYEMqdO0kLWixWJywbXqbt956q3WlULuBv2QfjUaDPXv2ANDT00M+r7eFB2o5HUjO
M9MtGW3ClpZuIcfGxlqtKHEAqb+/v+O0S/ax7KhvLpfjiSee+MyPU6ZG4XQgG8BNmzbt1zbpa2g/
+OADKpUKIYRWwJKw72O6DIDjjz9+QkDVenafwtllyZVApIJy2mmn7RWs7FU/yflhoVBgcHCQQw89
lL6+PvL5PM1mk+Hh4QlfI0tLnid9LppI73/jxo0z8hpIe/p4dCaEwObNmyEO+rRr9bLd1WR0NhlQ
qtfrrYB12pZUOPP5PKOjo61WmH2c78rMUDidMTO2bdsGqemObHk6nNmL3ZNtzKz1M30DsXRLnL7e
dtGiRXuFXuHsLnVrnUtPmZAJTqdw0uZCheSx7FRLEs45c+bs1UornN2lcDqUDkVyzpi9sD3b7UyH
LhvMdECTdZL5z97eXprNZqsLnF5X4ewuhdOhEEJrrrPZbLYd1ElkQzrZCG16ICh9vrl79+4Jra74
oHA6ZGbU63XOPPNMQgjUajVqtVrH88+pDN4ko7y9vb0UCgXWrVtHuVxudZ+TVjrb2srMUzgd27Bh
Q+vPM9RqtdYNp7Oh2Z8Qpc8x8/k8uVyOSqXCGWec0bo7wmRdYZl5CqcTnQJXr9c5/fTTIZ5/Jl3c
TtMsWZ2usX3yySdbF9VnW0uF0weF04F9hWDjxo0sX76cSqXC+Pg49Xp9Qje0nU5fyM7lcjz99NOs
WLGCXC7XCma7gHbat8wMzXM6MNn5YhLcZ555hkKhQKVSodFoUCqVWuskIcpedNBuuiWEwCmnnNLa
LtulTVM4u0stpxOd5hjTX++q1+ssW7aMnp4exsbGqFQqrYGidq1fWrPZbN3yJFk3OwiU/tlsNqnV
ajP4CkiW7iHkQPKHc9NX8uyPQqFAsVhk/vz5e815Zu+8l5xzJnOb6Wtos+ekxDCfffbZ03bM8jHd
fc+xoaGhtpfYZWVbxVqtxujoKDt27GDnzp0MDw+ze/duKpVKq1VNzk/TFzN0GgBKt6SVSmWGXwXJ
0jmnI+26stnf212KNz4+vlfQ0hfDZ6+7bTfok/5SdqPR4MILL+zKayAfU8vpRPLVsU6tZrplbXfR
QaepkGwQJytL5lDPO++8GTlmmZxaTkfSwZzKuWe7oE12YUG7aZLkuTVC64daTkduv/122EfrmTbZ
BQP7CmZ2yeVylEolLrroomk8QpkKjdY6ldyNL61Ta9rp1pjpvz6WPJYerR0ZGZlwcYLFe9iWy2Uu
uOCCGTzag5vu+D7L7OumXGn7c74ZUl/CDiGwdevWCeeuyTTKyMgIhxxyCOvWrePcc8+d9uOUztRy
Opae/6RDyxlSN/TKLtkbSifrbdmyZcJd5JMR2vHxcYg3sh4YGGDhwoVcdtllXTjyg4vmOWehZP6T
Sbq07b5c3e6cMhmNzeVyrfvUVqtVqtUqe/bsmfDnG8bHx9m5cyfbt2/vwlFLQi3nLJE+B20X1OQq
oOySvbY2CVzI3Bkhq6enhyVLljAwMMDq1aun/fgOZvrjuQeQdpf7pedAs3/+L8S/KHbbbbe1tidz
YUO7gJ5zzjm8+OKLbN++nf7+fm6++eYZP9aDgcJ5AMuem6Yf7yS5yzyZljO9n2KxyFFHHcXrr79O
tVrl/PPPb323VD47Cqe0lQS4XZCHhoZYuXIlL7/8MsPDw+TzeW655ZYu1PLApnDKJ7J27VrmzZvH
u+++S6VS4aabbup2lQ44Gq2VT+TKK6/k2WefZWBggMHBwW5X56CillOky9RyiswyCqeIUwqniFMK
p4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqn
iFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeI
UwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hT
CqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMK
p4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqn
iFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeIUwqniFMKp4hTCqeI
UxZC6HYdRKQNtZwiTimcIk4pnCJOKZwiTimcIk4pnCJO/T//J3U1hu2eEAAAAABJRU5ErkJggg==
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
BOr/AHYKWRdVX+yiAAAAAElFTkSuQmCC
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
AAAASUVORK5CYII=
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
A9Dty2EIq8KlAAAAAElFTkSuQmCC
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
tUr0EsBi9XkhgPsAvKW+x58CuNQq47eM8/0CwMfnu23OdBOSb0KYU4QQKwH8nZTyUxGykzbmZO9z
+sjHAYROVSNEQ8tJiKfQchLiKRQnIZ6SqJcohKDPS0iLkVIK135aTkI8heIkxFMoTkI8heIkxFMo
TkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8
heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIk
xFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMo
TkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8
heIkxFMoTkI8heIkxFMoTkI8heIkxFMoTkI8JTHfFSAz47HHHoOUMvgshAi2eDyO3t5eXHrppfNa
RzI9hPnFTkkUIjyRzDlbtmxBoVBANpvFkSNHIh8npUR3dzdWrFiB/v5+fPCDH2xpPUlzSCmFaz/F
6TkPP/wwxsfHMTIygnw+D9f3JUTtd2vnEUIE+3TexYsX45xzzsH73//+ltafNIbiPMF44IEHMDo6
iuPHj09Je8c73gEhBBKJBOLxOGKxt0MHWnjarQWASqUSbLt27QrKMMW6bt06fPjDH56jKyM2FKfn
3HvvvYjH4xgeHsbExAQA4IwzzkAsFkMsFkMi8cvwgClCWGI0/4/H48HnWCwW/O3u7kYmk0GxWESh
UMDOnTuDYwcGBrBmzRpceOGFc34P2hWK02Puu+8+TE5OYmRkJLBoWpiJRALVarVGdLBcWZdYAdQI
0vybSCQCkY6NjaFUKuGll14ClEUVQuB973sfLr/88jm9D+0Kxekp9957L8bGxpDL5QAAp59+OmAI
Cw7R2fvC8rksqhACyWQysMixWAzpdBqjo6MoFosoFot47bXXAABr167FNddcM2f3ol2hOD3k61//
OiYmJlAoFLBq1aqaNFNM9j5MU5z6rylM3Wft6OhAtVpFNpsNXF0hBK644gqsX79+Tu5HuxImTk5C
mCfuuusupNNpFAoFrFy5ElJKlMtlVKvVwLWVUgabxkwz87jSwvJXq1VUKhWUy2WUSiWUSiUUCgVU
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
9fLZabSazcOA0BzRKOrpGvy3LViUmTr2eRDiOrtwBY7q9ZFd5c7lQ6RdoVs7y9x2221N9TPDJqM3
g73SxT6PvYrFPldYpLee8Fxl0WrOLhRni3E18GatTdQyTMFE7Su6+sQaeyiIfcq5heJsAab1DMO2
PM0O+kcpe7piMi1/1DrSas4+FGeLCHtPjsvNnQ1L6jrHdPuDzR5HYbYGRmvngE2bNgFNzPpxBXui
HD8Tmpnrq6EoZweOc84jUd82N53pdzPtB9rBq6h1oDBbD8U5h0QRkmuoJWxFCZp49WXYvmb7va2a
IEGmQrd2DrFfgwIPxwtdS8Tsz3zv7OzCxdaeUE+gqCNS1/c002l1Uc9l5qM7O/tQnB4RFiBqxoo2
u+ayGcLqQWG2BorTU2xL2grRRZmxFObO0oVtPYzWekqzi6xNXK8FabTCJGz/TCZFkNZAy+kJrr5o
I8Isoj1eGUa9Pict5txBt/YEQb8v1yRsRcpM3nZQ7/xkbqE4TzC0SFyTBGazX6rLoijnD4rzBMUl
0pnCYI9fUJyEeAqjtYScYFCchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgK
xUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmI
p1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1Cc
hHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgK
xUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmI
p1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1Cc
hHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHiKkFLOdx0IIQ5oOQnxFIqTEE+h
OAnxFIqTEE+hOAnxFIqTEE/5f2/1FXcXOyHzAAAAAElFTkSuQmCC
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
JMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRT
KE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5C
PIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXi
JMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPIXiJMRTKE5CPCU51w0gzfPoo4+iWCxibGwMuVwOpVIJ
6XQa6XQamUwGJ5xwAjKZDDo7O/HpT396rptLGkRIKd0rhXCvJLPGgw8+iImJCRw8eLAl9a1cuRKr
Vq3CZz7zmZbUR6aHlFLYllOcnnLvvffi6NGjKBaL4bKo30ohhICUEkL8/++tb6cvV/T39+P6669v
SbtJ41Cc84Af/OAHyOVyOH78OKrVKhBDWADw4Q9/GB0dHejo6ICUMnwNDQ1NEaqtTv37unXrcNVV
V83A0REXFKeH3H333cjlchgfHwcC0SghnXLKKUAgnkQiEX7WhTY2NoaOjg4kk8lQnB0dHRBChMtX
rVqF/fv3h8uEEGH5XC6HSqWCSqWCXbt2Wdv4iU98Ap/85Cdn4WwsXChOj7jzzjuRSqVCKwnNmn3o
Qx8Kyykhmu8HDhxAT09PKMZkMhmKT38lEolQkKtXr8aePXtCsZtlC4UCSqUSduzYEe5fXSyklNi4
cSMuu+yyWT1PCwWK0wNuvfVWDAwMhNayUChACIGTTz45FMLk5GQoNIUuzt27d2PRokU1wlKW0BSo
LkIhBJYvX44DBw6EFlgvn0qlkEgkUCwWUSwW8frrrwOGNV+1ahWuu+66uTl5bQzFOcfcfvvt6O7u
xujoKMbHxzE5OQkpJVavXg0AoSgRiFCJU1/27rvvoqurC6lUaor7Wk+cSoBLly7Fb37zmyl1J5PJ
sLwSablcxmuvvTZljHrBBRfg4osvnvVz2K64xMl5zlmiu7sbIyMjyOfzmJycxOrVqyGlRLlcrhlL
qnfdpVSoZdVqFVLKUMD6dz0gpNelXrlczhr1rVQqqFarSCQSmJycRDKZRDqdxvr161Eul/HrX/86
rOsXv/jFrJyzhQ4t5yxw3333YXh4GKVSCcuWLQuFUi6XkUgkatxMRIw133vvPXR2dk4J/tjGnHrg
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
PPAA3nrrLacb6zpmn4UZxbwW56ZNm8IfRJ8LtImynvtoW26Ltto6dC6Xw5o1azA0NGStT59XhKVz
N2LF9f2an13vcLi2Ljfb5Qa7AkHm8Z500kk1xxsn8FSPe+65B++//35N0K2eGPVzMN+EifkuTlun
ihO1a/X+AWDv3r3W/eqWwwzENCvSuFYjKipsW+4qa1sXFchKpVI1wTflNTzxxBO44oorYh2jyaFD
h2p+26hzZa6bj8LEfBanfsKjXNY4VqDelTgO4+PjWL9+PV577bUp+1aRYnMcbBNpI53OtSwOLstp
1u0SuGkN1fJ8Po/u7u4pLq16Ncpjjz2GPXv2REbSo8aa81WYmM/ijBPyh6Xz2oQcV5gut0+xe/fu
KWWhubbmvm2WU/9cr32t9BCi3FuXhdW3VcszmUx4m5s6hmbFef/992Pv3r0ol8t1j9f2O89nYWI+
izNOgActdmn0umyCGR0dRTKZnOJai+BB0Mq9M5/I3ihxLjgmLnfVXOe6ILiEqVDHpI5Tba9nDAkh
sGXLFlx55ZVTtn/22WeRz+fDfNhyuYxjx46F96O62uw65vkuTMxncbqQwZ/u9PX14fzzz5+x/bgC
TCeffDLefvvtcJlpeUzroXeweoJo1NKb1LOEtmVRbTLbIoMnNahj1J9Ab1rP559/vuaJgMPDw+Fz
kFQ6pHp3BbNctIMwMd/vSrFdwQcGBoBgru2Xv/xly/blGuOavP322zj99NNrypkdS++oZiRXOlL/
YBxvnM96feb6OMtMYZnLdCEiGIequ1P08uqzWr5lyxbkcjnkcjkUCoXw8SmmMJU76zouG+0iTMx3
cZoi6e3tRV9fX9hx9B+3FURNI+jWY9euXVizZk1kPeazYPU7O6L2aROy2SaXwOvVZdvWJVJ9XKmi
s6VSqaaMTdDqs/k8Xf2zeqlb8PRz6xIl2kyYmM/itP0QnZ2dNR2/XC7j5Zdfbul+o1wqPYjz5ptv
hg9ddqE/zU4XqktYjYjNbPN0hakLTD2PCME5r1QqNQ8ds1lN02NQllK3mMpqqnNhO79Rv0u7MW/F
aUP9yPqPXq1WWyZQ4ci8cbmVO3bswLp16yLL257Qrt+nGWVNUceiRrm05mfT1ba99PapyGy5XA7/
bsJ2cXFZX5ulVHXo4jePWxjJJape3/Nkm6Etcmv1TKG+vj4sWrQIPT09yGQyyGaz4eMz1D2QGzZs
aKj+OO6SOo+2JIOobWyRV/2WL2Hkrpqd09xPnM9xjkP/bgo9lUohlUpZrZz+p0oiuLFbf56SuhE8
lUqFQSDbmFPGiCAr5rs729aPxtR/sHw+H/6BkB5Y0F/NWtI6F7Kaz2YQSD3sSq/DFgU1x6P6mNRm
wczAksuNdNXlCk6Z7qe682b58uXIZDI151fVH8ct1ttoWkqb1+CKCqsy812YUbSFONUPJKUMH005
MTGBXC43RaAqmtioQF3CtLmPNsbGxrB161YsWbIEn/3sZ6est0V0TZHaRFvvn8WihO16meNAdYfJ
okWLcPToUYyNjdWMMZXltFlZm5trCl/frx4EikoYaWUChq+01Tyn+sEKhULoVpmpZKrTJBIJbNu2
DYlEAh/72Mdatm/XOrXf4eFhPP300zjxxBNx8OBBwBC+zeqqMZ7uLgsjqd82bRM1SW/isnKpVAoD
AwPI5/MYGRmpEb7aTr8bJ84Y2LxQ6AJ1ua6IcGvblbYYcyrMDJ6enh4MDAygu7sbnZ2d4T2f+t8k
qI6dSCScDxUeHByMHEfWW2em6SkymYzz/zKjMMWpZ+DoZWyfYVihKAuXTCbR39+P8fHxGiupH4f+
Z71C+zdtfexsjjnVsv3790+x2lFjdlOc7eLStvWYU2EmCuRyufDBTq4xqO7Cbdu2Ddu2bWt4v8K4
2wQOwZoWrlAooLe3F2eccUas/eiWyGV5ov6nU59i0s+FeuqcEuDatWuxcuVK9PX1YXh4OPwDYDWP
6bKK5vd6407TdY66oLSrMKNoK8tpsmnTJiD4oXt7e9HV1YVMJoO+vr6aJ5abua6mu/j88887AzkK
23m0BXxc25v09/djzZo1ePHFF8Pt49RXz/Uz27lx40YcOHAAx44dQ6FQmCI01/Hoy/RosvlX9ypJ
wXaObQ96jkO7CdNlOdtanDCmWdTzSxcvXoxMJoN0Ol3TkdQ0gPl64YUXgAbGPDar6TrP9dxk1eb+
/n4MDQ3VTDG4iBqzbdy4Efv37w+tlrKKUa55PXRx6lMp+nm1Jfvv3bu34X21mzCxkMUJyw+6ZMmS
8Mne6v8x1P+Z2IIt27Ztq5lzs4nUFI3rs0kzYlBtVS99DL148eIwYl0sFqdk4phBlzgXHPM4bOXN
Mac+7jTFqc7vvn37rG1wXSjaUZhY6OJU6FMuixYtQjqdRmdnZyjSTCZjtZyvvPJKWEeUQM0yruVR
7qLL6tYbg9n2BctFIu4xRNXrcm9dbq1LnPv3749st067ChMR4myrqZR6qB94cHAQo6OjEEEKmrKi
6s949HGRK9JZb+rERb1xnCuya4rCJlbX/swLgsuSxxFrlBtuCwoJ7dYzaTyuxbXPhTRdEsWCspwu
9KuysqZ6ut+BAwfqWq64rlmcbV200tLFaWejdYpgSsq0nLZlQggcOnQosv52tpY6dGtjoAePFCpV
zWWp4grSti0sViyuSJoJCEVt2yprZQsIKVfWFKf+Z0N6u9oxiT0KurUx0DuFSjwoFAqxXci4HVx3
6WxCbcQtRoSbqm9justRbmWrxqQu99ZFveNYaNByxiDKvWqmA+vb6tiCN679xZ33rNdmm3Dj1mPD
dF/NuU19Hnl4eHjBuK5RLIgMoZlE77iuSfq466PW1bOapjB1a+Sy8HFFZ0apbcccB1sig7RkCVGY
0VCcMWkkUhrXPTPnVG3bu9xec7ktihw3shwVuZ2OKKM+032tD8ecDWCbzmhkDlJfHiVI13jQFEyc
edNmjtH8HMcD0K3tpPGv18qd1fNnW/HfKe0OLWcMlPvlmj6AY66vXlkdU5g2i2rWM92xrh6scbUr
Tj22sa/NjdVfN9xwQ1NtX0jQcraIuIKJciHrlXe51o1EXk1ra/scR6xRY2bbvpodvy5kKM4WUy/a
GmV9o+qKO4aNMxa17dc1ZjVFFTUvaxO2zZOwPbyLTIVTKQ1Q7+8YdBqZ2jC3swkg7pTNdKZ2WlGX
vo2eIaQHv2688caWtK9dYBJCi4njhrqI6vRRAaNm2hU1zRJ1EWhW5K7xp4KBoPjQcjaIaT0RkTzg
Wha309dzkWeL6VpjZTmllLj55ptb2rZ2gEkILSRuAoFtMr+RTt6IiONMezRLI0Eu2xym1B7qReJD
cTZI3D/t1Wl0Mr9ZmtnHdCOpcbZVwlSPjSHx4JhzmjQyFmx2PNdMBDgu9ZIh6ll915QOmT60nE2w
efPmyEQC1/dmkgeikhFahaudrRzzMo+2cSjOJonTYW0R0matSiNWqdEyeqJAveSCRtqqoDCbg+Js
Ev1B04p6grVZwTjBnGYCSlF1xp3KadZq061tDRTnNLDdsd9ox4xjEW3TM7Zt9FzZei60mesaR4i2
VLx60Go2D+c5W4Dt8SaNMJ15xDjb2vJpm9mPTpzAFoUZD2YIzSC2DhqVhO7a3nahjGPNXNSzoo1c
FBrJCSatgZazRZh/dtTKHNe4zMU+Xe1YaA/pmg58+t4soT+4Oq676Vqn0+pk9lYnyCsoysZh+t4s
YksqbxQzalpvqqOZevX2Ev+gOFvM4OBg7GSDRtbHib42QhyhR603LxZCCFrNFkNxzgCNRildUyJx
spAUrqCUrb64ubSNuNyMzLYejjlnmOl22umOPeNs38x0DCjKlsEx5xyhB4gUphWLY9H06Za4Y099
KsUlyjhBKVsZCnPmoeWcRRqJ5OrMVOS23j5skV1Ok7QeTqV4RCssTjP5tnHrdEVyKcqZgeL0kOmI
1LRmOq1KBVT1UpQzC8XpMc2KtJHIbTN1UZSzA8U5T1BJ9HEjqDam6+Yy0DO7UJzzDDN45HI5bZlI
zYiTgpw7KM42Rj04yyZKis5/KE5CPIVJCITMMyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhO
QjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF
4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTE
UyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhO
QjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF
4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTE
UyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEU4SUcq7bQAixQMtJ
iKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4yv8BkFmqpK9ed9oAAAAASUVORK5CYII=
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOcAAAD4CAYAAAAXdPFuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0
dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAdoElEQVR4nO2de4wkxX3HvzWvnX0f7B6+PTiDLc5g
coAVzCMEZGxhBwxBGJwQJ3KA2Aj8iEQsgomMdHvBzhnsxMgQHuEczoCwExKwDmwLsBUMCdhgEhnM
hWfgwMe99m5fs7Pz2qn8QVW7pra6p+exu7Wz34/Umpmu7qrqnv7W71e/qu4WUkoQQvwjsdQVIIS4
oTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8ZSOE6cQoiCE+MRS16NdCCGkEOKTS10Psvh0nDillFkp5QN4
58I+QgjxpwtZnhBirRDi+0KIPUKICSHEE0KI04z0ASHEXUKInUKIMSHED4QQIwtZp4VACHGxEOLX
QoicEOINIcQ3hRBdRvq5QohfCiGmVfrfCSGSRvpqdZ6mhBDj6pz0h5Q1KoSoqobWXM42tkkKIb4i
hCgLIa5ahFOw6HScOC0uBLCg4gRwD4BeAEcDOATAIwB+JIQ4SKXfDuAwACcCWA+gAODfFrhObUUI
8SEAdwD4EoABAB9V5/ZalX6COqa/B3AQgAsAXAbgL41s7gdQAnAEgA0AhgH8eUSxj6uG1lx+rMrr
BvAYgJMAHFjwE7BUSCk7agEgAXxSXThzaikAOBSAAPBlAC8ByKvPTxv7blVi2wZgSq27FsCzEeXN
WHkcpupwgroAKwBONdLXqfQPNHI86nsGwPUA/g/ALIBfATjP2PZEAP8JYBLAOIAfAlin0lYDuA/A
GIAcgGcAfNjYtwDgEyF1+GsAr1nrtgB4UH0/C8B1VvpWAD9Q309X52kg5jGPAngsIn0YwJXq+xsA
rlrq625BruWlrkDbD6j2Yt4K4CEj7QsA3gJwLIAkgI8DKAL4oLH9fmVtEzHL+x6AhwG8S4lnFMBr
ALqUhZEAstY+ewFc1sTxXK8alKNVWV9U1uhIlf4ygOsApJSFuxvAv6i0f1L1HFDpXwSwE0AqRh2O
U43ZeQDSAN6nRPHZiH0eA3Cz+v4VAE8D2Ahglyr3WwC6QvYdBfAqgEdVI7MDwOdDtu1YcXa6W2tz
OYCbpJTPSynnpJQ/AvAQgEuMbQ5IKe+VUlZj5nmZcmt3K+vzWQB/JKUsKmtVkFIWrH0OqNa/US4D
8A0p5YtSypKU8mYAv1FuJACsAjAjpaxIKacAXCylvMhIKwHIq/SbARwmpazUK1RK+RyAvwDwr6ox
ewnAj6SUW1zbCyGuAPC7SoBQ3sQG1WAdCeB8ABcp0br4jSrjKgBrAPwVgG8tdPzAN1aaON8H4Ktm
kAHAHwJ4t7HN6w3m+X1lCQ9VArgJwMNCiHdF7COURYyN6sMeBGC7lfQqgPeq71cDuFYI8aIQ4ibl
Tmq+DuADAHYKIe4RQnxKeQ9xyj4NwK2qn9kD4HgAHxJCXOfY9ksAblAu8mvG8RYBfEVKOSOlfAbA
P4bFA6SUW6SU50gpfyWlLEop71ceyqVxz1cnsNLEOQvgcivIkJFSnmdsU4qbmRDiKADnALhGSvm2
lHJKSnm9sqAXAtgDICuE6LV2HVZpjZANq4b+IqXcqqzUV5XVflgI8XWV9t9KxJcAmADwbQCPmRHV
CL4A4MdSyh9KKQvKkv6D8kTM8/FtFTQ6Q0r5UyNpN4BxKWtugXoDwNoGjv81AMsuyt0KK02cryjr
ESCEeHfMC9RFWn3a+2fU5/+ogNAHjfKOBHAwgKcaLGsPgGnVX9Z5JVT/8xX1e1hKOSGlvEdK+ScA
Pg/gcyptFd4R6Y+llF8EcDKA31f9yTjHaR9jl/lDCHE9gD8AcIpqCExeAHCYEMJ05d+j+pLzEEJc
aw6bKI5RXsLKYak7ve1erADKrSqiuUoJ5mJ1gX9UBUV+D8A+AOdLRwApRlkpAP+roqDDALqV5cgD
eI/a5i4ATygrMaSGFB428tgM4NaYx3OTCvocqcTxZRUFPUwtJWWxk6ou3wbwS7Xviyqg1Ksa5U8p
Cz8U4zj/TB2TPm/rAfwawG0q/RR1Xt8Tsn9WdRe+B2BQucVv60CO6hK8COB31O9vqu2PVQ3DHwMo
AzjTkXfHBoSWvAJtP6Dai/k01R+cVkMbAsDfAHhTubgvAbjC2HeeOGMMpbwXwL8ryzYB4L+sIYo+
AP+s0qZUUGXIKnNbzOPpBnCLqv8EgMd1pFmlfxLA80qw+9VQylEq7VgA/6HqMKWGUj5u7Bs6lKLS
P6csYE4J4kYAffK3wypVlYe5vGTs/z4AP1Ui36sit0mVdoQ6Th01zwD4hjrOghLuhUZenzbKkEq4
NeV1wiIkn4SwpAgh3g3gb6WUl8TYnKwgVlqf00cuUGOChNRAy0mIp9ByEuIpFCchnpKKShRC0Ocl
ZIGRUgrXelpOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF
4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTE
UyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhO
QjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEU1JLXQHS
OnfeeSeSySQSiQSEEEgkEkgkErjooouWumqkBYSUMjxRiPBEsiTcddddmJ2dRblcDkSYSqWC7+ai
109OTmLVqlW48MILl7r6xIGUUrjWU5wec+edd6JcLmNqagq5XA76v+rp6UE2m40tzkQigWw2i2ef
fRZ452KAEAIjIyO4/PLLl/goCcW5TLjjjjtQLpexd+/emvX6fxJCoK+vr0aE2qWNEmcikcDg4CB+
/vOfO/MdGBjA0UcfjXPOOWcRj5aA4vSbW265BUIIzMzMIJ/PY25uDlBCNJFSIpVKIZPJNCXOdDqN
4eFh/OxnP5tXB/s6OPHEE3Huuecu8JETUJx+ceONN6K/vx8zMzM4cODAvHQpJQ4//HBACVSL9I03
3gjWmcJzidO1TVdXF7q7u1GpVGr2SyaTePrppyPrfPLJJ+Pss89ekPOx0qE4PeE73/kOKpUKpqam
UCwWUalUACXItWvXBmLUAoNhQXfs2FGTlxafLU69v5meTCaRyWSQTqfn5S2EQCaTCbYbGxvDSy+9
VFO2ruOHP/xhnHHGGYt2vlYCFOcSs2XLFiSTSeRyOeTzeZTLZVQqFaxbtw6lUskpSFucb7755rx8
pZTo6upyijOZTAb5aFEmk0n09fXNK8fcRy+Tk5N44YUXgm11IGndunX4zGc+s4hnr7OhOJeQW265
Bel0GrlcDuVyGaVSCSMjI6hWqyiVSjWiQogw9bodO3YEIjH/O7t/agtN/x4ZGanZVn9PJBI15ej9
CoUCCoUCXnnllZqg1GmnnYYzzzxzwc/dSoDiXCJuv/129Pf3Y+/evYEwV69ejdnZ2cD1DBOj/SmE
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
pRTf8oDiJMRTOM5JyDKD4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhO
QjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF
4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTE
UyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhO
QjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF
4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTE
UyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjxFSCmXug6E
EAe0nIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKf8P7O7KMqhGZCqAAAAAElFTkSuQmCC
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
/fXyJYpPQlhSROTXAFyslNq21HUhYdHvbu2xwBWdAiRkeULLSUig0HISEigUJyGBMpCUKCL0eQlZ
YJRSzpVatJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArF
SUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUig
UJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyE
BArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArFSUigUJyEBArF
SUigDCx1BUh6br/9dlSrVVQqFVQqFTSbzcT9lVLx53w+j+HhYQwNDeHqq69ehNqS+SLmD9iWKOJP
JAvO3XffjXK5jLGxMTQajZY0pRRExHlcUpqZvnLlSpx88sl417ve1fO6k/QopZw/FsUZGHfddReq
1SoOHz7cltZJdC5cx5jb9O8/MjKCU045BVdcccW86k+6h+IMlNtuuw2lUglTU1NO4W3atAkigmw2
CxGJ9zlw4ACGhoaQyWQwMDCATCbT9spms8hkMti4cSP279+PTCYDEcHAwABKpRLq9TqeeeYZ4OXf
GrCEOzQ0hGuvvXZR22M5QnEGxu233w4AOHjwIOzfYNOmTbFItFDMz4cOHUKhUIhFODAwABFpE6e5
feXKlZiammoRrfkaGxvDM888AxFpqY+I4JxzzsHll1++qO2znKA4A+HWW2/F8PAwJicnUSqV0Gg0
YjFs3LgRIoJms4lM5uVAuinO559/HgCwcuVKrwjt7dpaZjIZHH/88RgZGcG+ffva9s/lcqjX66hW
q6hWq3juuecAw+0VEWzZsgWXXHLJErVc/0JxBsAdd9wBpRQmJiZQqVTQaDSwceNGKKVQr9dj66iF
YwoTAF544QUUCgXkcrkWcdkitLfrtFwuh9WrV+PIkSMt+eo0bVGz2SxKpRIqlQqeffbZFoGedtpp
eO9737tkbdiPUJxLzF133YVarYajR49idnYWzWYTGzZswOzsbJsgbXdWs2fPHuTz+Ta31PzuEq35
Gh0dRalUasnbLD+bzbaIdGxsDD/60Y9azqVYLOITn/jEorZfP+MTJ+c5F4FPf/rTqFQqmJ6eRq1W
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
K27s765FCHO1mHMVtqvuqo/++SsEKM4eYz41wbfix9zm2m6mmd/t9LmQtODA3i8JewoItJg9hwGh
BcT824c061dt5hJ1hWP8mRRFnmsZJgz+zA9Ga5cI/c9mWIJgzWIEiSjM+UNxLjGmSE0WSjg+YfbC
UnJs2Vs4lRIIi2U9kxa/d3JrXWNj350pZOGg5VwC7D9LMlnqeUobU7x0YRcGurWB4rrge+V6druU
z3X7Gt3XhYfiDBzf8j+bXgg3CZ0/reTiQXEeI5giTVpbOx+S5jhpKRcfivMYw7akJkkR2DT3c7q2
01IuHRTnMU4aiwr4Fx648iNhQHESEij8Z2tCjjEoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAo
TkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkIC
heIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIk
JFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAo
TkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkIC
heIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIk
JFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICheIkJFAoTkICRZRSS10H
QogDWk5CAoXiJCRQKE5CAoXiJCRQKE5CAoXiJCRQ/g/i5fTi3UjgfgAAAABJRU5ErkJggg==
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOcAAAD4CAYAAAAXdPFuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0
dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAePklEQVR4nO2de5BkVX3Hv79+zPTM7Mx2llmUdXdr
BXURxKR4q0hhKcayDBq0JElVorFiaUx8xBhTCVg7i6uiUWKUiBFjacS8Y5RAUsZAICosbCBaGIpH
ZEEeusOyszM9M/3ukz+453r6zLmv7p6ZMz3fT9Wt6bmPc869fb739zu/37m3RSkFQoh/5Na7AYQQ
NxQnIZ5CcRLiKRQnIZ5CcRLiKRQnIZ6y4cUpIjUR+eX1bsdaISJKRN603u0gq8+GF6dSqqSU+mc8
03H3iMivrXadIrJTRG4OhDJtbSuKyJ+JyCMiMici/yEiLzS2T4nIX4nIEyJyVES+ISInrXabB42I
vFdEHhSRJRE5LCJXiUjR2L5dRP5WRBaC6/BXIjJplfFbIrIoItcMoL7Xich/i0gluPYfFZH8Kpz6
mrHhxWnxRgCrKk4RuRDAXQCeiNjlSgCvBHAxgF0AfgDgJhEZDbb/BYCdAM4B8HwANQD/uJptHjQi
8psArgDw6wAmAbwBwNsAvN/Y7esAGgD2AHgRgGkAv2GU8U8AfhPAo/3WJyJnBdfwUwB+DsClAN4O
4N2rdQ3WBKXUhl4AKABvCr68drDUADwHgAD4QwAPAFgO/v66ceyXAVwP4AYAC8G6KwDcHVPfmwD8
AoCLgrqnjW05AMcA/JqxrgRgKehQ0wBaAF5qbN8VlPMLWc43+DwC4OMAHgZQDW4Elxj7ngPguwDm
AcwBuAnArmDbdgD/AOAogEUAhwC8wji2BuCXI9pwgblvsO7rAP4m+Pzy4JynYs5jBkABwK0Arkk4
56T6XgPgw9b2LwP4xnr3z7769no3oO8T6O6sXwZwo7HtdwA8BuAMAHkArwVQB3C2sf/TgbXNZazX
Jc7nB+tOtfa9C8BHAmuqAJSs7bMA3t7D+X48uOGcGgj1dwNr9bxg+4MAPhyIYArAVwH8XbDtCwC+
FawvBMc+AaCQ8ToUAPxiIPI3BOsuD855H4CfBOX+KYBRx/GJ4kyqL2K/TOX6uAybW2vzDgCfVUrd
q5RqK6X+FcCNAN5q7HNMKfXXSqnOAOrbHvyds9YfC6zmdgA1pVQtYntW3g7gT5RS9yulGkqpawA8
Hrh1AFAGsKSUaimlFgC8RSl1mbGtAWA52H4NgJ1KqVbaykXkiuBm9/cA/lgp9Y1g087AlR0F8LzA
a7gsEG3PxNRn7/dOAGcGN4QNy7CL8wUADgQR3ZqI1AD8EoDdxj6H16AdEli8XrevPEDk54Lx1X3W
pv8DcHLw+YMArhCR+0Xks4G7qbkqcM+fEJHrReRXA+8iNUqpA4Hb/gYAMyLyXuN86gAuV0otKaUO
AfjzfuMBMfWFiMj7AXwicMl/1E99682wi7MK4B1BRFcvI0qpS4x9GgOs70jw17aC08G2IwBKIjIR
sT0LpYj1oj8opb4cWLEDgdX+lohcFWy7JxDxWwEcB/AZALdmjXAqpZpKqf8E8CcAfi9Y/VMAc0p1
PfL0CIAdGc8xbX3AM8L8TBAkukgpdXO/da03wy7OhwLrECIiu1cxxH44GAudbdQ3AeB0ALcD+J8g
IGRufx6AbQDuyFjXEQCVYDyty8oF48+Hgv+nlVLHlVLXK6V+BcC7APx2sK2MZzr7vymlfhfAeQBe
BuDFSRWLyN+LyIet1aMAmsHn/wWw00ozPTdNZLbH+iAiHw/GoucHN54Nz7CJswpgl4iURWQkcKXe
JiIXi0hBRF4C4O7AtR04wbj1WgB/JCLPD/J6VwH4EYD/UEodA/A3gau9Q0ROCFywf1dK3Y9nOtnH
ROTalHV9BcDvi8jzglTNHwRC/zsR2QngSRF5o4jkRWQsuFE9FBRxMGjHRCDq8wJX9McpTvVWAO8R
kYuCsn8+EL0eA/5LEAT6rIhsDba/C8Bfpr2WgSv+6jT1icj5QfmvUUo9nrYO71nviFS/ixW9vCCI
fFYAnBW4eH8UdLhqENl8p3FsV3RXpUul/HuQZmgEddeC5QojmvhJAE8F6ZtvATjZOH4LgC8FruRC
ENw4wWrTDSnPdwzA54LzOw7gv3QkWv0s7XNvkNZ4Okil7A22nQHgP4M2LASplNcax8alUgTAewJP
oRa4rFeZUehgvH9zcA1mg8htPth2oXHdOoE3UQuCZa7zjK0PwBeDcmrW8sB6989+FlF8E4JXiMhu
AFcqpd6aYncyxAybWzsMXBq4cWSTQ8tJiKfQchLiKRQnIZ5SiNsoIvR5CVlllFLiWk/LSYinUJyE
eArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArF
SYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYin
UJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyE
eArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinFNa7ASQ9119/PRqNRrjU
ajXUajV0Oh0opSAi4V/NyMgIJiYmMD4+jrGxMUxNTeGSSy5Z1/Mg6RClVPRGkeiNZNX5yle+gkaj
gbm5OSwvL0N/V1qE+vOePXuQy+UgIsjlcuFy3333hUI199fs2LEDp5xyCl75yleuy/mRZ1BKiWs9
xekZX/rSl1Cv1/HTn/4UMIRoigoAtm3bhmKxiFwuh0KhsEKY5vrp6WncdtttXcfblnZiYgKnnHIK
Lr300jU9X0Jxes8XvvCF0ELaQrTZunUr8vl8aC0LhcIKYdqizefzuPfee1O1pVwu433ve9+Azowk
QXF6xhe/+EXUajUcPXq0yzIqpbBnzx7AcEH134cffhilUikUpl7M/00Laos2n89jenoalUplhZCf
fvppPPTQQ2H7TMs6PT2Nd7/73etynTYDFKcnXHfddWi1WqhUKqhWq+h0OkAgwN27d6PT6UBEwgWG
OA8fPox8Ph+6sy5xmgK1xVkoFDA5OYlardZVdj6fx8jICPL5PBYWFnDvvfeuGNcqpXDyySfjLW95
y7pdu2GF4lxnrr76akxNTaFer2N+fh7NZhNKKezevRtKKbRarS5R5nLPZLlMET3yyCMAgGKx2GUh
04hTRDA6OopSqYR2u71C+Pl8vmtZXl5GvV7H/fffv0KkF110EV7xiles05UcPqLEyTznGlEul7G4
uIiFhYVQmLt27UK9Xl8hTBjRVaVUuGiazSY6nQ7a7Tba7XbXZ9fSarWglEKn0wnr1ukXvbTbbTSb
zTBNMzIygnK5jNNPPx2wbhK33nrrulzDzQYt5ypz9dVX48QTT8Ts7CyazSbq9Tp27NgBpRTq9XpX
YAeWCOx1P/7xj1dEbguFwoporWk5dTna2ubzeUxMTITHR9WnLfLo6GiYT73vvvvC45RSuOCCC3Dx
xRevyXUcZujWrgOf/vSnsX37dlQqFczPz2N6ehrtdhvVarUr0ppGmCKCRx99dEUkV39/hUKhS+h6
yefzXZ9zuRy2b9++oq12nfrz6Oho6OpWKhXUajU88MAD4X5nnnkmJzX0CcW5hnzsYx/Dc5/7XCwv
L2NxcRHj4+N46qmnUCqVVowNXUIEVkZqAYTj0MceeyxcZ0d64z6/6EUvWuEiu7BFqm8iWqRKKczN
zYUiBYCXvexlePWrXz2Aq7f54Jhzjbjyyitx8skno9lsolarYWxsLBzDaaKsnzkG1Eun0wnHh3p8
+ZznPMdZt0vc+vOLX/zirptCHK52tFqtcAwrIpicnMTpp58elvW9730PN998c49XjbigOAfMqaee
CqUUqtUqisUiWq0WZmdnAWMsp3GJwBSlKU47wHPiiSc6LaBtGZVSOO+885DP58M2mNY6qi32uk6n
Ewq01WqhXC6jVCrh1FNPDcu98847V+mqbk4ozgEyMzODXC4XzvJptVqYm5vD2NjYCotlCgAxVtP8
3G63wwnvlUplRXnafTXXX3jhhV1pFZsoNzeqPVqglUoFk5OTGBsbC29IjUZjxTRB0jt8KmWA5HI5
LC0thWmJpaUl59jSntcaNQa0LZm2Wjrqa7uupkARpG8qlQoKhUI42cElxqQxqEm73Q7PtVqtYmxs
DEop7N27Fw8++CCWl5czXzfihpZzQMzMzGB6ehrVahWNRgPVahXVanXFfnGWMspqmpazXq+j0Wg4
xa1vAGYEV1tanRt1lZ+mPWbbbZd7ZGQEpVIJAHDs2DHccssta3TVhxtGawfAzMwMpqamcNppp+GB
Bx7AsWPHwtyijnDqPCMiAjcua+ZyKZvNZmi9bMwyRkdHUS6XUSgUMDIy0hUlhhXNjcOV0kEwS0mX
NzIyAhFBtVrF97//fZxxxhnYunUrXvWqV2W+lpuRqGgt3doBoJTCSSedhOXl5dCquTq+7c4iwqWM
sqI6oNRut53i0v9rATabTeRyOTSbza40iKvuNEI10W6yrkfnQ5VSmJ2dxfj4eKbyVpObbroJx48f
x5EjR7CwsAA4bk4TExM44YQTsGXLFrz5zW9ex9b+DIpzABSLRWzfvh0PP/wwlpaWoJTqGmsiZpyZ
xnKaaAHoKXkuUZkpk3a7jVwuF06ot4NGrryojd1uEekSJwC0Wi3k83m84AUvwIMPPohnP/vZfVzR
/vna174WehuHDh3q2mbfoEQEtVoNTz31FCqVCq699lps27YNl1122Tq1/hk45uyTmZmZUEBaMBpX
WgOWEF37JAVotKuqXUtzup12pQuFZ+67ZqBI50ntVI1r3Gm3xzUGNbfr+cF6RpJSCjfddFNf17ZX
rrvuOiwsLGBpaQmFQmHF9bRvjsViEWNjYxgbG0OpVEKxWESz2VyXtpvQcg4AbZXq9Xq4ztWhs1hO
WBYLluupp+LBsgT2c5p6e6fTCS2oXZZdRlQbzL+uYFK73Q4te9Q5rTbXXHMNZmdnwzF+tVrFnj17
8MQTT4Rt6nQ64c0rl8thy5Yt2LVrF3K5XHijaTQaa952G4qzD2ZmZgDLNTJxdeI0Y04Tl5DNbbAm
Foj1yJlZvxao3Z5esMs1rbcus9Pp4MYbb8TrXve6nurIwuc+9zlUq9Xw4XXT8lUqFRSLRYyPj2Pv
3r1hakkvS0tLWFpaQr1ex9zcHBYXF8Pvdj0ZanFee+21kRO6ozp6Fsw5rmaC37YuLlfVHvshxnrC
EqmLqJk/drm25Yy6NrZwXWNOe2ytJyjk8/mufOhqctVVV6FareLIkSPhOvsadDod1Ot11Ot1HDx4
sGubUgr79+9f1Tb2ytCJ85Of/GTo0tmR07TiTGvVbMw8oynQqFdXRllEV7mIEWia8zMx63UFR5Jc
bJc11qLvdDqha2sHjVYD860OvbjRvgoTwyTOK6+8MkwbuJ76cHVgTRarGWUBdW7T7OzmK0d0J047
3owialxon1ucFbXbECfGNG3Q56ndxKmpqTUR5kc/+tGusaFrHO1aD88tpmZoxKkjkfrOrd0p83Uf
cVYlSqAuMbqOO3z4cNf/pvtn/jWPM8vKcoNw3VxcbqrrXFxBKbtNSX/t62DefJRSKJfLgOFC33DD
DQN/5vPAgQOxQRuXW67xXZSaoRCnOXjXIrXfwZMVVwrE9VmXX6lUcM4554Q5NbMj65uGBKkG+1jX
/1H0avWTxpD2OrN8103EFKm+1p1OB/Pz8yiXy12Wc9BR2/3796PVasXuE3VtfQj0pGXDT9/Tecas
IoyygL0QVb/Z2fUMHftha0RYuzRjx7jjEGNR49alKQOGR2IHwvR5mxHcsbExFAoFvP71r0+4kvEc
OHAgUZSajSTIoZ6+l0ZYUS5k1LgvKaDiGrdFCRSGi2fWY45BXWNRxAg/bRApjiRLGWVRbXfd3Nf0
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
Rdk/jNauEzMzM5EdPeppkLUYt7kCQFkmwoPCXHUozjXAdnGTRLAWFjTuZpCmfgpz9aE41wjzl81c
j4plfdwransvVtdMlSQ9gM0c5trBMec6YL9RQZNlwrk9Vl2LGUKMxK4ODAh5jEusWd5I0EvaJU3g
hxZybaA4Nwh6nm6W6G0vkV7X5HQRoXVcByjODcZaioRWcn2hODcwUbOO0sA5sP5DcQ4xUVaWLurG
gOIkxFM4Q4iQDQbFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArF
SYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYin
UJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyE
eArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArF
SYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYin
UJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyE
eArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeArFSYinUJyEeIoopda7DYQQB7SchHgKxUmIp1Cc
hHgKxUmIp1CchHgKxUmIp/w/0QygjXE7caUAAAAASUVORK5CYII=
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
E5AVDi0nIZ5Cy0mIp1CchHhKJi7RvCWHELIwKKXEtZ+WkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ
8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSK
kxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBP
oTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPoTgJ
8RSKkxBPoTgJ8RSKkxBPoTgJ8RSKkxBPySx1A8j8ufvuu1Eul1GpVCAiyOfzyOfzuPrqq5e6aWQe
iFIqOlEkOpEsKnfccQcOHz6MRqMBvPjbAACUUuH7dui855xzDq655poFbS9JjlLK+QNSnJ6yZ88e
TE9PY2ZmBvZvFCdGM68rn04307Zt24Z3vetdPWo56RSKcxmwZ88elEolTE9Po1arAW2ECACbNm1C
JpNBKpVq2UQEmUwG3//+91vyx4lXKYXzzz8fl19+eU+Pi8RDcXrIrbfeimq1imKxiGazOceqbd26
FQCQTqfD/c888wzGxsZahGiLU0Tm7BcRbN68GRMTEy37jx8/jh/+8IeRbbzoootw8cUXL8r5WKlQ
nB7xqU99CqlUCsViEdPT0y3jxlNOOQUi0rJPv/74xz9GNptFLpdzilB/dolWB4rWr1+PI0eOzLG0
5XIZ1WrVKVSlFM477zy89a1vXeQztTKgOD1hz549OHHiRIvrCgBbtmwBADSbTYhIy4ZAoM8++yxy
uRzS6XSLsMzPpkBd7u66deswNTXVUm4qlcLAwADS6TQqlQoqlQqefPLJOcGmNWvW4Lrrrlv0c9bv
UJxLzM0334yhoSEUi0UUi0XUajWICE4++eTwvRaKLUr9eujQoVBIpghtsbrcWv15eHgY5XJ5Tvnp
dDosR78vFAr47ne/O8eSn3/++XjLW96yZOey34gSJ+c5F4mhoSFMT0+jUqmgXq9jy5YtUEqhWq3O
EaQ59tSi0PuazSYajQZSqVSY1/yeUgqpVKrle+b+Wq02J/oLAI1GI7TaWpxDQ0M499xzUa1W8YMf
/CAs88CBA4t45lYutJwLzO7du7F+/XpMTEygWq2iWq1i48aNUEqhVqshnU47XVjTndTvDx8+HArE
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
vYHiXGJsC9qJu9lLC9htWfYSPlrM3sFFCEuMvpjj1qxGkVRMnc5nRuWPuoOFwlxcaDmXEB0wQhcu
pqbb7yWFruvCQ7fWY+yoribJbWNR7zvFvK1M101hLg4U5zKhm+BRr6Zq6LIuDRTnMmMxrJZpaWkl
lw6Kc5ljjk/nCy2kX1CcfUzUU+0owOUBxUmIp3Cek5BlBsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQ
nIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4
CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJ
iKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQ
nIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4
CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJ
iKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKeI
Umqp20AIcUDLSYinUJyEeArFSYinUJyEeArFSYinUJyEeMr/A9rSrL1dZcotAAAAAElFTkSuQmCC
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
T8tJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJ
iKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQ
nIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4
CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdklroCpD3u
vvtuVKtVVCoVTE9Po1QqoVwuQymFbDaL/v5+rFq1CoODgxgaGsL555+/1FUmLSJKqeiNItEbyaKx
efNmTE9P48CBAxCRyHTmfykiiPpvU6kU1q9fj8suu2xB6ktaQynl/FMpTg/ZsmUL3njjDeTzeSAQ
WhRHHXUUMpkMUqlUuIgIUqkUMpkMnnnmmYb0WrT2Pjdu3Ij3vOc9C3REJA6K03NuueUW1Ot17N+/
H9VqtWGb/R+JCEZHR0MxxolTrzNFaorT/p5Op7Fx40ace+65i3LchOL0jhtvvBG5XA4TExMNYtRi
OfroowHDaooIduzYgWw2i1wu1yDGdDrd8NsWrRZrf38/Vq9ejX379jWkm5qawvPPP+90hYeGhnDa
aafh7LPPXuQztHygOD1i8+bNyOfzmJ2dRblcDgW4fv16AMDc3BxSqTcD6bY4+/v7QzGaFlJ/jxNn
Op3GoYceiqmpqYb06XQa2Ww2rM/27dsBy6oCwDnnnIOzzjprCc5Yb0NxesDNN98MEcH09DQKhQLq
9TpEBOvWrYNSKvythWMKEwBee+01iAj6+voaXFhbhFHizGazGBoaQqlUCsvR+89ms0in00in02Hk
9/nnnwcMt1pE8Pa3vx2XXHLJkp3DXoTiXGI2b96MarWKqakpVCoV1Ot1rFu3LrScLkG6xAkA2Ww2
0q01BWpb1Fwuh1wu19AImGWJSChQvfziF78ADCuqlEImk8EXv/jFJTqTvQfFuYTcfPPNqFarKBQK
qFQqOOKII6CUwtzcHOr1eiiqOGGKCHbu3BmKxBSk3ed0ubvpdBp9fX2hsDWmMM3f6XQamUwGc3Nz
qFQqKJVKePHFF4FAqMcddxwtaIegOJeIO+64A/V6Hfv27UOpVMLhhx8OpVRoMbWAXGK0P3ft2tXg
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
xyoXF4qzy7AfhbJQ0+Lori49jNZ2GeYrILCAfVMRoTA9hZazS0niepr/LQXoL3RrCfEUurWEdBkU
JyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGe
QnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES
4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikU
JyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGe
QnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES
4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikU
JyGeQnES4ikUJyGeQnES4ikUJyGeQnES4imilFrqOhBCHNByEuIpFCchnkJxEuIpFCchnkJxEuIp
FCchnvL/tMIznaGp+z4AAAAASUVORK5CYII=
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
df8/ALcDWGlsP0cNdxRUxPxKa/8tarhjRv1nO4wL1CZ1brdZ+4wB+FhIeS5XnkRRXaDfsdBts9VF
jxMRTxBC9ADYLaU8f6HLQhaWbu9zLkbetej7SqQt0HIS4im0nIR4CsVJiKf0RG0UQtDnJaTDSCmF
az0tJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikU
JyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGe
QnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES
4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4ikUJyGe0rPQBSCt
cc8992BqagqlUgnFYhG1Wg25XA69vb1YtWoVLrzwwoUuImkSIaUM3yhE+EYyb9x1110oFAp48cUX
IYSITCuljEwjpcTGjRuxadMmnHfeeR0oLUmKlNL5h1GcnvKVr3wFExMTKBQKwTqX8PS61772tRBC
IJVKIZVK4ZlnnplzTCFEkF7/70IIDA0N4VOf+tQ81Iq4oDgXAV//+tcxPj6OyclJRP0vmrVr1yKV
SqGnpycQpSlQvf7JJ5907m+LXUqJk08+GR/96EfbWi8SDcXpIXfccQfGx8cxPT0drNOC2bRpEwAg
lfp1zE6L6Pnnn8fy5csDAWoRmqK0xam3DQ8PY3x8vE7M4+PjqFQq2L9/f10ZdJ5nnHEGLrnkknk+
M0sLitMj7rzzTpTLZUxPT2NqagowBKFFCUOQ+vOFF15ANptFJpNpSpzZbBarVq3C2NjYnLTlchnl
chlPPfVUkKfZNjZv3ozLL798Xs/TUoHi9ICbb74Zy5Ytw/T0dGCxAOCkk04CAFSr1UCIWlQwxHng
wAFkMpk5bqwtQlucels6ncaKFSsCS23mlc1mkU6nkUqlMDk5iWKxiOeeey4ou0577rnn4txzz53X
89btUJwLzNe+9jUIITA+Po7Z2VmUy2UAwMaNG1GpVCCECMSlv8OyngcOHICUErlcrk6EWlRhfU69
LpPJYHBwMAgymcc2j5NOp5FOpzEzM4PHH3+8Lq2UEq973etw2WWXLch57EYozgXkhhtuwIoVKzA+
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
urWe0ujG7Vaxgzgu6L4uLBSn55iBI5N2upRJhE9Rzh8U5yJiPoQalS+ZXyjORYjrmTuNAjWuscio
9KAoFxyKswuwxdqsJaUY/YLiXAJo8XJiwOKC4iTEU3izNSGLDIqTEE+hOAnxFIqTEE+hOAnxFIqT
EE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+h
OAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnx
FIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqT
EE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+h
OAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnx
FIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqTEE+hOAnxFIqT
EE8RUsqFLgMhxAEtJyGeQnES4ikUJyGeQnES4ikUJyGeQnES4in/Dx+uXZNv7Xh2AAAAAElFTkSu
QmCC
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
Ut/ZkHGDWqvO7Xoj/4eUp6At5dlWeZ9Q7Sgqi/m2+b42W92E5JsQvEItXvielHLjfLeFzC/dPuZc
iJy74MdKpC3QchLiKbSchHgKxUmIp6SiEoUQ9HkJ6TBSSuHaT8tJiKdQnIR4CsVJiKdQnIR4CsVJ
iKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQ
nIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4
CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJ
iKdQnIR4CsVJiKdQnIR4CsVJiKdQnIR4CsVJiKek5rsBpHm+9rWvoVwuY2JiAqVSCcViEZVKBblc
Dj09PVi+fDny+TzOPffc+W4qaQIhpQxPFCI8kcwZd999N6amprBnz562lNff34+1a9fioosuakt5
pDWklMK1n+L0lJtvvhkHDhxAtVoFfv1dBGlSSgghoL+7I444AolEAkIIJBKJYNu+fXtwjHm8iS5r
06ZNHe8TcUNxLgBuv/12jIyMoFgs1uzXAjIZHBxENptFIpFAKpUKBGkKVO9ftWoVtmzZMquMsHKv
vPLKDvaS2FCcHnLHHXdg3759KBQKgGXd1q5dG/yv/+7cuROpVAq5XK7GQiaTyZr/bXFqwfb19WH5
8uXYu3dvTb6RkRE899xzgBKsWefq1atx6aWXzvm5WUxQnB5x5513olAoYHJyMhCm5vDDD8fMzEwg
Ko0QArt27UI2m50lxlQqNculdYkzlUphxYoV2L9//6z8mUwG4+PjKBaLeP7552dZ1IGBAVx99dVz
do4WExSnB9xyyy3IZDKYnJzExMQEKpUKhBBYs2YNpJSoVqsQQgTCsS3nrl27kEqlkE6na9xYW4RR
4uzv7w/cZrP8TCYTiH5qagqlUgnPPvtsTfullFi/fj3OO++8OT933QzFOc/ceeedqFarGBsbQ6lU
QrlcBgAccsghgSDDRKn/vvTSSwBQI07brbXHnOb/mUwGvb29Qd1m+TpfMpkMtkQigccee2xWX5Yv
X44rrrhijs5c90NxziNf+tKXkE6nMTExgenpaZTLZRx22GGQUqJSqQSissUCS0BanFLKGoHGEWcy
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
B0XZHujWzjMuSxoVcY0a13VKpK5FBHYdeh+nStoHX1PiGVFL+sIWt9v57SmMdrUpLIBFizm30HLO
MfYzjfWeaLGnMcx8rTzLGVan64bAaZLOQrfWU8J+MCnugoAw8YYR5arawpSL8HdL5gOK03P0AoZ6
LmrUiqBm1suG5aeFnDsozgVE1M8PhhE1RrXzRNVL5h6KcwGix6ednjKhKOcXirOLCFsiGEfEFKJ/
UJyEeAqX7xGywKA4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4
CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEU
ipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQ
T6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4
CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEU
ipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQ
T6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQTxFSyvluAyHEAS0nIZ5CcRLiKRQn
IZ5CcRLiKRQnIZ5CcRLiKf8PphZo5rDxwscAAAAASUVORK5CYII=
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
AElFTkSuQmCC
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
nwPwfqNMT3H9RH0vz6rMs1Dlm9S51Vn1txnnWaoLQxHAPqPO96qL3Kyq71YAw50enwt56ZNBPEEI
0aMyjed0ui+ks3R7zLkU+Z0m40/SZdByEuIptJyEeArFSYin9EQVCiHo8xLSZqSUwrWdlpMQT6E4
CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEU
ipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQ
T6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4
CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT6E4CfEUipMQT+npdAdI89x3330ol8vI
5XIol8soFouoVqvo7+9Hf38/1qxZg4svvrjT3SRNIqSU4YVChBeSReMLX/gCCoUCXnzxRQgh6sqk
lPO2NWL16tXYtGkTLrzwwhb3lDSDlNL5BVKcnnLbbbdhZmYG1Wo12KaFaH5nQghs2rQJqVQqeAkh
kEqlsHfv3nn7muiyvr4+XHfddYtyXGQ+FOcS4M4778TU1BRyuVywTQvKFqYQAuvWrUMqlUJPT0+d
OLVA9fYnn3zS2Z5Zl36/du1aXHXVVYtwtERDcXrInXfeicnJSRQKhXllmzZtCoSp/x44cACpVApD
Q0N1QtQi1BbT3q7LVq5cidHRUYyPj9ftNzExgf379ztd5E2bNuHyyy9fpDOyPKE4PeKzn/0sCoUC
8vk88vl8XdkrXvEKzM3NBYLSCCFw8OBB9Pb2IpPJ1IkxrjgzmQzWrFmDqampYN90Oo1UKoVMJoNs
NhtYWXtcHH300bj66qsX6QwtLyhOD9i1axcGBgaQy+UwMzODWq0GANi4cSOklKjVahBCBMKxLefB
gwfR09MTiFO/tMBsgdrubjqdxsjICIrFYl29Qgj09vYG9eTzeRSLRezbt6/O9QWArVu34rzzzuvI
+etWKM4Oc9ddd0FKienpaRSLRVQqFQDAhg0bUK1W54nStpoAcOjQIUgp0dfXVydCU5wui6q39fb2
YmhoCOVyua5e3V46nQ7qSqfTKBaL+OEPfwhYMe9xxx2HK6+8sgNnsTuhODvIzp07MTAwgJmZGZTL
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
mO2DlnORiDMX6rKsdrIlycKBqAvAQqEoWwctZ4ex18dG7edaXRNlNcPWybr2S3JxaNRX0l5oOReZ
Rg8KC6OZ/cLeJ6nT3ocWs/UwIeQp9jNxNS6X1iSuqMLmI+Pe8sYMbPuhOD1n27Ztztiy2WkUE9tN
jiNMinLxoDiXEFqoJmHTMK47YpoVNAXZGSjOJYhLpBqXC4wE2VwTxpGdheLsEsLmThu5rFrAtI7+
QXES4imc5yRkiUFxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJx
EuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIp
FCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCch
nkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJx
EuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIp
FCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCch
nkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchniKklJ3uAyHEAS0nIZ5CcRLiKRQn
IZ5CcRLiKRQnIZ5CcRLiKf8PHKmZncHcDcYAAAAASUVORK5CYII=
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
vQCeUcd+UEVLlxnpmwD8l0p/EcDVEXnVRWvVEIvUUXW17vPKXc6r/+BUK493qmOYVufjXfPdNttd
hOSTELxCCJEC8KCU8m3zXRcyv/R6n3Mh8oct9j9Jj0HLSYin0HIS4ikUJyGekopKFELQ5yWky0gp
hWs9LSchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIp
FCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCch
nkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJx
EuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnpKa7wqQ
9rjvvvswNTWFcrmMUqmEmZkZDAwMYGBgACtWrMC73/3u+a4iaREhpQxPFCI8kcwZd999NwqFAg4d
OtSR/JYvX45TTjkFF154YUfyI+0hpRSu9RSnp+zYsQO5XA7VarXhtmvXrkUikahbhBB45plnnNub
/7kQAv39/bj22ms7Wn8SH4pzAXDHHXfg2LFjKBQKgENEep3+PjIygkQigVQqNUuciUQCyWQSiUQC
Tz/9dMOydb4rV67Ehz/84a4dI5kNxekhd9xxB8bHx1EsFutEB2UN9W/9+fzzzyORSGBwcLBOhFqc
Qgjnep22dOlSLF26FIcPHw7WT01NoVKpYO/evRBCwG4P69atwwc+8IE5PjOLC4rTI+68804Ui0UU
CgXk8/k6q7h27VrUarVAULDE2d/fj3Q6XSe6OOLUv1esWIFjx44F22rrmk6nkcvl8NRTT9VdJDQn
nngiPvKRj8zxmVocUJwesGPHDmQyGeTzeUxOTmJmZgYAsGbNGkgpMTMzAyFEIBxbnPv370c6nZ4l
Oi0wW6Cu7bLZLEqlUl2+WpzJZBLJZBL5fB6lUgl79+6ddQybN2/GO97xjjk8a70PxTnPfOUrX4GU
EhMTEyiVSkGgZ/Xq1ahWq7NEaVov/f2FF14AAPT19c0SoW01TYuql3Q6jcHBQZTL5bp8dXlanFrI
pVIJTzzxBGD1dU866SRcddVVc3wGexeKcx7Zvn07MpkMJicnUS6XUalUsHr1akgpUa1WZwnS/q4/
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
LutMYXYPWs45olk3N+5dIe1MXG8GWsvuQcvpGY0sW9hEhG4EeBrRasSYtAct5xzjo8VpZojHx/ov
dBgQ8pRuNHZ7iiDasLIUY/ehOD3HHh+NGvuMotFwDGKMoUop+d6SOYTiXEBoaxX3PtBmJjG4xk71
dwpyfqA4FyDm3S4mriitppVJDxTl/EJx9giuh4uZNBIn+5D+QXES4ikc5yRkgUFxEuIpFCchnkJx
EuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIp
FCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCch
nkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJx
EuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIp
FCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCch
nkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJxEuIpFCchnkJx
EuIpFCchnkJxEuIpFCchniKklPNdB0KIA1pOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEU/4f4gq8
nikmekEAAAAASUVORK5CYII=
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOcAAAD4CAYAAAAXdPFuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0
dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAd+klEQVR4nO2de5AcR33Hv72Pu727PeUkGZ2whSWD
nRjL+JHYlh0oV8LLlB0bOzY4UBAIEPMwpHCCoeyYnDAJMRSxEqlcAT8KF0Q4VZAANqKMeDioipdi
x2BsjGRsScggW6eTdHu3e/vu/EH30NvXMzv7uuvb+36qpnZ3ema65/Gd36N7ZoWUEoQQ/0gsdgMI
IW4oTkI8heIkxFMoTkI8heIkxFMoTkI8ZcmLUwhRFEJctdjtWCiEEPuFEB9a7HaQ3rPkxSmlzEgp
v4LfXrgbhBBv7nWdQoh1QojvCCGkEOIEq+z3hBCfFUL8WgiRE0I8IoR4vVGeFkL8mxLZMSHEt4UQ
L+11m7uNEOLNQojHhBB5IcRBIcRnhBArjPJXCCG+L4SYFkL8Ughxi1H2dnXsitb0noj6rhNCPCGE
mBFCPCqEuMIqz6jjWhdCXNPDXV8wlrw4La4G0FNxCiEuBrAbwK9DFtkC4FwA5wNYBWAbgC8LIf5A
ld8K4FUAXgPgRQB+CmCHEGKwl+3uJkKIVwK4G8BHAKwA8Cdq+qQqXwNgB4AvAVgL4BoA7xdC/LWx
mQPqxmpOnwmp7xIAtwN4P4ATANwG4EtCiDNU+VoADwMYBiAW6jj0HCnlkp4ASHXybwFQU1MRwEnq
RH0EwB4ABfX5VmPdewH8B4D7AeTUvFsAPBJR3zUAzlEXowRwglX+BICPWvMq6saRAHAUwJuNsgyA
PIArY+7vfgAfUt8TAG5U+zUHYC+AdxrLngbgQQDHAOQA/A+As1TZkBLYc6r+xwG8wVh3D4APhrTh
HABXWPNuB/BD9f2DAPZa5R8F8BP1/e0A9rdwjr8K4E5r3ncA/Kv6fiaAa83rYbGvy65c24vdgI53
wDgZSmxfN8quB3AQwMsAJAFcCqAE4Dxj+SllbRMt1hsmzn8G8CiADarOdypBvkCJRQI43VpnN4B/
ilmvKc73AjgM4AIAKQB/DqAK4GJVvhPA59QNIKMszo9V2c0AHlPtSgC4EsAsgNUtHocEgE2qXR9Q
87YD+E9ruUvVjTOjxDkF4CsAJgEcAjABIBVSx68BvMea9ykA34+6Hpb61G9urc27AWyTUv5MSlmT
Un4DwNfVxaE5KqX8opSy3qU6/x7APjVVAHwawJuklJNKCFCWzOSoctda5TplUXZLKatSyv8GsAvA
X6jyMeVFlKSURQA3SSk3GWUVAAUpZV1K+VUAK6SUU3ErF0K8FUAZwPcAfE5KuU0VvSBkHxMAVipB
PqZCgBPVzfFvAHw4pKqw7bVzzJYM/S7O3wfwj2bSAcDlAE42ltnX5Tq3AVijrOSouui+LIR4WcQ6
Qt3xW+XFAH5uzfulmg8A/wDgjQD2CyHuAnCZEELHZHcoK/ZrIcSXhRDvUr9jI6X8AoBBAC8HcK0Q
YkvE4uJ3q8kdUso/lVLuklJWpJQPqeP2V2FVhWyvr5/a6HdxzgF4t5V0GJBSmpm+crcqE0IMA3gP
gFullL+UUubVBfwTAG8F8Lxa1L7jn2CUtYIriRQkRKSUD6qk098qF/uLAO5TZQeUu/96AM8oIf9E
CDHaSgOUR/KI8hjeL4RIq31x7WNVWTwXTwN4YUjZ4S4esyVDv4vzKZW8CBBCnCyESPaovoQSh719
LaJ9AI4AOM9ozwiAjQB+0EZ9TyuBmWxU+w0hxAlSyoKU8r+klO9QceW1QohVqt5BKeX3pJQfVuud
CODVzSoVQvyLEOJexz7WANRVDH2eVb4JwMNSyrIQ4r1CiLdY5Wcoq+8ibHvtHLOlw2IHvZ1OVkLo
31XXxBiAAQBvAzCjui1SAC5S8c6V0pFAarHesITQt1Tc9yLVhjeqi/aPVfmtAH5huL3bVIY3qcrf
D+D+iHrNhNDfqf35QwBpFbvV1IU8pOK0DyjhpFVMd1jdRL4J4AsqBhQALlYx6Mti7Ptlatlr1HZf
DOD/AHxJla9WFvJG1Y7zVDvfZOzjMQCvUOflVQCOA3iXKj9JHaON6vcrVbb91Wpf3qJ+vzjqeljq
06I3oOMdaBTnK9TFNwPgj9RFdxOAXykXd4+Z9XOJM0ZXyk6VZCmruotqukWVr1EZ0mdVOx61uihS
Kkk0qS6wb5oXGYDNAB6LqN/uSvm4sjg5AP8L4BJj2T8B8GOVhT2uEjebVNmLADyg5s+qrpS/NNYN
7UpR5W8C8KTa92cBfBbASqN8E4AfqfKDAG4wynQX1y/VedmvMs9ClW9Qx/Y8Y523K0+hpG7Ar7HO
mT4PUp2bIoCdi319djLpg0E8QQiRAvANKeVrF7stZHHp95hzKfJnfR9LkVjQchLiKbSchHgKxUmI
p6SiCoUQ9HkJ6TFSSueTNLSchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgK
xUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmI
p1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1Cc
hHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgKxUmIp1CchHgK
xUmIp1CchHhKarEbQDrjvvvuQz6fR6lUQqlUQrVaRSaTQSaTwerVq3H11VcvdhNJmwgpZXihEOGF
ZMH4/Oc/j0KhgEOHDkEIEbmslDJYRp9bcx0pJU444QRs2LABl19+eY9bTuIgpXSeVIrTU7Zu3Ypc
LodKpRLMCxPmhg0bkEgkGiYhBH7+8583LGevr899JpPBTTfd1JP9IM2hOJcAd911F44dO4Z8Pt/U
QgLA+Pg4EokEUqnUPHEmEgkkk0kkEgk8/vjj89Y1z7sQIvg9Pj6O973vfV3eMxIFxekhd999N6am
pjA3N9fggkopccoppwQC1Z/PPPMMEokERkZGGkSoxSmEcM7XZWNjYxgbG8Phw4eD+TMzM6hWq9i7
d2/gEpuu8SmnnIK3ve1ti3iU+h+K0yPuuecezM3NoVAooFAoNJStX78e9Xo9EBQMce7btw8DAwNI
p9MNoosjTv179erVOHbsWLCstq7pdBq5XA6PP/74PJFKKbFmzRpcf/31i3K8+h2K0wO2bt2KoaEh
5PN5zMzMoFarQUqJ9evXQ0qJWq0GIUQgHJc40+n0PNFpgdkCdS03OjqKYrHYsF0tzmQyiWQyiXw+
j2KxiD179sxzfy+88EK87nWvW5Tj169QnIvM3XffDSklpqenUSwWUa1WAQDr1q1DtVqdJ0oz5tTf
Dxw4AAAYGBiYJ0Lzt/5uizOdTmNkZATlcrlhu7o+LU4t5GKxiEcffRSwYtSTTjoJ11133QIevf6G
4lxEtmzZgqGhIczMzKBcLqNSqWDdunWQUqJarc4TpP1df2pxAkA6nZ4nQlugtjgzmQxSqd91bdv1
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
ucj29cFRP92Hbq2nmEP/TKIegjaXsee3KlBXuQnF2HsoTs9xJY6irFknY2+jHr7W8xlTLhwU5xJC
/6uZTSsPRbuE18xlpiAXB4pzCWKLpZX4E46HtDkO1k8ozj7BFFIrj6jp+Ywh/YPiJMRT2M9JyBKD
4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTE
UyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhO
QjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF
4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTE
UyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhO
QjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjyF
4iTEUyhOQjyF4iTEUyhOQjyF4iTEUyhOQjxFSCkXuw2EEAe0nIR4CsVJiKdQnIR4CsVJiKdQnIR4
CsVJiKf8P8ZamgYBgyMkAAAAAElFTkSuQmCC
"/>
</div>
</div>
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
OAkJlP8HtUg08UdcRyYAAAAASUVORK5CYII=
"/>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="5.-Conclusion">5. Conclusion<a class="anchor-link" href="#5.-Conclusion"></a></h2><p>In this tutorial we learnt how to <strong>load</strong> a mesh from an obj file, initialize a PyTorch3D datastructure called <strong>Meshes</strong>, set up an <strong>Renderer</strong> consisting of a <strong>Rasterizer</strong> and a <strong>Shader</strong>, set up an optimization loop including a <strong>Model</strong> and a <strong>loss function</strong>, and run the optimization.</p>
</div>
</div>
</div>
</div></div></div></div></div><footer class="nav-footer" id="footer"><section class="sitemap"><div class="footerSection"><div class="social"><a class="github-button" href="https://github.com/facebookresearch/pytorch3d" data-count-href="https://github.com/facebookresearch/pytorch3d/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star PyTorch3D on GitHub">pytorch3d</a></div></div></section><a href="https://opensource.facebook.com/" target="_blank" rel="noreferrer noopener" class="fbOpenSource"><img src="/img/oss_logo.png" alt="Facebook Open Source" width="170" height="45"/></a><section class="copyright">Copyright © 2020 Facebook Inc</section></footer></div></body></html>