tag:blogger.com,1999:blog-20193483003047765572024-03-20T20:22:17.641-06:00Alejandro RuizC#, .Net and Xamarin BlogAlejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.comBlogger54125tag:blogger.com,1999:blog-2019348300304776557.post-28601018007860036702020-12-20T13:36:00.000-06:002020-12-20T13:36:40.475-06:00Segundo Calendario de Adviento de Xamarin en Español: Preparando tu App para Xamarin.Forms 5.0<div style="text-align: left;">Xamarin.Forms 5.0 esta a la vuelva de la esquina y con esta actualización vienen algunas mejoras significantes como nuevos elementos UI, mejoras de performance, soporte dual screen, de igual manera hay algunos cambios importantes a lo cuales deberemos de echar un vistazo para poder evitar problemas con nuestro código actual.</div><div style="text-align: left;"><br /></div><h1 style="text-align: left;">Cambios Importantes</h1><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi00m4up0KR10D3EXHqDh9_lDyRuZH-qjYmYF6inVjorXmUn-chtN7NiUtaaIjz5vJq7lov6pXU-hRXzdnkHF6Vop2kIIlwwIYz6aATAP9xkSUp6seJrKaoKn0poU7f890OTKvfMj9qmsc/s637/visual-studio.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="240" data-original-width="637" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi00m4up0KR10D3EXHqDh9_lDyRuZH-qjYmYF6inVjorXmUn-chtN7NiUtaaIjz5vJq7lov6pXU-hRXzdnkHF6Vop2kIIlwwIYz6aATAP9xkSUp6seJrKaoKn0poU7f890OTKvfMj9qmsc/w400-h151/visual-studio.jpg" width="400" /></a></div><div><br /></div><div><b><span style="color: red;">Se remueve el soporte para Visual Studio 2017 y anteriores</span></b>, para poder usar Xamarin.Forms 5.0 es necesario tener instalado Visual Studio 2019 el cual aparte de ofrecer mejores herramientas en el desarrollo de Android / iOS te ofrece muchas mejoras de seguridad, antes de actualizar a Xamarin.Forms 5.0 verifica que tengas instalada la version mas reciente de Visual Studio.</div><div><br /></div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqB5MvcuylKb0nlSkNRqh5vjWV1-BAJjekxvlfmpdvgIbPL67DzfY_eDWf2Up4RM_WLgPpQWTgikzil5ek3cdBOJDlwvl0VrjVikiJBhmmFucXN7kmQVTKMWsNpT3PSo4zs4Pl07CLVhQ/s725/W1TvR.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="725" data-original-width="458" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqB5MvcuylKb0nlSkNRqh5vjWV1-BAJjekxvlfmpdvgIbPL67DzfY_eDWf2Up4RM_WLgPpQWTgikzil5ek3cdBOJDlwvl0VrjVikiJBhmmFucXN7kmQVTKMWsNpT3PSo4zs4Pl07CLVhQ/s320/W1TvR.png" /></a></div><div><b style="color: red;"><br /></b></div><div><b style="color: red;">MasterDetailPage ha sido renombrado</b>, como parte del compromiso hacia comunidad en términos de diversidad e inclusión se ha tomado la decisión de renombrado a este componente el cual requerirá algunos ajustes en tu código, los cuales se enlistan enseguida:</div><div><ul style="text-align: left;"><li><b style="color: red;">MasterDetailPage</b> renombrado a <b><span style="color: #38761d;">FlyoutPage</span></b></li><li><b style="color: red;">MasterDetailPage.Master</b> renombrado a <b><span style="color: #38761d;">FlyoutPage.Flyout</span></b></li><li><b style="color: red;">MasterBehavior</b> renombrado a <b><span style="color: #38761d;">FlyoutLayoutBehavior</span></b></li></ul><div><b style="caret-color: rgb(56, 118, 29);"><span style="color: red;"><br /></span></b></div><div><b style="caret-color: rgb(56, 118, 29);"><span style="color: red;"><br /></span></b></div><div><b style="caret-color: rgb(56, 118, 29);"><span style="color: red;"><br /></span></b></div><div><b style="caret-color: rgb(56, 118, 29);"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-gDmg8n2FhecAXDAuRlevoKblOTaFLdILdK5x-vEphqi6vQ8xbcfO-dkP_WP9I7wNltubh5M6loGq68kXzYHQ3U7W3evjKixVp_8K23Y8K_DKBuDdZ5ppNxeCtklJ3-_641D_rRIUxD0/s1380/14125-screen-shot-2019-10-16-at-111204-am.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="394" data-original-width="1380" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-gDmg8n2FhecAXDAuRlevoKblOTaFLdILdK5x-vEphqi6vQ8xbcfO-dkP_WP9I7wNltubh5M6loGq68kXzYHQ3U7W3evjKixVp_8K23Y8K_DKBuDdZ5ppNxeCtklJ3-_641D_rRIUxD0/w640-h182/14125-screen-shot-2019-10-16-at-111204-am.png" width="640" /></a></div><br /></b></div><div><b style="caret-color: rgb(56, 118, 29);"><span style="color: red;">Referencias de UIWebView removidas para iOS</span></b><span style="caret-color: rgb(56, 118, 29);">, como parte de los requerimientos para publicar aplicaciones en la tienda de Apple es necesario remover cualquier referencia hacia este componente obsoleto el cual ha sido completamente removido para la ultima version de Xamarin.Forms 5.0, si cuentas actualmente con algún renderer que siga teniendo referencias a UIWebView deberas de migrarlo hacia el nuevo renderer </span><b style="caret-color: rgb(56, 118, 29);">WKWebViewRenderer</b><span style="caret-color: rgb(56, 118, 29);"> te recomiendo revisar el <a href="https://github.com/xamarin/Xamarin.Forms/blob/4.8.0/Xamarin.Forms.Platform.iOS/Renderers/WkWebViewRenderer.cs" target="_blank">código fuente</a> para tomarlo como referencia.</span></div></div><div><span style="caret-color: rgb(56, 118, 29);"><br /></span></div><div><span style="caret-color: rgb(56, 118, 29);"><br /></span></div><div><span style="caret-color: rgb(56, 118, 29);"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSE6C2lVSi239hfVznuhrSJjOid87ckEnO7FZojkbiOxHmQdLCF3TXwiFl8_kHbuj_Flcdp6uc-xdPXOJg1d6fTh_sZC6GGGt3zW3kz0h0_687ZxwpdcWGDX0sckyuH_93AEGvRwPcu90/s128/XamarinCommunityToolkit_128x128.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="128" data-original-width="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSE6C2lVSi239hfVznuhrSJjOid87ckEnO7FZojkbiOxHmQdLCF3TXwiFl8_kHbuj_Flcdp6uc-xdPXOJg1d6fTh_sZC6GGGt3zW3kz0h0_687ZxwpdcWGDX0sckyuH_93AEGvRwPcu90/s16000/XamarinCommunityToolkit_128x128.png" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><b><span style="color: red;">C# UI, Expander y MediaElement han sido movidos</span></b>, Xamarin.Forms 5.0 como ultimo release importante del producto antes de migrar a <a href="https://github.com/dotnet/maui" target="_blank">MAUI</a> se estará enfocando en dar estabilidad a las funciones actuales por lo cual estos controls y funciones experimentales han sido movidas al proyectos <a href="https://github.com/xamarin/XamarinCommunityToolkit" target="_blank">Xamarin Community Toolkit</a>, el cual ofrece distintas funciones tales como CameraView, AvatarView, RangeSlider, helpers para traducción, los cuales están mantenidos por personas dentro de la comunidad, así que al migrar a Xamarin.Forms 5.0 tendrás que hacer algunos ajustes de Namespace en tu código.</div><div><br /></div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz5JNzlYXvzKtMx4UB7Y3xTnRzVADsCtrNl6tuuazsoZIigK55Fox1Ns_xSUpAbhOxygopLGw2h5xc4hXjYrnaRB5igttkpK98xkX_tyltTNkE-_OFP2-gWu01R1N65MAw5DzExdWlTpg/s637/Untitled-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="637" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz5JNzlYXvzKtMx4UB7Y3xTnRzVADsCtrNl6tuuazsoZIigK55Fox1Ns_xSUpAbhOxygopLGw2h5xc4hXjYrnaRB5igttkpK98xkX_tyltTNkE-_OFP2-gWu01R1N65MAw5DzExdWlTpg/w640-h192/Untitled-1.png" width="640" /></a></div><div><br /></div><div><b><span style="color: red;">Se remueve soporte para características viejas</span></b>, Xamarin.Forms 2 introdujo algunas funciones las cuales ha sido relegadas debido a funciones que se han añadido con el tiempo en el framework por lo cual en Xamarin.Forms 5.0 le decimos adios a los paquetes de <span style="color: red;">DataPages & Themes</span> los cuales pueden ser migrados a estilos dinámicos y AppThemeBinding que permiten poder adaptar nuestras aplicaciones a los temas obscuro / claro actualmente usados en la mayoría de sistemas operativos modernos, de igual manera se ha removido las funciones de <span style="color: red;">XFCorePostProccesor.Tasks</span> con lo cual cualquier soporte para versiones anteriores a Xamarin.Forms 3.0 ha sido removido. </div><div><br /></div><h2 style="text-align: left;"><br /></h2><h1 style="text-align: left;">Funciones Añadidas</h1><div>Uno de los cambios mas importantes es el agregado de elementos como<span style="color: #38761d;"><b> Brushes, Shapes y Paths</b></span> los cuales nos permitirán realizar aplicaciones con diseños fenomenales de manera mas rápida, si te interesa saber mas acerca de estas funciones no olviden dar una revisada a este video:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="406" src="https://www.youtube.com/embed/bNh05kxAl8w" width="488" youtube-src-id="bNh05kxAl8w"></iframe></div><div><br /></div><div><br /></div><br /><div><b style="color: #38761d;">CarouselView</b>, después de algo de tiempo de perfeccionamiento se ha añadido una version estable de este control que nos permite mostrar una colección de elementos de una manera virtualizada y optimizada.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVWuKFz__nRGGJT47WSbNBO3lmXZGzLPGICkikk0CXguRRxOdThUhpNxCc4wgtXxzIaGjy3eyXeKUfTr_I9KXg13dhQGkvLnxKrNshokayMlIoAxDHk4p0Gpn8VRY05XLznGaUbTIM31c/s719/carouselview-challenge2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="719" data-original-width="448" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVWuKFz__nRGGJT47WSbNBO3lmXZGzLPGICkikk0CXguRRxOdThUhpNxCc4wgtXxzIaGjy3eyXeKUfTr_I9KXg13dhQGkvLnxKrNshokayMlIoAxDHk4p0Gpn8VRY05XLznGaUbTIM31c/w398-h640/carouselview-challenge2.gif" width="398" /></a></div><p style="text-align: center;"><span style="font-size: x-small;">Imagen tomada de <a href="https://javiersuarezruiz.wordpress.com/2019/10/27/xamarin-forms-nuevo-carouselview/">https://javiersuarezruiz.wordpress.com/2019/10/27/xamarin-forms-nuevo-carouselview/</a></span></p><div style="text-align: left;"><span style="color: #38761d;"><b><br /></b></span></div><div style="text-align: left;"><span style="color: #38761d;"><b><br /></b></span></div><div style="text-align: left;"><span style="color: #38761d;"><b><br /></b></span></div><div style="text-align: left;"><span style="color: #38761d;"><b>SwipeView</b></span>, al igual que CarouselView, este control vera por primera vez la luz con su version estable en Xamarin.Forms 5.0, este control nos permite mostrar vistas contextuales en multiples direcciones al realizar swipe en un un elemento visual.</div><div style="text-align: left;"><span style="text-align: center;"><br /></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfwkZyp2AV83sXP6ZmNcoEmzRNC-AA-2JzNWrAJJ5fEAm3j9DpuE08IYQU2OfoerDu-T6Y0Nvws1_jtxh0rIvj0RsSGsZx9lt_EensnGS1_JyzQ3NPjf1JxPswyTCBqWQyakPJL3odY4k/s601/favfighters.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="601" data-original-width="300" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfwkZyp2AV83sXP6ZmNcoEmzRNC-AA-2JzNWrAJJ5fEAm3j9DpuE08IYQU2OfoerDu-T6Y0Nvws1_jtxh0rIvj0RsSGsZx9lt_EensnGS1_JyzQ3NPjf1JxPswyTCBqWQyakPJL3odY4k/w320-h640/favfighters.gif" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="font-size: x-small;">Imagen tomada de <span style="text-align: left;"><a href="https://javiersuarezruiz.wordpress.com/2019/12/04/xamarin-forms-un-primer-vistazo-a-swipeview/">https://javiersuarezruiz.wordpress.com/2019/12/04/xamarin-forms-un-primer-vistazo-a-swipeview/</a></span></span></div><div class="separator" style="clear: both; text-align: left;"><span style="color: #38761d;"><b><br /></b></span></div><div class="separator" style="clear: both; text-align: left;"><span style="color: #38761d;"><b><br /></b></span></div><div class="separator" style="clear: both; text-align: left;"><span style="color: #38761d;"><b><br /></b></span></div><div class="separator" style="clear: both; text-align: left;"><span style="color: #38761d;"><b>Soporte Drag & Drop</b></span>, una de las funciones mas interesantes de Xamarin.Forms 5.0 es que tendrá de manera estable la primer version de drag & drop la cual nos permite de manera muy sencilla poder controlar objetos por la pantalla.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBWGVgecwrDx9r1pzYh6zydH7sxCNhZkTr9zI_gh2vvM3qV-Yii2EN2DIGghSmyFIgEfmOHHXCVQh61gx7cWXzdsAXMlwGMg_0Gu9VWKhgarzVbVh_RYowa9UDLAZfaDVfTIuLjz5h-Q8/s760/DragAndDrop_large.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="760" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBWGVgecwrDx9r1pzYh6zydH7sxCNhZkTr9zI_gh2vvM3qV-Yii2EN2DIGghSmyFIgEfmOHHXCVQh61gx7cWXzdsAXMlwGMg_0Gu9VWKhgarzVbVh_RYowa9UDLAZfaDVfTIuLjz5h-Q8/w640-h404/DragAndDrop_large.gif" width="640" /></a></div><span style="font-size: small; text-align: center;"><div style="text-align: center;">Imagen tomada de <a href="https://visualstudiomagazine.com/articles/2020/08/10/xamarin-forms-4-8.aspx" style="text-align: left;">https://visualstudiomagazine.com/articles/2020/08/10/xamarin-forms-4-8.aspx</a></div></span><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Estos cambios sin duda son solo algunos de los mas importantes esta version incluye un monton de nuevas funciones y mejoras para elementos como:</div><div class="separator" style="clear: both; text-align: left;"><ul style="text-align: left;"><li>CollectionView</li><li>Dark Mode</li><li>Dual Screen</li><li>IndicatorView</li><li>Maps</li><li>Shell</li><li>Visual</li><li>Accessibility</li><li>y mas.</li></ul><div>Si quieres revisar estos y mas cambios a detalle puedes revisarlo en los siguientes enlaces:</div><div><br /></div><div><a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/release-notes/5.0/5.0.0-pre5">https://docs.microsoft.com/en-us/xamarin/xamarin-forms/release-notes/5.0/5.0.0-pre5</a></div><div><a href="https://devblogs.microsoft.com/xamarin/xamarin-forms-5-preview/">https://devblogs.microsoft.com/xamarin/xamarin-forms-5-preview/</a></div><div><a href="https://channel9.msdn.com/Shows/XamarinShow/XamarinForms-5-Is-Here">https://channel9.msdn.com/Shows/XamarinShow/XamarinForms-5-Is-Here</a></div></div>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com0tag:blogger.com,1999:blog-2019348300304776557.post-19882402556131742482020-06-01T23:57:00.001-05:002020-06-02T17:35:27.242-05:00Code Snippet: Convertir ImageSource de Xamarin.Forms a una Imagen Nativa<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX7XRY8tEL6Nq4eR0QueXJCpG4r1nnEl3Tuo6NdVd0kw_n5kyaL3LNrqQwqmTH3094k2S3GuvAux7pMUlYONfFOvdKWrOu3lRKcdpIZiGJuKYGlvQAShdOSlsLGnSOguho9CGv0iPi5Jc/s1600/C-Sharp-Dictionary-Code-Snippet.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="510" data-original-width="768" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX7XRY8tEL6Nq4eR0QueXJCpG4r1nnEl3Tuo6NdVd0kw_n5kyaL3LNrqQwqmTH3094k2S3GuvAux7pMUlYONfFOvdKWrOu3lRKcdpIZiGJuKYGlvQAShdOSlsLGnSOguho9CGv0iPi5Jc/s640/C-Sharp-Dictionary-Code-Snippet.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
Voy a compartir con ustedes un fragmento de código que suelo usar cuando genero controles personalizados en Xamarin.Forms.<br />
<br />
Como un gran fan de las experiencia nativas siempre estoy tratando de tomar ventaja de los tipos que Xamarin.Forms continue para ayudar a los desarrolladores a usar controles extendidos y nuevos componentes usando tipos comunes en el framework, pero algunas veces xamarin tiene algunas implementaciones ocultas que son private o internal, como en este caso el obtener una imagen nativa del tipo <b>ImageSource</b> como puedes observar aquí(iOS):<br />
<br />
<a href="https://github.com/xamarin/Xamarin.Forms/blob/ae5bbc51230b3a555ceed2ddce4d4fc8aaf8774d/Xamarin.Forms.Platform.iOS/Renderers/ImageElementManager.cs#L279" target="_blank">https://github.com/xamarin/Xamarin.Forms/blob/ae5bbc51230b3a555ceed2ddce4d4fc8aaf8774d/Xamarin.Forms.Platform.iOS/Renderers/ImageElementManager.cs#L279</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglBzK7iEc1-MynY_6lbzLUoWcZOMFDSNGjEJLdBRCZEY2pXzwDwAarMpsbSjidUwi2LG7YW4NPgjovkdtZgK_gOtAJBKaeDeQEJFJ5MorrRxA4YzhFj8VxFIU0VzYCiH9biNMPsEe9knI/s1600/Screen+Shot+2020-06-01+at+22.15.08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="626" data-original-width="876" height="456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglBzK7iEc1-MynY_6lbzLUoWcZOMFDSNGjEJLdBRCZEY2pXzwDwAarMpsbSjidUwi2LG7YW4NPgjovkdtZgK_gOtAJBKaeDeQEJFJ5MorrRxA4YzhFj8VxFIU0VzYCiH9biNMPsEe9knI/s640/Screen+Shot+2020-06-01+at+22.15.08.png" width="640" /></a></div>
<br />
Así que para este tipo de casos podemos encontrar una buena solución para seguir usando los tipos que provee Xamarin.Forms y poder usarlos en tu código, Les compartiré un fragmento de código que puede re-utlilizar en un proyecto tipo Shared(compartido) o Multi-target y con una simple linea de código serán capaces de obtener la representación nativa de un objeto tipo <b>ImageSource:</b><br />
<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/ab280fefbdf986ed8c461bd1f1d128ea.js"></script>
<br />
Como puede ver es muy simple de obtener la imagen nativa y con esto puede llegar a realizar implementaciones muy interesantes como la que realice de ejemplo:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuCPqrApx7VjNA0f9oXCOLhDBrB0vGFr8w2IA-_46OSFyL6FVaJkTa8EiNqQV1qHNbFIhyphenhyphenbeK4NwcM5Nb2A2Bo037jfhDbZVDm9v1KqL0o2v21-AG5Rxm6p1ofG4p6XNMRreN1xBUNfqM/s1600/screencast+2020-06-01+22-40-08.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="536" data-original-width="964" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuCPqrApx7VjNA0f9oXCOLhDBrB0vGFr8w2IA-_46OSFyL6FVaJkTa8EiNqQV1qHNbFIhyphenhyphenbeK4NwcM5Nb2A2Bo037jfhDbZVDm9v1KqL0o2v21-AG5Rxm6p1ofG4p6XNMRreN1xBUNfqM/s640/screencast+2020-06-01+22-40-08.gif" width="640" /></a></div>
<br />
Gist:<br />
<a href="https://gist.github.com/AlejandroRuiz/ab280fefbdf986ed8c461bd1f1d128ea">https://gist.github.com/AlejandroRuiz/ab280fefbdf986ed8c461bd1f1d128ea</a><br />
<br />
Ejemplo Xamarin.Forms:<br />
<a href="https://github.com/AlejandroRuiz/XamarinMonthCodeSnippets">https://github.com/AlejandroRuiz/XamarinMonthCodeSnippets</a>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com0tag:blogger.com,1999:blog-2019348300304776557.post-34246236706768491062020-06-01T23:01:00.001-05:002020-06-02T17:36:33.199-05:00Code Snippet: Convert Xamarin.Forms ImageSource to Native Image<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTxDM9QZowyMI5slXTGEVwuUSVwSAf0MxmxKZMNtHXARrgIpWJa53G6IfkFYj475vXbt-MmRGzqrPVE5P92NyHaABNHRbhJEZW6gRqv4-BT2pdE7kUs7OfHJqu5YHKsdKaLe-Ditc8UTM/s1600/xamarin-month-code-snippets-luismts.com_.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="901" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX7XRY8tEL6Nq4eR0QueXJCpG4r1nnEl3Tuo6NdVd0kw_n5kyaL3LNrqQwqmTH3094k2S3GuvAux7pMUlYONfFOvdKWrOu3lRKcdpIZiGJuKYGlvQAShdOSlsLGnSOguho9CGv0iPi5Jc/s1600/C-Sharp-Dictionary-Code-Snippet.jpg" width="640" /></a></div>
<br />
I'll share with you one code snippet that I like to use when I create some custom controls for Xamarin.Forms.<br />
<br />
As big fan of the native experiences Im always trying to take advantage of the current types that Xamarin.Forms have allowing devs to use the extended controls and new components with the common types used on the framework, but sometimes Xamarin have some hidden implementations that are either private or internal like the way of getting a native image from an <b>ImageSource</b> type as you can see here(iOS):<br />
<br />
<a href="https://github.com/xamarin/Xamarin.Forms/blob/ae5bbc51230b3a555ceed2ddce4d4fc8aaf8774d/Xamarin.Forms.Platform.iOS/Renderers/ImageElementManager.cs#L279" target="_blank">https://github.com/xamarin/Xamarin.Forms/blob/ae5bbc51230b3a555ceed2ddce4d4fc8aaf8774d/Xamarin.Forms.Platform.iOS/Renderers/ImageElementManager.cs#L279</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglBzK7iEc1-MynY_6lbzLUoWcZOMFDSNGjEJLdBRCZEY2pXzwDwAarMpsbSjidUwi2LG7YW4NPgjovkdtZgK_gOtAJBKaeDeQEJFJ5MorrRxA4YzhFj8VxFIU0VzYCiH9biNMPsEe9knI/s1600/Screen+Shot+2020-06-01+at+22.15.08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="626" data-original-width="876" height="456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglBzK7iEc1-MynY_6lbzLUoWcZOMFDSNGjEJLdBRCZEY2pXzwDwAarMpsbSjidUwi2LG7YW4NPgjovkdtZgK_gOtAJBKaeDeQEJFJ5MorrRxA4YzhFj8VxFIU0VzYCiH9biNMPsEe9knI/s640/Screen+Shot+2020-06-01+at+22.15.08.png" width="640" /></a></div>
<br />
So for this kind of cases we can find a good solution to still use the Xamarin.Forms types and implement on your side, I'll share a piece of code that can be used on either Shared & Multi-target projects and with a single line of code you'll be able to get a native representation of an ImageSource type:<br />
<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/ab280fefbdf986ed8c461bd1f1d128ea.js"></script>
<br />
As you can see is very simple to achieve it and with this you can implement good things like this one that I created as an example:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuCPqrApx7VjNA0f9oXCOLhDBrB0vGFr8w2IA-_46OSFyL6FVaJkTa8EiNqQV1qHNbFIhyphenhyphenbeK4NwcM5Nb2A2Bo037jfhDbZVDm9v1KqL0o2v21-AG5Rxm6p1ofG4p6XNMRreN1xBUNfqM/s1600/screencast+2020-06-01+22-40-08.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="536" data-original-width="964" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuCPqrApx7VjNA0f9oXCOLhDBrB0vGFr8w2IA-_46OSFyL6FVaJkTa8EiNqQV1qHNbFIhyphenhyphenbeK4NwcM5Nb2A2Bo037jfhDbZVDm9v1KqL0o2v21-AG5Rxm6p1ofG4p6XNMRreN1xBUNfqM/s640/screencast+2020-06-01+22-40-08.gif" width="640" /></a></div>
<br />
Gist:<br />
<a href="https://gist.github.com/AlejandroRuiz/ab280fefbdf986ed8c461bd1f1d128ea">https://gist.github.com/AlejandroRuiz/ab280fefbdf986ed8c461bd1f1d128ea</a><br />
<br />
Xamarin.Forms example:<br />
<a href="https://github.com/AlejandroRuiz/XamarinMonthCodeSnippets">https://github.com/AlejandroRuiz/XamarinMonthCodeSnippets</a><br />
Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com0tag:blogger.com,1999:blog-2019348300304776557.post-49721087203363207642020-02-17T18:35:00.003-06:002020-02-17T18:35:48.768-06:00Xamarin.Forms MediaElement Primer VistazoUna de las mejores funciones que serán lanzadas en la version de Xamarin.Forms 4.5 es el nuevo MediaElement sin duda, Había estado esperando por este control por mucho tiempo, vamos a analizar como funciona este control y como puedes comenzar a añadirlo en tus aplicaciones.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr9uqk7wNQY7FaIunFCREVFApQ1BsLdomCB0BcKIc81u80Q8JgnuQWc9GoeP-wY_aMzqj9Pg7JC5KcmEbXLSRtNY3XgnWPRIn3sOimRq10V2FsVY9-GtO5Df1XlNlUEdhnChI_bpE_TP0/s1600/preview.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="88" data-original-width="300" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr9uqk7wNQY7FaIunFCREVFApQ1BsLdomCB0BcKIc81u80Q8JgnuQWc9GoeP-wY_aMzqj9Pg7JC5KcmEbXLSRtNY3XgnWPRIn3sOimRq10V2FsVY9-GtO5Df1XlNlUEdhnChI_bpE_TP0/s200/preview.png" width="200" /></a></div>
<br />
Cómo puedes ver este control esta como Preview por lo que algunas funciones no estan completamente funcionales y necesitan algunas mejores.<br />
<br />
Ahora revisemos la API y la dividiremos en 3 partes, propiedades, methods y eventos.<br />
<br />
<h2>
1. Propiedades</h2>
<br />
- Aspect <b>Aspect</b><br />
Esta propiedad nos permite configurar el aspecto visual del video con alguno de los siguientes valores AspectFit(default), AspectFill or Fill, mismos que usamos en el control Image.<br />
<br />
- bool <b>AutoPlay</b><br />
Esta propiedad nos permite configurar si nuestro reproductor iniciara automáticamente cuando la propiedad Source es asignada, por default la propiedad es asignada como "true".<br />
<br />
- double <b>BufferingProgress</b><br />
Retorna el porcentaje de carga del video en curso.<br />
<br />
- bool <b>CanSeek</b><br />
Retorna verdadero si el player contiene un recurso valido para reproducir en caso contrario retornara falso.<br />
<br />
- MediaElementState <b>CurrentState</b><br />
Retorna el estado actual del reproductor, los valores posibles son los siguientes Closed, Opening, Buffering, Playing, Pause o Stopped.<br />
<br />
- TimeSpan? <b>Duration</b><br />
Retorna la duracion del recurso actual en caso de no tener cargado algún recurso devolverá nulo.<br />
<br />
- bool <b>IsLooping</b><br />
Obtiene o asigna si el reproductor reproducirá el video en bucle.<br />
<br />
- bool <b>KeepScreenOn</b><br />
Obtiene o asigna si la pantalla permanecerá activa mientras el reproductor esta funcionando.<br />
<br />
- bool <b>ShowPlaybackControls</b><br />
Obtiene o asigna si el reproductor mostrara los controles de reproducción, en caso de usar controles propios este valor necesitara ser asignado como falso.<br />
<br />
- TimeSpan <b>Position</b><br />
Retorna la posición actual del reproductor.<br />
<br />
- MediaSource <b>Source</b><br />
Obtiene o asigna el recurso actual, actualmente se soportan recursos locales y web.<br />
<br />
- int <b>VideoHeight</b><br />
Retorna la altura del video en pixeles.<br />
<br />
- int <b>VideoWidth</b><br />
Retorna el ancho del video en pixeles.<br />
<br />
- double <b>Volume</b><br />
Obtiene o asigna el volumen actual del video el valor puede estar dentro del rango de 0 y 1.<br />
<br />
<h2>
2. Metodos</h2>
<br />
- void Play()<br />
Permite asignar el estado como Playing.<br />
<br />
- void Pause()<br />
Permite asignar el estado como Pause.<br />
<br />
- void Stop()<br />
Permite asignar el estado como Stopped.<br />
<br />
<h2>
3. Event Handlers</h2>
<br />
- MediaEnded<br />
Indica cuándo un video ha sido reproducido hasta el final.<br />
<br />
- MediaFailed<br />
Indica cuándo sucede un error al momento de cargar un video.<br />
<br />
- MediaOpened<br />
Indica cuándo un video ha sido cargado de manera correcta.<br />
<br />
- SeekCompleted<br />
Indica cuando una tarea de rebobinado ha sido completada..<br />
<br />
<h2>
Uso:</h2>
<br />
Primero que nada se requiere instalar la version mas reciente de Xamarin.Forms la cual al dia de hot es la siguiente 4.5.0.282-pre4.<br />
<br />
Como el control esta en preview, usted necesitara añadir una bandera para indicar que se utilizara este control, dentro de su código principal de su clase de aplicación principal es un lugar correcto para añadirlo, ejemplo:<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/f83136f938ff315e9a51ef3531aeb490.js"></script>Después de esto usted podrá añadir el control dentro de un xaml o código C#, enseguida un ejemplo de uso:<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/2f983b31f169822e7bbc04142f808e6b.js"></script>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeo2vSGRl5vRg__jD93uhZKC0KdLFIuQ_rh3vsTHaPgPKWHgH-V_NVYfcqi9W7Klabz6rHbewlkisYgyP0bsrKvIDfZlvRPuowLwP9ThLtEGEP_bwFZq5PqCLnSk_ObFwjElQoV1oKBIg/s1600/Simulator+Screen+Shot+-+iPhone+11+-+2020-02-17+at+13.33.03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="740" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeo2vSGRl5vRg__jD93uhZKC0KdLFIuQ_rh3vsTHaPgPKWHgH-V_NVYfcqi9W7Klabz6rHbewlkisYgyP0bsrKvIDfZlvRPuowLwP9ThLtEGEP_bwFZq5PqCLnSk_ObFwjElQoV1oKBIg/s640/Simulator+Screen+Shot+-+iPhone+11+-+2020-02-17+at+13.33.03.png" width="292" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhICaFGNYMl1DhDxOU9EWRxNJyz0yQC0FxRiCZ_ssV5GPSVEWJJ-neNx1dnLX7IvlFbXshjo0EzLSEcWfxZjka8o8ZjvmmW9zZe4N7X4bZBkPO2Qf7_i0fSq231YeGnAfO9zW37PbH7_A8/s1600/Screenshot_20200217-133710.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="800" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhICaFGNYMl1DhDxOU9EWRxNJyz0yQC0FxRiCZ_ssV5GPSVEWJJ-neNx1dnLX7IvlFbXshjo0EzLSEcWfxZjka8o8ZjvmmW9zZe4N7X4bZBkPO2Qf7_i0fSq231YeGnAfO9zW37PbH7_A8/s640/Screenshot_20200217-133710.png" width="320" /></a></div>
<br />
<br />
<br />
<h2>
Limitaciones / Problemas Conocidos</h2>
<br />
La propiedad "Position" no esta funcionando en tiempo real, es actualizada únicamente cuando se navega en el contenido del video.<br />
<br />
La propiedad de "Volume" no esta funcionando de manera correcta en iOS causando algunas cierres inesperados y bloqueando la UI mientras se actualiza el valor.<br />
<br />
Algunas propiedades no están funcionando con Bindings usted necesitara apuntar estos bindings directamente al control, estas propiedades son las siguientes CurrentState, BufferingProgress, Duration, Position, VideoHeight & VideoWidth.<br />
<br />
<h2>
Código De Ejemplo Github</h2>
<br />
<a href="https://github.com/AlejandroRuiz/MediaElementPreview">https://github.com/AlejandroRuiz/MediaElementPreview</a><br />
<br />Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-37282655090043338392020-02-17T18:35:00.002-06:002020-02-17T18:35:46.164-06:00Xamarin.Forms MediaElement First LookOne of the best new features to be released on the Xamarin.Forms 4.5 version is the new MediaElement without doubt, I was waiting for this for a while, now Im really happy to have a video player as a builtin Xamarin.Forms control, lets see how this control works and how you can start adding it into your apps.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr9uqk7wNQY7FaIunFCREVFApQ1BsLdomCB0BcKIc81u80Q8JgnuQWc9GoeP-wY_aMzqj9Pg7JC5KcmEbXLSRtNY3XgnWPRIn3sOimRq10V2FsVY9-GtO5Df1XlNlUEdhnChI_bpE_TP0/s1600/preview.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="88" data-original-width="300" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr9uqk7wNQY7FaIunFCREVFApQ1BsLdomCB0BcKIc81u80Q8JgnuQWc9GoeP-wY_aMzqj9Pg7JC5KcmEbXLSRtNY3XgnWPRIn3sOimRq10V2FsVY9-GtO5Df1XlNlUEdhnChI_bpE_TP0/s200/preview.png" width="200" /></a></div>
<br />
As you can see now this control is in preview state some features are working partially others need to be improved.<br />
<br />
Now lets review the API and divide them in 3, properties, methods and event handlers(callbacks)<br />
<br />
<h2>
1. Properties</h2>
<br />
- Aspect <b>Aspect</b><br />
This property allow us to configure the visual aspect of the video with one of the following values AspectFit(default), AspectFill or Fill, same as we use for the Image control.<br />
<br />
- bool <b>AutoPlay</b><br />
This property allows the player to start playing when the Source property is set, the property is set to "true" by default.<br />
<br />
- double <b>BufferingProgress</b><br />
Returns the percentage of buffering of the current video source.<br />
<br />
- bool <b>CanSeek</b><br />
Returns true if the player contains a valid video source otherwise false.<br />
<br />
- MediaElementState <b>CurrentState</b><br />
Returns the current video player state, the possible values are Closed, Opening, Buffering, Playing, Pause or Stopped.<br />
<br />
- TimeSpan? <b>Duration</b><br />
Returns the current video duration in case of an invalid Source it will return a null value.<br />
<br />
- bool <b>IsLooping</b><br />
Get or Set whether the player will loop the current video.<br />
<br />
- bool <b>KeepScreenOn</b><br />
Get or Set whether the screen will remains on while the player is playing.<br />
<br />
- bool <b>ShowPlaybackControls</b><br />
Get or Set if the player will show the default video playback controls, in case that you want to create your own controls set as false.<br />
<br />
- TimeSpan <b>Position</b><br />
Returns the current player position.<br />
<br />
- MediaSource <b>Source</b><br />
Get or set the current media source right now it supports local path and web based videos.<br />
<br />
- int <b>VideoHeight</b><br />
Returns the current video height in pixels.<br />
<br />
- int <b>VideoWidth</b><br />
Returns the current video width in pixels.<br />
<br />
- double <b>Volume</b><br />
Get or set the current player volume it can be between 0 and 1.<br />
<br />
<h2>
2. Methods</h2>
<br />
- void Play()<br />
Allow to set current state as Playing.<br />
<br />
- void Pause()<br />
Allow to set current state as Pause.<br />
<br />
- void Stop()<br />
Allow to set current state as Stopped.<br />
<br />
<h2>
3. Event Handlers</h2>
<br />
- MediaEnded<br />
Indicates when a video has reached end.<br />
<br />
- MediaFailed<br />
Indicated an error while loading a video.<br />
<br />
- MediaOpened<br />
Indicates when a video has loaded successfully.<br />
<br />
- SeekCompleted<br />
Indicates that the seek task was completed.<br />
<br />
<h2>
Usage:</h2>
<br />
First of all you need to install the latests Xamarin.Forms preview package as of today is 4.5.0.282-pre4<br />
<br />
Since the control is on preview you'll need to property add control flag prior to use it the static constructor or the default constructor of your main Application is a good place to have it, Example:<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/f83136f938ff315e9a51ef3531aeb490.js"></script>
After that you can use it on your xaml or cs, here an example of usage:<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/2f983b31f169822e7bbc04142f808e6b.js"></script>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeo2vSGRl5vRg__jD93uhZKC0KdLFIuQ_rh3vsTHaPgPKWHgH-V_NVYfcqi9W7Klabz6rHbewlkisYgyP0bsrKvIDfZlvRPuowLwP9ThLtEGEP_bwFZq5PqCLnSk_ObFwjElQoV1oKBIg/s1600/Simulator+Screen+Shot+-+iPhone+11+-+2020-02-17+at+13.33.03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="740" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeo2vSGRl5vRg__jD93uhZKC0KdLFIuQ_rh3vsTHaPgPKWHgH-V_NVYfcqi9W7Klabz6rHbewlkisYgyP0bsrKvIDfZlvRPuowLwP9ThLtEGEP_bwFZq5PqCLnSk_ObFwjElQoV1oKBIg/s640/Simulator+Screen+Shot+-+iPhone+11+-+2020-02-17+at+13.33.03.png" width="292" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhICaFGNYMl1DhDxOU9EWRxNJyz0yQC0FxRiCZ_ssV5GPSVEWJJ-neNx1dnLX7IvlFbXshjo0EzLSEcWfxZjka8o8ZjvmmW9zZe4N7X4bZBkPO2Qf7_i0fSq231YeGnAfO9zW37PbH7_A8/s1600/Screenshot_20200217-133710.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="800" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhICaFGNYMl1DhDxOU9EWRxNJyz0yQC0FxRiCZ_ssV5GPSVEWJJ-neNx1dnLX7IvlFbXshjo0EzLSEcWfxZjka8o8ZjvmmW9zZe4N7X4bZBkPO2Qf7_i0fSq231YeGnAfO9zW37PbH7_A8/s640/Screenshot_20200217-133710.png" width="320" /></a></div>
<br />
<br />
<br />
<h2>
Limitations / Known Issues</h2>
<br />
Position property currently is not working "live" the property its only updated is the user perform a seek request.<br />
<br />
Volume binding property isn't now working properly on iOS causing some crashes / UI locks while updating it.<br />
<br />
Some properties are not working with direct bindings in case that you need to access them you'll need to reference direct from the control instance those properties are CurrentState, BufferingProgress, Duration, Position, VideoHeight & VideoWidth.<br />
<br />
<h2>
Github Demo Source Code</h2>
<br />
<a href="https://github.com/AlejandroRuiz/MediaElementPreview">https://github.com/AlejandroRuiz/MediaElementPreview</a><br />
<br />Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com5tag:blogger.com,1999:blog-2019348300304776557.post-9040146966059759122019-12-22T16:26:00.001-06:002019-12-22T16:27:05.817-06:00Meadow Primer Vistazo<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRbNVFsbzXlfgZAvCLKu7M90FAF_6rhm8rTjpnuCSv7Exc1Yhofb5-hre0WcGwRK1l1GnzeWTJgIieCPCXg30x2dzUAiGKJXnedfYJun9dKEt4w3WQSoZfY3ZRSAlD7CfZxfo6GxnGsl0/s1600/christmas-1865732_1920.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1164" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRbNVFsbzXlfgZAvCLKu7M90FAF_6rhm8rTjpnuCSv7Exc1Yhofb5-hre0WcGwRK1l1GnzeWTJgIieCPCXg30x2dzUAiGKJXnedfYJun9dKEt4w3WQSoZfY3ZRSAlD7CfZxfo6GxnGsl0/s640/christmas-1865732_1920.png" width="464" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
Que tal amigos como parte del segundo <a href="https://aspnetcoremaster.com/calendario-adviento-csharp-2019.html" target="_blank">calendario de adviento de C#</a> en español les compartire mis primers impresiones acerca de la meadow board una tarjeta para IoT que nos permite programar directamente en C# soportando .NET Standards 2.0.<br />
<br />
<b><span style="font-size: large;">MEADOW</span></b><br />
<br />
Entremos un poco en contexto acerca de que es meadow y quienes la desarrollaron, esta tarjeta esta desarrollada por la compañía <a href="https://www.wildernesslabs.co/" target="_blank">Wilderness Labs</a> empresa que también trabajo en el desarrollo de netduino, ahora entrando a la parte de meadow revisaremos como lo presenta la empresa<br />
<br />
"The power of Raspberry Pi in the computing factor of an Arduino, and the manageability of a mobile app."<br />
<br />
una idea muy ambiciosa que comenzó su desarrollo a finales del año pasado por medio de <a href="https://www.kickstarter.com/projects/meadow/meadow-full-stack-net-standard-iot-platform" target="_blank">kickstarter</a> logrando no solo juntar la cantidad inicial para el proyecto si no casi lograr el doble de fondos, actualmente la plataforma se encuentra en su fase Beta 3.5, y la version Beta 4/RC1 en desarrollo se planea para el proximo año poder disfrutar de la primer version estable del producto enseguida les dejo algunas capturas del Hack Kit Pro el cual continue aparte de la tarjeta meadow un montón de componente que los podrán ayuda a desarrollar nuestros primeros proyectos con Meadow.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0CwAKtxGpQehCh4yCF1Yr9mDRrwbW9QyDd6EYSqGvyS6okg3BtD36Ugu0XyQ11r-bFTA7RKdzRT7BTfi2ADLwh6IqN4iZM8V9nqs9T6KwKBMDfkhTsqsw_vvDO25r3USMedpoefquOBQ/s1600/IMG_7850.HEIC" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0CwAKtxGpQehCh4yCF1Yr9mDRrwbW9QyDd6EYSqGvyS6okg3BtD36Ugu0XyQ11r-bFTA7RKdzRT7BTfi2ADLwh6IqN4iZM8V9nqs9T6KwKBMDfkhTsqsw_vvDO25r3USMedpoefquOBQ/s400/IMG_7850.HEIC" width="300" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjntcGaQ__6WC3RVEwDTsFypIEZozH0V36cC9IqOhyn0S_6yglKtSg-pdnF7ksKIb3dEiemlhdh7rHcLtMijhRWSdHUtMUZxs29wt6fEPH8KO9vlGi9lEOYFKY7nN8tX_9ZpGCgV1JD2W0/s1600/IMG_7851.HEIC" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjntcGaQ__6WC3RVEwDTsFypIEZozH0V36cC9IqOhyn0S_6yglKtSg-pdnF7ksKIb3dEiemlhdh7rHcLtMijhRWSdHUtMUZxs29wt6fEPH8KO9vlGi9lEOYFKY7nN8tX_9ZpGCgV1JD2W0/s400/IMG_7851.HEIC" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu6MJPLIbXwImnZRq1OFP2X8S4v5U6sDj_xjMTZrX-H__bvLQZfMRcRlV2K4Cc-hUNJJjU3VFGzLTixnWfpfkeeY31sEFZMm2q3rpwryXa0fxrG_0qskImNzherUtY-GTjGotLZHMUxOo/s1600/IMG_7852.HEIC" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu6MJPLIbXwImnZRq1OFP2X8S4v5U6sDj_xjMTZrX-H__bvLQZfMRcRlV2K4Cc-hUNJJjU3VFGzLTixnWfpfkeeY31sEFZMm2q3rpwryXa0fxrG_0qskImNzherUtY-GTjGotLZHMUxOo/s400/IMG_7852.HEIC" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhKg7i16QGk6Y3uLEkNG6e79jPIq35C6Z4bfpplepr1NBSRMsKGpM3JEBz8DlobuzyLx_fjpxEt13cT22yoOr8BNjSt8rBg88CxZ5eIOzuQIHj1FWcD-iU74dwoa292KrAntY0gUyILyA/s1600/IMG_7854.HEIC" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhKg7i16QGk6Y3uLEkNG6e79jPIq35C6Z4bfpplepr1NBSRMsKGpM3JEBz8DlobuzyLx_fjpxEt13cT22yoOr8BNjSt8rBg88CxZ5eIOzuQIHj1FWcD-iU74dwoa292KrAntY0gUyILyA/s400/IMG_7854.HEIC" width="400" /></a></div>
<br />
<br />
Ahora vemos que hay debajo de meadow y por que nos permite trabajar con C#, la idea principal del proyecto es hacer un "Xamarin" para IoT debido a que esta siendo desarrollado por personas que trabajaron en el proyecto de Xamarin enseguida se muestra un grafica de como funciona meadow que apoyandose del framework de mono realiza lo necesario para poder compilar y correr C# dentro del chip de la tarjeta meadow<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdMUKzYmFf2Q9cXD0P9PAGs6a_Hik9sanglYlg1vfBPzFHlnU9lAVjtTSovcB5rlK3U95RtJm0oL9un3eOykhgjf4AteknQowrcCTwYK7DmOXDPNqgFAbonTOjyB_H44ROgNZK5ZJkUyk/s1600/c0cadcce1a42cfe609eaa0e2dd98bd11_original.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="830" data-original-width="680" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdMUKzYmFf2Q9cXD0P9PAGs6a_Hik9sanglYlg1vfBPzFHlnU9lAVjtTSovcB5rlK3U95RtJm0oL9un3eOykhgjf4AteknQowrcCTwYK7DmOXDPNqgFAbonTOjyB_H44ROgNZK5ZJkUyk/s400/c0cadcce1a42cfe609eaa0e2dd98bd11_original.png" width="327" /></a></div>
<br />
como pudieron observar en la gráfica tenemos 3 capas principales la primera es el runtime el cual se encarga de correr nuestro código C# a bajo nivel, el segundo es el core de meadow el cual se encarga de conectar nuestro código C# con los principales componentes de la tarjeta como el BL, WiFi, etc. y en el nivel mas alto tenemos Meadow Foundation que es una colección de librerías las cuales nos facilitan las comunicación e inicialización de los principales sensores en el mercado ayudándonos a en pocas lineas de código poder estar leyendo y enviando información a los componentes electrónicos, bueno ahora que sabemos la "magia" detrás de meadow comencemos a ver como programar la tarjeta.<br />
<br />
El primer paso para poder crear un proyecto tipo meadow es instalar la extencion la cual esta disponible tanto para VS for Mac como VS for Win, puedes encontrar los pasos en el siguiente enlacé:<br />
<a href="http://developer.wildernesslabs.co/Meadow/Getting_Started/Hello_World/">http://developer.wildernesslabs.co/Meadow/Getting_Started/Hello_World/</a><br />
<br />
Es muy sencillo solo instalar esa extensión y básicamente estamos preparados para poder crear nuestros proyecto meadow.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPP2GFoysZ6J81vBCaA4FXT71wvxMpOych2JTW_wN3kaGOoOU_6qaBwk2mmT8jkgDz6T4eMTqrqoTUkOK3t2stTyaaYu9nWGniR5_feNU70hwsVxXywt76c4RRA2kLdwfO2E0v4Q7EgcM/s1600/Screen+Shot+2019-12-22+at+15.17.49.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="652" data-original-width="896" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPP2GFoysZ6J81vBCaA4FXT71wvxMpOych2JTW_wN3kaGOoOU_6qaBwk2mmT8jkgDz6T4eMTqrqoTUkOK3t2stTyaaYu9nWGniR5_feNU70hwsVxXywt76c4RRA2kLdwfO2E0v4Q7EgcM/s320/Screen+Shot+2019-12-22+at+15.17.49.png" width="320" /></a></div>
<br />
y básicamente ese template nos generara un proyecto .Net Standards 2.0 basado en el .NET Framework 4.7.2 el cual en nuestro método principal Main contendrá 2 lineas de código 1 para inicializar nuestra App y otro para generar una interrupción indefinida(requerida para correr nuestra aplicación solo una vez y no se vuelva a incializar el programa).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxigBLRdTYtZ7sk2pmTLO1h6NCRvTd-eiGZwIsdrEPq4TEonXYqkOm7BYAxCr01hH-08fFVb0VITccYj5FcyXjb1l7dwZ7Y08yVMj67g5KH_ZF1_pGwSUIoGvujWLm_1acTUIduz9jhiw/s1600/Screen+Shot+2019-12-22+at+15.34.56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="317" data-original-width="533" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxigBLRdTYtZ7sk2pmTLO1h6NCRvTd-eiGZwIsdrEPq4TEonXYqkOm7BYAxCr01hH-08fFVb0VITccYj5FcyXjb1l7dwZ7Y08yVMj67g5KH_ZF1_pGwSUIoGvujWLm_1acTUIduz9jhiw/s400/Screen+Shot+2019-12-22+at+15.34.56.png" width="400" /></a></div>
<br />
ahora analizaremos nuestra clase tipo App<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE9QQ4nJwbjAexegFcUC7FX-yQ2PfnUhqnkbhuKax4WI1HYnXpSh8OHE7HIlPIObVTGbZ9ivJCS0-gi_tWVO_5-SerJbFGtf_2xNtVaSXuhcUxSlDb3jeaklcqVgidJ3ht2vDC0R5-DHs/s1600/Screen+Shot+2019-12-22+at+15.42.19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="31" data-original-width="397" height="24" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE9QQ4nJwbjAexegFcUC7FX-yQ2PfnUhqnkbhuKax4WI1HYnXpSh8OHE7HIlPIObVTGbZ9ivJCS0-gi_tWVO_5-SerJbFGtf_2xNtVaSXuhcUxSlDb3jeaklcqVgidJ3ht2vDC0R5-DHs/s320/Screen+Shot+2019-12-22+at+15.42.19.png" width="320" /></a></div>
<br />
esta es la clase principal en la que podremos toda nuestra logica pero primero hay que analizarla como puede ver hay que derivar de la clase App<D, A> la cual requiere 2 tipos, el primero es referente al tipo de microcontrolador en este caso usamos el que esta por default F7Micro que es la primer version que continue nuestra tarjeta meadow la idea es que en un futuro existan mas tipos de controladores y esta implementación pueda ser genérica y nuestro segundo typo es la clase que usaremos como base en este caso es App que es el nombre por default generado.<br />
<br />
ahora voy a mostrarle el código usado para este ejemplo que es básicamente el de un display de 240x240 en el cual mostraremos algunos textos y un circulo con las clases helper que meadow foundation nos proporciona.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHuSFF-roI28eoNedLC7rPRGeD37sPOyM50T0TX9tdxXLbkJC0_aY4lnDdGQX_6pxSMjyzDGSYw9EBxKusNVPRejnh4UsCk48g4hJ5EVAxvq1B53Qh9rastrr8-i7_yZwRwaCVlU2fl0A/s1600/Screen+Shot+2019-12-22+at+15.42.29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1150" data-original-width="928" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHuSFF-roI28eoNedLC7rPRGeD37sPOyM50T0TX9tdxXLbkJC0_aY4lnDdGQX_6pxSMjyzDGSYw9EBxKusNVPRejnh4UsCk48g4hJ5EVAxvq1B53Qh9rastrr8-i7_yZwRwaCVlU2fl0A/s640/Screen+Shot+2019-12-22+at+15.42.29.png" width="515" /></a></div>
<br />
y este es básicamente todo el código necesario para poder correr nuestra app pueden acceder al código completo aquí:<br />
<a href="https://gist.github.com/AlejandroRuiz/fd6501ceba88cd55374c2e150e385288">https://gist.github.com/AlejandroRuiz/fd6501ceba88cd55374c2e150e385288</a><br />
<br />
ahora solo conectamos nuestro meadow y corremos nuestra aplicación la cual tardara unos segundos en correr y tendremos como resultado lo siguiente:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/3o04iDokuZo/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/3o04iDokuZo?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
como pueden ver es muy facil iniciar con meadow hay un monton de recursos que pueden revisar para poder comunicar con otros sensores y componentes electronicos pueden encontrar mas información acerca de ellos en el siguiente enlace:<br />
<a href="http://developer.wildernesslabs.co/Meadow/">http://developer.wildernesslabs.co/Meadow/</a><br />
<br />
<br />
Como conclusion:<br />
Meadow es una excelente opción para IoT empresarial habilitando a los desarrolladores usar C# un lenguaje muy bueno, estable y solido para generar aplicaciones conectadas a la nube y de primera clase, como mencionamos al inicio el framework sigue en desarrollo y en constante evolución esperamos poder gozar de la primer version a mediados del año siguiente que sin duda hará de esta una herramienta muy poderosa ya que podremos conectar de manera fácil cualquier cosa a nuestra nube y/o realizar tareas muy comunes como ejecutar algoritmos de ML, comunicarnos con dispositivos móviles.<br />
<br />
También les recomiendo seguirme en mis redes sociales por que en los próximos meses estaré regalando una tarjeta meadow para que puedan probarla<br />
<br />
Facebook: <a href="https://www.facebook.com/alejandroruizvarela">https://www.facebook.com/alejandroruizvarela</a><br />
Twitter: <a href="https://twitter.com/alejandroruizva">https://twitter.com/alejandroruizva</a><br />
Instagram: <a href="https://www.instagram.com/alejandroruizvarela/">https://www.instagram.com/alejandroruizvarela/</a><br />
<br />
De antemano muchas gracias espero pasen unas felices fiestas.Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-9759989381032702792019-12-21T14:17:00.000-06:002019-12-22T12:05:44.104-06:00El futuro de Xamarin.Forms<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ_NaTTtFzTP2HPJUTbXv8UkwHmjhWhP1ynWfYJ9mlfKvzTKcIvnX7O2cozN4OzOPWW43sIZpxV3ADAks_1P-jpuAZSicCMleV5ggNOQdw7S7iq0v_EGXpeA6Gl-jiLohXzRSY9dSWObM/s1600/navidad0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="663" data-original-width="1140" height="371" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ_NaTTtFzTP2HPJUTbXv8UkwHmjhWhP1ynWfYJ9mlfKvzTKcIvnX7O2cozN4OzOPWW43sIZpxV3ADAks_1P-jpuAZSicCMleV5ggNOQdw7S7iq0v_EGXpeA6Gl-jiLohXzRSY9dSWObM/s640/navidad0.jpg" width="640" /></a></div>
<br />
<br />
Que tal amigos como parte del primero calendario de adviento promovido por nuestro buen amigo <a href="https://twitter.com/darkicebeam" target="_blank">Luis Beltran</a> les mostrare algunos de los features que vienen en camino para Xamarin.Forms los cuales nos ayudaran a poder desarrollar de manera mas fácil y sencilla elementos que comúnmente requerimos, sin mas podemos iniciar a revisar todos estos<br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">CarouselView</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTi5a8w4R6vhQrDlrPi5mz2kT7mIogxEvGFBwym4i0wnVRulPXtyfhi8BejLsBBpCtNAo_NPH06Bw4QWCJDMDwpfD4xoAaIJ4KDP1IO-T-2Twma3BhKUfhGFEQCOeywo-P98rGzXaNoA4/s1600/carouselviewchallenge-5.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="724" data-original-width="455" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTi5a8w4R6vhQrDlrPi5mz2kT7mIogxEvGFBwym4i0wnVRulPXtyfhi8BejLsBBpCtNAo_NPH06Bw4QWCJDMDwpfD4xoAaIJ4KDP1IO-T-2Twma3BhKUfhGFEQCOeywo-P98rGzXaNoA4/s320/carouselviewchallenge-5.gif" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="201" /></a></div>
<div>
<br /></div>
Como parte del release del control CollectionView se introdujo este control el cual es básicamente un CollectionView que funciona de manera horizontal, este control se encuentra en version pre-release y puedes usarlo desde ya, enseguida puedes encontrar la información referente a este control:<br />
<a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/carouselview/">https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/carouselview/</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Custom/Embedded Fonts</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitczaeo52RVScSD7n1fxfx40x6TR4MZ-y4BRf-0pQRocUoaFYYwo4_dibFtGZVsuKDHeN_7d5OavhEiVEEzzmxnuTUpZLoLfF5oZcGM-By8TQWWzratTkISeOeE4O1vKhwkqCky6MAYKs/s1600/S2G-love.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="566" data-original-width="613" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitczaeo52RVScSD7n1fxfx40x6TR4MZ-y4BRf-0pQRocUoaFYYwo4_dibFtGZVsuKDHeN_7d5OavhEiVEEzzmxnuTUpZLoLfF5oZcGM-By8TQWWzratTkISeOeE4O1vKhwkqCky6MAYKs/s320/S2G-love.png" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="320" /></a></div>
<br />
Actualmente si queremos usar fuentes personalizadas requerimos configurar en todas las plataformas estas fuentes lo cual nos lleva algo de tiempo y muchas veces confusiones, por lo cual esta nueva función que estará presente en la siguiente version de forms nos ayudara a poder configurar las fuentes directamente en nuestro proyecto core de manera super sencilla, para revisar mas detalles acerca de este feature pueden revisarlo directamente aquí:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/pull/6013">https://github.com/xamarin/Xamarin.Forms/pull/6013</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">IndicatorView</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMsB7xH8ffEJeZYmIE1FzGB7Q48FBPuqZNo337fnIYU2fO6ef4uiLIUI2XFUp85Yf0thNqv3prBhPjjwk2z6H8Enh4Ss0xVdZwRBmwmT3SzdV3XX519JfYw3ODQvH3Zb2rl8Hr9TQAnqU/s1600/carousel.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="800" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMsB7xH8ffEJeZYmIE1FzGB7Q48FBPuqZNo337fnIYU2fO6ef4uiLIUI2XFUp85Yf0thNqv3prBhPjjwk2z6H8Enh4Ss0xVdZwRBmwmT3SzdV3XX519JfYw3ODQvH3Zb2rl8Hr9TQAnqU/s320/carousel.gif" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="320" /></a></div>
<br />
Otro de esos controles sencillos que actualmente conlleva algo de tiempo y lógica poderlo configurar se ha añadido en la ultima version de Xamarin.Forms 4.4 de manera preview y puedes configurarlo desde ya, por default el indicador es mostrado como los pequeños circulos aunque es posible configurar cualquier vista que requieras haciendo de este un control muy poderoso y que podra ser utilizado de manera muy simple, mas info:<br />
<a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/indicatorview">https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/indicatorview</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">SwipeView</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7MJeO60biJ96BchXNcH3mvdilgeHpLYTutXvYDlQdBlCOyaaaNEtDCm7-BAsO1jFC6hyphenhyphenSuweip-_3g5Xz65oH9lElvw-jjz2WsA4H1PT2Pdzjs87kjY5DdHvg0y2w1w82ojONn5-1ufo/s1600/favfighters.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="934" data-original-width="466" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7MJeO60biJ96BchXNcH3mvdilgeHpLYTutXvYDlQdBlCOyaaaNEtDCm7-BAsO1jFC6hyphenhyphenSuweip-_3g5Xz65oH9lElvw-jjz2WsA4H1PT2Pdzjs87kjY5DdHvg0y2w1w82ojONn5-1ufo/s320/favfighters.gif" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="160" /></a></div>
<br />
Otro control muy esperado y muy usado en aplicaciones en los últimos años el realizar una configuración custom para soportar este tipo de comportamiento en nuestras aplicaciones era algo compleja por lo cual este control es muy poderoso y marcara una nueva era al realizar nuestras aplicaciones, de igual manera este control se encuentra ya disponible en la version 4.4 de Xamarin.Forms, mas info:<br />
<a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/swipeview">https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/swipeview</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Gradiants</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy3oIzdyiZ1QwRgtmWemaHkE96MlNv34hGJr8ogRwwx6iWmsjLdAOyiZEEZdhqDJWOne2HBI1wetPi6_woIzV0JfI_nuGTV65gTrMA3KqQiT8Aw0jGDuhBpzxZ6rzFqGYNMquh4idP0bU/s1600/debde799d3c072f3b8849c29e9e4fad3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="800" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy3oIzdyiZ1QwRgtmWemaHkE96MlNv34hGJr8ogRwwx6iWmsjLdAOyiZEEZdhqDJWOne2HBI1wetPi6_woIzV0JfI_nuGTV65gTrMA3KqQiT8Aw0jGDuhBpzxZ6rzFqGYNMquh4idP0bU/s320/debde799d3c072f3b8849c29e9e4fad3.png" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="320" /></a></div>
<br />
Esta nueva función se encuentra actualmente bajo revision y con una discusión abierta por lo cual podemos participar para mejorar y aportar ideas para esta función la cual nos permitirá poder usar gradientes en diferentes formas como circulares, lineares creando de manera sencilla aplicaciones muy bonitas, si quieren participar en la discusión de esta nueva función pueden hacerlo en el siguiente enlacé:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/issues/7293">https://github.com/xamarin/Xamarin.Forms/issues/7293</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">MediaElement/MediaPlayer</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo82rE1LliT68YPzqfMnhR8ER4lUfenR7hrKYdZyE3q1BNdlPMsboiTvQuZeD65v_5PcpN_Ew2OMnh_Oe9R8YDmEjrrL6GLnqRthS7f5V2Cx1LZF9Uo-7B0tjy9HGN2qsgiKAOvDiXYH0/s1600/Mpv_playing_Big_Buck_Bunny.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="338" data-original-width="600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo82rE1LliT68YPzqfMnhR8ER4lUfenR7hrKYdZyE3q1BNdlPMsboiTvQuZeD65v_5PcpN_Ew2OMnh_Oe9R8YDmEjrrL6GLnqRthS7f5V2Cx1LZF9Uo-7B0tjy9HGN2qsgiKAOvDiXYH0/s320/Mpv_playing_Big_Buck_Bunny.png" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="320" /></a></div>
<br />
Un control algo polémico debido a la complejidad de si mismo, este control ha tenido mucho tiempo de discusión para poder encontrar la mejor forma de implementarlo y poder funcionar con diferentes tipos de formatos y sobre todo las diferencias entre soportes basados en diferentes marcas de dispositivos, versiones de sistema operativo etc. pueden revisar la discusión de la primera version de este control en el siguiente enlace:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/pull/3482">https://github.com/xamarin/Xamarin.Forms/pull/3482</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">CameraView</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj37hGZ3zMpdqoObb7dF2CtvVcHHwcjnhTPdDOeH33g-iZ4ZEc_WbeNgfBRRJnP_vTwnKT6NOHDFL70BNTxagX7cfu1fs4yseHAt5aiIx_CH3Aua51PRS5kKJ00pEB97xMzkDe_QYT-VL4/s1600/Apple_iPhone-11-Pro.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="459" data-original-width="816" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj37hGZ3zMpdqoObb7dF2CtvVcHHwcjnhTPdDOeH33g-iZ4ZEc_WbeNgfBRRJnP_vTwnKT6NOHDFL70BNTxagX7cfu1fs4yseHAt5aiIx_CH3Aua51PRS5kKJ00pEB97xMzkDe_QYT-VL4/s320/Apple_iPhone-11-Pro.jpg" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="320" /></a></div>
<br />
Otro control muy interesante debido a que actualmente es posible usar la cámara nativa para poder tomar video u/o fotos pero que pasa cuando requieres mostrar la cámara directamente en tu aplicación aquí es donde entra este nuevo control que de igual manera se encuentra en discusión debido que al igual que el control de video llega a ser algo compleja debido a diferencias que puede haber entre Sistemas operativos y marcas de los dispositivos, de igual manera existe una discusión abierta y puede participar en ella directamente aquí:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/pull/4084">https://github.com/xamarin/Xamarin.Forms/pull/4084</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">RadioButton</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnuJZOJcx86JSzjfax8Y1iXdW5yc1pHRurTubGqUCaoUa5WMxS4LphUPrclZXqjuC-HT_eZr76GSy-dd6oOiUf0SCOeA81-ju2rwFaSiZbb_nEMpuVhmZE7LCnxuGenRKMPxL2A-aKHAg/s1600/1*mAU3lQVM6mdr1mHfvaRkeg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="233" data-original-width="253" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnuJZOJcx86JSzjfax8Y1iXdW5yc1pHRurTubGqUCaoUa5WMxS4LphUPrclZXqjuC-HT_eZr76GSy-dd6oOiUf0SCOeA81-ju2rwFaSiZbb_nEMpuVhmZE7LCnxuGenRKMPxL2A-aKHAg/s320/1*mAU3lQVM6mdr1mHfvaRkeg.png" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="320" /></a></div>
<br />
Un control polémico debido a que no todas las plataformas lo soportan de manera nativa pero es importante poder tenerlo debido a que muchas interfaces modernas requieren este tipo de controles y es muy interesante poder tener este tipo de controles disponibles en el framework por lo cual al igual que el checkbox el radio button esta por arribar en poco tiempo a Xamarin.Forms, puedes seguir el progreso de este control directamente aquí:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/pull/8910">https://github.com/xamarin/Xamarin.Forms/pull/8910</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Gif animation support</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgxNkNwTq_Q5NzSRkDEloOFrDc9a48Dxmt3MxeDPrZ594UMjpZQsZ-Gpjx9t93-XewswaBh9-_yXJtB3vbqhZC5kfXnZhrKhdII8gPj-pg18PGdIJhsLHUSSJEqF1DK3GjYk4NZhw89MY/s1600/animated_gif.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="384" data-original-width="320" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgxNkNwTq_Q5NzSRkDEloOFrDc9a48Dxmt3MxeDPrZ594UMjpZQsZ-Gpjx9t93-XewswaBh9-_yXJtB3vbqhZC5kfXnZhrKhdII8gPj-pg18PGdIJhsLHUSSJEqF1DK3GjYk4NZhw89MY/s320/animated_gif.gif" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="267" /></a></div>
<br />
<br />
El soporte de imágenes GIF en el control estándar de imágenes era algo importante y que no se encontraba disponible en Xamarin.Forms ha sido lanzado en la version mas reciente de Xamarin.Forms 4.4 y puedes comenzar utilizarlo en tus aplicaciones desde ya, mas info:<br />
<a href="https://devblogs.microsoft.com/xamarin/xamarin-forms-4-4/#Xamarin.Forms%204.4">https://devblogs.microsoft.com/xamarin/xamarin-forms-4-4/#Xamarin.Forms%204.4</a><br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Support Glide by default on Android</span></b><br />
<br />
Glidex es un componente muy interesante en la plataforma de Android el cual nos permite manejar de manera optimizado el control de Imagen trabajando con cache y haciendo resize de las imágenes para que trabajen de manera mas inteligente y evitando los conflictos de memoria que pueden ser muy comunes al no usar recursos optimizados en nuestras aplicaciones, para participar en la discusión de esta mejora puedes hacerlo aquí:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/issues/3577">https://github.com/xamarin/Xamarin.Forms/issues/3577</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Floating Action Button</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD3EQrcTctqsOTqeaxnZ67fP3CfmiGJo0dBQfwnL-kpp4X6EVLuV-epYHBsXXLU7xRJht3dAm6TY8USVKIefBC8WVYuppUF7kgEohy_K2sbd_ozYrkweNkqXQUqHNSxp0GQTPaO8-K530/s1600/fab.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="512" data-original-width="688" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD3EQrcTctqsOTqeaxnZ67fP3CfmiGJo0dBQfwnL-kpp4X6EVLuV-epYHBsXXLU7xRJht3dAm6TY8USVKIefBC8WVYuppUF7kgEohy_K2sbd_ozYrkweNkqXQUqHNSxp0GQTPaO8-K530/s320/fab.png" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="320" /></a></div>
<br />
Un control definido como parte del material design pero muy utilizado actualmente en un montón de aplicaciones por lo cual en muy poco tiempo podremos disfrutar directamente en nuestras aplicaciones sin necesidad de crear un custom renderer o controles simulados, mas información aquí:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/issues/1714">https://github.com/xamarin/Xamarin.Forms/issues/1714</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Transparent Navigation Bar</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheEA4dpu2w1ZAY9sj4C60C8cz2HIrJDyoJ8QjjBTPELPUeqhY0bq0pRCNBJjBcmVb_-5OmTpZX12Dgjr6t9vG2NENHgtUDe-AL59WP5RjTcOXXuISJx1pVeoBaFsdcKO8mMLzz-21bCRc/s1600/iphonex-transparent-2%25402x.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="1000" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheEA4dpu2w1ZAY9sj4C60C8cz2HIrJDyoJ8QjjBTPELPUeqhY0bq0pRCNBJjBcmVb_-5OmTpZX12Dgjr6t9vG2NENHgtUDe-AL59WP5RjTcOXXuISJx1pVeoBaFsdcKO8mMLzz-21bCRc/s320/iphonex-transparent-2%25402x.jpg" style="height: auto; max-height: 80%; max-width: 80%; width: auto;" width="320" /></a></div>
<br />
Una de las funciones mas comunes en aplicaciones actuales esta por arribar a Xamarin.Forms esta función nos permitirá usar el control estándar de navegación y poder hacer de manera transparente sin la necesidad de hacer implementaciones nativas, para participar en la discusión del control lo puedes hacer directamente aquí:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/issues/1698">https://github.com/xamarin/Xamarin.Forms/issues/1698</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Shell V2</span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaCHYUfUWyX34Rziv2LqHvuUzsbRtM_8He5ugD38YLiT4eJm_9KLZXpXCaI_LhUxDLqkTFkF34IOVUa6AdXnX1XBDPYwkxwdI77W34idVVSwN9UceBXO5EuNh_gyawjWsNS0EA2hRGeL4/s1600/flyout-large.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="756" data-original-width="840" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaCHYUfUWyX34Rziv2LqHvuUzsbRtM_8He5ugD38YLiT4eJm_9KLZXpXCaI_LhUxDLqkTFkF34IOVUa6AdXnX1XBDPYwkxwdI77W34idVVSwN9UceBXO5EuNh_gyawjWsNS0EA2hRGeL4/s320/flyout-large.png" width="320" /></a></div>
<br />
<br />
Se vienen mejoras para Xamarin.Forms Shell el cual se viene con muchas mejoras, un mejor control de UI autogenerada, API de navegación, entre muchas otras mejoras que se pueden seguir en el siguiente enlacé:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/labels/a%2Fshell%20%3Ashell%3A">https://github.com/xamarin/Xamarin.Forms/labels/a%2Fshell%20%3Ashell%3A</a><br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Segue and Transition API</span></b><br />
<br />
Actualmente es muy común usar animaciones al momento de navegar entre pantallas de nuestras aplicaciones por lo cual tenemos una discusión abierta acerca de estas mejoras y podemos participar todo como comunidad para poder tener una implementación solida que cubra la mayor cantidad de casos posibles, mas información aquí:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/issues/6033">https://github.com/xamarin/Xamarin.Forms/issues/6033</a><br />
<a href="https://github.com/xamarin/Xamarin.Forms/issues/4594">https://github.com/xamarin/Xamarin.Forms/issues/4594</a><br />
<a href="https://github.com/xamarin/Xamarin.Forms/issues/4770">https://github.com/xamarin/Xamarin.Forms/issues/4770</a><br />
<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">Fluent API</span></b><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
actualmente para poder inicializar nuestra aplicación es necesario usar varias lineas de código las cuales puede ser enredosas por lo cual en un futuro se vienen métodos que nos ayudaras a realizar estas configuraciones de manera fluida, esto también abre la puerta a en un futuro poder tener esta función pero para realizar UI muy simular a la manera que se usa en frameworks como "Flutter", puedes seguir la discusión en este enlace:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/issues/5037">https://github.com/xamarin/Xamarin.Forms/issues/5037</a><br />
<br />
<br />
<br />
con estas nuevas funciones sin duda Xamarin.Forms esta mas vivo que nunca y apegandose a las necesidades del mercado actual, recuerden que este framework esta dirigido por la comunidad así que si tienen una ideas, mejora o quieren aportar código pueden realizar en el GitHub oficial de Xamarin.Forms:<br />
<a href="https://github.com/xamarin/Xamarin.Forms">https://github.com/xamarin/Xamarin.Forms</a><br />
de igual manera puede revisar el roadmap de framework en el siguiente enlacé:<br />
<a href="https://github.com/xamarin/Xamarin.Forms/wiki/Feature-Roadmap">https://github.com/xamarin/Xamarin.Forms/wiki/Feature-Roadmap</a><br />
<br />
Sin mas por el momento me despido deseándoles unas excelente fiestas y un año nuevo lleno de Xamarin.Forms, muchas gracias por todo lo compartido este año 2019.<br />
<br />
Mas detalles del calendario de adviento aqui <a href="https://www.luisbeltran.mx/2019/11/06/primer-calendario-de-adviento-de-xamarin-en-espanol/">https://www.luisbeltran.mx/2019/11/06/primer-calendario-de-adviento-de-xamarin-en-espanol/</a>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com2tag:blogger.com,1999:blog-2019348300304776557.post-31097027688057908192019-07-29T01:22:00.000-05:002019-08-01T13:37:25.310-05:00Xamarin.Forms 4 In Action: Rapid Prototyping <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.thewissen.io/introducing-xamarin-ui-july/" target="_blank"><img border="0" data-original-height="321" data-original-width="768" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsHr5Bueb4oDHCwWzsL9i5cEqEVw3CBOh3UEjQH8hZChhlz9nL87tX_xqtHaxcZM00CoWn8FU06bPKzPv2Swx6v5L3mQd0ByEgPTUfJyOABRJgy4L758HY2xgts-Hz8RwYcduo5AAIfHg/s400/uijuly.png" width="400" /></a></div>
<br />
<br />
Hello as part of the #XamarinUIJuly I want to share with you a few tips that can help you to quickly create beautiful prototypes.<br />
<br />
As a Google services fan I will inspire in the Google Play Music app to create our Xamarin.Forms prototype.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRyWSVO8bOD8ndrvzNn0IoQxLVOOa-sReKR2i9d8boSM9mwOgCgNJmDUhRLnmrO2gAh4yPc8FBLgHGvgdyDxb07D1489p5p9hoIgg1h9UroqiFdXBoHMFfNkVA7ygqZU-8E_DmkYbBGDw/s1600/play-music-ios.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRyWSVO8bOD8ndrvzNn0IoQxLVOOa-sReKR2i9d8boSM9mwOgCgNJmDUhRLnmrO2gAh4yPc8FBLgHGvgdyDxb07D1489p5p9hoIgg1h9UroqiFdXBoHMFfNkVA7ygqZU-8E_DmkYbBGDw/s640/play-music-ios.jpg" width="640" /></a></div>
<br />
As part of the Xamarin.Forms 4 we get the brand new an stable version of <a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/" target="_blank">Xamarin.Forms Shell</a> a new and powerful way to create cross platform applications, and starting on Visual Studio 2019 / Visual Studio for Mac 8.0 we have a Forms Shell template allowing devs to have a boilerplate code to start working with it and you can create it by following the next steps:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlk5a_go42Qcq6UbdoDF5JIUNhv-9T7jMzBIaPassaVzyhh1rV4-HDmungJI4wLogLX2E2kHvKw4Ycsh4zRqlaQYcoyu-4myxRVJ1CELO82ANXBVv81moeDKPYnakhuVx3bGNF1n7x02E/s1600/Screen+Shot+2019-07-28+at+11.43.40+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1166" data-original-width="1600" height="466" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlk5a_go42Qcq6UbdoDF5JIUNhv-9T7jMzBIaPassaVzyhh1rV4-HDmungJI4wLogLX2E2kHvKw4Ycsh4zRqlaQYcoyu-4myxRVJ1CELO82ANXBVv81moeDKPYnakhuVx3bGNF1n7x02E/s640/Screen+Shot+2019-07-28+at+11.43.40+PM.png" width="640" /></a></div>
<br />
You'll noticed that the solution is almost the same as a normal Xamarin.Forms app but we have now the "AppShell.xaml" and "AppShell.xaml.cs" files those files contains the main logic and structure for our Xamarin.Forms Shell App.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2WLvN2zRxRmj9zUrGel3GoiJG3yllYErCkPNKzNpCJU3XpbFTMS_8-UgwflICUktg7MeWXpwctn7GYnIZ91UQeDW0EfldZLRsfgMvJGs-1tBNwTFmihyFWMKmJ4dkeP4XBY82DtyWP4s/s1600/Screen+Shot+2019-07-28+at+11.47.47+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="666" data-original-width="814" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2WLvN2zRxRmj9zUrGel3GoiJG3yllYErCkPNKzNpCJU3XpbFTMS_8-UgwflICUktg7MeWXpwctn7GYnIZ91UQeDW0EfldZLRsfgMvJGs-1tBNwTFmihyFWMKmJ4dkeP4XBY82DtyWP4s/s400/Screen+Shot+2019-07-28+at+11.47.47+PM.png" width="400" /></a></div>
<br />
Now lets take a look to the XAML code I divide it in 4 sections for our prototype<br />
<br />
<ol>
<li>Shell style definition</li>
<li>Flyout Header</li>
<li>Flyout Items and Item Template</li>
<li>Menu Items and Menu Item Template</li>
</ol>
<div>
the XAML code for our prototype is the next:</div>
<div>
<br /></div>
<div>
<br />
<script src="https://gist.github.com/AlejandroRuiz/452fb34fad3cf8fe746df162bb6a0e01.js"></script>
</div>
<br />
<div>
<br />
as you can noticed our app will contains a custom UI color definition for the Shell UI elements, a custom flayout header view, 1 Flyout item that contains 3 tabs(2 single page tabs and 1 with 3 subtabs) with a custom menu item template And also we have a definitions for our menu items take a look that even if we set a default menu item template we're able to define a custom template for an specific item.<br />
<br />
<b>IMPORTAN NOTE: </b>you'll see that im using ContentTemplate to define the Content pages templates this a best practice to allow Shell to create the instances once the view is required and not all views at boot up.<br />
<br />
Shell really speed up our App UI structure creation time so with that simple XAML code we're able to have a complete App structure so now lets continue with another good feature(currently experimental but almost prepared to be stable in the next Xamarin.Forms version) from Xamarin.Forms 4 and it is called <a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/collectionview/" target="_blank">CollectionView</a>.<br />
<br />
In our App we will use 2 types of CollectionViews<br />
<br />
<ol>
<li>Regular vertical sort elements(same as ListView)</li>
<li>Grid Layout with 2 columns</li>
</ol>
<div>
in the next XAML you can find the config for both CollectionView.</div>
<div>
<br /></div>
<div>
<br />
<script src="https://gist.github.com/AlejandroRuiz/ae0d4f21f7aefbde756bb3fa2b756620.js"></script>
</div>
<div>
<br />
Is very easy to implement CollectionView which is a really awesome feature it will attack the performance issues while we use ListView.<br />
<br />
Now we will use a good feature of Xamarin.Forms Shell which is the <a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/search" target="_blank">SearchHandler</a> this feature is helping us to easily implement a search behavior for our apps and is very easy to implement we need to have:<br />
<br />
<ol>
<li>Custom class that implements SearchHandler</li>
<li>In our Page XAML add a tag to an instance of our custom <a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/search" target="_blank">SearchHandler</a></li>
</ol>
<div>
<br /></div>
<div>
In the next code you can find a very simple implementation of a custom search handler.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br />
<script src="https://gist.github.com/AlejandroRuiz/7483c77fd78e6bcf8982ab6032c69263.js"></script>
</div>
<div>
And with those new features you're able to create a very well-looking POC or prototype as follow without requiring any platform specific code.<br />
<br />
<b>iOS</b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6h-fzCroP3cacRJqefZ-GXoCzHSYTIc4PLt3rHASflW-vf0ul6mKtLo5O2O2ywRT6FUJ2Sp5pT8BwgMpQzfUlTq8VCCLdJls7C-nnvvTEvIajLzLIqulcvPO-UMVheuVmt0n1glcFTmo/s1600/ios-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6h-fzCroP3cacRJqefZ-GXoCzHSYTIc4PLt3rHASflW-vf0ul6mKtLo5O2O2ywRT6FUJ2Sp5pT8BwgMpQzfUlTq8VCCLdJls7C-nnvvTEvIajLzLIqulcvPO-UMVheuVmt0n1glcFTmo/s400/ios-1.png" width="183" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjtiCLe_IY-eT4eNwHaLvlcuZd8x5v0UUpj_77aQd2oCUqfNErIGDIotal-uHrGg7wvaWpq1lET6f46wEyGjhVuF_4IZXkuOlKDQYPU9Fxrad-83_IYZZ5f9xSis0DADH9gdh6xsAl4hM/s1600/ios-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjtiCLe_IY-eT4eNwHaLvlcuZd8x5v0UUpj_77aQd2oCUqfNErIGDIotal-uHrGg7wvaWpq1lET6f46wEyGjhVuF_4IZXkuOlKDQYPU9Fxrad-83_IYZZ5f9xSis0DADH9gdh6xsAl4hM/s400/ios-2.png" width="183" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB3Saj4e2hYxpAfw8pA5HGQ2cvoVGB0pI0lt9i0HSLsgimUfL1y4SawOwyrnrvVagFQwddWCryxwNyL69wx4kRutT1txNf3Obec2IhNVXiDQko-VCrBH4FyLxibaAU6IMNZ_3Jdls2NM8/s1600/ios-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB3Saj4e2hYxpAfw8pA5HGQ2cvoVGB0pI0lt9i0HSLsgimUfL1y4SawOwyrnrvVagFQwddWCryxwNyL69wx4kRutT1txNf3Obec2IhNVXiDQko-VCrBH4FyLxibaAU6IMNZ_3Jdls2NM8/s400/ios-3.png" width="183" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIB_b4s1qxyEPnZQuqDGqFYoyxpPrPzO9Kif9k8sDghU3yC2CkrVhdN_iwl91iqY3ZMX5aW_QVLC06EhYXai2ppPyVd6XTPFCCo1u6UoC1j9jiYofQH8WR4HuTAoVr0lyJjrdSXvnNfbo/s1600/IMG_5231.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIB_b4s1qxyEPnZQuqDGqFYoyxpPrPzO9Kif9k8sDghU3yC2CkrVhdN_iwl91iqY3ZMX5aW_QVLC06EhYXai2ppPyVd6XTPFCCo1u6UoC1j9jiYofQH8WR4HuTAoVr0lyJjrdSXvnNfbo/s400/IMG_5231.PNG" width="183" /></a></div>
<br />
<br />
<br />
<b>Android</b><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJADSUKLsFpEM0d80jNv8dJ6WIthhkrk18uk3worzbbqmEUOVgo32_OIjUoMwwuX7XX-yV1fSky7G1DVC2n1e9G6Ka7rG_evVIWhZMmCAqB1Ea3wnKUMI_YG1GVug8fbtnrAkF0lZOIGo/s1600/droid-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1600" data-original-width="800" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJADSUKLsFpEM0d80jNv8dJ6WIthhkrk18uk3worzbbqmEUOVgo32_OIjUoMwwuX7XX-yV1fSky7G1DVC2n1e9G6Ka7rG_evVIWhZMmCAqB1Ea3wnKUMI_YG1GVug8fbtnrAkF0lZOIGo/s400/droid-1.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguQjGG8AFG7Sf5l9s3haj4Ja0fJS6C6uGVjI2yJCUg2vbEFy-ObM4onYEOAjAPDztE8dMlDgFI2QcfGVOkYGd1uz7CcTPt3T_x8UhT1Auplg-18sbwIGo06x_Oh_JcsNR7S8t3Pmm-mVQ/s1600/droid-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1600" data-original-width="800" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguQjGG8AFG7Sf5l9s3haj4Ja0fJS6C6uGVjI2yJCUg2vbEFy-ObM4onYEOAjAPDztE8dMlDgFI2QcfGVOkYGd1uz7CcTPt3T_x8UhT1Auplg-18sbwIGo06x_Oh_JcsNR7S8t3Pmm-mVQ/s400/droid-2.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPpL1ipW6mk2S76LHroIz_m5EpXaIOj0Yw2vCLD7iXRUMUERH1rBTsRTyAi6sLsgNTLA0d1c0mX57UeRTPXLCvWmbDqfMekbELv5w5s5kfNRiTppWC2Aigs9XQ9w3QuSuDBw58e7XV_cc/s1600/droid-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1600" data-original-width="800" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPpL1ipW6mk2S76LHroIz_m5EpXaIOj0Yw2vCLD7iXRUMUERH1rBTsRTyAi6sLsgNTLA0d1c0mX57UeRTPXLCvWmbDqfMekbELv5w5s5kfNRiTppWC2Aigs9XQ9w3QuSuDBw58e7XV_cc/s400/droid-3.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSZ5wU-2e0w9zLPCERLUiY00dcP1xKDeCqd65jzL3kow5r-st2vNYF1a800mNUpmuF75sGK3zt3WfLL2ngvm0AXV83ssd9YAj7cc6JzTSIZjZUY3pZ-pagwwDDVVQ5wBbVXZEvIIbnEZA/s1600/Screenshot_20190801-133221.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="1600" data-original-width="800" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSZ5wU-2e0w9zLPCERLUiY00dcP1xKDeCqd65jzL3kow5r-st2vNYF1a800mNUpmuF75sGK3zt3WfLL2ngvm0AXV83ssd9YAj7cc6JzTSIZjZUY3pZ-pagwwDDVVQ5wBbVXZEvIIbnEZA/s400/Screenshot_20190801-133221.png" width="200" /></a><br />
<b><br /></b>
<b><br /></b>
<b>GITHUB COMPLETE SOURCE CODE: </b><a href="https://github.com/AlejandroRuiz/PlayMusicXamarinClone">https://github.com/AlejandroRuiz/PlayMusicXamarinClone</a><br />
<br />
Hope that you can enjoy creating prototypes for your future projects one of the advantages of using Xamarin.Forms is that you can easily turn a prototype to a functional application at any time, also please <a href="https://github.com/AlejandroRuiz" target="_blank">follow me</a> on Github for future updates of the Clone app, also if you have any. doubt or question please drop me a line at <a href="mailto:alejandro@alejandroruizvarela.com">alejandro@alejandroruizvarela.com</a></div>
</div>
</div>
Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com4tag:blogger.com,1999:blog-2019348300304776557.post-11583754768483305402019-02-13T08:02:00.001-06:002019-02-13T08:02:47.710-06:00Mes Xamarin: Enamorate de Xamarin.Forms Shell<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://luismts.com/blog/xamarin/xamarin-month-february-2019/" target="_blank"><img border="0" data-original-height="1067" data-original-width="1600" height="425" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoo0906qk0gFWKDptDdYeuwO7cqN2DUfyI1ENdhyZaQ89bb258lH1pU_T9cWm0I3lHN5pUCvlzBAPnUU98HRxeavNjrcgNBE9ULQ5eqeOMzmSpEX4YO_E5F7OuNH50k4BqRknepS8JKg0/s640/201901xamarin-month-banner.png" width="640" /></a></div>
<br />
<br />
Como parte de la celebración del <a href="https://luismts.com/blog/xamarin/xamarin-month-february-2019/" target="_blank">Mes Xamarin</a> quiero compartir con ustedes uno de las funciones que amaras del preview de Xamarin.Forms 4, sin importar si estas iniciando en el desarrollo móvil o tienes años de experiencia estoy seguro que esta actualización te hará muy feliz.<br />
<br />
En las pasadas semanas una nueva version preview de Xamarin.Forms fue lanza la cual incluye muchos cambios y mejoras, y enseguida les mostrare una de esas nuevas funciones que sin duda hara que se enamoren de Xamari.Forms.<br />
<br />
<span style="font-size: x-large;">Xamarin.Forms Shell</span><br />
<span style="font-size: x-large;"><br /></span>Xamarin.Forms Shell es la nueva sencilla forma de crear y arquitecturar tus aplicaciones Xamarin.Forms permitiéndote enfocarte en la parte principal de tu aplicación y dejando al framework para que maneje cuestiones comunes por ti.<br />
Shell provee de un solo lugar en el cual puedes definir la estructura visual de tu aplicación, una navegación de usar común y un servicio de navegación que soporta deep linking.<br />
<br />
Nueva estructura de Xamarin.Forms Shell:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIiH3UAgQXXVouMiZ3vJf54M5YNQpFN3TTtB0WOLxqElNMfr2XhmNu69Dbjpu1aabn2QJ6Q8UeilVsmkEzbcaqFstbyyGYXDW7jt976g_NWlmLgMo7vqOWbJP6vGdlcxICTNBW1Y40k0U/s1600/Screen+Shot+2019-02-12+at+2.27.09+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="875" data-original-width="1600" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIiH3UAgQXXVouMiZ3vJf54M5YNQpFN3TTtB0WOLxqElNMfr2XhmNu69Dbjpu1aabn2QJ6Q8UeilVsmkEzbcaqFstbyyGYXDW7jt976g_NWlmLgMo7vqOWbJP6vGdlcxICTNBW1Y40k0U/s640/Screen+Shot+2019-02-12+at+2.27.09+PM.png" width="640" /></a></div>
<br />
Xamarin.Forms Shell tiene 3 niveles de vista, el menu lateral, tabs en la parte baja de la application y en la parte superior de la navegación.<br />
<br />
Añadiendo Forms Shell en tu proyecto:<br />
<br />
Es muy facil de configurar, basicamente solo necesitas configurar la bandera experimental en tu MainActivity y AppDelegate antes de llamar el metodo Init de Xamarin Forms:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRI2NX4SIAAzTNSWHcWyZcsrJQNVi0v5iPPyeZDf-S1LoB04sH29wRmSfy82LCprBC4Lq_hh5jf0w9mcx73sxo0uLeccX45DnZLocGBDiRaDniVh_OnSpfYmIngkNOcFTiPlQl_gzSmAI/s1600/Screen+Shot+2019-02-12+at+2.31.47+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="76" data-original-width="1580" height="28" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRI2NX4SIAAzTNSWHcWyZcsrJQNVi0v5iPPyeZDf-S1LoB04sH29wRmSfy82LCprBC4Lq_hh5jf0w9mcx73sxo0uLeccX45DnZLocGBDiRaDniVh_OnSpfYmIngkNOcFTiPlQl_gzSmAI/s640/Screen+Shot+2019-02-12+at+2.31.47+PM.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
También necesitas de remplazar tu MainPage por una definición Shell:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ10h2dcDML2Hn17tuGScNStLUJmq0VM1vvdbR_A8PsH2EEZ0Ga5T06MKkj4JwnFMC5-qmx8yGac6RBFvU6gg_7E6D87LDJbqHpRwiIzFBKqwNTXJMXtN69lFSfpTTBTlwcn5rATTQ6Dc/s1600/Screen+Shot+2019-02-12+at+2.33.18+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="76" data-original-width="742" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ10h2dcDML2Hn17tuGScNStLUJmq0VM1vvdbR_A8PsH2EEZ0Ga5T06MKkj4JwnFMC5-qmx8yGac6RBFvU6gg_7E6D87LDJbqHpRwiIzFBKqwNTXJMXtN69lFSfpTTBTlwcn5rATTQ6Dc/s400/Screen+Shot+2019-02-12+at+2.33.18+PM.png" width="400" /></a></div>
<br />
Eso es todo ahora estas listo para usar Shell en tu aplicación ahora veamos la estructura de los elementos que necesitas saber para poder crear la estructura de tu aplicación.<br />
<br />
<table cellpadding="0" cellspacing="0" class="t1" style="border-collapse: collapse; color: black;"><tbody>
<tr><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="p1" style="font-family: ".AppleSystemUIFont"; font-size: 12px; font-stretch: normal; line-height: normal; text-align: right;">
<span style="font-family: -webkit-standard; font-size: small; text-align: start;">ShellItem</span></div>
</td><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="O2" style="direction: ltr; line-height: 14.399999618530273px; margin-bottom: 0pt; margin-left: 1.25in; margin-top: 5pt; text-indent: -0.25in; unicode-bidi: embed; word-break: normal;">
<span style="font-family: "calibri";">Uno o mas elementos que forman parte del shell. cada ShellItem es un hijo del Shell</span></div>
</td></tr>
<tr><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="p1" style="font-family: ".AppleSystemUIFont"; font-size: 12px; font-stretch: normal; line-height: normal; text-align: right;">
<span style="font-family: -webkit-standard; font-size: small; text-align: start;">ShellSection</span></div>
</td><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div style="direction: ltr; line-height: 14.399999618530273px; margin-bottom: 0pt; margin-left: 1in; margin-top: 5pt; text-indent: 0in; unicode-bidi: embed; word-break: normal;">
<span style="font-family: "calibri";">Contenido agrupado que se puede navegar por medio de tabs en la parte inferior de la aplicacion, cada ShellSection es hija de un ShellItem</span></div>
</td></tr>
<tr><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="p1" style="font-family: ".AppleSystemUIFont"; font-size: 12px; font-stretch: normal; line-height: normal; text-align: right;">
<span style="font-family: -webkit-standard; font-size: small; text-align: start;">ShellContent</span></div>
</td><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="p1" style="font-family: ".AppleSystemUIFont"; font-stretch: normal; line-height: normal; text-align: left;">
<span style="font-family: "calibri"; text-indent: 0in;">El contenido de cada pagina, el cual puede ser navegado por medio de tabs en la parte superior, cada ShellContent es hijo de un ShellSection</span></div>
</td></tr>
</tbody></table>
<br />
Siguiendo la estructura anterior podemos definir una UI simple con el siguiente XAML:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmV0eoQ2iomGHtOux_rBieq5ImFJgdmezt_5aoFqSLXGD8ZapTdrXzLKAZoNZamQyYE7zgi-9TB-nMxrip7rcyZ0Hl9SGHkAatSjCN7AumEoULWGnDHSJ6AEemxavcIa860y95PtkOeMk/s1600/qwer232134231.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="479" data-original-width="1137" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmV0eoQ2iomGHtOux_rBieq5ImFJgdmezt_5aoFqSLXGD8ZapTdrXzLKAZoNZamQyYE7zgi-9TB-nMxrip7rcyZ0Hl9SGHkAatSjCN7AumEoULWGnDHSJ6AEemxavcIa860y95PtkOeMk/s320/qwer232134231.png" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<span style="font-size: x-large;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1_iP2lPkPR_f8vuPCq6STOwic8pedb5aPBIwFd3rIkxUgr0fuNDeNNnfc0TgLEk7Z68i7plFbs8kGga-SUScxYHmngNtgtqfnlkPqCT8cVbVc7TL9JII0k68MQ893-uvSmCUYzzuyoYw/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="443" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1_iP2lPkPR_f8vuPCq6STOwic8pedb5aPBIwFd3rIkxUgr0fuNDeNNnfc0TgLEk7Z68i7plFbs8kGga-SUScxYHmngNtgtqfnlkPqCT8cVbVc7TL9JII0k68MQ893-uvSmCUYzzuyoYw/s320/1.png" width="175" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi60ySrnTC7tslxwCdeAVqSuUANADRRUnf67GyfCRmyKOrCNUouB_98y2oPXbKssH2AYwfgrMkBsRrA2zEpgnk1lOQKm1tSh1FyhbhaKalH5n5hHqt7JL8EgGGG7kue1u3CLkdb6N8dqI/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="814" data-original-width="445" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi60ySrnTC7tslxwCdeAVqSuUANADRRUnf67GyfCRmyKOrCNUouB_98y2oPXbKssH2AYwfgrMkBsRrA2zEpgnk1lOQKm1tSh1FyhbhaKalH5n5hHqt7JL8EgGGG7kue1u3CLkdb6N8dqI/s320/2.png" width="174" /></a></div>
<div style="text-align: center;">
<br /></div>
<br />
Puedes customizar el menu lateral de manera que puede habilitarlo o deshabilitarlo, añadir un encabezado o incluso añadir elementos extras al menu, vamos analizar la estructura del menu.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic_Sq0lfkiCy0eZdm-wkHpdH3f0S4ufEcq9uqMOithXQklzD9iH8xPbMwthDghwMJQui5rQjVVrXhJ1x-XIll1HPbK_s8IEg2G6y_f2jJPEqPzehZH9q77Dt-mPvVyss4f8r09s-ieCXE/s1600/Simulator+Screen+Shot+-+iPhone+8+-+2019-02-12+at+14.50.51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1334" data-original-width="750" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic_Sq0lfkiCy0eZdm-wkHpdH3f0S4ufEcq9uqMOithXQklzD9iH8xPbMwthDghwMJQui5rQjVVrXhJ1x-XIll1HPbK_s8IEg2G6y_f2jJPEqPzehZH9q77Dt-mPvVyss4f8r09s-ieCXE/s400/Simulator+Screen+Shot+-+iPhone+8+-+2019-02-12+at+14.50.51.png" width="223" /></a></div>
<br />
Header:<br />
Permite usar una Vista asignando la propiedad Header or usar un Tamplate usando la propiedad HeaderTemplate<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Zi7L_97PelnJ9cZYeiIMKiXIX4Hx38r4tFxHkpe1x7dJRf3HfXElDe3a70pxWGYx5OLJIeyi9xURkjip6Sakg3hX-Mmuc56ixYAZmiFv_Llyw0LJoq6-THc3lXPh8oL47ZLv01PfZOQ/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="145" data-original-width="522" height="55" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Zi7L_97PelnJ9cZYeiIMKiXIX4Hx38r4tFxHkpe1x7dJRf3HfXElDe3a70pxWGYx5OLJIeyi9xURkjip6Sakg3hX-Mmuc56ixYAZmiFv_Llyw0LJoq6-THc3lXPh8oL47ZLv01PfZOQ/s200/3.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrOiAoqNor97mtPous1m65ULQ-GZ72W__Gd_LDyWeKBu69i3ZbCFdv0h6ASnDeMRjUhId6i6yyuiKpUBUb6HfOLmjAMHaPAyR3HmhP-VzWgQS6nCPYyWXuLE2NzWUsdH1oquthO91iaTs/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="120" data-original-width="656" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrOiAoqNor97mtPous1m65ULQ-GZ72W__Gd_LDyWeKBu69i3ZbCFdv0h6ASnDeMRjUhId6i6yyuiKpUBUb6HfOLmjAMHaPAyR3HmhP-VzWgQS6nCPYyWXuLE2NzWUsdH1oquthO91iaTs/s320/4.png" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<br />
Shell Items:<br />
Esta sección se genera automáticamente por el framework, indica los hijos asignados a la raíz del Shell, puedes personalizar la celda mediante la propiedad ItemTemplate.<br />
<br />
Menu Items:<br />
Si deseas añadir elementos extra al menu lateral puedes hacer mediante la propiedad MenuItem, el cual permite también configurar una vista personalizada mediante la propiedad MenuItemTemplate.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGyKbIBg2k55gWeD_UQnBOaa7H1h9DcAADhTKXHktVnxWBTcYAxAfvl6-hhNWiKEYubKem8ana1D5R7ULOT3z9txjMBP1TzkoLDg06bULJD5lskv4AydHCjsybis3yxh1gXF2nl9C4yEk/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="366" data-original-width="631" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGyKbIBg2k55gWeD_UQnBOaa7H1h9DcAADhTKXHktVnxWBTcYAxAfvl6-hhNWiKEYubKem8ana1D5R7ULOT3z9txjMBP1TzkoLDg06bULJD5lskv4AydHCjsybis3yxh1gXF2nl9C4yEk/s320/5.png" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Siguiente la estructura de Shell ahora podemos hablar acerca de las tabs que estan en el segundo y tercer lugar del escalafón visual de Shell y viene representadas como ShellSection(Tabs inferiores) y ShellContent(Tabs superiores)</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
ShellSection: Son representadas por las tabs inferiores</div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0AAGL7R0RS_ZrRedHWeb1YFUP7665z-FSs61620y3pOMum2viL19nYaobQFhreK2qWuhwtTDrOU1EhbcOxEh-5NxfCHUy5rilWZ8if6GAoIsSi0gnirjEz74bPjyfkhdH5gkcUJEsVfY/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="275" data-original-width="872" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0AAGL7R0RS_ZrRedHWeb1YFUP7665z-FSs61620y3pOMum2viL19nYaobQFhreK2qWuhwtTDrOU1EhbcOxEh-5NxfCHUy5rilWZ8if6GAoIsSi0gnirjEz74bPjyfkhdH5gkcUJEsVfY/s320/6.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLUndb8Y_L1xBhfBjbqH4OH45uZVSJHH4INeH5_iq4pehBct506mDuHiMVbuGPR9HTnEIYDmKYKLAF97gdYlE8UACFFa9EVxJqNa0X3Lz2Xvqk8pdrB3pxgwuOtQKdsQqDIYS3N9PQ0kg/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="160" data-original-width="631" height="81" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLUndb8Y_L1xBhfBjbqH4OH45uZVSJHH4INeH5_iq4pehBct506mDuHiMVbuGPR9HTnEIYDmKYKLAF97gdYlE8UACFFa9EVxJqNa0X3Lz2Xvqk8pdrB3pxgwuOtQKdsQqDIYS3N9PQ0kg/s320/7.png" width="320" /></a></div>
<div style="text-align: left;">
<br /></div>
<br />
ShellContent: Hospedan los ContentPage is es la capa minima de Shell, puedes asignar un elemento pero las tabs superiores no se mostraran en casi de querer mostrarla necesitaras tener 2 o mas elementos.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8BBM5xCw7s7952eCJ_MVFrn7VDfUWppQ6dNpUT5trg50oCAgVaLGJ800zzlE5xqaXps-gpT8AuwLWTm5ysywAEU2LtRuZtHNvT_5Nj_Rs6dMjxHFvNNN0GaBP3xhoPUKMlzzt7fbQxTE/s1600/8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="293" data-original-width="954" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8BBM5xCw7s7952eCJ_MVFrn7VDfUWppQ6dNpUT5trg50oCAgVaLGJ800zzlE5xqaXps-gpT8AuwLWTm5ysywAEU2LtRuZtHNvT_5Nj_Rs6dMjxHFvNNN0GaBP3xhoPUKMlzzt7fbQxTE/s320/8.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiszg6wIrTra_wVZXMmk1jBBuZb-1EytYdI8pMW9UCriI2DmhfKBfFsSKmJStP_HBqPWFYOdMMTeuUlKnKrMuWMX6Qi4RcVN2nBuvqQLqoPes3l8-CESDKaWPpctaadHrbwokCxBOYvtoo/s1600/9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="210" data-original-width="631" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiszg6wIrTra_wVZXMmk1jBBuZb-1EytYdI8pMW9UCriI2DmhfKBfFsSKmJStP_HBqPWFYOdMMTeuUlKnKrMuWMX6Qi4RcVN2nBuvqQLqoPes3l8-CESDKaWPpctaadHrbwokCxBOYvtoo/s320/9.png" width="320" /></a></div>
<br />
<br />
Con esa simple configuración puedes estar creando definiciones de UI para tus aplicaciones de manera muy simple.<br />
<br />
Navegacion:<br />
<br />
Forms Shell permite navegar entre las paginas utilizando esquemas url y pasando paramatros como query strings y con los siguientes 5 pasos podremos configurar nuestra app para funcionar con esta nueva navegación.<br />
<br />
1) Configura la navegacion dentro de tu Shell principal asignando los parametros de los segmentos en cada uno de los elementos de la estructura Shell<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtDP8kfhdyeK6eVnJbr35uPp89da83S3kol6pw3uxFxCyXVYuLmkxhymcllO0bGO69vapqZHfxoAhtZEMZj4mR66qSTHRqzB0KswcixLWRx1TktWZXjpRLjJxcPRp0jpufvZ4z78-Ippw/s1600/Screen+Shot+2019-02-12+at+5.55.44+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1082" data-original-width="1582" height="436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtDP8kfhdyeK6eVnJbr35uPp89da83S3kol6pw3uxFxCyXVYuLmkxhymcllO0bGO69vapqZHfxoAhtZEMZj4mR66qSTHRqzB0KswcixLWRx1TktWZXjpRLjJxcPRp0jpufvZ4z78-Ippw/s640/Screen+Shot+2019-02-12+at+5.55.44+PM.png" width="640" /></a></div>
<br />
2) Si tienes paginas extra que no pertenecen a la estructura Shell puedes registrarlas usando el método RegisterRoute<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia69avboMxn2ocKnJqThYc9nRX00Ha6im90VTND88m_ur_IUaxgJWDWI1EP18RQoMmF_FfUCkfpOkC6yIGrjUIg92AbL6b_N49vKZ-ezzU8w6BMGNq0cYJjkcGmviIZ_ScEp9Oq5UqN8o/s1600/Screen+Shot+2019-02-12+at+6.00.29+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="80" data-original-width="1116" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia69avboMxn2ocKnJqThYc9nRX00Ha6im90VTND88m_ur_IUaxgJWDWI1EP18RQoMmF_FfUCkfpOkC6yIGrjUIg92AbL6b_N49vKZ-ezzU8w6BMGNq0cYJjkcGmviIZ_ScEp9Oq5UqN8o/s400/Screen+Shot+2019-02-12+at+6.00.29+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
3) Navegar a la pagina deseada llamando el método Shell.GoToAsync("uri") mediante el cual puedes enviar tantos parámetros como requieras usando mediante query strings.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGcIfIZ0_cmu2RVfhw7l4NHoVoM0mFeajTuBWoDiT89hR4oQ0UH2rYqC7EZz0oxWOWq9-akWXev5cFbTGsdP3j0WH7gAzCpQy4N7aw3rApmRQcHZe08CTqiainPD-NlhXcwG3AtVv-qew/s1600/Screen+Shot+2019-02-12+at+6.02.49+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="170" data-original-width="1358" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGcIfIZ0_cmu2RVfhw7l4NHoVoM0mFeajTuBWoDiT89hR4oQ0UH2rYqC7EZz0oxWOWq9-akWXev5cFbTGsdP3j0WH7gAzCpQy4N7aw3rApmRQcHZe08CTqiainPD-NlhXcwG3AtVv-qew/s640/Screen+Shot+2019-02-12+at+6.02.49+PM.png" width="640" /></a></div>
<br />
4) Para Interceptar parámetros de navegación es necesario decorar nuestra clase con el atributo QueryProperty como se muestra en el siguiente ejemplo:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilGzLPzAZdjxxBSIrd6Uoco3qiFa2uaav4FyawHf9rPXRFokh077a_ujbjd1vT1z3PakAeqI39bjwvEff5mev3JKOWVxFt2NK8TZl0Nnrujf-W13yfM9jkDNSd3bqjspW69pMylXvgis0/s1600/10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="437" data-original-width="597" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilGzLPzAZdjxxBSIrd6Uoco3qiFa2uaav4FyawHf9rPXRFokh077a_ujbjd1vT1z3PakAeqI39bjwvEff5mev3JKOWVxFt2NK8TZl0Nnrujf-W13yfM9jkDNSd3bqjspW69pMylXvgis0/s400/10.png" width="400" /></a></div>
<br />
<br />
5) Puedes controlar el comportamiento de la navegación mediante el handler Navigating dentro de tu definición Shell<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJavZ9Xze-foPDdLraOuQbtJs1C7tfIIjz1HjDt-u_WmQsDvnm2l1exJHPusVHRKpLk97LvbFw6B251S86F1ThJE7pG1HsLpAy_RAhoOkCp5TpxZb_eD02LjINV9at_jrV90ggWktqMTY/s1600/11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="183" data-original-width="704" height="83" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJavZ9Xze-foPDdLraOuQbtJs1C7tfIIjz1HjDt-u_WmQsDvnm2l1exJHPusVHRKpLk97LvbFw6B251S86F1ThJE7pG1HsLpAy_RAhoOkCp5TpxZb_eD02LjINV9at_jrV90ggWktqMTY/s320/11.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_cpeZYRp3r8t_f8Y4BgbaN9RHrH5HgMBYyr2TkLsC-0UCeVMjM34AHDAfYsW10YR-SnjJMKMrueIYnAUnU4t77NtY_NNmAYS4SjRNA4pMcEEbrs571mYS4_UC8dwR2B7w0j5aJxGfGYI/s1600/12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="247" data-original-width="1006" height="78" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_cpeZYRp3r8t_f8Y4BgbaN9RHrH5HgMBYyr2TkLsC-0UCeVMjM34AHDAfYsW10YR-SnjJMKMrueIYnAUnU4t77NtY_NNmAYS4SjRNA4pMcEEbrs571mYS4_UC8dwR2B7w0j5aJxGfGYI/s320/12.png" width="320" /></a></div>
<br />
<br />
Con esto ya eres capaz de poder trabajar con Shell creando definiciones gráficas de manera rápida.<br />
<br />
Recuerda que Xamarin.Forms Shell ha sido un gran esfuerzo entre la comunidad y Microsoft para poder lograr de la mejor manera lo que requieren los desarrolladores actuales para poder crear aplicaciones asombrosas, cualquier feedback es muy bueno puedes hacerlo en el siguiente enlace: <a href="https://github.com/xamarin/Xamarin.Forms/issues/2415">https://github.com/xamarin/Xamarin.Forms/issues/2415</a><br />
<br />
<span style="font-size: large;">EJEMPLO GITHUB: </span><a href="https://github.com/AlejandroRuiz/XamarinFormsShellDemo">https://github.com/AlejandroRuiz/XamarinFormsShellDemo</a><br />
<span style="font-size: large;"><br /></span><span style="font-size: large;">DOCUMENTACION MICROSOFT: </span><a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell">https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell</a><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">TAILWIND TRADERS APP: </span><a href="https://github.com/Microsoft/TailwindTraders-Mobile/">https://github.com/Microsoft/TailwindTraders-Mobile/</a>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com4tag:blogger.com,1999:blog-2019348300304776557.post-36457241741481151892019-02-13T08:02:00.000-06:002019-02-13T08:02:39.494-06:00Xamarin Month: Fall in Love with Xamarin.Forms Shell<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://luismts.com/blog/xamarin/xamarin-month-february-2019/" target="_blank"><img border="0" data-original-height="1067" data-original-width="1600" height="425" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoo0906qk0gFWKDptDdYeuwO7cqN2DUfyI1ENdhyZaQ89bb258lH1pU_T9cWm0I3lHN5pUCvlzBAPnUU98HRxeavNjrcgNBE9ULQ5eqeOMzmSpEX4YO_E5F7OuNH50k4BqRknepS8JKg0/s640/201901xamarin-month-banner.png" width="640" /></a></div>
<br />
<br />
As part of the <a href="https://luismts.com/blog/xamarin/xamarin-month-february-2019/" target="_blank">Xamarin Month</a> celebration I want to share with you one of the features that you'll love about Xamarin.Forms 4 preview, no matter if you are starting with mobile development using Xamarin or you have experience working with it, this update will make you happy.<br />
<br />
In the past weeks a new preview version of Xamarin.Forms was released which includes a lot of major updates changes for the Xamarin.Forms stack, and next I'll show you one of the new features that you'll help you to fall in love with Forms.<br />
<br />
<span style="font-size: x-large;">Xamarin.Forms Shell</span><br />
<span style="font-size: x-large;"><br /></span>
Xamarin.Forms Shell is a brand new way to easily create and architect Xamarin Forms apps allowing you to focus on your app code workload.<br />
Shell provides you a single place to configure your app visual structure, a common navigation user interface & a navigation service with deep linking support.<br />
<br />
Shell structure:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIiH3UAgQXXVouMiZ3vJf54M5YNQpFN3TTtB0WOLxqElNMfr2XhmNu69Dbjpu1aabn2QJ6Q8UeilVsmkEzbcaqFstbyyGYXDW7jt976g_NWlmLgMo7vqOWbJP6vGdlcxICTNBW1Y40k0U/s1600/Screen+Shot+2019-02-12+at+2.27.09+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="875" data-original-width="1600" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIiH3UAgQXXVouMiZ3vJf54M5YNQpFN3TTtB0WOLxqElNMfr2XhmNu69Dbjpu1aabn2QJ6Q8UeilVsmkEzbcaqFstbyyGYXDW7jt976g_NWlmLgMo7vqOWbJP6vGdlcxICTNBW1Y40k0U/s640/Screen+Shot+2019-02-12+at+2.27.09+PM.png" width="640" /></a></div>
<br />
Xamarin.Forms shell provides you 3 view levels Navigation flyout menu, bottom tab bars and top tab bars.<br />
<br />
Adding Forms Shell into your project:<br />
<br />
Is very easy to configure it basically you need to set the experimental flag into your MainActivity & AppDelegate before to Call the Forms Init method:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRI2NX4SIAAzTNSWHcWyZcsrJQNVi0v5iPPyeZDf-S1LoB04sH29wRmSfy82LCprBC4Lq_hh5jf0w9mcx73sxo0uLeccX45DnZLocGBDiRaDniVh_OnSpfYmIngkNOcFTiPlQl_gzSmAI/s1600/Screen+Shot+2019-02-12+at+2.31.47+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="76" data-original-width="1580" height="28" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRI2NX4SIAAzTNSWHcWyZcsrJQNVi0v5iPPyeZDf-S1LoB04sH29wRmSfy82LCprBC4Lq_hh5jf0w9mcx73sxo0uLeccX45DnZLocGBDiRaDniVh_OnSpfYmIngkNOcFTiPlQl_gzSmAI/s640/Screen+Shot+2019-02-12+at+2.31.47+PM.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
Also you'll need to replace your MainPage App definition to use a shell definition instead of the standard Pages definition:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ10h2dcDML2Hn17tuGScNStLUJmq0VM1vvdbR_A8PsH2EEZ0Ga5T06MKkj4JwnFMC5-qmx8yGac6RBFvU6gg_7E6D87LDJbqHpRwiIzFBKqwNTXJMXtN69lFSfpTTBTlwcn5rATTQ6Dc/s1600/Screen+Shot+2019-02-12+at+2.33.18+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="76" data-original-width="742" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ10h2dcDML2Hn17tuGScNStLUJmq0VM1vvdbR_A8PsH2EEZ0Ga5T06MKkj4JwnFMC5-qmx8yGac6RBFvU6gg_7E6D87LDJbqHpRwiIzFBKqwNTXJMXtN69lFSfpTTBTlwcn5rATTQ6Dc/s400/Screen+Shot+2019-02-12+at+2.33.18+PM.png" width="400" /></a></div>
<br />
Thats it now you're able to start using Shell in your application now lets see the new structure elements that you'll need to know in order to create your app structure definition.<br />
<br />
<table cellpadding="0" cellspacing="0" class="t1" style="border-collapse: collapse; color: black;"><tbody>
<tr><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="p1" style="font-family: ".AppleSystemUIFont"; font-size: 12px; font-stretch: normal; line-height: normal; text-align: right;">
<span style="font-family: -webkit-standard; font-size: small; text-align: start;">ShellItem</span></div>
</td><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="O2" style="direction: ltr; line-height: 14.399999618530273px; margin-bottom: 0pt; margin-left: 1.25in; margin-top: 5pt; text-indent: -0.25in; unicode-bidi: embed; word-break: normal;">
<span style="font-family: "calibri";">One or more items in the flyout. Every </span><span style="font-family: "calibri";">ShellItem</span><span style="font-family: "calibri";"> is a child of a Shell</span></div>
</td></tr>
<tr><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="p1" style="font-family: ".AppleSystemUIFont"; font-size: 12px; font-stretch: normal; line-height: normal; text-align: right;">
<span style="font-family: -webkit-standard; font-size: small; text-align: start;">ShellSection</span></div>
</td><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div style="direction: ltr; line-height: 14.399999618530273px; margin-bottom: 0pt; margin-left: 1in; margin-top: 5pt; text-indent: 0in; unicode-bidi: embed; word-break: normal;">
<span style="font-family: "calibri";">Grouped content, navigable by bottom tabs. Every </span><span style="font-family: "calibri";">ShellSection</span><span style="font-family: "calibri";"> is a child of a </span><span style="font-family: "calibri";">ShellItem</span><span style="font-family: "calibri";">.</span></div>
</td></tr>
<tr><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="p1" style="font-family: ".AppleSystemUIFont"; font-size: 12px; font-stretch: normal; line-height: normal; text-align: right;">
<span style="font-family: -webkit-standard; font-size: small; text-align: start;">ShellContent</span></div>
</td><td class="td1" style="border: 1px solid rgb(154, 154, 154); padding: 1px 5px;" valign="top"><div class="p1" style="font-family: ".AppleSystemUIFont"; font-stretch: normal; line-height: normal; text-align: left;">
<span style="font-family: "calibri"; text-indent: 0in;">The </span><span style="font-family: "calibri"; text-indent: 0in;">ContentPage</span><span style="font-family: "calibri"; text-indent: 0in;"> instances in your application, which are navigable by top tabs. Every </span><span style="font-family: "calibri"; text-indent: 0in;">ShellContent</span><span style="font-family: "calibri"; text-indent: 0in;"> is a child of a </span><span style="font-family: "calibri"; text-indent: 0in;">ShellSection</span><span style="font-family: "calibri"; text-indent: 0in;">.</span></div>
</td></tr>
</tbody></table>
<br />
Following the previous structure we can define that a very simple UI definition will be the next:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmV0eoQ2iomGHtOux_rBieq5ImFJgdmezt_5aoFqSLXGD8ZapTdrXzLKAZoNZamQyYE7zgi-9TB-nMxrip7rcyZ0Hl9SGHkAatSjCN7AumEoULWGnDHSJ6AEemxavcIa860y95PtkOeMk/s1600/qwer232134231.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="479" data-original-width="1137" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmV0eoQ2iomGHtOux_rBieq5ImFJgdmezt_5aoFqSLXGD8ZapTdrXzLKAZoNZamQyYE7zgi-9TB-nMxrip7rcyZ0Hl9SGHkAatSjCN7AumEoULWGnDHSJ6AEemxavcIa860y95PtkOeMk/s320/qwer232134231.png" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<span style="font-size: x-large;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1_iP2lPkPR_f8vuPCq6STOwic8pedb5aPBIwFd3rIkxUgr0fuNDeNNnfc0TgLEk7Z68i7plFbs8kGga-SUScxYHmngNtgtqfnlkPqCT8cVbVc7TL9JII0k68MQ893-uvSmCUYzzuyoYw/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="810" data-original-width="443" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1_iP2lPkPR_f8vuPCq6STOwic8pedb5aPBIwFd3rIkxUgr0fuNDeNNnfc0TgLEk7Z68i7plFbs8kGga-SUScxYHmngNtgtqfnlkPqCT8cVbVc7TL9JII0k68MQ893-uvSmCUYzzuyoYw/s320/1.png" width="175" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi60ySrnTC7tslxwCdeAVqSuUANADRRUnf67GyfCRmyKOrCNUouB_98y2oPXbKssH2AYwfgrMkBsRrA2zEpgnk1lOQKm1tSh1FyhbhaKalH5n5hHqt7JL8EgGGG7kue1u3CLkdb6N8dqI/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="814" data-original-width="445" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi60ySrnTC7tslxwCdeAVqSuUANADRRUnf67GyfCRmyKOrCNUouB_98y2oPXbKssH2AYwfgrMkBsRrA2zEpgnk1lOQKm1tSh1FyhbhaKalH5n5hHqt7JL8EgGGG7kue1u3CLkdb6N8dqI/s320/2.png" width="174" /></a></div>
<div style="text-align: center;">
<br /></div>
<br />
you can customize your flyout definition allowing you to enable/disable, add a header item and extra menu items, lets analyse the flyout menu structure<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic_Sq0lfkiCy0eZdm-wkHpdH3f0S4ufEcq9uqMOithXQklzD9iH8xPbMwthDghwMJQui5rQjVVrXhJ1x-XIll1HPbK_s8IEg2G6y_f2jJPEqPzehZH9q77Dt-mPvVyss4f8r09s-ieCXE/s1600/Simulator+Screen+Shot+-+iPhone+8+-+2019-02-12+at+14.50.51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1334" data-original-width="750" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic_Sq0lfkiCy0eZdm-wkHpdH3f0S4ufEcq9uqMOithXQklzD9iH8xPbMwthDghwMJQui5rQjVVrXhJ1x-XIll1HPbK_s8IEg2G6y_f2jJPEqPzehZH9q77Dt-mPvVyss4f8r09s-ieCXE/s400/Simulator+Screen+Shot+-+iPhone+8+-+2019-02-12+at+14.50.51.png" width="223" /></a></div>
<br />
Header:<br />
Allow us to set either a View by setting Header property or use a Template by using HeaderTemplate property.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Zi7L_97PelnJ9cZYeiIMKiXIX4Hx38r4tFxHkpe1x7dJRf3HfXElDe3a70pxWGYx5OLJIeyi9xURkjip6Sakg3hX-Mmuc56ixYAZmiFv_Llyw0LJoq6-THc3lXPh8oL47ZLv01PfZOQ/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="145" data-original-width="522" height="55" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8Zi7L_97PelnJ9cZYeiIMKiXIX4Hx38r4tFxHkpe1x7dJRf3HfXElDe3a70pxWGYx5OLJIeyi9xURkjip6Sakg3hX-Mmuc56ixYAZmiFv_Llyw0LJoq6-THc3lXPh8oL47ZLv01PfZOQ/s200/3.png" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrOiAoqNor97mtPous1m65ULQ-GZ72W__Gd_LDyWeKBu69i3ZbCFdv0h6ASnDeMRjUhId6i6yyuiKpUBUb6HfOLmjAMHaPAyR3HmhP-VzWgQS6nCPYyWXuLE2NzWUsdH1oquthO91iaTs/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="120" data-original-width="656" height="58" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrOiAoqNor97mtPous1m65ULQ-GZ72W__Gd_LDyWeKBu69i3ZbCFdv0h6ASnDeMRjUhId6i6yyuiKpUBUb6HfOLmjAMHaPAyR3HmhP-VzWgQS6nCPYyWXuLE2NzWUsdH1oquthO91iaTs/s320/4.png" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<br />
Shell Items:<br />
This section is generated automatically by Forms Shell and indicates all the Shell Items Childrens of the root Shell structure you can customize the items by using the ItemTemplate property.<br />
<br />
Menu Items:<br />
If you want to add any extra items beside that the ones that are created automatically by the Shell, you can add as many you want and create your own view view using MenuItemTemplate property.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGyKbIBg2k55gWeD_UQnBOaa7H1h9DcAADhTKXHktVnxWBTcYAxAfvl6-hhNWiKEYubKem8ana1D5R7ULOT3z9txjMBP1TzkoLDg06bULJD5lskv4AydHCjsybis3yxh1gXF2nl9C4yEk/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="366" data-original-width="631" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGyKbIBg2k55gWeD_UQnBOaa7H1h9DcAADhTKXHktVnxWBTcYAxAfvl6-hhNWiKEYubKem8ana1D5R7ULOT3z9txjMBP1TzkoLDg06bULJD5lskv4AydHCjsybis3yxh1gXF2nl9C4yEk/s320/5.png" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
Following with the shell structure now let talk about tabs which is the send and third place in the forms shell UI hierarchy and are represented as ShellSection & ShellContent:</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
ShellSection: Are represented as bottom navigation tabs</div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0AAGL7R0RS_ZrRedHWeb1YFUP7665z-FSs61620y3pOMum2viL19nYaobQFhreK2qWuhwtTDrOU1EhbcOxEh-5NxfCHUy5rilWZ8if6GAoIsSi0gnirjEz74bPjyfkhdH5gkcUJEsVfY/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="275" data-original-width="872" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0AAGL7R0RS_ZrRedHWeb1YFUP7665z-FSs61620y3pOMum2viL19nYaobQFhreK2qWuhwtTDrOU1EhbcOxEh-5NxfCHUy5rilWZ8if6GAoIsSi0gnirjEz74bPjyfkhdH5gkcUJEsVfY/s320/6.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLUndb8Y_L1xBhfBjbqH4OH45uZVSJHH4INeH5_iq4pehBct506mDuHiMVbuGPR9HTnEIYDmKYKLAF97gdYlE8UACFFa9EVxJqNa0X3Lz2Xvqk8pdrB3pxgwuOtQKdsQqDIYS3N9PQ0kg/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="160" data-original-width="631" height="81" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLUndb8Y_L1xBhfBjbqH4OH45uZVSJHH4INeH5_iq4pehBct506mDuHiMVbuGPR9HTnEIYDmKYKLAF97gdYlE8UACFFa9EVxJqNa0X3Lz2Xvqk8pdrB3pxgwuOtQKdsQqDIYS3N9PQ0kg/s320/7.png" width="320" /></a></div>
<div style="text-align: left;">
<br /></div>
<br />
ShellContent: Host the content pages and represent the low level layer of the Shell, you can set one single item to the ShellSection and the top bar will be not displayed if you put 2 or more items top navigation tabs will be displayed by default.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8BBM5xCw7s7952eCJ_MVFrn7VDfUWppQ6dNpUT5trg50oCAgVaLGJ800zzlE5xqaXps-gpT8AuwLWTm5ysywAEU2LtRuZtHNvT_5Nj_Rs6dMjxHFvNNN0GaBP3xhoPUKMlzzt7fbQxTE/s1600/8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="293" data-original-width="954" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8BBM5xCw7s7952eCJ_MVFrn7VDfUWppQ6dNpUT5trg50oCAgVaLGJ800zzlE5xqaXps-gpT8AuwLWTm5ysywAEU2LtRuZtHNvT_5Nj_Rs6dMjxHFvNNN0GaBP3xhoPUKMlzzt7fbQxTE/s320/8.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiszg6wIrTra_wVZXMmk1jBBuZb-1EytYdI8pMW9UCriI2DmhfKBfFsSKmJStP_HBqPWFYOdMMTeuUlKnKrMuWMX6Qi4RcVN2nBuvqQLqoPes3l8-CESDKaWPpctaadHrbwokCxBOYvtoo/s1600/9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="210" data-original-width="631" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiszg6wIrTra_wVZXMmk1jBBuZb-1EytYdI8pMW9UCriI2DmhfKBfFsSKmJStP_HBqPWFYOdMMTeuUlKnKrMuWMX6Qi4RcVN2nBuvqQLqoPes3l8-CESDKaWPpctaadHrbwokCxBOYvtoo/s320/9.png" width="320" /></a></div>
<br />
<br />
with that simple configuration you're able to start creating the UI definition for your apps in a very simple way<br />
<br />
Navigation:<br />
<br />
Forms Shell allow you to navigate between pages by using simple uri shemas and sending parameters as query strings and with a simple 5 steps tutorial you can setup you.<br />
<br />
1) Setup your URI based navigation here a very simple example of how configure your navigation paths on your Shell definition:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtDP8kfhdyeK6eVnJbr35uPp89da83S3kol6pw3uxFxCyXVYuLmkxhymcllO0bGO69vapqZHfxoAhtZEMZj4mR66qSTHRqzB0KswcixLWRx1TktWZXjpRLjJxcPRp0jpufvZ4z78-Ippw/s1600/Screen+Shot+2019-02-12+at+5.55.44+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1082" data-original-width="1582" height="436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtDP8kfhdyeK6eVnJbr35uPp89da83S3kol6pw3uxFxCyXVYuLmkxhymcllO0bGO69vapqZHfxoAhtZEMZj4mR66qSTHRqzB0KswcixLWRx1TktWZXjpRLjJxcPRp0jpufvZ4z78-Ippw/s640/Screen+Shot+2019-02-12+at+5.55.44+PM.png" width="640" /></a></div>
<br />
2) If you have extra pages that dont belong to the Shell structure you can configure them by calling the RegisterRoute method.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia69avboMxn2ocKnJqThYc9nRX00Ha6im90VTND88m_ur_IUaxgJWDWI1EP18RQoMmF_FfUCkfpOkC6yIGrjUIg92AbL6b_N49vKZ-ezzU8w6BMGNq0cYJjkcGmviIZ_ScEp9Oq5UqN8o/s1600/Screen+Shot+2019-02-12+at+6.00.29+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="80" data-original-width="1116" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia69avboMxn2ocKnJqThYc9nRX00Ha6im90VTND88m_ur_IUaxgJWDWI1EP18RQoMmF_FfUCkfpOkC6yIGrjUIg92AbL6b_N49vKZ-ezzU8w6BMGNq0cYJjkcGmviIZ_ScEp9Oq5UqN8o/s400/Screen+Shot+2019-02-12+at+6.00.29+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
3) Navigate to your desired page by calling Shell.GoToAsync("uri") and sending your desired page also you can send as many parameter as you want using the query string pattern</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGcIfIZ0_cmu2RVfhw7l4NHoVoM0mFeajTuBWoDiT89hR4oQ0UH2rYqC7EZz0oxWOWq9-akWXev5cFbTGsdP3j0WH7gAzCpQy4N7aw3rApmRQcHZe08CTqiainPD-NlhXcwG3AtVv-qew/s1600/Screen+Shot+2019-02-12+at+6.02.49+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="170" data-original-width="1358" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGcIfIZ0_cmu2RVfhw7l4NHoVoM0mFeajTuBWoDiT89hR4oQ0UH2rYqC7EZz0oxWOWq9-akWXev5cFbTGsdP3j0WH7gAzCpQy4N7aw3rApmRQcHZe08CTqiainPD-NlhXcwG3AtVv-qew/s640/Screen+Shot+2019-02-12+at+6.02.49+PM.png" width="640" /></a></div>
<br />
4) Intercept params in order to get the parameters you need to specify them on your content page level by using the QueryProperty decoration as follow:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilGzLPzAZdjxxBSIrd6Uoco3qiFa2uaav4FyawHf9rPXRFokh077a_ujbjd1vT1z3PakAeqI39bjwvEff5mev3JKOWVxFt2NK8TZl0Nnrujf-W13yfM9jkDNSd3bqjspW69pMylXvgis0/s1600/10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="437" data-original-width="597" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilGzLPzAZdjxxBSIrd6Uoco3qiFa2uaav4FyawHf9rPXRFokh077a_ujbjd1vT1z3PakAeqI39bjwvEff5mev3JKOWVxFt2NK8TZl0Nnrujf-W13yfM9jkDNSd3bqjspW69pMylXvgis0/s400/10.png" width="400" /></a></div>
<br />
<br />
5) You can control if the navigation is allowed by handling the Navigating handler of the Shell definition.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJavZ9Xze-foPDdLraOuQbtJs1C7tfIIjz1HjDt-u_WmQsDvnm2l1exJHPusVHRKpLk97LvbFw6B251S86F1ThJE7pG1HsLpAy_RAhoOkCp5TpxZb_eD02LjINV9at_jrV90ggWktqMTY/s1600/11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="183" data-original-width="704" height="83" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJavZ9Xze-foPDdLraOuQbtJs1C7tfIIjz1HjDt-u_WmQsDvnm2l1exJHPusVHRKpLk97LvbFw6B251S86F1ThJE7pG1HsLpAy_RAhoOkCp5TpxZb_eD02LjINV9at_jrV90ggWktqMTY/s320/11.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_cpeZYRp3r8t_f8Y4BgbaN9RHrH5HgMBYyr2TkLsC-0UCeVMjM34AHDAfYsW10YR-SnjJMKMrueIYnAUnU4t77NtY_NNmAYS4SjRNA4pMcEEbrs571mYS4_UC8dwR2B7w0j5aJxGfGYI/s1600/12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="247" data-original-width="1006" height="78" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_cpeZYRp3r8t_f8Y4BgbaN9RHrH5HgMBYyr2TkLsC-0UCeVMjM34AHDAfYsW10YR-SnjJMKMrueIYnAUnU4t77NtY_NNmAYS4SjRNA4pMcEEbrs571mYS4_UC8dwR2B7w0j5aJxGfGYI/s320/12.png" width="320" /></a></div>
<br />
<br />
Now you're able to start working with Shell by creating awesome and fast UI.<br />
<br />
Remember that Xamarin.Forms Shell was an effort between community and Microsoft to fill the developers needs to don't forgot to give feedback here: <a href="https://github.com/xamarin/Xamarin.Forms/issues/2415">https://github.com/xamarin/Xamarin.Forms/issues/2415</a><br />
<br />
<span style="font-size: large;">GITHUB EXAMPLE: </span><a href="https://github.com/AlejandroRuiz/XamarinFormsShellDemo">https://github.com/AlejandroRuiz/XamarinFormsShellDemo</a><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">MICROSOFT DOCS: </span><a href="https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell">https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell</a><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">TAILWIND TRADERS APP: </span><a href="https://github.com/Microsoft/TailwindTraders-Mobile/">https://github.com/Microsoft/TailwindTraders-Mobile/</a>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com4tag:blogger.com,1999:blog-2019348300304776557.post-47485974492278083902018-11-23T21:42:00.001-06:002018-11-23T21:42:19.751-06:00ASP.NET Core Identity with Cosmos DB (MongoDB) Part2: ASP.NET Core Code<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPlr4OnG4z2OKOt5EFI6ypUJUc5BUofKOgSU9I4OdN0UDFyna3ozyJhi5f47riU6pw_lgRK3nOnDa1Kfj-ZAglAbP8ANgUhQIqcJGyN7M1qbAGAFWEjJ49b-NIToqpiZcjfMdilp_9Gc0/s1600/image.axd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="750" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPlr4OnG4z2OKOt5EFI6ypUJUc5BUofKOgSU9I4OdN0UDFyna3ozyJhi5f47riU6pw_lgRK3nOnDa1Kfj-ZAglAbP8ANgUhQIqcJGyN7M1qbAGAFWEjJ49b-NIToqpiZcjfMdilp_9Gc0/s640/image.axd.png" width="640" /></a></div>
<br />
Hello and welcome back to this tutorial if you remember in the part 1: "<a href="http://alejandroruizvarela.blogspot.com/2018/09/aspnet-core-identity-with-cosmos-db.html">ASP.NET Core Identity with Cosmos DB (MongoDB) Part1: Database Configuration</a>" we configured our database services local and remote to store our identity service now in this part we will configure a simple Identity service with 3 endpoints.<br />
<ol>
<li>Register</li>
<li>Login</li>
<li>Retrieve User Data</li>
</ol>
<div>
<br /></div>
<div>
<span style="font-size: x-large;"><b>ASP.NET Core</b></span></div>
<div>
<br /></div>
ASP.NET Core is the evolution of Microsoft ASP.NET framework as a key feature is that it runs under the .NET Core which is cross-platform, high-performance & open source development platform that mixed with ASP.NET Core allow developers to build cloud modern applications.<br />
<br />
In this tutorial we will use the latests stable <a href="https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.1">ASP.NET Core 2.1</a> using <a href="https://visualstudio.microsoft.com/es/vs/mac/">Visual Studio for Mac</a> you can either use <a href="https://visualstudio.microsoft.com/vs/mac/">Visual Studio for Mac</a>, <a href="https://visualstudio.microsoft.com/vs/">Visual Studio for Windows</a>, <a href="https://code.visualstudio.com/">Visual Studio Code</a> or <a href="https://docs.microsoft.com/en-us/aspnet/core/getting-started/?view=aspnetcore-2.1&tabs=windows">compile the project using console</a>.<br />
<br />
Lets start creating a new ASP.NET Core Web Api following next steps:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRSLC83Py2QIffgGc7R5uQq9fpo1VSunvP5Pcdnqijzd-b6_XDSab1YsfTqV4yEZmWdDer11kFEeFvlAfBE4OZ-JaqhnB-2DFePU7VnT65bqmwVFkNKpCen4hPZyra_JXmzrmlQQe88Yo/s1600/Screen+Shot+2018-10-03+at+8.52.11+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="676" data-original-width="930" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRSLC83Py2QIffgGc7R5uQq9fpo1VSunvP5Pcdnqijzd-b6_XDSab1YsfTqV4yEZmWdDer11kFEeFvlAfBE4OZ-JaqhnB-2DFePU7VnT65bqmwVFkNKpCen4hPZyra_JXmzrmlQQe88Yo/s640/Screen+Shot+2018-10-03+at+8.52.11+PM.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Select .NET Core 2.1 as target framework</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9AGgmIhJudtMexK76hnWO75LN5RvUazS4tM_d3howoyk8FucdHqiFBckr055worpje3re0iWgJFY5D1CjtPk2HgPHVl08t31j-d-c49c03LAlkDwa1Y76nBD8CJ1c2eJTi9Svdk1n3mQ/s1600/Screen+Shot+2018-10-03+at+8.52.59+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="667" data-original-width="917" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9AGgmIhJudtMexK76hnWO75LN5RvUazS4tM_d3howoyk8FucdHqiFBckr055worpje3re0iWgJFY5D1CjtPk2HgPHVl08t31j-d-c49c03LAlkDwa1Y76nBD8CJ1c2eJTi9Svdk1n3mQ/s640/Screen+Shot+2018-10-03+at+8.52.59+PM.png" width="640" /></a></div>
<br />
Set a project name<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNb8ZFfKohWfhBHtQJSmNW_LCfq0yNkck2T4spAChaV3xidkeTaQAorJ_26Y0eYP1jQzm3IVpY1KhUTTcKW0ATJFRJT0YaQQgbLqHmx0gLDEWLfQxEQuiSpXM_-wGKBqRPpJq7pOoSdsg/s1600/Screen+Shot+2018-10-03+at+8.53.23+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="677" data-original-width="933" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNb8ZFfKohWfhBHtQJSmNW_LCfq0yNkck2T4spAChaV3xidkeTaQAorJ_26Y0eYP1jQzm3IVpY1KhUTTcKW0ATJFRJT0YaQQgbLqHmx0gLDEWLfQxEQuiSpXM_-wGKBqRPpJq7pOoSdsg/s640/Screen+Shot+2018-10-03+at+8.53.23+PM.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
If everything goes well you'll see the project structure as follow</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYk_dLNkmstFUN8IuoclR_vEx3cvASGXuhc_lEstWyjTAU3XwoLMuj3KbtrgK42eE9lydRT0VtYfXUZ9jolk4pXrPBP6LajrEokhvDnzPvQcgQ5O38Gz_BDiFeAiZPYt7WBbf11aK84cI/s1600/Screen+Shot+2018-10-03+at+8.53.58+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="445" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYk_dLNkmstFUN8IuoclR_vEx3cvASGXuhc_lEstWyjTAU3XwoLMuj3KbtrgK42eE9lydRT0VtYfXUZ9jolk4pXrPBP6LajrEokhvDnzPvQcgQ5O38Gz_BDiFeAiZPYt7WBbf11aK84cI/s400/Screen+Shot+2018-10-03+at+8.53.58+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
let's analyze our project structure</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li><b>Dependencies</b>: Display and manage all project references such nuget packages, core target framework and/or any project or dll references.</li>
<li><b>Controllers</b>: This folder contains our controllers definitions</li>
<li><b>Properties</b>: This folder contains the "launchSettings.json" which allow us to configure any specific configuration of our project like startup path, enviroment vars etc.</li>
<li><b>wwwroot</b>: Contains all the public files used by our web app.</li>
<li><b>appsettings.json</b>: This file contains all release settings.</li>
<li><b>appsettings.Development.json</b>: This file contains all development settings.</li>
<li><b>Program.cs</b>: Code that create the ASP.NET Core service</li>
<li><b>Startup.cs</b>: Code that initilize our Web App service</li>
</ul>
<div>
<br /></div>
<div>
Once we get familiarized with the project structure we can start with our ASP.NET Core Web Api by adding the nuget package that will allow us to configure Identity using MongoDB "<a href="https://www.nuget.org/packages/AspNetCore.Identity.Mongo/">AspNetCore.Identity.Mongo</a>" by performing double click under <b>Dependencies/NuGet </b>and searching for it in the Add Packages Window.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAsHYbLiaFfZNMVux0dMRT5_yUZpPArSI1_emcWsW7G591kuQDcBkVtpGHpvWq7KW4QdDGxNN5u4_b0OFT2oL3vMBqjsP8AbUaL4Q5kALM-StUGrsAJyR9vrM9Jsb6pme3a7OJyeZeXAE/s1600/Screen+Shot+2018-10-03+at+9.45.20+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="656" data-original-width="980" height="428" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAsHYbLiaFfZNMVux0dMRT5_yUZpPArSI1_emcWsW7G591kuQDcBkVtpGHpvWq7KW4QdDGxNN5u4_b0OFT2oL3vMBqjsP8AbUaL4Q5kALM-StUGrsAJyR9vrM9Jsb6pme3a7OJyeZeXAE/s640/Screen+Shot+2018-10-03+at+9.45.20+PM.png" width="640" /></a></div>
<div>
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
This will add all package dependencies required for our web api now is time to setup our mongodb connection string into the <b>appsettings.json</b> files as I mentioned previously we have to <b>appsettings.json</b> files one for development and one for release in this case we will add the local connection string to the <b>appsettings.Development.json </b>file and the cosmosdb connection string into the <b>appsettings.json </b>file.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In order to configure our connection string we will need to add a new key with the name "<b>ConnectionStrings</b>" with a key and value for our connection string in this key we will use the following name "<b>MongoDbDatabase</b>", also in order to enable a security JWT config we will add 3 new keys "<b>JwtKey</b>" (Key Used to Encript Token), "<b>JwtIssuer</b>" (Token Issuer) & "<b>JwtExpireDays" </b>(Expire value in days), after complete the process in both files you'll see the next file structure:</div>
<br />
<script src="https://gist.github.com/AlejandroRuiz/9ab3effb7acdb5699b376057e933eed6.js"></script>
<br />
Now is time to start adding some code in our project, we will add a custom User and Role entities just in case that you want to add a custom field into your app roles and users, the files structure will be the next:<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/944a4a7e44472d2c31e90082d19817d5.js"></script>
<br />
After add both files into our project now we can configure our Identity MongoDB service into the <b>Startup.cs </b>-> <b>ConfigureServices</b> method<b> </b>by adding services.AddMongoIdentityProvider<TUser, TRole>(stringConnection, optionsConfigCallback); in the optionsConfigCallback we can set common identity settings for User, Password, SignIn and many others configuration items.<br />
<br />
Also in this method we will need to add the JWT Security Authentication config the <b>Startup.cs </b>-> <b>ConfigureServices </b>will be something similar as the following code:<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/9cd2a9743bcf19bf8a8894f810f54cdf.js"></script>
<br />
<br />
Now we're able to start creating a few entities to transfer json client request/responses into C# objects and manipulate then usen the annotations standard helpers and avoid extra manual validation we need 3 for responses and 2 for requests using the next structure:<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/166f351a8382827a4c4801e0efa68d30.js"></script>
<br />
<script src="https://gist.github.com/AlejandroRuiz/75fccc30020ca898c91233bcd3d13322.js"></script>
After that we will be able to create our main controller to expose 3 main endpoints 1 for register, 1 for login and 1 for retrieve user data we can re-use the default values controller under Controllers folder or just create a new one under the Controllers folder(right-click -> Add -> New File)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-axak_1wXnbr3pCOYkPc5S-0roCusRnc-3vSCnvjA9S9jNVNBM-rVpIDKozOjBOD2zvYPWFUY4Wet3YvvUd6_oDh9QkWAbPpnrAZHmmg5bjr_Zts2qNZoc_sDdnF6s4q_j276zdPIezE/s1600/Screen+Shot+2018-11-23+at+8.07.53+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="573" data-original-width="737" height="496" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-axak_1wXnbr3pCOYkPc5S-0roCusRnc-3vSCnvjA9S9jNVNBM-rVpIDKozOjBOD2zvYPWFUY4Wet3YvvUd6_oDh9QkWAbPpnrAZHmmg5bjr_Zts2qNZoc_sDdnF6s4q_j276zdPIezE/s640/Screen+Shot+2018-11-23+at+8.07.53+PM.png" width="640" /></a></div>
<br />
Your controller need to have the base class and router configuration<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEA3TR8Japvom_aXNvjPr3ejFvGK3XViQYhzhHs93shOEm4EUVArLW4R12wrIdkbW2Z0psvzylIDmaWRo08MNwuqFtWKsJS8BgCGLuUbSdeVpft90lnS4oH_tbKPzmjdc5XkY2w_4XZ_Y/s1600/Screen+Shot+2018-11-23+at+8.14.37+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="59" data-original-width="310" height="76" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEA3TR8Japvom_aXNvjPr3ejFvGK3XViQYhzhHs93shOEm4EUVArLW4R12wrIdkbW2Z0psvzylIDmaWRo08MNwuqFtWKsJS8BgCGLuUbSdeVpft90lnS4oH_tbKPzmjdc5XkY2w_4XZ_Y/s400/Screen+Shot+2018-11-23+at+8.14.37+PM.png" width="400" /></a></div>
<br />
"api/v1/" - will be the default path for out endpoint as a good practice you can use versioning for your endpoints is not mandatory but I'll help to manage different versions of your endpoints.<br />
<br />
"[controller]/" - this will take the name of your controller if you use standard naming for controller like this examples "User-Controller" controllertype + "Controller" in this case the api will take the controllertype name "user" "api/v1/user".<br />
<br />
"[action]" - this will take by default the name of the method as the name of the action in this case "userdata", "register" & "login".<br />
<br />
you'll noticed that 2 endpoints doesn't need to be protected since we will recibe only info to register/login but for the "userdata" we will add an standard authentication validation using a Bearer token that one will be provide over the json reponse of regiser and login endpoints the final code for UserController will be the next
<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/d47c997741823a66d82c422aee4ac691.js"></script>
<br />
After this now we're able to test our endpoints in any client library like postman since we have a self signed ssl certificate for localhost make sure that your client allow to consume that kind of services.<br />
<br />
The config will be the next for requests.<br />
1) Request Headers:<br />
/api/v1/user/register & /api/v1/user/login<br />
Content-Type: application/json<br />
<br />
/api/v1/user/userdata<br />
Content-Type: application/json<br />
Authorization: Bearer yourToken<br />
<br />
2) Request Type<br />
/api/v1/user/register - POST<br />
/api/v1/user/login - POST<br />
/api/v1/user/userdata - GET<br />
<br />
3) Body(Examples)<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/33b620f33280aeae1c0d67b72dc1184c.js"></script>
<br />
If you want to publish your service to azure is very easy using the visual studio tool and follow the steps there:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV4yozEpBS9w2Iky-i3RNqPN3AZGXNpo51hjbnq2ICjl7sNDKoj-s8TwEzRo50JXlY-ILYwOFRXBxFkewQNS61hJ3Mt45QnTB4P5MHyLEz2SUaTM41Y9ifud_Js6E4ibMTFpYTeO8S7Gc/s1600/Screen+Shot+2018-11-23+at+8.35.33+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="261" data-original-width="586" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV4yozEpBS9w2Iky-i3RNqPN3AZGXNpo51hjbnq2ICjl7sNDKoj-s8TwEzRo50JXlY-ILYwOFRXBxFkewQNS61hJ3Mt45QnTB4P5MHyLEz2SUaTM41Y9ifud_Js6E4ibMTFpYTeO8S7Gc/s640/Screen+Shot+2018-11-23+at+8.35.33+PM.png" width="640" /></a></div>
<br />
<br />
We just completed our api service code now we need to create a client to consume our service in the final part I'll show you how to create a very fast Mobile App using Xamarin.Forms to consume our rest services.<br />
<br />
GITHUB COMPLETE CODE: <a href="https://github.com/AlejandroRuiz/CosmosDBTutorial" target="_blank">https://github.com/AlejandroRuiz/CosmosDBTutorial</a><br />
<br />
<br />
HAPPY CODE :)Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com3tag:blogger.com,1999:blog-2019348300304776557.post-59427144649988600452018-09-20T22:58:00.000-05:002018-09-20T22:58:02.230-05:00ASP.NET Core Identity with Cosmos DB (MongoDB) Part1: Database Configuration<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSZVu_yWc0hzYj1JdDQEapPmBue3OJ9ZKltEykLE_6L3XybFh3RzirosdyVRB2lXsVfVCAmoLr_R8WJU5q75jflRkZ8cHpbWz_umoc4zUhzejtjiZL4ngtxr2prIGpDwjwHdaJcAiPepE/s1600/image.axd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="750" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSZVu_yWc0hzYj1JdDQEapPmBue3OJ9ZKltEykLE_6L3XybFh3RzirosdyVRB2lXsVfVCAmoLr_R8WJU5q75jflRkZ8cHpbWz_umoc4zUhzejtjiZL4ngtxr2prIGpDwjwHdaJcAiPepE/s640/image.axd.png" width="640" /></a></div>
<br />
<br />
Hello folks this time I bring to you a very simple an useful tutorial to show you how fast you can start creating awesome services and apps using the .NET framework and in this case a NoSQL database.<br />
<br />
This will be the first of 3 post series about how to implement ASP.NET Core Identity with Cosmos DB (MongoDB) and expose it over a Web API, in this first blog we will see the configuration of the database to use both a local instance and Cosmos DB of MongoDB for live version.<br />
<br />
Let's start first revising what is? and why? MongoDB<br />
<br />
<b><span style="font-size: x-large;">MongoDB</span></b><br />
<br />
MongoDB is free and open source NoSQL database and is very popular in a lot of companies because his paradigm allow to quickly scale large and modern apps, let's analyze some points from MongoDB <a href="https://www.mongodb.com/nosql-explained?jmp=footer">webpage</a>:<br />
<br />
What is NoSQL?<br />
NoSQL encompasses a wide variety of different database technologies that were developed in response to the demands presented in building modern applications:<br />
<br />
<ul>
<li>Developers are working with applications that create massive volumes of new, rapidly changing data types — structured, semi-structured, unstructured and polymorphic data.</li>
</ul>
<br />
<br />
<ul>
<li>Long gone is the twelve-to-eighteen month waterfall development cycle. Now small teams work in agile sprints, iterating quickly and pushing code every week or two, some even multiple times every day.</li>
</ul>
<br />
<br />
<ul>
<li>Applications that once served a finite audience are now delivered as services that must be always-on, accessible from many different devices and scaled globally to millions of users.</li>
</ul>
<br />
<br />
<ul>
<li>Organizations are now turning to scale-out architectures using open source software, commodity servers and cloud computing instead of large monolithic servers and storage infrastructure.</li>
</ul>
Relational databases were not designed to cope with the scale and agility challenges that face modern applications, nor were they built to take advantage of the commodity storage and processing power available today.<br />
<br />
<br />
<div>
As you noticed we have a lot of benefits using a NoSQL database achieving the demands and scalability of modern applications.</div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcvMswDokAAuP_6vJOTVBCJps1NSDP0nNgtVDUqd4uHDHUMpp0IdRhOaeTgDHvY6eg1WelVH_1EImprc8KzR-tCTZKkxAhvA2DCFPel-UmGX-60L6IQu1VoJmJbqBDXh52PFFgWkjEzy0/s1600/MongoDB-Logo-5c3a7405a85675366beb3a5ec4c032348c390b3f142f5e6dddf1d78e2df5cb5c.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="435" data-original-width="1600" height="108" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcvMswDokAAuP_6vJOTVBCJps1NSDP0nNgtVDUqd4uHDHUMpp0IdRhOaeTgDHvY6eg1WelVH_1EImprc8KzR-tCTZKkxAhvA2DCFPel-UmGX-60L6IQu1VoJmJbqBDXh52PFFgWkjEzy0/s400/MongoDB-Logo-5c3a7405a85675366beb3a5ec4c032348c390b3f142f5e6dddf1d78e2df5cb5c.png" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div style="text-align: center;">
<span style="font-size: x-large;"><b>MongoDB Local Configuration</b></span></div>
<div>
<span style="font-size: x-large;"><b><br /></b></span></div>
<div>
After reviewing the benefits of NoSQL database let start creating our local configuration.</div>
<div>
<br /></div>
<div>
We will download and installing the MongoDB in out machines in this case I'll use a MacOSX machine if you have linux or Windows you can follow the installation steps <a href="https://docs.mongodb.com/manual/administration/install-community/">here</a>.</div>
<div>
<br /></div>
<div>
We will use Homebrew for a quick and fast installation if you didn't have it installed you can get it <a href="https://brew.sh/">here</a>.</div>
<div>
<br /></div>
<div>
You can see if you have it installed by typing "<i>brew --version</i>" in your terminal if everything is ok you'll see the next output:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAjClTsnHHfOp-gwmXf_wDhobgX9kFUYz0oKrAMqBeq773648sBcJd-N9IYumRNUgWQbBqpCHcZ3SCTwJVLMfRPXSgVvG5oxEeLVH42DpM7x75j8Z-STglntCif0l8TEN1Ut7MDXEMknc/s1600/Screen+Shot+2018-09-20+at+9.20.46+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="595" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAjClTsnHHfOp-gwmXf_wDhobgX9kFUYz0oKrAMqBeq773648sBcJd-N9IYumRNUgWQbBqpCHcZ3SCTwJVLMfRPXSgVvG5oxEeLVH42DpM7x75j8Z-STglntCif0l8TEN1Ut7MDXEMknc/s640/Screen+Shot+2018-09-20+at+9.20.46+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
After that we will be good to start installing MongoDB in our machines with the next commands</div>
<div>
<br /></div>
<div>
First lets update brew references using next command "<i>brew update</i>" this will take a while since it will download all packages references data.</div>
<div>
<br /></div>
<div>
After complete that command we will be able to run the "<i>brew install mongodb</i>" in order to install MongoDB binaries this will take also a moment if in any case you get any permission error you can try using "<i>sudo</i>" prefix on the command as follow "<i>sudo </i><i>brew install mongodb</i>"</div>
<div>
<br /></div>
<div>
after the install command get completed now we will be able to run next command "<i>mongod</i>" to confirm that MogoDB is just installed if everything goes well you'll see the next message</div>
<div>
<br /></div>
<div>
"<i>[initandlisten] waiting for connections on port 27017</i>"</div>
<div>
<br /></div>
<div>
starting here we will use RoboT3 that is a lighweight UI tool for MongoDB managment you can get it <a href="https://robomongo.org/">here</a>.</div>
<div>
<br /></div>
<div>
Now let's configure RoboT3 to se our local database once you open the tool you'll see a screen like this:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKhcAVtDmHEJ4NiMKCSkmZ6fLX4YjQiPncfqTZDd8u2Jf-2-7WO-E2RxEh0RhqKRqY4QumUYX6DXbMFvcagQOZ0fXdw2wzZamfAmCODoM5B2p6RQUjufUS1jEUB9T-OrdpdHZvXnd_Oec/s1600/Screen+Shot+2018-09-20+at+9.33.53+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="471" data-original-width="708" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKhcAVtDmHEJ4NiMKCSkmZ6fLX4YjQiPncfqTZDd8u2Jf-2-7WO-E2RxEh0RhqKRqY4QumUYX6DXbMFvcagQOZ0fXdw2wzZamfAmCODoM5B2p6RQUjufUS1jEUB9T-OrdpdHZvXnd_Oec/s640/Screen+Shot+2018-09-20+at+9.33.53+PM.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
lets configure our local connection just to test that everything is ready to go on our local machine you notice that by default is using the localhost values since we didn't configure anything related to security if we hit the test button we will see a confirmation message that everything is ready to go:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO0udNIehQ1WXyW0qn15050NypTX7LH9XI9ngpE5bSSHJbKRG6uudRN8dug8IavxX_4LHLklzPstnc28UWjEPdXFhpuLSQBlc0xwDUm-6YNRWo6KHX3RFgZ4nH1RK0UgMpOsoUF42uCn8/s1600/Screen+Shot+2018-09-20+at+9.37.04+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="507" data-original-width="728" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO0udNIehQ1WXyW0qn15050NypTX7LH9XI9ngpE5bSSHJbKRG6uudRN8dug8IavxX_4LHLklzPstnc28UWjEPdXFhpuLSQBlc0xwDUm-6YNRWo6KHX3RFgZ4nH1RK0UgMpOsoUF42uCn8/s640/Screen+Shot+2018-09-20+at+9.37.04+PM.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbpkfkeOGoR30u9pq_0XQphyphenhyphenoHvKcB-ubmT25KggQ6Q5tcBViP2bi4NrEkmMaZzQi8PPdQA8JA2pNJ3JRwPKmz42K0tkGcNU_brEcUhsEMuDRW3ZL-M3pA2x8Ub-OTmp1u7zFVG6SnC5k/s1600/Screen+Shot+2018-09-20+at+9.38.40+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="508" data-original-width="732" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbpkfkeOGoR30u9pq_0XQphyphenhyphenoHvKcB-ubmT25KggQ6Q5tcBViP2bi4NrEkmMaZzQi8PPdQA8JA2pNJ3JRwPKmz42K0tkGcNU_brEcUhsEMuDRW3ZL-M3pA2x8Ub-OTmp1u7zFVG6SnC5k/s640/Screen+Shot+2018-09-20+at+9.38.40+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
If you can see that confirmation dialog now we're able to Save the configuration and get into the next screen lets click on Connect button:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAza4CTLa7q_jzzpx-tS0_e519eG-aPXalNWcZUCJe7QFwW-tCmtf3R3UbV54M8WCWE-SnjLkEG3ZJFywWcNlVkzP_P4zd-vOkoFMk9xbWvvDY04TbLu5dehIfRhbO0aV8exCGO7VZvJw/s1600/Screen+Shot+2018-09-20+at+9.41.49+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="463" data-original-width="694" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAza4CTLa7q_jzzpx-tS0_e519eG-aPXalNWcZUCJe7QFwW-tCmtf3R3UbV54M8WCWE-SnjLkEG3ZJFywWcNlVkzP_P4zd-vOkoFMk9xbWvvDY04TbLu5dehIfRhbO0aV8exCGO7VZvJw/s640/Screen+Shot+2018-09-20+at+9.41.49+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
now you will be able to see all default databases into our machine:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAxkBGTYIZ2SMXBKakglJHQbuR1tTjhVhc71CfKcLaRFEPdE0j5Nv6YAMN50HT1_K9otHdvlV6JKatXa6v7OVb4x_OsBwqPLQfwuwqiTt3qJ7B0trD_cph-1Quzi5NWrKKn-Dv0-QlMeY/s1600/Screen+Shot+2018-09-20+at+9.42.38+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="724" data-original-width="1357" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAxkBGTYIZ2SMXBKakglJHQbuR1tTjhVhc71CfKcLaRFEPdE0j5Nv6YAMN50HT1_K9otHdvlV6JKatXa6v7OVb4x_OsBwqPLQfwuwqiTt3qJ7B0trD_cph-1Quzi5NWrKKn-Dv0-QlMeY/s640/Screen+Shot+2018-09-20+at+9.42.38+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
We're almost done on our local configuration lets create a database with a right click on our instance connection in this case "Local Connection" and clicking on Create Database, to use in our example app we will use the name "awesomedatabase"</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHHTHZf5CL9_3Cj08nKlIN9_NZkvCU2idnxVS_SRt0DmcHnSgQXOx8dgrBh5IHGrDwoWZOSyXOw82YLscyUZDHvyPgCJipRa7Wvu5OAYsW7MRMj26gKr3ng2GS3H-0WpVbx7zMMSVq0W4/s1600/Screen+Shot+2018-09-20+at+9.45.25+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="313" data-original-width="477" height="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHHTHZf5CL9_3Cj08nKlIN9_NZkvCU2idnxVS_SRt0DmcHnSgQXOx8dgrBh5IHGrDwoWZOSyXOw82YLscyUZDHvyPgCJipRa7Wvu5OAYsW7MRMj26gKr3ng2GS3H-0WpVbx7zMMSVq0W4/s640/Screen+Shot+2018-09-20+at+9.45.25+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvf6GP3uTMySqYblDMnBW1jK82Ymu39pX45tEDOQkNcddNQrKEdo2CLubjDjXdxZ6x2IxlyVE3daicgHTJpVsbDuWUutYL-t8IimOhSyZtiTVcQ2Z6mkMjTCdEmvUmaWcrReaZF6ukQe0/s1600/Screen+Shot+2018-09-20+at+9.48.08+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="430" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvf6GP3uTMySqYblDMnBW1jK82Ymu39pX45tEDOQkNcddNQrKEdo2CLubjDjXdxZ6x2IxlyVE3daicgHTJpVsbDuWUutYL-t8IimOhSyZtiTVcQ2Z6mkMjTCdEmvUmaWcrReaZF6ukQe0/s640/Screen+Shot+2018-09-20+at+9.48.08+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
Now you're able to see our new database details</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOHkOqscxuJdgy0anHcpHL6w_pW2WK1CzrnZtYM76GWaLn36-9JCFCs92waIqUda-yDvZgLo4irOjPeXv7jcihTFcpWV1s6uN2RkNFZTBPUgskgKlctb7eJ4qBMnVTdNBkqCUPDOaIdbk/s1600/Screen+Shot+2018-09-20+at+9.49.25+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="398" data-original-width="712" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOHkOqscxuJdgy0anHcpHL6w_pW2WK1CzrnZtYM76GWaLn36-9JCFCs92waIqUda-yDvZgLo4irOjPeXv7jcihTFcpWV1s6uN2RkNFZTBPUgskgKlctb7eJ4qBMnVTdNBkqCUPDOaIdbk/s640/Screen+Shot+2018-09-20+at+9.49.25+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Awesome at this point we completed the basic config on out local machine lets continue creating a Cosmos DB configuration on our Azure portal.</div>
<div>
<span style="font-size: x-large;"><b><br /></b></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj98VqHyDDDKkUMiJZ-Fnjms79WKC36dCYW-bGGK3Jgr65rcLTQrwuOAgpQaLlfpm4T5L3M4myukorn86YS5cun1Sz36OiI6FIZOV4l-K1erTOwrKNtVouDc6U8Qzt3zOck7_QUvWXWp2M/s1600/cosmos-db.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="315" data-original-width="600" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj98VqHyDDDKkUMiJZ-Fnjms79WKC36dCYW-bGGK3Jgr65rcLTQrwuOAgpQaLlfpm4T5L3M4myukorn86YS5cun1Sz36OiI6FIZOV4l-K1erTOwrKNtVouDc6U8Qzt3zOck7_QUvWXWp2M/s400/cosmos-db.png" width="400" /></a></div>
<div>
<span style="font-size: x-large;"><b><br /></b></span></div>
<div style="text-align: center;">
<b><span style="font-size: x-large;">Cosmos DB Azure Configuration</span></b></div>
<div>
<br /></div>
<div>
Cosmos DB is the Azure service that allow you quickly configure a distributed databases using common databases engines like MSSQL & MongoDB.</div>
<div>
<br /></div>
<div>
From Cosmos DB docs <a href="https://docs.microsoft.com/en-us/azure/cosmos-db/">webpage</a> we can see next definition:</div>
<div>
<br /></div>
<div>
Azure Cosmos DB is a globally distributed, multi-model database service that supports document, key-value, wide-column, and graph databases. Learn how to use Azure Cosmos DB with our quickstarts, tutorials, and samples.</div>
<div>
<br /></div>
<div>
Now lets move to our azure portal if you don't have an account you can create a <b>FREE</b> account here <a href="https://azure.microsoft.com/en-us/free/">https://azure.microsoft.com/en-us/free/</a></div>
<div>
<br /></div>
<div>
as you probably seen CosmosDB is free with a limited quota first 12 months of you create your subscription this will be enough to play with it</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL1VCmSs6zg3NLX39hLovgGJk3L_wipvFjBg7F3nCj_Duqytlz4hARUy3KKokLUmwx9N7JIFUQkZAX8kocSbk0nDSLeW4yexCuH1FZ1P_zD-gxvR5cZ0AljQ3w70Nvgltt0qYcqUbWyuk/s1600/Screen+Shot+2018-09-20+at+10.00.55+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="342" data-original-width="468" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL1VCmSs6zg3NLX39hLovgGJk3L_wipvFjBg7F3nCj_Duqytlz4hARUy3KKokLUmwx9N7JIFUQkZAX8kocSbk0nDSLeW4yexCuH1FZ1P_zD-gxvR5cZ0AljQ3w70Nvgltt0qYcqUbWyuk/s400/Screen+Shot+2018-09-20+at+10.00.55+PM.png" width="400" /></a></div>
<div>
Is time to open our azure portal here <a href="https://portal.azure.com/">https://portal.azure.com</a></div>
<div>
<br /></div>
<div>
And in the left side of the dashboard we will expand it and click on create new resource button:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHP6EgT1OKvKuEYQlIw16d7GX7JKDhtC3yA9_Octs1zSJ8Gji9WhAzw_iNl6Dc2Tzigh8fteZNwCy5MNYpXWjcQ_jggVjqWZACOewzc7Eneqa3PPP1xM4fSuWRyuJtWXGviiMiFcnHPbo/s1600/Screen+Shot+2018-09-20+at+10.03.36+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1272" data-original-width="1553" height="524" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHP6EgT1OKvKuEYQlIw16d7GX7JKDhtC3yA9_Octs1zSJ8Gji9WhAzw_iNl6Dc2Tzigh8fteZNwCy5MNYpXWjcQ_jggVjqWZACOewzc7Eneqa3PPP1xM4fSuWRyuJtWXGviiMiFcnHPbo/s640/Screen+Shot+2018-09-20+at+10.03.36+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
and let's search or select "CosmosDB"</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAT1_hy5mUxxc6yu98KZim8ZZjlDy9ExSc3Ad9zNC1S_HzK2mRmT9JUi-nc9KuQvQkD_CJMABMBUPC3tU7oLKOG5kZ1m5laiFXvOCudPyhYsVNpY46dSKf3xDAacdQDDCi66F8b8frQVg/s1600/Screen+Shot+2018-09-20+at+10.10.52+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="860" data-original-width="881" height="624" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAT1_hy5mUxxc6yu98KZim8ZZjlDy9ExSc3Ad9zNC1S_HzK2mRmT9JUi-nc9KuQvQkD_CJMABMBUPC3tU7oLKOG5kZ1m5laiFXvOCudPyhYsVNpY46dSKf3xDAacdQDDCi66F8b8frQVg/s640/Screen+Shot+2018-09-20+at+10.10.52+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
after that we will see a form with the details to create our new Cosmos DB service:</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuVc3r6aZ93StVkXJ7T3x_RV1k5d2CU1aODjDI5t3YsaYVv50qsJ-20uWjYRVTY2PiuqCPBsQ1d7vP3lOMrWPMIGkwDEDXUXz3gAEWm0nOYgTqBxH-FH2irH0gbfrxb5QNdXSat54PomM/s1600/Screen+Shot+2018-09-20+at+10.16.25+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="644" data-original-width="388" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuVc3r6aZ93StVkXJ7T3x_RV1k5d2CU1aODjDI5t3YsaYVv50qsJ-20uWjYRVTY2PiuqCPBsQ1d7vP3lOMrWPMIGkwDEDXUXz3gAEWm0nOYgTqBxH-FH2irH0gbfrxb5QNdXSat54PomM/s320/Screen+Shot+2018-09-20+at+10.16.25+PM.png" width="192" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Fill the form using the mandatory data</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>ID</b>: unique name used to reference you cosmos db service.</div>
<div class="separator" style="clear: both; text-align: left;">
<b>API</b>: Database engine for out demo purposes we will select MongoDB.</div>
<div class="separator" style="clear: both; text-align: left;">
<b>Subscription</b>: Your target azure subscription.</div>
<div class="separator" style="clear: both; text-align: left;">
<b>Resource Group</b>: Main resource group the service will be tied you can select a created one or create a new one.</div>
<div class="separator" style="clear: both; text-align: left;">
<b>Location</b>: Where your database service will be located.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Also you are able to configure geo-redudandy, multi-region and virtual network configuration if is needed.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
after you select your config you can click on Create button, the deployment task will be perform by azure dashboard and after a couple minutes you'll get the notification about a completed task.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi11lkzgrxmD4mAoLyyRGpaqj583TLvx_LYA44MSWrkTFXgzeH2U2eVuWs3ZytXRi7KAivVdQ3IVEUpP9DpKdJX1LKtXlTWJKwJ_pZsQaoHiyoRz24aaE3Jd7-88xur4A6VdW2-wbmW_eg/s1600/Screen+Shot+2018-09-20+at+10.24.38+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="394" data-original-width="534" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi11lkzgrxmD4mAoLyyRGpaqj583TLvx_LYA44MSWrkTFXgzeH2U2eVuWs3ZytXRi7KAivVdQ3IVEUpP9DpKdJX1LKtXlTWJKwJ_pZsQaoHiyoRz24aaE3Jd7-88xur4A6VdW2-wbmW_eg/s400/Screen+Shot+2018-09-20+at+10.24.38+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now you can pin the item to your dashboard if you want of you go to the resource config, and you will see your resource config as follow.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguLnnAGdqY5jw9HycJHHUA_ROQp7Ikh7sDdxxRho_P9XMhN4AE0iSIerYLpsRVtnhfx3nLoeJ6s1wVM_GfUFEWQ0OjeEb1Ux_o7XHlBn6W9128HlSxBi7QUxI483z6ygX_pflITjyIcQQ/s1600/Screen+Shot+2018-09-20+at+10.28.29+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="916" data-original-width="1600" height="366" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguLnnAGdqY5jw9HycJHHUA_ROQp7Ikh7sDdxxRho_P9XMhN4AE0iSIerYLpsRVtnhfx3nLoeJ6s1wVM_GfUFEWQ0OjeEb1Ux_o7XHlBn6W9128HlSxBi7QUxI483z6ygX_pflITjyIcQQ/s640/Screen+Shot+2018-09-20+at+10.28.29+PM.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
That's all now we have the basic config, we can just go to the Quick Start menu option to see the connection string that we will need later in the second blog part:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdqvE6I_nmY7YYQr-XrJkAXW2svV0iS5myaGqg0ZI3cqDX66Ps3qsovt2WKhB1U43dx5CIXmEKgETtlqTpQ2vmUbYQa0O0IMLMqWUqhSt6Pn88aCDpPloxy08aRqnX04wPyblDei2fKSk/s1600/Screen+Shot+2018-09-20+at+10.33.59+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="825" data-original-width="1600" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdqvE6I_nmY7YYQr-XrJkAXW2svV0iS5myaGqg0ZI3cqDX66Ps3qsovt2WKhB1U43dx5CIXmEKgETtlqTpQ2vmUbYQa0O0IMLMqWUqhSt6Pn88aCDpPloxy08aRqnX04wPyblDei2fKSk/s640/Screen+Shot+2018-09-20+at+10.33.59+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
We're done with our basic databases configuration part at this moment we can recap our journey.</div>
<div>
<ol>
<li>Install MongoDB in our machine</li>
<li>Install RoboT3 to manage our database.</li>
<li>Create a local connection in our RoboT3 software.</li>
<li>Test Connection and Create a new database.</li>
<li>Create an Azure free account.</li>
<li>Search and create a new Cosmos DB Instance.</li>
<li>Open the quick start section on azure cosmos db dashboard to see our connection string.</li>
</ol>
<div>
In the next part we can start creating an ASP.NET Core Web Api to connect our Identity Service with the databases that we just created.</div>
</div>
<div>
<br /></div>
<div>
See you soon in the next part.</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Happy Code!!!!</span></b></div>
<div>
<br /></div>
Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-39049885489600806202018-06-10T18:26:00.000-05:002018-06-10T18:26:50.143-05:00Xamarin.Forms: Custom Context Actions on iOS<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNtzqPcOlS392re_XmTPCfPDB39etI-gN5hL-SjOdTGFaN4xANjU9-o6UnFMc_3_clQwDA3veRkF0a9qxJu0bVLTpmgzqQUchnB_LAzXO9uLhZM7A9nyPWaLpqIpdQvsDJiGEx0cTRqn0/s1600/CustomContextActions.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1125" data-original-width="1125" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNtzqPcOlS392re_XmTPCfPDB39etI-gN5hL-SjOdTGFaN4xANjU9-o6UnFMc_3_clQwDA3veRkF0a9qxJu0bVLTpmgzqQUchnB_LAzXO9uLhZM7A9nyPWaLpqIpdQvsDJiGEx0cTRqn0/s320/CustomContextActions.png" width="320" /></a></div>
<h2 style="text-align: center;">
</h2>
<h2 style="text-align: center;">
Xamarin.Forms: Custom Context Actions on iOS</h2>
<div>
<br /></div>
<div>
Hello folks now is time to talk about customize context action views on Xamarin.Forms cell for iOS (yes the red/light-gray options that appear when you swipe a cell) the default colors are not a good-looking, so right now is a little bit tricky to achieve that but we will use a reflection technique to achieve the next two escenarios:</div>
<div>
<ul>
<li>Change background color for default and destructive context action</li>
<li>Set custom view for default and destructive context action</li>
</ul>
<div>
first at all, lets take a look to native impl. on Xamarin.Forms Github project on the next url</div>
<div>
<br /></div>
<div>
<a href="https://github.com/xamarin/Xamarin.Forms/blob/ae92582d5acad2b8aeab9a2ed5b490561e71bd6c/Xamarin.Forms.Platform.iOS/ContextActionCell.cs#L14">https://github.com/xamarin/Xamarin.Forms/blob/ae92582d5acad2b8aeab9a2ed5b490561e71bd6c/Xamarin.Forms.Platform.iOS/ContextActionCell.cs#L14</a></div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2cvmSrWVr3RDFv4114baU22YAS8B6qYNeEl9Tn-ZO24c9XYXJgxbYL_-nxHCERcLzSSCSPcR_X-LClWyGmnpqVmk4vNz-yYfHb4QBhDyDyXbDr8PbuKiVX9sxZhV8aCFpBhRqp6pyW44/s1600/Screen+Shot+2018-06-10+at+4.48.47+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="139" data-original-width="775" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2cvmSrWVr3RDFv4114baU22YAS8B6qYNeEl9Tn-ZO24c9XYXJgxbYL_-nxHCERcLzSSCSPcR_X-LClWyGmnpqVmk4vNz-yYfHb4QBhDyDyXbDr8PbuKiVX9sxZhV8aCFpBhRqp6pyW44/s640/Screen+Shot+2018-06-10+at+4.48.47+PM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
Here we have two key items "DestructiveBackground" and "NormalBackground" both are the Images that Xamarin.Forms use to put as background on the default ContextActions view(Gray/Red)</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhouc2tjns5l2vznJc_bxEKKGJJQlqB-hNkw0eW_LcIkKY2VX8YCY-22ccv4FevGMIGUlN5GcPY-nXOheNV0XrPYT2jL6gVDZPii5M1tHbfpi6DiBuCtGIl4-NbN2m0PYqoTu84v2F1Hu4/s1600/context-default.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="303" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhouc2tjns5l2vznJc_bxEKKGJJQlqB-hNkw0eW_LcIkKY2VX8YCY-22ccv4FevGMIGUlN5GcPY-nXOheNV0XrPYT2jL6gVDZPii5M1tHbfpi6DiBuCtGIl4-NbN2m0PYqoTu84v2F1Hu4/s640/context-default.png" width="321" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Not bad but sometimes we need to put some love into the design. at this point we found a major issue both ContextActionsCell & Destructive/Normal background properties are internal/private which basically means that we are not able to modify directly due protection level here is when Reflection is coming to help us to handle it.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Lets analyze how we can achieve this the steps are listed next</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ol>
<li>Get assembly info for Xamarin.Forms.Platform.iOS(the one that contains ContextActionsCell class).</li>
<li>Get Type info for internal ContextActionsCell class.</li>
<li>Get Field infor for DestructiveBackground & NormalBackground properties</li>
<li>Set or Get value for static DestructiveBackground / NormalBackground properties</li>
</ol>
<div>
Sound a little bit hard but let's see code this will be easy I promise you.</div>
<div>
<br /></div>
<script src="https://gist.github.com/AlejandroRuiz/06b69ba91bbe7341a100d4ef12e7ff76.js"></script>
<br />
<div>
Told you with that 4 lines of code now you're able to modify that internal properties based on that now we need to create a dependency service interface to expose a simple way to change both properties and also we will need to create an iOS specific implementation.<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/fef89f205acd61fc5aec0651ecbfc051.js"></script>
After complete the iOS implementation now we're able to retrieve the native manager and apply whether custom background color and/or the custom view using follow code:<br />
<br /></div>
<script src="https://gist.github.com/AlejandroRuiz/b97ef37ace0deb70cc698a14d26ef1e1.js"></script>
Also theres an small trick if you want to use a custom VIEW you'll need to add some hack spaces into the Text definition of the MenuItem as is displayed in the next fragment of code:<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/ad38ff6f170150e145dee6699cdd79bf.js"></script>
After use the previous code you'll get the next result<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOvmEKLIqXzCLmLs8xWghfqYgfi7o-aWiiOTv6ATqedDap3pZFXoBHljFM4pmGwRuIaUWd6tk8k-pW-_gQbmCS4si6hJEayA9ysZzlbk-YU96CHr64QhGeHvSZmQUsIh4eGr0IzsDYV3Q/s1600/Simulator+Screen+Shot+-+iPhone+X+-+2018-06-10+at+13.14.48.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOvmEKLIqXzCLmLs8xWghfqYgfi7o-aWiiOTv6ATqedDap3pZFXoBHljFM4pmGwRuIaUWd6tk8k-pW-_gQbmCS4si6hJEayA9ysZzlbk-YU96CHr64QhGeHvSZmQUsIh4eGr0IzsDYV3Q/s640/Simulator+Screen+Shot+-+iPhone+X+-+2018-06-10+at+13.14.48.png" width="291" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1I6MqzOhdXMGAlfRV94NjGP5IfzHDvz5Chq0UcPGBmy5zenpbHvjrXoX90X_sQ3Bsvc-Suxkuwh_SkyoCAOgIVrU0cqDIpmHM9-sYe7ho6HpLcvsvMhyphenhyphenpmm928ZEAjJ3g2luXwHDD1b4/s1600/Simulator+Screen+Shot+-+iPhone+X+-+2018-06-10+at+13.43.50.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1I6MqzOhdXMGAlfRV94NjGP5IfzHDvz5Chq0UcPGBmy5zenpbHvjrXoX90X_sQ3Bsvc-Suxkuwh_SkyoCAOgIVrU0cqDIpmHM9-sYe7ho6HpLcvsvMhyphenhyphenpmm928ZEAjJ3g2luXwHDD1b4/s640/Simulator+Screen+Shot+-+iPhone+X+-+2018-06-10+at+13.43.50.png" width="292" /></a></div>
<br />
<br />
<span style="color: red;">IMPORTANT NOTE:</span><br />
<span style="caret-color: rgb(255, 0, 0);">As you noticed this implementation is very customized which means that may change between Xamarin.Forms versions the version used on this example is the latest version 3.0.0.550146</span><br />
<span style="caret-color: rgb(255, 0, 0);">So I highly recommend to be careful if you implement this way every time that you want to upgrade or downgrade the Xamarin.Forms version in your project</span><br />
<h3>
<span style="caret-color: rgb(255, 0, 0);">GITHUB REPOSITORY:</span></h3>
<div>
<span style="caret-color: rgb(255, 0, 0);">if you want to look a complete demo you can download it from here:</span></div>
<div>
<a href="https://github.com/AlejandroRuiz/CustomContextActions">https://github.com/AlejandroRuiz/CustomContextActions</a></div>
<h3>
<span style="caret-color: rgb(255, 0, 0);">HAPPY CODE!!!!</span></h3>
<div>
<span style="caret-color: rgb(255, 0, 0);"><br /></span></div>
Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com6tag:blogger.com,1999:blog-2019348300304776557.post-79412269226553553672018-01-02T21:41:00.003-06:002018-01-02T22:01:30.839-06:00Xamarin: 2018 Hot Topics<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifyJcDkSgp2XvLN76B3fWMj6r857WV_F8ed5d7Mm-7HK7EkoXEOV-0p4zzuhw2YbBgi9baC5RgMNkkZjIvxYyVQW-_jLGvdq4KpPLMJYlVJIY-ceiujoUWXQqQPSIQKwa_JvSoLXFeiMg/s1600/new-years-eve.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="618" data-original-width="1600" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifyJcDkSgp2XvLN76B3fWMj6r857WV_F8ed5d7Mm-7HK7EkoXEOV-0p4zzuhw2YbBgi9baC5RgMNkkZjIvxYyVQW-_jLGvdq4KpPLMJYlVJIY-ceiujoUWXQqQPSIQKwa_JvSoLXFeiMg/s640/new-years-eve.jpg" width="640" /></a></div>
<br />
<br />
<h2>
<span style="font-size: x-large;">Xamarin: 2018 Hot Topics</span></h2>
A new year is just beginning but .net mobile development is moving very fast and a tons of new features & tools are being created or updated, next I'll list only a few new things that will help to improve your .net mobile skills.<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<br />
<h3>
<span style="font-size: large;">1. Visual Studio App Center (<a href="https://appcenter.ms/">https://appcenter.ms</a>)</span></h3>
<div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVWIEVN4sZDlMR-b8RiR1DORHraEGogTf4RF2oANHA71_An8Tue-dX1FT_pEI16heF-Ov98L07dNW2PKK4qxB2_BeZ9qGbdjM11XfrjLoRb0_ycHDULns3u-Al7sjKagGTWpjeJPE4RFc/s1600/hXRP69QY.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="512" data-original-width="512" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVWIEVN4sZDlMR-b8RiR1DORHraEGogTf4RF2oANHA71_An8Tue-dX1FT_pEI16heF-Ov98L07dNW2PKK4qxB2_BeZ9qGbdjM11XfrjLoRb0_ycHDULns3u-Al7sjKagGTWpjeJPE4RFc/s200/hXRP69QY.jpg" width="200" /></a></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
App Center (formerly Azure Mobile Center) is CI platform
that allow you build, test, release and monitor your apps in a very fast and
friendly way, currently the platform supports Swift, Obj-C, Java, Xamarin &
React Native also you can start with the free tier and pay as your app grows.<o:p></o:p></div>
<div class="MsoNormal">
As part of the platform you’ll able to use the next 6
features.</div>
<h4>
<span style="text-indent: -18pt;">- Build</span></h4>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoNormal">
Allow to use common Git services like VSTS, GitHub &
Bitbucket to create automated build based on push triggers or manual build
tasks also you’re able to configure custom build scripts, environment
variables, Custom signing certificates, distribute and testing taks.</div>
<h4>
<span style="text-indent: -18pt;">- Test</span></h4>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoNormal">
This feature allows you to configure test runs and device
sets with a lot of latest and popular physical devices, using the Xamarin Test
Cloud platform, also it support the most common UI testing frameworks like
Espresso, XCUITest, Appium & Xamarin.UITest the free tier contain a 30 days
trial but you can always take a look to pricing here
https://appcenter.ms/#pricing</div>
<h4>
<span style="text-indent: -18pt;">- Distribute</span></h4>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoNormal">
You’re able also to share and publish your packages to
specific Groups Test Users, iTunes Connect / Google Play or Intune, also you
can manage all your releases.</div>
<h4>
<span style="text-indent: -18pt;">- Crash (Preview)</span></h4>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoNormal">
One of my favorites features in this section you’re able to
get any crash details before the user report to you, allowing you to get all
the insights about the crash like user, device and crash messages, you can
configure to get an email every time that new crash is reported.</div>
<h4>
<span style="text-indent: -18pt;">- Analytics</span></h4>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoNormal">
Get all the information about your app usage sessions,
active users, session duration, devices, languages, events, log flows etc. this
a good way take decisions based on your user’s needs.</div>
<h4>
<span style="text-indent: -18pt;">- Push (Preview)</span></h4>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoNormal">
You can send push notifications to your users based on
specific audiences filtered by app version, country, mobile carrier, etc.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
If you want to learn more about Visual Studio App Center
keep alert on new blog posts since starting this month I’ll create a post
series about the platform.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
</div>
<h3>
<span style="font-size: large;">2. Live Player</span></h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjElhbQMwSZpskRO-xVfbuPIA49_mOssAZfSITTjBsYosB36139F_WyHZyrcfWd5J-RmUp34ofIZ3vjGxBPY-vmDyE-T_x2sj-gBIkwvJ054r0nXCca8VbC5tyxiY8BZDtvW6rzqSiPLeA/s1600/live-player-KzXKkkqa.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="776" data-original-width="1258" height="393" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjElhbQMwSZpskRO-xVfbuPIA49_mOssAZfSITTjBsYosB36139F_WyHZyrcfWd5J-RmUp34ofIZ3vjGxBPY-vmDyE-T_x2sj-gBIkwvJ054r0nXCca8VbC5tyxiY8BZDtvW6rzqSiPLeA/s640/live-player-KzXKkkqa.gif" width="640" /></a></div>
<br />
<br />
One of the first visions of Microsoft after bought Xamarin
was to allow developers get immersed into Mobile Development in a faster way
and with the Live Player this commitment is about to be a reality. Live Player
is a preview tool that helps to preview yours apps direct on your test
Android/iOS devices while you’re writing code on your IDE with simply read a QR
code on your VS, if you want to try this tool you can get all the details here:
<a href="https://www.xamarin.com/live">https://www.xamarin.com/live</a><br />
<div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
</div>
<h3>
<span style="font-size: large;">3. Xamarin.Forms 2.5 / 2.6</span></h3>
<div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<br />
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuZXuREC-bmX2huGpJkmIpKMCmVCEYzZI8SfSItDzUmfUSrxZ8D-l8nsuQV6yRze-4Di3-0LSq4zruVFcsqGGv1A6luzZQY8ro5jX8oVLANQ8PDPufjSm444F7LK1Aj7nkTlSMTgdaRus/s1600/BikeSharing360_XamarinApps.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="597" data-original-width="928" height="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuZXuREC-bmX2huGpJkmIpKMCmVCEYzZI8SfSItDzUmfUSrxZ8D-l8nsuQV6yRze-4Di3-0LSq4zruVFcsqGGv1A6luzZQY8ro5jX8oVLANQ8PDPufjSm444F7LK1Aj7nkTlSMTgdaRus/s640/BikeSharing360_XamarinApps.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Xamarin.Forms is adding a whole brand-new features and performance
updates as you can see in the next list:</div>
<h4>
Forms 2.5.X</h4>
<div class="MsoNormal">
<o:p></o:p></div>
<h4>
- Layout Compression</h4>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
Removes specified layouts from items from visual tree in
order to improve screen rendering performance.</div>
<h4>
- Fast Renderers</h4>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
This feature works only for Android it helps to reduce the
cost of native control rendering by flattening native view hierarchy.</div>
<h4>
- Forms Embedding</h4>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
Forms Embedding allow to export and use easily Xamarin.Forms
pages into Xamarin.Classic projects.</div>
<h4>
- Improved macOS & Desktop Support</h4>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
macOS support is a preview feature, App exit function was
added & new desktop menus actions for common behaviors on desktop apps.</div>
<h4>
Forms 2.6.X</h4>
<h4>
<span style="text-indent: -18pt;">- CSS Styles</span></h4>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<div class="MsoNormal">
This a very controversy and nightly feature, this feature
will allow to support CSS styles on Xamarin.Forms to allow have a very cleaner
XAML definitions and use a standard way of styling into the platform. If you
want to test it you can go and follow next blog: <a href="http://www.davidortinau.com/blog/styling_xamarin_forms_with_css">http://www.davidortinau.com/blog/styling_xamarin_forms_with_css</a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
</div>
<h3>
<span style="font-size: large;">4. .NetStandard 2.X</span></h3>
<div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<br />
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdmjg_6dD1lYlC89MquaqQvr55UACVe0yKSQXv-VO3fPiDoZbiTgm2gPv1NUJy0MsOLq3v_w_eS9kmN-8-d-wpBKgoquzu3FwhPoRDYq0zAS7VsQkJZF5foVttl6Z5BxvVDKDqYVENuGo/s1600/dotnet-tomorrow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="853" data-original-width="1581" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdmjg_6dD1lYlC89MquaqQvr55UACVe0yKSQXv-VO3fPiDoZbiTgm2gPv1NUJy0MsOLq3v_w_eS9kmN-8-d-wpBKgoquzu3FwhPoRDYq0zAS7VsQkJZF5foVttl6Z5BxvVDKDqYVENuGo/s640/dotnet-tomorrow.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
.NetStandard was released during 2016 and version 2.0 on
2017 this is the evolution and a new way of share code over different platforms
for the .Net framework, currently .NetStandard is fully supported on Visual
Studio for Windows, the Mac version have some limitations since Xamarin.Forms
templates doesn’t have a way to direct support 2.x version and you need to
create the project manually, but that support is priority, so we will have soon
a fully support on Mac, so that means that 2018 is a good year to start moving
from PCL to .NetStandard.</div>
<div class="MsoNormal">
You can see more info here: <a href="https://docs.microsoft.com/en-us/dotnet/standard/net-standard">https://docs.microsoft.com/en-us/dotnet/standard/net-standard</a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<!--EndFragment--></div>
<h3>
<span style="font-size: large;">5. Goodbye Xamarin Components – Hello nuget</span></h3>
<div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<br />
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQIIcyw-tKzuVXSCihIOYjcdgb9dyP3GX7DsDI-XaH5wwRt4JZzBEl4LDUZf1EGC0l5ncikFG68mZiAen_2JYyIaHEcZ8bqc8YfQNM0X0T_R_n3y4Ua_pASeqQjP-6pJTeJs_jPVjFzKU/s1600/nuget.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="135" data-original-width="444" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQIIcyw-tKzuVXSCihIOYjcdgb9dyP3GX7DsDI-XaH5wwRt4JZzBEl4LDUZf1EGC0l5ncikFG68mZiAen_2JYyIaHEcZ8bqc8YfQNM0X0T_R_n3y4Ua_pASeqQjP-6pJTeJs_jPVjFzKU/s640/nuget.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This was announced on last November the support will be
continue having support for projects that have already items from Xamarin
Components but soon o later this will be deprecated so I highly recommend to
use the nuget version or contact plugin vendor for your Xamarin Components
dependencies before this happen. For more info go to here: https://blog.xamarin.com/hello-nuget-new-home-xamarin-components/<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<!--EndFragment--></div>
<h3>
<span style="font-size: large;">6. C# 7.X</span></h3>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyWgv3ncQKJOMEaSizmSGzIYLeSQ7zLodBrHDy2hiXfB9lbsov0DKxwQ_j1Ezl-EF84lXeBXAPCj3fsTWiIvmWO2nOCTSOtaI18THH4wz0w2HLNG8dU_Z_J2-OHpI3JxMdmJjRpJKwg9U/s1600/C7.0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="353" data-original-width="660" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyWgv3ncQKJOMEaSizmSGzIYLeSQ7zLodBrHDy2hiXfB9lbsov0DKxwQ_j1Ezl-EF84lXeBXAPCj3fsTWiIvmWO2nOCTSOtaI18THH4wz0w2HLNG8dU_Z_J2-OHpI3JxMdmJjRpJKwg9U/s640/C7.0.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Was introduced by mid of 2017, C# 7 introduce a lot of cool
features like:</div>
<div class="MsoNormal">
<span style="text-indent: -18pt;">- Tuples:</span><br />
<span style="text-indent: -18pt;"><br /></span>
<script src="https://gist.github.com/AlejandroRuiz/148e1da9ff8e087a295dd030f8a5d79f.js"></script>
<span style="text-indent: -18pt;"><br /></span></div>
<div class="MsoNormal">
<span style="text-indent: -18pt;">-<span style="font-family: "times new roman";"> </span></span><span style="text-indent: -18pt;">Expression-Bodied Member:</span><br />
<span style="text-indent: -18pt;"><br /></span>
<script src="https://gist.github.com/AlejandroRuiz/10e58e951ce91c9dfe7ce57e1c89f241.js"></script>
<span style="text-indent: -18pt;"><br /></span></div>
<div class="MsoNormal">
<span style="text-indent: -18pt;">- o</span><span style="font-family: "times new roman" , serif;">ut variables:</span><br />
<span style="font-family: "times new roman" , serif;"><br /></span>
<script src="https://gist.github.com/AlejandroRuiz/b5858892a0ab073002ba848d634a2111.js"></script>
<span style="font-family: "times new roman" , serif;"><br /></span></div>
<div class="MsoNormal">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<!--EndFragment--></div>
<div class="MsoNormal">
These are only few new features that you can take advantage
of if you want to know more about those feature take a look to the docs url: <a href="https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/">https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/</a><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Thats all for now if you want to discuss more about these features please don't hesitate to put your thoughts in the box. Happy Code and New Year</div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment--><!--EndFragment-->
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<br />
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<!--EndFragment--><br />
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<o:p></o:p></div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<br />
<div class="MsoNormal">
<o:p></o:p></div>
<!--EndFragment-->
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="382">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<br />
<div class="MsoNormal">
<o:p></o:p></div>
<!--EndFragment--></div>
Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-16450203424688166222017-03-20T18:14:00.000-06:002017-03-20T18:14:08.965-06:00Uso de Librerías Objective-C en Xamarin.iOS<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13px;">El pasado 8 de Marzo tuve la oportunindad de junto a <a href="https://twitter.com/HJaimesDev">Humberto Jaimes</a> dar un webinar para la comunidad de Xamarin Latinoamerica el cual les comparto hoy</span><br />
<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13px;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/oafM8xaSdEI/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/oafM8xaSdEI?feature=player_embedded" width="320"></iframe></div>
<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13px;"><br /></span>
<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13px;"><br /></span>
<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13px;">A continuacion les dejo los enlaces para los slides y codigo fuente en Github:</span><br />
<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13px;"><br /></span>
<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13px;"><br /></span>
<iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/p6ZYQ5TNkxLoko" style="border-width: 1px; border: 1px solid #ccc; margin-bottom: 5px; max-width: 100%;" width="595"> </iframe> <br />
<div style="margin-bottom: 5px;">
<strong> <a href="https://www.slideshare.net/alexrhack/uso-de-libreras-objectivec-en-xamarinios" target="_blank" title="Uso de Librerías Objective-c en Xamarin.iOS">Uso de Librerías Objective-c en Xamarin.iOS</a> </strong> from <strong><a href="https://www.slideshare.net/alexrhack" target="_blank">Alejandro Ruiz Varela</a></strong> </div>
<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13px;"><br /></span>
<span style="background-color: white; color: #444444; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13px;">Github: </span><a href="https://github.com/humbertojaimes/ObjectiveC-iOSBindings-Webinar">https://github.com/humbertojaimes/ObjectiveC-iOSBindings-Webinar</a>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com2tag:blogger.com,1999:blog-2019348300304776557.post-63036776533676921502017-02-25T11:12:00.002-06:002017-02-25T11:12:33.435-06:00Uso de librerías Java en Xamarin.Android - WebinarEl pasado 22 de Febrero tuve la oportunindad de dar un webinar para la comunidad de Xamarin Latinoamerica el cual les comparto hoy<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/vsQh8pA3A_o/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/vsQh8pA3A_o?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
A continuacion les dejo los enlaces para los slides y codigo fuente en github:<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/eNFZQwoX5jsGln" style="border-width: 1px; border: 1px solid #ccc; margin-bottom: 5px; max-width: 100%;" width="595"> </iframe> <br />
<div style="margin-bottom: 5px;">
<strong> <a href="https://www.slideshare.net/alexrhack/uso-de-libreras-java-en-xamarinandroid" target="_blank" title="Uso de librerías Java en Xamarin.Android">Uso de librerías Java en Xamarin.Android</a> </strong> de <strong><a href="https://www.slideshare.net/alexrhack" target="_blank">Alejandro Ruiz Varela</a></strong> </div>
<br />
Github: <a href="https://github.com/AlejandroRuiz/NativeLibs-Xamarin.Android">https://github.com/AlejandroRuiz/NativeLibs-Xamarin.Android</a>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-45719769982235856792017-02-25T11:06:00.001-06:002017-02-25T11:06:36.660-06:00Effects y Custom Renderers en Xamarin.Forms - WebinarHey el dia 25 de enero tuve la oportunindad de dar un webinar sobre el uso de Custom Renderers y Effects en Xamarin.Forms para la comunindad de latinoamerica, les dejo el enlace<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/cFcwQhc1utg/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/cFcwQhc1utg?feature=player_embedded" width="320"></iframe></div>
<br />
Les dejo el video para que puedan revisarlo ademas les dejo los slides y el enlace hacia el repositorio git:<br />
<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/RqPJD9SHvpZBc" style="border-width: 1px; border: 1px solid #ccc; margin-bottom: 5px; max-width: 100%;" width="595"> </iframe> <br />
<div style="margin-bottom: 5px;">
<strong> <a href="https://www.slideshare.net/alexrhack/effects-custom-renderers-en-xamarinforms" target="_blank" title="Effects & Custom Renderers en Xamarin.Forms">Effects & Custom Renderers en Xamarin.Forms</a> </strong> de <strong><a href="https://www.slideshare.net/alexrhack" target="_blank">Alejandro Ruiz Varela</a></strong> </div>
<br />
Github: <a href="https://github.com/AlejandroRuiz/XamForms-EffectsCustomRenderers">https://github.com/AlejandroRuiz/XamForms-EffectsCustomRenderers</a><br />
<br />
<br />Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-70869168192358369682016-11-17T21:17:00.000-06:002016-12-02T20:00:18.894-06:00Xamarin.Forms + Facebook<div class="separator" style="clear: both; text-align: left;">
Hoy tuve oportunidad de dar una charla de Xamarin.Forms + Facebook junto con Guillermo Tinoco (<a href="https://twitter.com/m3mo89">m3mo89</a>) se las dejo a continuación pueden acceder al código de la practica en mi Github <a href="https://github.com/AlejandroRuiz/XamarinFormsFacebook">https://github.com/AlejandroRuiz/XamarinFormsFacebook</a> cualquier comentario que puedan dejar se les agradecería al igual de temas en especifico que quieran que toquemos</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/YpkqOjw38ds/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/YpkqOjw38ds?feature=player_embedded" width="320"></iframe></div>
<br />
SLIDES
<br />
<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/gFnV9B9eggXAl7" style="border-width: 1px; border: 1px solid #ccc; margin-bottom: 5px; max-width: 100%;" width="595"> </iframe> <br />
<div style="margin-bottom: 5px;">
<strong> <a href="https://www.slideshare.net/alexrhack/xamarin-forms-facebook" target="_blank" title="Xamarin forms + Facebook">Xamarin forms + Facebook</a> </strong> from <strong><a href="https://www.slideshare.net/alexrhack" target="_blank">Alejandro Ruiz Varela</a></strong> </div>
Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-74587783525921742092016-11-15T12:28:00.001-06:002016-11-15T14:14:04.646-06:00AHBottomNavigation for Xamarin.AndroidI really love material design all those colors an awesome controls which really makes Android an amazing OS in nowadays.<br />
<br />
A few months ago I created a transcription to C# from a one of this gorgeous controls which is the Bottom Navigation this component allows you have a pretty bottom tabs navigation, you can see the details of it here <a href="https://material.google.com/components/bottom-navigation.html">https://material.google.com/components/bottom-navigation.html</a><br />
<br />
with a few lines of code you're able to put this kind of tabs in you're Xamarin.Android App<br />
<br />
<div style="text-align: center;">
<img height="368" src="https://raw.githubusercontent.com/aurelhubert/ahbottomnavigation/master/demo1.gif" width="208" /><img height="368" src="https://raw.githubusercontent.com/aurelhubert/ahbottomnavigation/master/demo3.gif" width="208" /> <img height="368" src="https://raw.githubusercontent.com/aurelhubert/ahbottomnavigation/master/demo4.gif" width="208" /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
This is a really basic implementation for a powerful component</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
XML Impl.</div>
<div style="text-align: left;">
</div>
<script src="https://gist.github.com/AlejandroRuiz/44ec2409c5d792e7384d03aa49651e5c.js"></script>
<br />
Code Behind Impl.
<br />
<div style="text-align: left;">
<br /></div>
<script src="https://gist.github.com/AlejandroRuiz/fc239fa872b061427714cb79ac15bb39.js"></script>
<br />
<div style="text-align: left;">
if you want to get the full control code you can find it on my GitHub:<br />
<br />
<a href="https://github.com/AlejandroRuiz/AHBottomNavigation-Xamarin">https://github.com/AlejandroRuiz/AHBottomNavigation-Xamarin</a></div>
Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-66761976458459767542016-11-07T12:31:00.000-06:002016-12-02T20:19:45.839-06:00Xamarin Dev Days - Chiapas<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://ti.to/xamarin/dev-days-chiapas"><img border="0" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiXizno-F9NTgHHiN00lnjFjgK-UZexV14KYJsWULd8_r6c3vtCbKai5qNCDHL4wyHlDHTrgPCX2yv42OkyZnwUCsZA61Y4N0D8ICNfhL-Hqwd0Xwg1fQB_3ai-omgwD8tGDVuQ1ahOm0/s400/Screen+Shot+2016-11-07+at+10.15.39+AM.png" width="400" /></a></div>
<br />
<br />
El pasado 29 de octubre tuve la oportunidad de compartir platicas junto a dos grandes Devs Hector Perez <a href="https://twitter.com/hprez">@hprez</a> y Humberto Jaimes <a href="https://twitter.com/HJaimesDev">@HJaimesDev</a> en las instalaciones del Instituto Tecnológico de Tuxtla Gutierrez, les dejo los slides a la platica que impartí la cual fue "Connected & Disconnected Apps With Azure Mobile Apps"<br />
<div>
<br /></div>
<div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/tqvudX8TOd7qNA" style="border-width: 1px; border: 1px solid #ccc; margin-bottom: 5px; max-width: 100%;" width="595"> </iframe> </div>
<div style="margin-bottom: 5px;">
<strong> <a href="https://www.slideshare.net/alexrhack/connected-disconnected-apps-with-azure-mobile-apps" target="_blank" title="Connected & Disconnected Apps With Azure Mobile Apps">Connected & Disconnected Apps With Azure Mobile Apps</a> </strong> from <strong><a href="https://www.slideshare.net/alexrhack" target="_blank">Alejandro Ruiz Varela</a></strong> </div>
<br />
Ha sido una experiencia muy gratificante poder compartir nuestras experiencia de desarrollo y conocimientos a los casi 100 asistentes de diferentes comunidades y niveles de expertise en desarrollo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg8ALVVbH5xDqsyzro-acfI7ZCZwnkPipHsulpeB1sF1khuNVfqA3qnnBtGTH4uxjrxuPH6QI4C1SrhkOG3bfY9XqnrLgX1M15HCO5SQzx2mF1_rRoRwJMlGRtv0_eujP3IGwLbuyj7lM/s1600/IMG_6145.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg8ALVVbH5xDqsyzro-acfI7ZCZwnkPipHsulpeB1sF1khuNVfqA3qnnBtGTH4uxjrxuPH6QI4C1SrhkOG3bfY9XqnrLgX1M15HCO5SQzx2mF1_rRoRwJMlGRtv0_eujP3IGwLbuyj7lM/s400/IMG_6145.JPG" width="400" /></a></div>
<br />
<div style="text-align: center;">
Hector Perez <a href="https://twitter.com/hprez">@hprez</a> - "Introducción a Xamarin"</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCTUYoSVrQYsZb1-om7RKMMrwNqo234wnuV2iyCu3dv95r44sEwsl2V8LeAzyRpWlV2ubL2lrkxcHq6zjqHDrz_GL-JmdssR325cUOZSSL63_p7J-h4NRv1h5jNOD7fTLoC673kQ2TVDk/s1600/IMG_6146.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCTUYoSVrQYsZb1-om7RKMMrwNqo234wnuV2iyCu3dv95r44sEwsl2V8LeAzyRpWlV2ubL2lrkxcHq6zjqHDrz_GL-JmdssR325cUOZSSL63_p7J-h4NRv1h5jNOD7fTLoC673kQ2TVDk/s400/IMG_6146.JPG" width="400" /></a></div>
<br />
<div style="text-align: center;">
<span style="text-align: start;">Humberto Jaimes </span><a href="https://twitter.com/HJaimesDev" style="text-align: start;">@HJaimesDev</a> - "Xamarin.Forms"</div>
<div style="text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhodS9Eb2DXvA7hJh5yzA9wqIphZrEgdtjG3oeJyOU-4Pxu7LoSVesN4HPY_EE71S2DClIC32cpqPhF9iquSrU7X-vipXdYzG6viwtRZ8gmj6UxyFBlrcIx66XfBM9_4SNqGwf3UP4kbfE/s1600/IMG_6311.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhodS9Eb2DXvA7hJh5yzA9wqIphZrEgdtjG3oeJyOU-4Pxu7LoSVesN4HPY_EE71S2DClIC32cpqPhF9iquSrU7X-vipXdYzG6viwtRZ8gmj6UxyFBlrcIx66XfBM9_4SNqGwf3UP4kbfE/s400/IMG_6311.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Alejandro Ruiz <a href="https://twitter.com/alejandroruizva">@alejandroruizva</a> - "Connected & Disconnected Apps With Azure Mobile Apps"</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1lcMmLvrTRNeREtMqIfImKG9gcwurC0kA1bNckFuYqFDJxJeXR-QZT2hHH2UjUANCuBuPuy4BhDQz6XmUVN7-Lhb0YTkxHPEE6u2uZhfzZwcjTclZuiqJoZj-BVAON3jVM5PoNFOB9pU/s1600/IMG_6149.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1lcMmLvrTRNeREtMqIfImKG9gcwurC0kA1bNckFuYqFDJxJeXR-QZT2hHH2UjUANCuBuPuy4BhDQz6XmUVN7-Lhb0YTkxHPEE6u2uZhfzZwcjTclZuiqJoZj-BVAON3jVM5PoNFOB9pU/s400/IMG_6149.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Alejandro Ruiz <a href="https://twitter.com/alejandroruizva">@alejandroruizva</a> - Hector Perez <a href="https://twitter.com/hprez">@hprez</a> - Humberto Jaimes <a href="https://twitter.com/HJaimesDev">@HJaimesDev</a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
<div style="text-align: center;">
<iframe allowtransparency="true" frameborder="0" height="280" scrolling="no" src="https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2Fradiotec.tuxtla%2Fvideos%2F1446626145362505%2F&width=500&show_text=false&appId=452370754922617&height=280" style="border: none; overflow: hidden;" width="500"></iframe>
</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: center;">
<a href="http://www.elsoldechiapas.com/nota.php?sec=1&id=18559">http://www.elsoldechiapas.com/nota.php?sec=1&id=18559</a></div>
Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-33852194930572067012016-10-17T14:40:00.002-05:002016-10-17T14:40:49.110-05:00Fix for INSTALL_FAILED_DEXOPT for Android on Xamarin Studio MacNote: This fix will work only for PCL Xamarin Forms Projects<br />
<br />
refer to this pages to see the issue<br />
<br />
<a href="http://forums.xamarin.com/discussion/comment/228072">http://forums.xamarin.com/discussion/comment/228072</a><br />
<br />
<a href="http://stackoverflow.com/questions/39492901/deployment-failed-because-of-an-internal-error-failure-install-failed-dexopt/40092375#40092375">http://stackoverflow.com/questions/39492901/deployment-failed-because-of-an-internal-error-failure-install-failed-dexopt/40092375#40092375</a><br />
<br />
<br />
the fix is pretty easy:<br />
<br />
1- remove this next 3 libs(and his dependencies)** from your Android project<br />
<br />
<pre style="background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;"><code style="border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;">Microsoft.Net.Http
Microsoft.Bcl
Microsoft.Bcl.Build</code></pre>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimogrBr577kq5ty3fEghQ3RZqvKcrA76CgqY6ydBZkNg8jeULsDJyhBC3n6J_ht0DnCDP5fd8F2DZV1pXmE3hYcEwX8_ZyhTPoslqNBw1ZutzXh2cR5mwoYfzf68G7REd9gZQg5jZNMDk/s1600/Screen+Shot+2016-10-17+at+12.54.19+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimogrBr577kq5ty3fEghQ3RZqvKcrA76CgqY6ydBZkNg8jeULsDJyhBC3n6J_ht0DnCDP5fd8F2DZV1pXmE3hYcEwX8_ZyhTPoslqNBw1ZutzXh2cR5mwoYfzf68G7REd9gZQg5jZNMDk/s400/Screen+Shot+2016-10-17+at+12.54.19+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
2- Add System.Net.Http reference Manually <span style="background-color: white; color: #242729; font-family: "arial" , "helvetica neue" , "helvetica" , sans-serif; font-size: 15px;">via "References/All/System.Net.Http"</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="background-color: white; color: #242729; font-family: "arial" , "helvetica neue" , "helvetica" , sans-serif; font-size: 15px;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Sro_KLgV974dZAXrdOrU4zbMu_K5y3AB45Ng3M67j-I-ImVFmMsplXMO5BXKqJaa-K4e79Uj8mPsZnUHVpJHCUCQ4rcznFLZx-onEzgsyDO5ITk4T5aVC9nfqgebMVHQl8ViZLRFNIY/s1600/Screen+Shot+2016-10-17+at+2.18.09+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="378" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5Sro_KLgV974dZAXrdOrU4zbMu_K5y3AB45Ng3M67j-I-ImVFmMsplXMO5BXKqJaa-K4e79Uj8mPsZnUHVpJHCUCQ4rcznFLZx-onEzgsyDO5ITk4T5aVC9nfqgebMVHQl8ViZLRFNIY/s400/Screen+Shot+2016-10-17+at+2.18.09+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="background-color: white; color: #242729; font-family: "arial" , "helvetica neue" , "helvetica" , sans-serif; font-size: 15px;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="background-color: white; color: #242729; font-family: "arial" , "helvetica neue" , "helvetica" , sans-serif; font-size: 15px;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="background-color: white; color: #242729; font-family: "arial" , "helvetica neue" , "helvetica" , sans-serif; font-size: 15px;">now you're able to debug your app even using Shared Mono Runtime / Fast Assembly Development</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="background-color: white; color: #242729; font-family: "arial" , "helvetica neue" , "helvetica" , sans-serif; font-size: 15px;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsT9cc4EhUiq0D4Vgu4i4bDcIa5E4Won4Dl7Y9Gn9X_zWSf_hY99RmRv6MNpY3yKvew8NhYaytdhBHRlFq-kmSdzjeB73ZLh9aPHltkItsTZIzRwsCJhR6p1fBHUH5AYEjKuCrKn6fjKo/s1600/Screen+Shot+2016-10-17+at+2.38.48+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsT9cc4EhUiq0D4Vgu4i4bDcIa5E4Won4Dl7Y9Gn9X_zWSf_hY99RmRv6MNpY3yKvew8NhYaytdhBHRlFq-kmSdzjeB73ZLh9aPHltkItsTZIzRwsCJhR6p1fBHUH5AYEjKuCrKn6fjKo/s400/Screen+Shot+2016-10-17+at+2.38.48+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="background-color: white; color: #242729; font-family: "arial" , "helvetica neue" , "helvetica" , sans-serif; font-size: 15px;"><br /></span></div>
<br />
<br />
**It suppose that Microsoft.Bcl, Bcl.Build and Microsoft.Net.Http and his dependencies are no mandatory to have it into you Android App Project it will work by adding them only for your PCL<br />
<br />
if you have any doubt dont forget that you can contact me by email on <a href="mailto:alejandro@alejandroruizvarela.com">alejandro@alejandroruizvarela.com</a>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com0tag:blogger.com,1999:blog-2019348300304776557.post-82606627040425707302016-10-13T20:25:00.000-05:002016-10-13T20:25:53.217-05:004th Round: Get immersed into the Xamarin Development pt. 3 - "Cycle 8, Android Nougat & iOS 10" for Monkeys<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhJBU6v4bOPi6vYbhodpJL8EYPIoazUINfTRfjAc10tl3p2giC50x8XcgmKp0D5Omm1oZv_lo0zIiktDloKTCDdX09rucGCWhQZXRUMzlLROx3AJxi-YGXaO9rgBE6cuubNRqWFD5m9nI/s1600/14671206_1194640903914932_3505449594007342713_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhJBU6v4bOPi6vYbhodpJL8EYPIoazUINfTRfjAc10tl3p2giC50x8XcgmKp0D5Omm1oZv_lo0zIiktDloKTCDdX09rucGCWhQZXRUMzlLROx3AJxi-YGXaO9rgBE6cuubNRqWFD5m9nI/s400/14671206_1194640903914932_3505449594007342713_n.jpg" width="400" /></a></div>
<br />
<br />
Hey all we have a Meetup the past Oct 13 and we introduce a lot of good new stuff for new Xamarin Cycle 8, Android 7 & iOS in this time I present a talk called "Cycle 8, Android Nougat & iOS 10" for Monkeys which includes all this new amazing and good stuff ill attached the video of the session(in Spanish) and the slides here (in English)<br />
<br />
<br />
<span style="font-size: x-large;"><b>SLIDES</b></span><br />
<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="485" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/IGWBDSiQbvsUuB" style="border-width: 1px; border: 1px solid #ccc; margin-bottom: 5px; max-width: 100%;" width="595"> </iframe> <br />
<div style="margin-bottom: 5px;">
<strong> <a href="https://www.slideshare.net/alexrhack/cycle-8-android-nougat-ios-10-for-monkeys" target="_blank" title=""Cycle 8, Android Nougat & iOS 10" for Monkeys">"Cycle 8, Android Nougat & iOS 10" for Monkeys</a> </strong> from <strong><a href="https://www.slideshare.net/alexrhack" target="_blank">Alejandro Ruiz Varela</a></strong> </div>
<br />
<br />
<b><span style="font-size: x-large;">LIVE SESSION</span></b><br />
<br />
<br />
<iframe allowtransparency="true" frameborder="0" height="281" scrolling="no" src="https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2Fxamarinos%2Fvideos%2F1422240314456276%2F&width=500&show_text=false&appId=452370754922617&height=281" style="border: none; overflow: hidden;" width="500"></iframe>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1tag:blogger.com,1999:blog-2019348300304776557.post-21411657025605930122016-09-17T15:25:00.000-05:002016-09-17T15:27:48.066-05:00Fix for Xamarin.Android Binding: missing class error was raised while reflecting<br />
<div style="text-align: center;">
<span style="font-size: large;">Fix for Xamarin.Android Binding: missing class error was raised while reflecting</span></div>
<div style="text-align: center;">
<span style="font-size: large;"><br /></span></div>
<div style="text-align: left;">
Since latest version of Xamarin.Android was released it force to use Java 8 for Xamarin.Android projects which introduced a new issue on some binding libraries while doing some internal reflection things this is solved very easy by adding the next node into your binding .csproj file</div>
<div style="text-align: left;">
<br /></div>
<PropertyGroup><br />
<JavaOptions>$(JavaOptions) -noverify </JavaOptions><br />
</PropertyGroup>Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com0tag:blogger.com,1999:blog-2019348300304776557.post-35560227893876642582016-08-04T17:39:00.001-05:002018-07-24T23:21:55.672-05:00Xamarin.Forms: Add Credit/Debit Card Reader to you App with PayPal.Forms<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h2 style="text-align: center;">
Xamarin.Forms: Add Credit/Debit Card Reader to you App with PayPal.Forms</h2>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTqEZ37syP3tVEr-ULgUMLS-fvqbyJuW8BlXwEk54lOWegPpPbdbMReL5ny2HB4e6LEYPbqyw6fcULcwy-EfPujIU36uxdqymVlzmArrBwGMhmniCtDfYgkOCO6APx2NHQzRmoBWHDwP8/s1600/cardio.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTqEZ37syP3tVEr-ULgUMLS-fvqbyJuW8BlXwEk54lOWegPpPbdbMReL5ny2HB4e6LEYPbqyw6fcULcwy-EfPujIU36uxdqymVlzmArrBwGMhmniCtDfYgkOCO6APx2NHQzRmoBWHDwP8/s400/cardio.jpg" width="400" /></a></div>
<span id="goog_1274894914"></span><span id="goog_1274894915"></span><br />
<br />
Hello today I'll show how easily is to add a card scanner into your Xamarin.Forms(Android, iOS) app with only a few lines of code using the <a href="https://www.nuget.org/packages/PayPal.Forms">PayPal.Forms</a> Library.<br />
<br />
First at all we need to add PayPal.Forms to all of your projects(Android, iOS and PCL-Forms) by searching for "PayPal.Forms" in nuget packages manager or running next command on a nuget packages console "Install-Package PayPal.Forms"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUkTawKpPCO43gtDezhZk0ICduqP8OW-7WAQNzuiekj_doSUb1f6AUAkRpC2C4ZrLAbuE8eOGRdz22DcKnvw89ARmD2X4Pu_BHwdG92yBbNQ_k3zFRZ1f67A4OSoVA97sEbwltnxydqvc/s1600/Screen+Shot+2018-07-24+at+11.19.19+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="540" data-original-width="823" height="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUkTawKpPCO43gtDezhZk0ICduqP8OW-7WAQNzuiekj_doSUb1f6AUAkRpC2C4ZrLAbuE8eOGRdz22DcKnvw89ARmD2X4Pu_BHwdG92yBbNQ_k3zFRZ1f67A4OSoVA97sEbwltnxydqvc/s640/Screen+Shot+2018-07-24+at+11.19.19+PM.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
Second on our Android app we need to add a few lines of code for permissions and features inside our "AndroidManifest.xml"<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/bc98f55c1c8ba8c6e3f2fc5816d0a87a.js"></script>
<br />
<br />
<h3 style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 1.25em; line-height: 1.25; margin-bottom: 16px; margin-top: 24px;">
VERY IMPORTANT FOR IOS 10 IF YOU WANT TO USE THE CAMERA FEATURES</h3>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; margin-bottom: 16px;">
Add "NSCameraUsageDescription" into you Info.plist file.</div>
<pre style="background-color: #f7f7f7; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 14px; line-height: 1.45; margin-bottom: 16px; overflow: auto; padding: 16px; word-wrap: normal;"><code style="background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 0px; box-sizing: border-box; display: inline; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; line-height: inherit; margin: 0px; overflow: visible; padding: 0px; word-break: normal; word-wrap: normal;"><key>NSCameraUsageDescription</key>
<string>We will use your camera to scan the credit card</string></code></pre>
<br />
After this now we're able to configure PayPal.Forms init calls inside our MainActivity.cs(Android) and AppDelegate.cs(iOS)<br />
<br />
Call just CrossPayPalManager.Init(); just after call Forms.Init ();<br />
<br />
***NOTE: if you plan to use only card scanner you can use init PayPal Config as follow***<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/1537e4bd7d779d2290c8cb4c1209d1ea.js"></script>
<br />
If the configuration is getting fine now we can use the scan method CrossPayPalManager.Current.ScanCard();<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/1856295a03012da96bb7810043c68fb6.js"></script>
<br />
Optional Parameter:<br />
<br />
- <span style="color: #3364a4; font-family: "menlo";">CardIOLogo</span><br />
<span style="color: #3364a4; font-family: "menlo";">-- </span><span style="color: #222222; font-family: "menlo";">PayPal: Display PayPal Logo in the Scanner Page</span><br />
<span style="color: #222222; font-family: "menlo";">-- </span><span style="color: #222222; font-family: "menlo";">CardIO: Display CardIO Logo in the Scanner Page</span><br />
<span style="color: #222222; font-family: "menlo";">-- </span><span style="color: #222222; font-family: "menlo";">None: Hide Brand Logo in the Scanner Page</span><br />
<br />
Result Data:<br />
<br />
-<span style="color: #3364a4; font-family: "menlo";">ScanCardResult</span><br />
<span style="font-family: "menlo";"><span style="color: #222222;"></span><span style="color: #222222;">-- Status (</span></span><span style="color: #222222; font-family: "menlo";">Successful</span><span style="color: #222222; font-family: "menlo";">, </span><span style="color: #222222; font-family: "menlo";">Cancelled</span><span style="color: #222222; font-family: "menlo";">, </span><span style="color: #222222; font-family: "menlo";">Error</span><span style="font-family: "menlo";"><span style="color: #222222;">)</span></span><br />
<span style="color: #222222; font-family: "menlo";">-- Card:</span><br />
<span style="font-family: "menlo";"><span style="color: #222222;"></span><span style="color: #222222;">--- Scaned: Returns true if card was scanned or false if the card was input by hand by user</span></span><br />
<span style="font-family: "menlo";"><span style="color: #222222;"></span><span style="color: #222222;">--- RedactedCardNumber: </span></span><span style="color: #222222; font-family: "menlo";">Give you the card number with next format **** </span><span style="color: #222222; font-family: "menlo";">**** **** 1234.</span><br />
<span style="font-family: "menlo";"><span style="color: #222222;">--- </span></span><span style="color: #222222; font-family: "menlo";">PostalCode: </span><span style="color: #222222; font-family: "menlo";">Give you the card postal code(if is requerid).</span><br />
<span style="color: #222222; font-family: "menlo";">--- </span><span style="color: #222222; font-family: "menlo";">ExpiryYear: </span><span style="color: #222222; font-family: "menlo";">Give you the card expiry year.</span><br />
<span style="color: #222222; font-family: "menlo";">--- </span><span style="color: #222222; font-family: "menlo";">ExpiryMonth: </span><span style="color: #222222; font-family: "menlo";">Give you the card expiry month.</span><br />
<span style="color: #222222; font-family: "menlo";">--- </span><span style="color: #222222; font-family: "menlo";">Cvv: </span><span style="color: #222222; font-family: "menlo";">Give you the card cvv.</span><br />
<span style="color: #222222; font-family: "menlo";">--- </span><span style="color: #222222; font-family: "menlo";">CardType (</span><span style="color: #222222; font-family: "menlo";">Unrecognized, </span><span style="color: #222222; font-family: "menlo";">Ambiguous, </span><span style="color: #222222; font-family: "menlo";">Amex, </span><span style="color: #222222; font-family: "menlo";">Jcb, </span><span style="color: #222222; font-family: "menlo";">Visa, </span><span style="color: #222222; font-family: "menlo";">Mastercard, </span><span style="color: #222222; font-family: "menlo";">Discover</span><span style="color: #222222; font-family: "menlo";">)</span><br />
<span style="color: #222222; font-family: "menlo";">--- </span><span style="color: #222222; font-family: "menlo";">CardNumber: Give you the card number.</span><br />
<span style="color: #222222; font-family: "menlo";">--- </span><span style="color: #222222; font-family: "menlo";">CardImage: Forms ImageSource with Scanned Card Image.</span><br />
<span style="color: #222222; font-family: "menlo";"><br /></span>
Hope that this can help you to create and awesome Forms app now i invite you to play with it and also remember that this lib also can help you to implement PayPal Mobile SDK Frameworks for more information and examples take a look to my PayPal.Forms repository on Github:<br />
<br />
<a href="https://github.com/AlejandroRuiz/PayPal.Forms">https://github.com/AlejandroRuiz/PayPal.Forms</a><br />
<br />
In the future we will continue with this post series to allow you monetize your Xamarin.Forms easily Happy Code DevsAlejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com6tag:blogger.com,1999:blog-2019348300304776557.post-79136003675036669032016-02-02T20:38:00.002-06:002016-02-02T20:40:12.395-06:00Xamarin Forms: FloatingTextEntry ControlThis is a very beautiful extended Entry control for Xamarin.Forms that allows devs display TextInputLayout(Material Design)-like<br />
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4rN1WIiIxIvSWIAlc3hxBTUkvfsDrgWqePLoBbNeCfcsTfJmOvMFD28KhMeFxSk-gKmXCX8mim5uSsV04iXJrcXiJb43LVhVqjstsV3WmWj5U8Hg_QzR9ZBulx3DKKzl2AP9B-D7vF3Y/s1600/9223e2207d_EES16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="69" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4rN1WIiIxIvSWIAlc3hxBTUkvfsDrgWqePLoBbNeCfcsTfJmOvMFD28KhMeFxSk-gKmXCX8mim5uSsV04iXJrcXiJb43LVhVqjstsV3WmWj5U8Hg_QzR9ZBulx3DKKzl2AP9B-D7vF3Y/s320/9223e2207d_EES16.png" width="320" /></a></div>
<div>
<br /></div>
</div>
<div>
this is the control usage and setup:<br />
<br />
<script src="https://gist.github.com/AlejandroRuiz/925eab7871826ecf0cf6.js"></script>
</div>
And the result is the next:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1C5U5hUzM8z98OcNf7OalWc-mgUL4UxCYzRd38oVdBaPidPypHN7IXRrThcXAPv_dLfOBzFcnbpLiDCmHaq9kq9GwB5gchYDsRaDFDn1pLxiW2Ll51Xs1n0sLxDHRTaN9hONKTCMUbl0/s1600/AndroidTest.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1C5U5hUzM8z98OcNf7OalWc-mgUL4UxCYzRd38oVdBaPidPypHN7IXRrThcXAPv_dLfOBzFcnbpLiDCmHaq9kq9GwB5gchYDsRaDFDn1pLxiW2Ll51Xs1n0sLxDHRTaN9hONKTCMUbl0/s320/AndroidTest.gif" width="192" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuOmULweWU_DswdfaNx_W66TaZImLqiIn563O5qoNN8JtHgjU_lL8Cy2IJtiQ5kgAn-bAF3IujpFJSaGS5K8xshmubvV29XspbgclJ7SH3WjctnQ7qiPHJaCvJrHnadz4-_W8kNzjmzyc/s1600/iOSTest.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuOmULweWU_DswdfaNx_W66TaZImLqiIn563O5qoNN8JtHgjU_lL8Cy2IJtiQ5kgAn-bAF3IujpFJSaGS5K8xshmubvV29XspbgclJ7SH3WjctnQ7qiPHJaCvJrHnadz4-_W8kNzjmzyc/s320/iOSTest.gif" width="176" /></a></div>
<br />
<br />
Download the code source from here:<br />
<a href="https://github.com/AlejandroRuiz/FloatingTextEntry">https://github.com/AlejandroRuiz/FloatingTextEntry</a><br />
<div>
</div>
Alejandro Ruizhttp://www.blogger.com/profile/02339751054134524870noreply@blogger.com1