Swipe Row

This example demonstrates how Spread.Views supports swipe row gestures on touch devices.

This example demonstrates how Spread.Views supports swipe row gestures on touch devices. If you swipe left, Edit and Detail buttons appear. If you swipe right, a Delete button appears. Additionally, if you flick left (or swipe quickly), DataViews interprets that as a delete command. As you can see in the code, each of the buttons is in a hidden column that gets revealed when the user swipes, or moves, the column. You can enable these actions by setting the allowSwipeAction option to true when initializing the view and then configuring the action in the column definition. Note the four action columns have a swipeDirection or flickAction property defined.
<!DOCTYPE html> <html lang="en"> <head> <base href="/dataviewsjs/demos/en/sample/Features/Rows/SwipeRow/purejs/" /> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="keywords" content="rows, touch, command, touch action, touchaction" /> <meta name="description" content="This example demonstrates how Spread.Views supports swipe row gestures on touch devices." /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Swipe Row | Features | GrapeCity 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/dataviews/gc.dataviews.core.min.css" rel="stylesheet" type="text/css" /> <link href="/dataviewsjs/demos/static/dataviews/gc.dataviews.grid.min.css" rel="stylesheet" type="text/css" /> <link href="styles.css" rel="stylesheet" type="text/css" /> <!-- Google Tag Manager --> <script> (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-WT462SJ'); </script> <!-- End Google Tag Manager --> <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: 'GrapeCity-Internal-Use-Only,GrapeCity,E195393772372914#B0KV4Ny56Vr5Wb7w6buJWeGRWb4NXUnNXRlFWWXl6SoN5VzVkYslmQ95WTENkTllVQzd4QhpEejdDNJZlWOp6M7oERQNnWspkaaB5QMhnR7dmUkRnVJR4L5cHTKNkZZdDbRBzZIxmSSR6NrpVQaVUQrBlc6ImYysSd4UlUEZGbw2kMl9UOzQVMId6ZXtUN83CO5RzaZt4VY5kM5pkUGpUUUV7UExUeGpUdTV5dFJ4bPhTc8pGeXJHWrkzNlFzdUtWTr5UQDdVckdGbSVUWr2yMPNzctZVRxEEW9lEbsZHUKJnVaRXT5p6Z0tWMqJGVrtSTIZnaopGSWZXbVNjY0hzQB5We4dnUr3ER8MkI0IyUiwiIGZUNwEkN5MjI0ICSiwSM9ETO6czNygTM0IicfJye#4Xfd5nIZRVV9IiOiMkIsISM6ByUKN7dllmVhRXYEJiOi8kI1tlOiQmcQJCLiEDMzATOwAyMwgDMwIDMyIiOiQncDJCLiI7au26YukHdpNWZwFmcn9iKsAnau26YukHdpNWZwFmcn9iKs86Yu46bj9Se4l6YlBXYydmLqwSbvNmL6VGZ9RXajVGchJ7ZuoCLt36YukHdpNWZwFmcn9iKiojIz5GRiwiI9RXaDVGchJ7RiojIh94QiwSZ5JHd0ICb6VkIsICNxkjM7MjM7czM9MTN9EjI0ICZJJye0ICRiwiI34zZN3yZGNlUnJDe5wkQPVlcBh7SppmUNBlU9dWS7J4ZMRES4MTZkRXTxM7Uq5GeQdHcyFHVup6dQd6ZDpEVrNDSh9kbNdzZrl4dwdPQ', SJS_LICENSE_KEY: '*.grapecity.com,E613631884219496#B0qRgJHWSJ7NyBlc8BjNMRHW7g7YldTZXFTQuFnW4hVOCplVSlVV09ERlhEZuVTVKlTazE4Q6VGSw2CdWZUWSVmbjVXbrxmWFVWR8ZzQro7U84WMGdlbuVHb73kS5kjUTN4NvFVdLdXWVR4Nox6Z7UUSysEcXJEMsN6bDN4TxMDVwVmWBRzKxhkTzAXTaJmdD3CRFJTd8R4R6M5RklWa6oUaLlXMwR4R8ZUdtRWVxUUaQh6VXNDdEhlZ7FHR6QXTPJTVvkWcyZnbSdHRtZHcYF6TKN4axYGcZNjTDF7TvFTTr24VqZjVHVjcLd7QkRmdNxkI0IyUiwiI5gDOEF4QGVjI0ICSiwiMzkTO9kTOyMTM0IicfJye35XX3JSSGljQiojIDJCLiITMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiI4MDMyEDMgkDM8ATOxAjMiojI4J7QiwiIt36YukHdpNWZwFmcn9iKiojIz5GRiwiIj9WagkHdpNUZwFmcHJiOiEmTDJCLlVnc4pjIsZXRiwiI6kDN9EjM4gDOxMjNzEjNiojIklkIs4XZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34TQ72kNBV6YXpXdGxGWxdHcol4MyUGUHJVbQVHRx44Sw84YxRkS4QnZadDNmhWWxV5QxFlTlZEbBJ5N8gUNQlDb7J6Kl36YHVnb4NGN92UMFdlNORFU8VDSaFlQSVlS4EHTrA5Ohh', }, }; </script> <script src="/dataviewsjs/demos/node_modules/jquery/dist/jquery.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.grid.min.js" type="text/javascript"></script> <script src="/dataviewsjs/demos/static/js/license.js" type="text/javascript"></script> </head> <body class="theme-default"> <!-- Google Tag Manager (noscript) --> <noscript ><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WT462SJ" height="0" width="0" style="display: none; visibility: hidden;" ></iframe ></noscript> <!-- End Google Tag Manager (noscript) --> <noscript>You need to enable JavaScript to run this app.</noscript> <template id="editRowTemplate" style="display: none;"> <div class="edit-row"> <div class="edit-detail"> <label class="column1">First Name</label> <input class="column2" data-column="firstName" /> </div> <div class="edit-detail"> <label class="column1">Last Name</label> <input class="column2" data-column="lastName" /> </div> </div> <div class="edit-row"> <div class="edit-detail"> <label class="column1">Score</label> <input class="column2" data-column="score" /> </div> <div class="edit-detail"> <label class="column1">Position</label> <select class="column2" data-column="position"> <option>Sales</option> <option>Sales Manager</option> <option>Web Developer</option> <option>.NET Developer</option> <option>Admin Assistant</option> </select> </div> </div> <div class="edit-advantage edit-detail"> <label class="column1">Advantage</label> <textarea data-column="advantage"></textarea> </div> </template> <div class="main-container"> <p class="tip">This demo is intended to show touch support features. Please view on a touch-enabled device.</p> <div id="grid" class="grid"></div> </div> <script src="locale.js" type="text/javascript"></script> <script src="data.js" type="text/javascript"></script> <script src="app.js" type="text/javascript"></script> </body> </html>
var cols = [ { id: 'firstName', caption: 'First Name', dataField: 'firstName', width: '*', }, { id: 'lastName', caption: 'Last Name', dataField: 'lastName', width: '*', }, { id: 'score', caption: 'Score', dataField: 'score', width: '*', dataType: 'number', }, { id: 'position', caption: 'Position', dataField: 'position', width: '*', }, { id: 'advantage', caption: 'Advantage', dataField: 'advantage', width: '*', }, { id: 'controlPanel1', action: [ { name: 'touchedit', presenter: '<div data-action = "touchedit" style = "background-color:#603DFD;" class="icon-background"><span class="icon-wrapper demo-icon icon-edit"></span></div>', handler: startEdit, }, ], width: 80, swipeDirection: 'left', }, { id: 'controlPanel3', action: [ { name: 'detail', presenter: '<div data-action = "detail" style = "background-color:#FD6345;" class="icon-background"><span class="icon-wrapper demo-icon icon-detail"></span></div>', handler: showDetails, }, ], width: 80, swipeDirection: 'left', }, { id: 'controlPanel4', action: [ { name: 'delete', handler: flickDeleteRow, flickAction: 'right', }, ], swipeDirection: 'none', }, { id: 'controlPanel5', action: [ { name: 'delete', presenter: '<div data-action = "delete" style = "background-color:red;" class="icon-background"><span class="icon-wrapper demo-icon icon-delete"></span></div>', handler: actionDeleteRow, }, ], width: 80, swipeDirection: 'right', }, ]; function getDataView() { return window.dataView || window.getControlByElement(document.body); } function showDetails(args) { showDialog(args); } function startEdit(args) { args.closeActionColumnPanel(); getDataView().startEditing(); } function flickDeleteRow(args) { deleteRow(args, locale.flickDeleteConfirm); } function actionDeleteRow(args) { deleteRow(args, locale.deleteConfirm); } function deleteRow(args, text) { var answer = confirm(text); if (answer) { var dataItem = args.dataItem; if (dataItem && dataItem.sourceIndex >= 0) { getDataView().data.removeDataItems(dataItem.sourceIndex); } } args.closeActionColumnPanel(); } function showDialog(args) { var dataItem = args.dataItem; var overlay = $('<div class="dialog-overlay"></div>'); var dialogContainer = $('<div class="dialog-container"></div>'); var dialog = $( '\n<div class="dialog-header">\n <span style="font-weight:bold">Applicant Details</span><div class="dialog-close-button"><span>&#x2715</span></div>\n</div>\n<div class="dialog-body">\n <div class="name">' .concat(dataItem.firstName, ' ') .concat(dataItem.lastName, '</div>\n <div class="position">') .concat(dataItem.position, '</div>\n <div class="advantage">') .concat(dataItem.advantage, '</div>\n</div>') ); dialogContainer.append(dialog); $(document.body).append(overlay).append(dialogContainer); overlay.on('mousewheel', function () { return false; }); $('.dialog-close-button').on('click', function () { overlay.remove(); dialogContainer.remove(); args.closeActionColumnPanel(); }); var screenWindow = $(window); var left = parseInt((screenWindow.width() - dialogContainer.width()) / 2 + window.pageXOffset, 10); var top = parseInt((screenWindow.height() - dialogContainer.height()) / 2 + window.pageYOffset, 10); dialogContainer.css({ left: left, top: top, }); } var dataView = new GC.DataViews.DataView( document.getElementById('grid'), data, cols, new GC.DataViews.GridLayout({ rowHeight: 40, allowEditing: true, allowSwipe: true, editMode: 'editForm', editRowTemplate: '#editRowTemplate', }) ); // focus data.view by default document.getElementById('grid').focus();
// resumes var data = [{ firstName: 'Alexa', lastName: 'Wilder', registeredDate: 'Oct 14, 2018', score: 90, position: 'Web Developer', advantage: 'Very smart. He can solve problems in a short time.' }, { firstName: 'Victor', lastName: 'Wooten', registeredDate: 'May 14, 2018', score: 70, position: 'Web Developer', advantage: 'Positive and optimistic, always first to work on latest technology in company.' }, { firstName: 'Darrin', lastName: 'Sweeney', registeredDate: 'June 14, 2018', score: 60, position: '.NET Developer', advantage: 'Loves games day, family day, and outings.' }, { firstName: 'Jen', lastName: 'Coulter', registeredDate: 'April 14, 2018', score: '95', position: 'Admin Assistant', advantage: 'Very good communication skills.' }, { firstName: 'Ifeoma', lastName: 'Mays', registeredDate: 'April 14,2018', score: 85, position: 'Sales Manager', advantage: 'Manages his team well. They are always ready to resolve conflict.' }, { firstName: 'Akeem', lastName: 'Carr', registeredDate: 'April 14, 2018', score: 80, position: 'Sales Manager', advantage: 'Has experience in managing teams over 20 employees.' }, { firstName: 'Buffy', lastName: 'Weber', registeredDate: 'April 25, 2018', score: 80, position: 'Sales', advantage: 'Is eager to communicate with others.' }, { firstName: 'Akeem', lastName: 'Abdul', registeredDate: 'April 14, 2018', score: 80, position: 'Web Developer', advantage: 'Positive and optimistic, always first to work on latest technology in company.' }, { firstName: 'Buffy', lastName: 'Carr', registeredDate: 'April 14, 2018', score: 90, position: 'Web Developer', advantage: 'Very smart. He can solve problems quickly.' }, { firstName: 'Guy', lastName: 'Wooten', registeredDate: 'July 14, 2018', score: 90, position: 'Web Developer', advantage: 'A lot of experience on latest technology.' }, { firstName: 'Gina', lastName: 'Wilder', registeredDate: 'Oct 14, 2018', score: 70, position: 'Web Developer', advantage: 'Very smart. She can solve problems quickly.' }, { firstName: 'Guy', lastName: 'Wooten', registeredDate: 'May 14, 2018', score: 90, position: 'Sales', advantage: 'Is eager to communicate with others Would be good at networking.' }, { firstName: 'Daryl', lastName: 'Sweeney', registeredDate: 'June 14, 2018', score: 90, position: 'Sales', advantage: 'Love games day, family day, and outings.' }, { firstName: 'Sally', lastName: 'Weber', registeredDate: 'April 14, 2018', score: 90, position: 'Web Developer', advantage: 'Very smart. She can solve problems quickly.' }, { firstName: 'Euna Lee', lastName: 'Mays', registeredDate: 'April 14,2018', score: 90, position: 'Admin Assistant', advantage: 'HR department is good. They always ready to resolve confusions if any.' }, { firstName: 'Akeem', lastName: 'Carr', registeredDate: 'April 14, 2018', score: 60, position: 'Admin Assistant', advantage: 'Manages his team well. They are always ready to resolve conflict.' }, { firstName: 'Buffy', lastName: 'Weber', registeredDate: 'April 25, 2018', score: 65, position: 'Admin Assistant', advantage: 'Manages her team well. They are always ready to resolve conflict.' }, { firstName: 'Aaron', lastName: 'Carr', registeredDate: 'April 14, 2018', score: 60, position: '.NET Developer', advantage: 'Very smart. He can solve problems quickly.' }, { firstName: 'Buffy', lastName: 'Carr', registeredDate: 'April 14, 2018', score: 70, position: '.NET Developer', advantage: 'A lot of exposure on latest technology.' }, { firstName: 'Guy', lastName: 'Junker', registeredDate: 'July 14, 2018', score: 80, position: '.NET Developer', advantage: 'A lot of exposure on latest technology.' }];
var locale = { swipeRowTip: 'This demo is intended to show touch support features. Please view on a touch-enabled device.', flickDeleteConfirm: 'flick action was detected and delete action was invoked, are you sure you want to delete this row?', deleteConfirm: 'are you sure you want to delete this row?', };
@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-edit:before { content: ""; } /* '' */ .icon-delete:before { content: ""; } /* '' */ .icon-detail:before { content: ""; } /* '' */ .icon-wrapper { font-size: 15px; line-height: 40px; margin-left: 35%; vertical-align: middle; } .icon-background { color: #fff; height: 100%; position: relative; width: 80px; } .edit-btn { margin: 0 3px; width: 70px; } .dialog-overlay { background: rgba(55, 58, 71, 0.9); height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 9999; } .dialog-container { background: #fff; border: 1px solid #d3d3d3; color: #777; font-family: "Roboto", sans-serif; font-weight: 300; height: 200px; position: absolute; width: 300px; z-index: 10000; } .dialog-header { border-bottom: solid 1px #f1f1f1; padding: 1em; } .dialog-body { padding: 1em; } .dialog-body .name { font-size: 20px; font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .dialog-body .position { font-style: italic; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .dialog-body .advantage { margin-top: 15px; overflow-y: auto; max-height: 66px; } .dialog-close-button { border-radius: 10px; color: #6a9f9f; float: right; text-align: center; width: 20px; } .dialog-close-button:hover { color: #406363; cursor: pointer; } .gc-selected { background-color: #e13300; color: #fff; } .gc-row { line-height: 36px; } .odd { background-color: rgba(239, 239, 239, 0.4); } p.tip { margin: 5px; flex-grow: 0; flex-shrink: 0; } .main-container { display: flex; flex-direction: column; width: 100%; height: 100%; } .grid { width: 100%; height: 90%; flex-grow: 1; flex-shrink: 1; } .column1 { display: inline-block; margin-left: 30px; width: 90px; } .column2 { width: 186px; } .edit-detail { display: inline-block; margin: 4px; } .edit-detail *:focus { outline: none; } .edit-detail input { padding: 0 2px; } .edit-advantage label { vertical-align: top; } .edit-advantage textarea { height: 50px; resize: none; width: 500px; } .gc-popup-dialog { background: #f1f1f1; } .gc-popup-editing-area { width: 690px; } @media only screen and (max-width: 768px) { .gc-popup-editing-area { width: 300px; } .column2 { margin-left: 30px; } .edit-detail { display: block; } .edit-advantage textarea { margin-left: 30px; width: 250px; } } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZlYXR1cmVzL1Jvd3MvU3dpcGVSb3cvcHVyZWpzL3N0eWxlcy5jc3MiLCJGZWF0dXJlcy9Sb3dzL1N3aXBlUm93L3B1cmVqcy9zdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7RUFDRSxtQ0FBQTtFQUNBLG0yTEFBQTtBREVGO0FDRUE7RUFDRSxrQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUJBQUE7RUFDQSxtQ0FBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0FEQUY7O0FDR0E7RUFDRSxZQUFBO0FEQUY7O0FDR0EsUUFBQTtBQUNBO0VBQ0UsWUFBQTtBREFGOztBQ0dBLFFBQUE7QUFDQTtFQUNFLFlBQUE7QURBRjs7QUNHQSxRQUFBO0FBRUE7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0FEREY7O0FDSUE7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtBRERGOztBQ0lBO0VBQ0UsYUFBQTtFQUNBLFdBQUE7QURERjs7QUNJQTtFQUNFLGlDQUFBO0VBQ0EsWUFBQTtFQUNBLE9BQUE7RUFDQSxlQUFBO0VBQ0EsTUFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0FEREY7O0FDSUE7RUFDRSxnQkFBQTtFQUNBLHlCQUFBO0VBQ0EsV0FBQTtFQUNBLGlDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtBRERGOztBQ0lBO0VBQ0UsZ0NBQUE7RUFDQSxZQUFBO0FEREY7O0FDSUE7RUFDRSxZQUFBO0FEREY7QUNHRTtFQUNFLGVBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtBRERKO0FDSUU7RUFDRSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtBREZKO0FDS0U7RUFDRSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QURISjs7QUNPQTtFQUNFLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QURKRjs7QUNPQTtFQUNFLGNBQUE7RUFDQSxlQUFBO0FESkY7O0FDT0E7RUFDRSx5QkFBQTtFQUNBLFdBQUE7QURKRjs7QUNPQTtFQUNFLGlCQUFBO0FESkY7O0FDT0E7RUFDRSwwQ0FBQTtBREpGOztBQ09BO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0FESkY7O0FDT0E7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtBREpGOztBQ09BO0VBQ0UsV0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtBREpGOztBQ09BO0VBQ0UscUJBQUE7RUFDQSxpQkFBQTtFQUNBLFdBQUE7QURKRjs7QUNPQTtFQUNFLFlBQUE7QURKRjs7QUNPQTtFQUNFLHFCQUFBO0VBQ0EsV0FBQTtBREpGOztBQ09BO0VBQ0UsYUFBQTtBREpGOztBQ09BO0VBQ0UsY0FBQTtBREpGOztBQ09BO0VBQ0UsbUJBQUE7QURKRjs7QUNPQTtFQUNFLFlBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtBREpGOztBQ09BO0VBQ0UsbUJBQUE7QURKRjs7QUNPQTtFQUNFLFlBQUE7QURKRjs7QUNPQTtFQUNFO0lBQ0UsWUFBQTtFREpGOztFQ09BO0lBQ0UsaUJBQUE7RURKRjs7RUNPQTtJQUNFLGNBQUE7RURKRjs7RUNPQTtJQUNFLGlCQUFBO0lBQ0EsWUFBQTtFREpGO0FBQ0YiLCJmaWxlIjoiRmVhdHVyZXMvUm93cy9Td2lwZVJvdy9wdXJlanMvc3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzcHJlYWR2aWV3LWRlbW8taWNvblwiO1xuICBzcmM6IHVybChkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtiYXNlNjQsZDA5R1JnQUJBQUFBQUJGY0FBOEFBQUFBSGR3QUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJIVTFWQ0FBQUJXQUFBQURNQUFBQkNzUDZ6N1U5VEx6SUFBQUdNQUFBQVF3QUFBRlkrSVVreVkyMWhjQUFBQWRBQUFBQjJBQUFCN2dsUDdRMWpkblFnQUFBQ1NBQUFBQk1BQUFBZ0J0WC9BbVp3WjIwQUFBSmNBQUFGa0FBQUMzQ0trWkJaWjJGemNBQUFCK3dBQUFBSUFBQUFDQUFBQUJCbmJIbG1BQUFIOUFBQUJtWUFBQW9VTHBxeWxHaGxZV1FBQUE1Y0FBQUFNQUFBQURZSm9xZllhR2hsWVFBQURvd0FBQUFkQUFBQUpBYzlBMTFvYlhSNEFBQU9yQUFBQUJnQUFBQXNKNTBBQUd4dlkyRUFBQTdFQUFBQUdBQUFBQmdOTUE5TWJXRjRjQUFBRHR3QUFBQWdBQUFBSUFFaEREWnVZVzFsQUFBTy9BQUFBWGNBQUFMTnpKMGNIbkJ2YzNRQUFCQjBBQUFBYkFBQUFKQzh0OW1oY0hKbGNBQUFFT0FBQUFCNkFBQUFodVZCSzd4NG5HTmdaR0JnNEdLUVk5QmhZSFJ4OHdsaDRHQmdZWUFBa0F4alRtWjZJbEFNeWdQS3NZQnBEaUJtZzRnQ0FJb2pBMDhBZUp4allHU2V4VGlCZ1pXQmdhbUthUThEQTBNUGhHWjh3R0RJeUFRVVpXQmxac0FLQXRKY1V4Z2NYakM4NEdRTytwL0ZFTVVjeERBZEtNd0lrZ01BOGNnTDBRQjRuTzJSMFEzQ1FBeEQzOUZRNkttajhNbEFmREVMbzJhTDFrazlCcEdlcFZpNSs3Q0JPN0NJbHdnWVh3WTFIN21qL1lYWmZ2RHVteWcvdCtPUVVxbzlXbSs2RGYyNDh1REoxdTlXL3JPMy9yek55dTJpa3pSS2p6VFZTSnJLTmsyMWxVWXBrMFo1azBiSmswWWRxS2tMNWdsM1h4dE5BQUI0bkdOZ1FBTVNFTWdjOUQ4VGhBRVNaZ1BiQUhpY3JWWnBkOU5HRkIxNVNaeUVMQ1VMTFdwaHhNUnBzRVltYk1HQUNVR3lZeUJkbksyVm9Jc1VPK20rOFluZjRGL3paTnB6NkRkK1d1OGJMeVNRdE9kd21wT2pkK2ZOMWN6YlpSSmFrdGdMNjVHVW15L0YxTlltamV3OENlbUdUY3RSZkNnN2V5Rmxpc25mQlZFUXJaYmF0eDJIUkVRaVVMV3VzRVFRK3g1Wm1tUjg2RkZHeTdha1YwM0tMVDNwTGx2alFiMVYzMzRhT3NxeE82R2taak4wYUQyeUpWVVlWYUpJcGoxUzBxWmxxUG9yU1N1OHY4TE1WODFRd29oT0ltbThHY2JRU040Ylo3VEthRFcyNHlpS2JMTGNLRklrbXVGQkZIbVUxUkxuNUlvSkRNb0h6WkR5eXFjUjVjUDhpS3pZbzV4V3NFdTIwL3krTDNtbmR6ay9zVjl2VWJia1FCL0lqdXpnN0hRbFg0UmJXMkhjdEpQdEtGUVJkdGQzUW16WjdGVC9aby95bWtZRHR5c3l2ZENNWUtsOGhSQXJQNkhNL2lGWkxaeFArWkpIbzFxeWtSTkI2MlZPN0VzK2dkYmppQ2x4elJoWjBOM1JDUkhVL1pJekRQYVlQaDc4OGQ0cGxnc1RBbmdjeTNwSEpad0lFeWxoY3pSSjJqQnlZQ1ZsaXlxcDlhNllPT1YxV3NSYnduN3QydEdYem1qalVIZGlQRnNQSFZzNVVjbnhhRktubVV5ZDJrbk5veWtOb3BSMEpuak1yd01vUDZKSlhtMWpOWW1WUjlNNFpzYUVSQ0lDTGR4TFUwRXNPN0drS1FUTm94bTl1UnVtdVhZdFdxVEpBL1hjby9mMDVsYTR1ZE5UMmc3MHMwWi9WcWRpT3RnTDArbHA1Qy94YWRybElrWHArdWtaZmt6aVFkWUNNcEV0TnNPVWd3ZHYvUTdTeTllV0hJWFhCdGp1N2ZNcnFIM1dSUENrQWZzYjBCNVAxU2tKVElXWVZZaFdRR0t0YTFtV3lkV3NGcW5JMUhkRG1sYStyTk1FaW5JY0Y4ZStqSEg5WHpNemxwZ1N2dCtKMDdNakxqMXo3VXNJMHh4OG0zVTltdGVweFhJQmNXWjVUcWRabHUvck5NZnlBNTNtV1o3WDZRaExXNmVqTEQvVWFZSGxSem9kWTNsQkM1cDAzOEdRaXpEa0FnNlFNSVNsQTBOWVhvSWhMQlVNWWJrSVExZ1dZUWpMSlJqQzhtTVl3bklaaHJDOHJHWFYxRk5KNDlxWldBWnNRbUJpamg2NXpFWGxhaXE1VkVLN2FGUnFRNTRTYnBWVUZNK3FmMldnWGp6eWhqbXdGa2lYeUpwZk1jNlZqMGJsK05ZVkxXOGFPMWZBc2Vwdkg0NzJPZkZTMW91RlB3WC8xZFpVSmIxaXpjT1RxL0FiaHA1c0o2bzJxWGgwVFpmUFZUMjYvbDlVVkZnTDlCdEloVmdveXJKc2NHY2loSTg2bllacW9KVkR6R3pNUExUcmRjdWFuOFA5TnpGQ0ZsRDkrRGNVR2d2Y2cwNVpTVm50NEt6VjE5dXkzRHVEY2pnVExFa3hOL1A2VnZnaUk3UFNmcEZaeXA2UGZCNXdCWXhLWmRocUE2MFZ2TmtuTVErWjNpVFBCSEZiVVRaSTJ0ak9CSWtOSFBPQWVmT2RCQ1poNnFvTjVFN2hoZzM0QldGdXdYa25YS0o2b3l5SDdrWHM4eWlrL0Z1bjRrVDJxR2lNd0xQWkcyR3Y3MExLYjNFTUpEVDVwWDRNVkJXaHFSZzFGZEEwVW02b0JsL0cyYnB0UXNZTzlDTXFkc095ck9MRHh4YjNsWkp0R1lSOHBJalZvNk9mMWw2aVRxcmNmbVlVbCsrZHZnWEJJRFV4ZjN2ZmRIR1F5cnRheVRKSGJRTlR0eHFWVTllYVErTlZoK3JtVWZXOTQrd1RPV3VhYnJvbkhucGYwNnJid2NWY0xMRDJiUTdTVWlZWDFQVmhoUTJpeThXbFVPcGxORW52dUFjWUZoalE3MUNLamYrcit0aDhuaXRWaGRGeEpOOU8xTGZSNTJBTS9BL1lmMGYxQTlEM1kraHlEUzdQOTVvVG4yNzA0V3lacnFJWDY2Zm9OekJycmJsWnVnYmMwSFFENGlGSHJZNjR5ZzE4cHdaeGVxUzVIT2toNEdQZEZlSUJ3Q2FBeGVBVDNiV001bE1Bby9tTU9UN0E1OHhoMEdRT2d5M21NTmhtemhyQURuTVk3REtId1I1ekdIekJuSFdBTDVuRElHUU9nNGc1REo0d0p3QjR5aHdHWHpHSHdkZk1ZZkFOYys0RGZNc2NCakZ6R0NUTVliQ3Y2ZFl3ekMxZTBGMmd0a0ZWb0FOVFQxamN3K0pRVTJYSS9vNFhodjI5UWN6K3dTQ20vcWpwOXBENkV5OE05V2VEbVBxTFFVejlWZE9kSWZVM1hoanE3d1l4OVErRG1QcE12eGpMWlFhL2pIeVhDZ2VVWFd3KzUrK0o5dy9ieFVDNUFBRUFBZi8vQUE5NG5LVlZXVzhiMXhVKzU5N1pPQnl1bW9XeXlERTNjV3hTa0Z5dWlxeFNsQmZRa3VrRnRwRFFTYVRRanF5MmtHM0pEZUNnNlBhZ3dMWFJKZ0t5RktoYkJBaXN4d2F0K3RLWEFIMW9uN29BYlg1Q0h3SVpSWkduUHJTSXhqMlhZaFU3aWJxZ1E4Njk1N3Zuek15NTV6dm5YQWdBUFA0NzMrRkJpTUJobUlBWnVBQXZ3UnA4RnpiaFFxc1RDekUxYWpDRnEwb3ZFbUE4ckRHR25QV0NNa01BWEJBelFsZVhHQ0IwM3ZqKzNZM3ZmUFBPSzdkV1YxNWVldUhaeStmUDFnWlhKUzZuU3FPV3FhaTViTUdyVmV0T3BXekhDSHNEM0NDTW45RUxYTUk5ZkJ6MzhCZlpmeG4vdmIzUUMvdWhnVjdndnQ1TjI3OXdYS1RSVGo4aDR2Vjk0TGorVHc3UzRNcW5EejVoOWJUaWlaYy91R0VUdEc3UWExeFVWc1hrckFvTC93OVBhRmgrVmRpTHdmLzkvMnFFMnY0NkFDaGZ5TzEwNjVrZ3FqcjJPUTBnMTdEUHFJeDlRbWtpUGlVVWRINkdRdU8vcFRBejBHY09vR1NnYjJUMktNa05jQ1Z6TUNYc3QybDc5MUVmTWNkeGR4c0g2L0FwOVA4Ri9lbDRVb0FlMytOWDJGOGhCZmxXQmhobmE3U0k2OEFCK0FKd0RsMFNvRk53N0p3a0owclkzNTFqbXhGVXNoNFdxZzJzbHcrandMUlhmaVdmOGwvZHNxeWlkZHp5M3paTnZHRk4yVVhMMnNMN3FUd3V0ZDNpbGpsdGxnWUtYQldXVS9iV0VkajNwVWErdUgxZk9PTnJZblVkcUNEWkFsQ1pkb0dZN2RpakJiUHZpNm1TRXhQa3hBeG1CaldUOFFTcWx4MjBlYzMwMzdHbnJLSnRQL1JmVGVYektiei8wTGFML1ErYk9PV2F3c09pTlcwOUxMcmtHVzVaMHdRdC94Mno3OHYzS005cU1BUmVLNjlUQm1FN2dIQTZTTTZjSXE4UUZvVExYUkdzVHI3QVpMdGtWWnR5cFJiQVdEWXNIenR6cC9mMnhaUDRpdi82eXJVSDg5ZktZOS9ZL1BPYksrVkQwdC84SC9pdm84SGkyVlBYZnRqL3p0ZjREdnMxRkNEWkdoNmh0MkU3aEhCS3ZKZDJEeXY1Ykk3SkZ1MDFqTG1zcDZqMG85UXExQXUweXhsc3Noa2NSNi9hWkpXeWkzem43a2Yzdk9LdHQwYnllcGd6aVhGRENwbXFHVlVqM1dXOCtOb0h5L2MrdW90TFY3ZDYwdFdDSnFHaEk5TWtIcEhEdHBaTURoWExieTdNdmRhYjdHMEo5aDl2OCtmNUpkQ2dDYmZnWEd0K2JyYkJ1WXh0a0NsSlpINFRkQUNtUTQ4c21LeXhKWHBHbGJqYUF3a1VTWG1STmhMb1FpQmc0TnpOMVpYbDBVb3pXZi9TWWFzVXBKSnJWTWRSTWUwbVlyWGc1YXAxajZZd1U1VUloaG5kNk9WaXRCM0pzYW0rYWxXdmlWV3ZYaU9iSmpaTTFiYjI3a0VWRnNSWWk0bGFyRGZxalNacjFFVW95SUJxZDlOTzJ2Um5HMlBKMzlReDJ3aUhUU2ZraG9MaGhHNGJwaDZQcTNZNGFTVFpuYm1UcXl4cTZpazlFRSswUjJRTE03M3paK3BmUFQxcnZKY3FGbE0vTXA5SkowT0duYkNURS9OSFJxNU5QYnNjTVZuaVVJS1plREZWeFBUWDA0MHFSazdNSjBLRldEaWFEZ3pwQnZvL1pvcWlLZXpvWWlRYUtCNkpKNzFRWHNPeVZUNGFOMHNGdzVnc25YLytrT01VVTNqZExZYm1pbTc0Uk1lMjh1ZG5LNU1pdHlpT2dvTno3REYxUFJPR0lROTNXMVRCVEU3WllZbzBHNllDQVM2YW05USsrL1A0eFc3TEkyN2t0YjBpSnRWYVAwOWZWaEFsQ1MvUmhOSnpJS0YwZHFSVitMd2xySDNlOEVvckRwQkpKNXhvSktDUkc0cXBVaTQ2RFUrMUtoWldjMWtxUU11c2xLa0plQTdtYWtodHdHdjBHOEx2eWh1Vk0vaVNJVXYrbjZTUUxPRUVkM2Y4WXp2OG5MbTRzMmdldHplSW9ZM0tkSnNwaHVSL0tOR0k0OUx0SFgvaUVUNUlXWXVQWHJTc0RSc0dQWCtieC9kNy9uRTRDVitCNWRiVjUwNHpSVHVhR1k0RlVLSEcwSlk1STBGQnVDa3hCcW9DNmlxRUlhQ0ZBNzFJaUdtR3poVFVsQ1ZRZzBGMUFWUTEySVdnR3V4Y1g3NjY5TUtWeTVjdWRPYmFzek5tM2l5SUt4ZWxSTVhZWHBidDVWZlpkdjRESG9wbFlxYUwxUFlwdHlzZUpiZENBUk0yc2NHaEVNdjk2N0J1VURaVGloNUdjY2E0dXBiWDlQNncrYW40aHE3dWlhcCt4amMwamVFZm1hYjU5Lzh4SXNuYmlvUi8wYlY2ZGRRL05sckZtckQ3cVJjWW8rTmpUUFBlMTNUOHBmOHJzWWl6WWp4QTlwZFpiUGRqS2dYZFpOZG42YVNVTDlNWGR6OGVQM1ZpbkEzMW5WaTBrdWlhaTNxZmgzZjVKaytKU29jZ1JDa25YWmh2dFVVWDR3aWlBMUJqb0U0Z2c2VEkwcEp1YUZ4UlZXV2hMeWhxTnhpZ0lsYzc4WmliU283WVZtdzRQaHlMeDhRVkRjbkpFbVpxbWYyN1dqYXpvMlU3ak9PczdnakFOei9aNE4vMnQzYy9aT040UWNpZmJLeXZZOExPTXZkWW11VS9XRjluNzYvNzIrdit6OWI4YjAzZXZwMGR5Mk4yUE4yWXZBMy9CTGswcHR3QUFIaWNZMkJrWUdBQTRnYzNFcWJIODl0OFplQm1mZ0VVWWJqc3Uwa0dRZi9QWkg3QkhBVGtjakF3Z1VRQllXNEwxWGljWTJCa1lHQU8rcDhGSkY4d01Qei9EeVNCSWlpQUd3Q0gxQVdnQUFBQWVKeGpmc0hBd0F6RGtWQ016aGNFNGdVTURBQ3k1d2EvQUFBQUFBRHVBWllCM0FJaUFsWUNvZ05rQStnRXJBVUtBQUVBQUFBTEFKQUFDUUFBQUFBQUFnQWtBRFFBY3dBQUFIVUxjQUFBQUFCNG5IV1F5MDdDUUJTRy81R0xDb2thVGR3Nkt3TXhsa3NpQ3hJU0VneHNkRU1NVzFOS2FVdEtoMHdIRWw3RGQvQmhmQW1meFo5Mk1BWmltK2w4NTVzelowNEh3RFcrSVpBL1R4dzVDNXd4eXZrRXAraFpMdEEvV3k2U1h5eVhVTVdiNVRMOXUrVUtIaEJZcnVJR0g2d2dpdWVNRnZpMExIQWxMaTJmNEVMY1dTN1FQMW91a251V1M3Z1ZyNWJMOUo3bENpWWl0VnpGdmZnYXFOVldSMEZvWkcxUWwrMW1xeU9uVzZtb29zU05wYnMyb2RLcDdNdTVTb3dmeDhyeDFITFBZejlZeDY3ZWgvdDU0dXMwVW9sc09jMjlHdm1KcjEzanozYlYwMDNRTm1ZdTUxb3Q1ZEJteUpWV0M5OHpUbWpNcXR0by9EMFBBeWlzc0lWR3hLc0tZU0JSbzYxemJxT0pGanFrS1RNa00vT3NDQWxjeERRdTF0d1JaaXNwNHo3SG5GRkM2ek1qSmp2dytGMGUrVEVwNFA2WVZmVFI2bUU4SWUzT2lESXYyWmZEN2c2elJxUWt5M1F6Ty92dFBjV0dwN1ZwRFhmdHV0UlpWeExEZ3hxUzk3RmJXOUI0OUU1Mks0YTJpd2JmZi83dkIrTnBoRThBZUp4dHhrRU9neUFRQmRENXRJcElyOEtoa0l3T0NWZ0M0NkszYjlKdWZhdEhodjVXdXVkaDhNQVRFMlpZTEhCWTRmRWlvMkpWUXNsRGw4SzdoaTBmcnVkRGZwdUd4TTQydld2bFU1M0tWYmNScmpZM1BsTXVYbnNjRXJnMi9mallOYWZDSVJZbCtnSmZwQjdaZUp4ajhON0JjQ0lvWWlNalkxL2tCc2FkSEF3Y0RNa0ZHeGxZblRZeE1ESm9nUmlidVpnWU9TQXNQZ1l3aTgxcEY5TUJvRFFua00zdXRJdkJBY0ptWm5EWnFNTFlFUml4d2FFallpTnppc3RHTlJCdkYwY0RBeU9MUTBkeVNBUklTU1FRYk9aaFl1VFIyc0g0djNVRFMrOUdKZ1lYQUF4MkkvUUFBQT09KSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuLmRlbW8taWNvbiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcInNwcmVhZHZpZXctZGVtby1pY29uXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5pY29uLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIdcIjtcbn1cblxuLyogJ+6ghycgKi9cbi5pY29uLWRlbGV0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6giFwiO1xufVxuXG4vKiAn7qCIJyAqL1xuLmljb24tZGV0YWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCJXCI7XG59XG5cbi8qICfuoIknICovXG4uaWNvbi13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbWFyZ2luLWxlZnQ6IDM1JTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmljb24tYmFja2dyb3VuZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDgwcHg7XG59XG5cbi5lZGl0LWJ0biB7XG4gIG1hcmdpbjogMCAzcHg7XG4gIHdpZHRoOiA3MHB4O1xufVxuXG4uZGlhbG9nLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDU1LCA1OCwgNzEsIDAuOSk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG4uZGlhbG9nLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMzAwcHg7XG4gIHotaW5kZXg6IDEwMDAwO1xufVxuXG4uZGlhbG9nLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZjFmMWYxO1xuICBwYWRkaW5nOiAxZW07XG59XG5cbi5kaWFsb2ctYm9keSB7XG4gIHBhZGRpbmc6IDFlbTtcbn1cbi5kaWFsb2ctYm9keSAubmFtZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLmRpYWxvZy1ib2R5IC5wb3NpdGlvbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4uZGlhbG9nLWJvZHkgLmFkdmFudGFnZSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDY2cHg7XG59XG5cbi5kaWFsb2ctY2xvc2UtYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgY29sb3I6ICM2YTlmOWY7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMjBweDtcbn1cblxuLmRpYWxvZy1jbG9zZS1idXR0b246aG92ZXIge1xuICBjb2xvcjogIzQwNjM2MztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZ2Mtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTEzMzAwO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmdjLXJvdyB7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xufVxuXG4ub2RkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzksIDIzOSwgMjM5LCAwLjQpO1xufVxuXG5wLnRpcCB7XG4gIG1hcmdpbjogNXB4O1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWFpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDkwJTtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LXNocmluazogMTtcbn1cblxuLmNvbHVtbjEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICB3aWR0aDogOTBweDtcbn1cblxuLmNvbHVtbjIge1xuICB3aWR0aDogMTg2cHg7XG59XG5cbi5lZGl0LWRldGFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiA0cHg7XG59XG5cbi5lZGl0LWRldGFpbCAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmVkaXQtZGV0YWlsIGlucHV0IHtcbiAgcGFkZGluZzogMCAycHg7XG59XG5cbi5lZGl0LWFkdmFudGFnZSBsYWJlbCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5lZGl0LWFkdmFudGFnZSB0ZXh0YXJlYSB7XG4gIGhlaWdodDogNTBweDtcbiAgcmVzaXplOiBub25lO1xuICB3aWR0aDogNTAwcHg7XG59XG5cbi5nYy1wb3B1cC1kaWFsb2cge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xufVxuXG4uZ2MtcG9wdXAtZWRpdGluZy1hcmVhIHtcbiAgd2lkdGg6IDY5MHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5nYy1wb3B1cC1lZGl0aW5nLWFyZWEge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxuXG4gIC5jb2x1bW4yIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxuXG4gIC5lZGl0LWRldGFpbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZWRpdC1hZHZhbnRhZ2UgdGV4dGFyZWEge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIHdpZHRoOiAyNTBweDtcbiAgfVxufSIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3NwcmVhZHZpZXctZGVtby1pY29uJztcbiAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7YmFzZTY0LGQwOUdSZ0FCQUFBQUFCRmNBQThBQUFBQUhkd0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCSFUxVkNBQUFCV0FBQUFETUFBQUJDc1A2ejdVOVRMeklBQUFHTUFBQUFRd0FBQUZZK0lVa3lZMjFoY0FBQUFkQUFBQUIyQUFBQjdnbFA3UTFqZG5RZ0FBQUNTQUFBQUJNQUFBQWdCdFgvQW1ad1oyMEFBQUpjQUFBRmtBQUFDM0NLa1pCWloyRnpjQUFBQit3QUFBQUlBQUFBQ0FBQUFCQm5iSGxtQUFBSDlBQUFCbVlBQUFvVUxwcXlsR2hsWVdRQUFBNWNBQUFBTUFBQUFEWUpvcWZZYUdobFlRQUFEb3dBQUFBZEFBQUFKQWM5QTExb2JYUjRBQUFPckFBQUFCZ0FBQUFzSjUwQUFHeHZZMkVBQUE3RUFBQUFHQUFBQUJnTk1BOU1iV0Y0Y0FBQUR0d0FBQUFnQUFBQUlBRWhERFp1WVcxbEFBQU8vQUFBQVhjQUFBTE56SjBjSG5CdmMzUUFBQkIwQUFBQWJBQUFBSkM4dDltaGNISmxjQUFBRU9BQUFBQjZBQUFBaHVWQks3eDRuR05nWkdCZzRHS1FZOUJoWUhSeDh3bGg0R0JnWVlBQWtBeGpUbVo2SWxBTXlnUEtzWUJwRGlCbWc0Z0NBSW9qQTA4QWVKeGpZR1NleFRpQmdaV0JnYW1LYVE4REEwTVBoR1o4d0dESXlBUVVaV0JsWnNBS0F0SmNVeGdjWGpDODRHUU8rcC9GRU1VY3hEQWRLTXdJa2dNQThjZ0wwUUI0bk8yUjBRM0NRQXhEMzlGUTZLbWo4TWxBZkRFTG8yYUwxa2s5QnBHZXBWaTUrN0NCTzdDSWx3Z1lYd1kxSDdtai9ZWFpmdkR1bXlnL3QrT1FVcW85V20rNkRmMjQ4dURKMXU5Vy9yTzMvcnpOeXUyaWt6UktqelRWU0pyS05rMjFsVVlwazBaNWswYkprMFlkcUtrTDVnbDNYeHROQUFCNG5HTmdRQU1TRU1nYzlEOFRoQUVTWmdQYkFIaWNyVlpwZDlOR0ZCMTVTWnlFTENVTExXcGh4TVJwc0VZbWJNR0FDVUd5WXlCZG5LMlZvSXNVTyttKzhZbmY0Ri96Wk5wejZEZCtXdThiTHlTUXRPZHdtcE9qZCtmTjFjemJaUkpha3RnTDY1R1VteS9GMU5ZbWpldzhDZW1HVGN0UmZDZzdleUZsaXNuZkJWRVFyWmJhdHgySFJFUWlVTFd1c0VRUSt4NVptbVI4NkZGR3k3YWtWMDNLTFQzcExsdmpRYjFWMzM0YU9zcXhPNkdrWmpOMGFEMnlKVlVZVmFKSXBqMVMwcVpscVBvclNTdTh2OExNVjgxUXdvaE9JbW04R2NiUVNONGJaN1RLYURXMjR5aUtiTExjS0ZJa211RkJGSG1VMVJMbjVJb0pETW9IelpEeXlxY1I1Y1A4aUt6WW81eFdzRXUyMC95K0wzbW5kemsvc1Y5dlViYmtRQi9JanV6ZzdIUWxYNFJiVzJIY3RKUHRLRlFSZHRkM1Ftelo3RlQvWm8veW1rWUR0eXN5dmRDTVlLbDhoUkFyUDZITS9pRlpMWnhQK1pKSG8xcXlrUk5CNjJWTzdFcytnZGJqaUNseHpSaFowTjNSQ1JIVS9aSXpEUGFZUGg3ODhkNHBsZ3NUQW5nY3kzcEhKWndJRXlsaGN6UkoyakJ5WUNWbGl5cXA5YTZZT09WMVdzUmJ3bjd0MnRHWHptampVSGRpUEZzUEhWczVVY254YUZLbm1VeWQya25Ob3lrTm9wUjBKbmpNcndNb1A2SkpYbTFqTlltVlI5TTRac2FFUkNJQ0xkeExVMEVzTzdHa0tRVE5veG05dVJ1bXVYWXRXcVRKQS9YY28vZjA1bGE0dWROVDJnNzBzMFovVnFkaU90Z0wwK2xwNUMveGFkcmxJa1hwK3VrWmZremlRZFlDTXBFdE5zT1Vnd2R2L1E3U3k5ZVdISVhYQnRqdTdmTXJxSDNXUlBDa0Fmc2IwQjVQMVNrSlRJV1lWWWhXUUdLdGExbVd5ZFdzRnFuSTFIZERtbGErck5NRWluSWNGOGUrakhIOVh6TXpscGdTdnQrSjA3TWpMajF6N1VzSTB4eDhtM1U5bXRlcHhYSUJjV1o1VHFkWmx1L3JOTWZ5QTUzbVdaN1g2UWhMVzZlakxEL1VhWUhsUnpvZFkzbEJDNXAwMzhHUWl6RGtBZzZRTUlTbEEwTllYb0loTEJVTVlia0lRMWdXWVFqTEpSakM4bU1Zd25JWmhyQzhyR1hWMUZOSjQ5cVpXQVpzUW1CaWpoNjV6RVhsYWlxNVZFSzdhRlJxUTU0U2JwVlVGTStxZjJXZ1hqenloam13RmtpWHlKcGZNYzZWajBibCtOWVZMVzhhTzFmQXNlcHZINDcyT2ZGUzFvdUZQd1gvMWRaVUpiMWl6Y09UcS9BYmhwNXNKNm8ycVhoMFRaZlBWVDI2L2w5VVZGZ0w5QnRJaFZnb3lySnNjR2NpaEk4Nm5ZWnFvSlZEekd6TVBMVHJkY3VhbjhQOU56RkNGbEQ5K0RjVUdndmNnMDVaU1ZudDRLelYxOXV5M0R1RGNqZ1RMRWt4Ti9QNlZ2Z2lJN1BTZnBGWnlwNlBmQjV3Qll4S1pkaHFBNjBWdk5rbk1RK1ozaVRQQkhGYlVUWkkydGpPQklrTkhQT0FlZk9kQkNaaDZxb041RTdoaGczNEJXRnV3WGtuWEtKNm95eUg3a1hzOHlpay9GdW40a1QycUdpTXdMUFpHMkd2NzBMS2IzRU1KRFQ1cFg0TVZCV2hxUmcxRmRBMFVtNm9CbC9HMmJwdFFzWU85Q01xZHNPeXJPTER4eGIzbFpKdEdZUjhwSWpWbzZPZjFsNmlUcXJjZm1ZVWwrK2R2Z1hCSURVeGYzdmZkSEdReXJ0YXlUSkhiUU5UdHhxVlU5ZWFRK05WaCtybVVmVzk0K3dUT1d1YWJyb25IbnBmMDZyYndjVmNMTEQyYlE3U1VpWVgxUFZoaFEyaXk4V2xVT3BsTkVudnVBY1lGaGpRNzFDS2pmK3IrdGg4bml0VmhkRnhKTjlPMUxmUjUyQU0vQS9ZZjBmMUE5RDNZK2h5RFM3UDk1b1RuMjcwNFd5WnJxSVg2NmZvTnpCcnJibFp1Z2JjMEhRRDRpRkhyWTY0eWcxOHB3WnhlcVM1SE9raDRHUGRGZUlCd0NhQXhlQVQzYldNNWxNQW8vbU1PVDdBNTh4aDBHUU9neTNtTU5obXpockFEbk1ZN0RLSHdSNXpHSHpCbkhXQUw1bkRJR1FPZzRnNURKNHdKd0I0eWh3R1h6R0h3ZGZNWWZBTmMrNERmTXNjQmpGekdDVE1ZYkN2NmRZd3pDMWUwRjJndGtGVm9BTlRUMWpjdytKUVUyWEkvbzRYaHYyOVFjeit3U0NtL3FqcDlwRDZFeThNOVdlRG1QcUxRVXo5VmRPZElmVTNYaGpxN3dZeDlRK0RtUHBNdnhqTFpRYS9qSHlYQ2dlVVhXdys1KytKOXcvYnhVQzVBQUVBQWYvL0FBOTRuS1ZWV1c4YjF4VSs1OTdaT0J5dW1vV3l5REUzY1d4U2tGeXVpcXhTbEJmUWt1a0Z0cERRU2FUUWpxeTJrRzNKRGVDZzZQYWd3TFhSSmdLeUZLaGJCQWlzeHdhdCt0S1hBSDFvbjdvQWJYNUNId0laUlpHblByU0l4ajJYWWhVN2licWdRODY5NTd2bnpNeTU1enZuWEFnQVBQNDczK0ZCaU1CaG1JQVp1QUF2d1JwOEZ6YmhRcXNUQ3pFMWFqQ0ZxMG92RW1BOHJER0duUFdDTWtNQVhCQXpRbGVYR0NCMDN2aiszWTN2ZlBQT0s3ZFdWMTVlZXVIWnkrZlAxZ1pYSlM2blNxT1dxYWk1Yk1HclZldE9wV3pIQ0hzRDNDQ01uOUVMWE1JOWZCejM4QmZaZnhuL3ZiM1FDL3VoZ1Y3Z3Z0NU4yNzl3WEtUUlRqOGg0dlY5NExqK1R3N1M0TXFuRHo1aDliVGlpWmMvdUdFVHRHN1FhMXhVVnNYa3JBb0wvdzlQYUZoK1ZkaUx3Zi85LzJxRTJ2NDZBQ2hmeU8xMDY1a2dxanIyT1EwZzE3RFBxSXg5UW1raVBpVVVkSDZHUXVPL3BUQXowR2NPb0dTZ2IyVDJLTWtOY0NWek1DWHN0Mmw3OTFFZk1jZHhkeHNINi9BcDlQOEYvZWw0VW9BZTMrTlgyRjhoQmZsV0JoaG5hN1NJNjhBQitBSndEbDBTb0ZOdzdKd2tKMHJZMzUxam14RlVzaDRXcWcyc2x3K2p3TFJYZmlXZjhsL2RzcXlpZGR6eTN6Wk52R0ZOMlVYTDJzTDdxVHd1dGQzaWxqbHRsZ1lLWEJXV1UvYldFZGozcFVhK3VIMWZPT05yWW5VZHFDRFpBbENaZG9HWTdkaWpCYlB2aTZtU0V4UGt4QXhtQmpXVDhRU3FseDIwZWMzMDM3R25yS0p0UC9SZlRlWHpLYnovMExhTC9RK2JPT1dhd3NPaU5XMDlMTHJrR1c1WjB3UXQveDJ6Nzh2M0tNOXFNQVJlSzY5VEJtRTdnSEE2U002Y0lxOFFGb1RMWFJHc1RyN0FaTHRrVlp0eXBSYkFXRFlzSHp0enAvZjJ4WlA0aXYvNnlyVUg4OWZLWTkvWS9QT2JLK1ZEMHQvOEgvaXZvOEhpMlZQWGZ0ai96dGY0RHZzMUZDRFpHaDZodDJFN2hIQkt2SmQyRHl2NWJJN0pGdTAxakxtc3A2ajBvOVFxMUF1MHl4bHNzaGtjUjYvYVpKV3lpM3puN2tmM3ZPS3R0MGJ5ZXBnemlYRkRDcG1xR1ZVajNXVzgrTm9IeS9jK3VvdExWN2Q2MHRXQ0pxR2hJOU1rSHBIRHRwWk1EaFhMYnk3TXZkYWI3RzBKOWg5djgrZjVKZENnQ2JmZ1hHdCticmJCdVl4dGtDbEpaSDRUZEFDbVE0OHNtS3l4SlhwR2xiamFBd2tVU1htUk5oTG9RaUJnNE56TjFaWGwwVW96V2YvU1lhc1VwSkpyVk1kUk1lMG1ZclhnNWFwMWo2WXdVNVVJaGhuZDZPVml0QjNKc2FtK2FsV3ZpVld2WGlPYkpqWk0xYmIyN2tFVkZzUllpNGxhckRmcWpTWnIxRVVveUlCcWQ5Tk8ydlJuRzJQSjM5UXgyd2lIVFNma2hvTGhoRzRicGg2UHEzWTRhU1RabmJtVHF5eHE2aWs5RUUrMFIyUUxNNzN6WitwZlBUMXJ2SmNxRmxNL01wOUpKME9HbmJDVEUvTkhScTVOUGJzY01WbmlVSUtaZURGVnhQVFgwNDBxUms3TUowS0ZXRGlhRGd6cEJ2by9ab3FpS2V6b1lpUWFLQjZKSjcxUVhzT3lWVDRhTjBzRnc1Z3NuWC8ra09NVVUzamRMWWJtaW03NFJNZTI4dWRuSzVNaXR5aU9nb056N0RGMVBST0dJUTkzVzFUQlRFN1pZWW8wRzZZQ0FTNmFtOVErKy9QNHhXN0xJMjdrdGIwaUp0VmFQMDlmVmhBbENTL1JoTkp6SUtGMGRxUlYrTHdsckgzZThFb3JEcEJKSjV4b0pLQ1JHNHFwVWk0NkRVKzFLaFpXYzFrcVFNdXNsS2tKZUE3bWFraHR3R3YwRzhMdnlodVZNL2lTSVV2K242U1FMT0VFZDNmOFl6djhuTG00czJnZXR6ZUlvWTNLZEpzcGh1Ui9LTkdJNDlMdEhYL2lFVDVJV1l1UFhyU3NEUnNHUFgrYngvZDcvbkU0Q1YrQjVkYlY1MDR6UlR1YUdZNEZVS0hHMEpZNUkwRkJ1Q2t4QnFvQzZpcUVJYUNGQTcxSWlHbUd6aFRVbENWUWcwRjFBVlExMklXZ0d1eGNYNzY2OU1LVnk1Y3VkT2Jhc3pObTNpeUlLeGVsUk1YWVhwYnQ1VmZaZHY0REhvcGxZcWFMMVBZcHR5c2VKYmRDQVJNMnNjR2hFTXY5NjdCdVVEWlRpaDVHY2NhNHVwYlg5UDZ3K2FuNGhxN3VpYXAreGpjMGplRWZtYWI1OS84eElzbmJpb1IvMGJWNmRkUS9ObHJGbXJEN3FSY1lvK05qVFBQZTEzVDhwZjhyc1lpellqeEE5cGRaYlBkaktnWGRaTmRuNmFTVUw5TVhkejhlUDNWaW5BMzFuVmkwa3VpYWkzcWZoM2Y1SmsrSlNvY2dSQ2tuWFpodnRVVVg0d2lpQTFCam9FNGdnNlRJMHBKdWFGeFJWV1doTHlocU54aWdJbGM3OFppYlNvN1lWbXc0UGh5THg4UVZEY25KRW1acW1mMjdXamF6bzJVN2pPT3M3Z2pBTnovWjROLzJ0M2MvWk9ONFFjaWZiS3l2WThMT012ZFltdVUvV0Y5bjc2LzcyK3YrejliOGIwM2V2cDBkeTJOMlBOMll2QTMvQkxrMHB0d0FBSGljWTJCa1lHQUE0Z2MzRXFiSDg5dDhaZUJtZmdFVVlianN1MGtHUWYvUFpIN0JIQVRrY2pBd2dVUUJZVzRMMVhpY1kyQmtZR0FPK3A4RkpGOHdNUHovRHlTQklpaUFHd0NIMUFXZ0FBQUFlSnhqZnNIQXdBekRrVkNNemhjRTRnVU1EQUN5NXdhL0FBQUFBQUR1QVpZQjNBSWlBbFlDb2dOa0ErZ0VyQVVLQUFFQUFBQUxBSkFBQ1FBQUFBQUFBZ0FrQURRQWN3QUFBSFVMY0FBQUFBQjRuSFdReTA3Q1FCU0cvNUdMQ29rYVRkdzZLd014bGtzaUN4SVNFZ3hzZEVNTVcxTkthVXRLaDB3SEVsN0RkL0JoZkFtZnhaOTJNQVppbStsODU1c3paMDRId0RXK0laQS9UeHc1QzV3eHl2a0VwK2haTHRBL1d5NlNYeXlYVU1XYjVUTDl1K1VLSGhCWXJ1SUdINndnaXVlTUZ2aTBMSEFsTGkyZjRFTGNXUzdRUDFvdWtudVdTN2dWcjViTDlKN2xDaVlpdFZ6RnZmZ2FxTlZXUjBGb1pHMVFsKzFtcXlPblc2bW9vc1NOcGJzMm9kS3A3TXU1U293Zng4cngxSExQWXo5WXg2N2VoL3Q1NHVzMFVvbHNPYzI5R3ZtSnIxM2p6M2JWMDAzUU5tWXU1MW90NWRCbXlKVldDOTh6VG1qTXF0dG8vRDBQQXlpc3NJVkd4S3NLWVNCUm82MXpicU9KRmpxa0tUTWtNL09zQ0FsY3hEUXUxdHdSWmlzcDR6N0huRkZDNnpNakpqdncrRjBlK1RFcDRQNllWZlRSNm1FOEllM09pREl2MlpmRDdnNnpScVFreTNRek8vdnRQY1dHcDdWcERYZnR1dFJaVnhMRGd4cVM5N0ZiVzlCNDlFNTJLNGEyaXdiZmYvN3ZCK05waEU4QWVKeHR4a0VPZ3lBUUJkRDV0SXBJcjhLaGtJd09DVmdDNDZLM2I5SnVmYXRIaHY1V3V1ZGg4TUFURTJaWUxIQlk0ZkVpbzJKVlFzbERsOEs3aGkwZnJ1ZERmcHVHeE00MnZXdmxVNTNLVmJjUnJqWTNQbE11WG5zY0VyZzIvZmpZTmFmQ0lSWWwrZ0pmcEI3WmVKeGo4TjdCY0NJb1lpTWpZMS9rQnNhZEhBd2NETWtGR3hsWW5UWXhNREpvZ1JpYnVaZ1lPU0FzUGdZd2k4MXBGOU1Cb0RRbmtNM3V0SXZCQWNKbVpuRFpxTUxZRVJpeHdhRWpZaU56aXN0R05SQnZGMGNEQXlPTFEwZHlTQVJJU1NRUWJPWmhZdVRSMnNINHYzVURTKzlHSmdZWEFBeDJJL1FBQUE9PSlcbiAgICBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuLmRlbW8taWNvbiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnc3ByZWFkdmlldy1kZW1vLWljb24nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4uaWNvbi1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDcnO1xufVxuXG4vKiAn7qCHJyAqL1xuLmljb24tZGVsZXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDgnO1xufVxuXG4vKiAn7qCIJyAqL1xuLmljb24tZGV0YWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDknO1xufVxuXG4vKiAn7qCJJyAqL1xuXG4uaWNvbi13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbWFyZ2luLWxlZnQ6IDM1JTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmljb24tYmFja2dyb3VuZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDgwcHg7XG59XG5cbi5lZGl0LWJ0biB7XG4gIG1hcmdpbjogMCAzcHg7XG4gIHdpZHRoOiA3MHB4O1xufVxuXG4uZGlhbG9nLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDU1LCA1OCwgNzEsIDAuOSk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG4uZGlhbG9nLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGhlaWdodDogMjAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDAwMDtcbn1cblxuLmRpYWxvZy1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2YxZjFmMTtcbiAgcGFkZGluZzogMWVtO1xufVxuXG4uZGlhbG9nLWJvZHkge1xuICBwYWRkaW5nOiAxZW07XG5cbiAgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAucG9zaXRpb24ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAuYWR2YW50YWdlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogNjZweDtcbiAgfVxufVxuXG4uZGlhbG9nLWNsb3NlLWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGNvbG9yOiAjNmE5ZjlmO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG59XG5cbi5kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICM0MDYzNjM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmdjLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxMzMwMDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5nYy1yb3cge1xuICBsaW5lLWhlaWdodDogMzZweDtcbn1cblxuLm9kZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCAyMzksIDIzOSwgMC40KTtcbn1cblxucC50aXAge1xuICBtYXJnaW46IDVweDtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLm1haW4tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmdyaWQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA5MCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDE7XG59XG5cbi5jb2x1bW4xIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgd2lkdGg6IDkwcHg7XG59XG5cbi5jb2x1bW4yIHtcbiAgd2lkdGg6IDE4NnB4O1xufVxuXG4uZWRpdC1kZXRhaWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogNHB4O1xufVxuXG4uZWRpdC1kZXRhaWwgKjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5lZGl0LWRldGFpbCBpbnB1dCB7XG4gIHBhZGRpbmc6IDAgMnB4O1xufVxuXG4uZWRpdC1hZHZhbnRhZ2UgbGFiZWwge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZWRpdC1hZHZhbnRhZ2UgdGV4dGFyZWEge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHJlc2l6ZTogbm9uZTtcbiAgd2lkdGg6IDUwMHB4O1xufVxuXG4uZ2MtcG9wdXAtZGlhbG9nIHtcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcbn1cblxuLmdjLXBvcHVwLWVkaXRpbmctYXJlYSB7XG4gIHdpZHRoOiA2OTBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZ2MtcG9wdXAtZWRpdGluZy1hcmVhIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cblxuICAuY29sdW1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIH1cblxuICAuZWRpdC1kZXRhaWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmVkaXQtYWR2YW50YWdlIHRleHRhcmVhIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB3aWR0aDogMjUwcHg7XG4gIH1cbn1cbiJdfQ== */