Card Layout Engine

This example demonstrates the DataViews Card Layout Engine.

This example demonstrates the DataViews Card Layout Engine. The card layout engine places each row in a defined block, or card. Each card is formatted in a row template and placed in a cell in a layout grid. This example shows two forms of card layout: a typical grid and a list. Use the buttons on the top right to switch between the two. In this sample, the following code is used to initialize the object: Note the following: A reference cardlayout.js is used. The key component is the CardLayout constructor. It loads the card layout engine. The rowTemplate option names the <template> element that lays out the cards. The direction option determines how the cards are arranged.
<!DOCTYPE html> <html lang="en"> <head> <base href="/dataviewsjs/demos/en/sample/DataViews/Card/CardLayoutEngine/purejs/" /> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="description" content="This example demonstrates the DataViews Card Layout Engine." /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Card Layout Engine | Data Views | MESCIUS DataViewsJS JavaScript Demos</title> <link href="/dataviewsjs/demos/node_modules/normalize.css/normalize.css" rel="stylesheet" type="text/css" /> <link href="/dataviewsjs/demos/static/css/base.css" rel="stylesheet" type="text/css" /> <link href="/dataviewsjs/demos/static/css/bootstrap-snippet.min.css" rel="stylesheet" type="text/css" /> <link href="/dataviewsjs/demos/static/dataviews/gc.dataviews.core.min.css" rel="stylesheet" type="text/css" /> <link href="/dataviewsjs/demos/static/dataviews/gc.dataviews.cardlayout.min.css" rel="stylesheet" type="text/css" /> <link href="styles.css" rel="stylesheet" type="text/css" /> <script src="/dataviewsjs/demos/static/js/app-polyfills.min.js" type="text/javascript"></script> <script type="text/javascript"> window.process = { env: { NODE_ENV: 'production', USE_NPM: false, USE_CDN: false, SITE_ROOT: '/dataviewsjs/demos', FRAMEWORK: 'purejs', DVJS_LICENSE_KEY: 'E348418822993781#B0EWvwY4dNNVQqJHUDpFROVWe5ZWNYFlVQFmRsJWRht4Z6lDO4Vla7YUaXhEWxd7Z5YXMuRnY7tWTQRHSlVnaYlXNhlEOpdkZ0FHWYJ5QKd6VXN5aR3ieGhUav9kZTBXWahkYBhEVutmZ72CbjdlZvV5TVdGdiplQsZXe95kUmNmZVF5cJ3mcypWNyx4UydESE3UblxGZyE7KQ94R4BjbUxUewsiaoREMxRDNllWREV6Voh4Q4dDZPRjWrIzUJl4TERXcQZWMHp4Sp9WaMZzN5o6StJmVDJXcwIVVmR6UMVGOlxUW8RmTxZDZTJWVN5GZqJHZuVDMkVGSW3WdxNzKCdDdSB7TzY7cqlnMU5GVyNzNP9WMyhDRvEEOFdkQORDM4dFVlFFWqFWSyMjNQJiOiMlIsISQyIkQ9YjQxIiOigkIsUTM7YjNxYTM0IicfJye&amp;Qf35VfikFVVljI0IyQiwiIxYHITp4c7VWaWFGdhRkI0IiTis7W0ICZyBlIsIiNxUTN6ADI8EDMxMjMwIjI0ICdyNkIsIyc59yc5l6YzVWbuoCLwpmLzVXajNXZt9iKs2WauMXdpN6cl5mLqwSbvNmLzVXajNXZt9iKsAnau26YuMXdpN6cl5mLqwSbvNmL6VGZ9RXajVGchJ7ZuoCLuNmLt36YukHdpNWZwFmcn9iKs46bj9Se4l6YlBXYydmLqwicr9ybj9Se4l6YlBXYydmLqwCcq9ybj9Se4l6YlBXYydmLqIiOiMXbEJCLiMVVJN4UF5kI0ISYONkIsUWdyRnOiwmdFJCLiEDO7MTO9IjM8gTM4gDNzIiOiQWSisnOiQkIsISP3EkVxBVUHFDMplzLlVUdGd7cI9UeIt4SshESzV7NvY7ZxlDOuNTb5tzLr', SJS_LICENSE_KEY: 'E518585142165236#B0wm4nx4QzdlTHRTSOFzcvVnaJdjSnNEeXdTMUtSUzk6bU94QuVXNwZVZjd4SzYjcadXRIVEMzEXTThkVyR7R85UayoHZZBTYQ5mZyh4Shd6VxFXazF4cBNGRG5WTvUGTsV4T6knQYRzKxxUdk9EarplU7d6VLF6KIR7bPJ5N6ZUMWZWaURGRKRDbLJDN5YjSN5mUoxmaxonSD56LEh7Y7RXenpmTvomevZlV9dkaysCO7hTRQFHcGRWQyc5LI9kQmB7QwR4Z7ZHOR3CSXp6SiFWYzFXeXZUSp94K8VDTkFjdwl4KptSYlRWcDxmNE5kS6kzdrkVcNJXROVGbLJkcTNGRzIER8tmd4YGNhh7dxAnMvIHRv46VtBXS4U5KvJ6dZJ6M5p4TxIjd9I5QSpXTTV6SDZXb7lzaL56ZiojITJCLikTQxUTQFV4NiojIIJCLyETO7UzM7kTO0IicfJye&amp;Qf35VfikkR9IkI0IyQiwiIyEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsISNwkTN6ADI8EDMxMjMwIjI0ICdyNkIsIyc59yc5l6YzVWbuoCLwpmLzVXajNXZt9iKs2WauMXdpN6cl5mLqwSbvNmLzVXajNXZt9iKsAnau26YuMXdpN6cl5mLqwSbvNmL6VGZ9RXajVGchJ7ZuoCLuNmLt36YukHdpNWZwFmcn9iKs46bj9Se4l6YlBXYydmLqwicr9ybj9Se4l6YlBXYydmLqwCcq9ybj9Se4l6YlBXYydmLqIiOiMXbEJCLiMVVJN4UF5kI0ISYONkIsUWdyRnOiwmdFJCLiYzMyUjNxIDNxUDO5gTM5IiOiQWSiwSfdtlOicGbmJCLlNHbhZmOiI7ckJye0ICbuFkI1pjIEJCLi4TPRtGOhtWWEFWd4IDOLRVRvx4SyMGcDhTW6n4ep', }, }; </script> <script src="/dataviewsjs/demos/node_modules/jquery/dist/jquery.min.js" type="text/javascript"></script> <script src="/dataviewsjs/demos/node_modules/lodash/lodash.min.js" type="text/javascript"></script> <script src="/dataviewsjs/demos/static/dataviews/gc.dataviews.common.min.js" type="text/javascript"></script> <script src="/dataviewsjs/demos/static/dataviews/gc.dataviews.core.min.js" type="text/javascript"></script> <script src="/dataviewsjs/demos/static/dataviews/gc.dataviews.cardlayout.min.js" type="text/javascript"></script> <script src="/dataviewsjs/demos/static/js/license.js" type="text/javascript"></script> </head> <body class="theme-default"> <noscript>You need to enable JavaScript to run this app.</noscript> <template id="filmDisplay" style="display: none"> <div class="film-container"> <div class="film-cover"> <div data-column="filmCover"></div> </div> <div class="film-content"> <div data-column="filmTitleLink"></div> <div data-column="filmCategory"></div> <div data-column="filmDescription"></div> </div> </div> </template> <template id="filmDisplayList" style="display: none"> <div class="film-container"> <div class="film-cover film-cover-list"> <div data-column="filmCover"></div> </div> <div class="film-content film-content-list"> <div data-column="filmTitleLink"></div> <div data-column="filmCategory"></div> <div data-column="filmDescription"></div> </div> </div> </template> <div class="main-container"> <div class="sample-options"> <div class="btn-group"> <button id="disp-lists" class="btn btn-default display-button"> <span class="demo-icon icon-th-list"></span> </button> <button id="disp-cards" class="btn btn-default display-button active"> <span class="demo-icon icon-th"></span> </button> </div> </div> <div id="grid" class="grid"></div> </div> <script src="data.js" type="text/javascript"></script> <script src="app.js" type="text/javascript"></script> </body> </html>
var filmCoverPresenter = '<img src="{{=it.filmCover.posterUrl}}" alt="{{=it.filmCover.posterTitle}}">'; var filmCoverListPresenter = '<img src="{{=it.filmCover.posterUrl}}" alt="{{=it.filmCover.posterTitle}}" class="poster-list-resize">'; var filmCategoryPresenter = '<div>\n <span class="film-certification"><b>{{=it.filmCategory.certification}}</b></span>\n <span class="film-time">{{=it.filmCategory.time}} min - </span>\n <span class="film-genre">{{=it.filmCategory.genre}}</span>\n</div>'; var filmCategoryListPresenter = '<span class="film-genre">{{=it.filmCategory.genre}}</span>\n<div>\n <span class="film-time">{{=it.filmCategory.time}} min </span>\n <span class="film-certification"><b>{{=it.filmCategory.certification}}</b></span>\n</div>'; var filmTitleLinkPresenter = '<a href="{{=it.filmTitleLink.link}}" class="film-title-link"><b>{{=it.filmTitleLink.title}}</b></a>'; var filmDescriptionPresenter = '<div class="film-description">{{=it.filmDescription}}</div>'; var filmDescriptionListPresenter = '<div class="film-description-list">{{=it.filmDescription}}</div>'; var cols = function cols(asList) { return [ { id: 'filmCover', dataField: 'filmCover', presenter: asList ? filmCoverListPresenter : filmCoverPresenter, }, { id: 'filmTitleLink', dataField: 'filmTitleLink', presenter: filmTitleLinkPresenter, }, { id: 'filmCategory', dataField: 'filmCategory', presenter: asList ? filmCategoryListPresenter : filmCategoryPresenter, }, { id: 'filmDescription', dataField: 'filmDescription', presenter: asList ? filmDescriptionListPresenter : filmDescriptionPresenter, }, ]; }; var cardLayoutOptions = { cardHeight: 250, cardWidth: 290, rowTemplate: '#filmDisplay', direction: 'horizontal', }; var listLayoutOptions = { cardHeight: 125, cardWidth: 650, rowTemplate: '#filmDisplayList', direction: 'horizontal', }; function display(asList) { $('#disp-lists').removeClass('active'); $('#disp-cards').removeClass('active'); if (asList) { $('#disp-lists').addClass('active'); } else { $('#disp-cards').addClass('active'); } dataView.columns = cols(asList); dataView.scrollOffset = { viewport: { top: 0, left: 0, }, }; var options = asList ? listLayoutOptions : cardLayoutOptions; _.assign(dataView.layoutEngine.options, options); dataView.invalidate(); } var dataView = new GC.DataViews.DataView( document.getElementById('grid'), data, cols(false), new GC.DataViews.CardLayout(cardLayoutOptions) ); $('#disp-lists').click(function () { return display(true); }); $('#disp-cards').click(function () { return display(false); });
// films dataset var SITE_ROOT = window.process.env.SITE_ROOT; var data = [ { filmCover: { posterUrl: SITE_ROOT + '/images/True_Story.jpg', posterTitle: 'True Story (2015)', }, filmTitleLink: { title: 'True Story (2015)', link: '#', }, filmCategory: { certification: 'R', time: '100', genre: 'Drama | Mystery | Thriller', }, filmDescription: "The relationship between journalist Michael Finkel and Christian Longo, an FBI Most Wanted List murderer who for years lived outside the U.S. under Finkel's name.", filmDirector: 'Rupert Goold', filmActors: ' James Franco, Jonah Hill, Felicity Jones, Ethan Suplee', filmTimes: '2015', filmType: 'mystery', }, { filmCover: { posterUrl: SITE_ROOT + '/images/Ex_Machina.jpg', posterTitle: 'Ex Machina (2015)', }, filmTitleLink: { title: 'Ex Machina (2015)', link: '#', }, filmCategory: { certification: 'R', time: '108', genre: 'Drama | Sci-Fi', }, filmDescription: 'A young programmer is selected to participate in a breakthrough experiment in artificial intelligence by evaluating the human qualities of a breathtaking female A.I.', filmDirector: 'Alex Garland', filmActors: 'Alicia Vikander, Domhnall Gleeson, Oscar Isaac, Corey Johnson', filmTimes: '2015', filmType: 'sci-fi', }, { filmCover: { posterUrl: SITE_ROOT + '/images/Desert_Dancer.jpg', posterTitle: 'Desert Dancer (2014)', }, filmTitleLink: { title: 'Desert Dancer (2014)', link: '#', }, filmCategory: { certification: 'PG-13', time: '98', genre: 'Biography | Drama', }, filmDescription: "Afshin Ghaffarian risks everything to start a dance company amidst his home country of Iran's politically volatile climate and the nation's ban on dancing.", filmDirector: 'Richard Raymond', filmActors: 'Freida Pinto, Nazanin Boniadi, Tom Cullen, Reece Ritchie', filmTimes: '2014', filmType: 'biography', }, { filmCover: { posterUrl: SITE_ROOT + '/images/Clouds_of_Sils_Maria.jpg', posterTitle: 'Clouds of Sils Maria (2014)', }, filmTitleLink: { title: 'Clouds of Sils Maria (2014)', link: '#', }, filmCategory: { certification: 'R', time: '104', genre: 'Drama', }, filmDescription: 'A veteran actress comes face-to-face with an uncomfortable reflection of herself when she agrees to take part in a revival of the play that launched her career 20 years earlier.', filmDirector: 'Olivier Assayas', filmActors: 'Juliette Binoche, Kristen Stewart, Chloë Grace Moretz, Lars Eidinger', filmTimes: '2014', filmType: 'documentary', }, { filmCover: { posterUrl: SITE_ROOT + '/images/Kill_Me_Three_Times.jpg', posterTitle: 'Kill Me Three Times (2014)', }, filmTitleLink: { title: 'Kill Me Three Times (2014)', link: '#', }, filmCategory: { certification: 'R', time: '90', genre: 'Action | Thriller', }, filmDescription: 'Professional hit-man Charlie Wolfe finds himself in three tales of murder, blackmail and revenge after a botched contract assignment.', filmDirector: 'Kriv Stenders', filmActors: 'Simon Pegg, Teresa Palmer, Alice Braga, Luke Hemsworth', filmTimes: '2014', filmType: 'action', }, { filmCover: { posterUrl: SITE_ROOT + '/images/Self_Less.jpg', posterTitle: 'Self/less (2015)', }, filmTitleLink: { title: 'Self/less (2015)', link: '#', }, filmCategory: { certification: 'PG-13', time: '120', genre: 'Drama | Sci-Fi | Thriller', }, filmDescription: 'An extremely wealthy man, dying from cancer, undergoes a radical medical procedure transferring his consciousness into the body of a healthy young man. But all is not as it seems.', filmDirector: 'Tarsem Singh', filmActors: 'Ryan Reynolds, Matthew Goode, Michelle Dockery', filmTimes: '2015', filmType: 'sci-fi|thriller', }, { filmCover: { posterUrl: SITE_ROOT + '/images/Unfirended.jpg', posterTitle: 'Unfriended (2014)', }, filmTitleLink: { title: 'Unfriended (2014)', link: '#', }, filmCategory: { certification: 'R', time: '82', genre: 'Horror | Thriller', }, filmDescription: 'A group of online chat room friends find themselves haunted by a mysterious, supernatural force using the account of their dead friend.', filmDirector: 'Levan Gabriadze', filmActors: 'Cal Barnes, Matthew Bohrer, Courtney Halverson, Shelley Hennig', filmTimes: '2014', filmType: 'horror|thriller', }, { filmCover: { posterUrl: SITE_ROOT + '/images/Paul_Blart_Mall_Cop_2.jpg', posterTitle: 'Paul Blart: Mall Cop 2 (2015)', }, filmTitleLink: { title: 'Paul Blart: Mall Cop 2 (2015)', link: '#', }, filmCategory: { certification: 'PG', time: '94', genre: 'Action | Comedy', }, filmDescription: 'After six years of keeping our malls safe, Paul Blart has earned a well-deserved vacation. Safety never takes a holiday and when duty calls.', filmDirector: 'Andy Fickman', filmActors: 'Kevin James, Raini Rodriguez, Eduardo Verástegui, Daniella Alonso', filmTimes: '2015', filmType: 'action', }, { filmCover: { posterUrl: SITE_ROOT + '/images/The_Longest_Ride.jpg', posterTitle: 'The Longest Ride (2015)', }, filmTitleLink: { title: 'The Longest Ride (2015)', link: '#', }, filmCategory: { certification: 'PG-13', time: '139', genre: 'Drama | Romance', }, filmDescription: "The lives of a young couple intertwine with a much older man as he reflects back on a lost love while he's trapped in an automobile crash.", filmDirector: 'George Tillman Jr.', filmActors: 'Scott Eastwood, Britt Robertson, Melissa Benoist, Jack Huston', filmTimes: '2015', filmType: 'romance', }, { filmCover: { posterUrl: SITE_ROOT + '/images/Child_44.jpg', posterTitle: 'Child 44 (2015)', }, filmTitleLink: { title: 'Child 44 (2015)', link: '#', }, filmCategory: { certification: 'R', time: '137', genre: 'Drama | Thriller', }, filmDescription: 'A disgraced member of the military police investigates a series of nasty child murders during the Stalin-era Soviet Union.', filmDirector: 'Daniel Espinosa', filmActors: 'Tom Hardy, Gary Oldman, Joel Kinnaman, Noomi Rapace', filmTimes: '2015', filmType: 'thriller', }, { filmCover: { posterUrl: SITE_ROOT + '/images/Monkey_Kindom.jpg', posterTitle: 'Monkey Kingdom (2015)', }, filmTitleLink: { title: 'Monkey Kingdom (2015)', link: '#', }, filmCategory: { certification: 'G', time: '78', genre: 'Documentary', }, filmDescription: 'A nature documentary that follows a newborn monkey and its mother as they struggle to survive within the competitive social hierarchy of the Temple Troop.', filmDirector: 'Mark Linfield | Alastair Fothergill', filmActors: 'Tina Fey', filmTimes: '2015', filmType: 'documentary', }, ];
@charset "UTF-8"; @font-face { font-family: "spreadview-demo-icon"; src: url(data:application/font-woff;base64,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) format("woff"); } .demo-icon { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; font-family: "spreadview-demo-icon"; font-style: normal; font-variant: normal; text-align: center; text-transform: none; } .icon-th:before { content: "\e800"; } /* '' */ .icon-th-list:before { content: "\e801"; } /* '' */ .main-container { display: flex; flex-direction: column; width: 100%; height: 100%; } .sample-options { flex-grow: 0; flex-shrink: 0; display: flex; background: #fbfbfb; box-sizing: border-box; overflow: hidden; padding: 10px; } .grid { width: 100%; height: calc(100% - 54px); flex-grow: 1; flex-shrink: 1; } .gc-grid { border: 0; } .film-container { background: #f1f1f1; border: solid 1px #e0e0e0; border-radius: 2px; margin-right: 1em; max-height: 210px; overflow: hidden; } .film-cover { display: inline-block; margin-right: 1em; vertical-align: top; } .film-content { display: inline-block; padding: 0.4em 0; vertical-align: top; width: 40%; } .film-content-list { width: 87%; } .c1 { margin-bottom: 0.4em; } .c2 { color: #666; font-size: 10px; margin-bottom: 0.4em; text-transform: uppercase; } .film-description { font-size: 10px; text-overflow: ellipsis; } .film-content-list { font-size: 10px; text-overflow: ellipsis; } .film-content-list .c2 { justify-content: space-between; } .poster-list-resize { height: 96px; width: auto; } .film-title-link { color: #136cb2; font-size: 13px; text-decoration: none; } .film-title-link:visited { color: #70579d; } .film-title-link:hover { color: #136cb2; text-decoration: underline; } .film-certification { background-color: #ddd; border: 1px solid #aaa; border-radius: 3px; display: inline-block; margin-right: 5px; } @media only screen and (max-width: 768px) { .sample-options { display: none; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFWaWV3cy9DYXJkL0NhcmRMYXlvdXRFbmdpbmUvcHVyZWpzL3N0eWxlcy5jc3MiLCJEYXRhVmlld3MvQ2FyZC9DYXJkTGF5b3V0RW5naW5lL3B1cmVqcy9zdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7RUFDRSxtQ0FBQTtFQUNBLG0yTEFBQTtBREVGO0FDRUE7RUFDRSxrQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUJBQUE7RUFDQSxtQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FEQUY7O0FDR0E7RUFDRSxnQkFBQTtBREFGLEVDQ0UsUUFBQTtBQUVGO0VBQ0UsZ0JBQUE7QURERixFQ0VFLFFBQUE7QUFFRjtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FERkY7O0FDS0E7RUFDRSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0FERkY7O0FDS0E7RUFDRSxXQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtBREZGOztBQ09BO0VBQ0UsU0FBQTtBREpGOztBQ09BO0VBQ0UsbUJBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0FESkY7O0FDT0E7RUFDRSxxQkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7QURKRjs7QUNVQTtFQUNFLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7QURQRjs7QUNVQTtFQUNFLFVBQUE7QURQRjs7QUNVQTtFQUNFLG9CQUFBO0FEUEY7O0FDVUE7RUFDRSxXQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EseUJBQUE7QURQRjs7QUNVQTtFQUNFLGVBQUE7RUFDQSx1QkFBQTtBRFBGOztBQ1VBO0VBQ0UsZUFBQTtFQUNBLHVCQUFBO0FEUEY7QUNTRTtFQUNFLDhCQUFBO0FEUEo7O0FDYUE7RUFDRSxZQUFBO0VBQ0EsV0FBQTtBRFZGOztBQ2VBO0VBQ0UsY0FBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtBRFpGOztBQ2VBO0VBQ0UsY0FBQTtBRFpGOztBQ2VBO0VBQ0UsY0FBQTtFQUNBLDBCQUFBO0FEWkY7O0FDaUJBO0VBQ0Usc0JBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtBRGRGOztBQ2lCQTtFQUNFO0lBQ0UsYUFBQTtFRGRGO0FBQ0YiLCJmaWxlIjoiRGF0YVZpZXdzL0NhcmQvQ2FyZExheW91dEVuZ2luZS9wdXJlanMvc3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzcHJlYWR2aWV3LWRlbW8taWNvblwiO1xuICBzcmM6IHVybChkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtiYXNlNjQsZDA5R1JnQUJBQUFBQUJGY0FBOEFBQUFBSGR3QUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJIVTFWQ0FBQUJXQUFBQURNQUFBQkNzUDZ6N1U5VEx6SUFBQUdNQUFBQVF3QUFBRlkrSVVreVkyMWhjQUFBQWRBQUFBQjJBQUFCN2dsUDdRMWpkblFnQUFBQ1NBQUFBQk1BQUFBZ0J0WC9BbVp3WjIwQUFBSmNBQUFGa0FBQUMzQ0trWkJaWjJGemNBQUFCK3dBQUFBSUFBQUFDQUFBQUJCbmJIbG1BQUFIOUFBQUJtWUFBQW9VTHBxeWxHaGxZV1FBQUE1Y0FBQUFNQUFBQURZSm9xZllhR2hsWVFBQURvd0FBQUFkQUFBQUpBYzlBMTFvYlhSNEFBQU9yQUFBQUJnQUFBQXNKNTBBQUd4dlkyRUFBQTdFQUFBQUdBQUFBQmdOTUE5TWJXRjRjQUFBRHR3QUFBQWdBQUFBSUFFaEREWnVZVzFsQUFBTy9BQUFBWGNBQUFMTnpKMGNIbkJ2YzNRQUFCQjBBQUFBYkFBQUFKQzh0OW1oY0hKbGNBQUFFT0FBQUFCNkFBQUFodVZCSzd4NG5HTmdaR0JnNEdLUVk5QmhZSFJ4OHdsaDRHQmdZWUFBa0F4alRtWjZJbEFNeWdQS3NZQnBEaUJtZzRnQ0FJb2pBMDhBZUp4allHU2V4VGlCZ1pXQmdhbUthUThEQTBNUGhHWjh3R0RJeUFRVVpXQmxac0FLQXRKY1V4Z2NYakM4NEdRTytwL0ZFTVVjeERBZEtNd0lrZ01BOGNnTDBRQjRuTzJSMFEzQ1FBeEQzOUZRNkttajhNbEFmREVMbzJhTDFrazlCcEdlcFZpNSs3Q0JPN0NJbHdnWVh3WTFIN21qL1lYWmZ2RHVteWcvdCtPUVVxbzlXbSs2RGYyNDh1REoxdTlXL3JPMy9yek55dTJpa3pSS2p6VFZTSnJLTmsyMWxVWXBrMFo1azBiSmswWWRxS2tMNWdsM1h4dE5BQUI0bkdOZ1FBTVNFTWdjOUQ4VGhBRVNaZ1BiQUhpY3JWWnBkOU5HRkIxNVNaeUVMQ1VMTFdwaHhNUnBzRVltYk1HQUNVR3lZeUJkbksyVm9Jc1VPK20rOFluZjRGL3paTnB6NkRkK1d1OGJMeVNRdE9kd21wT2pkK2ZOMWN6YlpSSmFrdGdMNjVHVW15L0YxTlltamV3OENlbUdUY3RSZkNnN2V5Rmxpc25mQlZFUXJaYmF0eDJIUkVRaVVMV3VzRVFRK3g1Wm1tUjg2RkZHeTdha1YwM0tMVDNwTGx2alFiMVYzMzRhT3NxeE82R2taak4wYUQyeUpWVVlWYUpJcGoxUzBxWmxxUG9yU1N1OHY4TE1WODFRd29oT0ltbThHY2JRU040Ylo3VEthRFcyNHlpS2JMTGNLRklrbXVGQkZIbVUxUkxuNUlvSkRNb0h6WkR5eXFjUjVjUDhpS3pZbzV4V3NFdTIwL3krTDNtbmR6ay9zVjl2VWJia1FCL0lqdXpnN0hRbFg0UmJXMkhjdEpQdEtGUVJkdGQzUW16WjdGVC9aby95bWtZRHR5c3l2ZENNWUtsOGhSQXJQNkhNL2lGWkxaeFArWkpIbzFxeWtSTkI2MlZPN0VzK2dkYmppQ2x4elJoWjBOM1JDUkhVL1pJekRQYVlQaDc4OGQ0cGxnc1RBbmdjeTNwSEpad0lFeWxoY3pSSjJqQnlZQ1ZsaXlxcDlhNllPT1YxV3NSYnduN3QydEdYem1qalVIZGlQRnNQSFZzNVVjbnhhRktubVV5ZDJrbk5veWtOb3BSMEpuak1yd01vUDZKSlhtMWpOWW1WUjlNNFpzYUVSQ0lDTGR4TFUwRXNPN0drS1FUTm94bTl1UnVtdVhZdFdxVEpBL1hjby9mMDVsYTR1ZE5UMmc3MHMwWi9WcWRpT3RnTDArbHA1Qy94YWRybElrWHArdWtaZmt6aVFkWUNNcEV0TnNPVWd3ZHYvUTdTeTllV0hJWFhCdGp1N2ZNcnFIM1dSUENrQWZzYjBCNVAxU2tKVElXWVZZaFdRR0t0YTFtV3lkV3NGcW5JMUhkRG1sYStyTk1FaW5JY0Y4ZStqSEg5WHpNemxwZ1N2dCtKMDdNakxqMXo3VXNJMHh4OG0zVTltdGVweFhJQmNXWjVUcWRabHUvck5NZnlBNTNtV1o3WDZRaExXNmVqTEQvVWFZSGxSem9kWTNsQkM1cDAzOEdRaXpEa0FnNlFNSVNsQTBOWVhvSWhMQlVNWWJrSVExZ1dZUWpMSlJqQzhtTVl3bklaaHJDOHJHWFYxRk5KNDlxWldBWnNRbUJpamg2NXpFWGxhaXE1VkVLN2FGUnFRNTRTYnBWVUZNK3FmMldnWGp6eWhqbXdGa2lYeUpwZk1jNlZqMGJsK05ZVkxXOGFPMWZBc2Vwdkg0NzJPZkZTMW91RlB3WC8xZFpVSmIxaXpjT1RxL0FiaHA1c0o2bzJxWGgwVFpmUFZUMjYvbDlVVkZnTDlCdEloVmdveXJKc2NHY2loSTg2bllacW9KVkR6R3pNUExUcmRjdWFuOFA5TnpGQ0ZsRDkrRGNVR2d2Y2cwNVpTVm50NEt6VjE5dXkzRHVEY2pnVExFa3hOL1A2VnZnaUk3UFNmcEZaeXA2UGZCNXdCWXhLWmRocUE2MFZ2TmtuTVErWjNpVFBCSEZiVVRaSTJ0ak9CSWtOSFBPQWVmT2RCQ1poNnFvTjVFN2hoZzM0QldGdXdYa25YS0o2b3l5SDdrWHM4eWlrL0Z1bjRrVDJxR2lNd0xQWkcyR3Y3MExLYjNFTUpEVDVwWDRNVkJXaHFSZzFGZEEwVW02b0JsL0cyYnB0UXNZTzlDTXFkc095ck9MRHh4YjNsWkp0R1lSOHBJalZvNk9mMWw2aVRxcmNmbVlVbCsrZHZnWEJJRFV4ZjN2ZmRIR1F5cnRheVRKSGJRTlR0eHFWVTllYVErTlZoK3JtVWZXOTQrd1RPV3VhYnJvbkhucGYwNnJid2NWY0xMRDJiUTdTVWlZWDFQVmhoUTJpeThXbFVPcGxORW52dUFjWUZoalE3MUNLamYrcit0aDhuaXRWaGRGeEpOOU8xTGZSNTJBTS9BL1lmMGYxQTlEM1kraHlEUzdQOTVvVG4yNzA0V3lacnFJWDY2Zm9OekJycmJsWnVnYmMwSFFENGlGSHJZNjR5ZzE4cHdaeGVxUzVIT2toNEdQZEZlSUJ3Q2FBeGVBVDNiV001bE1Bby9tTU9UN0E1OHhoMEdRT2d5M21NTmhtemhyQURuTVk3REtId1I1ekdIekJuSFdBTDVuRElHUU9nNGc1REo0d0p3QjR5aHdHWHpHSHdkZk1ZZkFOYys0RGZNc2NCakZ6R0NUTVliQ3Y2ZFl3ekMxZTBGMmd0a0ZWb0FOVFQxamN3K0pRVTJYSS9vNFhodjI5UWN6K3dTQ20vcWpwOXBENkV5OE05V2VEbVBxTFFVejlWZE9kSWZVM1hoanE3d1l4OVErRG1QcE12eGpMWlFhL2pIeVhDZ2VVWFd3KzUrK0o5dy9ieFVDNUFBRUFBZi8vQUE5NG5LVlZXVzhiMXhVKzU5N1pPQnl1bW9XeXlERTNjV3hTa0Z5dWlxeFNsQmZRa3VrRnRwRFFTYVRRanF5MmtHM0pEZUNnNlBhZ3dMWFJKZ0t5RktoYkJBaXN4d2F0K3RLWEFIMW9uN29BYlg1Q0h3SVpSWkduUHJTSXhqMlhZaFU3aWJxZ1E4Njk1N3Zuek15NTV6dm5YQWdBUFA0NzMrRkJpTUJobUlBWnVBQXZ3UnA4RnpiaFFxc1RDekUxYWpDRnEwb3ZFbUE4ckRHR25QV0NNa01BWEJBelFsZVhHQ0IwM3ZqKzNZM3ZmUFBPSzdkV1YxNWVldUhaeStmUDFnWlhKUzZuU3FPV3FhaTViTUdyVmV0T3BXekhDSHNEM0NDTW45RUxYTUk5ZkJ6MzhCZlpmeG4vdmIzUUMvdWhnVjdndnQ1TjI3OXdYS1RSVGo4aDR2Vjk0TGorVHc3UzRNcW5EejVoOWJUaWlaYy91R0VUdEc3UWExeFVWc1hrckFvTC93OVBhRmgrVmRpTHdmLzkvMnFFMnY0NkFDaGZ5TzEwNjVrZ3FqcjJPUTBnMTdEUHFJeDlRbWtpUGlVVWRINkdRdU8vcFRBejBHY09vR1NnYjJUMktNa05jQ1Z6TUNYc3QybDc5MUVmTWNkeGR4c0g2L0FwOVA4Ri9lbDRVb0FlMytOWDJGOGhCZmxXQmhobmE3U0k2OEFCK0FKd0RsMFNvRk53N0p3a0owclkzNTFqbXhGVXNoNFdxZzJzbHcrandMUlhmaVdmOGwvZHNxeWlkZHp5M3paTnZHRk4yVVhMMnNMN3FUd3V0ZDNpbGpsdGxnWUtYQldXVS9iV0VkajNwVWErdUgxZk9PTnJZblVkcUNEWkFsQ1pkb0dZN2RpakJiUHZpNm1TRXhQa3hBeG1CaldUOFFTcWx4MjBlYzMwMzdHbnJLSnRQL1JmVGVYektiei8wTGFML1ErYk9PV2F3c09pTlcwOUxMcmtHVzVaMHdRdC94Mno3OHYzS005cU1BUmVLNjlUQm1FN2dIQTZTTTZjSXE4UUZvVExYUkdzVHI3QVpMdGtWWnR5cFJiQVdEWXNIenR6cC9mMnhaUDRpdi82eXJVSDg5ZktZOS9ZL1BPYksrVkQwdC84SC9pdm84SGkyVlBYZnRqL3p0ZjREdnMxRkNEWkdoNmh0MkU3aEhCS3ZKZDJEeXY1Ykk3SkZ1MDFqTG1zcDZqMG85UXExQXUweXhsc3Noa2NSNi9hWkpXeWkzem43a2Yzdk9LdHQwYnllcGd6aVhGRENwbXFHVlVqM1dXOCtOb0h5L2MrdW90TFY3ZDYwdFdDSnFHaEk5TWtIcEhEdHBaTURoWExieTdNdmRhYjdHMEo5aDl2OCtmNUpkQ2dDYmZnWEd0K2JyYkJ1WXh0a0NsSlpINFRkQUNtUTQ4c21LeXhKWHBHbGJqYUF3a1VTWG1STmhMb1FpQmc0TnpOMVpYbDBVb3pXZi9TWWFzVXBKSnJWTWRSTWUwbVlyWGc1YXAxajZZd1U1VUloaG5kNk9WaXRCM0pzYW0rYWxXdmlWV3ZYaU9iSmpaTTFiYjI3a0VWRnNSWWk0bGFyRGZxalNacjFFVW95SUJxZDlOTzJ2Um5HMlBKMzlReDJ3aUhUU2ZraG9MaGhHNGJwaDZQcTNZNGFTVFpuYm1UcXl4cTZpazlFRSswUjJRTE03M3paK3BmUFQxcnZKY3FGbE0vTXA5SkowT0duYkNURS9OSFJxNU5QYnNjTVZuaVVJS1plREZWeFBUWDA0MHFSazdNSjBLRldEaWFEZ3pwQnZvL1pvcWlLZXpvWWlRYUtCNkpKNzFRWHNPeVZUNGFOMHNGdzVnc25YLytrT01VVTNqZExZYm1pbTc0Uk1lMjh1ZG5LNU1pdHlpT2dvTno3REYxUFJPR0lROTNXMVRCVEU3WllZbzBHNllDQVM2YW05USsrL1A0eFc3TEkyN2t0YjBpSnRWYVAwOWZWaEFsQ1MvUmhOSnpJS0YwZHFSVitMd2xySDNlOEVvckRwQkpKNXhvSktDUkc0cXBVaTQ2RFUrMUtoWldjMWtxUU11c2xLa0plQTdtYWtodHdHdjBHOEx2eWh1Vk0vaVNJVXYrbjZTUUxPRUVkM2Y4WXp2OG5MbTRzMmdldHplSW9ZM0tkSnNwaHVSL0tOR0k0OUx0SFgvaUVUNUlXWXVQWHJTc0RSc0dQWCtieC9kNy9uRTRDVitCNWRiVjUwNHpSVHVhR1k0RlVLSEcwSlk1STBGQnVDa3hCcW9DNmlxRUlhQ0ZBNzFJaUdtR3poVFVsQ1ZRZzBGMUFWUTEySVdnR3V4Y1g3NjY5TUtWeTVjdWRPYmFzek5tM2l5SUt4ZWxSTVhZWHBidDVWZlpkdjRESG9wbFlxYUwxUFlwdHlzZUpiZENBUk0yc2NHaEVNdjk2N0J1VURaVGloNUdjY2E0dXBiWDlQNncrYW40aHE3dWlhcCt4amMwamVFZm1hYjU5Lzh4SXNuYmlvUi8wYlY2ZGRRL05sckZtckQ3cVJjWW8rTmpUUFBlMTNUOHBmOHJzWWl6WWp4QTlwZFpiUGRqS2dYZFpOZG42YVNVTDlNWGR6OGVQM1ZpbkEzMW5WaTBrdWlhaTNxZmgzZjVKaytKU29jZ1JDa25YWmh2dFVVWDR3aWlBMUJqb0U0Z2c2VEkwcEp1YUZ4UlZXV2hMeWhxTnhpZ0lsYzc4WmliU283WVZtdzRQaHlMeDhRVkRjbkpFbVpxbWYyN1dqYXpvMlU3ak9PczdnakFOei9aNE4vMnQzYy9aT040UWNpZmJLeXZZOExPTXZkWW11VS9XRjluNzYvNzIrdit6OWI4YjAzZXZwMGR5Mk4yUE4yWXZBMy9CTGswcHR3QUFIaWNZMkJrWUdBQTRnYzNFcWJIODl0OFplQm1mZ0VVWWJqc3Uwa0dRZi9QWkg3QkhBVGtjakF3Z1VRQllXNEwxWGljWTJCa1lHQU8rcDhGSkY4d01Qei9EeVNCSWlpQUd3Q0gxQVdnQUFBQWVKeGpmc0hBd0F6RGtWQ016aGNFNGdVTURBQ3k1d2EvQUFBQUFBRHVBWllCM0FJaUFsWUNvZ05rQStnRXJBVUtBQUVBQUFBTEFKQUFDUUFBQUFBQUFnQWtBRFFBY3dBQUFIVUxjQUFBQUFCNG5IV1F5MDdDUUJTRy81R0xDb2thVGR3Nkt3TXhsa3NpQ3hJU0VneHNkRU1NVzFOS2FVdEtoMHdIRWw3RGQvQmhmQW1meFo5Mk1BWmltK2w4NTVzelowNEh3RFcrSVpBL1R4dzVDNXd4eXZrRXAraFpMdEEvV3k2U1h5eVhVTVdiNVRMOXUrVUtIaEJZcnVJR0g2d2dpdWVNRnZpMExIQWxMaTJmNEVMY1dTN1FQMW91a251V1M3Z1ZyNWJMOUo3bENpWWl0VnpGdmZnYXFOVldSMEZvWkcxUWwrMW1xeU9uVzZtb29zU05wYnMyb2RLcDdNdTVTb3dmeDhyeDFITFBZejlZeDY3ZWgvdDU0dXMwVW9sc09jMjlHdm1KcjEzanozYlYwMDNRTm1ZdTUxb3Q1ZEJteUpWV0M5OHpUbWpNcXR0by9EMFBBeWlzc0lWR3hLc0tZU0JSbzYxemJxT0pGanFrS1RNa00vT3NDQWxjeERRdTF0d1JaaXNwNHo3SG5GRkM2ek1qSmp2dytGMGUrVEVwNFA2WVZmVFI2bUU4SWUzT2lESXYyWmZEN2c2elJxUWt5M1F6Ty92dFBjV0dwN1ZwRFhmdHV0UlpWeExEZ3hxUzk3RmJXOUI0OUU1Mks0YTJpd2JmZi83dkIrTnBoRThBZUp4dHhrRU9neUFRQmRENXRJcElyOEtoa0l3T0NWZ0M0NkszYjlKdWZhdEhodjVXdXVkaDhNQVRFMlpZTEhCWTRmRWlvMkpWUXNsRGw4SzdoaTBmcnVkRGZwdUd4TTQydld2bFU1M0tWYmNScmpZM1BsTXVYbnNjRXJnMi9mallOYWZDSVJZbCtnSmZwQjdaZUp4ajhON0JjQ0lvWWlNalkxL2tCc2FkSEF3Y0RNa0ZHeGxZblRZeE1ESm9nUmlidVpnWU9TQXNQZ1l3aTgxcEY5TUJvRFFua00zdXRJdkJBY0ptWm5EWnFNTFlFUml4d2FFallpTnppc3RHTlJCdkYwY0RBeU9MUTBkeVNBUklTU1FRYk9aaFl1VFIyc0g0djNVRFMrOUdKZ1lYQUF4MkkvUUFBQT09KSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuLmRlbW8taWNvbiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcInNwcmVhZHZpZXctZGVtby1pY29uXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5pY29uLXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAwXCI7XG59IC8qICfuoIAnICovXG4uaWNvbi10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAxXCI7XG59IC8qICfuoIEnICovXG4ubWFpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2FtcGxlLW9wdGlvbnMge1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kOiAjZmJmYmZiO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDU0cHgpO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtc2hyaW5rOiAxO1xufVxuXG4uZ2MtZ3JpZCB7XG4gIGJvcmRlcjogMDtcbn1cblxuLmZpbG0tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2UwZTBlMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgbWF4LWhlaWdodDogMjEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5maWxtLWNvdmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmZpbG0tY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC40ZW0gMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDQwJTtcbn1cblxuLmZpbG0tY29udGVudC1saXN0IHtcbiAgd2lkdGg6IDg3JTtcbn1cblxuLmMxIHtcbiAgbWFyZ2luLWJvdHRvbTogMC40ZW07XG59XG5cbi5jMiB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZmlsbS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5maWxtLWNvbnRlbnQtbGlzdCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4uZmlsbS1jb250ZW50LWxpc3QgLmMyIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucG9zdGVyLWxpc3QtcmVzaXplIHtcbiAgaGVpZ2h0OiA5NnB4O1xuICB3aWR0aDogYXV0bztcbn1cblxuLmZpbG0tdGl0bGUtbGluayB7XG4gIGNvbG9yOiAjMTM2Y2IyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZpbG0tdGl0bGUtbGluazp2aXNpdGVkIHtcbiAgY29sb3I6ICM3MDU3OWQ7XG59XG5cbi5maWxtLXRpdGxlLWxpbms6aG92ZXIge1xuICBjb2xvcjogIzEzNmNiMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5maWxtLWNlcnRpZmljYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNhbXBsZS1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnc3ByZWFkdmlldy1kZW1vLWljb24nO1xuICBzcmM6IHVybChkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtiYXNlNjQsZDA5R1JnQUJBQUFBQUJGY0FBOEFBQUFBSGR3QUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJIVTFWQ0FBQUJXQUFBQURNQUFBQkNzUDZ6N1U5VEx6SUFBQUdNQUFBQVF3QUFBRlkrSVVreVkyMWhjQUFBQWRBQUFBQjJBQUFCN2dsUDdRMWpkblFnQUFBQ1NBQUFBQk1BQUFBZ0J0WC9BbVp3WjIwQUFBSmNBQUFGa0FBQUMzQ0trWkJaWjJGemNBQUFCK3dBQUFBSUFBQUFDQUFBQUJCbmJIbG1BQUFIOUFBQUJtWUFBQW9VTHBxeWxHaGxZV1FBQUE1Y0FBQUFNQUFBQURZSm9xZllhR2hsWVFBQURvd0FBQUFkQUFBQUpBYzlBMTFvYlhSNEFBQU9yQUFBQUJnQUFBQXNKNTBBQUd4dlkyRUFBQTdFQUFBQUdBQUFBQmdOTUE5TWJXRjRjQUFBRHR3QUFBQWdBQUFBSUFFaEREWnVZVzFsQUFBTy9BQUFBWGNBQUFMTnpKMGNIbkJ2YzNRQUFCQjBBQUFBYkFBQUFKQzh0OW1oY0hKbGNBQUFFT0FBQUFCNkFBQUFodVZCSzd4NG5HTmdaR0JnNEdLUVk5QmhZSFJ4OHdsaDRHQmdZWUFBa0F4alRtWjZJbEFNeWdQS3NZQnBEaUJtZzRnQ0FJb2pBMDhBZUp4allHU2V4VGlCZ1pXQmdhbUthUThEQTBNUGhHWjh3R0RJeUFRVVpXQmxac0FLQXRKY1V4Z2NYakM4NEdRTytwL0ZFTVVjeERBZEtNd0lrZ01BOGNnTDBRQjRuTzJSMFEzQ1FBeEQzOUZRNkttajhNbEFmREVMbzJhTDFrazlCcEdlcFZpNSs3Q0JPN0NJbHdnWVh3WTFIN21qL1lYWmZ2RHVteWcvdCtPUVVxbzlXbSs2RGYyNDh1REoxdTlXL3JPMy9yek55dTJpa3pSS2p6VFZTSnJLTmsyMWxVWXBrMFo1azBiSmswWWRxS2tMNWdsM1h4dE5BQUI0bkdOZ1FBTVNFTWdjOUQ4VGhBRVNaZ1BiQUhpY3JWWnBkOU5HRkIxNVNaeUVMQ1VMTFdwaHhNUnBzRVltYk1HQUNVR3lZeUJkbksyVm9Jc1VPK20rOFluZjRGL3paTnB6NkRkK1d1OGJMeVNRdE9kd21wT2pkK2ZOMWN6YlpSSmFrdGdMNjVHVW15L0YxTlltamV3OENlbUdUY3RSZkNnN2V5Rmxpc25mQlZFUXJaYmF0eDJIUkVRaVVMV3VzRVFRK3g1Wm1tUjg2RkZHeTdha1YwM0tMVDNwTGx2alFiMVYzMzRhT3NxeE82R2taak4wYUQyeUpWVVlWYUpJcGoxUzBxWmxxUG9yU1N1OHY4TE1WODFRd29oT0ltbThHY2JRU040Ylo3VEthRFcyNHlpS2JMTGNLRklrbXVGQkZIbVUxUkxuNUlvSkRNb0h6WkR5eXFjUjVjUDhpS3pZbzV4V3NFdTIwL3krTDNtbmR6ay9zVjl2VWJia1FCL0lqdXpnN0hRbFg0UmJXMkhjdEpQdEtGUVJkdGQzUW16WjdGVC9aby95bWtZRHR5c3l2ZENNWUtsOGhSQXJQNkhNL2lGWkxaeFArWkpIbzFxeWtSTkI2MlZPN0VzK2dkYmppQ2x4elJoWjBOM1JDUkhVL1pJekRQYVlQaDc4OGQ0cGxnc1RBbmdjeTNwSEpad0lFeWxoY3pSSjJqQnlZQ1ZsaXlxcDlhNllPT1YxV3NSYnduN3QydEdYem1qalVIZGlQRnNQSFZzNVVjbnhhRktubVV5ZDJrbk5veWtOb3BSMEpuak1yd01vUDZKSlhtMWpOWW1WUjlNNFpzYUVSQ0lDTGR4TFUwRXNPN0drS1FUTm94bTl1UnVtdVhZdFdxVEpBL1hjby9mMDVsYTR1ZE5UMmc3MHMwWi9WcWRpT3RnTDArbHA1Qy94YWRybElrWHArdWtaZmt6aVFkWUNNcEV0TnNPVWd3ZHYvUTdTeTllV0hJWFhCdGp1N2ZNcnFIM1dSUENrQWZzYjBCNVAxU2tKVElXWVZZaFdRR0t0YTFtV3lkV3NGcW5JMUhkRG1sYStyTk1FaW5JY0Y4ZStqSEg5WHpNemxwZ1N2dCtKMDdNakxqMXo3VXNJMHh4OG0zVTltdGVweFhJQmNXWjVUcWRabHUvck5NZnlBNTNtV1o3WDZRaExXNmVqTEQvVWFZSGxSem9kWTNsQkM1cDAzOEdRaXpEa0FnNlFNSVNsQTBOWVhvSWhMQlVNWWJrSVExZ1dZUWpMSlJqQzhtTVl3bklaaHJDOHJHWFYxRk5KNDlxWldBWnNRbUJpamg2NXpFWGxhaXE1VkVLN2FGUnFRNTRTYnBWVUZNK3FmMldnWGp6eWhqbXdGa2lYeUpwZk1jNlZqMGJsK05ZVkxXOGFPMWZBc2Vwdkg0NzJPZkZTMW91RlB3WC8xZFpVSmIxaXpjT1RxL0FiaHA1c0o2bzJxWGgwVFpmUFZUMjYvbDlVVkZnTDlCdEloVmdveXJKc2NHY2loSTg2bllacW9KVkR6R3pNUExUcmRjdWFuOFA5TnpGQ0ZsRDkrRGNVR2d2Y2cwNVpTVm50NEt6VjE5dXkzRHVEY2pnVExFa3hOL1A2VnZnaUk3UFNmcEZaeXA2UGZCNXdCWXhLWmRocUE2MFZ2TmtuTVErWjNpVFBCSEZiVVRaSTJ0ak9CSWtOSFBPQWVmT2RCQ1poNnFvTjVFN2hoZzM0QldGdXdYa25YS0o2b3l5SDdrWHM4eWlrL0Z1bjRrVDJxR2lNd0xQWkcyR3Y3MExLYjNFTUpEVDVwWDRNVkJXaHFSZzFGZEEwVW02b0JsL0cyYnB0UXNZTzlDTXFkc095ck9MRHh4YjNsWkp0R1lSOHBJalZvNk9mMWw2aVRxcmNmbVlVbCsrZHZnWEJJRFV4ZjN2ZmRIR1F5cnRheVRKSGJRTlR0eHFWVTllYVErTlZoK3JtVWZXOTQrd1RPV3VhYnJvbkhucGYwNnJid2NWY0xMRDJiUTdTVWlZWDFQVmhoUTJpeThXbFVPcGxORW52dUFjWUZoalE3MUNLamYrcit0aDhuaXRWaGRGeEpOOU8xTGZSNTJBTS9BL1lmMGYxQTlEM1kraHlEUzdQOTVvVG4yNzA0V3lacnFJWDY2Zm9OekJycmJsWnVnYmMwSFFENGlGSHJZNjR5ZzE4cHdaeGVxUzVIT2toNEdQZEZlSUJ3Q2FBeGVBVDNiV001bE1Bby9tTU9UN0E1OHhoMEdRT2d5M21NTmhtemhyQURuTVk3REtId1I1ekdIekJuSFdBTDVuRElHUU9nNGc1REo0d0p3QjR5aHdHWHpHSHdkZk1ZZkFOYys0RGZNc2NCakZ6R0NUTVliQ3Y2ZFl3ekMxZTBGMmd0a0ZWb0FOVFQxamN3K0pRVTJYSS9vNFhodjI5UWN6K3dTQ20vcWpwOXBENkV5OE05V2VEbVBxTFFVejlWZE9kSWZVM1hoanE3d1l4OVErRG1QcE12eGpMWlFhL2pIeVhDZ2VVWFd3KzUrK0o5dy9ieFVDNUFBRUFBZi8vQUE5NG5LVlZXVzhiMXhVKzU5N1pPQnl1bW9XeXlERTNjV3hTa0Z5dWlxeFNsQmZRa3VrRnRwRFFTYVRRanF5MmtHM0pEZUNnNlBhZ3dMWFJKZ0t5RktoYkJBaXN4d2F0K3RLWEFIMW9uN29BYlg1Q0h3SVpSWkduUHJTSXhqMlhZaFU3aWJxZ1E4Njk1N3Zuek15NTV6dm5YQWdBUFA0NzMrRkJpTUJobUlBWnVBQXZ3UnA4RnpiaFFxc1RDekUxYWpDRnEwb3ZFbUE4ckRHR25QV0NNa01BWEJBelFsZVhHQ0IwM3ZqKzNZM3ZmUFBPSzdkV1YxNWVldUhaeStmUDFnWlhKUzZuU3FPV3FhaTViTUdyVmV0T3BXekhDSHNEM0NDTW45RUxYTUk5ZkJ6MzhCZlpmeG4vdmIzUUMvdWhnVjdndnQ1TjI3OXdYS1RSVGo4aDR2Vjk0TGorVHc3UzRNcW5EejVoOWJUaWlaYy91R0VUdEc3UWExeFVWc1hrckFvTC93OVBhRmgrVmRpTHdmLzkvMnFFMnY0NkFDaGZ5TzEwNjVrZ3FqcjJPUTBnMTdEUHFJeDlRbWtpUGlVVWRINkdRdU8vcFRBejBHY09vR1NnYjJUMktNa05jQ1Z6TUNYc3QybDc5MUVmTWNkeGR4c0g2L0FwOVA4Ri9lbDRVb0FlMytOWDJGOGhCZmxXQmhobmE3U0k2OEFCK0FKd0RsMFNvRk53N0p3a0owclkzNTFqbXhGVXNoNFdxZzJzbHcrandMUlhmaVdmOGwvZHNxeWlkZHp5M3paTnZHRk4yVVhMMnNMN3FUd3V0ZDNpbGpsdGxnWUtYQldXVS9iV0VkajNwVWErdUgxZk9PTnJZblVkcUNEWkFsQ1pkb0dZN2RpakJiUHZpNm1TRXhQa3hBeG1CaldUOFFTcWx4MjBlYzMwMzdHbnJLSnRQL1JmVGVYektiei8wTGFML1ErYk9PV2F3c09pTlcwOUxMcmtHVzVaMHdRdC94Mno3OHYzS005cU1BUmVLNjlUQm1FN2dIQTZTTTZjSXE4UUZvVExYUkdzVHI3QVpMdGtWWnR5cFJiQVdEWXNIenR6cC9mMnhaUDRpdi82eXJVSDg5ZktZOS9ZL1BPYksrVkQwdC84SC9pdm84SGkyVlBYZnRqL3p0ZjREdnMxRkNEWkdoNmh0MkU3aEhCS3ZKZDJEeXY1Ykk3SkZ1MDFqTG1zcDZqMG85UXExQXUweXhsc3Noa2NSNi9hWkpXeWkzem43a2Yzdk9LdHQwYnllcGd6aVhGRENwbXFHVlVqM1dXOCtOb0h5L2MrdW90TFY3ZDYwdFdDSnFHaEk5TWtIcEhEdHBaTURoWExieTdNdmRhYjdHMEo5aDl2OCtmNUpkQ2dDYmZnWEd0K2JyYkJ1WXh0a0NsSlpINFRkQUNtUTQ4c21LeXhKWHBHbGJqYUF3a1VTWG1STmhMb1FpQmc0TnpOMVpYbDBVb3pXZi9TWWFzVXBKSnJWTWRSTWUwbVlyWGc1YXAxajZZd1U1VUloaG5kNk9WaXRCM0pzYW0rYWxXdmlWV3ZYaU9iSmpaTTFiYjI3a0VWRnNSWWk0bGFyRGZxalNacjFFVW95SUJxZDlOTzJ2Um5HMlBKMzlReDJ3aUhUU2ZraG9MaGhHNGJwaDZQcTNZNGFTVFpuYm1UcXl4cTZpazlFRSswUjJRTE03M3paK3BmUFQxcnZKY3FGbE0vTXA5SkowT0duYkNURS9OSFJxNU5QYnNjTVZuaVVJS1plREZWeFBUWDA0MHFSazdNSjBLRldEaWFEZ3pwQnZvL1pvcWlLZXpvWWlRYUtCNkpKNzFRWHNPeVZUNGFOMHNGdzVnc25YLytrT01VVTNqZExZYm1pbTc0Uk1lMjh1ZG5LNU1pdHlpT2dvTno3REYxUFJPR0lROTNXMVRCVEU3WllZbzBHNllDQVM2YW05USsrL1A0eFc3TEkyN2t0YjBpSnRWYVAwOWZWaEFsQ1MvUmhOSnpJS0YwZHFSVitMd2xySDNlOEVvckRwQkpKNXhvSktDUkc0cXBVaTQ2RFUrMUtoWldjMWtxUU11c2xLa0plQTdtYWtodHdHdjBHOEx2eWh1Vk0vaVNJVXYrbjZTUUxPRUVkM2Y4WXp2OG5MbTRzMmdldHplSW9ZM0tkSnNwaHVSL0tOR0k0OUx0SFgvaUVUNUlXWXVQWHJTc0RSc0dQWCtieC9kNy9uRTRDVitCNWRiVjUwNHpSVHVhR1k0RlVLSEcwSlk1STBGQnVDa3hCcW9DNmlxRUlhQ0ZBNzFJaUdtR3poVFVsQ1ZRZzBGMUFWUTEySVdnR3V4Y1g3NjY5TUtWeTVjdWRPYmFzek5tM2l5SUt4ZWxSTVhZWHBidDVWZlpkdjRESG9wbFlxYUwxUFlwdHlzZUpiZENBUk0yc2NHaEVNdjk2N0J1VURaVGloNUdjY2E0dXBiWDlQNncrYW40aHE3dWlhcCt4amMwamVFZm1hYjU5Lzh4SXNuYmlvUi8wYlY2ZGRRL05sckZtckQ3cVJjWW8rTmpUUFBlMTNUOHBmOHJzWWl6WWp4QTlwZFpiUGRqS2dYZFpOZG42YVNVTDlNWGR6OGVQM1ZpbkEzMW5WaTBrdWlhaTNxZmgzZjVKaytKU29jZ1JDa25YWmh2dFVVWDR3aWlBMUJqb0U0Z2c2VEkwcEp1YUZ4UlZXV2hMeWhxTnhpZ0lsYzc4WmliU283WVZtdzRQaHlMeDhRVkRjbkpFbVpxbWYyN1dqYXpvMlU3ak9PczdnakFOei9aNE4vMnQzYy9aT040UWNpZmJLeXZZOExPTXZkWW11VS9XRjluNzYvNzIrdit6OWI4YjAzZXZwMGR5Mk4yUE4yWXZBMy9CTGswcHR3QUFIaWNZMkJrWUdBQTRnYzNFcWJIODl0OFplQm1mZ0VVWWJqc3Uwa0dRZi9QWkg3QkhBVGtjakF3Z1VRQllXNEwxWGljWTJCa1lHQU8rcDhGSkY4d01Qei9EeVNCSWlpQUd3Q0gxQVdnQUFBQWVKeGpmc0hBd0F6RGtWQ016aGNFNGdVTURBQ3k1d2EvQUFBQUFBRHVBWllCM0FJaUFsWUNvZ05rQStnRXJBVUtBQUVBQUFBTEFKQUFDUUFBQUFBQUFnQWtBRFFBY3dBQUFIVUxjQUFBQUFCNG5IV1F5MDdDUUJTRy81R0xDb2thVGR3Nkt3TXhsa3NpQ3hJU0VneHNkRU1NVzFOS2FVdEtoMHdIRWw3RGQvQmhmQW1meFo5Mk1BWmltK2w4NTVzelowNEh3RFcrSVpBL1R4dzVDNXd4eXZrRXAraFpMdEEvV3k2U1h5eVhVTVdiNVRMOXUrVUtIaEJZcnVJR0g2d2dpdWVNRnZpMExIQWxMaTJmNEVMY1dTN1FQMW91a251V1M3Z1ZyNWJMOUo3bENpWWl0VnpGdmZnYXFOVldSMEZvWkcxUWwrMW1xeU9uVzZtb29zU05wYnMyb2RLcDdNdTVTb3dmeDhyeDFITFBZejlZeDY3ZWgvdDU0dXMwVW9sc09jMjlHdm1KcjEzanozYlYwMDNRTm1ZdTUxb3Q1ZEJteUpWV0M5OHpUbWpNcXR0by9EMFBBeWlzc0lWR3hLc0tZU0JSbzYxemJxT0pGanFrS1RNa00vT3NDQWxjeERRdTF0d1JaaXNwNHo3SG5GRkM2ek1qSmp2dytGMGUrVEVwNFA2WVZmVFI2bUU4SWUzT2lESXYyWmZEN2c2elJxUWt5M1F6Ty92dFBjV0dwN1ZwRFhmdHV0UlpWeExEZ3hxUzk3RmJXOUI0OUU1Mks0YTJpd2JmZi83dkIrTnBoRThBZUp4dHhrRU9neUFRQmRENXRJcElyOEtoa0l3T0NWZ0M0NkszYjlKdWZhdEhodjVXdXVkaDhNQVRFMlpZTEhCWTRmRWlvMkpWUXNsRGw4SzdoaTBmcnVkRGZwdUd4TTQydld2bFU1M0tWYmNScmpZM1BsTXVYbnNjRXJnMi9mallOYWZDSVJZbCtnSmZwQjdaZUp4ajhON0JjQ0lvWWlNalkxL2tCc2FkSEF3Y0RNa0ZHeGxZblRZeE1ESm9nUmlidVpnWU9TQXNQZ1l3aTgxcEY5TUJvRFFua00zdXRJdkJBY0ptWm5EWnFNTFlFUml4d2FFallpTnppc3RHTlJCdkYwY0RBeU9MUTBkeVNBUklTU1FRYk9aaFl1VFIyc0g0djNVRFMrOUdKZ1lYQUF4MkkvUUFBQT09KVxuICAgIGZvcm1hdCgnd29mZicpO1xufVxuXG4uZGVtby1pY29uIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdzcHJlYWR2aWV3LWRlbW8taWNvbic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5pY29uLXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDAnO1xufSAvKiAn7qCAJyAqL1xuXG4uaWNvbi10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDEnO1xufSAvKiAn7qCBJyAqL1xuXG4ubWFpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2FtcGxlLW9wdGlvbnMge1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kOiAjZmJmYmZiO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDU0cHgpO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtc2hyaW5rOiAxO1xufVxuXG4vLyBjYXJkIGl0ZW1zXG5cbi5nYy1ncmlkIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4uZmlsbS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZTBlMGUwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xuICBtYXgtaGVpZ2h0OiAyMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZpbG0tY292ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZmlsbS1jb3Zlci1saXN0IHtcbn1cblxuLmZpbG0tY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC40ZW0gMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDQwJTtcbn1cblxuLmZpbG0tY29udGVudC1saXN0IHtcbiAgd2lkdGg6IDg3JTtcbn1cblxuLmMxIHtcbiAgbWFyZ2luLWJvdHRvbTogMC40ZW07XG59XG5cbi5jMiB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZmlsbS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5maWxtLWNvbnRlbnQtbGlzdCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgLmMyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLy8gZmlsbSBwb3N0ZXJcblxuLnBvc3Rlci1saXN0LXJlc2l6ZSB7XG4gIGhlaWdodDogOTZweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8vIGZpbG0gdGl0bGUgbGlua1xuXG4uZmlsbS10aXRsZS1saW5rIHtcbiAgY29sb3I6ICMxMzZjYjI7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZmlsbS10aXRsZS1saW5rOnZpc2l0ZWQge1xuICBjb2xvcjogIzcwNTc5ZDtcbn1cblxuLmZpbG0tdGl0bGUtbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMTM2Y2IyO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLy8gZmlsbSBjYXRlZ29yeVxuXG4uZmlsbS1jZXJ0aWZpY2F0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zYW1wbGUtb3B0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIl19 */